diff --git a/.github/workflows/api.yml b/.github/workflows/api.yml index db78f16112..cdf6349878 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@v4 + - uses: actions/checkout@v5 with: fetch-depth: 1 persist-credentials: false diff --git a/.github/workflows/auto_tag.yml b/.github/workflows/auto_tag.yml index 4afca6c66d..a2c6a104a8 100644 --- a/.github/workflows/auto_tag.yml +++ b/.github/workflows/auto_tag.yml @@ -28,7 +28,7 @@ jobs: if: github.repository == 'qmk/qmk_firmware' steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 with: fetch-depth: 0 diff --git a/.github/workflows/ci_build_major_branch.yml b/.github/workflows/ci_build_major_branch.yml index ddc7cb10d1..6cefd58901 100644 --- a/.github/workflows/ci_build_major_branch.yml +++ b/.github/workflows/ci_build_major_branch.yml @@ -6,13 +6,13 @@ permissions: on: push: - branches: [master, develop] + branches: [master, develop, xap] workflow_dispatch: inputs: branch: type: choice description: "Branch to build" - options: [master, develop] + options: [master, develop, xap] env: # https://docs.github.com/en/actions/learn-github-actions/usage-limits-billing-and-administration#usage-limits @@ -45,14 +45,14 @@ jobs: git config --global --add safe.directory '*' - name: Checkout QMK Firmware - uses: actions/checkout@v4 + uses: actions/checkout@v5 - name: Determine concurrency id: generate_slice_length run: | target_count=$( { qmk find -km default 2>/dev/null - # qmk find -km xap 2>/dev/null + qmk find -km xap 2>/dev/null } | sort | uniq | wc -l) slice_length=$((target_count / ($CONCURRENT_JOBS - 1))) # Err on the side of caution echo "slice_length=$slice_length" >> $GITHUB_OUTPUT @@ -63,8 +63,7 @@ jobs: strategy: fail-fast: false matrix: - keymap: [default] - # keymap: [default, xap] + keymap: [default, xap] uses: ./.github/workflows/ci_build_major_branch_keymap.yml with: branch: ${{ inputs.branch || github.ref_name }} @@ -83,12 +82,12 @@ jobs: git config --global --add safe.directory '*' - name: Checkout QMK Firmware - uses: actions/checkout@v4 + uses: actions/checkout@v5 with: fetch-depth: 0 - name: Download firmwares - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v6 with: pattern: firmware-* path: . diff --git a/.github/workflows/ci_build_major_branch_keymap.yml b/.github/workflows/ci_build_major_branch_keymap.yml index 2e0f3036a3..f5533cf07a 100644 --- a/.github/workflows/ci_build_major_branch_keymap.yml +++ b/.github/workflows/ci_build_major_branch_keymap.yml @@ -37,7 +37,7 @@ jobs: git config --global --add safe.directory '*' - name: Checkout QMK Firmware - uses: actions/checkout@v4 + uses: actions/checkout@v5 - name: Generate build targets id: generate_targets @@ -62,7 +62,7 @@ jobs: echo "targets=$(jq -c 'keys' targets.json)" >> $GITHUB_OUTPUT - name: Upload targets json - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v5 with: name: targets-${{ inputs.keymap }} path: targets.json @@ -89,10 +89,10 @@ jobs: git config --global --add safe.directory '*' - name: Checkout QMK Firmware - uses: actions/checkout@v4 + uses: actions/checkout@v5 - name: Get target definitions - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v6 with: name: targets-${{ inputs.keymap }} path: . @@ -112,7 +112,7 @@ jobs: qmk mass-compile -t -j $NCPUS -e DUMP_CI_METADATA=yes $(jq -r '.["${{ matrix.target }}"].targets' targets.json) || touch .failed - name: Upload binaries - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v5 with: name: firmware-${{ inputs.keymap }}-${{ matrix.target }} if-no-files-found: ignore @@ -136,17 +136,17 @@ jobs: steps: - name: Checkout QMK Firmware - uses: actions/checkout@v4 + uses: actions/checkout@v5 - name: Download firmwares - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v6 with: pattern: firmware-${{ inputs.keymap }}-* path: . merge-multiple: true - name: Upload all firmwares - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v5 with: name: firmware-${{ inputs.keymap }} if-no-files-found: ignore diff --git a/.github/workflows/cli.yml b/.github/workflows/cli.yml index 77b5bfe073..fc24c6b366 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@v4 + - uses: actions/checkout@v5 with: submodules: recursive diff --git a/.github/workflows/develop_update.yml b/.github/workflows/develop_update.yml index afcda1fe98..5c046b8f64 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@v4 + - uses: actions/checkout@v5 with: token: ${{ secrets.QMK_BOT_TOKEN }} fetch-depth: 0 diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 34319675bf..fe5d6027e2 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -30,7 +30,7 @@ jobs: container: ghcr.io/qmk/qmk_cli steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 with: fetch-depth: 1 @@ -56,7 +56,7 @@ jobs: - name: Deploy if: ${{ github.event_name == 'push' && github.repository == 'qmk/qmk_firmware' }} - uses: JamesIves/github-pages-deploy-action@v4.7.3 + uses: JamesIves/github-pages-deploy-action@v4.7.4 with: token: ${{ secrets.GITHUB_TOKEN }} branch: gh-pages diff --git a/.github/workflows/feature_branch_update.yml b/.github/workflows/feature_branch_update.yml index 283a255342..fc33f883a8 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@v4 + - uses: actions/checkout@v5 with: token: ${{ secrets.QMK_BOT_TOKEN }} fetch-depth: 0 diff --git a/.github/workflows/format.yml b/.github/workflows/format.yml index 309b9eeda1..be6617e2b2 100644 --- a/.github/workflows/format.yml +++ b/.github/workflows/format.yml @@ -26,7 +26,7 @@ jobs: - name: Disable safe.directory check run : git config --global --add safe.directory '*' - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 with: fetch-depth: 0 @@ -36,7 +36,7 @@ jobs: - name: Get changed files id: file_changes - uses: tj-actions/changed-files@v46 + uses: tj-actions/changed-files@v47 with: use_rest_api: true diff --git a/.github/workflows/format_push.yml b/.github/workflows/format_push.yml index b865ea9eec..74a42669d6 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@v4 + - uses: actions/checkout@v5 with: fetch-depth: 0 diff --git a/.github/workflows/labeler.yml b/.github/workflows/labeler.yml index 2dc354dda2..0e9f29908e 100644 --- a/.github/workflows/labeler.yml +++ b/.github/workflows/labeler.yml @@ -10,4 +10,4 @@ jobs: pull-requests: write runs-on: ubuntu-latest steps: - - uses: actions/labeler@v5 + - uses: actions/labeler@v6 diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 581fe02156..7d4ff0a977 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@v4 + - uses: actions/checkout@v5 with: fetch-depth: 0 @@ -27,7 +27,7 @@ jobs: - name: Get changed files id: file_changes - uses: tj-actions/changed-files@v46 + uses: tj-actions/changed-files@v47 with: use_rest_api: true diff --git a/.github/workflows/regen.yml b/.github/workflows/regen.yml index a31526084f..06759102cc 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@v4 + - uses: actions/checkout@v5 - name: Run qmk generators run: | diff --git a/.github/workflows/regen_push.yml b/.github/workflows/regen_push.yml index 8f22e931f1..4798e86c59 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@v4 + - uses: actions/checkout@v5 - name: Run qmk generators run: | diff --git a/.github/workflows/unit_test.yml b/.github/workflows/unit_test.yml index a834053a76..7ab9969242 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@v4 + - uses: actions/checkout@v5 with: submodules: recursive - name: Install dependencies diff --git a/.gitignore b/.gitignore index 5886640d68..6ec26d3876 100644 --- a/.gitignore +++ b/.gitignore @@ -95,6 +95,11 @@ tags *.mpeg *.ttf *.otf +# Un-ignore limited image file formats in docs +!docs/public/**.gif +!docs/public/**.jpg +!docs/public/**.jpeg +!docs/public/**.png # Things Travis sees /.vs diff --git a/Makefile b/Makefile index f1e3bf856f..5bb4f0d8eb 100644 --- a/Makefile +++ b/Makefile @@ -115,7 +115,7 @@ endef TRY_TO_MATCH_RULE_FROM_LIST = $(eval $(call TRY_TO_MATCH_RULE_FROM_LIST_HELPER,$1))$(RULE_FOUND) # As TRY_TO_MATCH_RULE_FROM_LIST_HELPER, but with additional -# resolution of DEFAULT_FOLDER and keyboard_aliases.hjson for provided rule +# resolution of keyboard_aliases.hjson for provided rule define TRY_TO_MATCH_RULE_FROM_LIST_HELPER_KB # Split on ":", padding with empty strings to avoid indexing issues TOKEN1:=$$(shell python3 -c "import sys; print((sys.argv[1].split(':',1)+[''])[0])" $$(RULE)) @@ -255,7 +255,7 @@ endef # if we are going to compile all keyboards, match the rest of the rule # for each of them define PARSE_ALL_KEYBOARDS - $$(eval $$(call PARSE_ALL_IN_LIST,PARSE_KEYBOARD,$(shell $(QMK_BIN) list-keyboards --no-resolve-defaults))) + $$(eval $$(call PARSE_ALL_IN_LIST,PARSE_KEYBOARD,$(shell $(QMK_BIN) list-keyboards))) endef # Prints a list of all known keymaps for the given keyboard @@ -447,7 +447,7 @@ git-submodules: git-submodule .PHONY: list-keyboards list-keyboards: - $(QMK_BIN) list-keyboards --no-resolve-defaults | tr '\n' ' ' + $(QMK_BIN) list-keyboards | tr '\n' ' ' .PHONY: list-tests list-tests: @@ -455,7 +455,7 @@ list-tests: .PHONY: generate-keyboards-file generate-keyboards-file: - $(QMK_BIN) list-keyboards --no-resolve-defaults + $(QMK_BIN) list-keyboards .PHONY: clean clean: diff --git a/builddefs/build_test.mk b/builddefs/build_test.mk index 0c5c98e2a3..ccdad1b4e7 100644 --- a/builddefs/build_test.mk +++ b/builddefs/build_test.mk @@ -62,6 +62,7 @@ include $(BUILDDEFS_PATH)/common_features.mk include $(BUILDDEFS_PATH)/generic_features.mk include $(PLATFORM_PATH)/common.mk include $(TMK_PATH)/protocol.mk +include $(QUANTUM_PATH)/battery/tests/rules.mk include $(QUANTUM_PATH)/debounce/tests/rules.mk include $(QUANTUM_PATH)/encoder/tests/rules.mk include $(QUANTUM_PATH)/os_detection/tests/rules.mk diff --git a/builddefs/common_features.mk b/builddefs/common_features.mk index ca60873bec..1da13997b5 100644 --- a/builddefs/common_features.mk +++ b/builddefs/common_features.mk @@ -29,6 +29,8 @@ QUANTUM_SRC += \ $(QUANTUM_DIR)/logging/debug.c \ $(QUANTUM_DIR)/logging/sendchar.c \ $(QUANTUM_DIR)/process_keycode/process_default_layer.c \ + $(QUANTUM_DIR)/process_keycode/process_oneshot.c \ + $(QUANTUM_DIR)/process_keycode/process_quantum.c \ include $(QUANTUM_DIR)/nvm/rules.mk @@ -633,6 +635,9 @@ ifeq ($(strip $(VIA_ENABLE)), yes) RAW_ENABLE := yes BOOTMAGIC_ENABLE := yes TRI_LAYER_ENABLE := yes + ifeq ($(strip $(VIA_INSECURE)), yes) + OPT_DEFS += -DVIA_INSECURE + endif endif ifeq ($(strip $(RAW_ENABLE)), yes) @@ -940,21 +945,25 @@ ifeq ($(strip $(DIP_SWITCH_ENABLE)), yes) endif endif +ifeq ($(strip $(BATTERY_ENABLE)), yes) + BATTERY_DRIVER_REQUIRED := yes +endif + VALID_BATTERY_DRIVER_TYPES := adc custom vendor -BATTERY_DRIVER ?= adc +BATTERY_DRIVER ?= none ifeq ($(strip $(BATTERY_DRIVER_REQUIRED)), yes) ifeq ($(filter $(BATTERY_DRIVER),$(VALID_BATTERY_DRIVER_TYPES)),) $(call CATASTROPHIC_ERROR,Invalid BATTERY_DRIVER,BATTERY_DRIVER="$(BATTERY_DRIVER)" is not a valid battery driver) endif - OPT_DEFS += -DBATTERY_DRIVER - OPT_DEFS += -DBATTERY_$(strip $(shell echo $(BATTERY_DRIVER) | tr '[:lower:]' '[:upper:]')) + OPT_DEFS += -DBATTERY_DRIVER_$(strip $(shell echo $(BATTERY_DRIVER) | tr '[:lower:]' '[:upper:]')) COMMON_VPATH += $(DRIVER_PATH)/battery - SRC += battery.c - SRC += battery_$(strip $(BATTERY_DRIVER)).c + ifneq ($(strip $(BATTERY_DRIVER)), custom) + SRC += battery_$(strip $(BATTERY_DRIVER)).c + endif # add extra deps ifeq ($(strip $(BATTERY_DRIVER)), adc) diff --git a/builddefs/converters.mk b/builddefs/converters.mk index 20ecea5cb9..9f8e80706e 100644 --- a/builddefs/converters.mk +++ b/builddefs/converters.mk @@ -1,8 +1,3 @@ -ifneq (,$(filter $(MCU),atmega32u4)) - # TODO: opt in rather than assume everything uses a pro micro - PIN_COMPATIBLE ?= promicro -endif - # Remove whitespace from any rule.mk provided vars # - env cannot be overwritten but cannot have whitespace anyway CONVERT_TO:=$(strip $(CONVERT_TO)) diff --git a/builddefs/docsgen/package.json b/builddefs/docsgen/package.json index 69e229ae61..b6c56f3448 100644 --- a/builddefs/docsgen/package.json +++ b/builddefs/docsgen/package.json @@ -1,7 +1,7 @@ { "license": "GPL-2.0-or-later", "devDependencies": { - "vite": "^5.4.19", + "vite": "^5.4.21", "vitepress": "^1.1.0", "vitepress-plugin-tabs": "^0.5.0", "vue": "^3.4.24" diff --git a/builddefs/docsgen/yarn.lock b/builddefs/docsgen/yarn.lock index 8a8457eb8d..e5eaaa2c8f 100644 --- a/builddefs/docsgen/yarn.lock +++ b/builddefs/docsgen/yarn.lock @@ -766,10 +766,10 @@ tabbable@^6.2.0: resolved "https://registry.yarnpkg.com/tabbable/-/tabbable-6.2.0.tgz#732fb62bc0175cfcec257330be187dcfba1f3b97" integrity sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew== -vite@^5.2.9, vite@^5.4.19: - version "5.4.19" - resolved "https://registry.yarnpkg.com/vite/-/vite-5.4.19.tgz#20efd060410044b3ed555049418a5e7d1998f959" - integrity sha512-qO3aKv3HoQC8QKiNSTuUM1l9o/XX3+c+VTgLHbJWHZGeTPVAg2XwazI9UWzoxjIJCGCV2zU60uqMzjeLZuULqA== +vite@^5.2.9, vite@^5.4.21: + version "5.4.21" + resolved "https://registry.yarnpkg.com/vite/-/vite-5.4.21.tgz#84a4f7c5d860b071676d39ba513c0d598fdc7027" + integrity sha512-o5a9xKjbtuhY6Bi5S3+HvbRERmouabWbyUcpXXUA1u+GNUKoROi9byOJ8M0nHbHYHkYICiMlqxkg1KkYmm25Sw== dependencies: esbuild "^0.21.3" postcss "^8.4.43" diff --git a/builddefs/generic_features.mk b/builddefs/generic_features.mk index c826514431..6d394977bd 100644 --- a/builddefs/generic_features.mk +++ b/builddefs/generic_features.mk @@ -21,6 +21,7 @@ SPACE_CADET_ENABLE ?= yes GENERIC_FEATURES = \ AUTO_SHIFT \ AUTOCORRECT \ + BATTERY \ BOOTMAGIC \ CAPS_WORD \ COMBO \ diff --git a/builddefs/testlist.mk b/builddefs/testlist.mk index 74a794adcd..2e81fe576b 100644 --- a/builddefs/testlist.mk +++ b/builddefs/testlist.mk @@ -1,6 +1,7 @@ TEST_LIST = $(sort $(patsubst %/test.mk,%, $(shell find $(ROOT_DIR)tests -type f -name test.mk))) FULL_TESTS := $(notdir $(TEST_LIST)) +include $(QUANTUM_PATH)/battery/tests/testlist.mk include $(QUANTUM_PATH)/debounce/tests/testlist.mk include $(QUANTUM_PATH)/encoder/tests/testlist.mk include $(QUANTUM_PATH)/os_detection/tests/testlist.mk diff --git a/data/mappings/info_config.hjson b/data/mappings/info_config.hjson index e4def1a4d7..4c53aa4339 100644 --- a/data/mappings/info_config.hjson +++ b/data/mappings/info_config.hjson @@ -43,6 +43,14 @@ "BOOTMAGIC_ROW": {"info_key": "bootmagic.matrix.0", "value_type": "int"}, "BOOTMAGIC_ROW_RIGHT": {"info_key": "split.bootmagic.matrix.0", "value_type": "int"}, + // Battery + "BATTERY_SAMPLE_INTERVAL": {"info_key": "battery.sample_interval", "value_type": "int"}, + "BATTERY_ADC_PIN": {"info_key": "battery.adc.pin"}, + "BATTERY_ADC_REF_VOLTAGE_MV": {"info_key": "battery.adc.reference_voltage", "value_type": "int"}, + "BATTERY_ADC_VOLTAGE_DIVIDER_R1": {"info_key": "battery.adc.divider_r1", "value_type": "int"}, + "BATTERY_ADC_VOLTAGE_DIVIDER_R2": {"info_key": "battery.adc.divider_r2", "value_type": "int"}, + "BATTERY_ADC_RESOLUTION": {"info_key": "battery.adc.resolution", "value_type": "int"}, + // Caps Word "BOTH_SHIFTS_TURNS_ON_CAPS_WORD": {"info_key": "caps_word.both_shifts_turns_on", "value_type": "flag"}, "CAPS_WORD_IDLE_TIMEOUT": {"info_key": "caps_word.idle_timeout", "value_type": "int"}, @@ -120,6 +128,7 @@ "MATRIX_HAS_GHOST": {"info_key": "matrix_pins.ghost", "value_type": "flag"}, "MATRIX_INPUT_PRESSED_STATE": {"info_key": "matrix_pins.input_pressed_state", "value_type": "int"}, "MATRIX_IO_DELAY": {"info_key": "matrix_pins.io_delay", "value_type": "int"}, + "MATRIX_MASKED": {"info_key": "matrix_pins.masked", "value_type": "flag"}, // Mouse Keys "MOUSEKEY_DELAY": {"info_key": "mousekey.delay", "value_type": "int"}, @@ -183,7 +192,7 @@ // Split Keyboard "SOFT_SERIAL_PIN": {"info_key": "split.serial.pin"}, - "SOFT_SERIAL_SPEED": {"info_key": "split.soft_serial_speed"}, + "SELECT_SOFT_SERIAL_SPEED": {"info_key": "split.serial.speed"}, "SPLIT_HAND_MATRIX_GRID": {"info_key": "split.handedness.matrix_grid", "value_type": "array", "to_c": false}, "SPLIT_HAND_PIN": {"info_key": "split.handedness.pin"}, "SPLIT_USB_DETECT": {"info_key": "split.usb_detect.enabled", "value_type": "flag"}, diff --git a/data/mappings/info_rules.hjson b/data/mappings/info_rules.hjson index 238957f170..5ecd5c12b3 100644 --- a/data/mappings/info_rules.hjson +++ b/data/mappings/info_rules.hjson @@ -13,6 +13,7 @@ "AUDIO_DRIVER": {"info_key": "audio.driver"}, "BACKLIGHT_DRIVER": {"info_key": "backlight.driver"}, + "BATTERY_DRIVER": {"info_key": "battery.driver"}, "BLUETOOTH_DRIVER": {"info_key": "bluetooth.driver"}, "BOARD": {"info_key": "board"}, "BOOTLOADER": {"info_key": "bootloader", "warn_duplicate": false}, @@ -53,8 +54,8 @@ "WS2812_DRIVER": {"info_key": "ws2812.driver"}, // Items we want flagged in lint - "DEFAULT_FOLDER": {"info_key": "_deprecated.default_folder", "deprecated": true}, "CTPC": {"info_key": "_invalid.ctpc", "invalid": true, "replace_with": "CONVERT_TO=proton_c"}, "CONVERT_TO_PROTON_C": {"info_key": "_invalid.ctpc", "invalid": true, "replace_with": "CONVERT_TO=proton_c"}, + "DEFAULT_FOLDER": {"info_key": "_invalid.default_folder", "invalid": true}, "VIAL_ENABLE": {"info_key": "_invalid.vial", "invalid": true} } diff --git a/data/mappings/keyboard_aliases.hjson b/data/mappings/keyboard_aliases.hjson index 86850af7a4..3978235e20 100644 --- a/data/mappings/keyboard_aliases.hjson +++ b/data/mappings/keyboard_aliases.hjson @@ -68,6 +68,81 @@ "bakeneko80": { "target": "kkatano/bakeneko80" }, + "bastardkb/charybdis/3x5/v2/elitec": { + "target": "bastardkb/charybdis/3x5/elitec" + }, + "bastardkb/charybdis/3x5/v2/splinky_2": { + "target": "bastardkb/charybdis/3x5/elitec" + }, + "bastardkb/charybdis/3x5/v2/splinky_3": { + "target": "bastardkb/charybdis/3x5/elitec" + }, + "bastardkb/charybdis/3x5/v2/stemcell": { + "target": "bastardkb/charybdis/3x5/elitec" + }, + "bastardkb/charybdis/3x6/v2/elitec": { + "target": "bastardkb/charybdis/3x6/elitec" + }, + "bastardkb/charybdis/3x6/v2/splinky_2": { + "target": "bastardkb/charybdis/3x6/elitec" + }, + "bastardkb/charybdis/3x6/v2/splinky_3": { + "target": "bastardkb/charybdis/3x6/elitec" + }, + "bastardkb/charybdis/3x6/v2/stemcell": { + "target": "bastardkb/charybdis/3x6/elitec" + }, + "bastardkb/charybdis/4x6/v2/elitec": { + "target": "bastardkb/charybdis/4x6/elitec" + }, + "bastardkb/charybdis/4x6/v2/splinky_2": { + "target": "bastardkb/charybdis/4x6/elitec" + }, + "bastardkb/charybdis/4x6/v2/splinky_3": { + "target": "bastardkb/charybdis/4x6/elitec" + }, + "bastardkb/charybdis/4x6/v2/stemcell": { + "target": "bastardkb/charybdis/4x6/elitec" + }, + "bastardkb/dilemma/3x5_2/splinky": { + "target": "bastardkb/dilemma/3x5_2/promicro" + }, + "bastardkb/scylla/v2/elitec": { + "target": "bastardkb/scylla/promicro" + }, + "bastardkb/scylla/v2/splinky_2": { + "target": "bastardkb/scylla/promicro" + }, + "bastardkb/scylla/v2/splinky_3": { + "target": "bastardkb/scylla/promicro" + }, + "bastardkb/scylla/v2/stemcell": { + "target": "bastardkb/scylla/promicro" + }, + "bastardkb/skeletyl/v2/elitec": { + "target": "bastardkb/skeletyl/promicro" + }, + "bastardkb/skeletyl/v2/splinky_2": { + "target": "bastardkb/skeletyl/promicro" + }, + "bastardkb/skeletyl/v2/splinky_3": { + "target": "bastardkb/skeletyl/promicro" + }, + "bastardkb/skeletyl/v2/stemcell": { + "target": "bastardkb/skeletyl/promicro" + }, + "bastardkb/tbkmini/v2/elitec": { + "target": "bastardkb/tbkmini/promicro" + }, + "bastardkb/tbkmini/v2/splinky_2": { + "target": "bastardkb/tbkmini/promicro" + }, + "bastardkb/tbkmini/v2/splinky_3": { + "target": "bastardkb/tbkmini/promicro" + }, + "bastardkb/tbkmini/v2/stemcell": { + "target": "bastardkb/tbkmini/promicro" + }, "bear_face": { "target": "bear_face/v1" }, @@ -257,44 +332,11 @@ "handwired/jscotto/scottostarter": { "target": "handwired/scottokeebs/scottostarter" }, - "helix/pico/sc/back": { - "target": "helix/pico/sc" + "helix": { + "target": "helix/beta" }, - "helix/pico/sc/under": { - "target": "helix/pico/sc" - }, - "helix/rev2/back/oled": { - "target": "helix/rev2/back" - }, - "helix/rev2/oled": { - "target": "helix/rev2" - }, - "helix/rev2/oled/back": { - "target": "helix/rev2/back" - }, - "helix/rev2/oled/under": { - "target": "helix/rev2/under" - }, - "helix/rev2/sc/back": { - "target": "helix/rev2/sc" - }, - "helix/rev2/sc/oled": { - "target": "helix/rev2/sc" - }, - "helix/rev2/sc/oledback": { - "target": "helix/rev2/sc" - }, - "helix/rev2/sc/oledunder": { - "target": "helix/rev2/sc" - }, - "helix/rev2/sc/under": { - "target": "helix/rev2/sc" - }, - "helix/rev2/under": { - "target": "helix/rev2/sc" - }, - "helix/rev2/under/oled": { - "target": "helix/rev2/under" + "helix/rev2": { + "target": "helix/beta" }, "honeycomb": { "target": "keyhive/honeycomb" @@ -407,6 +449,9 @@ "lfkeyboards/smk65": { "target": "lfkeyboards/smk65/revb" }, + "ll3macorn/bongopad": { + "target": "ll3ma/bongopad" + }, "m3v3van": { "target": "matthewdias/m3n3van" }, @@ -1881,6 +1926,12 @@ "kin80": { "target": "kin80/blackpill401" }, + "kprepublic/cstc40/daughterboard": { + "target": "kprepublic/cstc40/rev1" + }, + "kprepublic/cstc40/single_pcb": { + "target": "kprepublic/cstc40/rev2" + }, "kumaokobo/kudox_full": { "target": "kumaokobo/kudox_full/rev1" }, @@ -2214,8 +2265,17 @@ "trnthsn/s6xty5neor2": { "target": "trnthsn/s6xty5neor2/stm32f103" }, - "tweetydabird/lotus58": { - "target": "tweetydabird/lotus58/promicro" + "tweetydabird/lotus58/elite_c": { + "target": "tweetydabird/lotus58" + }, + "tweetydabird/lotus58/nanoboot": { + "target": "tweetydabird/lotus58" + }, + "tweetydabird/lotus58/promicro": { + "target": "tweetydabird/lotus58" + }, + "tweetydabird/lotus58/rp2040_ce": { + "target": "tweetydabird/lotus58" }, "unison": { "target": "unison/v04" @@ -2258,5 +2318,54 @@ }, "zsa/planck_ez": { "target": "zsa/planck_ez/base" + }, + // DEFAULT_FOLDER removed during 2025 Q3 cycle + "cannonkeys/satisfaction75": { + "target": "cannonkeys/satisfaction75/rev1" + }, + "converter/adb_usb": { + "target": "converter/adb_usb/rev1" + }, + "converter/sun_usb": { + "target": "converter/sun_usb/type5" + }, + "converter/usb_usb": { + "target": "converter/usb_usb/hasu" + }, + "durgod/dgk6x": { + "target": "durgod/dgk6x/hades_ansi" + }, + "ergodox_ez": { + "target": "ergodox_ez/base" + }, + "ferris/0_2": { + "target": "ferris/0_2/base" + }, + "handwired/dygma/raise": { + "target": "handwired/dygma/raise/ansi" + }, + "helix/rev3_4rows": { + "target": "helix/rev3" + }, + "helix/rev3_5rows": { + "target": "helix/rev3" + }, + "ibm/model_m/mschwingen": { + "target": "ibm/model_m/mschwingen/led_wired" + }, + "mechwild/sugarglider": { + "target": "mechwild/sugarglider/wide_oled/f401" + }, + "mechwild/sugarglider/wide_oled": { + "target": "mechwild/sugarglider/wide_oled/f401" + }, + "novelkeys/nk65": { + "target": "novelkeys/nk65/v1" + }, + "novelkeys/nk65/base": { + "target": "novelkeys/nk65/v1" + }, + "sirius/uni660/rev2": { + "target": "sirius/uni660/rev2/ansi" } } diff --git a/data/schemas/keyboard.jsonschema b/data/schemas/keyboard.jsonschema index 3aa259605e..93b1c82b1c 100644 --- a/data/schemas/keyboard.jsonschema +++ b/data/schemas/keyboard.jsonschema @@ -188,6 +188,28 @@ "as_caps_lock": {"type": "boolean"} } }, + "battery": { + "type": "object", + "additionalProperties": false, + "properties": { + "driver": { + "type": "string", + "enum": ["adc", "custom", "vendor"] + }, + "adc": { + "type": "object", + "additionalProperties": false, + "properties": { + "pin": {"$ref": "./definitions.jsonschema#/mcu_pin"}, + "reference_voltage": {"type": "integer"}, + "divider_r1": {"type": "integer"}, + "divider_r2": {"type": "integer"}, + "resolution": {"type": "integer"} + } + }, + "sample_interval": {"type": "integer"} + } + }, "bluetooth": { "type": "object", "additionalProperties": false, @@ -473,6 +495,7 @@ "ghost": {"type": "boolean"}, "input_pressed_state": {"$ref": "./definitions.jsonschema#/unsigned_int"}, "io_delay": {"$ref": "./definitions.jsonschema#/unsigned_int"}, + "masked": {"type": "boolean"}, "direct": { "type": "array", "items": {"$ref": "./definitions.jsonschema#/mcu_pin_array"} @@ -863,8 +886,7 @@ }, "soft_serial_speed": { "type": "integer", - "minimum": 0, - "maximum": 5 + "$comment": "Deprecated: use split.serial.speed instead" }, "serial": { "type": "object", @@ -874,7 +896,12 @@ "type": "string", "enum": ["bitbang", "usart", "vendor"] }, - "pin": {"$ref": "./definitions.jsonschema#/mcu_pin"} + "pin": {"$ref": "./definitions.jsonschema#/mcu_pin"}, + "speed": { + "type": "integer", + "minimum": 0, + "maximum": 5 + } } }, "transport": { diff --git a/docs/ChangeLog/20200229.md b/docs/ChangeLog/20200229.md index 02bca3e371..fd075c24e0 100644 --- a/docs/ChangeLog/20200229.md +++ b/docs/ChangeLog/20200229.md @@ -36,7 +36,7 @@ Four times a year QMK runs a process for merging Breaking Changes. A Breaking Ch ## Encoder flip * Flips the encoder direction so that `clockwise == true` is for actually turning the knob clockwise -* Adds `ENCODER_DIRECTION_FLIP` define, so that reversing the expected dirction is simple for users. +* Adds `ENCODER_DIRECTION_FLIP` define, so that reversing the expected direction is simple for users. * Cleans up documentation page for encoders diff --git a/docs/ChangeLog/20200530.md b/docs/ChangeLog/20200530.md index 9def9ae123..701b6bd5d6 100644 --- a/docs/ChangeLog/20200530.md +++ b/docs/ChangeLog/20200530.md @@ -19,7 +19,7 @@ These PRs move the V-USB driver code out of the qmk_firmware repository and into Updates all of the per key tap-hold functions to pass the `keyrecord_t` structure, and include documentation changes. -Any remaining versions or code outside of the main repo will need to be converted: +Any remaining versions or code outside of the main repo will need to be converted: | Old function | New Function | |------------------------------------------------------|---------------------------------------------------------------------------| |`uint16_t get_tapping_term(uint16_t keycode)` |`uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record)` | @@ -38,7 +38,7 @@ After the next breaking change you will not be able to build if `bin/qmk hello` [#8269](https://github.com/qmk/qmk_firmware/pull/8269) - Provides debug functionality on ChibiOS/ARM that is more compliant than previous integrations. -- Less maintenence, fewer QMK customisations, and allows QMK to sidestep previous compile and runtime issues. +- Less maintenance, fewer QMK customisations, and allows QMK to sidestep previous compile and runtime issues. - A `make git-submodule` may be required after pulling the latest QMK Firmware code to update to the new dependency. ### Fixed RGB_DISABLE_AFTER_TIMEOUT to be seconds based & small internals cleanup @@ -51,8 +51,10 @@ After the next breaking change you will not be able to build if `bin/qmk hello` The `RGB_DISABLE_AFTER_TIMEOUT` definition is now deprecated, and has been superseded by `RGB_DISABLE_TIMEOUT`. To use the new definition, rename `RGB_DISABLE_AFTER_TIMEOUT` to `RGB_DISABLE_TIMEOUT` in your `config.h` file, and multiply the value set by 1200. -Before: `#define RGB_DISABLE_AFTER_TIMEOUT 100` -After: `#define RGB_DISABLE_TIMEOUT 120000` +```diff +-#define RGB_DISABLE_AFTER_TIMEOUT 100 ++#define RGB_DISABLE_TIMEOUT 120000 +``` ### Switch to qmk forks for everything @@ -103,8 +105,8 @@ This allows current lily58 firmware to advance with updates to the `split_common - Alternatively, if you did not change the OLED code from that in `default`, you may find it easier to simply copy the [relevant section](https://github.com/qmk/qmk_firmware/blob/4ac310668501ae6786c711ecc8f01f62ddaa1c0b/keyboards/lily58/keymaps/default/keymap.c#L138-L172). Otherwise, the changes you need to make are as follows (sample change [here](https://github.com/qmk/qmk_firmware/pull/6260/files#diff-20943ea59856e9bdf3d99ecb2eee40b7R138-R173)) - [Remove](https://github.com/qmk/qmk_firmware/pull/6260/files#diff-20943ea59856e9bdf3d99ecb2eee40b7L138-L141) the block ```c -#ifdef SSD1306OLED - iota_gfx_init(!has_usb()); // turns on the display +#ifdef SSD1306OLED + iota_gfx_init(!has_usb()); // turns on the display #endif ``` - Within the block bounded by `#ifdef OLED_DRIVER_ENABLE` and `#endif // OLED_DRIVER_ENABLE`, add the following block to ensure that your two OLEDs are rotated correctly across the left and right sides: @@ -127,7 +129,7 @@ oled_rotation_t oled_init_user(oled_rotation_t rotation) { * Refactor to use split_common and remove split codes under the zinc/revx/ * Add - backlight RGB LED and/or underglow RGB LED option -* Add - continuous RGB animations feature (between L and R halves) +* Add - continuous RGB animations feature (between L and R halves) * Fix - keymap files to adapt to changes * all authors of keymaps confirmed this PR * Update - documents and rules.mk @@ -164,8 +166,8 @@ void keyboard_pre_init_kb(void) { - The following changes are for compatibility with the OLED driver. If you don't use the OLED driver you may safely delete [this section](https://github.com/qmk/qmk_firmware/blob/e6b9980bd45c186f7360df68c24b6e05a80c10dc/keyboards/lily58/keymaps/default/keymap.c#L144-L190) - [Remove](https://github.com/qmk/qmk_firmware/pull/6260/files#diff-20943ea59856e9bdf3d99ecb2eee40b7L91-L158) the block ```c -#ifdef SSD1306OLED - iota_gfx_init(!has_usb()); // turns on the display +#ifdef SSD1306OLED + iota_gfx_init(!has_usb()); // turns on the display #endif ``` - Within the block bounded by `#ifdef OLED_DRIVER_ENABLE` and `#endif // OLED_DRIVER_ENABLE`, add the following block to ensure that your two OLEDs are rotated correctly across the left and right sides: diff --git a/docs/ChangeLog/20210529.md b/docs/ChangeLog/20210529.md index 69923b0c5a..e3d250874a 100644 --- a/docs/ChangeLog/20210529.md +++ b/docs/ChangeLog/20210529.md @@ -12,7 +12,7 @@ Added support for MK66F18 (Teensy 3.6) microcontroller. ### New command: qmk console ([#12828](https://github.com/qmk/qmk_firmware/pull/12828)) {#new-command-qmk-console} -A new `qmk console` command has been added for attaching to your keyboard's console. It operates similiarly to QMK Toolbox by allowing you to connect to one or more keyboard consoles to display debugging messages. +A new `qmk console` command has been added for attaching to your keyboard's console. It operates similarly to QMK Toolbox by allowing you to connect to one or more keyboard consoles to display debugging messages. ### Improved command: qmk config {#improve-command-qmk-config} @@ -121,8 +121,8 @@ bool encoder_update_user(uint8_t index, bool clockwise) { tap_code(KC_UP); } } - return true; - // If you return true, this will allow the keyboard level code to run, as well. + return true; + // If you return true, this will allow the keyboard level code to run, as well. //Returning false will override the keyboard level code. Depending on how the keyboard level function is set up. } ``` diff --git a/docs/ChangeLog/20210828.md b/docs/ChangeLog/20210828.md index 18b1d92b0c..9268711262 100644 --- a/docs/ChangeLog/20210828.md +++ b/docs/ChangeLog/20210828.md @@ -104,7 +104,7 @@ void dip_switch_update_user(uint8_t index, bool active) { } } -void dip_switch_update_mask_kb(uint32_t state) { +void dip_switch_update_mask_kb(uint32_t state) { dip_switch_update_mask_user(state); } diff --git a/docs/ChangeLog/20220226.md b/docs/ChangeLog/20220226.md index a10b6447ea..29283a3a9c 100644 --- a/docs/ChangeLog/20220226.md +++ b/docs/ChangeLog/20220226.md @@ -29,7 +29,7 @@ Bootloader configuration is no longer assumed. Keyboards must now set either: ### Rename `AdafruitBLE` to `BluefruitLE` ([#16127](https://github.com/qmk/qmk_firmware/pull/16127)) -In preparation of future bluetooth work, the `AdafruitBLE` integration has been renamed to allow potential for any other Adafruit BLE products. +In preparation of future bluetooth work, the `AdafruitBLE` integration has been renamed to allow potential for any other Adafruit BLE products. ### Updated Keyboard Codebases {#updated-keyboard-codebases} diff --git a/docs/ChangeLog/20250831.md b/docs/ChangeLog/20250831.md new file mode 100644 index 0000000000..12ce19289f --- /dev/null +++ b/docs/ChangeLog/20250831.md @@ -0,0 +1,181 @@ +# QMK Breaking Changes - 2025 Aug 31 Changelog + +## Changes Requiring User Action + +### Updated Keyboard Codebases + +| Old Keyboard Name | New Keyboard Name | +|--------------------------------------|----------------------------------| +| bastardkb/charybdis/3x5/v2/elitec | bastardkb/charybdis/3x5/elitec | +| bastardkb/charybdis/3x5/v2/splinky_2 | bastardkb/charybdis/3x5/elitec | +| bastardkb/charybdis/3x5/v2/splinky_3 | bastardkb/charybdis/3x5/elitec | +| bastardkb/charybdis/3x5/v2/stemcell | bastardkb/charybdis/3x5/elitec | +| bastardkb/charybdis/3x6/v2/elitec | bastardkb/charybdis/3x6/elitec | +| bastardkb/charybdis/3x6/v2/splinky_2 | bastardkb/charybdis/3x6/elitec | +| bastardkb/charybdis/3x6/v2/splinky_3 | bastardkb/charybdis/3x6/elitec | +| bastardkb/charybdis/3x6/v2/stemcell | bastardkb/charybdis/3x6/elitec | +| bastardkb/charybdis/4x6/v2/elitec | bastardkb/charybdis/4x6/elitec | +| bastardkb/charybdis/4x6/v2/splinky_2 | bastardkb/charybdis/4x6/elitec | +| bastardkb/charybdis/4x6/v2/splinky_3 | bastardkb/charybdis/4x6/elitec | +| bastardkb/charybdis/4x6/v2/stemcell | bastardkb/charybdis/4x6/elitec | +| bastardkb/dilemma/3x5_2/splinky | bastardkb/dilemma/3x5_2/promicro | +| bastardkb/scylla/v2/elitec | bastardkb/scylla/promicro | +| bastardkb/scylla/v2/splinky_2 | bastardkb/scylla/promicro | +| bastardkb/scylla/v2/splinky_3 | bastardkb/scylla/promicro | +| bastardkb/scylla/v2/stemcell | bastardkb/scylla/promicro | +| bastardkb/skeletyl/v2/elitec | bastardkb/skeletyl/promicro | +| bastardkb/skeletyl/v2/splinky_2 | bastardkb/skeletyl/promicro | +| bastardkb/skeletyl/v2/splinky_3 | bastardkb/skeletyl/promicro | +| bastardkb/skeletyl/v2/stemcell | bastardkb/skeletyl/promicro | +| bastardkb/tbkmini/v2/elitec | bastardkb/tbkmini/promicro | +| bastardkb/tbkmini/v2/splinky_2 | bastardkb/tbkmini/promicro | +| bastardkb/tbkmini/v2/splinky_3 | bastardkb/tbkmini/promicro | +| bastardkb/tbkmini/v2/stemcell | bastardkb/tbkmini/promicro | +| helix/rev2 | helix/beta | +| helix/rev3_4rows | helix/rev3 | +| helix/rev3_5rows | helix/rev3 | +| kprepublic/cstc40/daughterboard | kprepublic/cstc40/rev1 | +| kprepublic/cstc40/single_pcb | kprepublic/cstc40/rev2 | +| ll3macorn/bongopad | ll3ma/bongopad | +| novelkeys/nk65/base | novelkeys/nk65/v1 | +| tweetydabird/lotus58/elite_c | tweetydabird/lotus58 | +| tweetydabird/lotus58/nanoboot | tweetydabird/lotus58 | +| tweetydabird/lotus58/promicro | tweetydabird/lotus58 | +| tweetydabird/lotus58/rp2040_ce | tweetydabird/lotus58 | + +### Mitigate VIA keylogger security issues [#25414](https://github.com/qmk/qmk_firmware/pull/25414) + +VIA's keyboard matrix testing functionality, which allows users to identify active key presses, has been identified as a potential security concern by community members and security researchers. This feature has been demonstrated to enable unauthorized keystroke capture, with documented examples showing how malicious scripts could exploit this capability to create keyloggers. A recent security assessment revealed that user credentials could be compromised by exploiting the matrix testing function combined with VIA's keycode assignment queries. In this attack scenario, a script could remain active during a locked session and capture password input when users authenticate upon return. + +The QMK team notified the VIA team of this security vulnerability on May 17, 2022, and made multiple subsequent attempts to coordinate a mitigation strategy. Despite repeated outreach, the VIA team has provided no acknowledgment or response to these security concerns. Given the severity of the potential security implications and the lack of engagement from the VIA team, the QMK team has unilaterally implemented a security enhancement that modifies the keyboard matrix testing functionality to prevent the reporting of key press events. This change prioritizes user security and data protection over potential feature compatibility concerns within VIA. + +## Deprecation Notices + +In line with the [notice period](../support_deprecation_policy#how-much-advance-notice-will-be-given), deprecation notices for larger items are listed here. + +### `DEFAULT_FOLDER` removal ([#23281](https://github.com/qmk/qmk_firmware/pull/23281)) + +`DEFAULT_FOLDER` was originally introduced to work around limitations within the build system. +Parent folders containing common configuration would create invalid build targets. + +With the introduction of [`keyboard.json`](./20240526#keyboard-json) as a configuration file, the build system now has a consistent method to detect build targets. +The `DEFAULT_FOLDER` functionality is now removed with the intent that `rules.mk` is now pure configuration. + +Backwards compatibility of build targets has been maintained where possible. + +### Converter `Pin Compatible` updates ([#20330](https://github.com/qmk/qmk_firmware/pull/20330)) + +Converter support has been further limited to only function if a keyboard declares that it is compatible. + +This can be configured in the following ways: + +:::::tabs + +==== keyboard.json + +```json [keyboard.json] +{ + "development_board": "promicro", // [!code focus] +} +``` + +==== rules.mk + +```make [rules.mk] +PIN_COMPATIBLE = promicro +``` + +::::: + +see the [Converters Feature](../feature_converters) documentation for more information. + +### Removal of deprecated RGB and Mouse keycodes ([#25444](https://github.com/qmk/qmk_firmware/pull/25444)) + +Backwards compatibility of deprecated RGB and Mouse keycodes has been removed. + +See the following documentation for the list of currently supported keycodes: + +* [RGB Lighting](../features/rgblight#keycodes) +* [RGB Matrix](../features/rgb_matrix#keycodes) +* [Mouse keys](../features/mouse_keys#mapping-mouse-actions) + +## Full changelist + +Core: +* Remove converter assumption that everything is a promicro ([#20330](https://github.com/qmk/qmk_firmware/pull/20330)) +* Remove `DEFAULT_FOLDER` handling ([#23281](https://github.com/qmk/qmk_firmware/pull/23281)) +* Add core handling for pointing device failures. ([#25315](https://github.com/qmk/qmk_firmware/pull/25315)) +* Relocate remaining `process_record_quantum` keycodes ([#25328](https://github.com/qmk/qmk_firmware/pull/25328)) +* Remove `process_action_kb` callback ([#25331](https://github.com/qmk/qmk_firmware/pull/25331)) +* Add `{rgb|led}_matrix_get_mode_name()`. ([#25344](https://github.com/qmk/qmk_firmware/pull/25344)) +* Align sleep_led logic ([#25395](https://github.com/qmk/qmk_firmware/pull/25395)) +* Mitigate VIA keylogger security issues ([#25414](https://github.com/qmk/qmk_firmware/pull/25414)) +* Deprecate some nonstandard mod & mod-tap keycode aliases ([#25437](https://github.com/qmk/qmk_firmware/pull/25437)) +* Refactor Starlight Smooth matrix effect ([#25442](https://github.com/qmk/qmk_firmware/pull/25442)) +* Remove deprecated `RGB_` and Mouse keycodes ([#25444](https://github.com/qmk/qmk_firmware/pull/25444)) +* Configure SPI for `QMK_PM2040` board ([#25481](https://github.com/qmk/qmk_firmware/pull/25481)) +* Configure SPI for `STEMCELL` board ([#25486](https://github.com/qmk/qmk_firmware/pull/25486)) +* Configure SPI for `QMK_BLOK` board ([#25487](https://github.com/qmk/qmk_firmware/pull/25487)) +* Clamp reactive offset value ([#25489](https://github.com/qmk/qmk_firmware/pull/25489)) +* Relocate `AUDIO_INIT_DELAY` implementation ([#25491](https://github.com/qmk/qmk_firmware/pull/25491)) +* Add MATRIX_ROWS_PER_HAND definition ([#25513](https://github.com/qmk/qmk_firmware/pull/25513)) +* Refactor battery driver ([#25550](https://github.com/qmk/qmk_firmware/pull/25550)) +* Add cachyos as pattern when installing dependencies ([#25580](https://github.com/qmk/qmk_firmware/pull/25580)) + +CLI: +* Add MATRIX_MASKED DD config ([#25383](https://github.com/qmk/qmk_firmware/pull/25383)) +* Ensure keyboard aliases do not point to themselves ([#25500](https://github.com/qmk/qmk_firmware/pull/25500)) + +Keyboards: +* [Update] E8ghtyNeo caps indicator ([#25009](https://github.com/qmk/qmk_firmware/pull/25009)) +* Keychron C3 Pro `c3_pro.c` corrections ([#25049](https://github.com/qmk/qmk_firmware/pull/25049)) +* Update franky36 pid and vid ([#25160](https://github.com/qmk/qmk_firmware/pull/25160)) +* Added Encoder support for Soyuz ([#25279](https://github.com/qmk/qmk_firmware/pull/25279)) +* CSTC40 rev3 (FXTWINK) ([#25285](https://github.com/qmk/qmk_firmware/pull/25285)) +* Migrate remaining `DEFAULT_FOLDER` to keyboard aliases ([#25291](https://github.com/qmk/qmk_firmware/pull/25291)) +* Configure boards to use development_board - R ([#25316](https://github.com/qmk/qmk_firmware/pull/25316)) +* Configure boards to use development_board - P ([#25317](https://github.com/qmk/qmk_firmware/pull/25317)) +* Configure boards to use development_board - NO ([#25338](https://github.com/qmk/qmk_firmware/pull/25338)) +* Configure boards to use development_board - LM ([#25341](https://github.com/qmk/qmk_firmware/pull/25341)) +* maple_computing/launchpad - Remove broken `default_rgb` keymap ([#25342](https://github.com/qmk/qmk_firmware/pull/25342)) +* update winry25 VID and PID ([#25351](https://github.com/qmk/qmk_firmware/pull/25351)) +* Configure boards to use development_board - DE ([#25369](https://github.com/qmk/qmk_firmware/pull/25369)) +* Configure boards to use development_board - FGHIJ ([#25370](https://github.com/qmk/qmk_firmware/pull/25370)) +* refactor(mercutio): layouts & reformatting ([#25408](https://github.com/qmk/qmk_firmware/pull/25408)) +* Configure boards to use development_board - ABC ([#25417](https://github.com/qmk/qmk_firmware/pull/25417)) +* Configure boards to use development_board - K ([#25421](https://github.com/qmk/qmk_firmware/pull/25421)) +* Refactor `helix/pico` ([#25428](https://github.com/qmk/qmk_firmware/pull/25428)) +* Refactor `helix/rev2` ([#25429](https://github.com/qmk/qmk_firmware/pull/25429)) +* Refactor `helix/rev3_{4,5}rows` ([#25430](https://github.com/qmk/qmk_firmware/pull/25430)) +* Migrate `helix` common configuration ([#25433](https://github.com/qmk/qmk_firmware/pull/25433)) +* Refactor `bastardkb/tbkmini` ([#25438](https://github.com/qmk/qmk_firmware/pull/25438)) +* Convert `novelkeys/nk65` to use RGB Matrix ([#25450](https://github.com/qmk/qmk_firmware/pull/25450)) +* Convert moon to lite custom matrix ([#25452](https://github.com/qmk/qmk_firmware/pull/25452)) +* Refactor `bastardkb/skeletyl` ([#25456](https://github.com/qmk/qmk_firmware/pull/25456)) +* Refactor `bastardkb/scylla` ([#25459](https://github.com/qmk/qmk_firmware/pull/25459)) +* Refactor `bastardkb/dilemma/3x5_2` ([#25462](https://github.com/qmk/qmk_firmware/pull/25462)) +* Migrate `usb.force_nkro` to `host.default.nkro` ([#25468](https://github.com/qmk/qmk_firmware/pull/25468)) +* Give mouse report to pointing_device_task_user first in ploopyco devices ([#25475](https://github.com/qmk/qmk_firmware/pull/25475)) +* Refactor `bastardkb/charybdis/3x5` ([#25488](https://github.com/qmk/qmk_firmware/pull/25488)) +* Refactor `bastardkb/charybdis/3x6` ([#25493](https://github.com/qmk/qmk_firmware/pull/25493)) +* Refactor `bastardkb/charybdis/4x6` ([#25494](https://github.com/qmk/qmk_firmware/pull/25494)) +* Rebrand For Ll3ma Keyboards ([#25498](https://github.com/qmk/qmk_firmware/pull/25498)) +* Remove some encoder resolution that duplicate defaults ([#25517](https://github.com/qmk/qmk_firmware/pull/25517)) +* Remove overriding of `DF()` within keyboards ([#25541](https://github.com/qmk/qmk_firmware/pull/25541)) +* Refactor inland/kb83 ([#25542](https://github.com/qmk/qmk_firmware/pull/25542)) +* Refactor `tweetydabird/lotus58` ([#25547](https://github.com/qmk/qmk_firmware/pull/25547)) +* Swap spleeb to default GENERIC_PROMICRO_RP2040 board files ([#25564](https://github.com/qmk/qmk_firmware/pull/25564)) + +Keyboard fixes: +* Fix `keebio/quefrency/rev1:default60` ([#25423](https://github.com/qmk/qmk_firmware/pull/25423)) +* Fixup `bastardkb/tbkmini` keymap's build target ([#25458](https://github.com/qmk/qmk_firmware/pull/25458)) +* Miscellaneous fixes for lint warnings ([#25469](https://github.com/qmk/qmk_firmware/pull/25469)) +* Fix pytest/has_community default keymap location ([#25471](https://github.com/qmk/qmk_firmware/pull/25471)) +* Fix serial speed DD configuration & migrate keyboards ([#25546](https://github.com/qmk/qmk_firmware/pull/25546)) +* Update rgb x coordinate of rightmost column ([#25556](https://github.com/qmk/qmk_firmware/pull/25556)) + +Bugs: +* Fix buggy switch statement in quantum.c ([#25322](https://github.com/qmk/qmk_firmware/pull/25322)) +* Compilation fixes for `-fno-common` ([#25436](https://github.com/qmk/qmk_firmware/pull/25436)) +* Only userspace should be searched for keyboard aliases when locating keymaps ([#25477](https://github.com/qmk/qmk_firmware/pull/25477)) +* Allow `qmk flash ` to flash AT32 boards ([#25497](https://github.com/qmk/qmk_firmware/pull/25497)) diff --git a/docs/_sidebar.json b/docs/_sidebar.json index ee4709a650..d237b0e1d0 100644 --- a/docs/_sidebar.json +++ b/docs/_sidebar.json @@ -175,6 +175,7 @@ ] }, { "text": "Audio", "link": "/features/audio" }, + { "text": "Battery", "link": "/features/battery" }, { "text": "Bootmagic", "link": "/features/bootmagic" }, { "text": "Converters", "link": "/feature_converters" }, { "text": "Custom Matrix", "link": "/custom_matrix" }, @@ -213,7 +214,7 @@ { "text": "My Pull Request Was Flagged", "link": "/breaking_changes_instructions" }, { "text": "Most Recent ChangeLog", - "link": "/ChangeLog/20250525" + "link": "/ChangeLog/20250831" }, { "text": "Past Breaking Changes", "link": "/breaking_changes_history" }, { "text": "Deprecation Policy", "link": "/support_deprecation_policy" } diff --git a/docs/breaking_changes.md b/docs/breaking_changes.md index 9063fc18db..1e9335d8bc 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? +* [2025 Aug 31](ChangeLog/20250831) * [2025 May 25](ChangeLog/20250525) * [2025 Feb 23](ChangeLog/20250223) -* [2024 Nov 24](ChangeLog/20241124) * [Older Breaking Changes](breaking_changes_history) ## When is the next Breaking Change? -The next Breaking Change is scheduled for Aug 31, 2025. +The next Breaking Change is scheduled for November 30, 2025. ### Important Dates -* 2025 May 25 - `develop` is tagged with a new release version. Each push to `master` is subsequently merged to `develop` by GitHub actions. -* 2025 Aug 3 - `develop` closed to new PRs. -* 2025 Aug 3 - Call for testers. -* 2025 Aug 17 - Last day for merges -- after this point `develop` is locked for testing and accepts only bugfixes -* 2025 Aug 24 - `develop` is locked, only critical bugfix PRs merged. -* 2025 Aug 29 - `master` is locked, no PRs merged. -* 2025 Aug 31 - Merge `develop` to `master`. -* 2025 Aug 31 - `master` is unlocked. PRs can be merged again. +* 2025 Aug 31 - `develop` is tagged with a new release version. Each push to `master` is subsequently merged to `develop` by GitHub actions. +* 2025 Nov 2 - `develop` closed to new PRs. +* 2025 Nov 2 - Call for testers. +* 2025 Nov 16 - Last day for merges -- after this point `develop` is locked for testing and accepts only bugfixes +* 2025 Nov 23 - `develop` is locked, only critical bugfix PRs merged. +* 2025 Nov 28 - `master` is locked, no PRs merged. +* 2025 Nov 30 - Merge `develop` to `master`. +* 2025 Nov 30 - `master` is unlocked. PRs can be merged again. ## What changes will be included? diff --git a/docs/breaking_changes_history.md b/docs/breaking_changes_history.md index 274aa340df..29ceb09db7 100644 --- a/docs/breaking_changes_history.md +++ b/docs/breaking_changes_history.md @@ -2,6 +2,7 @@ This page links to all previous changelogs from the QMK Breaking Changes process. +* [2025 Aug 31](ChangeLog/20250831) - version 0.30.0 * [2025 May 25](ChangeLog/20250525) - version 0.29.0 * [2025 Feb 23](ChangeLog/20250223) - version 0.28.0 * [2024 Nov 24](ChangeLog/20241124) - version 0.27.0 diff --git a/docs/cli_commands.md b/docs/cli_commands.md index 54bf5cc123..02f362b14c 100644 --- a/docs/cli_commands.md +++ b/docs/cli_commands.md @@ -631,14 +631,15 @@ This command compiles all the External Userspace build targets. **Usage**: ``` -qmk userspace-compile [-h] [-e ENV] [-n] [-c] [-j PARALLEL] [-t] +qmk userspace-compile [-h] [-e ENV] [-p] [-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. + -e, --env ENV Set a variable to be passed to make. May be passed multiple times. + -p, --print-failures Print failed builds. -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 + -j, --parallel PARALLEL Set the number of parallel make jobs; 0 means unlimited. -t, --no-temp Remove temporary files during build. ``` diff --git a/docs/config_options.md b/docs/config_options.md index b2a2117693..91c17cf09d 100644 --- a/docs/config_options.md +++ b/docs/config_options.md @@ -364,8 +364,6 @@ This is a [make](https://www.gnu.org/software/make/manual/make.html) file that i ## Build Options -* `DEFAULT_FOLDER` - * Used to specify a default folder when a keyboard has more than one sub-folder. * `FIRMWARE_FORMAT` * Defines which format (bin, hex) is copied to the root `qmk_firmware` folder after building. * `SRC` diff --git a/docs/custom_quantum_functions.md b/docs/custom_quantum_functions.md index c69beb055e..2c4eac64f0 100644 --- a/docs/custom_quantum_functions.md +++ b/docs/custom_quantum_functions.md @@ -145,7 +145,7 @@ void keyboard_pre_init_user(void) { This is called when the matrix is initialized, and after some of the hardware has been set up, but before many of the features have been initialized. -This is useful for setting up stuff that you may need elsewhere, but isn't hardware related nor is dependant on where it's started. +This is useful for setting up stuff that you may need elsewhere, but isn't hardware related nor is dependent on where it's started. ### `matrix_init_*` Function Documentation @@ -209,7 +209,7 @@ You should use this function if you need custom matrix scanning code. It can als This function gets called at the end of all QMK processing, before starting the next iteration. You can safely assume that QMK has dealt with the last matrix scan at the time that these functions are invoked -- layer states have been updated, USB reports have been sent, LEDs have been updated, and displays have been drawn. -Similar to `matrix_scan_*`, these are called as often as the MCU can handle. To keep your board responsive, it's suggested to do as little as possible during these function calls, potentially throtting their behaviour if you do indeed require implementing something special. +Similar to `matrix_scan_*`, these are called as often as the MCU can handle. To keep your board responsive, it's suggested to do as little as possible during these function calls, potentially throttling their behaviour if you do indeed require implementing something special. ### Example `void housekeeping_task_user(void)` implementation @@ -246,7 +246,7 @@ void check_rgb_timeout(void) { } } /* Then, call the above functions from QMK's built in post processing functions like so */ -/* Runs at the end of each scan loop, check if RGB timeout has occured or not */ +/* Runs at the end of each scan loop, check if RGB timeout has occurred or not */ void housekeeping_task_user(void) { #ifdef RGBLIGHT_TIMEOUT check_rgb_timeout(); @@ -316,7 +316,7 @@ 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); diff --git a/docs/data_driven_config.md b/docs/data_driven_config.md index 2c1a56e004..a97b314a2f 100644 --- a/docs/data_driven_config.md +++ b/docs/data_driven_config.md @@ -6,7 +6,7 @@ This page describes how QMK's data driven JSON configuration system works. It is Historically QMK has been configured through a combination of two mechanisms- `rules.mk` and `config.h`. While this worked well when QMK was only a handful of keyboards we've grown to encompass nearly 4000 supported keyboards. That extrapolates out to 6000 configuration files under `keyboards/` alone! The freeform nature of these files and the unique patterns people have used to avoid duplication have made ongoing maintenance a challenge, and a large number of our keyboards follow patterns that are outdated and sometimes harder to understand. -We have also been working on bringing the power of QMK to people who aren't comformable with a CLI, and other projects such as VIA are working to make using QMK as easy as installing a program. These tools need information about how a keyboard is laid out or what pins and features are available so that users can take full advantage of QMK. We introduced `info.json` as a first step towards this. The QMK API is an effort to combine these 3 sources of information- `config.h`, `rules.mk`, and `info.json`- into a single source of truth that end-user tools can use. +We have also been working on bringing the power of QMK to people who aren't comfortable with a CLI, and other projects such as VIA are working to make using QMK as easy as installing a program. These tools need information about how a keyboard is laid out or what pins and features are available so that users can take full advantage of QMK. We introduced `info.json` as a first step towards this. The QMK API is an effort to combine these 3 sources of information- `config.h`, `rules.mk`, and `info.json`- into a single source of truth that end-user tools can use. Now we have support for generating `rules.mk` and `config.h` values from `info.json`, allowing us to have a single source of truth. This will allow us to use automated tooling to maintain keyboards saving a lot of time and maintenance work. diff --git a/docs/driver_installation_zadig.md b/docs/driver_installation_zadig.md index 1a5bd1cc34..6fbcfa3bff 100644 --- a/docs/driver_installation_zadig.md +++ b/docs/driver_installation_zadig.md @@ -22,7 +22,7 @@ If Zadig lists one or more devices with the `HidUsb` driver, your keyboard is pr If the arrow appears green, select the driver, and click **Install Driver**. See the [list of known bootloaders](#list-of-known-bootloaders) for the correct driver to install. -![Zadig with a bootloader driver correctly installed](https://i.imgur.com/b8VgXzx.png) +![Zadig with a bootloader driver correctly installed](/b8VgXzx.png) Finally, unplug and replug the keyboard to make sure the new driver has been loaded. If you are using the QMK Toolbox to flash, exit and restart it too, as it can sometimes fail to recognize the driver change. @@ -30,15 +30,15 @@ Finally, unplug and replug the keyboard to make sure the new driver has been loa If you find that you can no longer type with the keyboard, you may have accidentally replaced the driver for the keyboard itself instead of for the bootloader. This can happen when the keyboard is not in the bootloader mode. You can easily confirm this in Zadig - a healthy keyboard has the `HidUsb` driver installed on all of its interfaces: -![A healthy keyboard as seen by Zadig](https://i.imgur.com/Hx0E5kC.png) +![A healthy keyboard as seen by Zadig](/Hx0E5kC.png) Open the Device Manager, select **View → Devices by container**, and look for an entry with your keyboard's name. -![The board with the wrong driver installed, in Device Manager](https://i.imgur.com/o7WLvBl.png) +![The board with the wrong driver installed, in Device Manager](/o7WLvBl.png) Right-click each entry and hit **Uninstall device**. Make sure to tick **Delete the driver software for this device** first if it appears. -![The Device Uninstall dialog, with the "delete driver" checkbox ticked](https://i.imgur.com/aEs2RuA.png) +![The Device Uninstall dialog, with the "delete driver" checkbox ticked](/aEs2RuA.png) Click **Action → Scan for hardware changes**. At this point, you should be able to type again. Double check in Zadig that the keyboard device(s) are using the `HidUsb` driver. If so, you're all done, and your board should be functional again! Otherwise, repeat this process until Zadig reports the correct driver. @@ -54,11 +54,11 @@ Open the Device Manager, select **View → Devices by container**, and look for Find the `Inf name` value in the Details tab of the device properties. This should generally be something like `oemXX.inf`: -![Device properties showing the Inf name value](https://i.imgur.com/Bu4mk9m.png) +![Device properties showing the Inf name value](/Bu4mk9m.png) Then, open a new Command Prompt window as an Administrator (type in `cmd` into the Start menu and press Ctrl+Shift+Enter). Run `pnputil /enum-drivers` to verify the `Inf name` matches the `Published Name` field of one of the entries: -![pnputil output with matching driver highlighted](https://i.imgur.com/3RrSjzW.png) +![pnputil output with matching driver highlighted](/3RrSjzW.png) Run `pnputil /delete-driver oemXX.inf /uninstall`. This will delete the driver and remove it from any devices using it. Note that this will not uninstall the device itself. diff --git a/docs/drivers/battery.md b/docs/drivers/battery.md index e482ffc8b6..ae07668cc0 100644 --- a/docs/drivers/battery.md +++ b/docs/drivers/battery.md @@ -1,6 +1,6 @@ # Battery Driver -This driver provides support for sampling battery level. +This driver provides support for directly sampling battery level. ## Usage @@ -10,21 +10,17 @@ To use this driver, add the following to your `rules.mk`: BATTERY_DRIVER_REQUIRED = yes ``` -## Basic Configuration {#basic-configuration} - -Add the following to your `config.h`: - -|Define |Default |Description | -|--------------------------|--------|--------------------------------------------------| -|`BATTERY_SAMPLE_INTERVAL` |`30000` |The time between battery samples in milliseconds. | +::::info Note +This is already configured for you if you are using the [Battery](../features/battery) feature. +:::: ## Driver Configuration {#driver-configuration} -Driver selection can be configured in `rules.mk` as `BATTERY_DRIVER`. Valid values are `adc` (default), `vendor`, or `custom`. See below for information on individual drivers. +Driver selection can be configured in `rules.mk` as `BATTERY_DRIVER`. Valid values are `adc`, `vendor`, or `custom`. See below for information on individual drivers. ### ADC Driver {#adc-driver} -This is the default battery driver. The default configuration assumes the battery is connected to a ADC capable pin through a voltage divider. +The default configuration assumes the battery is connected to a ADC capable pin through a voltage divider. ```make BATTERY_DRIVER = adc @@ -32,42 +28,25 @@ BATTERY_DRIVER = adc The following `#define`s apply only to the `adc` driver: -|Define |Default |Description | -|-----------------------------|--------------|--------------------------------------------------------------| -|`BATTERY_PIN` |*Not defined* |The GPIO pin connected to the voltage divider. | -|`BATTERY_REF_VOLTAGE_MV` |`3300` |The ADC reverence voltage, in millivolts. | -|`BATTERY_VOLTAGE_DIVIDER_R1` |`100` |The voltage divider resistance, in kOhm. Set to 0 to disable. | -|`BATTERY_VOLTAGE_DIVIDER_R2` |`100` |The voltage divider resistance, in kOhm. Set to 0 to disable. | -|`BATTERY_ADC_RESOLUTION` |`10` |The ADC resolution configured for the ADC Driver. | +|Define |Default |Description | +|---------------------------------|--------------|--------------------------------------------------------------| +|`BATTERY_ADC_PIN` |*Not defined* |The GPIO pin connected to the voltage divider. | +|`BATTERY_ADC_REF_VOLTAGE_MV` |`3300` |The ADC reverence voltage, in millivolts. | +|`BATTERY_ADC_VOLTAGE_DIVIDER_R1` |`100` |The voltage divider resistance, in kOhm. Set to 0 to disable. | +|`BATTERY_ADC_VOLTAGE_DIVIDER_R2` |`100` |The voltage divider resistance, in kOhm. Set to 0 to disable. | +|`BATTERY_ADC_RESOLUTION` |`10` |The ADC resolution configured for the ADC Driver. | -## Functions +### Custom Driver {#custom-driver} -### `uint8_t battery_get_percent(void)` {#api-battery-get-percent} +A custom driver is expected to implement the following interface: -Sample battery level. +```c +void battery_driver_init(void) { + // Perform any initialisation here +} -#### Return Value {#api-battery-get-percent-return} - -The battery percentage, in the range 0-100. - -## Callbacks - -### `void battery_percent_changed_user(uint8_t level)` {#api-battery-percent-changed-user} - -User hook called when battery level changed. - -### Arguments {#api-battery-percent-changed-user-arguments} - - - `uint8_t level` - The battery percentage, in the range 0-100. - ---- - -### `void battery_percent_changed_kb(uint8_t level)` {#api-battery-percent-changed-kb} - -Keyboard hook called when battery level changed. - -### Arguments {#api-battery-percent-changed-kb-arguments} - - - `uint8_t level` - The battery percentage, in the range 0-100. +uint8_t battery_driver_sample_percent(void) { + // Read and return current state here + return value; +} +``` diff --git a/docs/drivers/serial.md b/docs/drivers/serial.md index dda75f629a..2c78f59043 100644 --- a/docs/drivers/serial.md +++ b/docs/drivers/serial.md @@ -33,7 +33,7 @@ On ARM platforms the bitbang driver causes connection issues when using it toget +-------+ +-------+ ``` -One GPIO pin is needed for the bitbang driver, as only one wire is used for receiving and transmitting data. This pin is referred to as the `SOFT_SERIAL_PIN` (SSP) in the configuration. A TRS or USB cable provides enough conductors for this driver to function. +One GPIO pin is needed for the bitbang driver, as only one wire is used for receiving and transmitting data. This pin is referred to as the `SOFT_SERIAL_PIN` (SSP) in the configuration. A TRS or USB cable provides enough conductors for this driver to function. ### Setup @@ -63,12 +63,12 @@ SERIAL_DRIVER = bitbang ## USART Half-duplex -Targeting ARM boards based on ChibiOS, where communication is offloaded to a USART hardware device that supports Half-duplex operation. The advantages over bitbanging are fast, accurate timings and reduced CPU usage. Therefore it is advised to choose Half-duplex over Bitbang if MCU is capable of utilising Half-duplex, and Full-duplex can't be used instead (e.g. lack of available GPIO pins, or imcompatible PCB design). +Targeting ARM boards based on ChibiOS, where communication is offloaded to a USART hardware device that supports Half-duplex operation. The advantages over bitbanging are fast, accurate timings and reduced CPU usage. Therefore it is advised to choose Half-duplex over Bitbang if MCU is capable of utilising Half-duplex, and Full-duplex can't be used instead (e.g. lack of available GPIO pins, or incompatible PCB design). ### Pin configuration ``` - LEFT RIGHT + LEFT RIGHT +-------+ | | +-------+ | | R R | | | | | SERIAL | | | @@ -80,7 +80,7 @@ Targeting ARM boards based on ChibiOS, where communication is offloaded to a USA +-------+ +-------+ ``` -Only one GPIO pin is needed for the Half-duplex driver, as only one wire is used for receiving and transmitting data. This pin is referred to as the `SERIAL_USART_TX_PIN` in the configuration. Ensure that the pin chosen for split communication can operate as the TX pin of the contoller's USART peripheral. A TRS or USB cable provides enough conductors for this driver to function. As the split connection is configured to operate in open-drain mode, an **external pull-up resistor is needed to keep the line high**. Resistor values of 1.5kΩ to 8.2kΩ are known to work. +Only one GPIO pin is needed for the Half-duplex driver, as only one wire is used for receiving and transmitting data. This pin is referred to as the `SERIAL_USART_TX_PIN` in the configuration. Ensure that the pin chosen for split communication can operate as the TX pin of the contoller's USART peripheral. A TRS or USB cable provides enough conductors for this driver to function. As the split connection is configured to operate in open-drain mode, an **external pull-up resistor is needed to keep the line high**. Resistor values of 1.5kΩ to 8.2kΩ are known to work. ::: warning ***Note:*** A pull-up resistor isn't required for RP2040 controllers configured with PIO subsystem. @@ -278,7 +278,7 @@ There are several advanced configuration options that can be defined in your key ### Baudrate -If you're having issues or need a higher baudrate with serial communication, you can change the baudrate which in turn controls the communication speed for serial. You want to lower the baudrate if you experience failed transactions. +If you're having issues or need a higher baudrate with serial communication, you can change the baudrate which in turn controls the communication speed for serial. You want to lower the baudrate if you experience failed transactions. ```c #define SELECT_SOFT_SERIAL_SPEED n @@ -307,19 +307,19 @@ This is the default time window in milliseconds in which a successful communicat ## Troubleshooting -If you're having issues withe serial communication, you can enable debug messages that will give you insights which part of the communication failed. The enable these messages add to your keyboards `config.h` file: +If you're having issues with serial communication, you can enable debug messages that will give you insights which part of the communication failed. The enable these messages add to your keyboards `config.h` file: ```c #define SERIAL_DEBUG ``` - + ::: tip The messages will be printed out to the `CONSOLE` output. For additional information, refer to [Debugging/Troubleshooting QMK](../faq_debug). ::: ## Alternate Functions for selected STM32 MCUs -Pins for USART Peripherals with +Pins for USART Peripherals with ### STM32F303 / Proton-C [Datasheet](https://www.st.com/resource/en/datasheet/stm32f303cc.pdf) diff --git a/docs/easy_maker.md b/docs/easy_maker.md index e94477322b..4a6aa1cb61 100644 --- a/docs/easy_maker.md +++ b/docs/easy_maker.md @@ -24,7 +24,7 @@ As its name implies Direct Pin works by connecting one switch per pin. The other Here is a schematic showing how we connect a single button to pin A3 on a ProMicro: -![Schematic diagram showing a ProMicro with a wire coming out of A3, connecting to the left side of a switch. Another wire comes out of the right side of the switch to connect to the Ground Plane.](https://i.imgur.com/JcDhZll.png) +![Schematic diagram showing a ProMicro with a wire coming out of A3, connecting to the left side of a switch. Another wire comes out of the right side of the switch to connect to the Ground Plane.](/JcDhZll.png) Once you have wired your switches you can assign keycodes to each pin and build a firmware by selecting the MCU you are using from the Keyboard dropdown. Use this link to show only Easy Maker Direct Pin: diff --git a/docs/faq_general.md b/docs/faq_general.md index fe26dc3806..c80c1b8938 100644 --- a/docs/faq_general.md +++ b/docs/faq_general.md @@ -38,7 +38,7 @@ Awesome! Open up a Pull Request for it. We'll review the code, and merge it! That's amazing! We would love to assist you with that! -In fact, we have a [whole page](https://qmk.fm/powered/) dedicated to adding QMK Branding to your page and keyboard. This covers pretty much everything you need (knowledge and images) to officially support QMK. +In fact, we have a [whole page](https://qmk.fm/trademark) dedicated to adding QMK Branding to your page and keyboard. This covers pretty much everything you need (knowledge and images) to officially support QMK. If you have any questions about this, open an issue or head to [Discord](https://discord.gg/qmk). diff --git a/docs/faq_keymap.md b/docs/faq_keymap.md index 05bd4fed3e..dbaf7de991 100644 --- a/docs/faq_keymap.md +++ b/docs/faq_keymap.md @@ -13,7 +13,7 @@ Keycodes are actually defined in [quantum/keycode.h](https://github.com/qmk/qmk_ There are 3 standard keyboard layouts in use around the world- ANSI, ISO, and JIS. North America primarily uses ANSI, Europe and Africa primarily use ISO, and Japan uses JIS. Regions not mentioned typically use either ANSI or ISO. The keycodes corresponding to these layouts are shown here: -![Keyboard Layout Image](https://i.imgur.com/5wsh5wM.png) +![Keyboard Layout Image](/5wsh5wM.png) ## How Can I Make Custom Names For Complex Keycodes? diff --git a/docs/feature_advanced_keycodes.md b/docs/feature_advanced_keycodes.md index b21accd367..a6f8bc8372 100644 --- a/docs/feature_advanced_keycodes.md +++ b/docs/feature_advanced_keycodes.md @@ -2,36 +2,36 @@ These allow you to combine a modifier with a keycode. When pressed, the keydown event for the modifier, then `kc` will be sent. On release, the keyup event for `kc`, then the modifier will be sent. -|Key |Aliases |Description | -|----------|----------------------------------|-------------------------------------------------------------------------------| -|`LCTL(kc)`|`C(kc)` |Hold Left Control and press `kc` | -|`LSFT(kc)`|`S(kc)` |Hold Left Shift and press `kc` | -|`LALT(kc)`|`A(kc)`, `LOPT(kc)` |Hold Left Alt and press `kc` | -|`LGUI(kc)`|`G(kc)`, `LCMD(kc)`, `LWIN(kc)` |Hold Left GUI and press `kc` | -|`LCS(kc)` | |Hold Left Control and Left Shift and press `kc` | -|`LCA(kc)` | |Hold Left Control and Left Alt and press `kc` | -|`LCG(kc)` | |Hold Left Control and Left GUI and press `kc` | -|`LSA(kc)` | |Hold Left Shift and Left Alt and press `kc` | -|`LSG(kc)` |`SGUI(kc)`, `SCMD(kc)`, `SWIN(kc)`|Hold Left Shift and Left GUI and press `kc` | -|`LAG(kc)` | |Hold Left Alt and Left GUI and press `kc` | -|`LCSG(kc)`| |Hold Left Control, Left Shift and Left GUI and press `kc` | -|`LCAG(kc)`| |Hold Left Control, Left Alt and Left GUI and press `kc` | -|`LSAG(kc)`| |Hold Left Shift, Left Alt and Left GUI and press `kc` | -|`RCTL(kc)`| |Hold Right Control and press `kc` | -|`RSFT(kc)`| |Hold Right Shift and press `kc` | -|`RALT(kc)`|`ROPT(kc)`, `ALGR(kc)` |Hold Right Alt and press `kc` | -|`RGUI(kc)`|`RCMD(kc)`, `RWIN(kc)` |Hold Right GUI and press `kc` | -|`RCA(kc)` | |Hold Right Control and Right Alt and press `kc` | -|`RCS(kc)` | |Hold Right Control and Right Shift and press `kc` | -|`RCG(kc)` | |Hold Right Control and Right GUI and press `kc` | -|`RSA(kc)` |`SAGR(kc)` |Hold Right Shift and Right Alt and press `kc` | -|`RSG(kc)` | |Hold Right Shift and Right GUI and press `kc` | -|`RAG(kc)` | |Hold Right Alt and Right GUI and press `kc` | -|`RCSG(kc)`| |Hold Right Control, Right Shift and Right GUI and press `kc` | -|`RCAG(kc)`| |Hold Right Control, Right Alt and Right GUI and press `kc` | -|`RSAG(kc)`| |Hold Right Shift, Right Alt and Right GUI and press `kc` | -|`MEH(kc)` | |Hold Left Control, Left Shift and Left Alt and press `kc` | -|`HYPR(kc)`| |Hold Left Control, Left Shift, Left Alt and Left GUI and press `kc`1| +|Key |Aliases |Description | +|----------|-------------------------------|-------------------------------------------------------------------------------| +|`LCTL(kc)`|`C(kc)` |Hold Left Control and press `kc` | +|`LSFT(kc)`|`S(kc)` |Hold Left Shift and press `kc` | +|`LALT(kc)`|`A(kc)`, `LOPT(kc)` |Hold Left Alt and press `kc` | +|`LGUI(kc)`|`G(kc)`, `LCMD(kc)`, `LWIN(kc)`|Hold Left GUI and press `kc` | +|`LCS(kc)` | |Hold Left Control and Left Shift and press `kc` | +|`LCA(kc)` | |Hold Left Control and Left Alt and press `kc` | +|`LCG(kc)` | |Hold Left Control and Left GUI and press `kc` | +|`LSA(kc)` | |Hold Left Shift and Left Alt and press `kc` | +|`LSG(kc)` | |Hold Left Shift and Left GUI and press `kc` | +|`LAG(kc)` | |Hold Left Alt and Left GUI and press `kc` | +|`LCSG(kc)`| |Hold Left Control, Left Shift and Left GUI and press `kc` | +|`LCAG(kc)`| |Hold Left Control, Left Alt and Left GUI and press `kc` | +|`LSAG(kc)`| |Hold Left Shift, Left Alt and Left GUI and press `kc` | +|`RCTL(kc)`| |Hold Right Control and press `kc` | +|`RSFT(kc)`| |Hold Right Shift and press `kc` | +|`RALT(kc)`|`ROPT(kc)`, `ALGR(kc)` |Hold Right Alt and press `kc` | +|`RGUI(kc)`|`RCMD(kc)`, `RWIN(kc)` |Hold Right GUI and press `kc` | +|`RCA(kc)` | |Hold Right Control and Right Alt and press `kc` | +|`RCS(kc)` | |Hold Right Control and Right Shift and press `kc` | +|`RCG(kc)` | |Hold Right Control and Right GUI and press `kc` | +|`RSA(kc)` | |Hold Right Shift and Right Alt and press `kc` | +|`RSG(kc)` | |Hold Right Shift and Right GUI and press `kc` | +|`RAG(kc)` | |Hold Right Alt and Right GUI and press `kc` | +|`RCSG(kc)`| |Hold Right Control, Right Shift and Right GUI and press `kc` | +|`RCAG(kc)`| |Hold Right Control, Right Alt and Right GUI and press `kc` | +|`RSAG(kc)`| |Hold Right Shift, Right Alt and Right GUI and press `kc` | +|`MEH(kc)` | |Hold Left Control, Left Shift and Left Alt and press `kc` | +|`HYPR(kc)`| |Hold Left Control, Left Shift, Left Alt and Left GUI and press `kc`1| 1. More information on the Hyper key can be found on [this blog post by Brett Terpstra](https://brettterpstra.com/2012/12/08/a-useful-caps-lock-key/). diff --git a/docs/feature_debounce_type.md b/docs/feature_debounce_type.md index eb29b4ef26..4e3b0f4543 100644 --- a/docs/feature_debounce_type.md +++ b/docs/feature_debounce_type.md @@ -47,7 +47,7 @@ susceptible to noise, you must choose a debounce method that will also mitigate * Debounce algorithms often have a 'debounce time' parameter, that specifies the maximum settling time of the switch contacts. This time might be measured in various units: * Cycles-based debouncing waits n cycles (scans), decreasing count by one each matrix_scan - * Timestamp-based debouncing stores the millisecond timestamp a change occurred, and does substraction to figure out time elapsed. + * Timestamp-based debouncing stores the millisecond timestamp a change occurred, and does subtraction to figure out time elapsed. * Timestamp-based debouncing is usually superior, especially in the case of noise-resistant devices because settling times of physical switches is specified in units of time, and should not depend on the matrix scan-rate of the keyboard. * Cycles-based debouncing is sometimes considered inferior, because the settling time that it is able to compensate for depends on the diff --git a/docs/feature_eeprom.md b/docs/feature_eeprom.md index 22257b3202..7d40e81f5a 100644 --- a/docs/feature_eeprom.md +++ b/docs/feature_eeprom.md @@ -100,7 +100,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { if (record->event.pressed) { //This disables layer indication, as it's assumed that if you're changing this ... you want that disabled if (user_config.rgb_layer_change) { // only if this is enabled user_config.rgb_layer_change = false; // disable it, and - eeconfig_update_user(user_config.raw); // write the setings to EEPROM + eeconfig_update_user(user_config.raw); // write the settings to EEPROM } } return true; break; @@ -109,7 +109,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } } ``` -And lastly, you want to add the `eeconfig_init_user` function, so that when the EEPROM is reset, you can specify default values, and even custom actions. To force an EEPROM reset, use the `EE_CLR` keycode or [Bootmagic](features/bootmagic) functionallity. For example, if you want to set rgb layer indication by default, and save the default valued. +And lastly, you want to add the `eeconfig_init_user` function, so that when the EEPROM is reset, you can specify default values, and even custom actions. To force an EEPROM reset, use the `EE_CLR` keycode or [Bootmagic](features/bootmagic) functionality. For example, if you want to set rgb layer indication by default, and save the default valued. ```c void eeconfig_init_user(void) { // EEPROM is getting reset! diff --git a/docs/feature_layers.md b/docs/feature_layers.md index da6a28bd88..8e6510ca2a 100644 --- a/docs/feature_layers.md +++ b/docs/feature_layers.md @@ -25,7 +25,7 @@ active layer until pressed again. Currently, the `layer` argument of `LT()` is limited to layers 0-15, and the `kc` argument to the [Basic Keycode set](keycodes_basic), meaning you can't use keycodes like `LCTL()`, `KC_TILD`, or anything greater than `0xFF`. This is because QMK uses 16-bit keycodes, of which 4 bits are used for the function identifier and 4 bits for the layer, leaving only 8 bits for the keycode. -For a similar reason, the `layer` argument of `LM()` is also limited to layers 0-15 and the `mod` argument must fit within 5 bits. As a consequence, although left and right modifiers are supported by `LM()`, it is impossible to mix and match left and right modifiers. Specifying at least one right-hand modifier in a combination such as `MOD_RALT|MOD_LSFT` will convert *all* the listed modifiers to their right-hand counterpart. So, using the aforementionned mod-mask will actually send Right Alt+Right Shift. Make sure to use the `MOD_xxx` constants over alternative ways of specifying modifiers when defining your layer-mod key. +For a similar reason, the `layer` argument of `LM()` is also limited to layers 0-15 and the `mod` argument must fit within 5 bits. As a consequence, although left and right modifiers are supported by `LM()`, it is impossible to mix and match left and right modifiers. Specifying at least one right-hand modifier in a combination such as `MOD_RALT|MOD_LSFT` will convert *all* the listed modifiers to their right-hand counterpart. So, using the aforementioned mod-mask will actually send Right Alt+Right Shift. Make sure to use the `MOD_xxx` constants over alternative ways of specifying modifiers when defining your layer-mod key. | `LM(1,KC_LSFT)` | `LM(1,MOD_MASK_SHIFT)` | `LM(1,MOD_BIT(KC_LSFT))` | `LM(1,MOD_LSFT)` | |:---------------:|:----------------------:|:------------------------:|:----------------:| @@ -61,27 +61,27 @@ Sometimes, you might want to switch between layers in a macro or as part of a ta There are a number of functions (and variables) related to how you can use or manipulate the layers. -|Function |Description | -|----------------------------------------------|---------------------------------------------------------------------------------------------------------| -| `layer_state_set(layer_mask)` | Directly sets the layer state (avoid unless you know what you are doing). | -| `layer_clear()` | Clears all layers (turns them all off). | -| `layer_move(layer)` | Turns specified layer on, and all other layers off. | -| `layer_on(layer)` | Turns specified layer on, leaves all other layers in existing state. | -| `layer_off(layer)` | Turns specified layer off, leaves all other layers in existing state. | -| `layer_invert(layer)` | Inverts/toggles the state of the specified layer | -| `layer_or(layer_mask)` | Turns on layers based on matching bits between specifed layer and existing layer state. | -| `layer_and(layer_mask)` | Turns on layers based on matching enabled bits between specifed layer and existing layer state. | -| `layer_xor(layer_mask)` | Turns on layers based on non-matching bits between specifed layer and existing layer state. | -| `layer_debug(layer_mask)` | Prints out the current bit mask and highest active layer to debugger console. | -| `default_layer_set(layer_mask)` | Directly sets the default layer state (avoid unless you know what you are doing). | -| `default_layer_or(layer_mask)` | Turns on layers based on matching bits between specifed layer and existing default layer state. | -| `default_layer_and(layer_mask)` | Turns on layers based on matching enabled bits between specifed layer and existing default layer state. | -| `default_layer_xor(layer_mask)` | Turns on layers based on non-matching bits between specifed layer and existing default layer state. | -| `default_layer_debug(layer_mask)` | Prints out the current bit mask and highest active default layer to debugger console. | -| [`set_single_default_layer(layer)`](ref_functions.md#setting-the-persistent-default-layer) | Sets the default layer, but does _not_ write it to persistent memory (EEPROM). | -| [`set_single_persistent_default_layer(layer)`](ref_functions.md#setting-the-persistent-default-layer) | Sets the default layer and writes it to persistent memory (EEPROM). | -| [`update_tri_layer(x, y, z)`](ref_functions.md#update_tri_layerx-y-z) | Checks if layers `x` and `y` are both on, and sets `z` based on that (on if both on, otherwise off). | -| [`update_tri_layer_state(state, x, y, z)`](ref_functions.md#update_tri_layer_statestate-x-y-z) | Does the same as `update_tri_layer(x, y, z)`, but from `layer_state_set_*` functions. | +|Function |Description | +|---------------------------------------------|--------------------------------------------------------------------------------------------------------| +|`layer_state_set(layer_mask)` |Directly sets the layer state (avoid unless you know what you are doing). | +|`layer_clear()` |Clears all layers (turns them all off). | +|`layer_move(layer)` |Turns specified layer on, and all other layers off. | +|`layer_on(layer)` |Turns specified layer on, leaves all other layers in existing state. | +|`layer_off(layer)` |Turns specified layer off, leaves all other layers in existing state. | +|`layer_invert(layer)` |Inverts/toggles the state of the specified layer | +|`layer_or(layer_mask)` |Turns on layers based on matching bits between specified layer and existing layer state. | +|`layer_and(layer_mask)` |Turns on layers based on matching enabled bits between specified layer and existing layer state. | +|`layer_xor(layer_mask)` |Turns on layers based on non-matching bits between specified layer and existing layer state. | +|`layer_debug(layer_mask)` |Prints out the current bit mask and highest active layer to debugger console. | +|`default_layer_set(layer_mask)` |Directly sets the default layer state (avoid unless you know what you are doing). | +|`default_layer_or(layer_mask)` |Turns on layers based on matching bits between specified layer and existing default layer state. | +|`default_layer_and(layer_mask)` |Turns on layers based on matching enabled bits between specified layer and existing default layer state.| +|`default_layer_xor(layer_mask)` |Turns on layers based on non-matching bits between specified layer and existing default layer state. | +|`default_layer_debug(layer_mask)` |Prints out the current bit mask and highest active default layer to debugger console. | +|[`set_single_default_layer(layer)`](ref_functions.md#setting-the-persistent-default-layer) |Sets the default layer, but does _not_ write it to persistent memory (EEPROM). | +|[`set_single_persistent_default_layer(layer)`](ref_functions.md#setting-the-persistent-default-layer)|Sets the default layer and writes it to persistent memory (EEPROM). | +|[`update_tri_layer(x, y, z)`](ref_functions.md#update_tri_layerx-y-z) |Checks if layers `x` and `y` are both on, and sets `z` based on that (on if both on, otherwise off).| +|[`update_tri_layer_state(state, x, y, z)`](ref_functions.md#update_tri_layer_statestate-x-y-z) |Does the same as `update_tri_layer(x, y, z)`, but from `layer_state_set_*` functions. | In addition to the functions that you can call, there are a number of callback functions that get called every time the layer changes. This passes the layer state to the function, where it can be read or modified. @@ -154,7 +154,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { switch (keycode) { case KC_CYCLE_LAYERS: // Our logic will happen on presses, nothing is done on releases - if (!record->event.pressed) { + if (!record->event.pressed) { // We've already handled the keycode (doing nothing), let QMK know so no further code is run unnecessarily return false; } diff --git a/docs/feature_userspace.md b/docs/feature_userspace.md index 0f5c4a5f96..2c8c08b38e 100644 --- a/docs/feature_userspace.md +++ b/docs/feature_userspace.md @@ -24,10 +24,10 @@ For example, make planck:jack -Will include the `/users/jack/` folder in the path, along with `/users/jack/rules.mk`. +Will include the `/users/jack/` folder in the path, along with `/users/jack/rules.mk`. ::: warning -This `name` can be [overridden](#override-default-userspace), if needed. +This `name` can be [overridden](#override-default-userspace), if needed. ::: ## `Rules.mk` @@ -38,9 +38,9 @@ It's highly recommended that you use `.c` as the default source file to be SRC += .c -Additional files may be added in the same way - it's recommended you have one named ``.c/.h to start off with, though. +Additional files may be added in the same way - it's recommended you have one named ``.c/.h to start off with, though. -The `/users//rules.mk` file will be included in the build _after_ the `rules.mk` from your keymap. This allows you to have features in your userspace `rules.mk` that depend on individual QMK features that may or may not be available on a specific keyboard. +The `/users//rules.mk` file will be included in the build _after_ the `rules.mk` from your keymap. This allows you to have features in your userspace `rules.mk` that depend on individual QMK features that may or may not be available on a specific keyboard. For example, if you have RGB control features shared between all your keyboards that support RGB lighting, you can add support for that if the RGBLIGHT feature is enabled: ```make @@ -82,7 +82,7 @@ You should use the `config.h` for [configuration options](config_options), and t Please include authorship (your name, GitHub username, email), and optionally [a license that's GPL compatible](https://www.gnu.org/licenses/license-list.html#GPLCompatibleLicenses). -You can use this as a template: +You can use this as a template: ``` Copyright @ @@ -100,9 +100,9 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . ``` -You'd want to replace the year, name, email and GitHub username with your info. +You'd want to replace the year, name, email and GitHub username with your info. -Additionally, this is a good place to document your code, if you wish to share it with others. +Additionally, this is a good place to document your code, if you wish to share it with others. ## Build All Keyboards That Support a Specific Keymap @@ -118,20 +118,21 @@ This is ideal for when you want ensure everything compiles successfully when pre ## Examples -For a brief example, checkout [`/users/_example/`](https://github.com/qmk/qmk_firmware/tree/master/users/_example). -For more complicated examples, checkout the [`awesome-qmk` colletion](https://github.com/qmk/awesome-qmk). +For a brief example, checkout [`/users/_example/`](https://github.com/qmk/qmk_firmware/tree/master/users/_example). + +For more complicated examples, checkout the [`awesome-qmk` collection](https://github.com/qmk/awesome-qmk). ### Customized Functions -QMK has a bunch of [functions](custom_quantum_functions) that have [`_quantum`, `_kb`, and `_user` versions](custom_quantum_functions#a-word-on-core-vs-keyboards-vs-keymap) that you can use. You will pretty much always want to use the user version of these functions. But the problem is that if you use them in your userspace, then you don't have a version that you can use in your keymap. +QMK has a bunch of [functions](custom_quantum_functions) that have [`_quantum`, `_kb`, and `_user` versions](custom_quantum_functions#a-word-on-core-vs-keyboards-vs-keymap) that you can use. You will pretty much always want to use the user version of these functions. But the problem is that if you use them in your userspace, then you don't have a version that you can use in your keymap. -However, you can actually add support for keymap version, so that you can use it in both your userspace and your keymap! +However, you can actually add support for keymap version, so that you can use it in both your userspace and your keymap! -For instance, let's look at the `layer_state_set_user()` function. You can enable the [Tri Layer State](ref_functions#olkb-tri-layers) functionality on all of your boards, while also retaining the Tri Layer functionality in your `keymap.c` files. +For instance, let's look at the `layer_state_set_user()` function. You can enable the [Tri Layer State](ref_functions#olkb-tri-layers) functionality on all of your boards, while also retaining the Tri Layer functionality in your `keymap.c` files. -In your `` file, you'd want to add this: +In your `` file, you'd want to add this: ```c __attribute__ ((weak)) layer_state_t layer_state_set_keymap (layer_state_t state) { @@ -143,7 +144,7 @@ layer_state_t layer_state_set_user (layer_state_t state) { return layer_state_set_keymap (state); } ``` -The `__attribute__ ((weak))` part tells the compiler that this is a placeholder function that can then be replaced by a version in your `keymap.c`. That way, you don't need to add it to your `keymap.c`, but if you do, you won't get any conflicts because the function is the same name. +The `__attribute__ ((weak))` part tells the compiler that this is a placeholder function that can then be replaced by a version in your `keymap.c`. That way, you don't need to add it to your `keymap.c`, but if you do, you won't get any conflicts because the function is the same name. The `_keymap` part here doesn't matter, it just needs to be something other than `_quantum`, `_kb`, or `_user`, since those are already in use. So you could use `layer_state_set_mine`, `layer_state_set_fn`, or anything else. @@ -151,7 +152,7 @@ You can see a list of this and other common functions in [`template.c`](https:// ### Custom Features -Since the Userspace feature can support a staggering number of boards, you may have boards that you want to enable certain functionality for, but not for others. And you can actually create "features" that you can enable or disable in your own userspace. +Since the Userspace feature can support a staggering number of boards, you may have boards that you want to enable certain functionality for, but not for others. And you can actually create "features" that you can enable or disable in your own userspace. For instance, if you wanted to have a bunch of macros available, but only on certain boards (to save space), you could "hide" them being a `#ifdef MACROS_ENABLED`, and then enable it per board. To do this, add this to your rules.mk ```make @@ -159,11 +160,11 @@ ifeq ($(strip $(MACROS_ENABLED)), yes) OPT_DEFS += -DMACROS_ENABLED endif ``` -The `OPT_DEFS` setting causes `MACROS_ENABLED` to be defined for your keyboards (note the `-D` in front of the name), and you could use `#ifdef MACROS_ENABLED` to check the status in your c/h files, and handle that code based on that. +The `OPT_DEFS` setting causes `MACROS_ENABLED` to be defined for your keyboards (note the `-D` in front of the name), and you could use `#ifdef MACROS_ENABLED` to check the status in your c/h files, and handle that code based on that. Then you add `MACROS_ENABLED = yes` to the `rules.mk` for you keymap to enable this feature and the code in your userspace. -And in your `process_record_user` function, you'd do something like this: +And in your `process_record_user` function, you'd do something like this: ```c bool process_record_user(uint16_t keycode, keyrecord_t *record) { switch (keycode) { @@ -187,9 +188,9 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { ### Consolidated Macros -If you wanted to consolidate macros and other functions into your userspace for all of your keymaps, you can do that. This builds upon the [Customized Functions](#customized-functions) example above. This lets you maintain a bunch of macros that are shared between the different keyboards, and allow for keyboard specific macros, too. +If you wanted to consolidate macros and other functions into your userspace for all of your keymaps, you can do that. This builds upon the [Customized Functions](#customized-functions) example above. This lets you maintain a bunch of macros that are shared between the different keyboards, and allow for keyboard specific macros, too. -First, you'd want to go through all of your `keymap.c` files and replace `process_record_user` with `process_record_keymap` instead. This way, you can still use keyboard specific codes on those boards, and use your custom "global" keycodes as well. You'll also want to replace `SAFE_RANGE` with `NEW_SAFE_RANGE` so that you wont have any overlapping keycodes +First, you'd want to go through all of your `keymap.c` files and replace `process_record_user` with `process_record_keymap` instead. This way, you can still use keyboard specific codes on those boards, and use your custom "global" keycodes as well. You'll also want to replace `SAFE_RANGE` with `NEW_SAFE_RANGE` so that you won't have any overlapping keycodes Then add `#include ".h"` to all of your keymap.c files. This allows you to use these new keycodes without having to redefine them in each keymap. @@ -245,7 +246,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } ``` -For boards that may not have a shift button (such as on a macro pad), we need a way to always include the bootloader option. To do that, add the following to the `rules.mk` in your userspace folder: +For boards that may not have a shift button (such as on a macro pad), we need a way to always include the bootloader option. To do that, add the following to the `rules.mk` in your userspace folder: ```make ifeq ($(strip $(FLASH_BOOTLOADER)), yes) @@ -255,7 +256,7 @@ endif This will add a new `KC_MAKE` keycode that can be used in any of your keymaps. And this keycode will output `make :`, making frequent compiling easier. And this will work with any keyboard and any keymap as it will output the current boards info, so that you don't have to type this out every time. -Also, holding Shift will add the flash target (`:flash`) to the command. Holding Control will add some commands that will speed up compiling time by processing multiple files at once. +Also, holding Shift will add the flash target (`:flash`) to the command. Holding Control will add some commands that will speed up compiling time by processing multiple files at once. And for the boards that lack a shift key, or that you want to always attempt the flashing part, you can add `FLASH_BOOTLOADER = yes` to the `rules.mk` of that keymap. diff --git a/docs/features/audio.md b/docs/features/audio.md index 2f5e5b2d98..a5f770d811 100644 --- a/docs/features/audio.md +++ b/docs/features/audio.md @@ -73,16 +73,13 @@ Should you rather choose to generate and use your own sample-table with the DAC ### PWM (software) -if the DAC pins are unavailable (or the MCU has no usable DAC at all, like STM32F1xx); PWM can be an alternative. +If the DAC pins are unavailable (or the MCU has no usable DAC at all, like STM32F1xx); PWM can be an alternative. Note that there is currently only one speaker/pin supported. -set in `rules.mk`: - -`AUDIO_DRIVER = pwm_software` and in `config.h`: -`#define AUDIO_PIN C13` (can be any pin) to have the selected pin output a pwm signal, generated from a timer callback which toggles the pin in software. +To use this feature, set `AUDIO_DRIVER = pwm_software` in `rules.mk` and set `#define AUDIO_PIN C13` (can be any pin) in `config.h` to have the selected pin output a pwm signal, generated from a timer callback which toggles the pin in software. #### Wiring -the usual piezo wiring: red goes to the selected AUDIO_PIN, black goes to ground. +The usual piezo wiring: red goes to the selected AUDIO_PIN, black goes to ground. OR if you can chose to drive one piezo with two pins, for example `#define AUDIO_PIN B1`, `#define AUDIO_PIN_ALT B2` in `config.h`, with `#define AUDIO_PIN_ALT_AS_NEGATIVE` - then the red lead could go to B1, the black to B2. @@ -159,7 +156,7 @@ PLAY_LOOP(my_song); It's advised that you wrap all audio features in `#ifdef AUDIO_ENABLE` / `#endif` to avoid causing problems when audio isn't built into the keyboard. -The available keycodes for audio are: +The available keycodes for audio are: |Key |Aliases |Description | |-------------------------|---------|-------------------------------------------| @@ -178,8 +175,8 @@ These keycodes turn all of the audio functionality on and off. Turning it off m |`AUDIO_PIN` | *Not defined* |Configures the pin that the speaker is connected to. | |`AUDIO_PIN_ALT` | *Not defined* |Configures the pin for a second speaker or second pin connected to one speaker. | |`AUDIO_PIN_ALT_AS_NEGATIVE` | *Not defined* |Enables support for one speaker connected to two pins. | -|`AUDIO_INIT_DELAY` | *Not defined* |Enables delay during startup song to accomidate for USB startup issues. | -|`AUDIO_ENABLE_TONE_MULTIPLEXING` | *Not defined* |Enables time splicing/multiplexing to create multiple tones simutaneously. | +|`AUDIO_INIT_DELAY` | *Not defined* |Enables delay during startup song to accommodate for USB startup issues. | +|`AUDIO_ENABLE_TONE_MULTIPLEXING` | *Not defined* |Enables time splicing/multiplexing to create multiple tones simultaneously. | |`AUDIO_POWER_CONTROL_PIN` | *Not defined* |Enables power control code to enable or cut off power to speaker (such as with PAM8302 amp). | |`AUDIO_POWER_CONTROL_PIN_ON_STATE`| `1` |The state of the audio power control pin when audio is "on" - `1` for high, `0` for low. | |`STARTUP_SONG` | `STARTUP_SOUND` |Plays when the keyboard starts up (audio.c) | @@ -301,9 +298,9 @@ Things that return false are not part of the mask, and are always processed. ### Music Map -By default, the Music Mode uses the columns and row to determine the scale for the keys. For a board that uses a rectangular matrix that matches the keyboard layout, this is just fine. However, for boards that use a more complicated matrix (such as the Planck Rev6, or many split keyboards) this would result in a very skewed experience. +By default, the Music Mode uses the columns and row to determine the scale for the keys. For a board that uses a rectangular matrix that matches the keyboard layout, this is just fine. However, for boards that use a more complicated matrix (such as the Planck Rev6, or many split keyboards) this would result in a very skewed experience. -However, the Music Map option allows you to remap the scaling for the music mode, so it fits the layout, and is more natural. +However, the Music Map option allows you to remap the scaling for the music mode, so it fits the layout, and is more natural. To enable this feature, add `#define MUSIC_MAP` to your `config.h` file, and then you will want to add a `uint8_t music_map` to your keyboard's `c` file, or your `keymap.c`. @@ -316,13 +313,13 @@ const uint8_t music_map[MATRIX_ROWS][MATRIX_COLS] = LAYOUT_ortho_4x12( ); ``` -You will want to use whichever `LAYOUT` macro that your keyboard uses here. This maps it to the correct key location. Start in the bottom left of the keyboard layout, and move to the right, and then upwards. Fill in all the entries until you have a complete matrix. +You will want to use whichever `LAYOUT` macro that your keyboard uses here. This maps it to the correct key location. Start in the bottom left of the keyboard layout, and move to the right, and then upwards. Fill in all the entries until you have a complete matrix. -You can look at the [Planck Keyboard](https://github.com/qmk/qmk_firmware/blob/e9ace1487887c1f8b4a7e8e6d87c322988bec9ce/keyboards/planck/planck.c#L24-L29) as an example of how to implement this. +You can look at the [Planck Keyboard](https://github.com/qmk/qmk_firmware/blob/e9ace1487887c1f8b4a7e8e6d87c322988bec9ce/keyboards/planck/planck.c#L24-L29) as an example of how to implement this. ## Audio Click -This adds a click sound each time you hit a button, to simulate click sounds from the keyboard. And the sounds are slightly different for each keypress, so it doesn't sound like a single long note, if you type rapidly. +This adds a click sound each time you hit a button, to simulate click sounds from the keyboard. And the sounds are slightly different for each keypress, so it doesn't sound like a single long note, if you type rapidly. Keycodes available: @@ -341,7 +338,7 @@ The feature is disabled by default, to save space. To enable it, add this to yo #define AUDIO_CLICKY ``` -You can configure the default, min and max frequencies, the stepping and built in randomness by defining these values: +You can configure the default, min and max frequencies, the stepping and built in randomness by defining these values: | Option | Default Value | Description | |--------|---------------|-------------| @@ -349,7 +346,7 @@ You can configure the default, min and max frequencies, the stepping and built i | `AUDIO_CLICKY_FREQ_MIN` | 65.0f | Sets the lowest frequency (under 60f are a bit buggy). | | `AUDIO_CLICKY_FREQ_MAX` | 1500.0f | Sets the highest frequency. Too high may result in coworkers attacking you. | | `AUDIO_CLICKY_FREQ_FACTOR` | 1.18921f| Sets the stepping of UP/DOWN key codes. This is a multiplicative factor. The default steps the frequency up/down by a musical minor third. | -| `AUDIO_CLICKY_FREQ_RANDOMNESS` | 0.05f | Sets a factor of randomness for the clicks, Setting this to `0f` will make each click identical, and `1.0f` will make this sound much like the 90's computer screen scrolling/typing effect. | +| `AUDIO_CLICKY_FREQ_RANDOMNESS` | 0.05f | Sets a factor of randomness for the clicks, Setting this to `0f` will make each click identical, and `1.0f` will make this sound much like the 90's computer screen scrolling/typing effect. | | `AUDIO_CLICKY_DELAY_DURATION` | 1 | An integer note duration where 1 is 1/16th of the tempo, or a sixty-fourth note (see `quantum/audio/musical_notes.h` for implementation details). The main clicky effect will be delayed by this duration. Adjusting this to values around 6-12 will help compensate for loud switches. | ## MIDI Functionality diff --git a/docs/features/autocorrect.md b/docs/features/autocorrect.md index df3f2e0fd8..57024f2cd2 100644 --- a/docs/features/autocorrect.md +++ b/docs/features/autocorrect.md @@ -8,7 +8,7 @@ The feature maintains a small buffer of recent key presses. On each key press, i The tricky part is how to efficiently check the buffer for typos. We don’t want to spend too much memory or time on storing or searching the typos. A good solution is to represent the typos with a trie data structure. A trie is a tree data structure where each node is a letter, and words are formed by following a path to one of the leaves. -![An example trie](https://i.imgur.com/HL5DP8H.png) +![An example trie](/HL5DP8H.png) Since we search whether the buffer ends in a typo, we store the trie writing in reverse. The trie is queried starting from the last letter, then second to last letter, and so on, until either a letter doesn’t match or we reach a leaf, meaning a typo was found. @@ -279,7 +279,7 @@ All autocorrection data is stored in a single flat array autocorrect_data. Each * 01 ⇒ branching node: a trie node with multiple children. * 10 ⇒ leaf node: a leaf, corresponding to a typo and storing its correction. -![An example trie](https://i.imgur.com/HL5DP8H.png) +![An example trie](/HL5DP8H.png) **Branching node**. Each branch is encoded with one byte for the keycode (KC_A–KC_Z) followed by a link to the child node. Links between nodes are 16-bit byte offsets relative to the beginning of the array, serialized in little endian order. diff --git a/docs/features/backlight.md b/docs/features/backlight.md index 20f84ac6b5..87d5a36c00 100644 --- a/docs/features/backlight.md +++ b/docs/features/backlight.md @@ -227,7 +227,7 @@ In this typical example, the backlight LEDs are all connected in parallel toward 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) +![Backlight example circuit](/BmAvoUC.png) ## API {#api} diff --git a/docs/features/battery.md b/docs/features/battery.md new file mode 100644 index 0000000000..f5c725efb9 --- /dev/null +++ b/docs/features/battery.md @@ -0,0 +1,55 @@ +# Battery + +This feature provides the high level abstraction for sampling battery level. + +## Usage + +To use this driver, add the following to your `rules.mk`: + +```make +BATTERY_ENABLE = yes +``` + +## Basic Configuration {#basic-configuration} + +Add the following to your `config.h`: + +|Define |Default |Description | +|--------------------------|--------|--------------------------------------------------| +|`BATTERY_SAMPLE_INTERVAL` |`30000` |The time between battery samples in milliseconds. | + +## Driver Configuration {#driver-configuration} + +See the [Battery Driver](../drivers/battery) documentation for more information. + +## Functions + +### `uint8_t battery_get_percent(void)` {#api-battery-get-percent} + +Sample battery level. + +#### Return Value {#api-battery-get-percent-return} + +The battery percentage, in the range 0-100. + +## Callbacks + +### `void battery_percent_changed_user(uint8_t level)` {#api-battery-percent-changed-user} + +User hook called when battery level changed. + +### Arguments {#api-battery-percent-changed-user-arguments} + + - `uint8_t level` + The battery percentage, in the range 0-100. + +--- + +### `void battery_percent_changed_kb(uint8_t level)` {#api-battery-percent-changed-kb} + +Keyboard hook called when battery level changed. + +### Arguments {#api-battery-percent-changed-kb-arguments} + + - `uint8_t level` + The battery percentage, in the range 0-100. diff --git a/docs/features/bootmagic.md b/docs/features/bootmagic.md index 49fae5ba45..15c2bec293 100644 --- a/docs/features/bootmagic.md +++ b/docs/features/bootmagic.md @@ -46,7 +46,7 @@ When [handedness](split_keyboard#setting-handedness) is predetermined via option } ``` -If you pick the top right key for the right half, it is `R05` on the top layout. Within the key matrix below, `R05` is located on row 4 columnn 4. To use that key as the right half's Bootmagic trigger, add these entries to your `config.h` file: +If you pick the top right key for the right half, it is `R05` on the top layout. Within the key matrix below, `R05` is located on row 4 column 4. To use that key as the right half's Bootmagic trigger, add these entries to your `config.h` file: ```c #define BOOTMAGIC_ROW_RIGHT 4 diff --git a/docs/features/encoders.md b/docs/features/encoders.md index a674eaa4a6..59f949be65 100644 --- a/docs/features/encoders.md +++ b/docs/features/encoders.md @@ -68,7 +68,7 @@ Additionally, if one side does not have an encoder, you can specify `{}` for the ``` ::: warning -Keep in mind that whenver you change the encoder resolution, you will need to reflash the half that has the encoder affected by the change. +Keep in mind that whenever you change the encoder resolution, you will need to reflash the half that has the encoder affected by the change. ::: ## Encoder map {#encoder-map} diff --git a/docs/features/haptic_feedback.md b/docs/features/haptic_feedback.md index 52667965a0..08e66ea8e1 100644 --- a/docs/features/haptic_feedback.md +++ b/docs/features/haptic_feedback.md @@ -44,14 +44,14 @@ Not all keycodes below will work depending on which haptic mechanism you have ch |`QK_HAPTIC_MODE_NEXT` |`HF_NEXT`| Go to next DRV2605L waveform | |`QK_HAPTIC_MODE_PREVIOUS` |`HF_PREV`| Go to previous DRV2605L waveform | |`QK_HAPTIC_CONTINUOUS_TOGGLE`|`HF_CONT`| Toggle continuous haptic mode on/off | -|`QK_HAPTIC_CONTINUOUS_UP` |`HF_CONU`| Increase DRV2605L continous haptic strength | -|`QK_HAPTIC_CONTINUOUS_DOWN` |`HF_COND`| Decrease DRV2605L continous haptic strength | +|`QK_HAPTIC_CONTINUOUS_UP` |`HF_CONU`| Increase DRV2605L continuous haptic strength | +|`QK_HAPTIC_CONTINUOUS_DOWN` |`HF_COND`| Decrease DRV2605L continuous haptic strength | |`QK_HAPTIC_DWELL_UP` |`HF_DWLU`| Increase Solenoid dwell time | |`QK_HAPTIC_DWELL_DOWN` |`HF_DWLD`| Decrease Solenoid dwell time | ### Solenoids -The solenoid code supports relay switches, and similar hardware, as well as solenoids. +The solenoid code supports relay switches, and similar hardware, as well as solenoids. For a regular solenoid, you will need a build a circuit to drive the solenoid through a mosfet as most MCU will not be able to provide the current needed to drive the coil in the solenoid. @@ -75,7 +75,7 @@ For relay switches, the hardware may already contain all of that ciruitry, and j |`SOLENOID_BUZZ_NONACTUATED` | `SOLENOID_MIN_DWELL` |Non-Actuated-time when the switch is in buzz mode. | * If solenoid buzz is off, then dwell time is how long the "plunger" stays activated. The dwell time changes how the solenoid sounds. -* If solenoid buzz is on, then dwell time sets the length of the buzz, while `SOLENOID_BUZZ_ACTUATED` and `SOLENOID_BUZZ_NONACTUATED` set the (non-)actuation times withing the buzz period. +* If solenoid buzz is on, then dwell time sets the length of the buzz, while `SOLENOID_BUZZ_ACTUATED` and `SOLENOID_BUZZ_NONACTUATED` set the (non-)actuation times within the buzz period. * With the current implementation, for any of the above time settings, the precision of these settings may be affected by how fast the keyboard is able to scan the matrix. Therefore, if the keyboards scanning routine is slow, it may be preferable to set `SOLENOID_DWELL_STEP_SIZE` to a value slightly smaller than the time it takes to scan the keyboard. @@ -104,7 +104,7 @@ Eccentric Rotating Mass vibration motors (ERM) is motor with a off-set weight at ``` ##### 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. +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 recommended range for this frequency. ```c #define DRV2605L_FB_ERM_LRA 1 @@ -114,7 +114,7 @@ Linear resonant actuators (LRA, also know as a linear vibrator) works different /* Please refer to your datasheet for the optimal setting for your specific motor. */ #define DRV2605L_RATED_VOLTAGE 2 #define DRV2605L_V_PEAK 2.8 -#define DRV2605L_V_RMS 2.0 +#define DRV2605L_V_RMS 2.0 #define DRV2605L_V_PEAK 2.1 #define DRV2605L_F_LRA 205 /* resonance freq */ ``` @@ -125,7 +125,7 @@ DRV2605L comes with preloaded library of various waveform sequences that can be List of waveform sequences from the datasheet: -|seq# | Sequence name |seq# | Sequence name |seq# |Sequence name | +|seq# | Sequence name |seq# | Sequence name |seq# |Sequence name | |-----|---------------------|-----|-----------------------------------|-----|--------------------------------------| | 1 | strong_click | 43 | lg_dblclick_med_60 | 85 | transition_rampup_med_smooth2 | | 2 | strong_click_60 | 44 | lg_dblsharp_tick | 86 | transition_rampup_short_smooth1 | diff --git a/docs/features/layer_lock.md b/docs/features/layer_lock.md index aaf323accc..27856ada26 100644 --- a/docs/features/layer_lock.md +++ b/docs/features/layer_lock.md @@ -35,12 +35,12 @@ layer. Consider a keymap with the following base layer. -![Base layer with a MO(NAV) key.](https://i.imgur.com/DkEhj9x.png) +![Base layer with a MO(NAV) key.](/DkEhj9x.png) The highlighted key is a momentary layer switch `MO(NAV)`. Holding it accesses a navigation layer. -![Nav layer with a Layer Lock key.](https://i.imgur.com/2wUZNWk.png) +![Nav layer with a Layer Lock key.](/2wUZNWk.png) Holding the NAV key is fine for brief use, but awkward to continue holding when diff --git a/docs/features/led_matrix.md b/docs/features/led_matrix.md index 113b13f03b..28d24bc400 100644 --- a/docs/features/led_matrix.md +++ b/docs/features/led_matrix.md @@ -214,9 +214,30 @@ led_matrix_mode(LED_MATRIX_CUSTOM_my_cool_effect); For inspiration and examples, check out the built-in effects under `quantum/led_matrix/animations/`. +## Naming + +If you wish to be able to use the name of an effect in your code -- say for a display indicator -- then you can enable the function `led_matrix_get_mode_name` in the following manner: + +In your keymap's `config.h`: +```c +#define LED_MATRIX_MODE_NAME_ENABLE +``` + +In your `keymap.c` +```c +const char* effect_name = led_matrix_get_mode_name(led_matrix_get_mode()); +// do something with `effect_name`, like `oled_write_ln(effect_name, false);` +``` + +::: info +`led_matrix_get_mode_name()` is not enabled by default as it increases the amount of flash memory used by the firmware based on the number of effects enabled. +::: + + ## Additional `config.h` Options {#additional-configh-options} ```c +#define LED_MATRIX_MODE_NAME_ENABLE // enables led_matrix_get_mode_name() #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_MATRIX_SLEEP // turn off effects when suspended diff --git a/docs/features/pointing_device.md b/docs/features/pointing_device.md index a139df9dc4..d6dcddcdf0 100644 --- a/docs/features/pointing_device.md +++ b/docs/features/pointing_device.md @@ -51,7 +51,7 @@ The ADNS 9800 is an SPI driven optical sensor, that uses laser output for surfac | `ADNS9800_CS_PIN` | (Required) Sets the Chip Select pin connected to the sensor. | `POINTING_DEVICE_CS_PIN` | -The CPI range is 800-8200, in increments of 200. Defaults to 1800 CPI. +The CPI range is 800-8200, in increments of 200. Defaults to 1800 CPI. ### Analog Joystick @@ -258,7 +258,7 @@ To use the paw 3204 sensor, add this to your `rules.mk` POINTING_DEVICE_DRIVER = paw3204 ``` -The paw 3204 sensor uses a serial type protocol for communication, and requires an additional light source. +The paw 3204 sensor uses a serial type protocol for communication, and requires an additional light source. | Setting (`config.h`) | Description | Default | | -------------------- |--------------------------------------------------------------- | -------------------------- | @@ -275,7 +275,7 @@ To use the Pimoroni Trackball module, add this to your `rules.mk`: POINTING_DEVICE_DRIVER = pimoroni_trackball ``` -The Pimoroni Trackball module is a I2C based breakout board with an RGB enable trackball. +The Pimoroni Trackball module is a I2C based breakout board with an RGB enable trackball. | Setting (`config.h`) | Description | Default | | ------------------------------------ | ---------------------------------------------------------------------------------- | ------- | @@ -379,14 +379,14 @@ POINTING_DEVICE_DRIVER = custom Using the custom driver will require implementing the following functions: ```c -void pointing_device_driver_init(void) {} +bool pointing_device_driver_init(void) { return true; } report_mouse_t pointing_device_driver_get_report(report_mouse_t mouse_report) { return mouse_report; } uint16_t pointing_device_driver_get_cpi(void) { return 0; } void pointing_device_driver_set_cpi(uint16_t cpi) {} ``` ::: warning -Ideally, new sensor hardware should be added to `drivers/sensors/` and `quantum/pointing_device_drivers.c`, but there may be cases where it's very specific to the hardware. So these functions are provided, just in case. +Ideally, new sensor hardware should be added to `drivers/sensors/` and `quantum/pointing_device_drivers.c`, but there may be cases where it's very specific to the hardware. So these functions are provided, just in case. ::: ## Common Configuration @@ -413,7 +413,7 @@ Ideally, new sensor hardware should be added to `drivers/sensors/` and `quantum/ When using `SPLIT_POINTING_ENABLE` the `POINTING_DEVICE_MOTION_PIN` functionality is not supported and `POINTING_DEVICE_TASK_THROTTLE_MS` will default to `1`. Increasing this value will increase transport performance at the cost of possible mouse responsiveness. ::: -The `POINTING_DEVICE_CS_PIN`, `POINTING_DEVICE_SDIO_PIN`, and `POINTING_DEVICE_SCLK_PIN` provide a convenient way to define a single pin that can be used for an interchangeable sensor config. This allows you to have a single config, without defining each device. Each sensor allows for this to be overridden with their own defines. +The `POINTING_DEVICE_CS_PIN`, `POINTING_DEVICE_SDIO_PIN`, and `POINTING_DEVICE_SCLK_PIN` provide a convenient way to define a single pin that can be used for an interchangeable sensor config. This allows you to have a single config, without defining each device. Each sensor allows for this to be overridden with their own defines. ::: warning Any pointing device with a lift/contact status can integrate inertial cursor feature into its driver, controlled by `POINTING_DEVICE_GESTURES_CURSOR_GLIDE_ENABLE`. e.g. PMW3360 can use Lift_Stat from Motion register. Note that `POINTING_DEVICE_MOTION_PIN` cannot be used with this feature; continuous polling of `get_report()` is needed to generate glide reports. @@ -424,7 +424,7 @@ Any pointing device with a lift/contact status can integrate inertial cursor fea | Setting | Description | Default | | ---------------------------------------- | ------------------------------------------------------------------------------------------------------------------------- | ------------- | | `POINTING_DEVICE_HIRES_SCROLL_ENABLE` | (Optional) Enables high resolution scrolling. | _not defined_ | -| `POINTING_DEVICE_HIRES_SCROLL_MULTIPLIER`| (Optional) Resolution mutiplier value used by high resolution scrolling. Must be between 1 and 127, inclusive. | `120` | +| `POINTING_DEVICE_HIRES_SCROLL_MULTIPLIER`| (Optional) Resolution multiplier value used by high resolution scrolling. Must be between 1 and 127, inclusive. | `120` | | `POINTING_DEVICE_HIRES_SCROLL_EXPONENT` | (Optional) Resolution exponent value used by high resolution scrolling. Must be between 0 and 127, inclusive. | `0` | The `POINTING_DEVICE_HIRES_SCROLL_ENABLE` setting enables smooth and continuous scrolling when using trackballs or high-end encoders as mouse wheels (as opposed to the typical stepped behavior of most mouse wheels). @@ -435,7 +435,7 @@ If even smoother scrolling than provided by this default value is desired, first The function `pointing_device_get_hires_scroll_resolution()` can be called to get the pre-computed resolution multiplier value as a `uint16_t`. ::: warning -High resolution scrolling usually results in larger and/or more frequent mouse reports. This can result in overflow errors and overloading of the host computer's input buffer. +High resolution scrolling usually results in larger and/or more frequent mouse reports. This can result in overflow errors and overloading of the host computer's input buffer. To deal with these issues, define `WHEEL_EXTENDED_REPORT` and throttle the rate at which mouse reports are sent. ::: @@ -465,22 +465,24 @@ If there is a `_RIGHT` configuration option or callback, the [common configurati ::: -## Callbacks and Functions +## Callbacks and Functions -| Function | Description | -| ---------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | -| `pointing_device_init_kb(void)` | Callback to allow for keyboard level initialization. Useful for additional hardware sensors. | -| `pointing_device_init_user(void)` | Callback to allow for user level initialization. Useful for additional hardware sensors. | -| `pointing_device_task_kb(mouse_report)` | Callback that sends sensor data, so keyboard code can intercept and modify the data. Returns a mouse report. | -| `pointing_device_task_user(mouse_report)` | Callback that sends sensor data, so user code can intercept and modify the data. Returns a mouse report. | -| `pointing_device_handle_buttons(buttons, pressed, button)` | Callback to handle hardware button presses. Returns a `uint8_t`. | -| `pointing_device_get_cpi(void)` | Gets the current CPI/DPI setting from the sensor, if supported. | -| `pointing_device_set_cpi(uint16_t)` | Sets the CPI/DPI, if supported. | -| `pointing_device_get_report(void)` | Returns the current mouse report (as a `report_mouse_t` data structure). | -| `pointing_device_set_report(mouse_report)` | Sets the mouse report to the assigned `report_mouse_t` data structured passed to the function. | -| `pointing_device_send(void)` | Sends the current mouse report to the host system. Function can be replaced. | -| `has_mouse_report_changed(new_report, old_report)` | Compares the old and new `report_mouse_t` data and returns true only if it has changed. | -| `pointing_device_adjust_by_defines(mouse_report)` | Applies rotations and invert configurations to a raw mouse report. | +| Function | Description | +| ------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | +| `pointing_device_init_kb(void)` | Callback to allow for keyboard level initialization. Useful for additional hardware sensors. | +| `pointing_device_init_user(void)` | Callback to allow for user level initialization. Useful for additional hardware sensors. | +| `pointing_device_task_kb(mouse_report)` | Callback that sends sensor data, so keyboard code can intercept and modify the data. Returns a mouse report. | +| `pointing_device_task_user(mouse_report)` | Callback that sends sensor data, so user code can intercept and modify the data. Returns a mouse report. | +| `pointing_device_handle_buttons(buttons, pressed, button)` | Callback to handle hardware button presses. Returns a `uint8_t`. | +| `pointing_device_get_cpi(void)` | Gets the current CPI/DPI setting from the sensor, if supported. | +| `pointing_device_set_cpi(uint16_t)` | Sets the CPI/DPI, if supported. | +| `pointing_device_get_report(void)` | Returns the current mouse report (as a `report_mouse_t` data structure). | +| `pointing_device_set_report(mouse_report)` | Sets the mouse report to the assigned `report_mouse_t` data structured passed to the function. | +| `pointing_device_send(void)` | Sends the current mouse report to the host system. Function can be replaced. | +| `has_mouse_report_changed(new_report, old_report)` | Compares the old and new `report_mouse_t` data and returns true only if it has changed. | +| `pointing_device_adjust_by_defines(mouse_report)` | Applies rotations and invert configurations to a raw mouse report. | +| `pointing_device_get_status(void)` | Returns device status as `pointing_device_status_t` a good return is `POINTING_DEVICE_STATUS_SUCCESS`. | +| `pointing_device_set_status(pointing_device_status_t status)` | Sets device status, anything other than `POINTING_DEVICE_STATUS_SUCCESS` will disable reports from the device.| ## Split Keyboard Callbacks and Functions @@ -511,7 +513,7 @@ To manually manipulate the mouse reports outside of the `pointing_device_task_*` * `pointing_device_get_report()` - Returns the current report_mouse_t that represents the information sent to the host computer * `pointing_device_set_report(report_mouse_t mouse_report)` - Overrides and saves the report_mouse_t to be sent to the host computer -* `pointing_device_send()` - Sends the mouse report to the host and zeroes out the report. +* `pointing_device_send()` - Sends the mouse report to the host and zeroes out the report. When the mouse report is sent, the x, y, v, and h values are set to 0 (this is done in `pointing_device_send()`, which can be overridden to avoid this behavior). This way, button states persist, but movement will only occur once. For further customization, both `pointing_device_init` and `pointing_device_task` can be overridden. @@ -546,7 +548,7 @@ Recall that the mouse report is set to zero (except the buttons) whenever it is ### Drag Scroll or Mouse Scroll -A very common implementation is to use the mouse movement to scroll instead of moving the cursor on the system. This uses the `pointing_device_task_user` callback to intercept and modify the mouse report before it's sent to the host system. +A very common implementation is to use the mouse movement to scroll instead of moving the cursor on the system. This uses the `pointing_device_task_user` callback to intercept and modify the mouse report before it's sent to the host system. ```c enum custom_keycodes { @@ -573,7 +575,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } ``` -This allows you to toggle between scrolling and cursor movement by pressing the DRAG_SCROLL key. +This allows you to toggle between scrolling and cursor movement by pressing the DRAG_SCROLL key. ### Advanced Drag Scroll @@ -709,7 +711,7 @@ If you are having issues with pointing device drivers debug messages can be enab ```c #define POINTING_DEVICE_DEBUG ``` - + ::: tip The messages will be printed out to the `CONSOLE` output. For additional information, refer to [Debugging/Troubleshooting QMK](../faq_debug). ::: @@ -718,7 +720,7 @@ The messages will be printed out to the `CONSOLE` output. For additional informa --- # Automatic Mouse Layer {#pointing-device-auto-mouse} -When using a pointing device combined with a keyboard the mouse buttons are often kept on a separate layer from the default keyboard layer, which requires pressing or holding a key to change layers before using the mouse. To make this easier and more efficient an additional pointing device feature may be enabled that will automatically activate a target layer as soon as the pointing device is active _(in motion, mouse button pressed etc.)_ and deactivate the target layer after a set time. +When using a pointing device combined with a keyboard the mouse buttons are often kept on a separate layer from the default keyboard layer, which requires pressing or holding a key to change layers before using the mouse. To make this easier and more efficient an additional pointing device feature may be enabled that will automatically activate a target layer as soon as the pointing device is active _(in motion, mouse button pressed etc.)_ and deactivate the target layer after a set time. Additionally if any key that is defined as a mouse key is pressed then the layer will be held as long as the key is pressed and the timer will be reset on key release. When a non-mouse key is pressed then the layer is deactivated early _(with some exceptions see below)_. Mod, mod tap, and one shot mod keys are ignored _(i.e. don't hold or activate layer but do not deactivate the layer either)_ when sending a modifier keycode _(e.g. hold for mod tap)_ allowing for mod keys to be used with the mouse without activating the target layer when typing. @@ -752,8 +754,9 @@ void pointing_device_init_user(void) { } ``` -Because the auto mouse feature can be disabled/enabled during runtime and starts as disabled by default it must be enabled by calling `set_auto_mouse_enable(true);` somewhere in firmware before the feature will work. -_Note: for setting the target layer during initialization either setting `AUTO_MOUSE_DEFAULT_LAYER` in `config.h` or calling `set_auto_mouse_layer()` can be used._ +Because the auto mouse feature can be disabled/enabled during runtime and starts as disabled by default it must be enabled by calling `set_auto_mouse_enable(true);` somewhere in firmware before the feature will work. + +_Note: for setting the target layer during initialization either setting `AUTO_MOUSE_DEFAULT_LAYER` in `config.h` or calling `set_auto_mouse_layer()` can be used._ ## How to Customize: @@ -772,7 +775,7 @@ There are a few ways to control the auto mouse feature with both `config.h` opti ### Adding mouse keys -While all default mouse keys and layer keys(for current mouse layer) are treated as mouse keys, additional Keyrecords can be added to mouse keys by adding them to the is_mouse_record_* stack. +While all default mouse keys and layer keys(for current mouse layer) are treated as mouse keys, additional Keyrecords can be added to mouse keys by adding them to the is_mouse_record_* stack. #### Callbacks for setting up additional key codes as mouse keys: | Callback | Description | @@ -780,7 +783,7 @@ While all default mouse keys and layer keys(for current mouse layer) are treated | `bool is_mouse_record_kb(uint16_t keycode, keyrecord_t* record)` | keyboard level callback for adding mouse keys | | `bool is_mouse_record_user(uint16_t keycode, keyrecord_t* record)` | user/keymap level callback for adding mouse keys | -##### To use the callback function to add mouse keys: +##### To use the callback function to add mouse keys: The following code will cause the enter key and all of the arrow keys to be treated as mouse keys (hold target layer while they are pressed and reset active layer timer). ```c @@ -804,7 +807,7 @@ bool is_mouse_record_kb(uint16_t keycode, keyrecord_t* record) { There are several functions that allow for more advanced interaction with the auto mouse feature allowing for greater control. -### Functions to control auto mouse enable and target layer: +### Functions to control auto mouse enable and target layer: | Function | Description | Aliases | Return type | | :--------------------------------------------------------- | ------------------------------------------------------------------------------------ | ------------------------- | --------------: | | `set_auto_mouse_enable(bool enable)` | Enable or disable auto mouse (true:enable, false:disable) | | `void`(None) | @@ -823,25 +826,27 @@ There are several functions that allow for more advanced interaction with the au | `get_auto_mouse_key_tracker(void)` | Gets the current count for the auto mouse key tracker. | | `int8_t` | | `set_auto_mouse_key_tracker(int8_t key_tracker)` | Sets/Overrides the current count for the auto mouse key tracker. | | `void`(None) | -_NOTES:_ - - _Due to the nature of how some functions work, the `auto_mouse_trigger_reset`, and `auto_mouse_layer_off` functions should never be called in the `layer_state_set_*` stack as this can cause indefinite loops._ - - _It is recommended that `remove_auto_mouse_layer` is used in the `layer_state_set_*` stack of functions and `auto_mouse_layer_off` is used everywhere else_ - - _`remove_auto_mouse_layer(state, false)` or `auto_mouse_layer_off()` should be called before any instance of `set_auto_mouse_enabled(false)` or `set_auto_mouse_layer(layer)` to ensure that the target layer will be removed appropriately before disabling auto mouse or changing target to avoid a stuck layer_ - -### Functions for handling custom key events: +_NOTES:_ + +- _Due to the nature of how some functions work, the `auto_mouse_trigger_reset`, and `auto_mouse_layer_off` functions should never be called in the `layer_state_set_*` stack as this can cause indefinite loops._ +- _It is recommended that `remove_auto_mouse_layer` is used in the `layer_state_set_*` stack of functions and `auto_mouse_layer_off` is used everywhere else_ +- _`remove_auto_mouse_layer(state, false)` or `auto_mouse_layer_off()` should be called before any instance of `set_auto_mouse_enabled(false)` or `set_auto_mouse_layer(layer)` to ensure that the target layer will be removed appropriately before disabling auto mouse or changing target to avoid a stuck layer_ + +### Functions for handling custom key events: | Function | Description | Return type | | :--------------------------------------------------------- | -------------------------------------------------------------------------------- | --------------: | | `auto_mouse_keyevent(bool pressed)` | Auto mouse mouse key event (true: key down, false: key up) | `void`(None) | | `auto_mouse_trigger_reset(bool pressed)` | Reset auto mouse status on key down and start delay timer (non-mouse key event) | `void`(None) | | `auto_mouse_toggle(void)` | Toggle on/off target toggle state (disables layer deactivation when true) | `void`(None) | -| `get_auto_mouse_toggle(void)` | Return value of toggling state variable | `bool` | +| `get_auto_mouse_toggle(void)` | Return value of toggling state variable | `bool` | + _NOTE: Generally it would be preferable to use the `is_mouse_record_*` functions to add any additional keys that should act as mouse keys rather than adding `auto_mouse_keyevent(record.event->pressed)` to `process_records_*`_ -### Advanced control examples +### Advanced control examples -#### Disable auto mouse on certain layers: +#### Disable auto mouse on certain layers: -The auto mouse feature can be disabled any time and this can be helpful if you want to disable the auto mouse feature under certain circumstances such as when particular layers are active. One issue however is the handling of the target layer, it needs to be removed appropriately **before** disabling auto mouse _(see notes under control functions above)_. The following function would disable the auto_mouse feature whenever the layers `_LAYER5` through `_LAYER7` are active as the top most layer _(ignoring target layer)_. +The auto mouse feature can be disabled any time and this can be helpful if you want to disable the auto mouse feature under certain circumstances such as when particular layers are active. One issue however is the handling of the target layer, it needs to be removed appropriately **before** disabling auto mouse _(see notes under control functions above)_. The following function would disable the auto_mouse feature whenever the layers `_LAYER5` through `_LAYER7` are active as the top most layer _(ignoring target layer)_. ```c // in keymap.c: @@ -880,7 +885,7 @@ layer_state_t default_layer_state_set_user(layer_state_t state) { auto_mouse_layer_off(); set_auto_mouse_layer(_MOUSE_LAYER_2); break; - + default: if((AUTO_MOUSE_TARGET_LAYER) == _MOUSE_LAYER_1) break; auto_mouse_layer_off(); @@ -890,9 +895,11 @@ layer_state_t default_layer_state_set_user(layer_state_t state) { } ``` -### Use custom keys to control auto mouse: -Custom key records could also be created that control the auto mouse feature. -The code example below would create a custom key that would toggle the auto mouse feature on and off when pressed while also setting a bool that could be used to disable other code that may turn it on such as the layer code above. +### Use custom keys to control auto mouse: + +Custom key records could also be created that control the auto mouse feature. + +The code example below would create a custom key that would toggle the auto mouse feature on and off when pressed while also setting a bool that could be used to disable other code that may turn it on such as the layer code above. ```c // in config.h: @@ -921,11 +928,11 @@ bool process_record_user(uint16_t keycode, keyrecord_t* record) { ## Customize Target Layer Activation -Layer activation can be customized by overwriting the `auto_mouse_activation` function. This function is checked every time `pointing_device_task` is called when inactive and every `AUTO_MOUSE_DEBOUNCE` ms when active, and will evaluate pointing device level conditions that trigger target layer activation. When it returns true, the target layer will be activated barring the usual exceptions _(e.g. delay time has not expired)_. +Layer activation can be customized by overwriting the `auto_mouse_activation` function. This function is checked every time `pointing_device_task` is called when inactive and every `AUTO_MOUSE_DEBOUNCE` ms when active, and will evaluate pointing device level conditions that trigger target layer activation. When it returns true, the target layer will be activated barring the usual exceptions _(e.g. delay time has not expired)_. By default it will return true if any of the `mouse_report` axes `x`,`y`,`h`,`v` are non zero, or if there is any mouse buttons active in `mouse_report`. _Note: The Cirque pinnacle track pad already implements a custom activation function that will activate on touchdown as well as movement all of the default conditions, currently this only works for the master side of split keyboards._ - + | Function | Description | Return type | | :--------------------------------------------------------- | -------------------------------------------------------------------------------- | --------------: | | `auto_mouse_activation(report_mouse_t mouse_report)` | Overwritable function that controls target layer activation (when true) | `bool` | @@ -937,12 +944,12 @@ When using a custom pointing device (overwriting `pointing_device_task`) the fol ```c bool pointing_device_task(void) { //...Custom pointing device task code - + // handle automatic mouse layer (needs report_mouse_t as input) pointing_device_task_auto_mouse(local_mouse_report); - + //...More custom pointing device task code - + return pointing_device_send(); } ``` diff --git a/docs/features/repeat_key.md b/docs/features/repeat_key.md index 7f2bdc44e6..543dfd1008 100644 --- a/docs/features/repeat_key.md +++ b/docs/features/repeat_key.md @@ -5,7 +5,7 @@ Key after tapping the Z key types another "`z`." This is useful for typing doubled letters, like the `z` in "`dazzle`": a double tap on Z can instead be a roll from Z to Repeat, which is potentially faster and more comfortable. The Repeat Key is also useful for -hotkeys, like repeating Ctrl + Shift + Right Arrow to select by word. +hotkeys, like repeating Ctrl + Shift + Right Arrow to select by word. Repeat Key remembers mods that were active with the last key press. These mods are combined with any additional mods while pressing the Repeat Key. If the last @@ -49,10 +49,10 @@ reduce firmware size, Alternate Repeat may be disabled by adding in config.h: The following alternate keys are defined by default. See `get_alt_repeat_key_keycode_user()` below for how to change or add to these -definitions. Where it makes sense, these definitions also include combinations +definitions. Where it makes sense, these definitions also include combinations with mods, like Ctrl + Left ↔ Ctrl + Right Arrow. -**Navigation** +**Navigation** |Keycodes |Description | |-----------------------------------|-----------------------------------| @@ -65,7 +65,7 @@ with mods, like Ctrl + Left ↔ Ctrl + Right Arrow. |`MS_WHLL` ↔ `MS_WHLR` | Mouse Wheel Left ↔ Right | |`MS_WHLU` ↔ `MS_WHLD` | Mouse Wheel Up ↔ Down | -**Misc** +**Misc** |Keycodes |Description | |-----------------------------------|-----------------------------------| @@ -73,7 +73,7 @@ with mods, like Ctrl + Left ↔ Ctrl + Right Arrow. |`KC_LBRC` ↔ `KC_RBRC` | `[` ↔ `]` | |`KC_LCBR` ↔ `KC_RCBR` | `{` ↔ `}` | -**Media** +**Media** |Keycodes |Description | |-----------------------------------|-----------------------------------| @@ -176,9 +176,9 @@ macro](../feature_macros). This way macros can be used without having to dedicate keys to them. The following defines a couple shortcuts. * Typing K, Alt Repeat produces "`keyboard`," with the - initial "`k`" typed as usual and the "`eybord`" produced by the macro. + initial "`k`" typed as usual and the "`eybord`" produced by the macro. * Typing ., Alt Repeat produces "`../`," handy for "up - directory" on the shell. Similary, . types the initial "`.`" and + directory" on the shell. Similarly, . types the initial "`.`" and "`./`" is produced by the macro. ```c @@ -290,7 +290,7 @@ By default, pressing the Repeat Key will simply behave as if the last key were pressed again. This also works with macro keys with custom handlers, invoking the macro again. In case fine-tuning is needed for sensible repetition, you can handle how a key is repeated with `get_repeat_key_count()` within -`process_record_user()`. +`process_record_user()`. The `get_repeat_key_count()` function returns a signed count of times the key has been repeated or alternate repeated. When a key is pressed as usual, @@ -306,16 +306,16 @@ bool process_record_user(uint16_t keycode, keyrecord_t* record) { if (get_repeat_key_count() > 0) { // MY_MACRO is being repeated! if (record->event.pressed) { - SEND_STRING("repeat!"); + SEND_STRING("repeat!"); } - } else { + } else { // MY_MACRO is being used normally. - if (record->event.pressed) { + if (record->event.pressed) { SEND_STRING("macro"); } } return false; - + // Other macros... } return true; @@ -347,19 +347,19 @@ bool process_record_user(uint16_t keycode, keyrecord_t* record) { case MY_MACRO: if (get_repeat_key_count() > 0) { // Repeating. if (record->event.pressed) { - SEND_STRING("repeat!"); + SEND_STRING("repeat!"); } } else if (get_repeat_key_count() < 0) { // Alternate repeating. if (record->event.pressed) { SEND_STRING("alt repeat!"); } } else { // Used normally. - if (record->event.pressed) { + if (record->event.pressed) { SEND_STRING("macro"); } } return false; - + // Other macros... } return true; @@ -377,7 +377,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t* record) { | `set_last_mods(mods)` | Set the mods to apply when repeating. | | `get_repeat_key_count()` | Signed count of times the key has been repeated or alternate repeated. | | `get_alt_repeat_key_keycode()` | Keycode to be used for alternate repeating. | - + ## Additional "Alternate" keys @@ -437,7 +437,7 @@ static void process_altrep3(uint16_t keycode, uint8_t mods) { bool process_record_user(uint16_t keycode, keyrecord_t* record) { switch (keycode) { - case ALTREP2: + case ALTREP2: if (record->event.pressed) { process_altrep2(get_last_keycode(), get_last_mods()); } diff --git a/docs/features/rgb_matrix.md b/docs/features/rgb_matrix.md index 130c1c5a5e..95ee4c4896 100644 --- a/docs/features/rgb_matrix.md +++ b/docs/features/rgb_matrix.md @@ -125,13 +125,13 @@ enum rgb_matrix_effects { RGB_MATRIX_CYCLE_SPIRAL, // Full gradient spinning spiral around center of keyboard 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_RAINBOW_PINWHEELS, // Full dual gradients spinning two halves 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 - RGB_MATRIX_HUE_PENDULUM, // Hue shifts up a slight ammount in a wave to the right, then back to the left - RGB_MATRIX_HUE_WAVE, // Hue shifts up a slight ammount and then back down in a wave to the right + RGB_MATRIX_HUE_BREATHING, // Hue shifts up a slight amount at the same time, then shifts back + RGB_MATRIX_HUE_PENDULUM, // Hue shifts up a slight amount in a wave to the right, then back to the left + RGB_MATRIX_HUE_WAVE, // Hue shifts up a slight amount and then back down in a wave to the right 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 @@ -240,7 +240,7 @@ In order to change the delay of temperature decrease define `RGB_MATRIX_TYPING_H As heatmap uses the physical position of the leds set in the g_led_config, you may need to tweak the following options to get the best effect for your keyboard. Note the size of this grid is `224x64`. -Limit the distance the effect spreads to surrounding keys. +Limit the distance the effect spreads to surrounding keys. ```c #define RGB_MATRIX_TYPING_HEATMAP_SPREAD 40 @@ -365,9 +365,30 @@ These are shorthands to popular colors. The `RGB` ones can be passed to the `set These are defined in [`color.h`](https://github.com/qmk/qmk_firmware/blob/master/quantum/color.h). Feel free to add to this list! +## Naming + +If you wish to be able to use the name of an effect in your code -- say for a display indicator -- then you can enable the function `rgb_matrix_get_mode_name` in the following manner: + +In your keymap's `config.h`: +```c +#define RGB_MATRIX_MODE_NAME_ENABLE +``` + +In your `keymap.c` +```c +const char* effect_name = rgb_matrix_get_mode_name(rgb_matrix_get_mode()); +// do something with `effect_name`, like `oled_write_ln(effect_name, false);` +``` + +::: info +`rgb_matrix_get_mode_name()` is not enabled by default as it increases the amount of flash memory used by the firmware based on the number of effects enabled. +::: + + ## Additional `config.h` Options {#additional-configh-options} ```c +#define RGB_MATRIX_MODE_NAME_ENABLE // enables rgb_matrix_get_mode_name() #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_MATRIX_SLEEP // turn off effects when suspended @@ -385,8 +406,8 @@ These are defined in [`color.h`](https://github.com/qmk/qmk_firmware/blob/master #define RGB_MATRIX_VAL_STEP 16 // The value by which to increment the brightness per adjustment action #define RGB_MATRIX_SPD_STEP 16 // The value by which to increment the animation speed per adjustment action #define RGB_MATRIX_DEFAULT_FLAGS LED_FLAG_ALL // Sets the default LED flags, if none has been set -#define RGB_MATRIX_SPLIT { X, Y } // (Optional) For split keyboards, the number of LEDs connected on each half. X = left, Y = Right. - // If reactive effects are enabled, you also will want to enable SPLIT_TRANSPORT_MIRROR +#define RGB_MATRIX_SPLIT { X, Y } // (Optional) For split keyboards, the number of LEDs connected on each half. X = left, Y = Right. + // If reactive effects are enabled, you also will want to enable SPLIT_TRANSPORT_MIRROR #define RGB_TRIGGER_ON_KEYDOWN // Triggers RGB keypress events on key down. This makes RGB control feel more responsive. This may cause RGB to not function properly on some boards ``` diff --git a/docs/features/rgblight.md b/docs/features/rgblight.md index 43e3781f8d..20d32c4f5a 100644 --- a/docs/features/rgblight.md +++ b/docs/features/rgblight.md @@ -55,7 +55,7 @@ Changing the **Hue** cycles around the circle.
Changing the **Saturation** moves between the inner and outer sections of the wheel, affecting the intensity of the color.
Changing the **Value** sets the overall brightness.
-![QMK Color Wheel with HSV Values](https://i.imgur.com/vkYVo66.jpg) +![QMK Color Wheel with HSV Values](/vkYVo66.jpg) ## Keycodes diff --git a/docs/features/space_cadet.md b/docs/features/space_cadet.md index 0abdaebf33..66761f5a46 100644 --- a/docs/features/space_cadet.md +++ b/docs/features/space_cadet.md @@ -32,7 +32,7 @@ COMMAND_ENABLE = no ## Configuration -By default Space Cadet assumes a US ANSI layout, but if your layout uses different keys for parentheses, you can redefine them in your `config.h`. In addition, you can redefine the modifier to send on tap, or even send no modifier at all. The new configuration defines bundle all options up into a single define of 3 key codes in this order: the `Modifier` when held or when used with other keys, the `Tap Modifer` sent when tapped (no modifier if `KC_TRNS`), finally the `Keycode` sent when tapped. Now keep in mind, mods from other keys will still apply to the `Keycode` if say `KC_RSFT` is held while tapping `SC_LSPO` key with `KC_TRNS` as the `Tap Modifer`. +By default Space Cadet assumes a US ANSI layout, but if your layout uses different keys for parentheses, you can redefine them in your `config.h`. In addition, you can redefine the modifier to send on tap, or even send no modifier at all. The new configuration defines bundle all options up into a single define of 3 key codes in this order: the `Modifier` when held or when used with other keys, the `Tap Modifier` sent when tapped (no modifier if `KC_TRNS`), finally the `Keycode` sent when tapped. Now keep in mind, mods from other keys will still apply to the `Keycode` if say `KC_RSFT` is held while tapping `SC_LSPO` key with `KC_TRNS` as the `Tap Modifier`. |Define |Default |Description | |----------------|-------------------------------|---------------------------------------------------------------------------------| diff --git a/docs/features/split_keyboard.md b/docs/features/split_keyboard.md index fbf5d3d3e2..a6fbad1c8f 100644 --- a/docs/features/split_keyboard.md +++ b/docs/features/split_keyboard.md @@ -1,12 +1,12 @@ -# Split Keyboard +# Split Keyboard -Many keyboards in the QMK Firmware repo are "split" keyboards. They use two controllers—one plugging into USB, and the second connected by a serial or an I2C connection over a TRRS or similar cable. +Many keyboards in the QMK Firmware repo are "split" keyboards. They use two controllers—one plugging into USB, and the second connected by a serial or an I2C connection over a TRRS or similar cable. -Split keyboards can have a lot of benefits, but there is some additional work needed to get them enabled. +Split keyboards can have a lot of benefits, but there is some additional work needed to get them enabled. -QMK Firmware has a generic implementation that is usable by any board, as well as numerous board specific implementations. +QMK Firmware has a generic implementation that is usable by any board, as well as numerous board specific implementations. -For this, we will mostly be talking about the generic implementation used by the Let's Split and other keyboards. +For this, we will mostly be talking about the generic implementation used by the Let's Split and other keyboards. ::: warning ARM split supports most QMK subsystems when using the 'serial' and 'serial_usart' drivers. I2C slave is currently unsupported. @@ -29,33 +29,33 @@ Notes: ## Hardware Configuration -This assumes that you're using two Pro Micro-compatible controllers, and are using TRRS jacks to connect to two halves. +This assumes that you're using two Pro Micro-compatible controllers, and are using TRRS jacks to connect to two halves. ### Required Hardware Apart from diodes and key switches for the keyboard matrix in each half, you will need 2x TRRS sockets and 1x TRRS cable. -Alternatively, you can use any sort of cable and socket that has at least 3 wires. +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. -#### Considerations +#### Considerations -The most commonly used connection is a TRRS cable and jacks. These provide 4 wires, making them very useful for split keyboards, and are easy to find. +The most commonly used connection is a TRRS cable and jacks. These provide 4 wires, making them very useful for split keyboards, and are easy to find. -However, since one of the wires carries VCC, this means that the boards are not hot pluggable. You should always disconnect the board from USB before unplugging and plugging in TRRS cables, or you can short the controller, or worse. +However, since one of the wires carries VCC, this means that the boards are not hot pluggable. You should always disconnect the board from USB before unplugging and plugging in TRRS cables, or you can short the controller, or worse. -Another option is to use phone cables (as in, old school RJ-11/RJ-14 cables). Make sure that you use one that actually supports 4 wires/lanes. +Another option is to use phone cables (as in, old school RJ-11/RJ-14 cables). Make sure that you use one that actually supports 4 wires/lanes. -However, USB cables, SATA cables, and even just 4 wires have been known to be used for communication between the controllers. +However, USB cables, SATA cables, and even just 4 wires have been known to be used for communication between the controllers. ::: warning -Using USB cables for communication between the controllers works just fine, but the connector could be mistaken for a normal USB connection and potentially short out the keyboard, depending on how it's wired. For this reason, they are not recommended for connecting split keyboards. +Using USB cables for communication between the controllers works just fine, but the connector could be mistaken for a normal USB connection and potentially short out the keyboard, depending on how it's wired. For this reason, they are not recommended for connecting split keyboards. ::: ### Serial Wiring -The 3 wires of the TRS/TRRS cable need to connect GND, VCC, and D0/D1/D2/D3 (aka PD0/PD1/PD2/PD3) between the two Pro Micros. +The 3 wires of the TRS/TRRS cable need to connect GND, VCC, and D0/D1/D2/D3 (aka PD0/PD1/PD2/PD3) between the two Pro Micros. ::: tip Note that the pin used here is actually set by `SOFT_SERIAL_PIN` below. @@ -66,7 +66,7 @@ Note that the pin used here is actually set by `SOFT_SERIAL_PIN` below. ### I2C Wiring -The 4 wires of the TRRS cable need to connect GND, VCC, and SCL and SDA (aka PD0/pin 3 and PD1/pin 2, respectively) between the two Pro Micros. +The 4 wires of the TRRS cable need to connect GND, VCC, and SCL and SDA (aka PD0/pin 3 and PD1/pin 2, respectively) between the two Pro Micros. The pull-up resistors may be placed on either half. If you wish to use the halves independently, it is also possible to use 4 resistors and have the pull-ups in both halves. Note that the total resistance for the connected system should be within spec at 2.2k-10kOhm, with an 'ideal' at 4.7kOhm, regardless of the placement and number. @@ -75,13 +75,13 @@ Note that the total resistance for the connected system should be within spec at ## Firmware Configuration -To enable the split keyboard feature, add the following to your `rules.mk`: +To enable the split keyboard feature, add the following to your `rules.mk`: ```make SPLIT_KEYBOARD = yes ``` -If you're using a custom transport (communication method), then you will also need to add: +If you're using a custom transport (communication method), then you will also need to add: ```make SPLIT_TRANSPORT = custom @@ -91,11 +91,11 @@ SPLIT_TRANSPORT = custom Configuring your layout in a split keyboard works slightly differently to a non-split keyboard. Take for example the following layout. The top left numbers refer to the matrix row and column, and the bottom right are the order of the keys in the layout: -![Physical layout](https://i.imgur.com/QeY6kMQ.png) +![Physical layout](/QeY6kMQ.png) Since the matrix scanning procedure operates on entire rows, it first populates the left half's rows, then the right half's. Thus, the matrix as QMK views it has double the rows instead of double the columns: -![Matrix](https://i.imgur.com/4wjJzBU.png) +![Matrix](/4wjJzBU.png) ### Setting Handedness @@ -109,7 +109,7 @@ You can configure the firmware to read a pin on the controller to determine hand #define SPLIT_HAND_PIN B7 ``` -This will read the specified pin. By default, if it's high, then the controller assumes it is the left hand, and if it's low, it's assumed to be the right side. +This will read the specified pin. By default, if it's high, then the controller assumes it is the left hand, and if it's low, it's assumed to be the right side. This behaviour can be flipped by adding this to you `config.h` file: @@ -141,10 +141,10 @@ While `MATRIX_MASKED` isn't necessary to use `SPLIT_HAND_MATRIX_GRID` successful #### Handedness by EEPROM -This method sets the keyboard's handedness by setting a flag in the persistent storage (`EEPROM`). This is checked when the controller first starts up, and determines what half the keyboard is, and how to orient the keyboard layout. +This method sets the keyboard's handedness by setting a flag in the persistent storage (`EEPROM`). This is checked when the controller first starts up, and determines what half the keyboard is, and how to orient the keyboard layout. -To enable this method, add the following to your `config.h` file: +To enable this method, add the following to your `config.h` file: ```c #define EE_HANDS @@ -176,7 +176,7 @@ Some controllers (e.g. Blackpill with DFU compatible bootloader) will need to be [QMK Toolbox](https://github.com/qmk/qmk_toolbox/releases/) can also be used to flash EEPROM handedness files. Place the controller in bootloader mode and select menu option Tools -> EEPROM -> Set Left/Right Hand ::: -This setting is not changed when re-initializing the EEPROM using the `EE_CLR` key, or using the `eeconfig_init()` function. However, if you reset the EEPROM outside of the firmware's built in options (such as flashing a file that overwrites the `EEPROM`, like how the [QMK Toolbox](https://github.com/qmk/qmk_toolbox/releases/)'s "Reset EEPROM" button works), you'll need to re-flash the controller with the `EEPROM` files. +This setting is not changed when re-initializing the EEPROM using the `EE_CLR` key, or using the `eeconfig_init()` function. However, if you reset the EEPROM outside of the firmware's built in options (such as flashing a file that overwrites the `EEPROM`, like how the [QMK Toolbox](https://github.com/qmk/qmk_toolbox/releases/)'s "Reset EEPROM" button works), you'll need to re-flash the controller with the `EEPROM` files. You can find the `EEPROM` files in the QMK firmware repo, [here](https://github.com/qmk/qmk_firmware/tree/master/quantum/split_common). @@ -208,13 +208,13 @@ Because not every split keyboard is identical, there are a number of additional #define USE_I2C ``` -This configures the use of I2C support for split keyboard transport (AVR only). +This configures the use of I2C support for split keyboard transport (AVR only). ```c #define SOFT_SERIAL_PIN D0 ``` -This sets the pin to be used for serial communication. If you're not using serial, you shouldn't need to define this. +This sets the pin to be used for serial communication. If you're not using serial, you shouldn't need to define this. 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). @@ -235,7 +235,7 @@ If you're having issues with serial communication, you can change this value, as #define FORCED_SYNC_THROTTLE_MS 100 ``` -This sets the maximum number of milliseconds before forcing a synchronization of data from master to slave. Under normal circumstances this sync occurs whenever the data _changes_, for safety a data transfer occurs after this number of milliseconds if no change has been detected since the last sync. +This sets the maximum number of milliseconds before forcing a synchronization of data from master to slave. Under normal circumstances this sync occurs whenever the data _changes_, for safety a data transfer occurs after this number of milliseconds if no change has been detected since the last sync. ```c #define SPLIT_MAX_CONNECTION_ERRORS 10 @@ -249,7 +249,7 @@ Set to 0 to disable the disconnection check altogether. ``` How long (in milliseconds) the master part should block all connection attempts to the slave after the communication has been flagged as disconnected (see `SPLIT_MAX_CONNECTION_ERRORS` above). -One communication attempt will be allowed everytime this amount of time has passed since the last attempt. If that attempt succeeds, the communication is seen as working again. +One communication attempt will be allowed every time this amount of time has passed since the last attempt. If that attempt succeeds, the communication is seen as working again. Set to 0 to disable this throttling of communications while disconnected. This can save you a couple of bytes of firmware size. @@ -280,7 +280,7 @@ This enables syncing of the Host LED status (caps lock, num lock, etc) between b #define SPLIT_MODS_ENABLE ``` -This enables transmitting modifier state (normal, weak, oneshot and oneshot locked) to the non primary side of the split keyboard. The purpose of this feature is to support cosmetic use of modifer state (e.g. displaying status on an OLED screen). +This enables transmitting modifier state (normal, weak, oneshot and oneshot locked) to the non primary side of the split keyboard. The purpose of this feature is to support cosmetic use of modifier state (e.g. displaying status on an OLED screen). ```c #define SPLIT_WPM_ENABLE @@ -304,7 +304,7 @@ This enables transmitting the current ST7565 on/off status to the slave side of #define SPLIT_POINTING_ENABLE ``` -This enables transmitting the pointing device status to the master side of the split keyboard. The purpose of this feature is to enable use pointing devices on the slave side. +This enables transmitting the pointing device status to the master side of the split keyboard. The purpose of this feature is to enable use pointing devices on the slave side. ::: warning There is additional required configuration for `SPLIT_POINTING_ENABLE` outlined in the [pointing device documentation](pointing_device#split-keyboard-configuration). @@ -401,7 +401,7 @@ By default, the inbound and outbound data is limited to a maximum of 32 bytes ea ### Hardware Configuration Options -There are some settings that you may need to configure, based on how the hardware is set up. +There are some settings that you may need to configure, based on how the hardware is set up. ```c #define MATRIX_ROW_PINS_RIGHT { } @@ -433,7 +433,7 @@ This option enables synchronization of the RGB Light modes between the controlle #define RGBLED_SPLIT { 6, 6 } ``` -This sets how many LEDs are directly connected to each controller. The first number is the left side, and the second number is the right side. +This sets how many LEDs are directly connected to each controller. The first number is the left side, and the second number is the right side. ::: tip This setting implies that `RGBLIGHT_SPLIT` is enabled, and will forcibly enable it, if it's not. @@ -479,7 +479,7 @@ This set the maximum slave timeout when waiting for communication from master wh Master/slave delegation is made either by detecting voltage on VBUS connection or waiting for USB communication (`SPLIT_USB_DETECT`). Pro Micro boards can use VBUS detection out of the box and be used with or without `SPLIT_USB_DETECT`. -Many ARM boards, but not all, do not support VBUS detection. Because it is common that ARM boards lack VBUS detection, `SPLIT_USB_DETECT` is automatically defined on ARM targets (technically when ChibiOS is targetted). +Many ARM boards, but not all, do not support VBUS detection. Because it is common that ARM boards lack VBUS detection, `SPLIT_USB_DETECT` is automatically defined on ARM targets (technically when ChibiOS is targeted). ### Teensy boards @@ -497,11 +497,11 @@ Once you have done that, you will want to solder the diode from the 5V pad to th You may need to use the 5V pad from the regulator block above as the pads were too small and placed too closely together to place the Schottky diode properly. -![Teensy++ 2.0](https://i.imgur.com/BPEC5n5.png) +![Teensy++ 2.0](/BPEC5n5.jpg) ## Additional Resources -Nicinabox has a [very nice and detailed guide](https://github.com/nicinabox/lets-split-guide) for the Let's Split keyboard, that covers most everything you need to know, including troubleshooting information. +Nicinabox has a [very nice and detailed guide](https://github.com/nicinabox/lets-split-guide) for the Let's Split keyboard, that covers most everything you need to know, including troubleshooting information. However, the RGB Light section is out of date, as it was written long before the RGB Split code was added to QMK Firmware. Instead, wire each strip up directly to the controller. diff --git a/docs/features/st7565.md b/docs/features/st7565.md index de3e44d8e9..09a1efce30 100644 --- a/docs/features/st7565.md +++ b/docs/features/st7565.md @@ -182,12 +182,12 @@ void st7565_render(void); void st7565_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 st7565_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 st7565_advance_char(void); // Writes a single character to the buffer at current cursor position diff --git a/docs/features/stenography.md b/docs/features/stenography.md index 4176344b5a..b253890e13 100644 --- a/docs/features/stenography.md +++ b/docs/features/stenography.md @@ -102,7 +102,7 @@ STENO_ENABLE = yes STENO_PROTOCOL = all ``` -If you want to switch protocols programatically, as part of a custom macro for example, don't use `tap_code(QK_STENO_*)`, as `tap_code` only supports [basic keycodes](../keycodes_basic). Instead, you should use `steno_set_mode(STENO_MODE_*)`, whose valid arguments are `STENO_MODE_BOLT` and `STENO_MODE_GEMINI`. +If you want to switch protocols programmatically, as part of a custom macro for example, don't use `tap_code(QK_STENO_*)`, as `tap_code` only supports [basic keycodes](../keycodes_basic). Instead, you should use `steno_set_mode(STENO_MODE_*)`, whose valid arguments are `STENO_MODE_BOLT` and `STENO_MODE_GEMINI`. The default protocol is Gemini PR but the last protocol used is stored in non-volatile memory so QMK will remember your choice between reboots of your keyboard — assuming that your keyboard features (emulated) EEPROM. diff --git a/docs/getting_started_github.md b/docs/getting_started_github.md index b8587dbb13..4cc9978d3d 100644 --- a/docs/getting_started_github.md +++ b/docs/getting_started_github.md @@ -8,15 +8,15 @@ This guide assumes you're somewhat comfortable with running things at the comman Start on the [QMK GitHub page](https://github.com/qmk/qmk_firmware), and you'll see a button in the upper right that says "Fork": -![Fork on GitHub](https://i.imgur.com/8Toomz4.jpg) +![Fork on GitHub](/8Toomz4.jpg) If you're a part of an organization, you'll need to choose which account to fork it to. In most circumstances, you'll want to fork it to your personal account. Once your fork is completed (sometimes this takes a little while), click the "Clone or Download" button: -![Download from GitHub](https://i.imgur.com/N1NYcSz.jpg) +![Download from GitHub](/N1NYcSz.jpg) And be sure to select "HTTPS", and select the link and copy it: -![HTTPS link](https://i.imgur.com/eGO0ohO.jpg) +![HTTPS link](/eGO0ohO.jpg) From here, enter `git clone --recurse-submodules ` into the command line, and then paste your link: @@ -57,10 +57,10 @@ To https://github.com/whoeveryouare/qmk_firmware.git Your changes now exist on your fork on GitHub - if you go back there (`https://github.com//qmk_firmware`), you can create a "New Pull Request" by clicking this button: -![New Pull Request](https://i.imgur.com/DxMHpJ8.jpg) +![New Pull Request](/DxMHpJ8.jpg) Here you'll be able to see exactly what you've committed - if it all looks good, you can finalize it by clicking "Create Pull Request": -![Create Pull Request](https://i.imgur.com/Ojydlaj.jpg) +![Create Pull Request](/Ojydlaj.jpg) After submitting, we may talk to you about your changes, ask that you make changes, and eventually accept it! Thanks for contributing to QMK :) diff --git a/docs/hand_wire.md b/docs/hand_wire.md index be21cf2cc4..25be46fdb7 100644 --- a/docs/hand_wire.md +++ b/docs/hand_wire.md @@ -36,12 +36,12 @@ What you want to achieve is one leg from each switch being attached to the corre It is fairly simple to plan for an ortholinear keyboard (like a Planck). -![Example Planck matrix](https://i.imgur.com/FRShcLD.png) +![Example Planck matrix](/FRShcLD.png) Image from [RoastPotatoes' "How to hand wire a Planck"](https://blog.roastpotatoes.co/guide/2015/11/04/how-to-handwire-a-planck/) But the larger and more complicated your keyboard, the more complex the matrix. [Keyboard Firmware Builder](https://kbfirmware.com/) can help you plan your matrix layout (shown here with a basic fullsize ISO keyboard imported from [Keyboard Layout Editor](https://www.keyboard-layout-editor.com). -![Example ISO matrix](https://i.imgur.com/UlJ4ZDP.png) +![Example ISO matrix](/UlJ4ZDP.png) Bear in mind that the number of rows plus the number of columns can not exceed the number of I/O pins on your controller. So the fullsize matrix shown above would be possible on a Proton C or Teensy++, but not on a regular Teensy or Pro Micro. @@ -51,14 +51,14 @@ Bear in mind that the number of rows plus the number of columns can not exceed t | :------------ |:-------------:| ------:| ------ | | Pro Micro* | ATmega32u4 | 20 | [link](https://learn.sparkfun.com/tutorials/pro-micro--fio-v3-hookup-guide/hardware-overview-pro-micro#Teensy++_2.0) | | Teensy 2.0 | ATmega32u4 | 25 | [link](https://www.pjrc.com/teensy/pinout.html) | -| [QMK Proton C](https://qmk.fm/proton-c/) | STM32F303xC | 36 | [link 1](https://i.imgur.com/RhtrAlc.png), [2](https://deskthority.net/wiki/QMK_Proton_C) | +| [QMK Proton C](https://qmk.fm/proton-c/) | STM32F303xC | 36 | [link 1](https://qmk.fm/proton-c-pinout.jpg), [2](https://deskthority.net/wiki/QMK_Proton_C) | | Teensy++ 2.0 | AT90USB1286 | 46 | [link](https://www.pjrc.com/teensy/pinout.html#Teensy_2.0) | *Elite C is essentially the same as a Pro Micro with a USB-C instead of Micro-USB There are also a number of boards designed specifically for handwiring that mount directly to a small number of switches and offer pinouts for the rest. Though these are generally more expensive and may be more difficult to get hold of. -Postage board mini mounted in place +Postage board mini mounted in place | Board | Controller | # I/O | | :------------ |:-------------:| ------:| @@ -74,13 +74,13 @@ Established materials and techniques include: | Technique | Examples | Pros | Cons | Image | :-----------| :------- | :------ | :--- | :--- -| Lengths of wire with stripped segments | [Sasha Solomon's Dactyl](https://medium.com/@sachee/building-my-first-keyboard-and-you-can-too-512c0f8a4c5f) and [Cribbit's modern hand wire](https://geekhack.org/index.php?topic=87689.0) | Neat and tidy | Some effort in stripping the wire | ![Stripped wire](https://i.imgur.com/0GNIYY0.jpg) -| Short lengths of wire | [u/xicolinguada's ortho build](https://www.reddit.com/r/MechanicalKeyboards/comments/c39k4f/my_first_hand_wired_keyboard_its_not_perfect_but/) | Easier to strip the wire | More difficult to place | ![individual wire lengths](https://i.imgur.com/mBe5vkL.jpg) -| Magnet/Enamelled wire | [fknraiden's custom board](https://geekhack.org/index.php?topic=74223.0) | Can be directly soldered onto (insulation burns off with heat) | Appearance? | ![Magnet wire](https://i.imgur.com/b4b7KDb.jpg) -| Bending the legs of the diodes for the rows | [Matt3o's Brownfox](https://deskthority.net/viewtopic.php?f=7&t=6050) | Fewer solder joints required | Uninsulated | ![Bent diode legs](https://i.imgur.com/aTnG8TV.jpg) -| Using rigid wiring (e.g. brass tube) | [u/d_stilgar's invisible hardline](https://www.reddit.com/r/MechanicalKeyboards/comments/8aw5j2/invisible_hardline_keyboard_progress_update_april/) and [u/jonasfasler's first attempt](https://www.reddit.com/r/MechanicalKeyboards/comments/de1jyv/my_first_attempt_at_handwiring_a_keyboard/) | Very pretty | More difficult. No physical insulation | ![Hardline hand wire](https://i.imgur.com/CnASmPo.jpg) -| Bare wire with insulation added after (e.g. kapton tape) | [Matt3o's 65% on his website](https://matt3o.com/hand-wiring-a-custom-keyboard/) | Easier (no wire stripping required) | Not as attractive | ![Bare wire](https://i.imgur.com/AvXZShD.jpg) -| Copper tape | [ManuForm Dactyl](https://github.com/tshort/dactyl-keyboard) | Very easy | Only really works when your plate/case aligns with the bottom of your switches | ![Copper tape](https://i.imgur.com/RFyNMlL.jpg) +| Lengths of wire with stripped segments | [Sasha Solomon's Dactyl](https://medium.com/@sachee/building-my-first-keyboard-and-you-can-too-512c0f8a4c5f) and [Cribbit's modern hand wire](https://geekhack.org/index.php?topic=87689.0) | Neat and tidy | Some effort in stripping the wire | ![Stripped wire](/0GNIYY0.jpg) +| Short lengths of wire | [u/xicolinguada's ortho build](https://www.reddit.com/r/MechanicalKeyboards/comments/c39k4f/my_first_hand_wired_keyboard_its_not_perfect_but/) | Easier to strip the wire | More difficult to place | ![individual wire lengths](/mBe5vkL.jpg) +| Magnet/Enamelled wire | [fknraiden's custom board](https://geekhack.org/index.php?topic=74223.0) | Can be directly soldered onto (insulation burns off with heat) | Appearance? | ![Magnet wire](/b4b7KDb.jpg) +| Bending the legs of the diodes for the rows | [Matt3o's Brownfox](https://deskthority.net/viewtopic.php?f=7&t=6050) | Fewer solder joints required | Uninsulated | ![Bent diode legs](/aTnG8TV.jpg) +| Using rigid wiring (e.g. brass tube) | [u/d_stilgar's invisible hardline](https://www.reddit.com/r/MechanicalKeyboards/comments/8aw5j2/invisible_hardline_keyboard_progress_update_april/) and [u/jonasfasler's first attempt](https://www.reddit.com/r/MechanicalKeyboards/comments/de1jyv/my_first_attempt_at_handwiring_a_keyboard/) | Very pretty | More difficult. No physical insulation | ![Hardline hand wire](/CnASmPo.jpg) +| Bare wire with insulation added after (e.g. kapton tape) | [Matt3o's 65% on his website](https://matt3o.com/hand-wiring-a-custom-keyboard/) | Easier (no wire stripping required) | Not as attractive | ![Bare wire](/AvXZShD.jpg) +| Copper tape | [ManuForm Dactyl](https://github.com/tshort/dactyl-keyboard) | Very easy | Only really works when your plate/case aligns with the bottom of your switches | ![Copper tape](/RFyNMlL.jpg) Note that these methods can be combined. Prepare your lengths of wire before moving on to soldering. @@ -97,11 +97,11 @@ There are a lot of soldering guides and tips available elsewhere but here are so To ensure a strong solder joint you want a good amount of contact between the solder and the two pieces of metal you are connecting. A good way of doing this (though not required) is looping around pins or twisting wires together before applying solder. -Looped around rod Looped diode leg +Looped around rod If your diodes are on a packaging strip and need a bend in them (either the start of a loop or for connecting to its neighbour) this can easily done by bending it over something straight like the edge of a box, table, or ruler. This also helps keep track of the direction of the diode as all the bends will be on the same side. -Bent diode legs +Bent diode legs If your iron has temperature control, set it to 315ºC (600ºF). @@ -162,9 +162,9 @@ The pins you'll absolutely have to avoid, as with any controller, are: GND, VCC, Cut wires to the length of the distance from the a point on each column/row to the controller. You can solder anywhere along the row, as long as it's after the diode - soldering before the diode (on the keyswitch side) will cause that row not to work. -Ribbon cable can be used to keep this extra tidy. You may also want to consider routing the wires beneath the exisiting columns/rows. +Ribbon cable can be used to keep this extra tidy. You may also want to consider routing the wires beneath the existing columns/rows. -Ribbon Cable +Ribbon Cable As you solder the wires to the controller make a note of which row/column is going to which pin on the controller as we'll use this data to setup the matrix when we create the firmware. @@ -188,7 +188,7 @@ qmk import-kbfirmware /path/to/export.json For example: ``` -$ qmk import-kbfirmware ~/Downloads/gh62.json +$ qmk import-kbfirmware ~/Downloads/gh62.json Ψ Importing gh62.json. ⚠ Support here is basic - Consider using 'qmk new-keyboard' instead @@ -227,16 +227,16 @@ If you've done all of these things, keep in mind that sometimes you might have h ## Finishing up -Once you have confirmed that the keyboard is working, if you have used a seperate (non handwire specific) controller you will want to secure it in place. This can be done in many different ways e.g. hot glue, double sided sticky tape, 3D printed caddy, electrical tape. +Once you have confirmed that the keyboard is working, if you have used a separate (non handwire specific) controller you will want to secure it in place. This can be done in many different ways e.g. hot glue, double sided sticky tape, 3D printed caddy, electrical tape. -If you found this fullfilling you could experiment by adding additional features such as [in switch LEDs](https://geekhack.org/index.php?topic=94258.0), [in switch RGB](https://www.reddit.com/r/MechanicalKeyboards/comments/5s1l5u/photoskeyboard_science_i_made_a_handwired_rgb/), [RGB underglow](https://medium.com/@DavidNZ/hand-wired-custom-keyboard-cdd14429c7b3#.7a1ovebsk) or even an [OLED display!](https://www.reddit.com/r/olkb/comments/5zy7og/adding_ssd1306_oled_display_to_your_build/) +If you found this fulfilling you could experiment by adding additional features such as [in switch LEDs](https://geekhack.org/index.php?topic=94258.0), [in switch RGB](https://www.reddit.com/r/MechanicalKeyboards/comments/5s1l5u/photoskeyboard_science_i_made_a_handwired_rgb/), [RGB underglow](https://medium.com/@DavidNZ/hand-wired-custom-keyboard-cdd14429c7b3#.7a1ovebsk) or even an [OLED display!](https://www.reddit.com/r/olkb/comments/5zy7og/adding_ssd1306_oled_display_to_your_build/) There are a lot of possibilities inside the firmware - explore [the documentation](/) for a full feature list, and dive into the different keyboards to see how people use all of them. You can always stop by [the OLKB subreddit](https://reddit.com/r/olkb) or [QMK Discord](https://discord.gg/qmk) for help! ## Links to Other Guides - [matt3o's step by step guide (BrownFox build)](https://deskthority.net/viewtopic.php?f=7&t=6050) also his [website](https://matt3o.com/hand-wiring-a-custom-keyboard/) and [video guide](https://www.youtube.com/watch?v=LVzpsjFWPP4) -- [Cribbit's "Modern hand wiring guide - stronger, cleaner, easier"](https://geekhack.org/index.php?topic=87689.0) +- [Cribbit's "Modern hand wiring guide - stronger, cleaner, easier"](https://geekhack.org/index.php?topic=87689.0) - [Sasha Solomon's "Building my first Keyboard"](https://medium.com/@sachee/building-my-first-keyboard-and-you-can-too-512c0f8a4c5f) - [RoastPotatoes' "How to hand wire a Planck"](https://blog.roastpotatoes.co/guide/2015/11/04/how-to-handwire-a-planck/) - [Masterzen's "Handwired keyboard build log"](https://www.masterzen.fr/2018/12/16/handwired-keyboard-build-log-part-1/) diff --git a/docs/hardware_drivers.md b/docs/hardware_drivers.md index 694d46971a..40a25d9fa7 100644 --- a/docs/hardware_drivers.md +++ b/docs/hardware_drivers.md @@ -24,7 +24,7 @@ Support for WS2811/WS2812{a,b,c} LED's. For more information see the [RGB Light] ## IS31FL3731 -Support for up to 2 drivers. Each driver impliments 2 charlieplex matrices to individually address LEDs using I2C. This allows up to 144 same color LEDs or 32 RGB LEDs. For more information on how to setup the driver see the [RGB Matrix](features/rgb_matrix) page. +Support for up to 2 drivers. Each driver implements 2 charlieplex matrices to individually address LEDs using I2C. This allows up to 144 same color LEDs or 32 RGB LEDs. For more information on how to setup the driver see the [RGB Matrix](features/rgb_matrix) page. ## IS31FL3733 diff --git a/docs/keycodes.md b/docs/keycodes.md index 33014a54a5..c540a7ce7f 100644 --- a/docs/keycodes.md +++ b/docs/keycodes.md @@ -203,8 +203,8 @@ See also: [Basic Keycodes](keycodes_basic) |`KC_WWW_STOP` |`KC_WSTP` |Browser Stop |✔ | |✔ | |`KC_WWW_REFRESH` |`KC_WREF` |Browser Refresh |✔ | |✔ | |`KC_WWW_FAVORITES` |`KC_WFAV` |Browser Favorites |✔ | |✔ | -|`KC_MEDIA_FAST_FORWARD` |`KC_MFFD` |Next Track |✔ |✔5|✔ | -|`KC_MEDIA_REWIND` |`KC_MRWD` |Previous Track |✔6|✔5|✔ | +|`KC_MEDIA_FAST_FORWARD` |`KC_MFFD` |Fast Forward |✔ |✔5|✔ | +|`KC_MEDIA_REWIND` |`KC_MRWD` |Rewind |✔6|✔5|✔ | |`KC_BRIGHTNESS_UP` |`KC_BRIU` |Brightness Up |✔ |✔ |✔ | |`KC_BRIGHTNESS_DOWN` |`KC_BRID` |Brightness Down |✔ |✔ |✔ | |`KC_CONTROL_PANEL` |`KC_CPNL` |Open Control Panel |✔ | | | @@ -657,38 +657,38 @@ See also: [Mouse Keys](features/mouse_keys) See also: [Modifier Keys](feature_advanced_keycodes#modifier-keys) -|Key |Aliases |Description | -|----------|----------------------------------|-------------------------------------------------------------------| -|`LCTL(kc)`|`C(kc)` |Hold Left Control and press `kc` | -|`LSFT(kc)`|`S(kc)` |Hold Left Shift and press `kc` | -|`LALT(kc)`|`A(kc)`, `LOPT(kc)` |Hold Left Alt and press `kc` | -|`LGUI(kc)`|`G(kc)`, `LCMD(kc)`, `LWIN(kc)` |Hold Left GUI and press `kc` | -|`LCS(kc)` | |Hold Left Control and Left Shift and press `kc` | -|`LCA(kc)` | |Hold Left Control and Left Alt and press `kc` | -|`LCG(kc)` | |Hold Left Control and Left GUI and press `kc` | -|`LSA(kc)` | |Hold Left Shift and Left Alt and press `kc` | -|`LSG(kc)` |`SGUI(kc)`, `SCMD(kc)`, `SWIN(kc)`|Hold Left Shift and Left GUI and press `kc` | -|`LAG(kc)` | |Hold Left Alt and Left GUI and press `kc` | -|`LCSG(kc)`| |Hold Left Control, Left Shift and Left GUI and press `kc` | -|`LCAG(kc)`| |Hold Left Control, Left Alt and Left GUI and press `kc` | -|`LSAG(kc)`| |Hold Left Shift, Left Alt and Left GUI and press `kc` | -|`RCTL(kc)`| |Hold Right Control and press `kc` | -|`RSFT(kc)`| |Hold Right Shift and press `kc` | -|`RALT(kc)`|`ROPT(kc)`, `ALGR(kc)` |Hold Right Alt and press `kc` | -|`RGUI(kc)`|`RCMD(kc)`, `RWIN(kc)` |Hold Right GUI and press `kc` | -|`RCS(kc)` | |Hold Right Control and Right Shift and press `kc` | -|`RCA(kc)` | |Hold Right Control and Right Alt and press `kc` | -|`RCG(kc)` | |Hold Right Control and Right GUI and press `kc` | -|`RSA(kc)` |`SAGR(kc)` |Hold Right Shift and Right Alt and press `kc` | -|`RSG(kc)` | |Hold Right Shift and Right GUI and press `kc` | -|`RAG(kc)` | |Hold Right Alt and Right GUI and press `kc` | -|`RCSG(kc)`| |Hold Right Control, Right Shift and Right GUI and press `kc` | -|`RCAG(kc)`| |Hold Right Control, Right Alt and Right GUI and press `kc` | -|`RSAG(kc)`| |Hold Right Shift, Right Alt and Right GUI and press `kc` | -|`MEH(kc)` | |Hold Left Control, Left Shift and Left Alt and press `kc` | -|`HYPR(kc)`| |Hold Left Control, Left Shift, Left Alt and Left GUI and press `kc`| -|`KC_MEH` | |Left Control, Left Shift and Left Alt | -|`KC_HYPR` | |Left Control, Left Shift, Left Alt and Left GUI | +|Key |Aliases |Description | +|----------|-------------------------------|-------------------------------------------------------------------| +|`LCTL(kc)`|`C(kc)` |Hold Left Control and press `kc` | +|`LSFT(kc)`|`S(kc)` |Hold Left Shift and press `kc` | +|`LALT(kc)`|`A(kc)`, `LOPT(kc)` |Hold Left Alt and press `kc` | +|`LGUI(kc)`|`G(kc)`, `LCMD(kc)`, `LWIN(kc)`|Hold Left GUI and press `kc` | +|`LCS(kc)` | |Hold Left Control and Left Shift and press `kc` | +|`LCA(kc)` | |Hold Left Control and Left Alt and press `kc` | +|`LCG(kc)` | |Hold Left Control and Left GUI and press `kc` | +|`LSA(kc)` | |Hold Left Shift and Left Alt and press `kc` | +|`LSG(kc)` | |Hold Left Shift and Left GUI and press `kc` | +|`LAG(kc)` | |Hold Left Alt and Left GUI and press `kc` | +|`LCSG(kc)`| |Hold Left Control, Left Shift and Left GUI and press `kc` | +|`LCAG(kc)`| |Hold Left Control, Left Alt and Left GUI and press `kc` | +|`LSAG(kc)`| |Hold Left Shift, Left Alt and Left GUI and press `kc` | +|`RCTL(kc)`| |Hold Right Control and press `kc` | +|`RSFT(kc)`| |Hold Right Shift and press `kc` | +|`RALT(kc)`|`ROPT(kc)`, `ALGR(kc)` |Hold Right Alt and press `kc` | +|`RGUI(kc)`|`RCMD(kc)`, `RWIN(kc)` |Hold Right GUI and press `kc` | +|`RCS(kc)` | |Hold Right Control and Right Shift and press `kc` | +|`RCA(kc)` | |Hold Right Control and Right Alt and press `kc` | +|`RCG(kc)` | |Hold Right Control and Right GUI and press `kc` | +|`RSA(kc)` | |Hold Right Shift and Right Alt and press `kc` | +|`RSG(kc)` | |Hold Right Shift and Right GUI and press `kc` | +|`RAG(kc)` | |Hold Right Alt and Right GUI and press `kc` | +|`RCSG(kc)`| |Hold Right Control, Right Shift and Right GUI and press `kc` | +|`RCAG(kc)`| |Hold Right Control, Right Alt and Right GUI and press `kc` | +|`RSAG(kc)`| |Hold Right Shift, Right Alt and Right GUI and press `kc` | +|`MEH(kc)` | |Hold Left Control, Left Shift and Left Alt and press `kc` | +|`HYPR(kc)`| |Hold Left Control, Left Shift, Left Alt and Left GUI and press `kc`| +|`KC_MEH` | |Left Control, Left Shift and Left Alt | +|`KC_HYPR` | |Left Control, Left Shift, Left Alt and Left GUI | ## Mod-Tap Keys {#mod-tap-keys} @@ -705,7 +705,7 @@ See also: [Mod-Tap](mod_tap) |`LCA_T(kc)` | |Left Control and Left Alt when held, `kc` when tapped | |`LCG_T(kc)` | |Left Control and Left GUI when held, `kc` when tapped | |`LSA_T(kc)` | |Left Shift and Left Alt when held, `kc` when tapped | -|`LSG_T(kc)` |`SGUI_T(kc)`, `SCMD_T(kc)`, `SWIN_T(kc)` |Left Shift and Left GUI when held, `kc` when tapped | +|`LSG_T(kc)` | |Left Shift and Left GUI when held, `kc` when tapped | |`LAG_T(kc)` | |Left Alt and Left GUI when held, `kc` when tapped | |`LCSG_T(kc)` | |Left Control, Left Shift and Left GUI when held, `kc` when tapped | |`LCAG_T(kc)` | |Left Control, Left Alt and Left GUI when held, `kc` when tapped | @@ -717,14 +717,14 @@ See also: [Mod-Tap](mod_tap) |`RCS_T(kc)` | |Right Control and Right Shift when held, `kc` when tapped | |`RCA_T(kc)` | |Right Control and Right Alt when held, `kc` when tapped | |`RCG_T(kc)` | |Right Control and Right GUI when held, `kc` when tapped | -|`RSA_T(kc)` |`SAGR_T(kc)` |Right Shift and Right Alt when held, `kc` when tapped | +|`RSA_T(kc)` | |Right Shift and Right Alt when held, `kc` when tapped | |`RSG_T(kc)` | |Right Shift and Right GUI when held, `kc` when tapped | |`RAG_T(kc)` | |Right Alt and Right GUI when held, `kc` when tapped | |`RCSG_T(kc)` | |Right Control, Right Shift and Right GUI when held, `kc` when tapped | |`RCAG_T(kc)` | |Right Control, Right Alt and Right GUI when held, `kc` when tapped | |`RSAG_T(kc)` | |Right Shift, Right Alt and Right GUI when held, `kc` when tapped | |`MEH_T(kc)` | |Left Control, Left Shift and Left Alt when held, `kc` when tapped | -|`HYPR_T(kc)` |`ALL_T(kc)` |Left Control, Left Shift, Left Alt and Left GUI when held, `kc` when tapped| +|`HYPR_T(kc)` | |Left Control, Left Shift, Left Alt and Left GUI when held, `kc` when tapped| ## Tapping Term Keys {#tapping-term-keys} diff --git a/docs/keycodes_basic.md b/docs/keycodes_basic.md index 66dfbe6ded..8b0e1d694d 100644 --- a/docs/keycodes_basic.md +++ b/docs/keycodes_basic.md @@ -219,8 +219,8 @@ Some of these keycodes may behave differently depending on the OS. For example, |`KC_WWW_STOP` |`KC_WSTP`|Browser Stop | |`KC_WWW_REFRESH` |`KC_WREF`|Browser Refresh | |`KC_WWW_FAVORITES` |`KC_WFAV`|Browser Favorites | -|`KC_MEDIA_FAST_FORWARD`|`KC_MFFD`|Next Track | -|`KC_MEDIA_REWIND` |`KC_MRWD`|Previous Track | +|`KC_MEDIA_FAST_FORWARD`|`KC_MFFD`|Fast Forward | +|`KC_MEDIA_REWIND` |`KC_MRWD`|Rewind | |`KC_BRIGHTNESS_UP` |`KC_BRIU`|Brightness Up | |`KC_BRIGHTNESS_DOWN` |`KC_BRID`|Brightness Down | |`KC_CONTROL_PANEL` |`KC_CPNL`|Open Control Panel | diff --git a/docs/mod_tap.md b/docs/mod_tap.md index ebf79adb7f..67922c0915 100644 --- a/docs/mod_tap.md +++ b/docs/mod_tap.md @@ -37,7 +37,7 @@ For convenience, QMK includes some Mod-Tap shortcuts to make common combinations |`LCA_T(kc)` | |Left Control and Left Alt when held, `kc` when tapped | |`LCG_T(kc)` | |Left Control and Left GUI when held, `kc` when tapped | |`LSA_T(kc)` | |Left Shift and Left Alt when held, `kc` when tapped | -|`LSG_T(kc)` |`SGUI_T(kc)`, `SCMD_T(kc)`, `SWIN_T(kc)` |Left Shift and Left GUI when held, `kc` when tapped | +|`LSG_T(kc)` | |Left Shift and Left GUI when held, `kc` when tapped | |`LAG_T(kc)` | |Left Alt and Left GUI when held, `kc` when tapped | |`LCSG_T(kc)`| |Left Control, Left Shift and Left GUI when held, `kc` when tapped | |`LCAG_T(kc)`| |Left Control, Left Alt and Left GUI when held, `kc` when tapped | @@ -49,14 +49,14 @@ For convenience, QMK includes some Mod-Tap shortcuts to make common combinations |`RCS_T(kc)` | |Right Control and Right Shift when held, `kc` when tapped | |`RCA_T(kc)` | |Right Control and Right Alt when held, `kc` when tapped | |`RCG_T(kc)` | |Right Control and Right GUI when held, `kc` when tapped | -|`RSA_T(kc)` |`SAGR_T(kc)` |Right Shift and Right Alt when held, `kc` when tapped | +|`RSA_T(kc)` | |Right Shift and Right Alt when held, `kc` when tapped | |`RSG_T(kc)` | |Right Shift and Right GUI when held, `kc` when tapped | |`RAG_T(kc)` | |Right Alt and Right GUI when held, `kc` when tapped | |`RCSG_T(kc)`| |Right Control, Right Shift and Right GUI when held, `kc` when tapped | |`RCAG_T(kc)`| |Right Control, Right Alt and Right GUI when held, `kc` when tapped | |`RSAG_T(kc)`| |Right Shift, Right Alt and Right GUI when held, `kc` when tapped | |`MEH_T(kc)` | |Left Control, Left Shift and Left Alt when held, `kc` when tapped | -|`HYPR_T(kc)`|`ALL_T(kc)` |Left Control, Left Shift, Left Alt and Left GUI when held, `kc` when tapped1| +|`HYPR_T(kc)`| |Left Control, Left Shift, Left Alt and Left GUI when held, `kc` when tapped1| 1. More information on the Hyper key can be found on [this blog post by Brett Terpstra](https://brettterpstra.com/2012/12/08/a-useful-caps-lock-key/). diff --git a/docs/newbs_building_firmware_configurator.md b/docs/newbs_building_firmware_configurator.md index 85522e405c..6d441311dc 100644 --- a/docs/newbs_building_firmware_configurator.md +++ b/docs/newbs_building_firmware_configurator.md @@ -1,6 +1,6 @@ # QMK Configurator -[![QMK Configurator Screenshot](https://i.imgur.com/anw9cOL.png)](https://config.qmk.fm/) +[![QMK Configurator Screenshot](/anw9cOL.png)](https://config.qmk.fm/) The [QMK Configurator](https://config.qmk.fm) is an online graphical user interface that generates QMK Firmware `.hex` or `.bin` files. diff --git a/docs/newbs_external_userspace.md b/docs/newbs_external_userspace.md index fdc998c37a..9f818f46f9 100644 --- a/docs/newbs_external_userspace.md +++ b/docs/newbs_external_userspace.md @@ -32,11 +32,11 @@ Building locally has a much shorter turnaround time than waiting for GitHub Acti 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) +![Userspace Fork](/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) +![Userspace Clone](/CWYmsk8.png) ```sh cd $HOME @@ -99,8 +99,8 @@ All firmware builds you've added to the External Userspace build targets will be 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) +![Repo Settings](/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) +![Releases](/zmwOL5P.png) diff --git a/docs/other_eclipse.md b/docs/other_eclipse.md index 5a0228efce..1745f08932 100644 --- a/docs/other_eclipse.md +++ b/docs/other_eclipse.md @@ -66,7 +66,7 @@ Once both plugins are installed, restart Eclipse as prompted. * Select the _AVR-GCC Toolchain_; * Keep the rest as-is and click Finish - ![Importing QMK in Eclipse](https://i.imgur.com/oHYR1yW.png) + ![Importing QMK in Eclipse](/oHYR1yW.png) 3. The project will now be loaded and indexed. Its files can be browsed easily through the _Project Explorer_ on the left. diff --git a/docs/other_vscode.md b/docs/other_vscode.md index 0b39746a6e..3bd7e3f44f 100644 --- a/docs/other_vscode.md +++ b/docs/other_vscode.md @@ -174,7 +174,7 @@ You'll need to perform some modifications to the file above in order to target y * `"armToolchainPath"`: _[Optional]_ The path to the ARM toolchain installation location on Windows -- under normal circumstances Linux/macOS will auto-detect this correctly and will not need to be specified. ::: warning -Windows builds of QMK Firmware are generally compiled using QMK MSYS, and the path to gdb's location (`C:\\QMK_MSYS\\mingw64\\bin`) needs to be specified under `armToolchainPath` for it to be detected. You may also need to change the GDB path to point at `C:\\QMK_MSYS\\mingw64\\bin\\gdb-multiarch.exe` in the VSCode Cortex-Debug user settings: ![VSCode Settings](https://i.imgur.com/EGrPM1L.png) +Windows builds of QMK Firmware are generally compiled using QMK MSYS, and the path to gdb's location (`C:\\QMK_MSYS\\mingw64\\bin`) needs to be specified under `armToolchainPath` for it to be detected. You may also need to change the GDB path to point at `C:\\QMK_MSYS\\mingw64\\bin\\gdb-multiarch.exe` in the VSCode Cortex-Debug user settings: ![VSCode Settings](/EGrPM1L.png) ::: The following modifications must be made to the keyboard's `rules.mk` file to enable debug information and disable optimisations -- this will ensure breakpoints and variable viewing works correctly: diff --git a/docs/platformdev_blackpill_f4x1.md b/docs/platformdev_blackpill_f4x1.md index a8d21c255c..e9af534e58 100644 --- a/docs/platformdev_blackpill_f4x1.md +++ b/docs/platformdev_blackpill_f4x1.md @@ -7,7 +7,7 @@ The WeAct Blackpill is a popular choice for handwired boards, as it offers a pow * [WeAct GitHub for F4x1 Blackpill](https://github.com/WeActStudio/WeActStudio.MiniSTM32F4x1) * Unfortunately, due to supply issues official WeAct F411 based blackpills may not be available. -![Blackpill F411](https://i.imgur.com/nCgeolTh.png) +![Blackpill F411](/nCgeolTh.png) ## Pin Usage Limitations diff --git a/docs/platformdev_proton_c.md b/docs/platformdev_proton_c.md index 3afec893fa..16eeb7b28a 100644 --- a/docs/platformdev_proton_c.md +++ b/docs/platformdev_proton_c.md @@ -2,7 +2,7 @@ The Proton C is an Arm STM32F303xC based drop-in replacement for the Pro Micro. -Proton C +Proton C #### Features diff --git a/docs/platformdev_rp2040.md b/docs/platformdev_rp2040.md index 1269ffeeb5..346cae58dc 100644 --- a/docs/platformdev_rp2040.md +++ b/docs/platformdev_rp2040.md @@ -17,8 +17,8 @@ The following table shows the current driver status for peripherals on RP2040 MC ## GPIO -Raspberry Pi Pico pinout -Sparkfun RP2040 Pro Micro pinout +Raspberry Pi Pico pinout +Sparkfun RP2040 Pro Micro pinout ::: warning The GPIO pins of the RP2040 are not 5V tolerant! diff --git a/docs/porting_your_keyboard_to_qmk.md b/docs/porting_your_keyboard_to_qmk.md index 737ec4a2cf..108576cb58 100644 --- a/docs/porting_your_keyboard_to_qmk.md +++ b/docs/porting_your_keyboard_to_qmk.md @@ -164,7 +164,7 @@ There are a lot of features that can be turned on or off, configured or tuned. S ### Configuration Options -For available options for `config.h`, you should see the [Config Options](config_options#the-configh-file) page for more details. +For available options for `config.h`, you should see the [Config Options](config_options#the-config-h-file) page for more details. ### Build Options diff --git a/docs/public/0GNIYY0.jpg b/docs/public/0GNIYY0.jpg new file mode 100644 index 0000000000..ccf2f5dcbe Binary files /dev/null and b/docs/public/0GNIYY0.jpg differ diff --git a/docs/public/1TPAhrs.jpg b/docs/public/1TPAhrs.jpg new file mode 100644 index 0000000000..1629c8f3a5 Binary files /dev/null and b/docs/public/1TPAhrs.jpg differ diff --git a/docs/public/2wUZNWk.png b/docs/public/2wUZNWk.png new file mode 100644 index 0000000000..a1e5355a4c Binary files /dev/null and b/docs/public/2wUZNWk.png differ diff --git a/docs/public/3RrSjzW.png b/docs/public/3RrSjzW.png new file mode 100644 index 0000000000..af17f0c759 Binary files /dev/null and b/docs/public/3RrSjzW.png differ diff --git a/docs/public/4wjJzBU.png b/docs/public/4wjJzBU.png new file mode 100644 index 0000000000..c152bc0a23 Binary files /dev/null and b/docs/public/4wjJzBU.png differ diff --git a/docs/public/5wsh5wM.png b/docs/public/5wsh5wM.png new file mode 100644 index 0000000000..9242e0c4b0 Binary files /dev/null and b/docs/public/5wsh5wM.png differ diff --git a/docs/public/8Toomz4.jpg b/docs/public/8Toomz4.jpg new file mode 100644 index 0000000000..6099dd2b4b Binary files /dev/null and b/docs/public/8Toomz4.jpg differ diff --git a/docs/public/AvXZShD.jpg b/docs/public/AvXZShD.jpg new file mode 100644 index 0000000000..fc7272e1d6 Binary files /dev/null and b/docs/public/AvXZShD.jpg differ diff --git a/docs/public/BPEC5n5.jpg b/docs/public/BPEC5n5.jpg new file mode 100644 index 0000000000..99f18115c1 Binary files /dev/null and b/docs/public/BPEC5n5.jpg differ diff --git a/docs/public/BmAvoUC.png b/docs/public/BmAvoUC.png new file mode 100644 index 0000000000..f44fd1ce5c Binary files /dev/null and b/docs/public/BmAvoUC.png differ diff --git a/docs/public/Bu4mk9m.png b/docs/public/Bu4mk9m.png new file mode 100644 index 0000000000..e80e6b751e Binary files /dev/null and b/docs/public/Bu4mk9m.png differ diff --git a/docs/public/CWYmsk8.png b/docs/public/CWYmsk8.png new file mode 100644 index 0000000000..2d1f186cef Binary files /dev/null and b/docs/public/CWYmsk8.png differ diff --git a/docs/public/CnASmPo.jpg b/docs/public/CnASmPo.jpg new file mode 100644 index 0000000000..128cc806a1 Binary files /dev/null and b/docs/public/CnASmPo.jpg differ diff --git a/docs/public/DkEhj9x.png b/docs/public/DkEhj9x.png new file mode 100644 index 0000000000..6a31d1f1d2 Binary files /dev/null and b/docs/public/DkEhj9x.png differ diff --git a/docs/public/DxMHpJ8.jpg b/docs/public/DxMHpJ8.jpg new file mode 100644 index 0000000000..179c2b6b69 Binary files /dev/null and b/docs/public/DxMHpJ8.jpg differ diff --git a/docs/public/EGrPM1L.png b/docs/public/EGrPM1L.png new file mode 100644 index 0000000000..5b7bbd4ea7 Binary files /dev/null and b/docs/public/EGrPM1L.png differ diff --git a/docs/public/EVkxOt1.png b/docs/public/EVkxOt1.png new file mode 100644 index 0000000000..56f862ccb7 Binary files /dev/null and b/docs/public/EVkxOt1.png differ diff --git a/docs/public/FRShcLD.png b/docs/public/FRShcLD.png new file mode 100644 index 0000000000..6f91c1cff5 Binary files /dev/null and b/docs/public/FRShcLD.png differ diff --git a/docs/public/HL5DP8H.png b/docs/public/HL5DP8H.png new file mode 100644 index 0000000000..523d59f98d Binary files /dev/null and b/docs/public/HL5DP8H.png differ diff --git a/docs/public/Hx0E5kC.png b/docs/public/Hx0E5kC.png new file mode 100644 index 0000000000..67717e1e89 Binary files /dev/null and b/docs/public/Hx0E5kC.png differ diff --git a/docs/public/JKngtTw.png b/docs/public/JKngtTw.png new file mode 100644 index 0000000000..5c38745181 Binary files /dev/null and b/docs/public/JKngtTw.png differ diff --git a/docs/public/JcDhZll.png b/docs/public/JcDhZll.png new file mode 100644 index 0000000000..8d4b74268a Binary files /dev/null and b/docs/public/JcDhZll.png differ diff --git a/docs/public/N1NYcSz.jpg b/docs/public/N1NYcSz.jpg new file mode 100644 index 0000000000..f3e0c694e6 Binary files /dev/null and b/docs/public/N1NYcSz.jpg differ diff --git a/docs/public/Ojydlaj.jpg b/docs/public/Ojydlaj.jpg new file mode 100644 index 0000000000..989a611813 Binary files /dev/null and b/docs/public/Ojydlaj.jpg differ diff --git a/docs/public/QeY6kMQ.png b/docs/public/QeY6kMQ.png new file mode 100644 index 0000000000..b990847c1c Binary files /dev/null and b/docs/public/QeY6kMQ.png differ diff --git a/docs/public/QiA3ta6.jpg b/docs/public/QiA3ta6.jpg new file mode 100644 index 0000000000..a10b4165c4 Binary files /dev/null and b/docs/public/QiA3ta6.jpg differ diff --git a/docs/public/RFyNMlL.jpg b/docs/public/RFyNMlL.jpg new file mode 100644 index 0000000000..1cfd86f6ef Binary files /dev/null and b/docs/public/RFyNMlL.jpg differ diff --git a/docs/public/UlJ4ZDP.png b/docs/public/UlJ4ZDP.png new file mode 100644 index 0000000000..d38f40deed Binary files /dev/null and b/docs/public/UlJ4ZDP.png differ diff --git a/docs/public/aEs2RuA.png b/docs/public/aEs2RuA.png new file mode 100644 index 0000000000..af3ad19053 Binary files /dev/null and b/docs/public/aEs2RuA.png differ diff --git a/docs/public/aTnG8TV.jpg b/docs/public/aTnG8TV.jpg new file mode 100644 index 0000000000..6337adf10e Binary files /dev/null and b/docs/public/aTnG8TV.jpg differ diff --git a/docs/public/anw9cOL.png b/docs/public/anw9cOL.png new file mode 100644 index 0000000000..09740d1da5 Binary files /dev/null and b/docs/public/anw9cOL.png differ diff --git a/docs/public/b4b7KDb.jpg b/docs/public/b4b7KDb.jpg new file mode 100644 index 0000000000..76acd2cf5c Binary files /dev/null and b/docs/public/b4b7KDb.jpg differ diff --git a/docs/public/b8VgXzx.png b/docs/public/b8VgXzx.png new file mode 100644 index 0000000000..9aa32c22dd Binary files /dev/null and b/docs/public/b8VgXzx.png differ diff --git a/docs/public/eGO0ohO.jpg b/docs/public/eGO0ohO.jpg new file mode 100644 index 0000000000..d1c9b730a0 Binary files /dev/null and b/docs/public/eGO0ohO.jpg differ diff --git a/docs/public/eHJjmnU.jpg b/docs/public/eHJjmnU.jpg new file mode 100644 index 0000000000..aebbc9d200 Binary files /dev/null and b/docs/public/eHJjmnU.jpg differ diff --git a/docs/public/fmDvDzR.png b/docs/public/fmDvDzR.png new file mode 100644 index 0000000000..3284d2a8fc Binary files /dev/null and b/docs/public/fmDvDzR.png differ diff --git a/docs/public/hcegguh.png b/docs/public/hcegguh.png new file mode 100644 index 0000000000..98ad8ff19c Binary files /dev/null and b/docs/public/hcegguh.png differ diff --git a/docs/public/mBe5vkL.jpg b/docs/public/mBe5vkL.jpg new file mode 100644 index 0000000000..8174d8c080 Binary files /dev/null and b/docs/public/mBe5vkL.jpg differ diff --git a/docs/public/nCgeolTh.png b/docs/public/nCgeolTh.png new file mode 100644 index 0000000000..c92cbedb9f Binary files /dev/null and b/docs/public/nCgeolTh.png differ diff --git a/docs/public/nLaiYDE.jpg b/docs/public/nLaiYDE.jpg new file mode 100644 index 0000000000..b31413693c Binary files /dev/null and b/docs/public/nLaiYDE.jpg differ diff --git a/docs/public/o7WLvBl.png b/docs/public/o7WLvBl.png new file mode 100644 index 0000000000..abd42d8c05 Binary files /dev/null and b/docs/public/o7WLvBl.png differ diff --git a/docs/public/oHYR1yW.png b/docs/public/oHYR1yW.png new file mode 100644 index 0000000000..77bc73238d Binary files /dev/null and b/docs/public/oHYR1yW.png differ diff --git a/docs/public/oITudbX.jpg b/docs/public/oITudbX.jpg new file mode 100644 index 0000000000..7edcb5781a Binary files /dev/null and b/docs/public/oITudbX.jpg differ diff --git a/docs/public/vkYVo66.jpg b/docs/public/vkYVo66.jpg new file mode 100644 index 0000000000..fd77a22b25 Binary files /dev/null and b/docs/public/vkYVo66.jpg differ diff --git a/docs/public/z2QlKfB.jpg b/docs/public/z2QlKfB.jpg new file mode 100644 index 0000000000..59ca44303b Binary files /dev/null and b/docs/public/z2QlKfB.jpg differ diff --git a/docs/public/zmwOL5P.png b/docs/public/zmwOL5P.png new file mode 100644 index 0000000000..0921dff37d Binary files /dev/null and b/docs/public/zmwOL5P.png differ diff --git a/docs/quantum_painter_lvgl.md b/docs/quantum_painter_lvgl.md index 40b3c3b2f1..0ff0e321ec 100644 --- a/docs/quantum_painter_lvgl.md +++ b/docs/quantum_painter_lvgl.md @@ -5,7 +5,7 @@ LVGL (Light and Versatile Graphics Library) is an open-source graphics library p LVGL integrates with [Quantum Painter's](quantum_painter) API and drivers to render to the display, the hardware supported by Quantum Painter is also supported by LVGL. ::: tip -Keep in mind that enabling the LVGL integration has a big impact in firmware size, it is recommeded to use a supported MCU with >256 kB of flash space. +Keep in mind that enabling the LVGL integration has a big impact in firmware size, it is recommended to use a supported MCU with >256 kB of flash space. ::: To learn more about LVGL and how to use it please take a look at their [official documentation](https://docs.lvgl.io/8.2/intro/) @@ -35,7 +35,7 @@ static painter_device_t display; void keyboard_post_init_kb(void) { display = qp_make_.......; // Create the display qp_init(display, QP_ROTATION_0); // Initialise the display - + if (qp_lvgl_attach(display)) { // Attach LVGL to the display ...Your code to draw // Run LVGL specific code to draw } diff --git a/docs/reference_configurator_support.md b/docs/reference_configurator_support.md index d0824c7705..4f2ddfffe8 100644 --- a/docs/reference_configurator_support.md +++ b/docs/reference_configurator_support.md @@ -189,15 +189,25 @@ Currently, the Configurator does not support key rotation or non-rectangular key For ISO Enter keys, QMK custom is to display it as a rectangular key, 1.25u wide and 2u high, aligned so its right edge is aligned with the right edge of the alphanumeric key block. -![](https://i.imgur.com/JKngtTw.png) +![](/JKngtTw.png) *A 60% keyboard in standard ISO layout, as rendered by QMK Configurator.* #### Vertically-offset keys For vertically-offset keys, place them in KLE as if they were not offset, then edit the Y-values as needed in the converted JSON file -![](https://i.imgur.com/fmDvDzR.png) +![](/fmDvDzR.png) *An 1800-layout keyboard as rendered in Keyboard Layout Editor, without the vertical offset applied to the arrow keys.* -![](https://i.imgur.com/8beYMBR.png) -*A Unix diff file, showing the changes needed to vertically-offset the arrow keys in our keyboard's JSON file.* +```diff +-{"label": "\u2191", "x", 14.25, "y": 5}, ++{"label": "\u2191", "x", 14.25, "y": 5.25}, +... +-{"label": "\u2190", "x", 13.25, "y": 6}, +-{"label": "\u2193", "x", 14.25, "y": 6}, +-{"label": "\u2192", "x", 15.25, "y": 6}, ++{"label": "\u2190", "x", 13.25, "y": 6.25}, ++{"label": "\u2193", "x", 14.25, "y": 6.25}, ++{"label": "\u2192", "x", 15.25, "y": 6.25}, +``` +*A diff showing the changes needed to vertically-offset the arrow keys in our keyboard's JSON file.* diff --git a/docs/reference_info_json.md b/docs/reference_info_json.md index 59daafe3f9..84377ef36c 100644 --- a/docs/reference_info_json.md +++ b/docs/reference_info_json.md @@ -179,6 +179,32 @@ Configures the [Backlight](features/backlight) feature. * `pins` Array: Pin * A list of GPIO pins connected to the backlight LEDs (`software` and `timer` drivers only). +## Battery + +Configures the [Battery](features/battery) feature. + +* `battery` + * `adc` + * `pin` Pin Required + * The GPIO pin connected to the voltage divider. + * `reference_voltage` Number + * The ADC reverence voltage, in millivolts. + * Default: `3300` + * `divider_r1` Number + * The voltage divider resistance, in kOhm. Set to 0 to disable. + * Default: `100` + * `divider_r2` Number + * The voltage divider resistance, in kOhm. Set to 0 to disable. + * Default: `100` + * `resolution` Number + * The ADC resolution configured for the ADC Driver. + * Default: `10` + * `driver` String Required + * The driver to use. Must be one of `adc`, `custom`, `vendor`. + * `sample_interval` Number + * The delay between sampling the battery in milliseconds. + * Default: `30000` (30 s) + ## Wireless/Bluetooth {#bluetooth} Configures the [Wireless](features/wireless) feature. @@ -480,6 +506,9 @@ Configures the [LED Matrix](features/led_matrix) feature. * `io_delay` Number * The amount of time to wait between row/col selection and col/row pin reading, in microseconds. * Default: `30` (30 µs) + * `masked` Boolean + * Whether configured intersections should be ignored. + * Default: `false` * `rows` Array: Pin * A list of GPIO pins connected to the matrix rows. * Example: `["B0", "B1", "B2"]` @@ -750,9 +779,9 @@ Configures the [Split Keyboard](features/split_keyboard) feature. * Default: `"bitbang"` * `pin` Pin * The GPIO pin to use for transmit and receive. - * `soft_serial_speed` Number - * The protocol speed, from `0` to `5` (`serial` transport protocol only). - * Default: `1` + * `speed` Number + * The protocol speed, from `0` to `5` (fastest to slowest). + * Default: `1` * `transport` * `protocol` String * The split transport protocol to use. Must be one of `custom`, `i2c`, `serial`. diff --git a/docs/squeezing_avr.md b/docs/squeezing_avr.md index c3f3d3c6e1..458b442d59 100644 --- a/docs/squeezing_avr.md +++ b/docs/squeezing_avr.md @@ -5,14 +5,14 @@ AVR is severely resource-constrained, and as QMK continues to grow, it is approa However, if you need to reduce the compiled size of your firmware to fit the controller's limited flash size, there are a number of options to do so. ## `rules.mk` Settings -First and foremost is enabling link time optimization. To do so, add this to your rules.mk: +First and foremost is enabling link time optimization. To do so, add this to your rules.mk: ```make LTO_ENABLE = yes ``` This will cause the final step to take longer, but should get you a smaller compiled size. This also disables Action Functions, and Action Macros, both of which are deprecated. This will get you the most savings, in most situations. -From there, disabling extraneous systems will help -- e.g.: +From there, disabling extraneous systems will help -- e.g.: ```make CONSOLE_ENABLE = no COMMAND_ENABLE = no @@ -21,10 +21,10 @@ EXTRAKEY_ENABLE = no ``` This disables some of the functionality that you may not need. But note that extrakeys disables stuff like the media keys and system volume control. -If that isn't enough to get your firmware down to size, then there are some additional features that you can disable: +If that isn't enough to get your firmware down to size, then there are some additional features that you can disable: ```make SPACE_CADET_ENABLE = no -GRAVE_ESC_ENABLE = no +GRAVE_ESC_ENABLE = no MAGIC_ENABLE = no ``` These features are enabled by default, but they may not be needed. Double check to make sure. The [Magic Keycodes](keycodes_magic) 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. @@ -51,7 +51,7 @@ Starting with Lock Key support. If you have a Cherry MX Lock switch (lucky you!) #undef LOCKING_SUPPORT_ENABLE #undef LOCKING_RESYNC_ENABLE ``` -Oneshots. If you're not using these, you can disable the feature by adding this to your `config.h`: +Oneshots. If you're not using these, you can disable the feature by adding this to your `config.h`: ```c #define NO_ACTION_ONESHOT ``` @@ -61,7 +61,7 @@ The same with tapping keys (mod tap, layer tap, etc) ``` ## Audio Settings -If you're using the Audio feature, by default that includes the music mode feature. This tranlates matrix positions into notes. It's neat for sure, but most likely, you're not using it. You can disable it by adding this to your `config.h`: +If you're using the Audio feature, by default that includes the music mode feature. This translates matrix positions into notes. It's neat for sure, but most likely, you're not using it. You can disable it by adding this to your `config.h`: ```c #define NO_MUSIC_MODE ``` @@ -124,7 +124,7 @@ into this: oled_write_P(PSTR("WPM: "), false); oled_write(get_u8_str(get_current_wpm(), ' '), false); ``` -which outputs `WPM: 5`. Or this: +which outputs `WPM: 5`. Or this: ```c // NEW CODE oled_write_P(PSTR("WPM: "), false); diff --git a/docs/tap_hold.md b/docs/tap_hold.md index 164be229f6..bc2c505040 100644 --- a/docs/tap_hold.md +++ b/docs/tap_hold.md @@ -1,15 +1,15 @@ # Tap-Hold Configuration Options -While Tap-Hold options are fantastic, they are not without their issues. We have tried to configure them with reasonable defaults, but that may still cause issues for some people. +While Tap-Hold options are fantastic, they are not without their issues. We have tried to configure them with reasonable defaults, but that may still cause issues for some people. -These options let you modify the behavior of the Tap-Hold keys. +These options let you modify the behavior of the tap-hold keys. ## Tapping Term -The crux of all of the following features is the tapping term setting. This determines what is a tap and what is a hold. The exact timing for this to feel natural can vary from keyboard to keyboard, from switch to switch, and from key to key. +The crux of all of the following features is the tapping term setting. This determines what is a tap and what is a hold. The exact timing for this to feel natural can vary from keyboard to keyboard, from switch to switch, and from key to key. ::: tip -`DYNAMIC_TAPPING_TERM_ENABLE` enables three special keys that can help you quickly find a comfortable tapping term for you. See "Dynamic Tapping Term" for more details. +`DYNAMIC_TAPPING_TERM_ENABLE` enables three special keys that can help you quickly find a comfortable tapping term for you. See [Dynamic Tapping Term](#dynamic-tapping-term) for more details. ::: You can set the global time for this by adding the following setting to your `config.h`: @@ -18,14 +18,14 @@ You can set the global time for this by adding the following setting to your `co #define TAPPING_TERM 200 ``` -This setting is defined in milliseconds and defaults to 200ms. This is a good average for the majority of people. +This setting is defined in milliseconds and defaults to 200ms. This is a good average for the majority of people. For more granular control of this feature, you can add the following to your `config.h`: ```c #define TAPPING_TERM_PER_KEY ``` -You can then add the following function to your keymap: +You can then add the following function to your `keymap.c` to customise the tapping term for each key: ```c uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record) { @@ -40,9 +40,41 @@ uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record) { } ``` +### Example + +You can compare keycodes to `QK_MOD_TAP`/`QK_MOD_TAP_MAX` and `QK_LAYER_TAP`/`QK_LAYER_TAP_MAX` to filter out Mod-Tap/Layer-Tap keys, rather than checking such keys manually in a switch-case. For instance, this example sets all Mod-Tap keys to have a higher tapping term, while leaving all other tap-hold keys unchanged: + +```c +uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case QK_MOD_TAP ... QK_MOD_TAP_MAX: + return TAPPING_TERM + 100; + default: + return TAPPING_TERM; + } +} +``` + +You can also use functions like `QK_MOD_TAP_GET_MODS`, `QK_LAYER_MOD_GET_MODS`, and `QK_ONE_SHOT_MOD_GET_MODS` to filter Mod-Tap/Layer-Mod/One Shot keys by their mods. + +For instance, this example sets a higher tapping term for `AltGr` Mod-Taps and lower tapping terms for `Shift` Mod-Taps: + +```c +uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record) { + uint8_t mod = mod_config(QK_MOD_TAP_GET_MODS(keycode)); + if (mod & MOD_LSFT != 0 || mod & MOD_RSFT != 0) { + return 100; + } + if (mod & MOD_RALT != 0) { + return TAPPING_TERM + 50; + } + return TAPPING_TERM; +} +``` + ### Dynamic Tapping Term {#dynamic-tapping-term} -`DYNAMIC_TAPPING_TERM_ENABLE` is a feature you can enable in `rules.mk` that lets you use three special keys in your keymap to configure the tapping term on the fly. +`DYNAMIC_TAPPING_TERM_ENABLE` is a feature you can enable in `rules.mk` that lets you use three special keys in your keymap to configure the tapping term on the fly: | Key | Aliases | Description | |-------------------------------|---------|-------------------------------------------------------------------------------------------| @@ -52,13 +84,13 @@ uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record) { Set the tapping term as usual with `#define TAPPING_TERM ` in `config.h` and add `DYNAMIC_TAPPING_TERM_ENABLE = yes` in `rules.mk`. Then, place the above three keys somewhere in your keymap and flash the new firmware onto your board. -Now, you can try using your dual-role keys, such as layer-taps and mod-taps, and use `DT_DOWN` and `DT_UP` to adjust the tapping term immediately. If you find that you frequently trigger the modifier of your mod-tap(s) by accident, for example, that's a sign that your tapping term may be too low so tap `DT_UP` a few times to increase the tapping term until that no longer happens. On the flip side, if you get superfluous characters when you actually intended to momentarily activate a layer, tap `DT_DOWN` to lower the tapping term. Do note that these keys affect the *global* tapping term, you cannot change the tapping term of a specific key on the fly. +Now, you can try using your dual-role keys such as Layer-Taps and Mod-Taps and use `DT_DOWN` and `DT_UP` to adjust the tapping term immediately. If you find that you frequently trigger the modifier of your Mod-Tap(s) by accident, for example, that's a sign that your tapping term may be too low, so tap `DT_UP` a few times to increase the tapping term until that no longer happens. Conversely, if you get superfluous characters when you actually intended to momentarily activate a layer, tap `DT_DOWN` to lower the tapping term. Do note that these keys affect the *global* tapping term, you cannot change the tapping term of a specific key on the fly. -Once you're satisfied with the current tapping term value, open `config.h` and replace whatever value you first wrote for the tapping term by the output of the `DT_PRNT` key. +Once you're satisfied with the current tapping term value, you can tap the `DT_PRNT` key to see your new tapping term, and you can replace the tapping term in `config.h` with this new value. -It's important to update `TAPPING_TERM` with the new value because the adjustments made using `DT_UP` and `DT_DOWN` are not persistent. +It's important to update `TAPPING_TERM` with the new value because the adjustments made using `DT_UP` and `DT_DOWN` are *not* persistent. -The value by which the tapping term increases or decreases when you tap `DT_UP` and `DT_DOWN` can be configured in `config.h` with `#define DYNAMIC_TAPPING_TERM_INCREMENT `. Note that the tapping term is *not* modified when holding down the tap term keys so if you need to, for example, decrease the current tapping term by 50ms, you cannot just press down and hold `DT_DOWN`; you will have to tap it 10 times in a row with the default increment of 5ms. +The value by which the tapping term increases or decreases when you tap `DT_UP` and `DT_DOWN` can be configured in `config.h` with `#define DYNAMIC_TAPPING_TERM_INCREMENT `. Note that the tapping term is *not* modified when *holding* down the tap term keys, so if you need to, for example, decrease the current tapping term by 50ms, you cannot just press down and hold `DT_DOWN`; you will have to tap it 10 times in a row with the default increment of 5ms. If you need more flexibility, nothing prevents you from defining your own custom keys to dynamically change the tapping term. @@ -97,7 +129,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { }; ``` -In order for this feature to be effective if you use per-key tapping terms, you need to make a few changes to the syntax of the `get_tapping_term` function. All you need to do is replace every occurrence of `TAPPING_TERM` in the `get_tapping_term` function by lowercase `g_tapping_term`. If you don't do that, you will still see the value typed by `DT_PRNT` go up and down as you configure the tapping term on the fly but you won't feel those changes as they don't get applied. If you can go as low as 10ms and still easily trigger the tap function of a dual-role key, that's a sign that you forgot to make the necessary changes to your `get_tapping_term` function. +In order for this feature to be effective, if you use per-key tapping terms, then you need to make a few changes to the syntax of the `get_tapping_term` function. All you need to do is replace every occurrence of `TAPPING_TERM` in the `get_tapping_term` function by lowercase `g_tapping_term`. If you don't do this, you will still see the value typed by `DT_PRNT` go up and down as you configure the tapping term on the fly, but you won't feel those changes as they don't get applied. If you can go as low as 10ms and still easily trigger the tap function of a dual-role key, that's a sign that you forgot to make the necessary changes to your `get_tapping_term` function. For instance, here's how the example `get_tapping_term` shown earlier should look after the transformation: @@ -114,23 +146,23 @@ uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record) { } ``` -The reason is that `TAPPING_TERM` is a macro that expands to a constant integer and thus cannot be changed at runtime whereas `g_tapping_term` is a variable whose value can be changed at runtime. If you want, you can temporarily enable `DYNAMIC_TAPPING_TERM_ENABLE` to find a suitable tapping term value and then disable that feature and revert back to using the classic syntax for per-key tapping term settings. In case you need to access the tapping term from elsewhere in your code, you can use the `GET_TAPPING_TERM(keycode, record)` macro. This macro will expand to whatever is the appropriate access pattern given the current configuration. +The reason is that `TAPPING_TERM` is a macro that expands to a constant integer and thus cannot be changed at runtime, whereas `g_tapping_term` is a variable whose value can be changed at runtime. If you want, you can temporarily enable `DYNAMIC_TAPPING_TERM_ENABLE` to find a suitable tapping term value and then disable that feature and revert back to using the classic syntax for per-key tapping term settings. In case you need to access the tapping term from elsewhere in your code, you can use the `GET_TAPPING_TERM(keycode, record)` macro. This macro will expand to whatever is the appropriate access pattern given the current configuration. ## Tap-Or-Hold Decision Modes The code which decides between the tap and hold actions of dual-role keys supports three different modes, in increasing order of preference for the hold action: -1. The default mode selects the hold action only if the dual-role key is held down longer than the tapping term. In this mode pressing other keys while the dual-role key is held down does not influence the tap-or-hold decision. In other words, this mode ignores interrupts. +1. The default mode selects the hold action only if the dual-role key is held down longer than the tapping term. In this mode, pressing other keys while the dual-role key is held down does not influence the tap-or-hold decision. In other words, this mode ignores interrupts. -2. The “permissive hold” mode, in addition to the default behavior, immediately selects the hold action when another key is tapped (pressed and then released) while the dual-role key is held down, even if this happens earlier than the tapping term. If another key is just pressed, but then the dual-role key is released before that other key (and earlier than the tapping term), this mode will still select the tap action. +2. The "permissive hold" mode, in addition to the default behavior, immediately selects the hold action when another key is tapped (pressed and then released) while the dual-role key is held down, even if this happens earlier than the tapping term. If another key is just pressed, but then the dual-role key is released before that other key (and earlier than the tapping term), this mode will still select the tap action. That is, this mode converts "nested" sequences, but not "rolls". -3. The “hold on other key press” mode, in addition to the default behavior, immediately selects the hold action when another key is pressed while the dual-role key is held down, even if this happens earlier than the tapping term. +3. The "hold on other key press" mode, in addition to the default behavior, immediately selects the hold action when another key is pressed while the dual-role key is held down, even if this happens earlier than the tapping term. Note that until the tap-or-hold decision completes (which happens when either the dual-role key is released, or the tapping term has expired, or the extra condition for the selected decision mode is satisfied), key events are delayed and not transmitted to the host immediately. The default mode gives the most delay (if the dual-role key is held down, this mode always waits for the whole tapping term), and the other modes may give less delay when other keys are pressed, because the hold action may be selected earlier. ### Comparison {#comparison} -To better illustrate the tap-or-hold decision modes, let us compare the expected output of each decision mode in a handful of tapping scenarios involving a mod-tap key (`LSFT_T(KC_A)`) and a regular key (`KC_B`) with the `TAPPING_TERM` set to 200ms. +To better illustrate the tap-or-hold decision modes, let us compare the expected output of each decision mode in a handful of tapping scenarios involving a Mod-Tap key (`LSFT_T(KC_A)`) and a regular key (`KC_B`) with the `TAPPING_TERM` set to 200ms. Note: "`kc` held" in the "Physical key event" column means that the key wasn't physically released yet at this point in time. @@ -228,7 +260,7 @@ The above sequence will not send `KC_RGHT` but `KC_A` `KC_L` instead, since `LT( --- -Example sequence 3 (Mod Tap): +Example sequence 3 (Mod-Tap): ``` TAPPING_TERM @@ -246,17 +278,17 @@ followed by any key event that happened after the initial press of `SFT_T(KC_A)` ### Permissive Hold -The “permissive hold” mode can be enabled for all dual-role keys by adding the corresponding option to `config.h`: +The "permissive hold" mode can be enabled for all dual-role keys by adding the corresponding option to `config.h`: ```c #define PERMISSIVE_HOLD ``` -This makes tap and hold keys (like Layer Tap) work better for fast typists, or for high `TAPPING_TERM` settings. +This makes tap and hold keys (like Layer-Tap) work better for fast typists, or for high `TAPPING_TERM` settings. -If you press a dual-role key, tap another key (press and release) 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 `PERMISSIVE_HOLD` option is enabled, the dual-role key will perform its hold action instead. +If you press a dual-role key, tap another key (press and release) 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 `PERMISSIVE_HOLD` option is enabled, the dual-role key will perform its hold action instead. -An example of a sequence that is affected by the “permissive hold” mode: +An example of a sequence that is affected by the "permissive hold" mode: - `LT(2, KC_A)` Down - `KC_L` Down (the `L` key is also mapped to `KC_RGHT` on layer 2) @@ -275,9 +307,9 @@ An example of a sequence that is affected by the “permissive hold” mode: +---------------------------|--------+ ``` -Normally, if you do all this within the `TAPPING_TERM` (default: 200ms), this will be registered as `al` by the firmware and host system. With the `PERMISSIVE_HOLD` option enabled, the Layer Tap key is considered as a layer switch if another key is tapped, and the above sequence would be registered as `KC_RGHT` (the mapping of `L` on layer 2). We could describe this sequence as a “nested tap” (the modified key's key down and key up events are “nested” between the dual-role key's key down and key up events). +Normally, if you do all this within the `TAPPING_TERM` (default: 200ms), this will be registered as `al` by the firmware and host system. With the `PERMISSIVE_HOLD` option enabled, the Layer-Tap key is considered as a layer switch if another key is tapped, and the above sequence would be registered as `KC_RGHT` (the mapping of `L` on layer 2). We could describe this sequence as a "nested tap" (the modified key's key down and key up events are "nested" between the dual-role key's key down and key up events). -However, this slightly different sequence will not be affected by the “permissive hold” mode: +However, this slightly different sequence will not be affected by the "permissive hold" mode: - `LT(2, KC_A)` Down - `KC_L` Down (the `L` key is also mapped to `KC_RGHT` on layer 2) @@ -296,10 +328,10 @@ However, this slightly different sequence will not be affected by the “permiss +---------------------------|--------+ ``` -In the sequence above the dual-role key is released before the other key is released, and if that happens within the tapping term, the “permissive hold” mode will still choose the tap action for the dual-role key, and the sequence will be registered as `al` by the host. We could describe this as a “rolling press” (the two keys' key down and key up events behave as if you were rolling a ball across the two keys, first pressing each key down in sequence and then releasing them in the same order). +In the sequence above the dual-role key is released before the other key is released, and if that happens within the tapping term, the "permissive hold" mode will still choose the tap action for the dual-role key, and the sequence will be registered as `al` by the host. We could describe this as a "rolling press" (the two keys' key down and key up events behave as if you were rolling a ball across the two keys, first pressing each key down in sequence and then releasing them in the same order). ::: tip -The `PERMISSIVE_HOLD` option is not noticeable if you also enable `HOLD_ON_OTHER_KEY_PRESS` because the latter option considers both the “nested tap” and “rolling press” sequences like shown above as a hold action, not the tap action. `HOLD_ON_OTHER_KEY_PRESS` makes the Tap-Or-Hold decision earlier in the chain of key events, thus taking a precedence over `PERMISSIVE_HOLD`. +The `PERMISSIVE_HOLD` option is not noticeable if you also enable `HOLD_ON_OTHER_KEY_PRESS` because the latter option considers both the "nested tap" and "rolling press" sequences like shown above as a hold action, not the tap action. `HOLD_ON_OTHER_KEY_PRESS` makes the tap-or-hold decision earlier in the chain of key events, thus taking a precedence over `PERMISSIVE_HOLD`. ::: For more granular control of this feature, you can add the following to your `config.h`: @@ -323,19 +355,21 @@ bool get_permissive_hold(uint16_t keycode, keyrecord_t *record) { } ``` +As in the earlier example, you can filter Mod-Tap/Layer-Mod/One Shot keys by their mods rather than checking such keys manually in a switch-case. (Also applicable to the other following `PER_KEY` functions.) + ### Hold On Other Key Press -The “hold on other key press” mode can be enabled for all dual-role keys by adding the corresponding option to `config.h`: +The "hold on other key press" mode can be enabled for all dual-role keys by adding the corresponding option to `config.h`: ```c #define HOLD_ON_OTHER_KEY_PRESS ``` -This mode makes tap and hold keys (like Layer Tap) work better for fast typists, or for high `TAPPING_TERM` settings. Compared to the “permissive hold” mode, this mode selects the hold action in more cases. +This mode makes tap and hold keys (like Layer-Tap) work better for fast typists, or for high `TAPPING_TERM` settings. Compared to the "permissive hold" mode, this mode selects the hold action in more cases. -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. +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. -An example of a sequence that is affected by the “hold on other key press” mode, but not by the “permissive hold” mode: +An example of a sequence that is affected by the "hold on other key press" mode, but not by the "permissive hold" mode: - `LT(2, KC_A)` Down - `KC_L` Down (the `L` key is also mapped to `KC_RGHT` on layer 2) @@ -354,7 +388,7 @@ An example of a sequence that is affected by the “hold on other key press” m +---------------------------|--------+ ``` -Normally, if you do all this within the `TAPPING_TERM` (default: 200ms), this will be registered as `al` by the firmware and host system. With the `HOLD_ON_OTHER_KEY_PRESS` option enabled, the Layer Tap key is considered as a layer switch if another key is pressed, and the above sequence would be registered as `KC_RGHT` (the mapping of `L` on layer 2). +Normally, if you do all this within the `TAPPING_TERM` (default: 200ms), this will be registered as `al` by the firmware and host system. With the `HOLD_ON_OTHER_KEY_PRESS` option enabled, the Layer-Tap key is considered as a layer switch if another key is pressed, and the above sequence would be registered as `KC_RGHT` (the mapping of `L` on layer 2). For more granular control of this feature, you can add the following to your `config.h`: @@ -394,9 +428,9 @@ Example: - `SFT_T(KC_A)` Down - (wait until tapping term expires...) -With default settings, `a` will be sent on the first release, then `a` will be sent on the second press allowing the computer to trigger its auto repeat function until the key is released. +With default settings, `a` will be sent on the first release, then `a` will be sent on the second press, allowing the computer to trigger its auto repeat function until the key is released. -With `QUICK_TAP_TERM` configured, the timing between `SFT_T(KC_A)` up and `SFT_T(KC_A)` down must be within `QUICK_TAP_TERM` to trigger auto repeat. Otherwise the second press will be sent as a Shift. If `QUICK_TAP_TERM` is set to `0`, the second press will always be sent as a Shift, effectively disabling auto-repeat. +With `QUICK_TAP_TERM` configured, the timing between `SFT_T(KC_A)` up and `SFT_T(KC_A)` down must be within `QUICK_TAP_TERM` to trigger auto-repeat. Otherwise, the second press will be sent as a Shift. If `QUICK_TAP_TERM` is set to `0`, the second press will always be sent as a Shift, effectively disabling auto-repeat. ::: warning `QUICK_TAP_TERM` timing will also impact anything that uses tapping toggles (Such as the `TT` layer keycode, and the One Shot Tap Toggle). @@ -714,10 +748,10 @@ 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. +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. +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`: @@ -743,14 +777,14 @@ Do not use `MOD_xxx` constants like `MOD_LSFT` or `MOD_RALT`, since they're 5-bi ### Retro Shift -[Auto Shift,](features/auto_shift) 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](features/auto_shift#retro-shift) for more information. +[Auto Shift](features/auto_shift) 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](features/auto_shift#retro-shift) for more information. ## Why do we include the key record for the per key functions? 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.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. +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 keys on the home row (see about *home row mods* [here](https://precondition.github.io/home-row-mods)). So, you could fine-tune those to not interfere with your normal typing. ## Why are there no `*_kb` or `*_user` functions?! -Unlike many of the other functions here, there isn't a need (or even reason) to have a quantum or keyboard-level function. Only user-level functions are useful here, so no need to mark them as such. +Unlike many of the other functions here, there isn't a need (or even reason) to have a quantum- or keyboard-level function. Only user-level functions are useful here, so there is no need to mark them as such. \ No newline at end of file diff --git a/docs/understanding_qmk.md b/docs/understanding_qmk.md index ad5afdc56a..a47617c418 100644 --- a/docs/understanding_qmk.md +++ b/docs/understanding_qmk.md @@ -51,7 +51,7 @@ Matrix Scanning runs many times per second. The exact rate varies but typically Once we know the state of every switch on our keyboard we have to map that to a keycode. In QMK this is done by making use of C macros to allow us to separate the definition of the physical layout from the definition of keycodes. -At the keyboard level we define a C macro (typically named `LAYOUT()`) which maps our keyboard's matrix to physical keys. Sometimes the matrix does not have a switch in every location, and we can use this macro to pre-populate those with KC_NO, making the keymap definition easier to work with. Here's an example `LAYOUT()` macro for a numpad: +At the keyboard level, QMK will generate a macro (typically named `LAYOUT()`) from our configuration file `info.json`, which then maps our keyboard's matrix to physical keys. Sometimes the matrix does not have a switch in every location, and QMK will use this macro to pre-populate those with KC_NO, making the keymap definition easier to work with. Here's an example `LAYOUT()` macro for a numpad: ```c #define LAYOUT( \ @@ -71,7 +71,7 @@ At the keyboard level we define a C macro (typically named `LAYOUT()`) which map Notice how the second block of our `LAYOUT()` macro matches the Matrix Scanning array above? This macro is what will map the matrix scanning array to keycodes. However, if you look at a 17 key numpad you'll notice that it has 3 places where the matrix could have a switch but doesn't, due to larger keys. We have populated those spaces with `KC_NO` so that our keymap definition doesn't have to. -You can also use this macro to handle unusual matrix layouts, for example the [Alice](https://github.com/qmk/qmk_firmware/blob/325da02e57fe7374e77b82cb00360ba45167e25c/keyboards/sneakbox/aliceclone/aliceclone.h#L24). Explaining that is outside the scope of this document. +This macro can handle unusual matrix layouts, for example the [Alice](https://github.com/qmk/qmk_firmware/blob/325da02e57fe7374e77b82cb00360ba45167e25c/keyboards/sneakbox/aliceclone/aliceclone.h#L24). Explaining that is outside the scope of this document. ##### Keycode Assignment diff --git a/docs/usb_nkro.txt b/docs/usb_nkro.txt index d9f1d12292..5817291b6b 100644 --- a/docs/usb_nkro.txt +++ b/docs/usb_nkro.txt @@ -58,7 +58,7 @@ USB NKRO methods Report Format ------------- -Other report formats than followings are possible, though these format are typical one. +Other report formats than following are possible, though these format are typical one. 1. Standard 8bytes modifiers(bitmap) 1byte diff --git a/drivers/battery/battery_adc.c b/drivers/battery/battery_adc.c index cf0e69cb48..145265b5db 100644 --- a/drivers/battery/battery_adc.c +++ b/drivers/battery/battery_adc.c @@ -1,23 +1,24 @@ // Copyright 2025 QMK // SPDX-License-Identifier: GPL-2.0-or-later +#include "battery_driver.h" #include "analog.h" #include "gpio.h" -#ifndef BATTERY_PIN -# error("BATTERY_PIN not configured!") +#ifndef BATTERY_ADC_PIN +# error("BATTERY_ADC_PIN not configured!") #endif -#ifndef BATTERY_REF_VOLTAGE_MV -# define BATTERY_REF_VOLTAGE_MV 3300 +#ifndef BATTERY_ADC_REF_VOLTAGE_MV +# define BATTERY_ADC_REF_VOLTAGE_MV 3300 #endif -#ifndef BATTERY_VOLTAGE_DIVIDER_R1 +#ifndef BATTERY_ADC_VOLTAGE_DIVIDER_R1 # define BATTERY_VOLTAGE_DIVIDER_R1 100 #endif -#ifndef BATTERY_VOLTAGE_DIVIDER_R2 -# define BATTERY_VOLTAGE_DIVIDER_R2 100 +#ifndef BATTERY_ADC_VOLTAGE_DIVIDER_R2 +# define BATTERY_ADC_VOLTAGE_DIVIDER_R2 100 #endif // TODO: infer from adc config? @@ -26,16 +27,16 @@ #endif void battery_driver_init(void) { - gpio_set_pin_input(BATTERY_PIN); + gpio_set_pin_input(BATTERY_ADC_PIN); } uint16_t battery_driver_get_mv(void) { - uint32_t raw = analogReadPin(BATTERY_PIN); + uint32_t raw = analogReadPin(BATTERY_ADC_PIN); - uint32_t bat_mv = raw * BATTERY_REF_VOLTAGE_MV / (1 << BATTERY_ADC_RESOLUTION); + uint32_t bat_mv = raw * BATTERY_ADC_REF_VOLTAGE_MV / (1 << BATTERY_ADC_RESOLUTION); -#if BATTERY_VOLTAGE_DIVIDER_R1 > 0 && BATTERY_VOLTAGE_DIVIDER_R2 > 0 - bat_mv = bat_mv * (BATTERY_VOLTAGE_DIVIDER_R1 + BATTERY_VOLTAGE_DIVIDER_R2) / BATTERY_VOLTAGE_DIVIDER_R2; +#if BATTERY_VOLTAGE_DIVIDER_R1 > 0 && BATTERY_ADC_VOLTAGE_DIVIDER_R2 > 0 + bat_mv = bat_mv * (BATTERY_VOLTAGE_DIVIDER_R1 + BATTERY_ADC_VOLTAGE_DIVIDER_R2) / BATTERY_ADC_VOLTAGE_DIVIDER_R2; #endif return bat_mv; diff --git a/drivers/lcd/st7565.h b/drivers/lcd/st7565.h index 0e42c8765b..7ab10e23ed 100644 --- a/drivers/lcd/st7565.h +++ b/drivers/lcd/st7565.h @@ -116,12 +116,12 @@ void st7565_render(void); void st7565_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 st7565_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 st7565_advance_char(void); // Writes a single character to the buffer at current cursor position diff --git a/drivers/painter/comms/qp_comms_dummy.c b/drivers/painter/comms/qp_comms_dummy.c index 2ed49d2232..7a2aef5d37 100644 --- a/drivers/painter/comms/qp_comms_dummy.c +++ b/drivers/painter/comms/qp_comms_dummy.c @@ -15,8 +15,9 @@ static bool dummy_comms_start(painter_device_t device) { return true; } -static void dummy_comms_stop(painter_device_t device) { +static bool dummy_comms_stop(painter_device_t device) { // No-op. + return true; } uint32_t dummy_comms_send(painter_device_t device, const void *data, uint32_t byte_count) { diff --git a/drivers/painter/comms/qp_comms_i2c.c b/drivers/painter/comms/qp_comms_i2c.c index 93f503f3dd..f093c87ee4 100644 --- a/drivers/painter/comms/qp_comms_i2c.c +++ b/drivers/painter/comms/qp_comms_i2c.c @@ -35,7 +35,9 @@ uint32_t qp_comms_i2c_send_data(painter_device_t device, const void *data, uint3 return qp_comms_i2c_send_raw(device, data, byte_count); } -void qp_comms_i2c_stop(painter_device_t device) {} +bool qp_comms_i2c_stop(painter_device_t device) { + return true; +} //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // Command+Data I2C support @@ -43,9 +45,9 @@ void qp_comms_i2c_stop(painter_device_t device) {} 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) { +bool 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); + return 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) { @@ -58,7 +60,7 @@ uint32_t qp_comms_i2c_cmddata_send_data(painter_device_t device, const void *dat return byte_count; } -void qp_comms_i2c_bulk_command_sequence(painter_device_t device, const uint8_t *sequence, size_t sequence_len) { +bool 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]; @@ -67,12 +69,17 @@ void qp_comms_i2c_bulk_command_sequence(painter_device_t device, const uint8_t * 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 (!qp_comms_i2c_send_raw(device, buf, num_bytes + 2)) { + return false; + } + if (delay > 0) { wait_ms(delay); } i += (3 + num_bytes); } + + return true; } const painter_comms_with_command_vtable_t i2c_comms_cmddata_vtable = { diff --git a/drivers/painter/comms/qp_comms_i2c.h b/drivers/painter/comms/qp_comms_i2c.h index 70083d6526..06a284dc15 100644 --- a/drivers/painter/comms/qp_comms_i2c.h +++ b/drivers/painter/comms/qp_comms_i2c.h @@ -19,7 +19,7 @@ typedef struct 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); +bool qp_comms_i2c_stop(painter_device_t device); extern const painter_comms_with_command_vtable_t i2c_comms_cmddata_vtable; diff --git a/drivers/painter/comms/qp_comms_spi.c b/drivers/painter/comms/qp_comms_spi.c index 4e6067394b..31b68dfdf6 100644 --- a/drivers/painter/comms/qp_comms_spi.c +++ b/drivers/painter/comms/qp_comms_spi.c @@ -45,11 +45,12 @@ uint32_t qp_comms_spi_send_data(painter_device_t device, const void *data, uint3 return byte_count - bytes_remaining; } -void qp_comms_spi_stop(painter_device_t device) { +bool qp_comms_spi_stop(painter_device_t device) { painter_driver_t * driver = (painter_driver_t *)device; qp_comms_spi_config_t *comms_config = (qp_comms_spi_config_t *)driver->comms_config; spi_stop(); gpio_write_pin_high(comms_config->chip_select_pin); + return true; } const painter_comms_vtable_t spi_comms_vtable = { @@ -97,14 +98,15 @@ uint32_t qp_comms_spi_dc_reset_send_data(painter_device_t device, const void *da return qp_comms_spi_send_data(device, data, byte_count); } -void qp_comms_spi_dc_reset_send_command(painter_device_t device, uint8_t cmd) { +bool qp_comms_spi_dc_reset_send_command(painter_device_t device, uint8_t cmd) { 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; gpio_write_pin_low(comms_config->dc_pin); spi_write(cmd); + return true; } -void qp_comms_spi_dc_reset_bulk_command_sequence(painter_device_t device, const uint8_t *sequence, size_t sequence_len) { +bool 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;) { @@ -126,6 +128,8 @@ void qp_comms_spi_dc_reset_bulk_command_sequence(painter_device_t device, const } i += (3 + num_bytes); } + + return true; } const painter_comms_with_command_vtable_t spi_comms_with_dc_vtable = { diff --git a/drivers/painter/comms/qp_comms_spi.h b/drivers/painter/comms/qp_comms_spi.h index c39ea95f72..bb1a841519 100644 --- a/drivers/painter/comms/qp_comms_spi.h +++ b/drivers/painter/comms/qp_comms_spi.h @@ -22,7 +22,7 @@ typedef struct qp_comms_spi_config_t { bool qp_comms_spi_init(painter_device_t device); bool qp_comms_spi_start(painter_device_t device); uint32_t qp_comms_spi_send_data(painter_device_t device, const void* data, uint32_t byte_count); -void qp_comms_spi_stop(painter_device_t device); +bool qp_comms_spi_stop(painter_device_t device); extern const painter_comms_vtable_t spi_comms_vtable; @@ -39,9 +39,9 @@ typedef struct qp_comms_spi_dc_reset_config_t { } qp_comms_spi_dc_reset_config_t; bool qp_comms_spi_dc_reset_init(painter_device_t device); -void qp_comms_spi_dc_reset_send_command(painter_device_t device, uint8_t cmd); +bool qp_comms_spi_dc_reset_send_command(painter_device_t device, uint8_t cmd); uint32_t qp_comms_spi_dc_reset_send_data(painter_device_t device, const void* data, uint32_t byte_count); -void qp_comms_spi_dc_reset_bulk_command_sequence(painter_device_t device, const uint8_t* sequence, size_t sequence_len); +bool qp_comms_spi_dc_reset_bulk_command_sequence(painter_device_t device, const uint8_t* sequence, size_t sequence_len); extern const painter_comms_with_command_vtable_t spi_comms_with_dc_vtable; diff --git a/drivers/painter/gc9xxx/qp_gc9107.c b/drivers/painter/gc9xxx/qp_gc9107.c index 108344da4f..f0eb24d0cd 100644 --- a/drivers/painter/gc9xxx/qp_gc9107.c +++ b/drivers/painter/gc9xxx/qp_gc9107.c @@ -32,7 +32,9 @@ __attribute__((weak)) bool qp_gc9107_init(painter_device_t device, painter_rotat }; // clang-format on - qp_comms_bulk_command_sequence(device, gc9107_init_sequence, sizeof(gc9107_init_sequence)); + if (!qp_comms_bulk_command_sequence(device, gc9107_init_sequence, sizeof(gc9107_init_sequence))) { + return false; + } // Configure the rotation (i.e. the ordering and direction of memory writes in GRAM) const uint8_t madctl[] = { @@ -41,9 +43,7 @@ __attribute__((weak)) bool qp_gc9107_init(painter_device_t device, painter_rotat [QP_ROTATION_180] = GC9XXX_MADCTL_BGR | GC9XXX_MADCTL_MX | GC9XXX_MADCTL_MY, [QP_ROTATION_270] = GC9XXX_MADCTL_BGR | GC9XXX_MADCTL_MV | GC9XXX_MADCTL_MY, }; - qp_comms_command_databyte(device, GC9XXX_SET_MEM_ACS_CTL, madctl[rotation]); - - return true; + return qp_comms_command_databyte(device, GC9XXX_SET_MEM_ACS_CTL, madctl[rotation]); } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// diff --git a/drivers/painter/gc9xxx/qp_gc9a01.c b/drivers/painter/gc9xxx/qp_gc9a01.c index f037a4cc87..a9b5e4b057 100644 --- a/drivers/painter/gc9xxx/qp_gc9a01.c +++ b/drivers/painter/gc9xxx/qp_gc9a01.c @@ -45,7 +45,9 @@ __attribute__((weak)) bool qp_gc9a01_init(painter_device_t device, painter_rotat }; // clang-format on - qp_comms_bulk_command_sequence(device, gc9a01_init_sequence, sizeof(gc9a01_init_sequence)); + if (!qp_comms_bulk_command_sequence(device, gc9a01_init_sequence, sizeof(gc9a01_init_sequence))) { + return false; + } // Configure the rotation (i.e. the ordering and direction of memory writes in GRAM) const uint8_t madctl[] = { @@ -54,9 +56,7 @@ __attribute__((weak)) bool qp_gc9a01_init(painter_device_t device, painter_rotat [QP_ROTATION_180] = GC9XXX_MADCTL_BGR | GC9XXX_MADCTL_MX | GC9XXX_MADCTL_MY, [QP_ROTATION_270] = GC9XXX_MADCTL_BGR | GC9XXX_MADCTL_MV | GC9XXX_MADCTL_MY, }; - qp_comms_command_databyte(device, GC9XXX_SET_MEM_ACS_CTL, madctl[rotation]); - - return true; + return qp_comms_command_databyte(device, GC9XXX_SET_MEM_ACS_CTL, madctl[rotation]); } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// diff --git a/drivers/painter/ili9xxx/qp_ili9163.c b/drivers/painter/ili9xxx/qp_ili9163.c index 7f439dc317..74c5cb28ee 100644 --- a/drivers/painter/ili9xxx/qp_ili9163.c +++ b/drivers/painter/ili9xxx/qp_ili9163.c @@ -41,7 +41,9 @@ __attribute__((weak)) bool qp_ili9163_init(painter_device_t device, painter_rota ILI9XXX_CMD_DISPLAY_ON, 20, 0 }; // clang-format on - qp_comms_bulk_command_sequence(device, ili9163_init_sequence, sizeof(ili9163_init_sequence)); + if (!qp_comms_bulk_command_sequence(device, ili9163_init_sequence, sizeof(ili9163_init_sequence))) { + return false; + } // Configure the rotation (i.e. the ordering and direction of memory writes in GRAM) const uint8_t madctl[] = { @@ -50,9 +52,7 @@ __attribute__((weak)) bool qp_ili9163_init(painter_device_t device, painter_rota [QP_ROTATION_180] = ILI9XXX_MADCTL_BGR | ILI9XXX_MADCTL_MX | ILI9XXX_MADCTL_MY, [QP_ROTATION_270] = ILI9XXX_MADCTL_BGR | ILI9XXX_MADCTL_MV | ILI9XXX_MADCTL_MY, }; - qp_comms_command_databyte(device, ILI9XXX_SET_MEM_ACS_CTL, madctl[rotation]); - - return true; + return qp_comms_command_databyte(device, ILI9XXX_SET_MEM_ACS_CTL, madctl[rotation]); } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// diff --git a/drivers/painter/ili9xxx/qp_ili9341.c b/drivers/painter/ili9xxx/qp_ili9341.c index a101b292aa..4ca22d8a73 100644 --- a/drivers/painter/ili9xxx/qp_ili9341.c +++ b/drivers/painter/ili9xxx/qp_ili9341.c @@ -48,7 +48,9 @@ __attribute__((weak)) bool qp_ili9341_init(painter_device_t device, painter_rota ILI9XXX_CMD_DISPLAY_ON, 20, 0 }; // clang-format on - qp_comms_bulk_command_sequence(device, ili9341_init_sequence, sizeof(ili9341_init_sequence)); + if (!qp_comms_bulk_command_sequence(device, ili9341_init_sequence, sizeof(ili9341_init_sequence))) { + return false; + } // Configure the rotation (i.e. the ordering and direction of memory writes in GRAM) const uint8_t madctl[] = { @@ -57,9 +59,7 @@ __attribute__((weak)) bool qp_ili9341_init(painter_device_t device, painter_rota [QP_ROTATION_180] = ILI9XXX_MADCTL_BGR | ILI9XXX_MADCTL_MX | ILI9XXX_MADCTL_MY, [QP_ROTATION_270] = ILI9XXX_MADCTL_BGR | ILI9XXX_MADCTL_MV | ILI9XXX_MADCTL_MY, }; - qp_comms_command_databyte(device, ILI9XXX_SET_MEM_ACS_CTL, madctl[rotation]); - - return true; + return qp_comms_command_databyte(device, ILI9XXX_SET_MEM_ACS_CTL, madctl[rotation]); } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// diff --git a/drivers/painter/ili9xxx/qp_ili9486.c b/drivers/painter/ili9xxx/qp_ili9486.c index 48db779c04..df2d084aa3 100644 --- a/drivers/painter/ili9xxx/qp_ili9486.c +++ b/drivers/painter/ili9xxx/qp_ili9486.c @@ -37,7 +37,9 @@ bool qp_ili9486_init(painter_device_t device, painter_rotation_t rotation) { ILI9XXX_SET_INVERSION_CTL, 0, 1, 0x02, }; // clang-format on - qp_comms_bulk_command_sequence(device, ili9486_init_sequence, sizeof(ili9486_init_sequence)); + if (!qp_comms_bulk_command_sequence(device, ili9486_init_sequence, sizeof(ili9486_init_sequence))) { + return false; + } // Configure the rotation (i.e. the ordering and direction of memory writes in GRAM) const uint8_t madctl[] = { @@ -62,22 +64,22 @@ bool qp_ili9486_init(painter_device_t device, painter_rotation_t rotation) { ILI9XXX_CMD_DISPLAY_ON, 5, 0, }; // clang-format on - qp_comms_bulk_command_sequence(device, rotation_sequence, sizeof(rotation_sequence)); - - return true; + return qp_comms_bulk_command_sequence(device, rotation_sequence, sizeof(rotation_sequence)); } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // Driver vtable // waveshare variant needs some tweaks due to shift registers -static void qp_comms_spi_dc_reset_send_command_odd_cs_pulse(painter_device_t device, uint8_t cmd) { +static bool qp_comms_spi_dc_reset_send_command_odd_cs_pulse(painter_device_t device, uint8_t cmd) { 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; gpio_write_pin_low(comms_config->spi_config.chip_select_pin); qp_comms_spi_dc_reset_send_command(device, cmd); gpio_write_pin_high(comms_config->spi_config.chip_select_pin); + + return true; } static uint32_t qp_comms_spi_send_data_odd_cs_pulse(painter_device_t device, const void *data, uint32_t byte_count) { @@ -124,7 +126,7 @@ static uint32_t qp_ili9486_send_data_toggling(painter_device_t device, const uin return ret; } -static void qp_comms_spi_send_command_sequence_odd_cs_pulse(painter_device_t device, const uint8_t *sequence, size_t sequence_len) { +static bool qp_comms_spi_send_command_sequence_odd_cs_pulse(painter_device_t device, const uint8_t *sequence, size_t sequence_len) { for (size_t i = 0; i < sequence_len;) { uint8_t command = sequence[i]; uint8_t delay = sequence[i + 1]; @@ -140,6 +142,8 @@ static void qp_comms_spi_send_command_sequence_odd_cs_pulse(painter_device_t dev } i += (3 + num_bytes); } + + return true; } static bool qp_ili9486_viewport(painter_device_t device, uint16_t left, uint16_t top, uint16_t right, uint16_t bottom) { diff --git a/drivers/painter/ili9xxx/qp_ili9488.c b/drivers/painter/ili9xxx/qp_ili9488.c index 63deaf5f2e..fd05db8751 100644 --- a/drivers/painter/ili9xxx/qp_ili9488.c +++ b/drivers/painter/ili9xxx/qp_ili9488.c @@ -41,7 +41,9 @@ __attribute__((weak)) bool qp_ili9488_init(painter_device_t device, painter_rota ILI9XXX_CMD_DISPLAY_ON, 20, 0 }; // clang-format on - qp_comms_bulk_command_sequence(device, ili9488_init_sequence, sizeof(ili9488_init_sequence)); + if (!qp_comms_bulk_command_sequence(device, ili9488_init_sequence, sizeof(ili9488_init_sequence))) { + return false; + } // Configure the rotation (i.e. the ordering and direction of memory writes in GRAM) const uint8_t madctl[] = { @@ -50,9 +52,7 @@ __attribute__((weak)) bool qp_ili9488_init(painter_device_t device, painter_rota [QP_ROTATION_180] = ILI9XXX_MADCTL_BGR | ILI9XXX_MADCTL_MX, [QP_ROTATION_270] = ILI9XXX_MADCTL_BGR | ILI9XXX_MADCTL_MV, }; - qp_comms_command_databyte(device, ILI9XXX_SET_MEM_ACS_CTL, madctl[rotation]); - - return true; + return qp_comms_command_databyte(device, ILI9XXX_SET_MEM_ACS_CTL, madctl[rotation]); } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// diff --git a/drivers/painter/ld7032/qp_ld7032.c b/drivers/painter/ld7032/qp_ld7032.c index f43ae8e60d..d73430cc75 100644 --- a/drivers/painter/ld7032/qp_ld7032.c +++ b/drivers/painter/ld7032/qp_ld7032.c @@ -10,7 +10,7 @@ #include "qp_surface.h" #include "qp_surface_internal.h" -typedef void (*ld7032_driver_comms_send_command_and_data_func)(painter_device_t device, uint8_t cmd, uint8_t data); +typedef bool (*ld7032_driver_comms_send_command_and_data_func)(painter_device_t device, uint8_t cmd, uint8_t data); typedef uint32_t (*ld7032_driver_comms_send_command_and_databuf_func)(painter_device_t device, uint8_t cmd, const void *data, uint32_t byte_count); typedef struct ld7032_comms_with_command_vtable_t { @@ -25,12 +25,13 @@ typedef struct ld7032_comms_with_command_vtable_t { // LD7032 Internal API //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -void ld7032_comms_i2c_send_command_and_data(painter_device_t device, uint8_t cmd, uint8_t data) { +#ifdef QUANTUM_PAINTER_LD7032_I2C_ENABLE +bool ld7032_comms_i2c_send_command_and_data(painter_device_t device, uint8_t cmd, uint8_t data) { uint8_t buf[2] = {cmd, data}; - qp_comms_i2c_send_data(device, buf, 2); + return qp_comms_i2c_send_data(device, buf, 2); } -void ld7032_comms_i2c_bulk_command_sequence(painter_device_t device, const uint8_t *sequence, size_t sequence_len) { +bool ld7032_comms_i2c_bulk_command_sequence(painter_device_t device, const uint8_t *sequence, size_t sequence_len) { uint8_t buf[32]; for (size_t i = 0; i < sequence_len;) { uint8_t command = sequence[i]; @@ -38,12 +39,16 @@ void ld7032_comms_i2c_bulk_command_sequence(painter_device_t device, const uint8 uint8_t num_bytes = sequence[i + 2]; buf[0] = command; memcpy(&buf[1], &sequence[i + 3], num_bytes); - qp_comms_i2c_send_data(device, buf, num_bytes + 1); + if (!qp_comms_i2c_send_data(device, buf, num_bytes + 1)) { + return false; + } if (delay > 0) { wait_ms(delay); } i += (3 + num_bytes); } + + return true; } uint32_t ld7032_comms_i2c_send_command_and_databuf(painter_device_t device, uint8_t cmd, const void *data, uint32_t byte_count) { @@ -53,6 +58,7 @@ uint32_t ld7032_comms_i2c_send_command_and_databuf(painter_device_t device, uint memcpy(&buf[1], data, byte_count); return qp_comms_send(device, buf, byte_count + 1); } +#endif // QUANTUM_PAINTER_LD7032_I2C_ENABLE // Power control bool qp_ld7032_power(painter_device_t device, bool power_on) { @@ -201,7 +207,9 @@ __attribute__((weak)) bool qp_ld7032_init(painter_device_t device, painter_rotat }; // clang-format on - qp_comms_bulk_command_sequence(device, ld7032_init_sequence, sizeof(ld7032_init_sequence)); + if (!qp_comms_bulk_command_sequence(device, ld7032_init_sequence, sizeof(ld7032_init_sequence))) { + return false; + } uint8_t display_y_start = 40 - driver->oled.base.panel_height; uint8_t display_x_start = (128 - driver->oled.base.panel_width) / 2; @@ -223,7 +231,9 @@ __attribute__((weak)) bool qp_ld7032_init(painter_device_t device, painter_rotat ld7032_memory_setup[13] = ld7032_memory_setup[4] + 1; ld7032_memory_setup[17] = driver->oled.base.panel_height; - qp_comms_bulk_command_sequence(device, ld7032_memory_setup, sizeof(ld7032_memory_setup)); + if (!qp_comms_bulk_command_sequence(device, ld7032_memory_setup, sizeof(ld7032_memory_setup))) { + return false; + } uint8_t write_direction = 0; switch (rotation) { @@ -245,7 +255,9 @@ __attribute__((weak)) bool qp_ld7032_init(painter_device_t device, painter_rotat painter_driver_t * pdriver = (painter_driver_t *)device; ld7032_comms_with_command_vtable_t *comms_vtable = (ld7032_comms_with_command_vtable_t *)pdriver->comms_vtable; - comms_vtable->send_command_data(device, LD7032_WRITE_DIRECTION, write_direction); + if (!comms_vtable->send_command_data(device, LD7032_WRITE_DIRECTION, write_direction)) { + return false; + } qp_ld7032_power(device, true); diff --git a/drivers/painter/sh1106/qp_sh1106.c b/drivers/painter/sh1106/qp_sh1106.c index 4117115aec..85da4a973a 100644 --- a/drivers/painter/sh1106/qp_sh1106.c +++ b/drivers/painter/sh1106/qp_sh1106.c @@ -71,8 +71,7 @@ __attribute__((weak)) bool qp_sh1106_init(painter_device_t device, painter_rotat sh1106_init_sequence[20] = 0x02; } - qp_comms_bulk_command_sequence(device, sh1106_init_sequence, sizeof(sh1106_init_sequence)); - return true; + return qp_comms_bulk_command_sequence(device, sh1106_init_sequence, sizeof(sh1106_init_sequence)); } // Screen flush diff --git a/drivers/painter/sh1107/qp_sh1107.c b/drivers/painter/sh1107/qp_sh1107.c index f4cbd49e40..0b48690803 100644 --- a/drivers/painter/sh1107/qp_sh1107.c +++ b/drivers/painter/sh1107/qp_sh1107.c @@ -73,8 +73,7 @@ __attribute__((weak)) bool qp_sh1107_init(painter_device_t device, painter_rotat sh1107_init_sequence[20] = 0x02; } - qp_comms_bulk_command_sequence(device, sh1107_init_sequence, sizeof(sh1107_init_sequence)); - return true; + return qp_comms_bulk_command_sequence(device, sh1107_init_sequence, sizeof(sh1107_init_sequence)); } // Screen flush diff --git a/drivers/painter/ssd1351/qp_ssd1351.c b/drivers/painter/ssd1351/qp_ssd1351.c index 3270a362c2..3f652e674e 100644 --- a/drivers/painter/ssd1351/qp_ssd1351.c +++ b/drivers/painter/ssd1351/qp_ssd1351.c @@ -44,7 +44,9 @@ __attribute__((weak)) bool qp_ssd1351_init(painter_device_t device, painter_rota SSD1351_DISPLAYON, 5, 0, }; // clang-format on - qp_comms_bulk_command_sequence(device, ssd1351_init_sequence, sizeof(ssd1351_init_sequence)); + if (!qp_comms_bulk_command_sequence(device, ssd1351_init_sequence, sizeof(ssd1351_init_sequence))) { + return false; + } // Configure the rotation (i.e. the ordering and direction of memory writes in GRAM) const uint8_t madctl[] = { @@ -53,10 +55,10 @@ __attribute__((weak)) bool qp_ssd1351_init(painter_device_t device, painter_rota [QP_ROTATION_180] = SSD1351_MADCTL_BGR | SSD1351_MADCTL_MX, [QP_ROTATION_270] = SSD1351_MADCTL_BGR | SSD1351_MADCTL_MV, }; - qp_comms_command_databyte(device, SSD1351_SETREMAP, madctl[rotation]); - qp_comms_command_databyte(device, SSD1351_STARTLINE, (rotation == QP_ROTATION_0 || rotation == QP_ROTATION_90) ? driver->base.panel_height : 0); - - return true; + if (!qp_comms_command_databyte(device, SSD1351_SETREMAP, madctl[rotation])) { + return false; + } + return qp_comms_command_databyte(device, SSD1351_STARTLINE, (rotation == QP_ROTATION_0 || rotation == QP_ROTATION_90) ? driver->base.panel_height : 0); } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// diff --git a/drivers/painter/st77xx/qp_st7735.c b/drivers/painter/st77xx/qp_st7735.c index 1db0d01dcb..9e3df477c8 100644 --- a/drivers/painter/st77xx/qp_st7735.c +++ b/drivers/painter/st77xx/qp_st7735.c @@ -63,7 +63,9 @@ __attribute__((weak)) bool qp_st7735_init(painter_device_t device, painter_rotat ST77XX_CMD_DISPLAY_ON, 20, 0 }; // clang-format on - qp_comms_bulk_command_sequence(device, st7735_init_sequence, sizeof(st7735_init_sequence)); + if (!qp_comms_bulk_command_sequence(device, st7735_init_sequence, sizeof(st7735_init_sequence))) { + return false; + } // Configure the rotation (i.e. the ordering and direction of memory writes in GRAM) const uint8_t madctl[] = { @@ -72,7 +74,9 @@ __attribute__((weak)) bool qp_st7735_init(painter_device_t device, painter_rotat [QP_ROTATION_180] = ST77XX_MADCTL_BGR | ST77XX_MADCTL_MX | ST77XX_MADCTL_MY, [QP_ROTATION_270] = ST77XX_MADCTL_BGR | ST77XX_MADCTL_MV | ST77XX_MADCTL_MY, }; - qp_comms_command_databyte(device, ST77XX_SET_MADCTL, madctl[rotation]); + if (!qp_comms_command_databyte(device, ST77XX_SET_MADCTL, madctl[rotation])) { + return false; + } #ifndef ST7735_NO_AUTOMATIC_VIEWPORT_OFFSETS st7735_automatic_viewport_offsets(device, rotation); diff --git a/drivers/painter/st77xx/qp_st7789.c b/drivers/painter/st77xx/qp_st7789.c index 855a9cc0c8..b4e24886da 100644 --- a/drivers/painter/st77xx/qp_st7789.c +++ b/drivers/painter/st77xx/qp_st7789.c @@ -60,7 +60,9 @@ __attribute__((weak)) bool qp_st7789_init(painter_device_t device, painter_rotat ST77XX_CMD_DISPLAY_ON, 20, 0 }; // clang-format on - qp_comms_bulk_command_sequence(device, st7789_init_sequence, sizeof(st7789_init_sequence)); + if (!qp_comms_bulk_command_sequence(device, st7789_init_sequence, sizeof(st7789_init_sequence))) { + return false; + } // Configure the rotation (i.e. the ordering and direction of memory writes in GRAM) const uint8_t madctl[] = { @@ -69,7 +71,9 @@ __attribute__((weak)) bool qp_st7789_init(painter_device_t device, painter_rotat [QP_ROTATION_180] = ST77XX_MADCTL_RGB | ST77XX_MADCTL_MX | ST77XX_MADCTL_MY, [QP_ROTATION_270] = ST77XX_MADCTL_RGB | ST77XX_MADCTL_MV | ST77XX_MADCTL_MY, }; - qp_comms_command_databyte(device, ST77XX_SET_MADCTL, madctl[rotation]); + if (!qp_comms_command_databyte(device, ST77XX_SET_MADCTL, madctl[rotation])) { + return false; + } #ifndef ST7789_NO_AUTOMATIC_VIEWPORT_OFFSETS st7789_automatic_viewport_offsets(device, rotation); diff --git a/drivers/sensors/adns5050.c b/drivers/sensors/adns5050.c index 1768c9f3b4..ac4c95b0c2 100644 --- a/drivers/sensors/adns5050.c +++ b/drivers/sensors/adns5050.c @@ -55,7 +55,7 @@ const pointing_device_driver_t adns5050_pointing_device_driver = { static bool powered_down = false; -void adns5050_init(void) { +bool adns5050_init(void) { // Initialize the ADNS serial pins. gpio_set_pin_output(ADNS5050_SCLK_PIN); gpio_set_pin_output(ADNS5050_SDIO_PIN); @@ -75,6 +75,8 @@ void adns5050_init(void) { // gets the adns ready for write commands // (for example, setting the dpi). adns5050_read_burst(); + + return adns5050_check_signature(); } // Perform a synchronization with the ADNS. @@ -220,7 +222,7 @@ uint16_t adns5050_get_cpi(void) { return (uint16_t)((cpival & 0b10000) * 125); } -bool adns5050_check_signature(void) { +bool __attribute__((weak)) adns5050_check_signature(void) { uint8_t pid = adns5050_read_reg(REG_PRODUCT_ID); uint8_t rid = adns5050_read_reg(REG_REVISION_ID); uint8_t pid2 = adns5050_read_reg(REG_PRODUCT_ID2); diff --git a/drivers/sensors/adns5050.h b/drivers/sensors/adns5050.h index 4dfcbc3c70..648b49e387 100644 --- a/drivers/sensors/adns5050.h +++ b/drivers/sensors/adns5050.h @@ -70,12 +70,12 @@ typedef struct { int8_t dy; } report_adns5050_t; -const pointing_device_driver_t adns5050_pointing_device_driver; +extern const pointing_device_driver_t adns5050_pointing_device_driver; // A bunch of functions to implement the ADNS5050-specific serial protocol. // Note that the "serial.h" driver is insufficient, because it does not // manually manipulate a serial clock signal. -void adns5050_init(void); +bool adns5050_init(void); void adns5050_sync(void); uint8_t adns5050_serial_read(void); void adns5050_serial_write(uint8_t data); diff --git a/drivers/sensors/adns9800.c b/drivers/sensors/adns9800.c index 0dbc528351..f5958dd350 100644 --- a/drivers/sensors/adns9800.c +++ b/drivers/sensors/adns9800.c @@ -115,7 +115,14 @@ uint8_t adns9800_read(uint8_t reg_addr) { return data; } -void adns9800_init(void) { +bool __attribute__((weak)) adns9800_check_signature(void) { + if (adns9800_read(REG_Product_ID) != 0x33) { + return false; + } + return true; +} + +bool adns9800_init(void) { gpio_set_pin_output(ADNS9800_CS_PIN); spi_init(); @@ -178,6 +185,8 @@ void adns9800_init(void) { adns9800_write(REG_LASER_CTRL0, laser_ctrl0 & 0xf0); adns9800_set_cpi(ADNS9800_CPI); + + return adns9800_check_signature(); } config_adns9800_t adns9800_get_config(void) { diff --git a/drivers/sensors/adns9800.h b/drivers/sensors/adns9800.h index 023f31b132..ea854e8675 100644 --- a/drivers/sensors/adns9800.h +++ b/drivers/sensors/adns9800.h @@ -61,9 +61,9 @@ typedef struct { int16_t y; } report_adns9800_t; -const pointing_device_driver_t adns9800_pointing_device_driver; +extern const pointing_device_driver_t adns9800_pointing_device_driver; -void adns9800_init(void); +bool adns9800_init(void); config_adns9800_t adns9800_get_config(void); void adns9800_set_config(config_adns9800_t); uint16_t adns9800_get_cpi(void); diff --git a/drivers/sensors/analog_joystick.c b/drivers/sensors/analog_joystick.c index 93bbaa1b51..eec97e8eed 100644 --- a/drivers/sensors/analog_joystick.c +++ b/drivers/sensors/analog_joystick.c @@ -135,7 +135,7 @@ report_analog_joystick_t analog_joystick_read(void) { return report; } -void analog_joystick_init(void) { +bool analog_joystick_init(void) { gpio_set_pin_input_high(ANALOG_JOYSTICK_X_AXIS_PIN); gpio_set_pin_input_high(ANALOG_JOYSTICK_Y_AXIS_PIN); @@ -152,6 +152,8 @@ void analog_joystick_init(void) { maxAxisValues[0] = xOrigin + 100; maxAxisValues[1] = yOrigin + 100; #endif + + return true; } report_mouse_t analog_joystick_get_report(report_mouse_t mouse_report) { diff --git a/drivers/sensors/analog_joystick.h b/drivers/sensors/analog_joystick.h index c84da83db1..f8cc315533 100644 --- a/drivers/sensors/analog_joystick.h +++ b/drivers/sensors/analog_joystick.h @@ -43,7 +43,7 @@ # define ANALOG_JOYSTICK_SPEED_MAX 2 #endif -const pointing_device_driver_t analog_joystick_pointing_device_driver; +extern const pointing_device_driver_t analog_joystick_pointing_device_driver; typedef struct { int8_t x; @@ -51,5 +51,5 @@ typedef struct { bool button; } report_analog_joystick_t; report_analog_joystick_t analog_joystick_read(void); -void analog_joystick_init(void); +bool analog_joystick_init(void); report_mouse_t analog_joystick_get_report(report_mouse_t mouse_report); diff --git a/drivers/sensors/azoteq_iqs5xx.c b/drivers/sensors/azoteq_iqs5xx.c index ae26ee60cf..7586ac52d1 100644 --- a/drivers/sensors/azoteq_iqs5xx.c +++ b/drivers/sensors/azoteq_iqs5xx.c @@ -321,7 +321,7 @@ void azoteq_iqs5xx_setup_resolution(void) { static i2c_status_t azoteq_iqs5xx_init_status = 1; -void azoteq_iqs5xx_init(void) { +bool azoteq_iqs5xx_init(void) { i2c_init(); i2c_ping_address(AZOTEQ_IQS5XX_ADDRESS, 1); // wake azoteq_iqs5xx_reset_suspend(true, false, true); @@ -349,67 +349,65 @@ void azoteq_iqs5xx_init(void) { azoteq_iqs5xx_init_status |= azoteq_iqs5xx_set_gesture_config(true); wait_ms(AZOTEQ_IQS5XX_REPORT_RATE + 1); } + + return azoteq_iqs5xx_init_status == I2C_STATUS_SUCCESS; }; report_mouse_t azoteq_iqs5xx_get_report(report_mouse_t mouse_report) { report_mouse_t temp_report = {0}; - if (azoteq_iqs5xx_init_status == I2C_STATUS_SUCCESS) { - azoteq_iqs5xx_base_data_t base_data = {0}; - i2c_status_t status = azoteq_iqs5xx_get_base_data(&base_data); - bool ignore_movement = false; + azoteq_iqs5xx_base_data_t base_data = {0}; + i2c_status_t status = azoteq_iqs5xx_get_base_data(&base_data); + bool ignore_movement = false; - if (status == I2C_STATUS_SUCCESS) { + if (status == I2C_STATUS_SUCCESS) { #ifdef POINTING_DEVICE_DEBUG - if (base_data.previous_cycle_time > AZOTEQ_IQS5XX_REPORT_RATE) { - pd_dprintf("IQS5XX - previous cycle time missed, took: %dms\n", base_data.previous_cycle_time); - } -#endif - if (base_data.gesture_events_0.single_tap || base_data.gesture_events_0.press_and_hold) { - pd_dprintf("IQS5XX - Single tap/hold.\n"); - temp_report.buttons = pointing_device_handle_buttons(temp_report.buttons, true, POINTING_DEVICE_BUTTON1); - } else if (base_data.gesture_events_1.two_finger_tap) { - pd_dprintf("IQS5XX - Two finger tap.\n"); - temp_report.buttons = pointing_device_handle_buttons(temp_report.buttons, true, POINTING_DEVICE_BUTTON2); - } else if (base_data.gesture_events_0.swipe_x_neg) { - pd_dprintf("IQS5XX - X-.\n"); - temp_report.buttons = pointing_device_handle_buttons(temp_report.buttons, true, POINTING_DEVICE_BUTTON4); - ignore_movement = true; - } else if (base_data.gesture_events_0.swipe_x_pos) { - pd_dprintf("IQS5XX - X+.\n"); - temp_report.buttons = pointing_device_handle_buttons(temp_report.buttons, true, POINTING_DEVICE_BUTTON5); - ignore_movement = true; - } else if (base_data.gesture_events_0.swipe_y_neg) { - pd_dprintf("IQS5XX - Y-.\n"); - temp_report.buttons = pointing_device_handle_buttons(temp_report.buttons, true, POINTING_DEVICE_BUTTON6); - ignore_movement = true; - } else if (base_data.gesture_events_0.swipe_y_pos) { - pd_dprintf("IQS5XX - Y+.\n"); - temp_report.buttons = pointing_device_handle_buttons(temp_report.buttons, true, POINTING_DEVICE_BUTTON3); - ignore_movement = true; - } else if (base_data.gesture_events_1.zoom) { - if (AZOTEQ_IQS5XX_COMBINE_H_L_BYTES(base_data.x.h, base_data.x.l) < 0) { - pd_dprintf("IQS5XX - Zoom out.\n"); - temp_report.buttons = pointing_device_handle_buttons(temp_report.buttons, true, POINTING_DEVICE_BUTTON7); - } else if (AZOTEQ_IQS5XX_COMBINE_H_L_BYTES(base_data.x.h, base_data.x.l) > 0) { - pd_dprintf("IQS5XX - Zoom in.\n"); - temp_report.buttons = pointing_device_handle_buttons(temp_report.buttons, true, POINTING_DEVICE_BUTTON8); - } - } else if (base_data.gesture_events_1.scroll) { - pd_dprintf("IQS5XX - Scroll.\n"); - temp_report.h = CONSTRAIN_HID(AZOTEQ_IQS5XX_COMBINE_H_L_BYTES(base_data.x.h, base_data.x.l)); - temp_report.v = CONSTRAIN_HID(AZOTEQ_IQS5XX_COMBINE_H_L_BYTES(base_data.y.h, base_data.y.l)); - } - if (base_data.number_of_fingers == 1 && !ignore_movement) { - temp_report.x = CONSTRAIN_HID_XY(AZOTEQ_IQS5XX_COMBINE_H_L_BYTES(base_data.x.h, base_data.x.l)); - temp_report.y = CONSTRAIN_HID_XY(AZOTEQ_IQS5XX_COMBINE_H_L_BYTES(base_data.y.h, base_data.y.l)); - } - - } else { - pd_dprintf("IQS5XX - get report failed, i2c status: %d \n", status); + if (base_data.previous_cycle_time > AZOTEQ_IQS5XX_REPORT_RATE) { + pd_dprintf("IQS5XX - previous cycle time missed, took: %dms\n", base_data.previous_cycle_time); } +#endif + if (base_data.gesture_events_0.single_tap || base_data.gesture_events_0.press_and_hold) { + pd_dprintf("IQS5XX - Single tap/hold.\n"); + temp_report.buttons = pointing_device_handle_buttons(temp_report.buttons, true, POINTING_DEVICE_BUTTON1); + } else if (base_data.gesture_events_1.two_finger_tap) { + pd_dprintf("IQS5XX - Two finger tap.\n"); + temp_report.buttons = pointing_device_handle_buttons(temp_report.buttons, true, POINTING_DEVICE_BUTTON2); + } else if (base_data.gesture_events_0.swipe_x_neg) { + pd_dprintf("IQS5XX - X-.\n"); + temp_report.buttons = pointing_device_handle_buttons(temp_report.buttons, true, POINTING_DEVICE_BUTTON4); + ignore_movement = true; + } else if (base_data.gesture_events_0.swipe_x_pos) { + pd_dprintf("IQS5XX - X+.\n"); + temp_report.buttons = pointing_device_handle_buttons(temp_report.buttons, true, POINTING_DEVICE_BUTTON5); + ignore_movement = true; + } else if (base_data.gesture_events_0.swipe_y_neg) { + pd_dprintf("IQS5XX - Y-.\n"); + temp_report.buttons = pointing_device_handle_buttons(temp_report.buttons, true, POINTING_DEVICE_BUTTON6); + ignore_movement = true; + } else if (base_data.gesture_events_0.swipe_y_pos) { + pd_dprintf("IQS5XX - Y+.\n"); + temp_report.buttons = pointing_device_handle_buttons(temp_report.buttons, true, POINTING_DEVICE_BUTTON3); + ignore_movement = true; + } else if (base_data.gesture_events_1.zoom) { + if (AZOTEQ_IQS5XX_COMBINE_H_L_BYTES(base_data.x.h, base_data.x.l) < 0) { + pd_dprintf("IQS5XX - Zoom out.\n"); + temp_report.buttons = pointing_device_handle_buttons(temp_report.buttons, true, POINTING_DEVICE_BUTTON7); + } else if (AZOTEQ_IQS5XX_COMBINE_H_L_BYTES(base_data.x.h, base_data.x.l) > 0) { + pd_dprintf("IQS5XX - Zoom in.\n"); + temp_report.buttons = pointing_device_handle_buttons(temp_report.buttons, true, POINTING_DEVICE_BUTTON8); + } + } else if (base_data.gesture_events_1.scroll) { + pd_dprintf("IQS5XX - Scroll.\n"); + temp_report.h = CONSTRAIN_HID(AZOTEQ_IQS5XX_COMBINE_H_L_BYTES(base_data.x.h, base_data.x.l)); + temp_report.v = CONSTRAIN_HID(AZOTEQ_IQS5XX_COMBINE_H_L_BYTES(base_data.y.h, base_data.y.l)); + } + if (base_data.number_of_fingers == 1 && !ignore_movement) { + temp_report.x = CONSTRAIN_HID_XY(AZOTEQ_IQS5XX_COMBINE_H_L_BYTES(base_data.x.h, base_data.x.l)); + temp_report.y = CONSTRAIN_HID_XY(AZOTEQ_IQS5XX_COMBINE_H_L_BYTES(base_data.y.h, base_data.y.l)); + } + } else { - pd_dprintf("IQS5XX - Init failed, i2c status: %d \n", azoteq_iqs5xx_init_status); + pd_dprintf("IQS5XX - get report failed, i2c status: %d \n", status); } return temp_report; diff --git a/drivers/sensors/azoteq_iqs5xx.h b/drivers/sensors/azoteq_iqs5xx.h index eb01903e33..a5866b3d85 100644 --- a/drivers/sensors/azoteq_iqs5xx.h +++ b/drivers/sensors/azoteq_iqs5xx.h @@ -178,9 +178,9 @@ typedef struct { # define POINTING_DEVICE_TASK_THROTTLE_MS AZOTEQ_IQS5XX_REPORT_RATE + 1 #endif -const pointing_device_driver_t azoteq_iqs5xx_pointing_device_driver; +extern const pointing_device_driver_t azoteq_iqs5xx_pointing_device_driver; -void azoteq_iqs5xx_init(void); +bool 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); diff --git a/drivers/sensors/cirque_pinnacle.c b/drivers/sensors/cirque_pinnacle.c index 893cb98bf0..45072ae874 100644 --- a/drivers/sensors/cirque_pinnacle.c +++ b/drivers/sensors/cirque_pinnacle.c @@ -18,7 +18,6 @@ # endif #endif -bool touchpad_init; uint16_t scale_data = CIRQUE_PINNACLE_DEFAULT_SCALE; void cirque_pinnacle_clear_flags(void); @@ -232,14 +231,14 @@ bool cirque_pinnacle_connected(void) { } /* Pinnacle-based TM040040/TM035035/TM023023 Functions */ -void cirque_pinnacle_init(void) { +bool cirque_pinnacle_init(void) { #if defined(POINTING_DEVICE_DRIVER_cirque_pinnacle_spi) spi_init(); #elif defined(POINTING_DEVICE_DRIVER_cirque_pinnacle_i2c) i2c_init(); #endif - touchpad_init = true; + bool touchpad_init = true; // send a RESET command now, in case QMK had a soft-reset without a power cycle RAP_Write(HOSTREG__SYSCONFIG1, HOSTREG__SYSCONFIG1__RESET); @@ -293,6 +292,8 @@ void cirque_pinnacle_init(void) { #ifndef CIRQUE_PINNACLE_SKIP_SENSOR_CHECK touchpad_init = cirque_pinnacle_connected(); #endif + + return touchpad_init; } pinnacle_data_t cirque_pinnacle_read_data(void) { diff --git a/drivers/sensors/cirque_pinnacle.h b/drivers/sensors/cirque_pinnacle.h index 1a17e539a4..f71ee8da1f 100644 --- a/drivers/sensors/cirque_pinnacle.h +++ b/drivers/sensors/cirque_pinnacle.h @@ -112,9 +112,9 @@ typedef struct { #define cirque_pinnacle_i2c_pointing_device_driver cirque_pinnacle_pointing_device_driver #define cirque_pinnacle_spi_pointing_device_driver cirque_pinnacle_pointing_device_driver -const pointing_device_driver_t cirque_pinnacle_pointing_device_driver; +extern const pointing_device_driver_t cirque_pinnacle_pointing_device_driver; -void cirque_pinnacle_init(void); +bool cirque_pinnacle_init(void); void cirque_pinnacle_calibrate(void); void cirque_pinnacle_cursor_smoothing(bool enable); pinnacle_data_t cirque_pinnacle_read_data(void); diff --git a/drivers/sensors/cirque_pinnacle_i2c.c b/drivers/sensors/cirque_pinnacle_i2c.c index a3622e9d60..8d766c69d9 100644 --- a/drivers/sensors/cirque_pinnacle_i2c.c +++ b/drivers/sensors/cirque_pinnacle_i2c.c @@ -7,29 +7,22 @@ #define WRITE_MASK 0x80 #define READ_MASK 0xA0 -extern bool touchpad_init; - /* RAP Functions */ // Reads Pinnacle registers starting at
void RAP_ReadBytes(uint8_t address, uint8_t* data, uint8_t count) { uint8_t cmdByte = READ_MASK | address; // Form the READ command byte - if (touchpad_init) { - i2c_write_register(CIRQUE_PINNACLE_ADDR << 1, cmdByte, NULL, 0, CIRQUE_PINNACLE_TIMEOUT); - if (i2c_read_register(CIRQUE_PINNACLE_ADDR << 1, cmdByte, data, count, CIRQUE_PINNACLE_TIMEOUT) != I2C_STATUS_SUCCESS) { - pd_dprintf("error cirque_pinnacle i2c_read_register\n"); - touchpad_init = false; - } + i2c_write_register(CIRQUE_PINNACLE_ADDR << 1, cmdByte, NULL, 0, CIRQUE_PINNACLE_TIMEOUT); + if (i2c_read_register(CIRQUE_PINNACLE_ADDR << 1, cmdByte, data, count, CIRQUE_PINNACLE_TIMEOUT) != I2C_STATUS_SUCCESS) { + pd_dprintf("error cirque_pinnacle i2c_read_register\n"); + pointing_device_set_status(POINTING_DEVICE_STATUS_FAILED); } } // Writes single-byte to
void RAP_Write(uint8_t address, uint8_t data) { uint8_t cmdByte = WRITE_MASK | address; // Form the WRITE command byte - - if (touchpad_init) { - if (i2c_write_register(CIRQUE_PINNACLE_ADDR << 1, cmdByte, &data, sizeof(data), CIRQUE_PINNACLE_TIMEOUT) != I2C_STATUS_SUCCESS) { - pd_dprintf("error cirque_pinnacle i2c_write_register\n"); - touchpad_init = false; - } + if (i2c_write_register(CIRQUE_PINNACLE_ADDR << 1, cmdByte, &data, sizeof(data), CIRQUE_PINNACLE_TIMEOUT) != I2C_STATUS_SUCCESS) { + pd_dprintf("error cirque_pinnacle i2c_write_register\n"); + pointing_device_set_status(POINTING_DEVICE_STATUS_FAILED); } } diff --git a/drivers/sensors/cirque_pinnacle_spi.c b/drivers/sensors/cirque_pinnacle_spi.c index 5cb39aebb0..eefdb4d0a7 100644 --- a/drivers/sensors/cirque_pinnacle_spi.c +++ b/drivers/sensors/cirque_pinnacle_spi.c @@ -7,40 +7,35 @@ #define READ_MASK 0xA0 #define FILLER_BYTE 0xFC -extern bool touchpad_init; - /* RAP Functions */ // Reads Pinnacle registers starting at
void RAP_ReadBytes(uint8_t address, uint8_t* data, uint8_t count) { uint8_t cmdByte = READ_MASK | address; // Form the READ command byte - if (touchpad_init) { - if (spi_start(CIRQUE_PINNACLE_SPI_CS_PIN, CIRQUE_PINNACLE_SPI_LSBFIRST, CIRQUE_PINNACLE_SPI_MODE, CIRQUE_PINNACLE_SPI_DIVISOR)) { - spi_write(cmdByte); // write command byte, receive filler - spi_write(FILLER_BYTE); // write & receive filler - spi_write(FILLER_BYTE); // write & receive filler - for (uint8_t i = 0; i < count; i++) { - data[i] = spi_write(FILLER_BYTE); // write filler, receive data on the third filler send - } - } else { - pd_dprintf("error cirque_pinnacle spi_start read\n"); - touchpad_init = false; + + if (spi_start(CIRQUE_PINNACLE_SPI_CS_PIN, CIRQUE_PINNACLE_SPI_LSBFIRST, CIRQUE_PINNACLE_SPI_MODE, CIRQUE_PINNACLE_SPI_DIVISOR)) { + spi_write(cmdByte); // write command byte, receive filler + spi_write(FILLER_BYTE); // write & receive filler + spi_write(FILLER_BYTE); // write & receive filler + for (uint8_t i = 0; i < count; i++) { + data[i] = spi_write(FILLER_BYTE); // write filler, receive data on the third filler send } - spi_stop(); + } else { + pd_dprintf("error cirque_pinnacle spi_start read\n"); + pointing_device_set_status(POINTING_DEVICE_STATUS_FAILED); } + spi_stop(); } // Writes single-byte to
void RAP_Write(uint8_t address, uint8_t data) { uint8_t cmdByte = WRITE_MASK | address; // Form the WRITE command byte - if (touchpad_init) { - if (spi_start(CIRQUE_PINNACLE_SPI_CS_PIN, CIRQUE_PINNACLE_SPI_LSBFIRST, CIRQUE_PINNACLE_SPI_MODE, CIRQUE_PINNACLE_SPI_DIVISOR)) { - spi_write(cmdByte); - spi_write(data); - } else { - pd_dprintf("error cirque_pinnacle spi_start write\n"); - touchpad_init = false; - } - spi_stop(); + if (spi_start(CIRQUE_PINNACLE_SPI_CS_PIN, CIRQUE_PINNACLE_SPI_LSBFIRST, CIRQUE_PINNACLE_SPI_MODE, CIRQUE_PINNACLE_SPI_DIVISOR)) { + spi_write(cmdByte); + spi_write(data); + } else { + pd_dprintf("error cirque_pinnacle spi_start write\n"); + pointing_device_set_status(POINTING_DEVICE_STATUS_FAILED); } + spi_stop(); } diff --git a/drivers/sensors/paw3204.c b/drivers/sensors/paw3204.c index 475821f175..228b7fa986 100644 --- a/drivers/sensors/paw3204.c +++ b/drivers/sensors/paw3204.c @@ -58,7 +58,15 @@ const pointing_device_driver_t paw3204_pointing_device_driver = { .get_cpi = paw3204_get_cpi, }; -void paw3204_init(void) { +uint8_t read_pid_paw3204(void) { + return paw3204_read_reg(REG_PID1); +} + +bool __attribute__((weak)) paw3204_check_signature(void) { + return (read_pid_paw3204() == 0x30); +} + +bool paw3204_init(void) { gpio_set_pin_output(PAW3204_SCLK_PIN); // setclockpin to output gpio_set_pin_input_high(PAW3204_SDIO_PIN); // set datapin input high @@ -69,6 +77,8 @@ void paw3204_init(void) { paw3204_read_reg(0x01); // read id2 // PAW3204_write_reg(REG_SETUP,0x06); // dont reset sensor and set cpi 1600 paw3204_write_reg(REG_IMGTRASH, 0x32); // write image trashhold + + return paw3204_check_signature(); } uint8_t paw3204_serial_read(void) { @@ -175,10 +185,6 @@ uint16_t paw3204_get_cpi(void) { return cpival; } -uint8_t read_pid_paw3204(void) { - return paw3204_read_reg(REG_PID1); -} - report_mouse_t paw3204_get_report(report_mouse_t mouse_report) { report_paw3204_t data = paw3204_read(); if (data.isMotion) { diff --git a/drivers/sensors/paw3204.h b/drivers/sensors/paw3204.h index a4bb8e16a6..0bf5713548 100644 --- a/drivers/sensors/paw3204.h +++ b/drivers/sensors/paw3204.h @@ -41,7 +41,7 @@ typedef struct { bool isMotion; } report_paw3204_t; -const pointing_device_driver_t paw3204_pointing_device_driver; +extern const pointing_device_driver_t paw3204_pointing_device_driver; /** * @brief Initializes the sensor so it is in a working state and ready to @@ -50,7 +50,7 @@ const pointing_device_driver_t paw3204_pointing_device_driver; * @return true Initialization was a success * @return false Initialization failed, do not proceed operation */ -void paw3204_init(void); +bool paw3204_init(void); /** * @brief Reads and clears the current delta, and motion register values on the diff --git a/drivers/sensors/pimoroni_trackball.c b/drivers/sensors/pimoroni_trackball.c index 06e5042953..daa5786554 100644 --- a/drivers/sensors/pimoroni_trackball.c +++ b/drivers/sensors/pimoroni_trackball.c @@ -82,9 +82,12 @@ i2c_status_t read_pimoroni_trackball(pimoroni_data_t *data) { return status; } -__attribute__((weak)) void pimoroni_trackball_device_init(void) { +__attribute__((weak)) bool pimoroni_trackball_device_init(void) { i2c_init(); - pimoroni_trackball_set_rgbw(0x00, 0x00, 0x00, 0x00); + uint8_t rgbw_data[4] = {0}; + i2c_status_t status = i2c_write_register(PIMORONI_TRACKBALL_ADDRESS << 1, PIMORONI_TRACKBALL_REG_LED_RED, rgbw_data, sizeof(rgbw_data), PIMORONI_TRACKBALL_TIMEOUT); + + return (status == I2C_STATUS_SUCCESS); } int16_t pimoroni_trackball_get_offsets(uint8_t negative_dir, uint8_t positive_dir, uint8_t scale) { diff --git a/drivers/sensors/pimoroni_trackball.h b/drivers/sensors/pimoroni_trackball.h index 1904214a74..74ae6d7228 100644 --- a/drivers/sensors/pimoroni_trackball.h +++ b/drivers/sensors/pimoroni_trackball.h @@ -50,9 +50,9 @@ typedef struct { uint8_t click; } pimoroni_data_t; -const pointing_device_driver_t pimoroni_trackball_pointing_device_driver; +extern const pointing_device_driver_t pimoroni_trackball_pointing_device_driver; -void pimoroni_trackball_device_init(void); +bool pimoroni_trackball_device_init(void); void pimoroni_trackball_set_rgbw(uint8_t red, uint8_t green, uint8_t blue, uint8_t white); int16_t pimoroni_trackball_get_offsets(uint8_t negative_dir, uint8_t positive_dir, uint8_t scale); uint16_t pimoroni_trackball_get_cpi(void); diff --git a/drivers/sensors/pmw3320.c b/drivers/sensors/pmw3320.c index 74fefd4c53..db74540ec1 100644 --- a/drivers/sensors/pmw3320.c +++ b/drivers/sensors/pmw3320.c @@ -30,7 +30,7 @@ const pointing_device_driver_t pmw3320_pointing_device_drivera = { .get_cpi = pmw3320_get_cpi, }; -void pmw3320_init(void) { +bool pmw3320_init(void) { // Initialize sensor serial pins. gpio_set_pin_output(PMW3320_SCLK_PIN); gpio_set_pin_output(PMW3320_SDIO_PIN); @@ -56,6 +56,8 @@ void pmw3320_init(void) { pmw3320_write_reg(REG_Led_Control, 0x4); // Disable rest mode pmw3320_write_reg(REG_Performance, 0x80); + + return pmw3320_check_signature(); } // Perform a synchronization with sensor. @@ -192,7 +194,7 @@ void pmw3320_set_cpi(uint16_t cpi) { pmw3320_write_reg(REG_Resolution, 0x20 | cpival); } -bool pmw3320_check_signature(void) { +bool __attribute__((weak)) pmw3320_check_signature(void) { uint8_t pid = pmw3320_read_reg(REG_Product_ID); uint8_t pid2 = pmw3320_read_reg(REG_Inverse_Product_ID); diff --git a/drivers/sensors/pmw3320.h b/drivers/sensors/pmw3320.h index cfff25bd8a..c80eb8e145 100644 --- a/drivers/sensors/pmw3320.h +++ b/drivers/sensors/pmw3320.h @@ -55,13 +55,13 @@ typedef struct { int8_t dy; } report_pmw3320_t; -const pointing_device_driver_t pmw3320_pointing_device_driver; +extern const pointing_device_driver_t pmw3320_pointing_device_driver; // A bunch of functions to implement the PMW3320-specific serial protocol. // Mostly taken from ADNS5050 driver. // Note that the "serial.h" driver is insufficient, because it does not // manually manipulate a serial clock signal. -void pmw3320_init(void); +bool pmw3320_init(void); void pmw3320_sync(void); uint8_t pmw3320_serial_read(void); void pmw3320_serial_write(uint8_t data); diff --git a/drivers/sensors/pmw3389.c b/drivers/sensors/pmw3389.c index 85d2c8a429..efa90c2100 100644 --- a/drivers/sensors/pmw3389.c +++ b/drivers/sensors/pmw3389.c @@ -29,4 +29,4 @@ void pmw33xx_set_cpi(uint8_t sensor, uint16_t cpi) { } // PID, Inverse PID -const uint8_t pmw33xx_firmware_signature[2] PROGMEM = {0x42, 0xBD}; +const uint8_t pmw33xx_firmware_signature[2] PROGMEM = {0x47, 0xB8}; diff --git a/drivers/sensors/pmw33xx_common.c b/drivers/sensors/pmw33xx_common.c index f3285ec497..95d0fe6b4b 100644 --- a/drivers/sensors/pmw33xx_common.c +++ b/drivers/sensors/pmw33xx_common.c @@ -102,13 +102,13 @@ uint8_t pmw33xx_read(uint8_t sensor, uint8_t reg_addr) { return data; } -bool pmw33xx_check_signature(uint8_t sensor) { +__attribute__((weak)) bool pmw33xx_check_signature(uint8_t sensor) { uint8_t signature_dump[2] = { pmw33xx_read(sensor, REG_Product_ID), pmw33xx_read(sensor, REG_Inverse_Product_ID), }; - return memcmp(pmw33xx_firmware_signature, signature_dump, sizeof(signature_dump)) == 0; + return memcmp_P(signature_dump, pmw33xx_firmware_signature, sizeof(signature_dump)) == 0; } bool pmw33xx_upload_firmware(uint8_t sensor) { @@ -236,8 +236,8 @@ pmw33xx_report_t pmw33xx_read_burst(uint8_t sensor) { return report; } -void pmw33xx_init_wrapper(void) { - pmw33xx_init(0); +bool pmw33xx_init_wrapper(void) { + return pmw33xx_init(0); } void pmw33xx_set_cpi_wrapper(uint16_t cpi) { diff --git a/drivers/sensors/pmw33xx_common.h b/drivers/sensors/pmw33xx_common.h index 82303ba6d9..ff890f49a9 100644 --- a/drivers/sensors/pmw33xx_common.h +++ b/drivers/sensors/pmw33xx_common.h @@ -106,7 +106,7 @@ STATIC_ASSERT(sizeof((pmw33xx_report_t){0}.motion) == 1, "pmw33xx_report_t.motio #define pmw3360_pointing_device_driver pmw33xx_pointing_device_driver; #define pmw3389_pointing_device_driver pmw33xx_pointing_device_driver; -const pointing_device_driver_t pmw33xx_pointing_device_driver; +extern const pointing_device_driver_t pmw33xx_pointing_device_driver; /** * @brief Initializes the given sensor so it is in a working state and ready to @@ -177,7 +177,7 @@ uint8_t pmw33xx_read(uint8_t sensor, uint8_t reg_addr); */ bool pmw33xx_write(uint8_t sensor, uint8_t reg_addr, uint8_t data); -void pmw33xx_init_wrapper(void); +bool pmw33xx_init_wrapper(void); void pmw33xx_set_cpi_wrapper(uint16_t cpi); uint16_t pmw33xx_get_cpi_wrapper(void); report_mouse_t pmw33xx_get_report(report_mouse_t mouse_report); diff --git a/keyboards/1upkeyboards/pi50/config.h b/keyboards/1upkeyboards/pi50/config.h index e20a9854a5..8d40ecdaec 100644 --- a/keyboards/1upkeyboards/pi50/config.h +++ b/keyboards/1upkeyboards/pi50/config.h @@ -8,3 +8,4 @@ #define I2C_DRIVER I2CD1 #define OLED_BRIGHTNESS 128 #define OLED_FONT_H "keyboards/1upkeyboards/pi50/lib/glcdfont.c" +#define RGB_MATRIX_MODE_NAME_ENABLE diff --git a/keyboards/1upkeyboards/pi50/pi50.c b/keyboards/1upkeyboards/pi50/pi50.c index cc0cdbe333..c55b2669ef 100644 --- a/keyboards/1upkeyboards/pi50/pi50.c +++ b/keyboards/1upkeyboards/pi50/pi50.c @@ -18,49 +18,6 @@ #include #include -#if defined(RGB_MATRIX_EFFECT) -# undef RGB_MATRIX_EFFECT -#endif // defined(RGB_MATRIX_EFFECT) - -#define RGB_MATRIX_EFFECT(x) RGB_MATRIX_EFFECT_##x, -enum { - RGB_MATRIX_EFFECT_NONE, -#include "rgb_matrix_effects.inc" -#undef RGB_MATRIX_EFFECT -#ifdef RGB_MATRIX_CUSTOM_KB -# include "rgb_matrix_kb.inc" -#endif -#ifdef RGB_MATRIX_CUSTOM_USER -# include "rgb_matrix_user.inc" -#endif -#if defined(COMMUNITY_MODULES_ENABLE) && __has_include("rgb_matrix_community_modules.inc") -# include "rgb_matrix_community_modules.inc" -#endif -}; - -#define RGB_MATRIX_EFFECT(x) \ - case RGB_MATRIX_EFFECT_##x: \ - return #x; -const char* rgb_matrix_name(uint8_t effect) { - switch (effect) { - case RGB_MATRIX_EFFECT_NONE: - return "NONE"; -#include "rgb_matrix_effects.inc" -#undef RGB_MATRIX_EFFECT -#ifdef RGB_MATRIX_CUSTOM_KB -# include "rgb_matrix_kb.inc" -#endif -#ifdef RGB_MATRIX_CUSTOM_USER -# include "rgb_matrix_user.inc" -#endif -#if defined(COMMUNITY_MODULES_ENABLE) && __has_include("rgb_matrix_community_modules.inc") -# include "rgb_matrix_community_modules.inc" -#endif - default: - return "UNKNOWN"; - } -} - #ifdef OLED_ENABLE static uint32_t oled_logo_timer = 0; @@ -154,7 +111,7 @@ void user_oled_magic(void) { oled_write_P(led_state.num_lock ? PSTR("Num(x) ") : PSTR("Num( ) "), false); oled_write_P(led_state.scroll_lock ? PSTR("Scrl(x)") : PSTR("Scrl( )"), false); - char *mode_name = strdup(rgb_matrix_name(rgb_matrix_get_mode())); + char *mode_name = strdup(rgb_matrix_get_mode_name(rgb_matrix_get_mode())); if (mode_name != NULL) { int len = strlen(mode_name); bool capitalize_next = true; diff --git a/keyboards/3w6/rev2/keymaps/default_pimoroni/pimoroni_trackball.c b/keyboards/3w6/rev2/keymaps/default_pimoroni/pimoroni_trackball.c index c32f2a04d2..0fe7cdc247 100644 --- a/keyboards/3w6/rev2/keymaps/default_pimoroni/pimoroni_trackball.c +++ b/keyboards/3w6/rev2/keymaps/default_pimoroni/pimoroni_trackball.c @@ -89,9 +89,9 @@ bool process_record_kb(uint16_t keycode, keyrecord_t* record) { if (IS_MOUSEKEY_BUTTON(keycode)) { report_mouse_t currentReport = pointing_device_get_report(); if (record->event.pressed) { - currentReport.buttons |= 1 << (keycode - KC_MS_BTN1); + currentReport.buttons |= 1 << (keycode - QK_MOUSE_BUTTON_1); } else { - currentReport.buttons &= ~(1 << (keycode - KC_MS_BTN1)); + currentReport.buttons &= ~(1 << (keycode - QK_MOUSE_BUTTON_1)); } pointing_device_set_report(currentReport); pointing_device_send(); diff --git a/keyboards/40percentclub/ut47/keymaps/default/keymap.c b/keyboards/40percentclub/ut47/keymaps/default/keymap.c index 4eb2c190c1..4a9de82492 100644 --- a/keyboards/40percentclub/ut47/keymaps/default/keymap.c +++ b/keyboards/40percentclub/ut47/keymaps/default/keymap.c @@ -101,7 +101,7 @@ 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 + _______, _______, _______, _______, _______, _______, _______, MS_LEFT, MS_DOWN, MS_UP, MS_RGHT ), }; diff --git a/keyboards/40percentclub/ut47/keymaps/rgb/keymap.c b/keyboards/40percentclub/ut47/keymaps/rgb/keymap.c index 86ceefaafb..17c0be7772 100644 --- a/keyboards/40percentclub/ut47/keymaps/rgb/keymap.c +++ b/keyboards/40percentclub/ut47/keymaps/rgb/keymap.c @@ -53,7 +53,7 @@ LAYOUT( /* Tab */ KC_ESC, KC_CALC, KC_WHOM, KC_MAIL, KC_MYCM, _______, _______, _______, _______, _______, KC_PSCR, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, UG_TOGG, UG_NEXT, UG_HUEU, UG_HUED, UG_SATU, UG_SATD, UG_VALU, UG_VALD, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R + _______, _______, _______, _______, _______, _______, _______, MS_LEFT, MS_DOWN, MS_UP, MS_RGHT ), }; diff --git a/keyboards/adpenrose/akemipad/keyboard.json b/keyboards/adpenrose/akemipad/keyboard.json index 2dcfed3b5a..085ca5e406 100644 --- a/keyboards/adpenrose/akemipad/keyboard.json +++ b/keyboards/adpenrose/akemipad/keyboard.json @@ -42,8 +42,7 @@ "qmk": { "tap_keycode_delay": 10 }, - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "layouts": { "LAYOUT_all": { "layout": [ diff --git a/keyboards/afternoonlabs/summer_breeze/keymaps/default/keymap.c b/keyboards/afternoonlabs/summer_breeze/keymaps/default/keymap.c index d65d119338..e545bdb1da 100644 --- a/keyboards/afternoonlabs/summer_breeze/keymaps/default/keymap.c +++ b/keyboards/afternoonlabs/summer_breeze/keymaps/default/keymap.c @@ -29,13 +29,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_MAIN] = LAYOUT( //┌────────┬────────┬────────┐┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐┌────────┬────────┬────────┐ - _______, KC_WH_U, _______, KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, KC_MINS, KC_EQL, KC_GRV, + _______, MS_WHLU, _______, KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, KC_MINS, KC_EQL, KC_GRV, //├────────┼────────┼────────┤├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤├────────┼────────┼────────┤ - KC_BTN1, KC_WH_D, KC_BTN2, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL, KC_LBRC, KC_RBRC, KC_BSLS, + MS_BTN1, MS_WHLD, MS_BTN2, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL, KC_LBRC, KC_RBRC, KC_BSLS, //├────────┼────────┼────────┤├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤├────────┼────────┼────────┤ - KC_MS_U, KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_UP, + MS_UP, KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_UP, //├────────┼────────┼────────┤├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤├────────┼────────┼────────┤ - KC_MS_L, KC_MS_D, KC_MS_R, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_LEFT, KC_DOWN, KC_RIGHT, + MS_LEFT, MS_DOWN, MS_RGHT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_LEFT, KC_DOWN, KC_RIGHT, //└────────┴────────┴────────┘└────────┴────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┴────────┴────────┴────────┘└────────┴────────┴────────┘ KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_ENT, RAISE, LOWER, XXXXXXX // └────────┴────────┴────────┴────────┘ └────────┴────────┴────────┴────────┘ @@ -45,7 +45,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //┌────────┬────────┬────────┐┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐┌────────┬────────┬────────┐ _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, //├────────┼────────┼────────┤├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤├────────┼────────┼────────┤ - _______, KC_BTN3, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, MS_BTN3, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, //├────────┼────────┼────────┤├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤├────────┼────────┼────────┤ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, //├────────┼────────┼────────┤├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤├────────┼────────┼────────┤ diff --git a/keyboards/ai/keyboard.json b/keyboards/ai/keyboard.json index bf594d306a..f8a5ba9925 100644 --- a/keyboards/ai/keyboard.json +++ b/keyboards/ai/keyboard.json @@ -2,7 +2,7 @@ "manufacturer": "Louis Dalibard", "keyboard_name": "ai", "maintainer": "make42", - "bootloader": "caterina", + "development_board": "promicro", "diode_direction": "COL2ROW", "features": { "bootmagic": true, @@ -14,7 +14,6 @@ "cols": ["F5", "F6", "F7", "B1"], "rows": ["D0", "D4", "C6", "D7", "D1"] }, - "processor": "atmega32u4", "usb": { "device_version": "1.0.0", "pid": "0x0000", diff --git a/keyboards/ai03/orbit/keymaps/default/keymap.c b/keyboards/ai03/orbit/keymaps/default/keymap.c index de737d4b9a..d777fafef1 100644 --- a/keyboards/ai03/orbit/keymaps/default/keymap.c +++ b/keyboards/ai03/orbit/keymaps/default/keymap.c @@ -38,9 +38,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [2] = LAYOUT( /* Mousekeys and Numpad */ KC_NO, _______, _______, _______, _______, _______, _______, KC_NUM, KC_P7, KC_P8, KC_P9, KC_PSLS, _______, _______, - KC_NO, _______, KC_BTN1, KC_MS_U, KC_BTN2, KC_WH_U, _______, _______, KC_P4, KC_P5, KC_P6, KC_PAST, _______, _______, - TO(1), _______, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_D, _______, _______, KC_P1, KC_P2, KC_P3, KC_PMNS, _______, _______, - TO(1), _______, KC_ACL0, KC_ACL1, KC_ACL2, KC_BTN3, _______, DBLZERO, KC_P0, KC_PDOT, KC_PENT, KC_PPLS, _______, MANUAL, + KC_NO, _______, MS_BTN1, MS_UP, MS_BTN2, MS_WHLU, _______, _______, KC_P4, KC_P5, KC_P6, KC_PAST, _______, _______, + TO(1), _______, MS_LEFT, MS_DOWN, MS_RGHT, MS_WHLD, _______, _______, KC_P1, KC_P2, KC_P3, KC_PMNS, _______, _______, + TO(1), _______, MS_ACL0, MS_ACL1, MS_ACL2, MS_BTN3, _______, DBLZERO, KC_P0, KC_PDOT, KC_PENT, KC_PPLS, _______, MANUAL, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ) }; diff --git a/keyboards/aidansmithdotdev/fine40/keymaps/default/keymap.c b/keyboards/aidansmithdotdev/fine40/keymaps/default/keymap.c index 0010c9f97b..e541c14d01 100644 --- a/keyboards/aidansmithdotdev/fine40/keymaps/default/keymap.c +++ b/keyboards/aidansmithdotdev/fine40/keymaps/default/keymap.c @@ -38,7 +38,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_ESC , QK_BOOT, _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , KC_F11 , KC_F12 , KC_F13 , KC_F14 , KC_F15 , KC_F16 , KC_F17 , KC_F18 , KC_F19 , KC_F20 , _______ , _______ , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , _______ , - _______ , _______ , _______ , _______ , _______ , _______ , _______ , KC_MS_L , KC_MS_D , KC_MS_U , KC_MS_R , _______ + _______ , _______ , _______ , _______ , _______ , _______ , _______ , MS_LEFT , MS_DOWN , MS_UP , MS_RGHT , _______ ), }; diff --git a/keyboards/akko/5087/5087.c b/keyboards/akko/5087/5087.c index 27439c20ef..0b26ef90a6 100644 --- a/keyboards/akko/5087/5087.c +++ b/keyboards/akko/5087/5087.c @@ -125,24 +125,15 @@ const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { }; #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) { +void keyboard_post_init_kb(void) { gpio_set_pin_output(LED_MAC_OS_PIN); // LDE2 MAC\WIN gpio_write_pin_low(LED_MAC_OS_PIN); gpio_set_pin_output(LED_WIN_LOCK_PIN); // LED3 Win Lock gpio_write_pin_low(LED_WIN_LOCK_PIN); - matrix_init_user(); + keyboard_post_init_user(); } void housekeeping_task_kb(void){ @@ -155,18 +146,6 @@ bool process_record_kb(uint16_t keycode, keyrecord_t* 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); - } - return false; case QK_RGB_MATRIX_TOGGLE: if (record->event.pressed) { switch (rgb_matrix_get_flags()) { diff --git a/keyboards/akko/5087/keyboard.json b/keyboards/akko/5087/keyboard.json index 0561817b69..564a5519a9 100644 --- a/keyboards/akko/5087/keyboard.json +++ b/keyboards/akko/5087/keyboard.json @@ -7,8 +7,12 @@ "vid": "0xFFFE", "pid": "0x000C", "device_version": "1.0.4", - "suspend_wakeup_delay": 400, - "force_nkro": true + "suspend_wakeup_delay": 400 + }, + "host": { + "default": { + "nkro": true + } }, "processor": "WB32FQ95", "bootloader": "wb32-dfu", diff --git a/keyboards/akko/5087/keymaps/default/keymap.c b/keyboards/akko/5087/keymaps/default/keymap.c index 039823465c..162e862cd6 100644 --- a/keyboards/akko/5087/keymaps/default/keymap.c +++ b/keyboards/akko/5087/keymaps/default/keymap.c @@ -48,7 +48,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [WIN_FN] = LAYOUT_tkl_ansi( /* FN */ _______, KC_MYCM, KC_MAIL, KC_WSCH, KC_WHOM, KC_MSEL, KC_MPLY, KC_MPRV, KC_MNXT, _______,_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RM_SPDD, RM_SPDU, _______, _______, _______, _______, - _______, _______,TG(WIN_W),_______, _______, _______, _______, _______, _______, DF(MAC_B),_______,_______, _______, RM_NEXT, _______, _______, _______, + _______, _______,TG(WIN_W),_______, _______, _______, _______, _______, _______, PDF(MAC_B),_______,_______, _______, RM_NEXT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RM_TOGG, _______, _______, RM_HUEU, _______, _______, _______, KC_CALC, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, RM_VALU, _______, GU_TOGG, _______, _______, _______, _______, _______, _______, RM_SATD, RM_VALD, RM_SATU), @@ -71,7 +71,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [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, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RM_SPDD, RM_SPDU, _______, _______, _______, _______, - _______, _______,TG(MAC_W),_______, _______, _______, _______, _______, _______, DF(WIN_B),_______,_______, _______, RM_NEXT, _______, _______, _______, + _______, _______,TG(MAC_W),_______, _______, _______, _______, _______, _______, PDF(WIN_B),_______,_______, _______, RM_NEXT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RM_TOGG, _______, _______, RM_HUEU, _______, _______, _______, KC_CALC, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, RM_VALU, _______, _______, _______, _______, _______, _______, _______, _______, RM_SATD, RM_VALD, RM_SATU) diff --git a/keyboards/akko/5108/keyboard.json b/keyboards/akko/5108/keyboard.json index b62dbbf17c..a393f952d8 100644 --- a/keyboards/akko/5108/keyboard.json +++ b/keyboards/akko/5108/keyboard.json @@ -7,8 +7,12 @@ "vid": "0xFFFE", "pid": "0x000D", "device_version": "1.0.3", - "suspend_wakeup_delay": 400, - "force_nkro": true + "suspend_wakeup_delay": 400 + }, + "host": { + "default": { + "nkro": true + } }, "processor": "WB32FQ95", "bootloader": "wb32-dfu", diff --git a/keyboards/akko/acr87/keyboard.json b/keyboards/akko/acr87/keyboard.json index 17981b609a..bf72c511b5 100644 --- a/keyboards/akko/acr87/keyboard.json +++ b/keyboards/akko/acr87/keyboard.json @@ -7,8 +7,12 @@ "vid": "0xFFFE", "pid": "0x0010", "device_version": "1.0.1", - "suspend_wakeup_delay": 400, - "force_nkro": true + "suspend_wakeup_delay": 400 + }, + "host": { + "default": { + "nkro": true + } }, "processor": "WB32FQ95", "bootloader": "wb32-dfu", diff --git a/keyboards/akko/top40/keyboard.json b/keyboards/akko/top40/keyboard.json index 3cb7086608..857ffda276 100644 --- a/keyboards/akko/top40/keyboard.json +++ b/keyboards/akko/top40/keyboard.json @@ -7,8 +7,12 @@ "vid": "0xFFFE", "pid": "0x000E", "device_version": "1.0.2", - "suspend_wakeup_delay": 400, - "force_nkro": true + "suspend_wakeup_delay": 400 + }, + "host": { + "default": { + "nkro": true + } }, "processor": "WB32FQ95", "bootloader": "wb32-dfu", diff --git a/keyboards/aleblazer/zodiark/keyboard.json b/keyboards/aleblazer/zodiark/keyboard.json index fba239866e..6818797809 100644 --- a/keyboards/aleblazer/zodiark/keyboard.json +++ b/keyboards/aleblazer/zodiark/keyboard.json @@ -71,8 +71,7 @@ "pin": "D3" } }, - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/alpha/keyboard.json b/keyboards/alpha/keyboard.json index 84a25eb180..7c18d47045 100644 --- a/keyboards/alpha/keyboard.json +++ b/keyboards/alpha/keyboard.json @@ -45,8 +45,7 @@ "rows": ["D4", "B4", "B5"] }, "diode_direction": "COL2ROW", - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/amjkeyboard/amj84/keyboard.json b/keyboards/amjkeyboard/amj84/keyboard.json index a6108ab9a7..4ef3bfb776 100644 --- a/keyboards/amjkeyboard/amj84/keyboard.json +++ b/keyboards/amjkeyboard/amj84/keyboard.json @@ -5,8 +5,12 @@ "usb": { "vid": "0x00D8", "pid": "0x6068", - "device_version": "0.0.1", - "force_nkro": true + "device_version": "0.0.1" + }, + "host": { + "default": { + "nkro": true + } }, "features": { "backlight": true, diff --git a/keyboards/aplyard/aplx6/rev1/keyboard.json b/keyboards/aplyard/aplx6/rev1/keyboard.json index 667ebdba02..5e3c35b49b 100644 --- a/keyboards/aplyard/aplx6/rev1/keyboard.json +++ b/keyboards/aplyard/aplx6/rev1/keyboard.json @@ -15,8 +15,7 @@ "rows": ["E6", "B3"] }, "diode_direction": "COL2ROW", - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/aplyard/aplx6/rev2/keyboard.json b/keyboards/aplyard/aplx6/rev2/keyboard.json index 4c881534f4..56ec03479f 100644 --- a/keyboards/aplyard/aplx6/rev2/keyboard.json +++ b/keyboards/aplyard/aplx6/rev2/keyboard.json @@ -25,8 +25,7 @@ "qmk": { "tap_keycode_delay": 50 }, - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/arabica37/rev1/keyboard.json b/keyboards/arabica37/rev1/keyboard.json index d1db9a276c..1433875e29 100644 --- a/keyboards/arabica37/rev1/keyboard.json +++ b/keyboards/arabica37/rev1/keyboard.json @@ -31,8 +31,7 @@ "ws2812": { "pin": "D3" }, - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/arrayperipherals/1x4p1/keymaps/default/keymap.c b/keyboards/arrayperipherals/1x4p1/keymaps/default/keymap.c index 5318b16df5..dc4e21127a 100644 --- a/keyboards/arrayperipherals/1x4p1/keymaps/default/keymap.c +++ b/keyboards/arrayperipherals/1x4p1/keymaps/default/keymap.c @@ -20,9 +20,9 @@ along with this program. If not, see . bool encoder_update_user(uint8_t index, bool clockwise) { if (index == 0) { /* First encoder */ if (clockwise) { - tap_code(KC_MS_WH_UP); + tap_code(MS_WHLU); } else { - tap_code(KC_MS_WH_DOWN); + tap_code(MS_WHLD); } } return true; diff --git a/keyboards/arrowmechanics/wings/keymaps/default/keymap.c b/keyboards/arrowmechanics/wings/keymaps/default/keymap.c index 6e0a6a18dc..97f465de35 100644 --- a/keyboards/arrowmechanics/wings/keymaps/default/keymap.c +++ b/keyboards/arrowmechanics/wings/keymaps/default/keymap.c @@ -10,7 +10,7 @@ enum layers { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [BASE] = LAYOUT( KC_VOLU, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_EQL, KC_PSCR, KC_DEL, - KC_VOLD, KC_ESC, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, RM_NEXT, KC_BTN1, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_BSPC, + KC_VOLD, KC_ESC, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, RM_NEXT, MS_BTN1, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_BSPC, KC_MPLY, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, C(KC_C), C(KC_V), KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_MNXT, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, C(KC_Z), C(KC_Y), KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_MPRV, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_ENT, KC_ENT, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_HOME, @@ -20,6 +20,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { #if defined(ENCODER_MAP_ENABLE) const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { - [BASE] = { ENCODER_CCW_CW(RM_HUEU, RM_HUED), ENCODER_CCW_CW(KC_WH_U, KC_WH_D) }, + [BASE] = { ENCODER_CCW_CW(RM_HUEU, RM_HUED), ENCODER_CCW_CW(MS_WHLU, MS_WHLD) }, }; #endif diff --git a/keyboards/ashwing66/keymaps/default/keymap.c b/keyboards/ashwing66/keymaps/default/keymap.c index 304f888742..416fe0261e 100644 --- a/keyboards/ashwing66/keymaps/default/keymap.c +++ b/keyboards/ashwing66/keymaps/default/keymap.c @@ -18,8 +18,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_LAYERB] = LAYOUT_5x16( KC_ESC ,RM_TOGG,RM_PREV ,RM_NEXT ,RM_VALD ,RM_VALU ,RM_SPDD ,RM_SPDU ,RM_HUED ,RM_HUEU ,RM_SATD ,RM_SATU , - KC_TAB ,KC_Q ,KC_W ,KC_E ,KC_R ,KC_T ,KC_Y ,KC_BTN1 ,KC_MS_U ,KC_BTN2 ,KC_P ,KC_EQL , - KC_LCTL,KC_A ,KC_S ,KC_D ,KC_F ,KC_G ,KC_H ,KC_MS_L ,KC_MS_D ,KC_MS_R ,KC_SCLN ,KC_QUOT , + KC_TAB ,KC_Q ,KC_W ,KC_E ,KC_R ,KC_T ,KC_Y ,MS_BTN1 ,MS_UP ,MS_BTN2 ,KC_P ,KC_EQL , + KC_LCTL,KC_A ,KC_S ,KC_D ,KC_F ,KC_G ,KC_H ,MS_LEFT ,MS_DOWN ,MS_RGHT ,KC_SCLN ,KC_QUOT , KC_LSFT,KC_Z ,KC_X ,KC_C ,KC_V ,KC_B ,KC_LBRC ,KC_MUTE ,KC_RBRC ,KC_N ,KC_M ,KC_COMM ,KC_DOT ,KC_SLSH ,KC_RSFT , KC_LBRC,KC_PSCR,KC_CAPS ,_______ ,KC_LGUI ,KC_LALT ,KC_SPC ,KC_END ,KC_HOME ,KC_ENT ,KC_BSPC ,_______ ,KC_INS ,KC_DEL ,KC_BSLS ,KC_RBRC ), diff --git a/keyboards/atlantis/ak81_ve/keyboard.json b/keyboards/atlantis/ak81_ve/keyboard.json index 7c01714201..3868625d93 100644 --- a/keyboards/atlantis/ak81_ve/keyboard.json +++ b/keyboards/atlantis/ak81_ve/keyboard.json @@ -5,8 +5,12 @@ "usb": { "vid": "0x416B", "pid": "0x0081", - "device_version": "0.0.1", - "force_nkro": true + "device_version": "0.0.1" + }, + "host": { + "default": { + "nkro": true + } }, "rgb_matrix": { "animations": { diff --git a/keyboards/atomic/keymaps/default/keymap.c b/keyboards/atomic/keymaps/default/keymap.c index 70feec1038..4afcf6c053 100644 --- a/keyboards/atomic/keymaps/default/keymap.c +++ b/keyboards/atomic/keymaps/default/keymap.c @@ -203,8 +203,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_FN] = LAYOUT_ortho_5x15( /* FUNCTION */ KC_NUM, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, ___T___, ___T___, 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, _______, ___T___, ___T___, KC_WH_U, - _______, _______, DF(_QW), DF(_CM), DF(_DV), _______, _______, _______, _______, _______, _______, ___T___, ___T___, KC_MS_U, KC_WH_D, - _______, _______, _______, _______, _______, KC_BTN1, KC_BTN1, _______, _______, _______, _______, _______, KC_MS_L, KC_MS_D, KC_MS_R + KC_CAPS, MS_BTN5, MS_BTN4, MS_BTN3, MS_BTN2, MS_ACL0, MS_ACL2, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY, _______, ___T___, ___T___, MS_WHLU, + _______, _______, DF(_QW), DF(_CM), DF(_DV), _______, _______, _______, _______, _______, _______, ___T___, ___T___, MS_UP, MS_WHLD, + _______, _______, _______, _______, _______, MS_BTN1, MS_BTN1, _______, _______, _______, _______, _______, MS_LEFT, MS_DOWN, MS_RGHT ), }; diff --git a/keyboards/atreus62/keyboard.json b/keyboards/atreus62/keyboard.json index 5fb786fa98..34e19925e9 100644 --- a/keyboards/atreus62/keyboard.json +++ b/keyboards/atreus62/keyboard.json @@ -27,8 +27,7 @@ "rows": ["D2", "D3", "D1", "D0", "D4"] }, "diode_direction": "ROW2COL", - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/atreyu/rev1/rev1.c b/keyboards/atreyu/rev1/rev1.c index 026eba4b8a..495d6e85f5 100644 --- a/keyboards/atreyu/rev1/rev1.c +++ b/keyboards/atreyu/rev1/rev1.c @@ -31,9 +31,9 @@ bool encoder_update_kb(uint8_t index, bool clockwise) { } if (index == 0) { if (clockwise) { - tap_code(KC_WH_U); + tap_code(MS_WHLU); } else { - tap_code(KC_WH_D); + tap_code(MS_WHLD); } } return true; diff --git a/keyboards/atreyu/rev2/rev2.c b/keyboards/atreyu/rev2/rev2.c index 78c70631a3..37c9e489c1 100644 --- a/keyboards/atreyu/rev2/rev2.c +++ b/keyboards/atreyu/rev2/rev2.c @@ -31,9 +31,9 @@ bool encoder_update_kb(uint8_t index, bool clockwise) { } if (index == 0) { if (clockwise) { - tap_code(KC_WH_U); + tap_code(MS_WHLU); } else { - tap_code(KC_WH_D); + tap_code(MS_WHLD); } } return true; diff --git a/keyboards/avalanche/v1/keyboard.json b/keyboards/avalanche/v1/keyboard.json index 0e539bdefc..4a6e2fbcbb 100644 --- a/keyboards/avalanche/v1/keyboard.json +++ b/keyboards/avalanche/v1/keyboard.json @@ -25,8 +25,7 @@ "pin": "D2" } }, - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/avalanche/v2/keyboard.json b/keyboards/avalanche/v2/keyboard.json index 2c38fd1056..f1fd8e1a53 100644 --- a/keyboards/avalanche/v2/keyboard.json +++ b/keyboards/avalanche/v2/keyboard.json @@ -39,8 +39,7 @@ "pin": "D2" } }, - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/avalanche/v3/keyboard.json b/keyboards/avalanche/v3/keyboard.json index 84191a103f..fb15395524 100644 --- a/keyboards/avalanche/v3/keyboard.json +++ b/keyboards/avalanche/v3/keyboard.json @@ -38,8 +38,7 @@ "ws2812": { "pin": "D3" }, - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/avalanche/v4/keyboard.json b/keyboards/avalanche/v4/keyboard.json index 2a548c5665..33abc8c96b 100644 --- a/keyboards/avalanche/v4/keyboard.json +++ b/keyboards/avalanche/v4/keyboard.json @@ -53,8 +53,7 @@ "alternating": true } }, - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/aya/keymaps/default/keymap.c b/keyboards/aya/keymaps/default/keymap.c index 255e13d7b7..ec429cf375 100644 --- a/keyboards/aya/keymaps/default/keymap.c +++ b/keyboards/aya/keymaps/default/keymap.c @@ -37,8 +37,8 @@ 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_BTN2, KC_Q , KC_W , KC_E , KC_R , KC_T, KC_Y , KC_U , KC_I , KC_O , KC_P , KC_LBRC, KC_RBRC, - _______, KC_BTN1, KC_A , KC_S , KC_D , KC_F , KC_G, _______, _______, KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT, KC_NUHS, + _______, MS_BTN2, KC_Q , KC_W , KC_E , KC_R , KC_T, KC_Y , KC_U , KC_I , KC_O , KC_P , KC_LBRC, KC_RBRC, + _______, MS_BTN1, 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_NUBS, KC_Z , KC_X , KC_C , KC_V , KC_B, KC_LALT, MO(2) , _______, KC_DEL , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, _______, _______, KC_LSFT, _LG_ESC, KC_TAB , MO(1) , _______, KC_ENT, _RC_SPC, _RS_BSP ), @@ -79,9 +79,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [2] = LAYOUT( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, KC_WH_L, KC_WH_D, KC_WH_U, KC_WH_R, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, MS_WHLL, MS_WHLD, MS_WHLU, MS_WHLR, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, MS_LEFT, MS_DOWN, MS_UP, MS_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, KC_BTN1, KC_BTN2 + _______, _______, _______, _______, _______, _______, MS_BTN1, MS_BTN2 ), }; diff --git a/keyboards/b_sides/rev41lp/keyboard.json b/keyboards/b_sides/rev41lp/keyboard.json index 75c7affbf5..39f994eea1 100644 --- a/keyboards/b_sides/rev41lp/keyboard.json +++ b/keyboards/b_sides/rev41lp/keyboard.json @@ -27,8 +27,7 @@ "levels": 7, "max_brightness": 150 }, - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "layout_aliases": { "LAYOUT_rev41lp": "LAYOUT" }, diff --git a/keyboards/bajjak/bajjak.c b/keyboards/bajjak/bajjak.c index aadeb0415a..17d9165232 100644 --- a/keyboards/bajjak/bajjak.c +++ b/keyboards/bajjak/bajjak.c @@ -21,6 +21,10 @@ along with this program. If not, see . #include "bajjak.h" +bool bajjak_left_led_1 = 0; +bool bajjak_left_led_2 = 0; +bool bajjak_left_led_3 = 0; + extern inline void bajjak_board_led_on(void); extern inline void bajjak_right_led_1_on(void); extern inline void bajjak_right_led_2_on(void); diff --git a/keyboards/bajjak/bajjak.h b/keyboards/bajjak/bajjak.h index cd4ae50053..f3acb54f59 100644 --- a/keyboards/bajjak/bajjak.h +++ b/keyboards/bajjak/bajjak.h @@ -66,9 +66,9 @@ inline void bajjak_right_led_3_off(void) { gpio_set_pin_input(B7); gpio_write_ inline void bajjak_right_led_off(uint8_t led) { gpio_set_pin_input(led+4); gpio_write_pin_low(led+4); } #ifdef LEFT_LEDS -bool bajjak_left_led_1; -bool bajjak_left_led_2; -bool bajjak_left_led_3; +extern bool bajjak_left_led_1; +extern bool bajjak_left_led_2; +extern bool bajjak_left_led_3; inline void bajjak_left_led_1_on(void) { bajjak_left_led_1 = 1; } inline void bajjak_left_led_2_on(void) { bajjak_left_led_2 = 1; } diff --git a/keyboards/bajjak/keymaps/5x6/keymap.c b/keyboards/bajjak/keymaps/5x6/keymap.c index b700976dc9..65061a398a 100644 --- a/keyboards/bajjak/keymaps/5x6/keymap.c +++ b/keyboards/bajjak/keymaps/5x6/keymap.c @@ -122,9 +122,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // Left hand Right hand XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_SLEP, KC_BRID, KC_BRIU, XXXXXXX, XXXXXXX, XXXXXXX, KC_EJCT, XXXXXXX, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, - XXXXXXX, XXXXXXX, KC_BTN1, KC_MS_U, KC_BTN2, KC_WH_U, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - QK_BOOT, XXXXXXX, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_D, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - _______, XXXXXXX, KC_WH_L, XXXXXXX, KC_WH_R, XXXXXXX, DF(SYMB), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, MS_BTN1, MS_UP, MS_BTN2, MS_WHLU, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + QK_BOOT, XXXXXXX, MS_LEFT, MS_DOWN, MS_RGHT, MS_WHLD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + _______, XXXXXXX, MS_WHLL, XXXXXXX, MS_WHLR, XXXXXXX, DF(SYMB), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, _______, _______, _______, _______, _______, XXXXXXX, XXXXXXX, DF(BASE), _______, _______, _______, _______, _______, _______, diff --git a/keyboards/bajjak/keymaps/default/keymap.c b/keyboards/bajjak/keymaps/default/keymap.c index 4e2a7e055c..39919c628c 100644 --- a/keyboards/bajjak/keymaps/default/keymap.c +++ b/keyboards/bajjak/keymaps/default/keymap.c @@ -128,9 +128,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // Left hand Right hand KC_SLEP, KC_BRID, KC_BRIU, _______, _______, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_EJCT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - KC_TAB, _______, KC_BTN1, KC_MS_U, KC_BTN2, KC_WH_U, _______, _______, _______, _______, _______, _______, _______, _______, - KC_CAPS, _______, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_D, _______, _______, _______, _______, _______, _______, _______, _______, - KC_LSFT, _______, KC_WH_L, _______, KC_WH_R, _______, _______, _______, _______, _______, _______, _______, + KC_TAB, _______, MS_BTN1, MS_UP, MS_BTN2, MS_WHLU, _______, _______, _______, _______, _______, _______, _______, _______, + KC_CAPS, _______, MS_LEFT, MS_DOWN, MS_RGHT, MS_WHLD, _______, _______, _______, _______, _______, _______, _______, _______, + KC_LSFT, _______, MS_WHLL, _______, MS_WHLR, _______, _______, _______, _______, _______, _______, _______, KC_LCTL, KC_LGUI, ALT_T(KC_INSERT), KC_LEFT, KC_RGHT, KC_UP, KC_DOWN, _______, _______, QK_BOOT, CTL_T(KC_ESC), KC_LALT, KC_RGUI, CTL_T(KC_RALT), KC_HOME, KC_PGUP, diff --git a/keyboards/balloondogcaps/tr90pm/keyboard.json b/keyboards/balloondogcaps/tr90pm/keyboard.json index da8f29e977..e103091bd7 100644 --- a/keyboards/balloondogcaps/tr90pm/keyboard.json +++ b/keyboards/balloondogcaps/tr90pm/keyboard.json @@ -2,7 +2,7 @@ "manufacturer": "Balloondog", "keyboard_name": "TR90PM", "maintainer": "balloondogcaps", - "bootloader": "caterina", + "development_board": "promicro", "diode_direction": "COL2ROW", "features": { "bootmagic": true, @@ -14,7 +14,6 @@ "cols": ["D1", "D0", "D4"], "rows": ["C6", "D7", "E6"] }, - "processor": "atmega32u4", "usb": { "device_version": "1.0.0", "pid": "0x0002", diff --git a/keyboards/bandominedoni/keyboard.json b/keyboards/bandominedoni/keyboard.json index 41212aedef..f6ea0f43c3 100644 --- a/keyboards/bandominedoni/keyboard.json +++ b/keyboards/bandominedoni/keyboard.json @@ -47,8 +47,7 @@ "ws2812": { "pin": "D3" }, - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/basekeys/slice/rev1/keyboard.json b/keyboards/basekeys/slice/rev1/keyboard.json index a6097e560a..209e4ef57a 100644 --- a/keyboards/basekeys/slice/rev1/keyboard.json +++ b/keyboards/basekeys/slice/rev1/keyboard.json @@ -30,8 +30,7 @@ "pin": "D2" } }, - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/basekeys/slice/rev1_rgb/keyboard.json b/keyboards/basekeys/slice/rev1_rgb/keyboard.json index d6d7b8ad45..6747729363 100644 --- a/keyboards/basekeys/slice/rev1_rgb/keyboard.json +++ b/keyboards/basekeys/slice/rev1_rgb/keyboard.json @@ -56,8 +56,7 @@ "twinkle": true } }, - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/bastardkb/charybdis/3x5/3x5.c b/keyboards/bastardkb/charybdis/3x5/3x5.c deleted file mode 100644 index 6e8e3bef10..0000000000 --- a/keyboards/bastardkb/charybdis/3x5/3x5.c +++ /dev/null @@ -1,87 +0,0 @@ -/* - * Copyright 2020 Christopher Courtney (@drashna) - * 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 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 "charybdis.h" - -// clang-format off -#ifdef RGB_MATRIX_ENABLE -/** - * \brief LEDs index. - * - * ╭────────────────────╮ ╭────────────────────╮ - * 2 3 8 9 12 30 27 26 21 20 - * ├────────────────────┤ ├────────────────────┤ - * 1 4 7 10 13 31 28 25 22 19 - * ├────────────────────┤ ├────────────────────┤ - * 0 5 6 11 14 32 29 24 23 18 - * ╰────────────────────╯ ╰────────────────────╯ - * 15 16 17 33 34 XX - * ╰────────────╯ ╰────────────╯ - * - * Note: the LED config simulates 36 LEDs instead of the actual 35 to prevent - * confusion when testing LEDs during assembly when handedness is not set - * correctly. Those fake LEDs are bound to the physical top-left corner. - */ -led_config_t g_led_config = { { - /* Key Matrix to LED index. */ - // Left split. - { 2, 3, 8, 9, 12 }, // Top row - { 1, 4, 7, 10, 13 }, // Middle row - { 0, 5, 6, 11, 14 }, // Bottom row - { 17, NO_LED, 15, 16, NO_LED }, // Thumb cluster - // Right split. - { 20, 21, 26, 27, 30 }, // Top row - { 19, 22, 25, 28, 31 }, // Middle row - { 18, 23, 24, 29, 32 }, // Bottom row - { 33, NO_LED, 34, NO_LED, NO_LED }, // Thumb cluster -}, { - /* LED index to physical position. */ - // Left split. - /* index=0 */ { 0, 42 }, { 0, 21 }, { 0, 0 }, // col 1 (left most) - /* index=3 */ { 18, 0 }, { 18, 21 }, { 18, 42 }, // col 2 - /* index=6 */ { 36, 42 }, { 36, 21 }, { 36, 0 }, - /* index=9 */ { 54, 0 }, { 54, 21 }, { 54, 42 }, - /* index=12 */ { 72, 0 }, { 72, 21 }, { 72, 42 }, - /* index=15 */ { 72, 64 }, { 90, 64 }, { 108, 64 }, // Thumb cluster - // Right split. - /* index=18 */ { 224, 42 }, { 224, 21 }, { 224, 0 }, // col 10 (right most) - /* index=21 */ { 206, 0 }, { 206, 21 }, { 206, 42 }, // col 9 - /* index=24 */ { 188, 42 }, { 188, 21 }, { 188, 0 }, - /* index=27 */ { 170, 0 }, { 170, 21 }, { 170, 42 }, - /* index=30 */ { 152, 0 }, { 152, 21 }, { 152, 42 }, - /* index=33 */ { 134, 64 }, { 152, 64 }, { 0, 0 }, -}, { - /* LED index to flag. */ - // Left split. - /* index=0 */ LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, // col 1 - /* index=3 */ LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, // col 2 - /* index=6 */ LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, - /* index=9 */ LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, - /* index=12 */ LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, - /* index=15 */ LED_FLAG_MODIFIER, LED_FLAG_MODIFIER, LED_FLAG_MODIFIER, // Thumb cluster - // Right split. - /* index=18 */ LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, // col 10 - /* index=21 */ LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, // col 9 - /* index=24 */ LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, - /* index=27 */ LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, - /* index=30 */ LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, - /* index=33 */ LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, // Thumb cluster -} }; -#endif -// clang-format on diff --git a/keyboards/bastardkb/charybdis/3x5/blackpill/config.h b/keyboards/bastardkb/charybdis/3x5/blackpill/config.h index bd1e0fe31e..9c01986583 100644 --- a/keyboards/bastardkb/charybdis/3x5/blackpill/config.h +++ b/keyboards/bastardkb/charybdis/3x5/blackpill/config.h @@ -1,28 +1,9 @@ -/* - * Copyright 2020 Christopher Courtney (@drashna) - * Copyright 2021 Stefan Kerkmann (@KarlK90) - * 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 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 . - */ - +// Copyright 2020 Christopher Courtney (@drashna) +// Copyright 2021 Stefan Kerkmann (@KarlK90) +// Copyright 2021 Charly Delay (@0xcharly) +// SPDX-License-Identifier: GPL-2.0-or-later #pragma once -/* Handedness. */ -#define SPLIT_HAND_PIN A3 // High -> left, Low -> right. - -/* RGB settings. */ #define WS2812_PWM_DRIVER PWMD2 #define WS2812_PWM_CHANNEL 2 #define WS2812_PWM_PAL_MODE 1 @@ -30,14 +11,6 @@ #define WS2812_PWM_DMA_STREAM STM32_DMA1_STREAM1 #define WS2812_PWM_DMA_CHANNEL 3 -/* Serial configuration for split keyboard. */ -#define SERIAL_USART_TX_PIN A9 - -/* CRC. */ -#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 @@ -46,9 +19,7 @@ #define SPI_MISO_PIN A6 #define SPI_MISO_PAL_MODE 5 -/* EEPROM config. */ #define EXTERNAL_EEPROM_SPI_SLAVE_SELECT_PIN A4 -/* PMW3360 settings. */ #define POINTING_DEVICE_CS_PIN B14 #define PMW33XX_CS_DIVISOR 64 diff --git a/keyboards/bastardkb/charybdis/3x5/blackpill/halconf.h b/keyboards/bastardkb/charybdis/3x5/blackpill/halconf.h index 300b0eeaed..6876cc3e00 100644 --- a/keyboards/bastardkb/charybdis/3x5/blackpill/halconf.h +++ b/keyboards/bastardkb/charybdis/3x5/blackpill/halconf.h @@ -1,21 +1,6 @@ -/** - * Copyright 2020 Nick Brassel (tzarc) - * 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 . - */ - +// Copyright 2020 Nick Brassel (tzarc) +// Copyright 2021 Charly Delay (@0xcharly) +// SPDX-License-Identifier: GPL-2.0-or-later #pragma once #define HAL_USE_PWM TRUE diff --git a/keyboards/bastardkb/charybdis/3x5/blackpill/keyboard.json b/keyboards/bastardkb/charybdis/3x5/blackpill/keyboard.json index bcc57981b5..15edbf74b8 100644 --- a/keyboards/bastardkb/charybdis/3x5/blackpill/keyboard.json +++ b/keyboards/bastardkb/charybdis/3x5/blackpill/keyboard.json @@ -1,38 +1,23 @@ { - "keyboard_name": "Charybdis Nano (3x5) Blackpill", - "usb": { - "device_version": "1.0.0", - "shared_endpoint": { - "keyboard": true - } - }, - "features": { - "bootmagic": true, - "mousekey": true, - "extrakey": true, - "rgb_matrix": true, - "pointing_device": true - }, + "development_board": "blackpill_f411", "eeprom": { "driver": "spi" }, - "split": { - "enabled": true - }, - "rgb_matrix": { - "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"] }, - "diode_direction": "ROW2COL", - "development_board": "blackpill_f411" + "split": { + "handedness": { + "pin": "A3" + }, + "serial": { + "driver": "usart", + "pin": "A9" + } + }, + "ws2812": { + "driver": "pwm", + "pin": "A1" + } } diff --git a/keyboards/bastardkb/charybdis/3x5/blackpill/mcuconf.h b/keyboards/bastardkb/charybdis/3x5/blackpill/mcuconf.h index 46b3b42f8b..be641fb899 100644 --- a/keyboards/bastardkb/charybdis/3x5/blackpill/mcuconf.h +++ b/keyboards/bastardkb/charybdis/3x5/blackpill/mcuconf.h @@ -1,22 +1,7 @@ -/* - * Copyright 2020 Nick Brassel (tzarc) - * Copyright 2021 Stefan Kerkmann (@KarlK90) - * 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 . - */ - +// Copyright 2020 Nick Brassel (tzarc) +// Copyright 2021 Stefan Kerkmann (@KarlK90) +// Copyright 2021 Charly Delay (@0xcharly) +// SPDX-License-Identifier: GPL-2.0-or-later #pragma once #include_next @@ -30,11 +15,6 @@ #undef STM32_SPI_USE_SPI1 #define STM32_SPI_USE_SPI1 TRUE -#undef STM32_SPI_SPI1_RX_DMA_STREAM -#define STM32_SPI_SPI1_RX_DMA_STREAM STM32_DMA_STREAM_ID(2, 0) -#undef STM32_SPI_SPI1_TX_DMA_STREAM -#define STM32_SPI_SPI1_TX_DMA_STREAM STM32_DMA_STREAM_ID(2, 3) - #undef STM32_SERIAL_USE_USART1 #define STM32_SERIAL_USE_USART1 TRUE diff --git a/keyboards/bastardkb/charybdis/3x5/blackpill/readme.md b/keyboards/bastardkb/charybdis/3x5/blackpill/readme.md deleted file mode 100644 index 7ef08798b8..0000000000 --- a/keyboards/bastardkb/charybdis/3x5/blackpill/readme.md +++ /dev/null @@ -1,3 +0,0 @@ -# Charybdis Nano (3x5) BlackPill - -An ergonomic keyboard with integrated trackball, with BlackPill (STM32F411) mod. diff --git a/keyboards/bastardkb/charybdis/3x5/blackpill/rules.mk b/keyboards/bastardkb/charybdis/3x5/blackpill/rules.mk deleted file mode 100644 index c8d355efb7..0000000000 --- a/keyboards/bastardkb/charybdis/3x5/blackpill/rules.mk +++ /dev/null @@ -1,5 +0,0 @@ -AUDIO_SUPPORTED = no # Audio is not supported - -POINTING_DEVICE_DRIVER = pmw3360 -MOUSE_SHARED_EP = no # Unify multiple HID interfaces into a single Endpoint -SERIAL_DRIVER = usart diff --git a/keyboards/bastardkb/charybdis/3x5/config.h b/keyboards/bastardkb/charybdis/3x5/config.h deleted file mode 100644 index 1c952759a7..0000000000 --- a/keyboards/bastardkb/charybdis/3x5/config.h +++ /dev/null @@ -1,22 +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 - -/* Trackball angle adjustment. */ -#define ROTATIONAL_TRANSFORM_ANGLE -25 diff --git a/keyboards/bastardkb/charybdis/3x5/elitec/config.h b/keyboards/bastardkb/charybdis/3x5/elitec/config.h new file mode 100644 index 0000000000..411ddaf6b9 --- /dev/null +++ b/keyboards/bastardkb/charybdis/3x5/elitec/config.h @@ -0,0 +1,5 @@ +// Copyright 2022 Charly Delay (@0xcharly) +// SPDX-License-Identifier: GPL-2.0-or-later +#pragma once + +#define POINTING_DEVICE_CS_PIN F0 diff --git a/keyboards/bastardkb/charybdis/3x5/elitec/keyboard.json b/keyboards/bastardkb/charybdis/3x5/elitec/keyboard.json new file mode 100644 index 0000000000..22064f13aa --- /dev/null +++ b/keyboards/bastardkb/charybdis/3x5/elitec/keyboard.json @@ -0,0 +1,19 @@ +{ + "build": { + "lto": true + }, + "development_board": "elite_c", + "matrix_pins": { + "cols": ["F5", "B6", "D7", "E6", "B4"], + "rows": ["F7", "C6", "D4", "B5"] + }, + "pin_compatible": "elite_c", + "split": { + "serial": { + "pin": "D2" + } + }, + "ws2812": { + "pin": "D3" + } +} diff --git a/keyboards/bastardkb/charybdis/3x5/info.json b/keyboards/bastardkb/charybdis/3x5/info.json index 9627b9852f..3953cb43e2 100644 --- a/keyboards/bastardkb/charybdis/3x5/info.json +++ b/keyboards/bastardkb/charybdis/3x5/info.json @@ -1,15 +1,58 @@ { - "manufacturer": "Bastard Keyboards", - "url": "https://bastardkb.com/charybdis-nano", - "usb": { - "pid": "0x1832", - "vid": "0xA8F8" + "keyboard_name": "Charybdis Nano (3x5)", + "diode_direction": "ROW2COL", + "features": { + "bootmagic": true, + "extrakey": true, + "mousekey": false, + "pointing_device": true, + "rgb_matrix": true }, "rgb_matrix": { + "driver": "ws2812", + "layout": [ + {"matrix": [2, 0], "x": 0, "y": 42, "flags": 4}, + {"matrix": [1, 0], "x": 0, "y": 21, "flags": 4}, + {"matrix": [0, 0], "x": 0, "y": 0, "flags": 4}, + {"matrix": [0, 1], "x": 18, "y": 0, "flags": 4}, + {"matrix": [1, 1], "x": 18, "y": 21, "flags": 4}, + {"matrix": [2, 1], "x": 18, "y": 42, "flags": 4}, + {"matrix": [2, 2], "x": 36, "y": 42, "flags": 4}, + {"matrix": [1, 2], "x": 36, "y": 21, "flags": 4}, + {"matrix": [0, 2], "x": 36, "y": 0, "flags": 4}, + {"matrix": [0, 3], "x": 54, "y": 0, "flags": 4}, + {"matrix": [1, 3], "x": 54, "y": 21, "flags": 4}, + {"matrix": [2, 3], "x": 54, "y": 42, "flags": 4}, + {"matrix": [0, 4], "x": 72, "y": 0, "flags": 4}, + {"matrix": [1, 4], "x": 72, "y": 21, "flags": 4}, + {"matrix": [2, 4], "x": 72, "y": 42, "flags": 4}, + {"matrix": [3, 2], "x": 72, "y": 64, "flags": 1}, + {"matrix": [3, 3], "x": 90, "y": 64, "flags": 1}, + {"matrix": [3, 0], "x": 108, "y": 64, "flags": 1}, + {"matrix": [6, 0], "x": 224, "y": 42, "flags": 4}, + {"matrix": [5, 0], "x": 224, "y": 21, "flags": 4}, + {"matrix": [4, 0], "x": 224, "y": 0, "flags": 4}, + {"matrix": [4, 1], "x": 206, "y": 0, "flags": 4}, + {"matrix": [5, 1], "x": 206, "y": 21, "flags": 4}, + {"matrix": [6, 1], "x": 206, "y": 42, "flags": 4}, + {"matrix": [6, 2], "x": 188, "y": 42, "flags": 4}, + {"matrix": [5, 2], "x": 188, "y": 21, "flags": 4}, + {"matrix": [4, 2], "x": 188, "y": 0, "flags": 4}, + {"matrix": [4, 3], "x": 170, "y": 0, "flags": 4}, + {"matrix": [5, 3], "x": 170, "y": 21, "flags": 4}, + {"matrix": [6, 3], "x": 170, "y": 42, "flags": 4}, + {"matrix": [4, 4], "x": 152, "y": 0, "flags": 4}, + {"matrix": [5, 4], "x": 152, "y": 21, "flags": 4}, + {"matrix": [6, 4], "x": 152, "y": 42, "flags": 4}, + {"matrix": [7, 0], "x": 134, "y": 64, "flags": 4}, + {"matrix": [7, 2], "x": 152, "y": 64, "flags": 4}, + {"x": 170, "y": 64, "flags": 4} + ], "split_count": [18, 18] }, - "layout_aliases": { - "LAYOUT_charybdis_3x5": "LAYOUT" + "usb": { + "device_version": "2.0.0", + "pid": "0x1832" }, "layouts": { "LAYOUT": { @@ -19,41 +62,34 @@ {"matrix": [0, 2], "x": 2, "y": 0}, {"matrix": [0, 3], "x": 3, "y": 0}, {"matrix": [0, 4], "x": 4, "y": 0}, - {"matrix": [4, 4], "x": 11, "y": 0}, {"matrix": [4, 3], "x": 12, "y": 0}, {"matrix": [4, 2], "x": 13, "y": 0}, {"matrix": [4, 1], "x": 14, "y": 0}, {"matrix": [4, 0], "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": [5, 4], "x": 11, "y": 1}, {"matrix": [5, 3], "x": 12, "y": 1}, {"matrix": [5, 2], "x": 13, "y": 1}, {"matrix": [5, 1], "x": 14, "y": 1}, {"matrix": [5, 0], "x": 15, "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, 4], "x": 11, "y": 2}, {"matrix": [6, 3], "x": 12, "y": 2}, {"matrix": [6, 2], "x": 13, "y": 2}, {"matrix": [6, 1], "x": 14, "y": 2}, {"matrix": [6, 0], "x": 15, "y": 2}, - {"matrix": [3, 2], "x": 4, "y": 3}, {"matrix": [3, 3], "x": 5, "y": 3}, {"matrix": [3, 0], "x": 6, "y": 3}, - {"matrix": [7, 0], "x": 9, "y": 3}, {"matrix": [7, 2], "x": 10, "y": 3} ] diff --git a/keyboards/bastardkb/charybdis/3x5/keymaps/default/keymap.c b/keyboards/bastardkb/charybdis/3x5/keymaps/default/keymap.c deleted file mode 100644 index e5e0ba1207..0000000000 --- a/keyboards/bastardkb/charybdis/3x5/keymaps/default/keymap.c +++ /dev/null @@ -1,71 +0,0 @@ -/** - * Copyright 2021 Charly Delay (@0xcharly) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include QMK_KEYBOARD_H - -enum charybdis_keymap_layers { - LAYER_BASE = 0, - LAYER_LOWER, - LAYER_RAISE, -}; - -#define LOWER MO(LAYER_LOWER) -#define RAISE MO(LAYER_RAISE) - -#define CTL_BSP CTL_T(KC_BSPC) -#define SFT_SPC SFT_T(KC_SPC) -#define GUI_ENT GUI_T(KC_ENT) - -// clang-format off -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [LAYER_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, - // ╰─────────────────────────────────────────────┤ ├─────────────────────────────────────────────╯ - CTL_BSP, SFT_SPC, LOWER, RAISE, GUI_ENT - // ╰───────────────────────────╯ ╰──────────────────╯ - ), - - [LAYER_LOWER] = LAYOUT( - // ╭─────────────────────────────────────────────╮ ╭─────────────────────────────────────────────╮ - RM_TOGG, KC_MNXT, KC_MPLY, KC_MPRV, XXXXXXX, KC_LBRC, KC_7, KC_8, KC_9, KC_RBRC, - // ├─────────────────────────────────────────────┤ ├─────────────────────────────────────────────┤ - KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, XXXXXXX, KC_PPLS, KC_4, KC_5, KC_6, KC_PMNS, - // ├─────────────────────────────────────────────┤ ├─────────────────────────────────────────────┤ - XXXXXXX, XXXXXXX, XXXXXXX, EE_CLR, QK_BOOT, KC_PAST, KC_1, KC_2, KC_3, KC_PSLS, - // ╰─────────────────────────────────────────────┤ ├─────────────────────────────────────────────╯ - XXXXXXX, XXXXXXX, _______, XXXXXXX, _______ - // ╰───────────────────────────╯ ╰──────────────────╯ - ), - - [LAYER_RAISE] = LAYOUT( - // ╭─────────────────────────────────────────────╮ ╭─────────────────────────────────────────────╮ - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_VOLU, KC_MUTE, KC_VOLD, XXXXXXX, - // ├─────────────────────────────────────────────┤ ├─────────────────────────────────────────────┤ - KC_LEFT, KC_UP, KC_DOWN, KC_RGHT, XXXXXXX, XXXXXXX, KC_RSFT, KC_RCTL, KC_RALT, KC_RGUI, - // ├─────────────────────────────────────────────┤ ├─────────────────────────────────────────────┤ - KC_HOME, KC_PGUP, KC_PGDN, KC_END, XXXXXXX, QK_BOOT, EE_CLR, XXXXXXX, XXXXXXX, XXXXXXX, - // ╰─────────────────────────────────────────────┤ ├─────────────────────────────────────────────╯ - _______, _______, XXXXXXX, _______, XXXXXXX - // ╰───────────────────────────╯ ╰──────────────────╯ - ), -}; -// clang-format on diff --git a/keyboards/bastardkb/charybdis/3x5/keymaps/default/keymap.json b/keyboards/bastardkb/charybdis/3x5/keymaps/default/keymap.json new file mode 100644 index 0000000000..f92366cd4d --- /dev/null +++ b/keyboards/bastardkb/charybdis/3x5/keymaps/default/keymap.json @@ -0,0 +1,26 @@ +{ + "keyboard": "bastardkb/charybdis/3x5/elitec", + "keymap": "default", + "layout": "LAYOUT", + "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_LGUI", "MO(1)", "KC_SPC", "KC_ENT", "MO(2)" + ], + [ + "KC_1", "KC_2", "KC_3", "KC_4", "KC_5", "KC_6", "KC_7", "KC_8", "KC_9", "KC_0", + "KC_EXLM", "KC_AT", "KC_HASH", "KC_DLR", "KC_PERC", "KC_CIRC", "KC_AMPR", "KC_ASTR", "KC_LPRN", "KC_RPRN", + "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", + "_______", "_______", "_______", "_______", "_______" + ], + [ + "QK_BOOT", "_______", "_______", "_______", "_______", "RM_VALU", "RM_HUEU", "RM_SATU", "RM_NEXT", "RM_TOGG", + "EE_CLR", "_______", "_______", "_______", "_______", "RM_VALD", "RM_HUED", "RM_SATD", "RM_PREV", "_______", + "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", + "_______", "_______", "_______", "_______", "_______" + ] + ] +} + diff --git a/keyboards/bastardkb/charybdis/3x5/keymaps/default/readme.md b/keyboards/bastardkb/charybdis/3x5/keymaps/default/readme.md deleted file mode 100644 index 3908656820..0000000000 --- a/keyboards/bastardkb/charybdis/3x5/keymaps/default/readme.md +++ /dev/null @@ -1,7 +0,0 @@ -# Charybdis (3x5) default keymap - -> :bulb: Have a look at the [`via` keymap](../via) for a more feature-rich layout. - -The Charydbis (3x5) default keymap is inspired from the original [Dactyl Manuform](../../../../../handwired/dactyl_manuform) default keymap. - -This layout supports RGB matrix. However, due to space constraints on the MCU, only a limited number of effect can be enabled at once. Look at the `config.h` file and enable your favorite effect. diff --git a/keyboards/bastardkb/charybdis/3x5/readme.md b/keyboards/bastardkb/charybdis/3x5/readme.md deleted file mode 100644 index 7a91035bea..0000000000 --- a/keyboards/bastardkb/charybdis/3x5/readme.md +++ /dev/null @@ -1,15 +0,0 @@ -# Charybdis Nano (3x5) - -An ergonomic keyboard with integrated trackball. - -The Charybdis is available in 4x6 and 3x5 form factor at [bastardkb.com](https://bastardkb.com). - -## Keymaps - -### [`default`](keymaps/default) - -A simple QWERTY layout with 4 layers. - -### [`via`](keymaps/via) - -A [Miryoku-inspired](https://github.com/manna-harbour/miryoku), feature-rich, keymap with VIA support. diff --git a/keyboards/bastardkb/charybdis/3x5/rules.mk b/keyboards/bastardkb/charybdis/3x5/rules.mk new file mode 100644 index 0000000000..fab9162dc6 --- /dev/null +++ b/keyboards/bastardkb/charybdis/3x5/rules.mk @@ -0,0 +1 @@ +POINTING_DEVICE_DRIVER = pmw3360 diff --git a/keyboards/bastardkb/charybdis/3x5/v1/elitec/config.h b/keyboards/bastardkb/charybdis/3x5/v1/elitec/config.h deleted file mode 100644 index dc0c6e4e03..0000000000 --- a/keyboards/bastardkb/charybdis/3x5/v1/elitec/config.h +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright 2020 Christopher Courtney (@drashna) - * 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 - -/* Handedness. */ -#define MASTER_RIGHT - -/* PMW3360 settings. */ -#define POINTING_DEVICE_CS_PIN B0 diff --git a/keyboards/bastardkb/charybdis/3x5/v1/elitec/keyboard.json b/keyboards/bastardkb/charybdis/3x5/v1/elitec/keyboard.json deleted file mode 100644 index 2fd99fb5ab..0000000000 --- a/keyboards/bastardkb/charybdis/3x5/v1/elitec/keyboard.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "keyboard_name": "Charybdis Nano (3x5) Elite-C", - "usb": { - "device_version": "1.0.0" - }, - "features": { - "bootmagic": true, - "mousekey": false, - "extrakey": true, - "rgb_matrix": true, - "pointing_device": true - }, - "build": { - "lto": true - }, - "ws2812": { - "pin": "D3" - }, - "rgb_matrix": { - "driver": "ws2812" - }, - "matrix_pins": { - "cols": ["C7", "F0", "D7", "E6", "B4"], - "rows": ["B7", "C6", "D4", "B5"] - }, - "diode_direction": "ROW2COL", - "split": { - "enabled": true, - "serial": { - "pin": "D2" - }, - "matrix_pins": { - "right": { - "cols": ["C7", "B7", "D7", "E6", "B4"], - "rows": ["F0", "C6", "D4", "B5"] - } - } - }, - "processor": "atmega32u4", - "bootloader": "atmel-dfu" -} diff --git a/keyboards/bastardkb/charybdis/3x5/v1/elitec/rules.mk b/keyboards/bastardkb/charybdis/3x5/v1/elitec/rules.mk deleted file mode 100644 index 17dae28bd1..0000000000 --- a/keyboards/bastardkb/charybdis/3x5/v1/elitec/rules.mk +++ /dev/null @@ -1,4 +0,0 @@ -AUDIO_SUPPORTED = no # Audio is not supported - -POINTING_DEVICE_DRIVER = pmw3360 -MOUSE_SHARED_EP = no # Unify multiple HID interfaces into a single Endpoint diff --git a/keyboards/bastardkb/charybdis/3x5/v2/elitec/config.h b/keyboards/bastardkb/charybdis/3x5/v2/elitec/config.h deleted file mode 100644 index 3b91322247..0000000000 --- a/keyboards/bastardkb/charybdis/3x5/v2/elitec/config.h +++ /dev/null @@ -1,24 +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 - -/* Handedness. */ -#define MASTER_RIGHT - -/* PMW3360 settings. */ -#define POINTING_DEVICE_CS_PIN F0 diff --git a/keyboards/bastardkb/charybdis/3x5/v2/elitec/keyboard.json b/keyboards/bastardkb/charybdis/3x5/v2/elitec/keyboard.json deleted file mode 100644 index 51f6cedf51..0000000000 --- a/keyboards/bastardkb/charybdis/3x5/v2/elitec/keyboard.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "keyboard_name": "Charybdis Nano (3x5) Elite-C", - "usb": { - "device_version": "2.0.0" - }, - "features": { - "bootmagic": true, - "mousekey": false, - "extrakey": true, - "rgb_matrix": true, - "pointing_device": true - }, - "build": { - "lto": true - }, - "ws2812": { - "pin": "D3" - }, - "rgb_matrix": { - "driver": "ws2812" - }, - "matrix_pins": { - "cols": ["F5", "B6", "D7", "E6", "B4"], - "rows": ["F7", "C6", "D4", "B5"] - }, - "diode_direction": "ROW2COL", - "split": { - "enabled": true, - "serial": { - "pin": "D2" - } - }, - "processor": "atmega32u4", - "bootloader": "atmel-dfu" -} diff --git a/keyboards/bastardkb/charybdis/3x5/v2/elitec/rules.mk b/keyboards/bastardkb/charybdis/3x5/v2/elitec/rules.mk deleted file mode 100644 index 17dae28bd1..0000000000 --- a/keyboards/bastardkb/charybdis/3x5/v2/elitec/rules.mk +++ /dev/null @@ -1,4 +0,0 @@ -AUDIO_SUPPORTED = no # Audio is not supported - -POINTING_DEVICE_DRIVER = pmw3360 -MOUSE_SHARED_EP = no # Unify multiple HID interfaces into a single Endpoint diff --git a/keyboards/bastardkb/charybdis/3x5/v2/splinky_2/config.h b/keyboards/bastardkb/charybdis/3x5/v2/splinky_2/config.h deleted file mode 100644 index e6e2a4f216..0000000000 --- a/keyboards/bastardkb/charybdis/3x5/v2/splinky_2/config.h +++ /dev/null @@ -1,38 +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 - -/* Handedness. */ -#define MASTER_RIGHT - -// To use the handedness pin, resistors need to be installed on the adapter PCB. -// If so, uncomment the following code, and undefine MASTER_RIGHT above. -// #define SPLIT_HAND_PIN GP13 -// #define SPLIT_HAND_PIN_LOW_IS_LEFT // High -> right, Low -> left. - -/* SPI & PMW3360 settings. */ -#define SPI_DRIVER SPID0 -#define SPI_SCK_PIN GP18 -#define SPI_MISO_PIN GP20 -#define SPI_MOSI_PIN GP19 -#define POINTING_DEVICE_CS_PIN GP14 - -/* Reset. */ -#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET -#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_LED GP17 -#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 1000U diff --git a/keyboards/bastardkb/charybdis/3x5/v2/splinky_2/keyboard.json b/keyboards/bastardkb/charybdis/3x5/v2/splinky_2/keyboard.json deleted file mode 100644 index cf800062b3..0000000000 --- a/keyboards/bastardkb/charybdis/3x5/v2/splinky_2/keyboard.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "keyboard_name": "Charybdis Nano (3x5) Splinky", - "usb": { - "device_version": "2.0.0" - }, - "features": { - "bootmagic": true, - "mousekey": false, - "extrakey": true, - "rgb_matrix": true, - "pointing_device": true - }, - "rgb_matrix": { - "driver": "ws2812" - }, - "matrix_pins": { - "cols": ["GP28", "GP15", "GP6", "GP7", "GP8"], - "rows": ["GP26", "GP5", "GP4", "GP9"] - }, - "diode_direction": "ROW2COL", - "split": { - "enabled": true, - "serial": { - "pin": "GP1" - } - }, - "ws2812": { - "pin": "GP0", - "driver": "vendor" - }, - "processor": "RP2040", - "bootloader": "rp2040" -} diff --git a/keyboards/bastardkb/charybdis/3x5/v2/splinky_2/readme.md b/keyboards/bastardkb/charybdis/3x5/v2/splinky_2/readme.md deleted file mode 100644 index 662eb5825c..0000000000 --- a/keyboards/bastardkb/charybdis/3x5/v2/splinky_2/readme.md +++ /dev/null @@ -1,5 +0,0 @@ -# Splinky controller - -The splinky is a Pro-Micro/Elite-C replacement with USB-C and RP2040. - -See [plut0nium/0xB2](https://github.com/plut0nium/0xB2/#releases) to figure out the right version for you (v2 or v3). diff --git a/keyboards/bastardkb/charybdis/3x5/v2/splinky_2/rules.mk b/keyboards/bastardkb/charybdis/3x5/v2/splinky_2/rules.mk deleted file mode 100644 index db29cb6789..0000000000 --- a/keyboards/bastardkb/charybdis/3x5/v2/splinky_2/rules.mk +++ /dev/null @@ -1,5 +0,0 @@ -AUDIO_SUPPORTED = no # Audio is not supported - -POINTING_DEVICE_DRIVER = pmw3360 - -SERIAL_DRIVER = vendor diff --git a/keyboards/bastardkb/charybdis/3x5/v2/splinky_3/config.h b/keyboards/bastardkb/charybdis/3x5/v2/splinky_3/config.h deleted file mode 100644 index ee7745d41e..0000000000 --- a/keyboards/bastardkb/charybdis/3x5/v2/splinky_3/config.h +++ /dev/null @@ -1,38 +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 - -/* Handedness. */ -#define MASTER_RIGHT - -// To use the handedness pin, resistors need to be installed on the adapter PCB. -// If so, uncomment the following code, and undefine MASTER_RIGHT above. -// #define SPLIT_HAND_PIN GP15 -// #define SPLIT_HAND_PIN_LOW_IS_LEFT // High -> right, Low -> left. - -/* SPI & PMW3360 settings. */ -#define SPI_DRIVER SPID0 -#define SPI_SCK_PIN GP22 -#define SPI_MISO_PIN GP20 -#define SPI_MOSI_PIN GP23 -#define POINTING_DEVICE_CS_PIN GP16 - -/* Reset. */ -#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET -#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_LED GP17 -#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 1000U diff --git a/keyboards/bastardkb/charybdis/3x5/v2/splinky_3/keyboard.json b/keyboards/bastardkb/charybdis/3x5/v2/splinky_3/keyboard.json deleted file mode 100644 index d9039f7591..0000000000 --- a/keyboards/bastardkb/charybdis/3x5/v2/splinky_3/keyboard.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "keyboard_name": "Charybdis Nano (3x5) Splinky", - "usb": { - "device_version": "2.0.0" - }, - "features": { - "bootmagic": true, - "mousekey": false, - "extrakey": true, - "rgb_matrix": true, - "pointing_device": true - }, - "rgb_matrix": { - "driver": "ws2812" - }, - "matrix_pins": { - "cols": ["GP28", "GP21", "GP6", "GP7", "GP8"], - "rows": ["GP26", "GP5", "GP4", "GP9"] - }, - "diode_direction": "ROW2COL", - "split": { - "enabled": true, - "serial": { - "pin": "GP1" - } - }, - "ws2812": { - "pin": "GP0", - "driver": "vendor" - }, - "processor": "RP2040", - "bootloader": "rp2040" -} diff --git a/keyboards/bastardkb/charybdis/3x5/v2/splinky_3/mcuconf.h b/keyboards/bastardkb/charybdis/3x5/v2/splinky_3/mcuconf.h deleted file mode 100644 index 6aaf31428c..0000000000 --- a/keyboards/bastardkb/charybdis/3x5/v2/splinky_3/mcuconf.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 - -#include_next - -#undef RP_SPI_USE_SPI0 -#define RP_SPI_USE_SPI0 TRUE diff --git a/keyboards/bastardkb/charybdis/3x5/v2/splinky_3/readme.md b/keyboards/bastardkb/charybdis/3x5/v2/splinky_3/readme.md deleted file mode 100644 index 662eb5825c..0000000000 --- a/keyboards/bastardkb/charybdis/3x5/v2/splinky_3/readme.md +++ /dev/null @@ -1,5 +0,0 @@ -# Splinky controller - -The splinky is a Pro-Micro/Elite-C replacement with USB-C and RP2040. - -See [plut0nium/0xB2](https://github.com/plut0nium/0xB2/#releases) to figure out the right version for you (v2 or v3). diff --git a/keyboards/bastardkb/charybdis/3x5/v2/splinky_3/rules.mk b/keyboards/bastardkb/charybdis/3x5/v2/splinky_3/rules.mk deleted file mode 100644 index db29cb6789..0000000000 --- a/keyboards/bastardkb/charybdis/3x5/v2/splinky_3/rules.mk +++ /dev/null @@ -1,5 +0,0 @@ -AUDIO_SUPPORTED = no # Audio is not supported - -POINTING_DEVICE_DRIVER = pmw3360 - -SERIAL_DRIVER = vendor diff --git a/keyboards/bastardkb/charybdis/3x5/v2/stemcell/config.h b/keyboards/bastardkb/charybdis/3x5/v2/stemcell/config.h deleted file mode 100644 index 3efb323302..0000000000 --- a/keyboards/bastardkb/charybdis/3x5/v2/stemcell/config.h +++ /dev/null @@ -1,52 +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 - -/* Handedness. */ -#define MASTER_RIGHT - -// To use the handedness pin, resistors need to be installed on the adapter PCB. -// If so, uncomment the following code, and undefine MASTER_RIGHT above. -// #define A0 PAL_LINE(GPIOA, 0) -// #define SPLIT_HAND_PIN A0 -// #define SPLIT_HAND_PIN_LOW_IS_LEFT // High -> right, Low -> left. - -/* RGB settings. */ -#define WS2812_PWM_DRIVER PWMD2 -#define WS2812_PWM_CHANNEL 4 -#define WS2812_PWM_PAL_MODE 1 -#define WS2812_PWM_DMA_STREAM STM32_DMA1_STREAM7 -#define WS2812_PWM_DMA_CHANNEL 3 - -/* CRC. */ -#define CRC8_USE_TABLE -#define CRC8_OPTIMIZE_SPEED - -/* SPI config for 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 - -/* PMW3360 settings. */ -#define POINTING_DEVICE_CS_PIN A1 -#define PMW3360_CS_MODE 3 -#define PMW3360_CS_DIVISOR 64 diff --git a/keyboards/bastardkb/charybdis/3x5/v2/stemcell/halconf.h b/keyboards/bastardkb/charybdis/3x5/v2/stemcell/halconf.h deleted file mode 100644 index 0397de50b7..0000000000 --- a/keyboards/bastardkb/charybdis/3x5/v2/stemcell/halconf.h +++ /dev/null @@ -1,24 +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 - -#define HAL_USE_PWM TRUE -#define HAL_USE_SERIAL TRUE -#define HAL_USE_SPI TRUE - -#include_next diff --git a/keyboards/bastardkb/charybdis/3x5/v2/stemcell/keyboard.json b/keyboards/bastardkb/charybdis/3x5/v2/stemcell/keyboard.json deleted file mode 100644 index ca48cc0f3c..0000000000 --- a/keyboards/bastardkb/charybdis/3x5/v2/stemcell/keyboard.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "keyboard_name": "Charybdis Nano (3x5) STeMCell", - "usb": { - "device_version": "2.0.0", - "shared_endpoint": { - "keyboard": true - } - }, - "features": { - "bootmagic": true, - "mousekey": true, - "extrakey": true, - "rgb_matrix": true, - "pointing_device": true - }, - "rgb_matrix": { - "driver": "ws2812" - }, - "ws2812": { - "pin": "A2", - "driver": "pwm" - }, - "build": { - "debounce_type": "asym_eager_defer_pk" - }, - "matrix_pins": { - "cols": ["B2", "A4", "B4", "B5", "B8"], - "rows": ["B0", "B3", "A15", "B9"] - }, - "diode_direction": "ROW2COL", - "split": { - "enabled": true, - "serial": { - "pin": "A3" - } - }, - "development_board": "stemcell" -} diff --git a/keyboards/bastardkb/charybdis/3x5/v2/stemcell/mcuconf.h b/keyboards/bastardkb/charybdis/3x5/v2/stemcell/mcuconf.h deleted file mode 100644 index 17a46d8f95..0000000000 --- a/keyboards/bastardkb/charybdis/3x5/v2/stemcell/mcuconf.h +++ /dev/null @@ -1,32 +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 - -#include_next - -#undef STM32_SPI_USE_SPI1 -#define STM32_SPI_USE_SPI1 TRUE - -#undef STM32_SERIAL_USE_USART1 -#define STM32_SERIAL_USE_USART1 FALSE - -#undef STM32_PWM_USE_TIM2 -#define STM32_PWM_USE_TIM2 TRUE - -#undef STM32_ST_USE_TIMER -#define STM32_ST_USE_TIMER 5 diff --git a/keyboards/bastardkb/charybdis/3x5/v2/stemcell/rules.mk b/keyboards/bastardkb/charybdis/3x5/v2/stemcell/rules.mk deleted file mode 100644 index 4373b9c33d..0000000000 --- a/keyboards/bastardkb/charybdis/3x5/v2/stemcell/rules.mk +++ /dev/null @@ -1,6 +0,0 @@ -AUDIO_SUPPORTED = no # Audio is not supported - -POINTING_DEVICE_DRIVER = pmw3360 -MOUSE_SHARED_EP = no # Unify multiple HID interfaces into a single Endpoint - -SERIAL_DRIVER = usart diff --git a/keyboards/bastardkb/charybdis/3x6/3x6.c b/keyboards/bastardkb/charybdis/3x6/3x6.c deleted file mode 100644 index d2c0a39815..0000000000 --- a/keyboards/bastardkb/charybdis/3x6/3x6.c +++ /dev/null @@ -1,91 +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 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 "charybdis.h" - -// clang-format off -#ifdef RGB_MATRIX_ENABLE -/** - * \brief LEDs index. - * - # 0,0 14 28 42 56 70 84 98 126 140 154 168 182 196 210 224,0 - # 0,0 15 30 45 60 75 90 105 119 134 149 164 179 194 209 224,0 - * ╭────────────────────────╮ ╭────────────────────────╮ - * 0 5 6 11 12 15 36 33 32 27 26 21 - * ├────────────────────────┤ ├────────────────────────┤ - * 1 4 7 10 13 16 37 34 31 28 25 22 - * ├────────────────────────┤ ├────────────────────────┤ - * 2 3 8 9 14 17 38 35 30 29 24 23 - * ╰────────────────────────╯ ╰────────────────────────╯ - * 18 19 20 39 40 XX - * ╰────────────╯ ╰────────────╯ - * - * Note: the LED config simulates 42 LEDs instead of the actual 41 to prevent - * confusion when testing LEDs during assembly when handedness is not set - * correctly. Those fake LEDs are bound to the physical top-left corner. - */ -led_config_t g_led_config = { { - /* Key Matrix to LED index. */ - // Left split. - { 0, 5, 6, 11, 12, 15 }, // Top row - { 1, 4, 7, 10, 13, 16 }, // Middle row - { 2, 3, 8, 9, 14, 17 }, // Bottom row - { NO_LED, 20, NO_LED, 18, 19, NO_LED }, // Thumb cluster - // Right split. - { 21, 26, 27, 32, 33, 36 }, // Top row - { 22, 25, 28, 31, 34, 37 }, // Middle row - { 23, 24, 29, 30, 35, 38 }, // Bottom row - { NO_LED, 41, NO_LED, 39, 40, NO_LED }, // Thumb cluster -}, { - /* LED index to physical position. */ - // Left split. - /* index=0 */ { 0, 0 }, { 0, 21 }, { 0, 42 }, // col 1 (left most) - /* index=3 */ { 15, 42 }, { 15, 21 }, { 15, 0 }, // col 2 - /* index=6 */ { 30, 0 }, { 30, 21 }, { 30, 42 }, - /* index=9 */ { 45, 42 }, { 45, 21 }, { 45, 0 }, - /* index=12 */ { 60, 0 }, { 60, 21 }, { 60, 42 }, - /* index=15 */ { 75, 0 }, { 75, 21 }, { 75, 42 }, - /* index=18 */ { 75, 64 }, { 90, 64 }, { 105, 64 }, // Thumb cluster - // Right split. - /* index=21 */ { 224, 0 }, { 224, 21 }, { 224, 42 }, // col 12 (right most) - /* index=24 */ { 209, 42 }, { 209, 21 }, { 209, 0 }, // col 10 - /* index=27 */ { 194, 0 }, { 194, 21 }, { 194, 42 }, - /* index=30 */ { 179, 42 }, { 179, 21 }, { 179, 0 }, - /* index=33 */ { 164, 0 }, { 164, 21 }, { 164, 42 }, - /* index=36 */ { 149, 0 }, { 149, 21 }, { 149, 42 }, - /* index=39 */ { 119, 64 }, { 134, 64 }, { 0, 0 }, // Thumb cluster -}, { - /* LED index to flag. */ - // Left split. - /* index=0 */ LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, // col 1 - /* index=3 */ LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, // col 2 - /* index=6 */ LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, - /* index=9 */ LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, - /* index=12 */ LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, - /* index=15 */ LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, - /* index=18 */ LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, // Thumb cluster - // Right split. - /* index=21 */ LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, // col 10 - /* index=24 */ LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, // col 9 - /* index=27 */ LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, - /* index=30 */ LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, - /* index=33 */ LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, - /* index=36 */ LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, - /* index=39 */ LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, // Thumb cluster -} }; -#endif -// clang-format on diff --git a/keyboards/bastardkb/charybdis/3x6/blackpill/config.h b/keyboards/bastardkb/charybdis/3x6/blackpill/config.h index e1365a109d..bb870669c8 100644 --- a/keyboards/bastardkb/charybdis/3x6/blackpill/config.h +++ b/keyboards/bastardkb/charybdis/3x6/blackpill/config.h @@ -1,26 +1,7 @@ -/* - * 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 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 . - */ - +// Copyright 2022 Charly Delay (@0xcharly) +// SPDX-License-Identifier: GPL-2.0-or-later #pragma once -/* Handedness. */ -#define SPLIT_HAND_PIN A3 // High -> left, Low -> right. - -/* RGB settings. */ #define WS2812_PWM_DRIVER PWMD2 #define WS2812_PWM_CHANNEL 2 #define WS2812_PWM_PAL_MODE 1 @@ -28,14 +9,6 @@ #define WS2812_PWM_DMA_STREAM STM32_DMA1_STREAM1 #define WS2812_PWM_DMA_CHANNEL 3 -/* Serial configuration for split keyboard. */ -#define SERIAL_USART_TX_PIN A9 - -/* CRC. */ -#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 @@ -44,9 +17,7 @@ #define SPI_MISO_PIN A6 #define SPI_MISO_PAL_MODE 5 -/* EEPROM config. */ #define EXTERNAL_EEPROM_SPI_SLAVE_SELECT_PIN A4 -/* PMW3360 settings. */ #define POINTING_DEVICE_CS_PIN B14 #define PMW33XX_CS_DIVISOR 64 diff --git a/keyboards/bastardkb/charybdis/3x6/blackpill/halconf.h b/keyboards/bastardkb/charybdis/3x6/blackpill/halconf.h index 5c5dff98d4..545fc20cb3 100644 --- a/keyboards/bastardkb/charybdis/3x6/blackpill/halconf.h +++ b/keyboards/bastardkb/charybdis/3x6/blackpill/halconf.h @@ -1,21 +1,6 @@ -/** - * Copyright 2020 Nick Brassel (tzarc) - * 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 . - */ - +// Copyright 2020 Nick Brassel (tzarc) +// Copyright 2022 Charly Delay (@0xcharly) +// SPDX-License-Identifier: GPL-2.0-or-later #pragma once #define HAL_USE_PWM TRUE diff --git a/keyboards/bastardkb/charybdis/3x6/blackpill/keyboard.json b/keyboards/bastardkb/charybdis/3x6/blackpill/keyboard.json index ecefbbeb99..df77023bd6 100644 --- a/keyboards/bastardkb/charybdis/3x6/blackpill/keyboard.json +++ b/keyboards/bastardkb/charybdis/3x6/blackpill/keyboard.json @@ -1,38 +1,23 @@ { - "keyboard_name": "Charybdis Mini (3x6) Blackpill", - "usb": { - "device_version": "1.0.0", - "shared_endpoint": { - "keyboard": true - } - }, - "features": { - "bootmagic": true, - "mousekey": true, - "extrakey": true, - "rgb_matrix": true, - "pointing_device": true - }, + "development_board": "blackpill_f411", "eeprom": { "driver": "spi" }, - "split": { - "enabled": true - }, - "rgb_matrix": { - "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"] }, - "diode_direction": "ROW2COL", - "development_board": "blackpill_f411" + "split": { + "handedness": { + "pin": "A3" + }, + "serial": { + "driver": "usart", + "pin": "A9" + } + }, + "ws2812": { + "driver": "pwm", + "pin": "A1" + } } diff --git a/keyboards/bastardkb/charybdis/3x6/blackpill/mcuconf.h b/keyboards/bastardkb/charybdis/3x6/blackpill/mcuconf.h index e4cde4880b..ca63a57218 100644 --- a/keyboards/bastardkb/charybdis/3x6/blackpill/mcuconf.h +++ b/keyboards/bastardkb/charybdis/3x6/blackpill/mcuconf.h @@ -1,22 +1,7 @@ -/* - * Copyright 2020 Nick Brassel (tzarc) - * Copyright 2021 Stefan Kerkmann (@KarlK90) - * 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 . - */ - +// Copyright 2020 Nick Brassel (tzarc) +// Copyright 2021 Stefan Kerkmann (@KarlK90) +// Copyright 2022 Charly Delay (@0xcharly) +// SPDX-License-Identifier: GPL-2.0-or-later #pragma once #include_next @@ -30,11 +15,6 @@ #undef STM32_SPI_USE_SPI1 #define STM32_SPI_USE_SPI1 TRUE -#undef STM32_SPI_SPI1_RX_DMA_STREAM -#define STM32_SPI_SPI1_RX_DMA_STREAM STM32_DMA_STREAM_ID(2, 0) -#undef STM32_SPI_SPI1_TX_DMA_STREAM -#define STM32_SPI_SPI1_TX_DMA_STREAM STM32_DMA_STREAM_ID(2, 3) - #undef STM32_SERIAL_USE_USART1 #define STM32_SERIAL_USE_USART1 TRUE diff --git a/keyboards/bastardkb/charybdis/3x6/blackpill/readme.md b/keyboards/bastardkb/charybdis/3x6/blackpill/readme.md deleted file mode 100644 index 6a9907c2ae..0000000000 --- a/keyboards/bastardkb/charybdis/3x6/blackpill/readme.md +++ /dev/null @@ -1,3 +0,0 @@ -# Charybdis Mini (3x6) BlackPill - -An ergonomic keyboard with integrated trackball, with BlackPill (STM32F411) mod. diff --git a/keyboards/bastardkb/charybdis/3x6/blackpill/rules.mk b/keyboards/bastardkb/charybdis/3x6/blackpill/rules.mk deleted file mode 100644 index 4373b9c33d..0000000000 --- a/keyboards/bastardkb/charybdis/3x6/blackpill/rules.mk +++ /dev/null @@ -1,6 +0,0 @@ -AUDIO_SUPPORTED = no # Audio is not supported - -POINTING_DEVICE_DRIVER = pmw3360 -MOUSE_SHARED_EP = no # Unify multiple HID interfaces into a single Endpoint - -SERIAL_DRIVER = usart diff --git a/keyboards/bastardkb/charybdis/3x6/config.h b/keyboards/bastardkb/charybdis/3x6/config.h deleted file mode 100644 index 1c952759a7..0000000000 --- a/keyboards/bastardkb/charybdis/3x6/config.h +++ /dev/null @@ -1,22 +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 - -/* Trackball angle adjustment. */ -#define ROTATIONAL_TRANSFORM_ANGLE -25 diff --git a/keyboards/bastardkb/charybdis/3x6/elitec/config.h b/keyboards/bastardkb/charybdis/3x6/elitec/config.h new file mode 100644 index 0000000000..411ddaf6b9 --- /dev/null +++ b/keyboards/bastardkb/charybdis/3x6/elitec/config.h @@ -0,0 +1,5 @@ +// Copyright 2022 Charly Delay (@0xcharly) +// SPDX-License-Identifier: GPL-2.0-or-later +#pragma once + +#define POINTING_DEVICE_CS_PIN F0 diff --git a/keyboards/bastardkb/charybdis/3x6/elitec/keyboard.json b/keyboards/bastardkb/charybdis/3x6/elitec/keyboard.json new file mode 100644 index 0000000000..e736d9df98 --- /dev/null +++ b/keyboards/bastardkb/charybdis/3x6/elitec/keyboard.json @@ -0,0 +1,19 @@ +{ + "build": { + "lto": true + }, + "development_board": "elite_c", + "matrix_pins": { + "cols": ["F6", "F5", "B6", "D7", "E6", "B4"], + "rows": ["F7", "C6", "D4", "B5"] + }, + "pin_compatible": "elite_c", + "split": { + "serial": { + "pin": "D2" + } + }, + "ws2812": { + "pin": "D3" + } +} diff --git a/keyboards/bastardkb/charybdis/3x6/info.json b/keyboards/bastardkb/charybdis/3x6/info.json index 3597e72534..5d1ba362f7 100644 --- a/keyboards/bastardkb/charybdis/3x6/info.json +++ b/keyboards/bastardkb/charybdis/3x6/info.json @@ -1,13 +1,64 @@ { - "url": "https://bastardkb.com", - "usb": { - "pid": "0x1834" + "keyboard_name": "Charybdis Mini (3x6)", + "diode_direction": "ROW2COL", + "features": { + "bootmagic": true, + "extrakey": true, + "mousekey": false, + "pointing_device": true, + "rgb_matrix": true }, "rgb_matrix": { + "driver": "ws2812", + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0, "flags": 4}, + {"matrix": [1, 0], "x": 0, "y": 21, "flags": 4}, + {"matrix": [2, 0], "x": 0, "y": 42, "flags": 4}, + {"matrix": [2, 1], "x": 15, "y": 42, "flags": 4}, + {"matrix": [1, 1], "x": 15, "y": 21, "flags": 4}, + {"matrix": [0, 1], "x": 15, "y": 0, "flags": 4}, + {"matrix": [0, 2], "x": 30, "y": 0, "flags": 4}, + {"matrix": [1, 2], "x": 30, "y": 21, "flags": 4}, + {"matrix": [2, 2], "x": 30, "y": 42, "flags": 4}, + {"matrix": [2, 3], "x": 45, "y": 42, "flags": 4}, + {"matrix": [1, 3], "x": 45, "y": 21, "flags": 4}, + {"matrix": [0, 3], "x": 45, "y": 0, "flags": 4}, + {"matrix": [0, 4], "x": 60, "y": 0, "flags": 4}, + {"matrix": [1, 4], "x": 60, "y": 21, "flags": 4}, + {"matrix": [2, 4], "x": 60, "y": 42, "flags": 4}, + {"matrix": [0, 5], "x": 75, "y": 0, "flags": 4}, + {"matrix": [1, 5], "x": 75, "y": 21, "flags": 4}, + {"matrix": [2, 5], "x": 75, "y": 42, "flags": 4}, + {"matrix": [3, 3], "x": 75, "y": 64, "flags": 4}, + {"matrix": [3, 4], "x": 90, "y": 64, "flags": 4}, + {"matrix": [3, 1], "x": 105, "y": 64, "flags": 4}, + {"matrix": [4, 0], "x": 224, "y": 0, "flags": 4}, + {"matrix": [5, 0], "x": 224, "y": 21, "flags": 4}, + {"matrix": [6, 0], "x": 224, "y": 42, "flags": 4}, + {"matrix": [6, 1], "x": 209, "y": 42, "flags": 4}, + {"matrix": [5, 1], "x": 209, "y": 21, "flags": 4}, + {"matrix": [4, 1], "x": 209, "y": 0, "flags": 4}, + {"matrix": [4, 2], "x": 194, "y": 0, "flags": 4}, + {"matrix": [5, 2], "x": 194, "y": 21, "flags": 4}, + {"matrix": [6, 2], "x": 194, "y": 42, "flags": 4}, + {"matrix": [6, 3], "x": 179, "y": 42, "flags": 4}, + {"matrix": [5, 3], "x": 179, "y": 21, "flags": 4}, + {"matrix": [4, 3], "x": 179, "y": 0, "flags": 4}, + {"matrix": [4, 4], "x": 164, "y": 0, "flags": 4}, + {"matrix": [5, 4], "x": 164, "y": 21, "flags": 4}, + {"matrix": [6, 4], "x": 164, "y": 42, "flags": 4}, + {"matrix": [4, 5], "x": 149, "y": 0, "flags": 4}, + {"matrix": [5, 5], "x": 149, "y": 21, "flags": 4}, + {"matrix": [6, 5], "x": 149, "y": 42, "flags": 4}, + {"matrix": [7, 3], "x": 119, "y": 64, "flags": 4}, + {"matrix": [7, 4], "x": 134, "y": 64, "flags": 4}, + {"matrix": [7, 1], "x": 149, "y": 64, "flags": 4} + ], "split_count": [21, 21] }, - "layout_aliases": { - "LAYOUT_charybdis_3x6": "LAYOUT" + "usb": { + "device_version": "2.0.0", + "pid": "0x1834" }, "layouts": { "LAYOUT": { @@ -18,46 +69,39 @@ {"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": "R00", "matrix": [4, 5], "x": 11, "y": 0}, {"label": "R01", "matrix": [4, 4], "x": 12, "y": 0}, {"label": "R02", "matrix": [4, 3], "x": 13, "y": 0}, {"label": "R03", "matrix": [4, 2], "x": 14, "y": 0}, {"label": "R04", "matrix": [4, 1], "x": 15, "y": 0}, {"label": "R05", "matrix": [4, 0], "x": 16, "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": "R10", "matrix": [5, 5], "x": 11, "y": 1}, {"label": "R11", "matrix": [5, 4], "x": 12, "y": 1}, {"label": "R12", "matrix": [5, 3], "x": 13, "y": 1}, {"label": "R13", "matrix": [5, 2], "x": 14, "y": 1}, {"label": "R14", "matrix": [5, 1], "x": 15, "y": 1}, {"label": "R15", "matrix": [5, 0], "x": 16, "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": "R20", "matrix": [6, 5], "x": 11, "y": 2}, {"label": "R21", "matrix": [6, 4], "x": 12, "y": 2}, {"label": "R22", "matrix": [6, 3], "x": 13, "y": 2}, {"label": "R23", "matrix": [6, 2], "x": 14, "y": 2}, {"label": "R24", "matrix": [6, 1], "x": 15, "y": 2}, {"label": "R25", "matrix": [6, 0], "x": 16, "y": 2}, - {"label": "L33", "matrix": [3, 3], "x": 5, "y": 3}, {"label": "L34", "matrix": [3, 4], "x": 6, "y": 3}, {"label": "L31", "matrix": [3, 1], "x": 7, "y": 3}, - {"label": "R31", "matrix": [7, 1], "x": 9, "y": 3}, {"label": "R33", "matrix": [7, 3], "x": 10, "y": 3} ] diff --git a/keyboards/bastardkb/charybdis/3x6/keymaps/default/keymap.c b/keyboards/bastardkb/charybdis/3x6/keymaps/default/keymap.c deleted file mode 100644 index ba8028104e..0000000000 --- a/keyboards/bastardkb/charybdis/3x6/keymaps/default/keymap.c +++ /dev/null @@ -1,66 +0,0 @@ -/** - * Copyright 2022 Charly Delay (@0xcharly) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#include QMK_KEYBOARD_H - -enum charybdis_keymap_layers { - LAYER_BASE = 0, - LAYER_LOWER, - LAYER_RAISE, -}; - -#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_LGUI, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_RGUI, - // ├──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────┤ - KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_RCTL, - // ├──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────┤ - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, - // ╰──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────╯ - KC_BSPC, KC_SPC, LOWER, RAISE, KC_ENT - // ╰───────────────────────────╯ ╰──────────────────╯ - ), - - [LAYER_LOWER] = LAYOUT( - // ╭──────────────────────────────────────────────────────╮ ╭──────────────────────────────────────────────────────╮ - XXXXXXX, RM_TOGG, KC_MNXT, KC_MPLY, KC_MPRV, XXXXXXX, KC_LBRC, KC_7, KC_8, KC_9, KC_RBRC, XXXXXXX, - // ├──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────┤ - XXXXXXX, KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, XXXXXXX, KC_PPLS, KC_4, KC_5, KC_6, KC_PMNS, XXXXXXX, - // ├──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────┤ - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, EE_CLR, QK_BOOT, KC_PAST, KC_1, KC_2, KC_3, KC_PSLS, XXXXXXX, - // ╰──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────╯ - XXXXXXX, XXXXXXX, _______, XXXXXXX, _______ - // ╰───────────────────────────╯ ╰──────────────────╯ - ), - - [LAYER_RAISE] = LAYOUT( - // ╭──────────────────────────────────────────────────────╮ ╭──────────────────────────────────────────────────────╮ - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_VOLU, KC_MUTE, KC_VOLD, XXXXXXX, XXXXXXX, - // ├──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────┤ - XXXXXXX, KC_LEFT, KC_UP, KC_DOWN, KC_RGHT, XXXXXXX, XXXXXXX, KC_RSFT, KC_RCTL, KC_RALT, KC_RGUI, XXXXXXX, - // ├──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────┤ - XXXXXXX, KC_HOME, KC_PGUP, KC_PGDN, KC_END, XXXXXXX, QK_BOOT, EE_CLR, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - // ╰──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────╯ - _______, _______, XXXXXXX, _______, XXXXXXX - // ╰───────────────────────────╯ ╰──────────────────╯ - ), -}; -// clang-format on diff --git a/keyboards/bastardkb/charybdis/3x6/keymaps/default/keymap.json b/keyboards/bastardkb/charybdis/3x6/keymaps/default/keymap.json new file mode 100644 index 0000000000..e87fe18f34 --- /dev/null +++ b/keyboards/bastardkb/charybdis/3x6/keymaps/default/keymap.json @@ -0,0 +1,25 @@ +{ + "keyboard": "bastardkb/charybdis/3x6/elitec", + "keymap": "default", + "layout": "LAYOUT", + "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_1", "KC_2", "KC_3", "KC_4", "KC_5", "KC_6", "KC_7", "KC_8", "KC_9", "KC_0", "_______", + "_______", "KC_EXLM", "KC_AT", "KC_HASH", "KC_DLR", "KC_PERC", "KC_CIRC", "KC_AMPR", "KC_ASTR", "KC_LPRN", "KC_RPRN", "_______", + "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", + "_______", "_______", "_______", "_______", "_______" + ], + [ + "QK_BOOT", "_______", "_______", "_______", "_______", "_______", "RM_VALU", "RM_HUEU", "RM_SATU", "RM_NEXT", "RM_TOGG", "_______", + "EE_CLR", "_______", "_______", "_______", "_______", "_______", "RM_VALD", "RM_HUED", "RM_SATD", "RM_PREV", "_______", "_______", + "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", + "_______", "_______", "_______", "_______", "_______" + ] + ] +} diff --git a/keyboards/bastardkb/charybdis/3x6/keymaps/default/readme.md b/keyboards/bastardkb/charybdis/3x6/keymaps/default/readme.md deleted file mode 100644 index 8b407f68a2..0000000000 --- a/keyboards/bastardkb/charybdis/3x6/keymaps/default/readme.md +++ /dev/null @@ -1,7 +0,0 @@ -# Charybdis Mini (3x6) default keymap - -> :bulb: Have a look at the [`via` keymap](../via) for a more feature-rich layout. - -The Charydbis Mini (3x6) default keymap is inspired from the original [Dactyl Manuform](../../../../../handwired/dactyl_manuform) default keymap. - -This layout supports RGB matrix. However, due to space constraints on the MCU, only a limited number of effect can be enabled at once. Look at the `config.h` file and enable your favorite effect. diff --git a/keyboards/bastardkb/charybdis/3x6/readme.md b/keyboards/bastardkb/charybdis/3x6/readme.md deleted file mode 100644 index c6385ed8f1..0000000000 --- a/keyboards/bastardkb/charybdis/3x6/readme.md +++ /dev/null @@ -1,15 +0,0 @@ -# Charybdis Nano (3x6) - -An ergonomic keyboard with integrated trackball. - -The Charybdis is available in 4x6, 3x6 and 3x5 form factor at [bastardkb.com](https://bastardkb.com). - -## Keymaps - -### [`default`](keymaps/default) - -A simple QWERTY layout with 4 layers. - -### [`via`](keymaps/via) - -A [Miryoku-inspired](https://github.com/manna-harbour/miryoku), feature-rich, keymap with VIA support. diff --git a/keyboards/bastardkb/charybdis/3x6/rules.mk b/keyboards/bastardkb/charybdis/3x6/rules.mk new file mode 100644 index 0000000000..fab9162dc6 --- /dev/null +++ b/keyboards/bastardkb/charybdis/3x6/rules.mk @@ -0,0 +1 @@ +POINTING_DEVICE_DRIVER = pmw3360 diff --git a/keyboards/bastardkb/charybdis/3x6/v1/elitec/config.h b/keyboards/bastardkb/charybdis/3x6/v1/elitec/config.h deleted file mode 100644 index f5c54c58ae..0000000000 --- a/keyboards/bastardkb/charybdis/3x6/v1/elitec/config.h +++ /dev/null @@ -1,24 +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 - -/* Handedness. */ -#define MASTER_RIGHT - -/* PMW3360 settings. */ -#define POINTING_DEVICE_CS_PIN B0 diff --git a/keyboards/bastardkb/charybdis/3x6/v1/elitec/keyboard.json b/keyboards/bastardkb/charybdis/3x6/v1/elitec/keyboard.json deleted file mode 100644 index cef4eab72f..0000000000 --- a/keyboards/bastardkb/charybdis/3x6/v1/elitec/keyboard.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "keyboard_name": "Charybdis Mini (3x6) Elite-C", - "usb": { - "device_version": "1.0.0" - }, - "features": { - "bootmagic": true, - "mousekey": false, - "extrakey": true, - "rgb_matrix": true, - "pointing_device": true - }, - "build": { - "lto": true - }, - "ws2812": { - "pin": "D3" - }, - "rgb_matrix": { - "driver": "ws2812" - }, - "matrix_pins": { - "cols": ["D5", "C7", "F0", "D7", "E6", "B4"], - "rows": ["B7", "C6", "D4", "B5"] - }, - "diode_direction": "ROW2COL", - "split": { - "enabled": true, - "serial": { - "pin": "D2" - }, - "matrix_pins": { - "right": { - "cols": ["F1", "C7", "B7", "D7", "E6", "B4"], - "rows": ["F0", "C6", "D4", "B5"] - } - } - }, - "processor": "atmega32u4", - "bootloader": "atmel-dfu" -} diff --git a/keyboards/bastardkb/charybdis/3x6/v1/elitec/rules.mk b/keyboards/bastardkb/charybdis/3x6/v1/elitec/rules.mk deleted file mode 100644 index 17dae28bd1..0000000000 --- a/keyboards/bastardkb/charybdis/3x6/v1/elitec/rules.mk +++ /dev/null @@ -1,4 +0,0 @@ -AUDIO_SUPPORTED = no # Audio is not supported - -POINTING_DEVICE_DRIVER = pmw3360 -MOUSE_SHARED_EP = no # Unify multiple HID interfaces into a single Endpoint diff --git a/keyboards/bastardkb/charybdis/3x6/v2/elitec/keyboard.json b/keyboards/bastardkb/charybdis/3x6/v2/elitec/keyboard.json deleted file mode 100644 index fdfd2c38f9..0000000000 --- a/keyboards/bastardkb/charybdis/3x6/v2/elitec/keyboard.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "keyboard_name": "Charybdis Mini (3x6) Elite-C", - "usb": { - "device_version": "2.0.0" - }, - "features": { - "bootmagic": true, - "mousekey": false, - "extrakey": true, - "rgb_matrix": true, - "pointing_device": true - }, - "build": { - "lto": true - }, - "ws2812": { - "pin": "D3" - }, - "rgb_matrix": { - "driver": "ws2812" - }, - "matrix_pins": { - "cols": ["F6", "F5", "B6", "D7", "E6", "B4"], - "rows": ["F7", "C6", "D4", "B5"] - }, - "diode_direction": "ROW2COL", - "split": { - "enabled": true, - "serial": { - "pin": "D2" - } - }, - "processor": "atmega32u4", - "bootloader": "atmel-dfu" -} diff --git a/keyboards/bastardkb/charybdis/3x6/v2/elitec/rules.mk b/keyboards/bastardkb/charybdis/3x6/v2/elitec/rules.mk deleted file mode 100644 index 17dae28bd1..0000000000 --- a/keyboards/bastardkb/charybdis/3x6/v2/elitec/rules.mk +++ /dev/null @@ -1,4 +0,0 @@ -AUDIO_SUPPORTED = no # Audio is not supported - -POINTING_DEVICE_DRIVER = pmw3360 -MOUSE_SHARED_EP = no # Unify multiple HID interfaces into a single Endpoint diff --git a/keyboards/bastardkb/charybdis/3x6/v2/splinky_2/config.h b/keyboards/bastardkb/charybdis/3x6/v2/splinky_2/config.h deleted file mode 100644 index e6e2a4f216..0000000000 --- a/keyboards/bastardkb/charybdis/3x6/v2/splinky_2/config.h +++ /dev/null @@ -1,38 +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 - -/* Handedness. */ -#define MASTER_RIGHT - -// To use the handedness pin, resistors need to be installed on the adapter PCB. -// If so, uncomment the following code, and undefine MASTER_RIGHT above. -// #define SPLIT_HAND_PIN GP13 -// #define SPLIT_HAND_PIN_LOW_IS_LEFT // High -> right, Low -> left. - -/* SPI & PMW3360 settings. */ -#define SPI_DRIVER SPID0 -#define SPI_SCK_PIN GP18 -#define SPI_MISO_PIN GP20 -#define SPI_MOSI_PIN GP19 -#define POINTING_DEVICE_CS_PIN GP14 - -/* Reset. */ -#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET -#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_LED GP17 -#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 1000U diff --git a/keyboards/bastardkb/charybdis/3x6/v2/splinky_2/keyboard.json b/keyboards/bastardkb/charybdis/3x6/v2/splinky_2/keyboard.json deleted file mode 100644 index 650bf46481..0000000000 --- a/keyboards/bastardkb/charybdis/3x6/v2/splinky_2/keyboard.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "keyboard_name": "Charybdis Mini (3x6) Splinky", - "usb": { - "device_version": "2.0.0" - }, - "features": { - "bootmagic": true, - "mousekey": false, - "extrakey": true, - "rgb_matrix": true, - "pointing_device": true - }, - "rgb_matrix": { - "driver": "ws2812" - }, - "matrix_pins": { - "cols": ["GP27", "GP28", "GP15", "GP6", "GP7", "GP8"], - "rows": ["GP26", "GP5", "GP4", "GP9"] - }, - "diode_direction": "ROW2COL", - "split": { - "enabled": true, - "serial": { - "pin": "GP1" - } - }, - "ws2812": { - "pin": "GP0", - "driver": "vendor" - }, - "processor": "RP2040", - "bootloader": "rp2040" -} diff --git a/keyboards/bastardkb/charybdis/3x6/v2/splinky_2/mcuconf.h b/keyboards/bastardkb/charybdis/3x6/v2/splinky_2/mcuconf.h deleted file mode 100644 index 6aaf31428c..0000000000 --- a/keyboards/bastardkb/charybdis/3x6/v2/splinky_2/mcuconf.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 - -#include_next - -#undef RP_SPI_USE_SPI0 -#define RP_SPI_USE_SPI0 TRUE diff --git a/keyboards/bastardkb/charybdis/3x6/v2/splinky_2/readme.md b/keyboards/bastardkb/charybdis/3x6/v2/splinky_2/readme.md deleted file mode 100644 index 662eb5825c..0000000000 --- a/keyboards/bastardkb/charybdis/3x6/v2/splinky_2/readme.md +++ /dev/null @@ -1,5 +0,0 @@ -# Splinky controller - -The splinky is a Pro-Micro/Elite-C replacement with USB-C and RP2040. - -See [plut0nium/0xB2](https://github.com/plut0nium/0xB2/#releases) to figure out the right version for you (v2 or v3). diff --git a/keyboards/bastardkb/charybdis/3x6/v2/splinky_2/rules.mk b/keyboards/bastardkb/charybdis/3x6/v2/splinky_2/rules.mk deleted file mode 100644 index db29cb6789..0000000000 --- a/keyboards/bastardkb/charybdis/3x6/v2/splinky_2/rules.mk +++ /dev/null @@ -1,5 +0,0 @@ -AUDIO_SUPPORTED = no # Audio is not supported - -POINTING_DEVICE_DRIVER = pmw3360 - -SERIAL_DRIVER = vendor diff --git a/keyboards/bastardkb/charybdis/3x6/v2/splinky_3/config.h b/keyboards/bastardkb/charybdis/3x6/v2/splinky_3/config.h deleted file mode 100644 index ee7745d41e..0000000000 --- a/keyboards/bastardkb/charybdis/3x6/v2/splinky_3/config.h +++ /dev/null @@ -1,38 +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 - -/* Handedness. */ -#define MASTER_RIGHT - -// To use the handedness pin, resistors need to be installed on the adapter PCB. -// If so, uncomment the following code, and undefine MASTER_RIGHT above. -// #define SPLIT_HAND_PIN GP15 -// #define SPLIT_HAND_PIN_LOW_IS_LEFT // High -> right, Low -> left. - -/* SPI & PMW3360 settings. */ -#define SPI_DRIVER SPID0 -#define SPI_SCK_PIN GP22 -#define SPI_MISO_PIN GP20 -#define SPI_MOSI_PIN GP23 -#define POINTING_DEVICE_CS_PIN GP16 - -/* Reset. */ -#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET -#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_LED GP17 -#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 1000U diff --git a/keyboards/bastardkb/charybdis/3x6/v2/splinky_3/keyboard.json b/keyboards/bastardkb/charybdis/3x6/v2/splinky_3/keyboard.json deleted file mode 100644 index b2a4890f56..0000000000 --- a/keyboards/bastardkb/charybdis/3x6/v2/splinky_3/keyboard.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "keyboard_name": "Charybdis Mini (3x6) Splinky", - "usb": { - "device_version": "2.0.0" - }, - "features": { - "bootmagic": true, - "mousekey": false, - "extrakey": true, - "rgb_matrix": true, - "pointing_device": true - }, - "rgb_matrix": { - "driver": "ws2812" - }, - "matrix_pins": { - "cols": ["GP27", "GP28", "GP21", "GP6", "GP7", "GP8"], - "rows": ["GP26", "GP5", "GP4", "GP9"] - }, - "diode_direction": "ROW2COL", - "split": { - "enabled": true, - "serial": { - "pin": "GP1" - } - }, - "ws2812": { - "pin": "GP0", - "driver": "vendor" - }, - "processor": "RP2040", - "bootloader": "rp2040" -} diff --git a/keyboards/bastardkb/charybdis/3x6/v2/splinky_3/mcuconf.h b/keyboards/bastardkb/charybdis/3x6/v2/splinky_3/mcuconf.h deleted file mode 100644 index 6aaf31428c..0000000000 --- a/keyboards/bastardkb/charybdis/3x6/v2/splinky_3/mcuconf.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 - -#include_next - -#undef RP_SPI_USE_SPI0 -#define RP_SPI_USE_SPI0 TRUE diff --git a/keyboards/bastardkb/charybdis/3x6/v2/splinky_3/readme.md b/keyboards/bastardkb/charybdis/3x6/v2/splinky_3/readme.md deleted file mode 100644 index 662eb5825c..0000000000 --- a/keyboards/bastardkb/charybdis/3x6/v2/splinky_3/readme.md +++ /dev/null @@ -1,5 +0,0 @@ -# Splinky controller - -The splinky is a Pro-Micro/Elite-C replacement with USB-C and RP2040. - -See [plut0nium/0xB2](https://github.com/plut0nium/0xB2/#releases) to figure out the right version for you (v2 or v3). diff --git a/keyboards/bastardkb/charybdis/3x6/v2/splinky_3/rules.mk b/keyboards/bastardkb/charybdis/3x6/v2/splinky_3/rules.mk deleted file mode 100644 index db29cb6789..0000000000 --- a/keyboards/bastardkb/charybdis/3x6/v2/splinky_3/rules.mk +++ /dev/null @@ -1,5 +0,0 @@ -AUDIO_SUPPORTED = no # Audio is not supported - -POINTING_DEVICE_DRIVER = pmw3360 - -SERIAL_DRIVER = vendor diff --git a/keyboards/bastardkb/charybdis/3x6/v2/stemcell/config.h b/keyboards/bastardkb/charybdis/3x6/v2/stemcell/config.h deleted file mode 100644 index 3efb323302..0000000000 --- a/keyboards/bastardkb/charybdis/3x6/v2/stemcell/config.h +++ /dev/null @@ -1,52 +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 - -/* Handedness. */ -#define MASTER_RIGHT - -// To use the handedness pin, resistors need to be installed on the adapter PCB. -// If so, uncomment the following code, and undefine MASTER_RIGHT above. -// #define A0 PAL_LINE(GPIOA, 0) -// #define SPLIT_HAND_PIN A0 -// #define SPLIT_HAND_PIN_LOW_IS_LEFT // High -> right, Low -> left. - -/* RGB settings. */ -#define WS2812_PWM_DRIVER PWMD2 -#define WS2812_PWM_CHANNEL 4 -#define WS2812_PWM_PAL_MODE 1 -#define WS2812_PWM_DMA_STREAM STM32_DMA1_STREAM7 -#define WS2812_PWM_DMA_CHANNEL 3 - -/* CRC. */ -#define CRC8_USE_TABLE -#define CRC8_OPTIMIZE_SPEED - -/* SPI config for 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 - -/* PMW3360 settings. */ -#define POINTING_DEVICE_CS_PIN A1 -#define PMW3360_CS_MODE 3 -#define PMW3360_CS_DIVISOR 64 diff --git a/keyboards/bastardkb/charybdis/3x6/v2/stemcell/halconf.h b/keyboards/bastardkb/charybdis/3x6/v2/stemcell/halconf.h deleted file mode 100644 index 8141e0cf4b..0000000000 --- a/keyboards/bastardkb/charybdis/3x6/v2/stemcell/halconf.h +++ /dev/null @@ -1,24 +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_PWM TRUE -#define HAL_USE_SERIAL TRUE -#define HAL_USE_SPI TRUE - -#include_next diff --git a/keyboards/bastardkb/charybdis/3x6/v2/stemcell/keyboard.json b/keyboards/bastardkb/charybdis/3x6/v2/stemcell/keyboard.json deleted file mode 100644 index a405395438..0000000000 --- a/keyboards/bastardkb/charybdis/3x6/v2/stemcell/keyboard.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "keyboard_name": "Charybdis Mini (3x6) STeMCell", - "usb": { - "device_version": "2.0.0", - "shared_endpoint": { - "keyboard": true - } - }, - "features": { - "bootmagic": true, - "mousekey": true, - "extrakey": true, - "rgb_matrix": true, - "pointing_device": true - }, - "rgb_matrix": { - "driver": "ws2812" - }, - "ws2812": { - "pin": "A2", - "driver": "pwm" - }, - "build": { - "debounce_type": "asym_eager_defer_pk" - }, - "matrix_pins": { - "cols": ["B1", "B2", "A4", "B4", "B5", "B8"], - "rows": ["B0", "B3", "A15", "B9"] - }, - "diode_direction": "ROW2COL", - "split": { - "enabled": true, - "serial": { - "pin": "A3" - } - }, - "development_board": "stemcell" -} diff --git a/keyboards/bastardkb/charybdis/3x6/v2/stemcell/mcuconf.h b/keyboards/bastardkb/charybdis/3x6/v2/stemcell/mcuconf.h deleted file mode 100644 index 1a3c4433db..0000000000 --- a/keyboards/bastardkb/charybdis/3x6/v2/stemcell/mcuconf.h +++ /dev/null @@ -1,32 +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 STM32_SPI_USE_SPI1 -#define STM32_SPI_USE_SPI1 TRUE - -#undef STM32_SERIAL_USE_USART1 -#define STM32_SERIAL_USE_USART1 FALSE - -#undef STM32_PWM_USE_TIM2 -#define STM32_PWM_USE_TIM2 TRUE - -#undef STM32_ST_USE_TIMER -#define STM32_ST_USE_TIMER 5 diff --git a/keyboards/bastardkb/charybdis/3x6/v2/stemcell/rules.mk b/keyboards/bastardkb/charybdis/3x6/v2/stemcell/rules.mk deleted file mode 100644 index 4373b9c33d..0000000000 --- a/keyboards/bastardkb/charybdis/3x6/v2/stemcell/rules.mk +++ /dev/null @@ -1,6 +0,0 @@ -AUDIO_SUPPORTED = no # Audio is not supported - -POINTING_DEVICE_DRIVER = pmw3360 -MOUSE_SHARED_EP = no # Unify multiple HID interfaces into a single Endpoint - -SERIAL_DRIVER = usart diff --git a/keyboards/bastardkb/charybdis/4x6/4x6.c b/keyboards/bastardkb/charybdis/4x6/4x6.c deleted file mode 100644 index ff1bbea470..0000000000 --- a/keyboards/bastardkb/charybdis/4x6/4x6.c +++ /dev/null @@ -1,100 +0,0 @@ -/* - * Copyright 2020 Christopher Courtney (@drashna) - * 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 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 "charybdis.h" - -// clang-format off -#ifdef RGB_MATRIX_ENABLE -/** - * \brief LEDs index. - * - * ╭────────────────────────╮ ╭────────────────────────╮ - * 0 7 8 15 16 20 49 45 44 37 36 29 - * ├────────────────────────┤ ├────────────────────────┤ - * 1 6 9 14 17 21 50 46 43 38 35 30 - * ├────────────────────────┤ ├────────────────────────┤ - * 2 5 10 13 18 22 51 47 42 39 34 31 - * ├────────────────────────┤ ├────────────────────────┤ - * 3 4 11 12 19 23 52 48 41 40 33 32 - * ╰────────────────────────╯ ╰────────────────────────╯ - * 26 27 28 53 54 XX - * 25 24 55 XX - * ╰────────────╯ ╰────────────╯ - * - * Note: the LED config simulates 58 LEDs instead of the actual 56 to prevent - * confusion when testing LEDs during assembly when handedness is not set - * correctly. Those fake LEDs are bound to the physical bottom-left corner. - */ -led_config_t g_led_config = { { - /* Key Matrix to LED index. */ - // Left split. - { 0, 7, 8, 15, 16, 20 }, // Num row - { 1, 6, 9, 14, 17, 21 }, // Top row - { 2, 5, 10, 13, 18, 22 }, // Middle row - { 3, 4, 11, 12, 19, 23 }, // Bottom row - { NO_LED, 28, 24, 26, 27, 25 }, // Thumb cluster - // Right split. - { 29, 36, 37, 44, 45, 49 }, // Num row - { 30, 35, 38, 43, 46, 50 }, // Top row - { 31, 34, 39, 42, 47, 51 }, // Middle row - { 32, 33, 40, 41, 48, 52 }, // Bottom row - { NO_LED, 53, 55, 54, NO_LED, NO_LED }, // Thumb cluster -}, { - /* LED index to physical position. */ - // Left split. - /* index=0 */ { 0, 0 }, { 0, 12 }, { 0, 24 }, { 0, 36 }, // col 1 (left most) - /* index=4 */ { 16, 36 }, { 16, 24 }, { 16, 12 }, { 16, 0 }, // col 2 - /* index=8 */ { 32, 0 }, { 32, 12 }, { 32, 24 }, { 32, 36 }, - /* index=12 */ { 48, 36 }, { 48, 24 }, { 48, 12 }, { 48, 0 }, - /* index=16 */ { 64, 0 }, { 64, 12 }, { 64, 24 }, { 64, 36 }, - /* index=20 */ { 80, 0 }, { 80, 12 }, { 80, 24 }, { 80, 36 }, - /* index=24 */ { 112, 64 }, { 96, 64 }, { 80, 52 }, - /* index=27 */ { 96, 52 }, { 112, 52 }, - // Right split. - /* index=29 */ { 224, 0 }, { 224, 12 }, { 224, 24 }, { 224, 36 }, // col 12 (right most) - /* index=33 */ { 208, 36 }, { 208, 24 }, { 208, 12 }, { 208, 0 }, // col 11 - /* index=37 */ { 192, 0 }, { 192, 12 }, { 192, 24 }, { 192, 36 }, - /* index=41 */ { 176, 36 }, { 176, 24 }, { 176, 12 }, { 176, 0 }, - /* index=45 */ { 160, 0 }, { 160, 12 }, { 160, 24 }, { 160, 36 }, - /* index=49 */ { 144, 0 }, { 144, 12 }, { 144, 24 }, { 144, 36 }, - /* index=53 */ { 112, 52 }, { 128, 64 }, { 112, 64 }, - /* index=56 */ { 0, 0 }, { 0, 0 }, -}, { - /* LED index to flag. */ - // Left split. - /* index=0 */ LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, // col 1 - /* index=4 */ LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, // col 2 - /* index=8 */ LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, - /* index=12 */ LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, - /* index=16 */ LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, - /* index=20 */ LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, - /* index=24 */ LED_FLAG_MODIFIER, LED_FLAG_MODIFIER, LED_FLAG_MODIFIER, // Thumb cluster top - /* index=27 */ LED_FLAG_MODIFIER, LED_FLAG_MODIFIER, // Thumb cluster bottom - // Right split. - /* index=29 */ LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, // col 12 - /* index=33 */ LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, // col 11 - /* index=37 */ LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, - /* index=41 */ LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, - /* index=45 */ LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, - /* index=49 */ LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, - /* index=53 */ LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, // Thumb cluster - /* index=55 */ LED_FLAG_MODIFIER, LED_FLAG_MODIFIER, // Thumb cluster fakes -} }; -#endif -// clang-format on diff --git a/keyboards/bastardkb/charybdis/4x6/blackpill/config.h b/keyboards/bastardkb/charybdis/4x6/blackpill/config.h index bd1e0fe31e..9c01986583 100644 --- a/keyboards/bastardkb/charybdis/4x6/blackpill/config.h +++ b/keyboards/bastardkb/charybdis/4x6/blackpill/config.h @@ -1,28 +1,9 @@ -/* - * Copyright 2020 Christopher Courtney (@drashna) - * Copyright 2021 Stefan Kerkmann (@KarlK90) - * 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 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 . - */ - +// Copyright 2020 Christopher Courtney (@drashna) +// Copyright 2021 Stefan Kerkmann (@KarlK90) +// Copyright 2021 Charly Delay (@0xcharly) +// SPDX-License-Identifier: GPL-2.0-or-later #pragma once -/* Handedness. */ -#define SPLIT_HAND_PIN A3 // High -> left, Low -> right. - -/* RGB settings. */ #define WS2812_PWM_DRIVER PWMD2 #define WS2812_PWM_CHANNEL 2 #define WS2812_PWM_PAL_MODE 1 @@ -30,14 +11,6 @@ #define WS2812_PWM_DMA_STREAM STM32_DMA1_STREAM1 #define WS2812_PWM_DMA_CHANNEL 3 -/* Serial configuration for split keyboard. */ -#define SERIAL_USART_TX_PIN A9 - -/* CRC. */ -#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 @@ -46,9 +19,7 @@ #define SPI_MISO_PIN A6 #define SPI_MISO_PAL_MODE 5 -/* EEPROM config. */ #define EXTERNAL_EEPROM_SPI_SLAVE_SELECT_PIN A4 -/* PMW3360 settings. */ #define POINTING_DEVICE_CS_PIN B14 #define PMW33XX_CS_DIVISOR 64 diff --git a/keyboards/bastardkb/charybdis/4x6/blackpill/halconf.h b/keyboards/bastardkb/charybdis/4x6/blackpill/halconf.h index 300b0eeaed..6876cc3e00 100644 --- a/keyboards/bastardkb/charybdis/4x6/blackpill/halconf.h +++ b/keyboards/bastardkb/charybdis/4x6/blackpill/halconf.h @@ -1,21 +1,6 @@ -/** - * Copyright 2020 Nick Brassel (tzarc) - * 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 . - */ - +// Copyright 2020 Nick Brassel (tzarc) +// Copyright 2021 Charly Delay (@0xcharly) +// SPDX-License-Identifier: GPL-2.0-or-later #pragma once #define HAL_USE_PWM TRUE diff --git a/keyboards/bastardkb/charybdis/4x6/blackpill/keyboard.json b/keyboards/bastardkb/charybdis/4x6/blackpill/keyboard.json index b55dc29445..4bef461b6b 100644 --- a/keyboards/bastardkb/charybdis/4x6/blackpill/keyboard.json +++ b/keyboards/bastardkb/charybdis/4x6/blackpill/keyboard.json @@ -1,38 +1,23 @@ { - "keyboard_name": "Charybdis (4x6) Blackpill", - "usb": { - "device_version": "1.0.0", - "shared_endpoint": { - "keyboard": true - } - }, - "features": { - "bootmagic": true, - "mousekey": true, - "extrakey": true, - "rgb_matrix": true, - "pointing_device": true - }, + "development_board": "blackpill_f411", "eeprom": { "driver": "spi" }, - "split": { - "enabled": true - }, - "rgb_matrix": { - "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"] }, - "diode_direction": "ROW2COL", - "development_board": "blackpill_f411" + "split": { + "handedness": { + "pin": "A3" + }, + "serial": { + "driver": "usart", + "pin": "A9" + } + }, + "ws2812": { + "driver": "pwm", + "pin": "A1" + } } diff --git a/keyboards/bastardkb/charybdis/4x6/blackpill/mcuconf.h b/keyboards/bastardkb/charybdis/4x6/blackpill/mcuconf.h index 46b3b42f8b..be641fb899 100644 --- a/keyboards/bastardkb/charybdis/4x6/blackpill/mcuconf.h +++ b/keyboards/bastardkb/charybdis/4x6/blackpill/mcuconf.h @@ -1,22 +1,7 @@ -/* - * Copyright 2020 Nick Brassel (tzarc) - * Copyright 2021 Stefan Kerkmann (@KarlK90) - * 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 . - */ - +// Copyright 2020 Nick Brassel (tzarc) +// Copyright 2021 Stefan Kerkmann (@KarlK90) +// Copyright 2021 Charly Delay (@0xcharly) +// SPDX-License-Identifier: GPL-2.0-or-later #pragma once #include_next @@ -30,11 +15,6 @@ #undef STM32_SPI_USE_SPI1 #define STM32_SPI_USE_SPI1 TRUE -#undef STM32_SPI_SPI1_RX_DMA_STREAM -#define STM32_SPI_SPI1_RX_DMA_STREAM STM32_DMA_STREAM_ID(2, 0) -#undef STM32_SPI_SPI1_TX_DMA_STREAM -#define STM32_SPI_SPI1_TX_DMA_STREAM STM32_DMA_STREAM_ID(2, 3) - #undef STM32_SERIAL_USE_USART1 #define STM32_SERIAL_USE_USART1 TRUE diff --git a/keyboards/bastardkb/charybdis/4x6/blackpill/readme.md b/keyboards/bastardkb/charybdis/4x6/blackpill/readme.md deleted file mode 100644 index bbae15bb85..0000000000 --- a/keyboards/bastardkb/charybdis/4x6/blackpill/readme.md +++ /dev/null @@ -1,3 +0,0 @@ -# Charybdis (4x6) BlackPill - -An ergonomic keyboard with integrated trackball, with BlackPill (STM32F411) mod. diff --git a/keyboards/bastardkb/charybdis/4x6/blackpill/rules.mk b/keyboards/bastardkb/charybdis/4x6/blackpill/rules.mk deleted file mode 100644 index 3caafdef92..0000000000 --- a/keyboards/bastardkb/charybdis/4x6/blackpill/rules.mk +++ /dev/null @@ -1,6 +0,0 @@ -AUDIO_SUPPORTED = no # Audio is not supported. - -POINTING_DEVICE_DRIVER = pmw3360 -MOUSE_SHARED_EP = no # Unify multiple HID interfaces into a single Endpoint - -SERIAL_DRIVER = usart diff --git a/keyboards/bastardkb/charybdis/4x6/config.h b/keyboards/bastardkb/charybdis/4x6/config.h deleted file mode 100644 index 1c952759a7..0000000000 --- a/keyboards/bastardkb/charybdis/4x6/config.h +++ /dev/null @@ -1,22 +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 - -/* Trackball angle adjustment. */ -#define ROTATIONAL_TRANSFORM_ANGLE -25 diff --git a/keyboards/bastardkb/charybdis/4x6/elitec/config.h b/keyboards/bastardkb/charybdis/4x6/elitec/config.h new file mode 100644 index 0000000000..411ddaf6b9 --- /dev/null +++ b/keyboards/bastardkb/charybdis/4x6/elitec/config.h @@ -0,0 +1,5 @@ +// Copyright 2022 Charly Delay (@0xcharly) +// SPDX-License-Identifier: GPL-2.0-or-later +#pragma once + +#define POINTING_DEVICE_CS_PIN F0 diff --git a/keyboards/bastardkb/charybdis/4x6/elitec/keyboard.json b/keyboards/bastardkb/charybdis/4x6/elitec/keyboard.json new file mode 100644 index 0000000000..839598e85e --- /dev/null +++ b/keyboards/bastardkb/charybdis/4x6/elitec/keyboard.json @@ -0,0 +1,19 @@ +{ + "build": { + "lto": true + }, + "development_board": "elite_c", + "matrix_pins": { + "cols": ["F6", "F5", "B6", "D7", "E6", "B4"], + "rows": ["F4", "F7", "C6", "D4", "B5"] + }, + "pin_compatible": "elite_c", + "split": { + "serial": { + "pin": "D2" + } + }, + "ws2812": { + "pin": "D3" + } +} diff --git a/keyboards/bastardkb/charybdis/4x6/info.json b/keyboards/bastardkb/charybdis/4x6/info.json index 54bb564306..17d68900df 100644 --- a/keyboards/bastardkb/charybdis/4x6/info.json +++ b/keyboards/bastardkb/charybdis/4x6/info.json @@ -1,15 +1,80 @@ { - "manufacturer": "Bastard Keyboards", - "url": "https://bastardkb.com/charybdis", - "usb": { - "pid": "0x1833", - "vid": "0xA8F8" + "keyboard_name": "Charybdis (4x6)", + "diode_direction": "ROW2COL", + "features": { + "bootmagic": true, + "extrakey": true, + "mousekey": false, + "pointing_device": true, + "rgb_matrix": true }, "rgb_matrix": { + "driver": "ws2812", + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0, "flags": 4}, + {"matrix": [1, 0], "x": 0, "y": 12, "flags": 4}, + {"matrix": [2, 0], "x": 0, "y": 24, "flags": 4}, + {"matrix": [3, 0], "x": 0, "y": 36, "flags": 4}, + {"matrix": [3, 1], "x": 16, "y": 36, "flags": 4}, + {"matrix": [2, 1], "x": 16, "y": 24, "flags": 4}, + {"matrix": [1, 1], "x": 16, "y": 12, "flags": 4}, + {"matrix": [0, 1], "x": 16, "y": 0, "flags": 4}, + {"matrix": [0, 2], "x": 32, "y": 0, "flags": 4}, + {"matrix": [1, 2], "x": 32, "y": 12, "flags": 4}, + {"matrix": [2, 2], "x": 32, "y": 24, "flags": 4}, + {"matrix": [3, 2], "x": 32, "y": 36, "flags": 4}, + {"matrix": [3, 3], "x": 48, "y": 36, "flags": 4}, + {"matrix": [2, 3], "x": 48, "y": 24, "flags": 4}, + {"matrix": [1, 3], "x": 48, "y": 12, "flags": 4}, + {"matrix": [0, 3], "x": 48, "y": 0, "flags": 4}, + {"matrix": [0, 4], "x": 64, "y": 0, "flags": 4}, + {"matrix": [1, 4], "x": 64, "y": 12, "flags": 4}, + {"matrix": [2, 4], "x": 64, "y": 24, "flags": 4}, + {"matrix": [3, 4], "x": 64, "y": 36, "flags": 4}, + {"matrix": [0, 5], "x": 80, "y": 0, "flags": 4}, + {"matrix": [1, 5], "x": 80, "y": 12, "flags": 4}, + {"matrix": [2, 5], "x": 80, "y": 24, "flags": 4}, + {"matrix": [3, 5], "x": 80, "y": 36, "flags": 4}, + {"matrix": [4, 2], "x": 112, "y": 64, "flags": 1}, + {"matrix": [4, 5], "x": 96, "y": 64, "flags": 1}, + {"matrix": [4, 3], "x": 80, "y": 52, "flags": 1}, + {"matrix": [4, 4], "x": 96, "y": 52, "flags": 1}, + {"matrix": [4, 1], "x": 112, "y": 52, "flags": 1}, + {"matrix": [5, 0], "x": 224, "y": 0, "flags": 4}, + {"matrix": [6, 0], "x": 224, "y": 12, "flags": 4}, + {"matrix": [7, 0], "x": 224, "y": 24, "flags": 4}, + {"matrix": [8, 0], "x": 224, "y": 36, "flags": 4}, + {"matrix": [8, 1], "x": 208, "y": 36, "flags": 4}, + {"matrix": [7, 1], "x": 208, "y": 24, "flags": 4}, + {"matrix": [6, 1], "x": 208, "y": 12, "flags": 4}, + {"matrix": [5, 1], "x": 208, "y": 0, "flags": 4}, + {"matrix": [5, 2], "x": 192, "y": 0, "flags": 4}, + {"matrix": [6, 2], "x": 192, "y": 12, "flags": 4}, + {"matrix": [7, 2], "x": 192, "y": 24, "flags": 4}, + {"matrix": [8, 2], "x": 192, "y": 36, "flags": 4}, + {"matrix": [8, 3], "x": 176, "y": 36, "flags": 4}, + {"matrix": [7, 3], "x": 176, "y": 24, "flags": 4}, + {"matrix": [6, 3], "x": 176, "y": 12, "flags": 4}, + {"matrix": [5, 3], "x": 176, "y": 0, "flags": 4}, + {"matrix": [5, 4], "x": 160, "y": 0, "flags": 4}, + {"matrix": [6, 4], "x": 160, "y": 12, "flags": 4}, + {"matrix": [7, 4], "x": 160, "y": 24, "flags": 4}, + {"matrix": [8, 4], "x": 160, "y": 36, "flags": 4}, + {"matrix": [5, 5], "x": 144, "y": 0, "flags": 4}, + {"matrix": [6, 5], "x": 144, "y": 12, "flags": 4}, + {"matrix": [7, 5], "x": 144, "y": 24, "flags": 4}, + {"matrix": [8, 5], "x": 144, "y": 36, "flags": 4}, + {"matrix": [9, 1], "x": 112, "y": 52, "flags": 4}, + {"matrix": [9, 3], "x": 128, "y": 64, "flags": 4}, + {"matrix": [9, 2], "x": 112, "y": 64, "flags": 4}, + {"x": 128, "y": 52, "flags": 1}, + {"x": 144, "y": 52, "flags": 1} + ], "split_count": [29, 29] }, - "layout_aliases": { - "LAYOUT_charybdis_4x6": "LAYOUT" + "usb": { + "device_version": "2.0.0", + "pid": "0x1833" }, "layouts": { "LAYOUT": { @@ -20,66 +85,55 @@ {"matrix": [0, 3], "x": 3, "y": 0}, {"matrix": [0, 4], "x": 4, "y": 0}, {"matrix": [0, 5], "x": 5, "y": 0}, - {"matrix": [5, 5], "x": 11, "y": 0}, {"matrix": [5, 4], "x": 12, "y": 0}, {"matrix": [5, 3], "x": 13, "y": 0}, {"matrix": [5, 2], "x": 14, "y": 0}, {"matrix": [5, 1], "x": 15, "y": 0}, {"matrix": [5, 0], "x": 16, "y": 0}, - {"matrix": [1, 0], "x": 0, "y": 1}, {"matrix": [1, 1], "x": 1, "y": 1}, {"matrix": [1, 2], "x": 2, "y": 1}, {"matrix": [1, 3], "x": 3, "y": 1}, {"matrix": [1, 4], "x": 4, "y": 1}, {"matrix": [1, 5], "x": 5, "y": 1}, - {"matrix": [6, 5], "x": 11, "y": 1}, {"matrix": [6, 4], "x": 12, "y": 1}, {"matrix": [6, 3], "x": 13, "y": 1}, {"matrix": [6, 2], "x": 14, "y": 1}, {"matrix": [6, 1], "x": 15, "y": 1}, {"matrix": [6, 0], "x": 16, "y": 1}, - {"matrix": [2, 0], "x": 0, "y": 2}, {"matrix": [2, 1], "x": 1, "y": 2}, {"matrix": [2, 2], "x": 2, "y": 2}, {"matrix": [2, 3], "x": 3, "y": 2}, {"matrix": [2, 4], "x": 4, "y": 2}, {"matrix": [2, 5], "x": 5, "y": 2}, - {"matrix": [7, 5], "x": 11, "y": 2}, {"matrix": [7, 4], "x": 12, "y": 2}, {"matrix": [7, 3], "x": 13, "y": 2}, {"matrix": [7, 2], "x": 14, "y": 2}, {"matrix": [7, 1], "x": 15, "y": 2}, {"matrix": [7, 0], "x": 16, "y": 2}, - {"matrix": [3, 0], "x": 0, "y": 3}, {"matrix": [3, 1], "x": 1, "y": 3}, {"matrix": [3, 2], "x": 2, "y": 3}, {"matrix": [3, 3], "x": 3, "y": 3}, {"matrix": [3, 4], "x": 4, "y": 3}, {"matrix": [3, 5], "x": 5, "y": 3}, - {"matrix": [8, 5], "x": 11, "y": 3}, {"matrix": [8, 4], "x": 12, "y": 3}, {"matrix": [8, 3], "x": 13, "y": 3}, {"matrix": [8, 2], "x": 14, "y": 3}, {"matrix": [8, 1], "x": 15, "y": 3}, {"matrix": [8, 0], "x": 16, "y": 3}, - {"matrix": [4, 3], "x": 5, "y": 4}, {"matrix": [4, 4], "x": 6, "y": 4}, {"matrix": [4, 1], "x": 7, "y": 4}, - {"matrix": [9, 1], "x": 9, "y": 4}, {"matrix": [9, 3], "x": 10, "y": 4}, - {"matrix": [4, 5], "x": 6, "y": 5}, {"matrix": [4, 2], "x": 7, "y": 5}, - {"matrix": [9, 5], "x": 9, "y": 5} ] } diff --git a/keyboards/bastardkb/charybdis/4x6/keymaps/default/keymap.c b/keyboards/bastardkb/charybdis/4x6/keymaps/default/keymap.c deleted file mode 100644 index f440dac8cb..0000000000 --- a/keyboards/bastardkb/charybdis/4x6/keymaps/default/keymap.c +++ /dev/null @@ -1,75 +0,0 @@ -/** - * Copyright 2021 Charly Delay (@0xcharly) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#include QMK_KEYBOARD_H - -enum charybdis_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_LGUI, KC_SPC, LOWER, RAISE, KC_ENT, - KC_LALT, KC_BSPC, KC_DEL - // ╰───────────────────────────╯ ╰──────────────────╯ - ), - - [LAYER_LOWER] = LAYOUT( - // ╭──────────────────────────────────────────────────────╮ ╭──────────────────────────────────────────────────────╮ - KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_UNDS, - // ├──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────┤ - RM_NEXT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_LBRC, KC_P7, KC_P8, KC_P9, KC_RBRC, XXXXXXX, - // ├──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────┤ - RM_TOGG, KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, XXXXXXX, KC_PPLS, KC_P4, KC_P5, KC_P6, KC_PMNS, KC_PEQL, - // ├──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────┤ - RM_PREV, XXXXXXX, XXXXXXX, XXXXXXX, EE_CLR, QK_BOOT, KC_PAST, KC_P1, KC_P2, KC_P3, KC_PSLS, KC_PDOT, - // ╰──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────╯ - XXXXXXX, XXXXXXX, _______, XXXXXXX, _______, - XXXXXXX, XXXXXXX, KC_P0 - // ╰───────────────────────────╯ ╰──────────────────╯ - ), - - [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/charybdis/4x6/keymaps/default/keymap.json b/keyboards/bastardkb/charybdis/4x6/keymaps/default/keymap.json new file mode 100644 index 0000000000..2df4f16675 --- /dev/null +++ b/keyboards/bastardkb/charybdis/4x6/keymaps/default/keymap.json @@ -0,0 +1,31 @@ +{ + "keyboard": "bastardkb/charybdis/4x6/elitec", + "keymap": "default", + "layout": "LAYOUT", + "layers": [ + [ + "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_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_CAPS", + "KC_LGUI", "MO(1)", "KC_SPC", "KC_ENT", "MO(2)", + "KC_LALT", "KC_SPC", "KC_BSPC" + ], + [ + "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", + "_______", "KC_1", "KC_2", "KC_3", "KC_4", "KC_5", "KC_6", "KC_7", "KC_8", "KC_9", "KC_0", "_______", + "_______", "KC_EXLM", "KC_AT", "KC_HASH", "KC_DLR", "KC_PERC", "KC_CIRC", "KC_AMPR", "KC_ASTR", "KC_LPRN", "KC_RPRN", "_______", + "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", + "_______", "_______", "_______", "_______", "_______", + "_______", "_______", "_______" + ], + [ + "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", + "QK_BOOT", "_______", "_______", "_______", "_______", "_______", "RM_VALU", "RM_HUEU", "RM_SATU", "RM_NEXT", "RM_TOGG", "_______", + "EE_CLR", "_______", "_______", "_______", "_______", "_______", "RM_VALD", "RM_HUED", "RM_SATD", "RM_PREV", "_______", "_______", + "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", + "_______", "_______", "_______", "_______", "_______", + "_______", "_______", "_______" + ] + ] +} diff --git a/keyboards/bastardkb/charybdis/4x6/keymaps/default/readme.md b/keyboards/bastardkb/charybdis/4x6/keymaps/default/readme.md deleted file mode 100644 index 23a85e54d5..0000000000 --- a/keyboards/bastardkb/charybdis/4x6/keymaps/default/readme.md +++ /dev/null @@ -1,7 +0,0 @@ -# Charybdis (4x6) default keymap - -> :bulb: Have a look at the [`via` keymap](../via) for a more feature-rich layout. - -The Charydbis (4x6) default keymap is inspired from the original [Dactyl Manuform](../../../../../handwired/dactyl_manuform) default keymap. - -This layout supports RGB matrix. However, due to space constraints on the MCU, only a limited number of effect can be enabled at once. Look at the `config.h` file and enable your favorite effect. diff --git a/keyboards/bastardkb/charybdis/4x6/readme.md b/keyboards/bastardkb/charybdis/4x6/readme.md deleted file mode 100644 index af2396cd6d..0000000000 --- a/keyboards/bastardkb/charybdis/4x6/readme.md +++ /dev/null @@ -1,15 +0,0 @@ -# Charybdis (4x6) - -An ergonomic keyboard with integrated trackball. - -The Charybdis is available in 4x6 and 3x5 form factor at [bastardkb.com](https://bastardkb.com). - -## Keymaps - -### [`default`](keymaps/default) - -A simple QWERTY layout with 3 layers. - -### [`via`](keymaps/via) - -Same as the [default](keymaps/default) keymap, but with VIA support. diff --git a/keyboards/bastardkb/charybdis/4x6/rules.mk b/keyboards/bastardkb/charybdis/4x6/rules.mk new file mode 100644 index 0000000000..fab9162dc6 --- /dev/null +++ b/keyboards/bastardkb/charybdis/4x6/rules.mk @@ -0,0 +1 @@ +POINTING_DEVICE_DRIVER = pmw3360 diff --git a/keyboards/bastardkb/charybdis/4x6/v1/elitec/config.h b/keyboards/bastardkb/charybdis/4x6/v1/elitec/config.h deleted file mode 100644 index dc0c6e4e03..0000000000 --- a/keyboards/bastardkb/charybdis/4x6/v1/elitec/config.h +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright 2020 Christopher Courtney (@drashna) - * 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 - -/* Handedness. */ -#define MASTER_RIGHT - -/* PMW3360 settings. */ -#define POINTING_DEVICE_CS_PIN B0 diff --git a/keyboards/bastardkb/charybdis/4x6/v1/elitec/keyboard.json b/keyboards/bastardkb/charybdis/4x6/v1/elitec/keyboard.json deleted file mode 100644 index 6b0caff82e..0000000000 --- a/keyboards/bastardkb/charybdis/4x6/v1/elitec/keyboard.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "keyboard_name": "Charybdis (4x6) Elite-C", - "usb": { - "device_version": "1.0.0" - }, - "features": { - "bootmagic": true, - "mousekey": false, - "extrakey": true, - "rgb_matrix": true, - "pointing_device": true - }, - "build": { - "lto": true - }, - "ws2812": { - "pin": "D3" - }, - "rgb_matrix": { - "driver": "ws2812" - }, - "matrix_pins": { - "cols": ["D5", "C7", "F0", "D7", "E6", "B4"], - "rows": ["F1", "B7", "C6", "D4", "B5"] - }, - "diode_direction": "ROW2COL", - "split": { - "enabled": true, - "serial": { - "pin": "D2" - }, - "matrix_pins": { - "right": { - "cols": ["F1", "C7", "B7", "D7", "E6", "B4"], - "rows": ["D5", "F0", "C6", "D4", "B5"] - } - } - }, - "processor": "atmega32u4", - "bootloader": "atmel-dfu" -} diff --git a/keyboards/bastardkb/charybdis/4x6/v1/elitec/rules.mk b/keyboards/bastardkb/charybdis/4x6/v1/elitec/rules.mk deleted file mode 100644 index 0e4d15d5bc..0000000000 --- a/keyboards/bastardkb/charybdis/4x6/v1/elitec/rules.mk +++ /dev/null @@ -1,4 +0,0 @@ -AUDIO_SUPPORTED = no # Audio is not supported. - -POINTING_DEVICE_DRIVER = pmw3360 -MOUSE_SHARED_EP = no # Unify multiple HID interfaces into a single Endpoint diff --git a/keyboards/bastardkb/charybdis/4x6/v2/elitec/config.h b/keyboards/bastardkb/charybdis/4x6/v2/elitec/config.h deleted file mode 100644 index 3b91322247..0000000000 --- a/keyboards/bastardkb/charybdis/4x6/v2/elitec/config.h +++ /dev/null @@ -1,24 +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 - -/* Handedness. */ -#define MASTER_RIGHT - -/* PMW3360 settings. */ -#define POINTING_DEVICE_CS_PIN F0 diff --git a/keyboards/bastardkb/charybdis/4x6/v2/elitec/keyboard.json b/keyboards/bastardkb/charybdis/4x6/v2/elitec/keyboard.json deleted file mode 100644 index 4163f9d476..0000000000 --- a/keyboards/bastardkb/charybdis/4x6/v2/elitec/keyboard.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "keyboard_name": "Charybdis (4x6) Elite-C", - "usb": { - "device_version": "2.0.0" - }, - "features": { - "bootmagic": true, - "mousekey": false, - "extrakey": true, - "rgb_matrix": true, - "pointing_device": true - }, - "build": { - "lto": true - }, - "ws2812": { - "pin": "D3" - }, - "rgb_matrix": { - "driver": "ws2812" - }, - "matrix_pins": { - "cols": ["F6", "F5", "B6", "D7", "E6", "B4"], - "rows": ["F4", "F7", "C6", "D4", "B5"] - }, - "diode_direction": "ROW2COL", - "split": { - "enabled": true, - "serial": { - "pin": "D2" - } - }, - "processor": "atmega32u4", - "bootloader": "atmel-dfu" -} diff --git a/keyboards/bastardkb/charybdis/4x6/v2/elitec/rules.mk b/keyboards/bastardkb/charybdis/4x6/v2/elitec/rules.mk deleted file mode 100644 index 0e4d15d5bc..0000000000 --- a/keyboards/bastardkb/charybdis/4x6/v2/elitec/rules.mk +++ /dev/null @@ -1,4 +0,0 @@ -AUDIO_SUPPORTED = no # Audio is not supported. - -POINTING_DEVICE_DRIVER = pmw3360 -MOUSE_SHARED_EP = no # Unify multiple HID interfaces into a single Endpoint diff --git a/keyboards/bastardkb/charybdis/4x6/v2/splinky_2/config.h b/keyboards/bastardkb/charybdis/4x6/v2/splinky_2/config.h deleted file mode 100644 index e6e2a4f216..0000000000 --- a/keyboards/bastardkb/charybdis/4x6/v2/splinky_2/config.h +++ /dev/null @@ -1,38 +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 - -/* Handedness. */ -#define MASTER_RIGHT - -// To use the handedness pin, resistors need to be installed on the adapter PCB. -// If so, uncomment the following code, and undefine MASTER_RIGHT above. -// #define SPLIT_HAND_PIN GP13 -// #define SPLIT_HAND_PIN_LOW_IS_LEFT // High -> right, Low -> left. - -/* SPI & PMW3360 settings. */ -#define SPI_DRIVER SPID0 -#define SPI_SCK_PIN GP18 -#define SPI_MISO_PIN GP20 -#define SPI_MOSI_PIN GP19 -#define POINTING_DEVICE_CS_PIN GP14 - -/* Reset. */ -#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET -#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_LED GP17 -#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 1000U diff --git a/keyboards/bastardkb/charybdis/4x6/v2/splinky_2/keyboard.json b/keyboards/bastardkb/charybdis/4x6/v2/splinky_2/keyboard.json deleted file mode 100644 index 0da7d0b442..0000000000 --- a/keyboards/bastardkb/charybdis/4x6/v2/splinky_2/keyboard.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "keyboard_name": "Charybdis (4x6) Splinky", - "usb": { - "device_version": "2.0.0" - }, - "features": { - "bootmagic": true, - "mousekey": false, - "extrakey": true, - "rgb_matrix": true, - "pointing_device": true - }, - "rgb_matrix": { - "driver": "ws2812" - }, - "matrix_pins": { - "cols": ["GP27", "GP28", "GP15", "GP6", "GP7", "GP8"], - "rows": ["GP29", "GP26", "GP5", "GP4", "GP9"] - }, - "diode_direction": "ROW2COL", - "split": { - "enabled": true, - "serial": { - "pin": "GP1" - } - }, - "ws2812": { - "pin": "GP0", - "driver": "vendor" - }, - "processor": "RP2040", - "bootloader": "rp2040" -} diff --git a/keyboards/bastardkb/charybdis/4x6/v2/splinky_2/mcuconf.h b/keyboards/bastardkb/charybdis/4x6/v2/splinky_2/mcuconf.h deleted file mode 100644 index 6aaf31428c..0000000000 --- a/keyboards/bastardkb/charybdis/4x6/v2/splinky_2/mcuconf.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 - -#include_next - -#undef RP_SPI_USE_SPI0 -#define RP_SPI_USE_SPI0 TRUE diff --git a/keyboards/bastardkb/charybdis/4x6/v2/splinky_2/readme.md b/keyboards/bastardkb/charybdis/4x6/v2/splinky_2/readme.md deleted file mode 100644 index 662eb5825c..0000000000 --- a/keyboards/bastardkb/charybdis/4x6/v2/splinky_2/readme.md +++ /dev/null @@ -1,5 +0,0 @@ -# Splinky controller - -The splinky is a Pro-Micro/Elite-C replacement with USB-C and RP2040. - -See [plut0nium/0xB2](https://github.com/plut0nium/0xB2/#releases) to figure out the right version for you (v2 or v3). diff --git a/keyboards/bastardkb/charybdis/4x6/v2/splinky_2/rules.mk b/keyboards/bastardkb/charybdis/4x6/v2/splinky_2/rules.mk deleted file mode 100644 index db29cb6789..0000000000 --- a/keyboards/bastardkb/charybdis/4x6/v2/splinky_2/rules.mk +++ /dev/null @@ -1,5 +0,0 @@ -AUDIO_SUPPORTED = no # Audio is not supported - -POINTING_DEVICE_DRIVER = pmw3360 - -SERIAL_DRIVER = vendor diff --git a/keyboards/bastardkb/charybdis/4x6/v2/splinky_3/config.h b/keyboards/bastardkb/charybdis/4x6/v2/splinky_3/config.h deleted file mode 100644 index ee7745d41e..0000000000 --- a/keyboards/bastardkb/charybdis/4x6/v2/splinky_3/config.h +++ /dev/null @@ -1,38 +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 - -/* Handedness. */ -#define MASTER_RIGHT - -// To use the handedness pin, resistors need to be installed on the adapter PCB. -// If so, uncomment the following code, and undefine MASTER_RIGHT above. -// #define SPLIT_HAND_PIN GP15 -// #define SPLIT_HAND_PIN_LOW_IS_LEFT // High -> right, Low -> left. - -/* SPI & PMW3360 settings. */ -#define SPI_DRIVER SPID0 -#define SPI_SCK_PIN GP22 -#define SPI_MISO_PIN GP20 -#define SPI_MOSI_PIN GP23 -#define POINTING_DEVICE_CS_PIN GP16 - -/* Reset. */ -#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET -#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_LED GP17 -#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 1000U diff --git a/keyboards/bastardkb/charybdis/4x6/v2/splinky_3/keyboard.json b/keyboards/bastardkb/charybdis/4x6/v2/splinky_3/keyboard.json deleted file mode 100644 index 026684eb92..0000000000 --- a/keyboards/bastardkb/charybdis/4x6/v2/splinky_3/keyboard.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "keyboard_name": "Charybdis (4x6) Splinky", - "usb": { - "device_version": "2.0.0" - }, - "features": { - "bootmagic": true, - "mousekey": false, - "extrakey": true, - "rgb_matrix": true, - "pointing_device": true - }, - "rgb_matrix": { - "driver": "ws2812" - }, - "matrix_pins": { - "cols": ["GP27", "GP28", "GP21", "GP6", "GP7", "GP8"], - "rows": ["GP29", "GP26", "GP5", "GP4", "GP9"] - }, - "diode_direction": "ROW2COL", - "split": { - "enabled": true, - "serial": { - "pin": "GP1" - } - }, - "ws2812": { - "pin": "GP0", - "driver": "vendor" - }, - "processor": "RP2040", - "bootloader": "rp2040" -} diff --git a/keyboards/bastardkb/charybdis/4x6/v2/splinky_3/mcuconf.h b/keyboards/bastardkb/charybdis/4x6/v2/splinky_3/mcuconf.h deleted file mode 100644 index 6aaf31428c..0000000000 --- a/keyboards/bastardkb/charybdis/4x6/v2/splinky_3/mcuconf.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 - -#include_next - -#undef RP_SPI_USE_SPI0 -#define RP_SPI_USE_SPI0 TRUE diff --git a/keyboards/bastardkb/charybdis/4x6/v2/splinky_3/readme.md b/keyboards/bastardkb/charybdis/4x6/v2/splinky_3/readme.md deleted file mode 100644 index 662eb5825c..0000000000 --- a/keyboards/bastardkb/charybdis/4x6/v2/splinky_3/readme.md +++ /dev/null @@ -1,5 +0,0 @@ -# Splinky controller - -The splinky is a Pro-Micro/Elite-C replacement with USB-C and RP2040. - -See [plut0nium/0xB2](https://github.com/plut0nium/0xB2/#releases) to figure out the right version for you (v2 or v3). diff --git a/keyboards/bastardkb/charybdis/4x6/v2/splinky_3/rules.mk b/keyboards/bastardkb/charybdis/4x6/v2/splinky_3/rules.mk deleted file mode 100644 index db29cb6789..0000000000 --- a/keyboards/bastardkb/charybdis/4x6/v2/splinky_3/rules.mk +++ /dev/null @@ -1,5 +0,0 @@ -AUDIO_SUPPORTED = no # Audio is not supported - -POINTING_DEVICE_DRIVER = pmw3360 - -SERIAL_DRIVER = vendor diff --git a/keyboards/bastardkb/charybdis/4x6/v2/stemcell/config.h b/keyboards/bastardkb/charybdis/4x6/v2/stemcell/config.h deleted file mode 100644 index 3efb323302..0000000000 --- a/keyboards/bastardkb/charybdis/4x6/v2/stemcell/config.h +++ /dev/null @@ -1,52 +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 - -/* Handedness. */ -#define MASTER_RIGHT - -// To use the handedness pin, resistors need to be installed on the adapter PCB. -// If so, uncomment the following code, and undefine MASTER_RIGHT above. -// #define A0 PAL_LINE(GPIOA, 0) -// #define SPLIT_HAND_PIN A0 -// #define SPLIT_HAND_PIN_LOW_IS_LEFT // High -> right, Low -> left. - -/* RGB settings. */ -#define WS2812_PWM_DRIVER PWMD2 -#define WS2812_PWM_CHANNEL 4 -#define WS2812_PWM_PAL_MODE 1 -#define WS2812_PWM_DMA_STREAM STM32_DMA1_STREAM7 -#define WS2812_PWM_DMA_CHANNEL 3 - -/* CRC. */ -#define CRC8_USE_TABLE -#define CRC8_OPTIMIZE_SPEED - -/* SPI config for 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 - -/* PMW3360 settings. */ -#define POINTING_DEVICE_CS_PIN A1 -#define PMW3360_CS_MODE 3 -#define PMW3360_CS_DIVISOR 64 diff --git a/keyboards/bastardkb/charybdis/4x6/v2/stemcell/halconf.h b/keyboards/bastardkb/charybdis/4x6/v2/stemcell/halconf.h deleted file mode 100644 index 0397de50b7..0000000000 --- a/keyboards/bastardkb/charybdis/4x6/v2/stemcell/halconf.h +++ /dev/null @@ -1,24 +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 - -#define HAL_USE_PWM TRUE -#define HAL_USE_SERIAL TRUE -#define HAL_USE_SPI TRUE - -#include_next diff --git a/keyboards/bastardkb/charybdis/4x6/v2/stemcell/keyboard.json b/keyboards/bastardkb/charybdis/4x6/v2/stemcell/keyboard.json deleted file mode 100644 index ed929f7fb7..0000000000 --- a/keyboards/bastardkb/charybdis/4x6/v2/stemcell/keyboard.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "keyboard_name": "Charybdis (4x6) STeMCell", - "usb": { - "device_version": "2.0.0", - "shared_endpoint": { - "keyboard": true - } - }, - "features": { - "bootmagic": true, - "mousekey": true, - "extrakey": true, - "rgb_matrix": true, - "pointing_device": true - }, - "rgb_matrix": { - "driver": "ws2812" - }, - "ws2812": { - "pin": "A2", - "driver": "pwm" - }, - "build": { - "debounce_type": "asym_eager_defer_pk" - }, - "matrix_pins": { - "cols": ["B1", "B2", "A4", "B4", "B5", "B8"], - "rows": ["B10", "B0", "B3", "A15", "B9"] - }, - "diode_direction": "ROW2COL", - "split": { - "enabled": true, - "serial": { - "pin": "A3" - } - }, - "development_board": "stemcell" -} diff --git a/keyboards/bastardkb/charybdis/4x6/v2/stemcell/mcuconf.h b/keyboards/bastardkb/charybdis/4x6/v2/stemcell/mcuconf.h deleted file mode 100644 index 17a46d8f95..0000000000 --- a/keyboards/bastardkb/charybdis/4x6/v2/stemcell/mcuconf.h +++ /dev/null @@ -1,32 +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 - -#include_next - -#undef STM32_SPI_USE_SPI1 -#define STM32_SPI_USE_SPI1 TRUE - -#undef STM32_SERIAL_USE_USART1 -#define STM32_SERIAL_USE_USART1 FALSE - -#undef STM32_PWM_USE_TIM2 -#define STM32_PWM_USE_TIM2 TRUE - -#undef STM32_ST_USE_TIMER -#define STM32_ST_USE_TIMER 5 diff --git a/keyboards/bastardkb/charybdis/4x6/v2/stemcell/rules.mk b/keyboards/bastardkb/charybdis/4x6/v2/stemcell/rules.mk deleted file mode 100644 index 4373b9c33d..0000000000 --- a/keyboards/bastardkb/charybdis/4x6/v2/stemcell/rules.mk +++ /dev/null @@ -1,6 +0,0 @@ -AUDIO_SUPPORTED = no # Audio is not supported - -POINTING_DEVICE_DRIVER = pmw3360 -MOUSE_SHARED_EP = no # Unify multiple HID interfaces into a single Endpoint - -SERIAL_DRIVER = usart diff --git a/keyboards/bastardkb/charybdis/charybdis.c b/keyboards/bastardkb/charybdis/charybdis.c index 2251b24758..bd916844b8 100644 --- a/keyboards/bastardkb/charybdis/charybdis.c +++ b/keyboards/bastardkb/charybdis/charybdis.c @@ -1,22 +1,7 @@ -/* - * Copyright 2020 Christopher Courtney (@drashna) - * 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 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 . - */ - +// Copyright 2020 Christopher Courtney (@drashna) +// Copyright 2021 Quentin LEBASTARD +// Copyright 2021 Charly Delay (@0xcharly) +// SPDX-License-Identifier: GPL-2.0-or-later #include "charybdis.h" #include "transactions.h" #include diff --git a/keyboards/bastardkb/charybdis/charybdis.h b/keyboards/bastardkb/charybdis/charybdis.h index a8ee639d9a..afa75e981f 100644 --- a/keyboards/bastardkb/charybdis/charybdis.h +++ b/keyboards/bastardkb/charybdis/charybdis.h @@ -1,21 +1,6 @@ -/* - * 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 . - */ - +// Copyright 2021 Quentin LEBASTARD +// Copyright 2021 Charly Delay (@0xcharly) +// SPDX-License-Identifier: GPL-2.0-or-later #pragma once #include "quantum.h" diff --git a/keyboards/bastardkb/charybdis/config.h b/keyboards/bastardkb/charybdis/config.h index ebbddecf57..f4c017875b 100644 --- a/keyboards/bastardkb/charybdis/config.h +++ b/keyboards/bastardkb/charybdis/config.h @@ -1,25 +1,8 @@ -/* - * 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 . - */ - +// Copyright 2021 Quentin LEBASTARD +// Copyright 2021 Charly Delay (@0xcharly) +// SPDX-License-Identifier: GPL-2.0-or-later #pragma once -/* Pointing device configuration. */ - // Enable use of pointing device on slave split. #define SPLIT_POINTING_ENABLE @@ -32,46 +15,5 @@ // Invert X axis on mouse reports. #define POINTING_DEVICE_INVERT_X -/* RGB matrix support. */ -#ifdef RGB_MATRIX_ENABLE -# 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 -#endif +/* Trackball angle adjustment. */ +#define ROTATIONAL_TRANSFORM_ANGLE -25 diff --git a/keyboards/bastardkb/charybdis/info.json b/keyboards/bastardkb/charybdis/info.json index 6a4ed7c9f7..4d7545d40a 100644 --- a/keyboards/bastardkb/charybdis/info.json +++ b/keyboards/bastardkb/charybdis/info.json @@ -1,7 +1,50 @@ { + "url": "https://github.com/Bastardkb/Charybdis", "rgb_matrix": { "animations": { - "cycle_left_right": 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, + "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 }, "default": { "speed": 32, @@ -10,10 +53,11 @@ "sleep": true }, "split": { + "enabled": true, "transport": { "sync": { "matrix_state": true } } } -} \ No newline at end of file +} diff --git a/keyboards/bastardkb/charybdis/post_config.h b/keyboards/bastardkb/charybdis/post_config.h index 4cfd24c4b6..5f5045f04e 100644 --- a/keyboards/bastardkb/charybdis/post_config.h +++ b/keyboards/bastardkb/charybdis/post_config.h @@ -1,23 +1,8 @@ -/* - * Copyright 2012 Jun Wako - * Copyright 2015 Jack Humbert - * 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 . - */ - +// Copyright 2012 Jun Wako +// Copyright 2015 Jack Humbert +// Copyright 2021 Quentin LEBASTARD +// Copyright 2021 Charly Delay (@0xcharly) +// SPDX-License-Identifier: GPL-2.0-or-later #pragma once // Enable syncing of charybdis config diff --git a/keyboards/bastardkb/dilemma/3x5_2/assembled/config.h b/keyboards/bastardkb/dilemma/3x5_2/assembled/config.h index 4366a8a3e9..18ce680709 100644 --- a/keyboards/bastardkb/dilemma/3x5_2/assembled/config.h +++ b/keyboards/bastardkb/dilemma/3x5_2/assembled/config.h @@ -1,37 +1,12 @@ -/** - * 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 . - */ - +// Copyright 2022 Charly Delay (@0xcharly) +// SPDX-License-Identifier: GPL-2.0-or-later #pragma once -/* Handedness. */ -#define SPLIT_HAND_PIN GP29 -#define SPLIT_HAND_PIN_LOW_IS_LEFT // High -> right, Low -> left. - -/* CRC. */ -#define CRC8_USE_TABLE -#define CRC8_OPTIMIZE_SPEED - -/* Cirque trackpad. */ #define SPI_SCK_PIN GP22 #define SPI_MOSI_PIN GP23 #define SPI_MISO_PIN GP20 #define POINTING_DEVICE_CS_PIN GP21 -/* Reset. */ #define RP2040_BOOTLOADER_DOUBLE_TAP_RESET #define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_LED GP17 #define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 1000U diff --git a/keyboards/bastardkb/dilemma/3x5_2/assembled/halconf.h b/keyboards/bastardkb/dilemma/3x5_2/assembled/halconf.h index 57d15376d6..7f198be26b 100644 --- a/keyboards/bastardkb/dilemma/3x5_2/assembled/halconf.h +++ b/keyboards/bastardkb/dilemma/3x5_2/assembled/halconf.h @@ -1,20 +1,5 @@ -/** - * 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 . - */ - +// Copyright 2022 Charly Delay (@0xcharly) +// SPDX-License-Identifier: GPL-2.0-or-later #pragma once #define HAL_USE_SPI TRUE diff --git a/keyboards/bastardkb/dilemma/3x5_2/assembled/keyboard.json b/keyboards/bastardkb/dilemma/3x5_2/assembled/keyboard.json index 366deac293..c388855691 100644 --- a/keyboards/bastardkb/dilemma/3x5_2/assembled/keyboard.json +++ b/keyboards/bastardkb/dilemma/3x5_2/assembled/keyboard.json @@ -1,22 +1,17 @@ { - "keyboard_name": "Dilemma (3x5+2) Assembled", - "features": { - "bootmagic": true, - "mousekey": true, - "extrakey": true, - "pointing_device": true - }, + "bootloader": "rp2040", "matrix_pins": { "cols": ["GP8", "GP9", "GP7", "GP6", "GP27"], "rows": ["GP4", "GP5", "GP28", "GP26"] }, - "diode_direction": "ROW2COL", + "processor": "RP2040", "split": { - "enabled": true, + "handedness": { + "pin": "GP29" + }, "serial": { + "driver": "vendor", "pin": "GP1" } - }, - "processor": "RP2040", - "bootloader": "rp2040" + } } diff --git a/keyboards/bastardkb/dilemma/3x5_2/assembled/mcuconf.h b/keyboards/bastardkb/dilemma/3x5_2/assembled/mcuconf.h index 52b726a56d..71faa87a0c 100644 --- a/keyboards/bastardkb/dilemma/3x5_2/assembled/mcuconf.h +++ b/keyboards/bastardkb/dilemma/3x5_2/assembled/mcuconf.h @@ -1,20 +1,5 @@ -/** - * 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 . - */ - +// Copyright 2022 Charly Delay (@0xcharly) +// SPDX-License-Identifier: GPL-2.0-or-later #pragma once #include_next diff --git a/keyboards/bastardkb/dilemma/3x5_2/assembled/rules.mk b/keyboards/bastardkb/dilemma/3x5_2/assembled/rules.mk index 48216ee8b7..fb5d649735 100644 --- a/keyboards/bastardkb/dilemma/3x5_2/assembled/rules.mk +++ b/keyboards/bastardkb/dilemma/3x5_2/assembled/rules.mk @@ -1,7 +1 @@ -AUDIO_SUPPORTED = no # Audio is not supported -RGB_MATRIX_SUPPORTED = no # RGB matrix is supported and enabled by default -RGBLIGHT_SUPPORTED = no # RGB underglow is supported, but not enabled by default - -SERIAL_DRIVER = vendor - -POINTING_DEVICE_DRIVER = cirque_pinnacle_spi # Assembled version uses SPI. +POINTING_DEVICE_DRIVER = cirque_pinnacle_spi diff --git a/keyboards/bastardkb/dilemma/3x5_2/config.h b/keyboards/bastardkb/dilemma/3x5_2/config.h new file mode 100644 index 0000000000..cd7f368bd3 --- /dev/null +++ b/keyboards/bastardkb/dilemma/3x5_2/config.h @@ -0,0 +1,5 @@ +// Copyright 2022 Charly Delay (@0xcharly) +// SPDX-License-Identifier: GPL-2.0-or-later +#pragma once + +#define SPLIT_HAND_PIN_LOW_IS_LEFT diff --git a/keyboards/bastardkb/dilemma/3x5_2/info.json b/keyboards/bastardkb/dilemma/3x5_2/info.json index bfd12e81d0..9e34cac13e 100644 --- a/keyboards/bastardkb/dilemma/3x5_2/info.json +++ b/keyboards/bastardkb/dilemma/3x5_2/info.json @@ -1,4 +1,15 @@ { + "keyboard_name": "Dilemma 3x5+2", + "diode_direction": "ROW2COL", + "features": { + "bootmagic": true, + "extrakey": true, + "mousekey": true, + "pointing_device": true + }, + "split": { + "enabled": true + }, "usb": { "device_version": "1.0.0", "pid": "0x1835" @@ -12,40 +23,33 @@ {"matrix": [0, 2], "x": 2, "y": 0}, {"matrix": [0, 3], "x": 3, "y": 0}, {"matrix": [0, 4], "x": 4, "y": 0}, - {"matrix": [4, 4], "x": 11, "y": 0}, {"matrix": [4, 3], "x": 12, "y": 0}, {"matrix": [4, 2], "x": 13, "y": 0}, {"matrix": [4, 1], "x": 14, "y": 0}, {"matrix": [4, 0], "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": [5, 4], "x": 11, "y": 1}, {"matrix": [5, 3], "x": 12, "y": 1}, {"matrix": [5, 2], "x": 13, "y": 1}, {"matrix": [5, 1], "x": 14, "y": 1}, {"matrix": [5, 0], "x": 15, "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, 4], "x": 11, "y": 2}, {"matrix": [6, 3], "x": 12, "y": 2}, {"matrix": [6, 2], "x": 13, "y": 2}, {"matrix": [6, 1], "x": 14, "y": 2}, {"matrix": [6, 0], "x": 15, "y": 2}, - {"matrix": [3, 0], "x": 4, "y": 3}, {"matrix": [3, 2], "x": 5, "y": 3}, - {"matrix": [7, 2], "x": 10, "y": 3}, {"matrix": [7, 0], "x": 11, "y": 3} ] diff --git a/keyboards/bastardkb/dilemma/3x5_2/keymaps/default/keymap.c b/keyboards/bastardkb/dilemma/3x5_2/keymaps/default/keymap.c deleted file mode 100644 index 0f9aff0a85..0000000000 --- a/keyboards/bastardkb/dilemma/3x5_2/keymaps/default/keymap.c +++ /dev/null @@ -1,84 +0,0 @@ -/** - * Copyright 2022 Charly Delay (@0xcharly) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include QMK_KEYBOARD_H - -enum charybdis_keymap_layers { - LAYER_BASE = 0, - LAYER_NAV, - LAYER_SYM, - LAYER_NUM, -}; - -#define NAV MO(LAYER_NAV) -#define SYM MO(LAYER_SYM) - -// clang-format off -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [LAYER_BASE] = LAYOUT_split_3x5_2( - // ╭─────────────────────────────────────────────╮ ╭─────────────────────────────────────────────╮ - KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, - // ├─────────────────────────────────────────────┤ ├─────────────────────────────────────────────┤ - 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, - // ╰─────────────────────────────────────────────┤ ├─────────────────────────────────────────────╯ - NAV, CW_TOGG, KC_SPC, SYM - // ╰──────────────────╯ ╰──────────────────╯ - ), - - [LAYER_NAV] = LAYOUT_split_3x5_2( - // ╭─────────────────────────────────────────────╮ ╭─────────────────────────────────────────────╮ - KC_TAB, XXXXXXX, XXXXXXX, XXXXXXX, KC_VOLU, XXXXXXX, KC_HOME, KC_UP, KC_END, KC_DEL, - // ├─────────────────────────────────────────────┤ ├─────────────────────────────────────────────┤ - KC_LSFT, KC_LCTL, KC_LALT, KC_RGUI, KC_VOLD, XXXXXXX, KC_LEFT, KC_DOWN, KC_RGHT, KC_BSPC, - // ├─────────────────────────────────────────────┤ ├─────────────────────────────────────────────┤ - QK_BOOT, EE_CLR, KC_MPRV, KC_MNXT, KC_MPLY, XXXXXXX, KC_PGDN, KC_PGUP, XXXXXXX, KC_ENT, - // ╰─────────────────────────────────────────────┤ ├─────────────────────────────────────────────╯ - _______, KC_LSFT, KC_SPC, _______ - // ╰──────────────────╯ ╰──────────────────╯ - ), - - [LAYER_SYM] = LAYOUT_split_3x5_2( - // ╭─────────────────────────────────────────────╮ ╭─────────────────────────────────────────────╮ - KC_ESC, KC_LBRC, KC_LCBR, KC_LPRN, KC_TILD, KC_CIRC, KC_RPRN, KC_RCBR, KC_RBRC, KC_GRV, - // ├─────────────────────────────────────────────┤ ├─────────────────────────────────────────────┤ - KC_MINS, KC_ASTR, KC_EQL, KC_UNDS, KC_DLR, KC_HASH, KC_RGUI, KC_RALT, KC_RCTL, KC_RSFT, - // ├─────────────────────────────────────────────┤ ├─────────────────────────────────────────────┤ - KC_PLUS, KC_PIPE, KC_AT, KC_SLSH, KC_PERC, _______, KC_BSLS, KC_AMPR, KC_QUES, KC_EXLM, - // ╰─────────────────────────────────────────────┤ ├─────────────────────────────────────────────╯ - _______, KC_LSFT, KC_SPC, _______ - // ╰──────────────────╯ ╰──────────────────╯ - ), - - [LAYER_NUM] = LAYOUT_split_3x5_2( - // ╭─────────────────────────────────────────────╮ ╭─────────────────────────────────────────────╮ - KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, - // ├─────────────────────────────────────────────┤ ├─────────────────────────────────────────────┤ - KC_LSFT, KC_LCTL, KC_LALT, KC_LGUI, KC_F11, KC_F12, KC_RGUI, KC_RALT, KC_RCTL, KC_RSFT, - // ├─────────────────────────────────────────────┤ ├─────────────────────────────────────────────┤ - KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, - // ╰─────────────────────────────────────────────┤ ├─────────────────────────────────────────────╯ - _______, KC_LSFT, KC_SPC, _______ - // ╰──────────────────╯ ╰──────────────────╯ - ), -}; -// clang-format on - -layer_state_t layer_state_set_user(layer_state_t state) { - return update_tri_layer_state(state, LAYER_NAV, LAYER_SYM, LAYER_NUM); -} diff --git a/keyboards/bastardkb/dilemma/3x5_2/keymaps/default/keymap.json b/keyboards/bastardkb/dilemma/3x5_2/keymaps/default/keymap.json new file mode 100644 index 0000000000..e2387d879f --- /dev/null +++ b/keyboards/bastardkb/dilemma/3x5_2/keymaps/default/keymap.json @@ -0,0 +1,26 @@ +{ + "keyboard": "bastardkb/dilemma/3x5_2/promicro", + "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", + "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", + "MO(1)", "KC_SPC", "KC_ENT", "MO(2)" + ], + [ + "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", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", + "EE_CLR", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", + "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", + "_______", "_______", "_______", "_______" + ] + ] +} + diff --git a/keyboards/bastardkb/dilemma/3x5_2/promicro/keyboard.json b/keyboards/bastardkb/dilemma/3x5_2/promicro/keyboard.json new file mode 100644 index 0000000000..55ce3cdbf1 --- /dev/null +++ b/keyboards/bastardkb/dilemma/3x5_2/promicro/keyboard.json @@ -0,0 +1,15 @@ +{ + "development_board": "elite_c", + "matrix_pins": { + "cols": ["B4", "B5", "E6", "D7", "F6"], + "rows": ["D4", "C6", "F5", "F7"] + }, + "split": { + "handedness": { + "pin": "F4" + }, + "serial": { + "pin": "D2" + } + } +} diff --git a/keyboards/bastardkb/dilemma/3x5_2/promicro/rules.mk b/keyboards/bastardkb/dilemma/3x5_2/promicro/rules.mk new file mode 100644 index 0000000000..fedac72e2e --- /dev/null +++ b/keyboards/bastardkb/dilemma/3x5_2/promicro/rules.mk @@ -0,0 +1 @@ +POINTING_DEVICE_DRIVER = cirque_pinnacle_i2c diff --git a/keyboards/bastardkb/dilemma/3x5_2/splinky/config.h b/keyboards/bastardkb/dilemma/3x5_2/splinky/config.h deleted file mode 100644 index fd7bb0f107..0000000000 --- a/keyboards/bastardkb/dilemma/3x5_2/splinky/config.h +++ /dev/null @@ -1,37 +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 - -/* Handedness. */ -#define MASTER_RIGHT - -// To use the handedness pin, resistors need to be installed on the PCB. -// If so, uncomment the following code, and undefine MASTER_RIGHT above. -//#define SPLIT_HAND_PIN GP29 -// If you've soldered the handedness pull-up on the upper side instead of the -// left one, uncomment the following line. -//#define SPLIT_HAND_PIN_LOW_IS_LEFT // High -> right, Low -> left. - -/* CRC. */ -#define CRC8_USE_TABLE -#define CRC8_OPTIMIZE_SPEED - -/* Reset. */ -#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET -#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_LED GP17 -#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 1000U diff --git a/keyboards/bastardkb/dilemma/3x5_2/splinky/halconf.h b/keyboards/bastardkb/dilemma/3x5_2/splinky/halconf.h deleted file mode 100644 index 2e098f5113..0000000000 --- a/keyboards/bastardkb/dilemma/3x5_2/splinky/halconf.h +++ /dev/null @@ -1,21 +0,0 @@ -/* Copyright 2022 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_I2C TRUE - -#include_next diff --git a/keyboards/bastardkb/dilemma/3x5_2/splinky/keyboard.json b/keyboards/bastardkb/dilemma/3x5_2/splinky/keyboard.json deleted file mode 100644 index e954f4f657..0000000000 --- a/keyboards/bastardkb/dilemma/3x5_2/splinky/keyboard.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "keyboard_name": "Dilemma (3x5+2) Splinky", - "features": { - "bootmagic": true, - "mousekey": true, - "extrakey": true, - "pointing_device": true - }, - "matrix_pins": { - "cols": ["GP8", "GP9", "GP7", "GP6", "GP27"], - "rows": ["GP4", "GP5", "GP28", "GP26"] - }, - "diode_direction": "ROW2COL", - "split": { - "enabled": true, - "serial": { - "pin": "GP1" - } - }, - "processor": "RP2040", - "bootloader": "rp2040" -} diff --git a/keyboards/bastardkb/dilemma/3x5_2/splinky/mcuconf.h b/keyboards/bastardkb/dilemma/3x5_2/splinky/mcuconf.h deleted file mode 100644 index c748d941e9..0000000000 --- a/keyboards/bastardkb/dilemma/3x5_2/splinky/mcuconf.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 - -#include_next - -#undef RP_I2C_USE_I2C1 -#define RP_I2C_USE_I2C1 TRUE diff --git a/keyboards/bastardkb/dilemma/3x5_2/splinky/rules.mk b/keyboards/bastardkb/dilemma/3x5_2/splinky/rules.mk deleted file mode 100644 index 942028da2c..0000000000 --- a/keyboards/bastardkb/dilemma/3x5_2/splinky/rules.mk +++ /dev/null @@ -1,7 +0,0 @@ -AUDIO_SUPPORTED = no # Audio is not supported -RGB_MATRIX_SUPPORTED = no # RGB matrix is supported and enabled by default -RGBLIGHT_SUPPORTED = no # RGB underglow is supported, but not enabled by default - -SERIAL_DRIVER = vendor - -POINTING_DEVICE_DRIVER = cirque_pinnacle_i2c # DIY version uses I2C. diff --git a/keyboards/bastardkb/dilemma/3x5_3/3x5_3.c b/keyboards/bastardkb/dilemma/3x5_3/3x5_3.c index a186139835..444e479d1a 100644 --- a/keyboards/bastardkb/dilemma/3x5_3/3x5_3.c +++ b/keyboards/bastardkb/dilemma/3x5_3/3x5_3.c @@ -27,7 +27,7 @@ bool encoder_update_kb(uint8_t index, bool clockwise) { } switch (index) { case 0: // Left-half encoder, mouse scroll. - tap_code(clockwise ? KC_MS_WH_UP : KC_MS_WH_DOWN); + tap_code(clockwise ? MS_WHLU : MS_WHLD); break; case 1: // Right-half encoder, volume control. tap_code(clockwise ? KC_AUDIO_VOL_UP : KC_AUDIO_VOL_DOWN); diff --git a/keyboards/bastardkb/dilemma/4x6_4/4x6_4.c b/keyboards/bastardkb/dilemma/4x6_4/4x6_4.c index 49b24fbd04..3545e60503 100644 --- a/keyboards/bastardkb/dilemma/4x6_4/4x6_4.c +++ b/keyboards/bastardkb/dilemma/4x6_4/4x6_4.c @@ -48,7 +48,7 @@ bool encoder_update_kb(uint8_t index, bool clockwise) { } switch (index) { case 0: // Left-half encoder, mouse scroll. - tap_code(clockwise ? KC_MS_WH_DOWN : KC_MS_WH_UP); + tap_code(clockwise ? MS_WHLD : MS_WHLU); break; case 1: // Right-half encoder, volume control. tap_code(clockwise ? KC_AUDIO_VOL_UP : KC_AUDIO_VOL_DOWN); diff --git a/keyboards/bastardkb/dilemma/dilemma.c b/keyboards/bastardkb/dilemma/dilemma.c index b406e26526..c14345d075 100644 --- a/keyboards/bastardkb/dilemma/dilemma.c +++ b/keyboards/bastardkb/dilemma/dilemma.c @@ -328,22 +328,6 @@ void matrix_init_kb(void) { } #endif // POINTING_DEVICE_ENABLE -// Forward declare RP2040 SDK declaration. -void gpio_init(uint gpio); - -void keyboard_pre_init_kb(void) { - // Ensures that GP26 through GP29 are initialized as digital inputs (as - // opposed to analog inputs). These GPIOs are shared with A0 through A3, - // respectively. On RP2040-B2 and later, the digital inputs are disabled by - // default (see RP2040-E6). - gpio_init(GP26); - gpio_init(GP27); - gpio_init(GP28); - gpio_init(GP29); - - keyboard_pre_init_user(); -} - bool shutdown_kb(bool jump_to_bootloader) { if (!shutdown_user(jump_to_bootloader)) { return false; diff --git a/keyboards/bastardkb/dilemma/readme.md b/keyboards/bastardkb/dilemma/readme.md index 876400ae52..a149853015 100644 --- a/keyboards/bastardkb/dilemma/readme.md +++ b/keyboards/bastardkb/dilemma/readme.md @@ -1,21 +1,31 @@ # Dilemma -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: [Bastardkb Dilemma](https://github.com/Bastardkb/Dilemma) -- Hardware Availability: [Bastardkb.com](https://bastardkb.com/) - -A DIY version of the 3x5_2 PCB with promicro compatible footprint is also available. +* Keyboard Maintainer: [BastardKB](https://github.com/BastardKB) +* Hardware Supported: Dilemma PCBs with integrated or devlopment board* microcontrollers +* Hardware Availability: [GitHub](https://github.com/Bastardkb/Dilemma) Make example for this keyboard (after setting up your build environment): + make bastardkb/dilemma/3x5_2/assembled:default + make bastardkb/dilemma/3x5_2/promicro:default make bastardkb/dilemma/3x5_3:default make bastardkb/dilemma/4x6_4:default Flashing example for this keyboard: + make bastardkb/dilemma/3x5_2/assembled:default:flash + make bastardkb/dilemma/3x5_2/promicro:default:flash make bastardkb/dilemma/3x5_3:default:flash make bastardkb/dilemma/4x6_4:default:flash -See the [keyboard build instructions](http://docs.bastardkb.com/) +Note*: the `dilemma/3x5_2/promicro` revision is the only DIY Dilemma PCB. It is footprint and pin compatible with a Pro Micro development board, and the firmware is written as such it can be used with the Converter Feature. This PCB uses I2C communication for the Cirque Trackpad, opposed to SPI for the variants with an integrated microcontroller. + +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 and plug in the keyboard +* **Physical reset button**: Double-tap the reset button under/near the microcontroller. +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/bastardkb/readme.md b/keyboards/bastardkb/readme.md new file mode 100644 index 0000000000..1b95e09946 --- /dev/null +++ b/keyboards/bastardkb/readme.md @@ -0,0 +1,19 @@ +# Information for Various BastardKB Hardware + +## Handedness Pin on Elite-C Holder +The [Elite-C Holder](https://github.com/Bastardkb/Elite-C-holder) supports setting [handedness by pin](https://docs.qmk.fm/features/split_keyboard#handedness-by-pin) on pin F1 of an Elite-C. + +To utilise this, you must be using an Elite-C compatible development board (with the bottom 5 pins broken out) and install the necessary resistor. The following firmware configuration can be made in your keymap directory: +```Makefile +# rules.mk + +PIN_COMPATIBLE = elite_c +``` + +```c +// config.h +#pragma once + +#define SPLIT_HAND_PIN F1 +#define SPLIT_HAND_PIN_LOW_IS_LEFT +``` diff --git a/keyboards/bastardkb/scylla/blackpill/config.h b/keyboards/bastardkb/scylla/blackpill/config.h index bf7879edbe..c6b40f3e5f 100644 --- a/keyboards/bastardkb/scylla/blackpill/config.h +++ b/keyboards/bastardkb/scylla/blackpill/config.h @@ -1,27 +1,9 @@ -/* - * Copyright 2020 Christopher Courtney (@drashna) - * Copyright 2021 Stefan Kerkmann (@KarlK90) - * 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 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 . - */ - +// Copyright 2020 Christopher Courtney (@drashna) +// Copyright 2021 Stefan Kerkmann (@KarlK90) +// Copyright 2022 Charly Delay (@0xcharly) +// SPDX-License-Identifier: GPL-2.0-or-later #pragma once -/* Handedness. */ -#define SPLIT_HAND_PIN A3 // High -> left, Low -> right. - /* RGB settings. */ #define WS2812_PWM_DRIVER PWMD2 #define WS2812_PWM_CHANNEL 2 @@ -30,13 +12,6 @@ #define WS2812_PWM_DMA_STREAM STM32_DMA1_STREAM1 #define WS2812_PWM_DMA_CHANNEL 3 -/* Serial configuration for split keyboard. */ -#define SERIAL_USART_TX_PIN A9 - -/* CRC. */ -#define CRC8_USE_TABLE -#define CRC8_OPTIMIZE_SPEED - /* SPI config for EEPROM. */ #define SPI_DRIVER SPID1 #define SPI_SCK_PIN A5 diff --git a/keyboards/bastardkb/scylla/blackpill/halconf.h b/keyboards/bastardkb/scylla/blackpill/halconf.h index 5c5dff98d4..545fc20cb3 100644 --- a/keyboards/bastardkb/scylla/blackpill/halconf.h +++ b/keyboards/bastardkb/scylla/blackpill/halconf.h @@ -1,21 +1,6 @@ -/** - * Copyright 2020 Nick Brassel (tzarc) - * 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 . - */ - +// Copyright 2020 Nick Brassel (tzarc) +// Copyright 2022 Charly Delay (@0xcharly) +// SPDX-License-Identifier: GPL-2.0-or-later #pragma once #define HAL_USE_PWM TRUE diff --git a/keyboards/bastardkb/scylla/blackpill/keyboard.json b/keyboards/bastardkb/scylla/blackpill/keyboard.json index 5294976fd3..4bef461b6b 100644 --- a/keyboards/bastardkb/scylla/blackpill/keyboard.json +++ b/keyboards/bastardkb/scylla/blackpill/keyboard.json @@ -1,37 +1,23 @@ { - "keyboard_name": "Scylla Blackpill", - "usb": { - "device_version": "1.0.0", - "shared_endpoint": { - "keyboard": true - } - }, - "features": { - "bootmagic": true, - "mousekey": true, - "extrakey": true, - "rgb_matrix": true - }, + "development_board": "blackpill_f411", "eeprom": { "driver": "spi" }, - "split": { - "enabled": true - }, - "rgb_matrix": { - "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"] }, - "diode_direction": "ROW2COL", - "development_board": "blackpill_f411" + "split": { + "handedness": { + "pin": "A3" + }, + "serial": { + "driver": "usart", + "pin": "A9" + } + }, + "ws2812": { + "driver": "pwm", + "pin": "A1" + } } diff --git a/keyboards/bastardkb/scylla/blackpill/mcuconf.h b/keyboards/bastardkb/scylla/blackpill/mcuconf.h index 2b3f30cbfe..cc77ec94ae 100644 --- a/keyboards/bastardkb/scylla/blackpill/mcuconf.h +++ b/keyboards/bastardkb/scylla/blackpill/mcuconf.h @@ -1,22 +1,7 @@ -/* - * Copyright 2020 Nick Brassel (tzarc) - * Copyright 2021 Stefan Kerkmann (@KarlK90) - * 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 . - */ - +// Copyright 2020 Nick Brassel (tzarc) +// Copyright 2021 Stefan Kerkmann (@KarlK90) +// Copyright 2022 Charly Delay (@0xcharly) +// SPDX-License-Identifier: GPL-2.0-or-later #pragma once #include_next diff --git a/keyboards/bastardkb/scylla/blackpill/rules.mk b/keyboards/bastardkb/scylla/blackpill/rules.mk deleted file mode 100644 index 48c904dd64..0000000000 --- a/keyboards/bastardkb/scylla/blackpill/rules.mk +++ /dev/null @@ -1,5 +0,0 @@ -AUDIO_SUPPORTED = no # Audio is not supported - -MOUSE_SHARED_EP = no # Unify multiple HID interfaces into a single Endpoint - -SERIAL_DRIVER = usart diff --git a/keyboards/bastardkb/scylla/info.json b/keyboards/bastardkb/scylla/info.json index 6508c15b5a..7f3619c6d0 100644 --- a/keyboards/bastardkb/scylla/info.json +++ b/keyboards/bastardkb/scylla/info.json @@ -1,23 +1,85 @@ { - "url": "https://bastardkb.com/scylla", - "usb": { - "pid": "0x1829" + "keyboard_name": "Scylla", + "diode_direction": "ROW2COL", + "features": { + "bootmagic": true, + "extrakey": true, + "mousekey": true, + "rgb_matrix": true }, "rgb_matrix": { + "driver": "ws2812", + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0, "flags": 2}, + {"matrix": [1, 0], "x": 0, "y": 16, "flags": 2}, + {"matrix": [2, 0], "x": 0, "y": 32, "flags": 2}, + {"matrix": [3, 0], "x": 0, "y": 48, "flags": 2}, + {"matrix": [3, 1], "x": 20, "y": 48, "flags": 4}, + {"matrix": [2, 1], "x": 20, "y": 32, "flags": 4}, + {"matrix": [1, 1], "x": 20, "y": 16, "flags": 4}, + {"matrix": [0, 1], "x": 20, "y": 0, "flags": 4}, + {"matrix": [0, 2], "x": 41, "y": 0, "flags": 4}, + {"matrix": [1, 2], "x": 41, "y": 16, "flags": 4}, + {"matrix": [2, 2], "x": 41, "y": 32, "flags": 4}, + {"matrix": [3, 2], "x": 41, "y": 48, "flags": 4}, + {"matrix": [3, 3], "x": 61, "y": 48, "flags": 4}, + {"matrix": [2, 3], "x": 61, "y": 32, "flags": 4}, + {"matrix": [1, 3], "x": 61, "y": 16, "flags": 4}, + {"matrix": [0, 3], "x": 61, "y": 0, "flags": 4}, + {"matrix": [0, 4], "x": 81, "y": 0, "flags": 4}, + {"matrix": [1, 4], "x": 81, "y": 16, "flags": 4}, + {"matrix": [2, 4], "x": 81, "y": 32, "flags": 4}, + {"matrix": [3, 4], "x": 81, "y": 48, "flags": 4}, + {"matrix": [0, 5], "x": 102, "y": 0, "flags": 4}, + {"matrix": [1, 5], "x": 102, "y": 16, "flags": 4}, + {"matrix": [2, 5], "x": 102, "y": 32, "flags": 4}, + {"matrix": [3, 5], "x": 102, "y": 48, "flags": 4}, + {"matrix": [4, 2], "x": 102, "y": 64, "flags": 2}, + {"matrix": [4, 5], "x": 81, "y": 64, "flags": 2}, + {"matrix": [4, 3], "x": 61, "y": 56, "flags": 2}, + {"matrix": [4, 4], "x": 81, "y": 56, "flags": 2}, + {"matrix": [4, 1], "x": 102, "y": 56, "flags": 2}, + {"matrix": [5, 0], "x": 224, "y": 0, "flags": 2}, + {"matrix": [6, 0], "x": 224, "y": 16, "flags": 2}, + {"matrix": [7, 0], "x": 224, "y": 32, "flags": 2}, + {"matrix": [8, 0], "x": 224, "y": 48, "flags": 2}, + {"matrix": [8, 1], "x": 204, "y": 48, "flags": 4}, + {"matrix": [7, 1], "x": 204, "y": 32, "flags": 4}, + {"matrix": [6, 1], "x": 204, "y": 16, "flags": 4}, + {"matrix": [5, 1], "x": 204, "y": 0, "flags": 4}, + {"matrix": [5, 2], "x": 183, "y": 0, "flags": 4}, + {"matrix": [6, 2], "x": 183, "y": 16, "flags": 4}, + {"matrix": [7, 2], "x": 183, "y": 32, "flags": 4}, + {"matrix": [8, 2], "x": 183, "y": 48, "flags": 4}, + {"matrix": [8, 3], "x": 163, "y": 48, "flags": 4}, + {"matrix": [7, 3], "x": 163, "y": 32, "flags": 4}, + {"matrix": [6, 3], "x": 163, "y": 16, "flags": 4}, + {"matrix": [5, 3], "x": 163, "y": 0, "flags": 4}, + {"matrix": [5, 4], "x": 142, "y": 0, "flags": 4}, + {"matrix": [6, 4], "x": 142, "y": 16, "flags": 4}, + {"matrix": [7, 4], "x": 142, "y": 32, "flags": 4}, + {"matrix": [8, 4], "x": 142, "y": 48, "flags": 4}, + {"matrix": [5, 5], "x": 122, "y": 0, "flags": 4}, + {"matrix": [6, 5], "x": 122, "y": 16, "flags": 4}, + {"matrix": [7, 5], "x": 122, "y": 32, "flags": 4}, + {"matrix": [8, 5], "x": 122, "y": 48, "flags": 4}, + {"matrix": [9, 2], "x": 122, "y": 64, "flags": 2}, + {"matrix": [9, 5], "x": 142, "y": 64, "flags": 2}, + {"matrix": [9, 3], "x": 163, "y": 56, "flags": 2}, + {"matrix": [9, 4], "x": 142, "y": 56, "flags": 2}, + {"matrix": [9, 1], "x": 122, "y": 56, "flags": 2} + ], "max_brightness": 50, "sleep": true, "split_count": [29, 29] }, - "rgblight": { - "led_count": 58, - "split_count": [29, 29] - }, "split": { - "transport": { - "sync": { - "matrix_state": true - } - } + "enabled": true + }, + "url": "https://github.com/Bastardkb/Scylla", + "usb": { + "device_version": "2.0.0", + "pid": "0x1829" }, "layouts": { "LAYOUT_split_4x6_5": { @@ -28,67 +90,56 @@ {"matrix": [0, 3], "x": 3, "y": 0}, {"matrix": [0, 4], "x": 4, "y": 0}, {"matrix": [0, 5], "x": 5, "y": 0}, - {"matrix": [5, 5], "x": 11, "y": 0}, {"matrix": [5, 4], "x": 12, "y": 0}, {"matrix": [5, 3], "x": 13, "y": 0}, {"matrix": [5, 2], "x": 14, "y": 0}, {"matrix": [5, 1], "x": 15, "y": 0}, {"matrix": [5, 0], "x": 16, "y": 0}, - {"matrix": [1, 0], "x": 0, "y": 1}, {"matrix": [1, 1], "x": 1, "y": 1}, {"matrix": [1, 2], "x": 2, "y": 1}, {"matrix": [1, 3], "x": 3, "y": 1}, {"matrix": [1, 4], "x": 4, "y": 1}, {"matrix": [1, 5], "x": 5, "y": 1}, - {"matrix": [6, 5], "x": 11, "y": 1}, {"matrix": [6, 4], "x": 12, "y": 1}, {"matrix": [6, 3], "x": 13, "y": 1}, {"matrix": [6, 2], "x": 14, "y": 1}, {"matrix": [6, 1], "x": 15, "y": 1}, {"matrix": [6, 0], "x": 16, "y": 1}, - {"matrix": [2, 0], "x": 0, "y": 2}, {"matrix": [2, 1], "x": 1, "y": 2}, {"matrix": [2, 2], "x": 2, "y": 2}, {"matrix": [2, 3], "x": 3, "y": 2}, {"matrix": [2, 4], "x": 4, "y": 2}, {"matrix": [2, 5], "x": 5, "y": 2}, - {"matrix": [7, 5], "x": 11, "y": 2}, {"matrix": [7, 4], "x": 12, "y": 2}, {"matrix": [7, 3], "x": 13, "y": 2}, {"matrix": [7, 2], "x": 14, "y": 2}, {"matrix": [7, 1], "x": 15, "y": 2}, {"matrix": [7, 0], "x": 16, "y": 2}, - {"matrix": [3, 0], "x": 0, "y": 3}, {"matrix": [3, 1], "x": 1, "y": 3}, {"matrix": [3, 2], "x": 2, "y": 3}, {"matrix": [3, 3], "x": 3, "y": 3}, {"matrix": [3, 4], "x": 4, "y": 3}, {"matrix": [3, 5], "x": 5, "y": 3}, - {"matrix": [8, 5], "x": 11, "y": 3}, {"matrix": [8, 4], "x": 12, "y": 3}, {"matrix": [8, 3], "x": 13, "y": 3}, {"matrix": [8, 2], "x": 14, "y": 3}, {"matrix": [8, 1], "x": 15, "y": 3}, {"matrix": [8, 0], "x": 16, "y": 3}, - {"matrix": [4, 3], "x": 5, "y": 4}, {"matrix": [4, 4], "x": 6, "y": 4}, {"matrix": [4, 1], "x": 7, "y": 4}, - {"matrix": [9, 1], "x": 9, "y": 4}, {"matrix": [9, 4], "x": 10, "y": 4}, {"matrix": [9, 3], "x": 11, "y": 4}, - {"matrix": [4, 5], "x": 6, "y": 5}, {"matrix": [4, 2], "x": 7, "y": 5}, - {"matrix": [9, 2], "x": 9, "y": 5}, {"matrix": [9, 5], "x": 10, "y": 5} ] diff --git a/keyboards/bastardkb/scylla/keymaps/default/keymap.c b/keyboards/bastardkb/scylla/keymaps/default/keymap.c deleted file mode 100644 index 8e9b0190d4..0000000000 --- a/keyboards/bastardkb/scylla/keymaps/default/keymap.c +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Copyright 2021 Quentin LEBASTARD - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - [0] = LAYOUT_split_4x6_5(KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, - //-------------------------------------------------//-----------------------------------------------------------// - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_MINS, - //-------------------------------------------------//-----------------------------------------------------------// - KC_LSFT, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, - //-------------------------------------------------//-----------------------------------------------------------// - KC_LCTL, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_BSLS, - //-------------------------------------------------//-----------------------------------------------------------// - KC_LCTL, KC_SPC, MO(1), MO(2), KC_ENT, KC_RGUI, KC_HOME, KC_BSPC, KC_DEL, KC_RALT), - - [1] = LAYOUT_split_4x6_5(KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL, - //---------------------------------------------------------//-----------------------------------------------------------// - QK_BOOT, _______, _______, _______, _______, KC_LBRC, KC_RBRC, KC_P7, KC_P8, KC_P9, _______, KC_PLUS, - //---------------------------------------------------------//-----------------------------------------------------------// - _______, KC_HOME, KC_PGUP, KC_PGDN, KC_END, KC_LPRN, KC_RPRN, KC_P4, KC_P5, KC_P6, KC_MINS, KC_PIPE, - //---------------------------------------------------------//-----------------------------------------------------------// - _______, _______, _______, _______, _______, _______, _______, KC_P1, KC_P2, KC_P3, KC_EQL, KC_UNDS, - //---------------------------------------------------------//-----------------------------------------------------------// - KC_LCTL, KC_HOME, KC_TRNS, KC_TRNS, KC_RALT, KC_RGUI, KC_SPC, KC_BSPC, KC_RCTL, KC_ENT), - - [2] = LAYOUT_split_4x6_5(KC_F12, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, - //---------------------------------------------------------//--------------------------------------------------------------// - _______, _______, RM_PREV, RM_TOGG, RM_NEXT, KC_LBRC, KC_RBRC, _______, KC_NUM, KC_INS, KC_SCRL, KC_MUTE, - //---------------------------------------------------------//--------------------------------------------------------------// - _______, KC_LEFT, KC_UP, KC_DOWN, KC_RGHT, KC_LPRN, KC_RPRN, KC_MPRV, KC_MPLY, KC_MNXT, _______, KC_VOLU, - //---------------------------------------------------------//--------------------------------------------------------------// - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLD, - //---------------------------------------------------------//--------------------------------------------------------------// - KC_LCTL, KC_HOME, KC_TRNS, KC_TRNS, KC_RALT, QK_BOOT, KC_SPC, KC_BSPC, KC_RCTL, KC_ENT), -}; diff --git a/keyboards/bastardkb/scylla/keymaps/default/keymap.json b/keyboards/bastardkb/scylla/keymaps/default/keymap.json new file mode 100644 index 0000000000..d06e183517 --- /dev/null +++ b/keyboards/bastardkb/scylla/keymaps/default/keymap.json @@ -0,0 +1,31 @@ +{ + "keyboard": "bastardkb/scylla/promicro", + "keymap": "default", + "layout": "LAYOUT_split_4x6_5", + "layers": [ + [ + "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_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_CAPS", + "KC_LGUI", "MO(1)", "KC_SPC", "KC_ENT", "MO(2)", "KC_RGUI", + "KC_LALT", "KC_SPC", "KC_BSPC", "KC_RALT" + ], + [ + "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", + "_______", "KC_1", "KC_2", "KC_3", "KC_4", "KC_5", "KC_6", "KC_7", "KC_8", "KC_9", "KC_0", "_______", + "_______", "KC_EXLM", "KC_AT", "KC_HASH", "KC_DLR", "KC_PERC", "KC_CIRC", "KC_AMPR", "KC_ASTR", "KC_LPRN", "KC_RPRN", "_______", + "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", + "_______", "_______", "_______", "_______", "_______", "_______", + "_______", "_______", "_______", "_______" + ], + [ + "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", + "QK_BOOT", "_______", "_______", "_______", "_______", "_______", "RM_VALU", "RM_HUEU", "RM_SATU", "RM_NEXT", "RM_TOGG", "_______", + "EE_CLR", "_______", "_______", "_______", "_______", "_______", "RM_VALD", "RM_HUED", "RM_SATD", "RM_PREV", "_______", "_______", + "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", + "_______", "_______", "_______", "_______", "_______", "_______", + "_______", "_______", "_______", "_______" + ] + ] +} diff --git a/keyboards/bastardkb/scylla/promicro/keyboard.json b/keyboards/bastardkb/scylla/promicro/keyboard.json new file mode 100644 index 0000000000..89116f7dcd --- /dev/null +++ b/keyboards/bastardkb/scylla/promicro/keyboard.json @@ -0,0 +1,15 @@ +{ + "development_board": "elite_c", + "matrix_pins": { + "cols": ["F6", "F5", "B6", "D7", "E6", "B4"], + "rows": ["F4", "F7", "C6", "D4", "B5"] + }, + "split": { + "serial": { + "pin": "D2" + } + }, + "ws2812": { + "pin": "D3" + } +} diff --git a/keyboards/bastardkb/scylla/readme.md b/keyboards/bastardkb/scylla/readme.md index 830b8eacda..fd40c418c7 100644 --- a/keyboards/bastardkb/scylla/readme.md +++ b/keyboards/bastardkb/scylla/readme.md @@ -1,29 +1,27 @@ # Scylla -A modern, low-profile split ergonomic keyboard +* Keyboard Maintainer: [Quentin Lebastard](https://github.com/bastardkb) +* Hardware Supported: BastardKB Blackpill or Pro Micro adapter & compatible development boards +* Hardware Availability: [GitHub](https://github.com/Bastardkb/Scylla) -* 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): -## Building the firmware + make bastardkb/scylla/blackpill:default + make bastardkb/scylla/promicro:default -**You must specify the shield version when compiling/flashing the firmware.** +Flashing example for this keyboard: -The template is: + make bastardkb/scylla/blackpill:default:flash + make bastardkb/scylla/promicro:default:flash -```shell -qmk compile -kb bastardkb/scylla/{VERSION}/elitec -km {KEYMAP} -``` - -| Shield Version | default | via | -| --------------- | ------------------------------------------------------------- | --------------------------------------------------------- | -| v1 (Elite-C) | `qmk compile -kb bastardkb/scylla/v1/elitec -km default` | `qmk compile -kb bastardkb/scylla/v1/elitec -km via` | -| v2 (Elite-C) | `qmk compile -kb bastardkb/scylla/v2/elitec -km default` | `qmk compile -kb bastardkb/scylla/v2/elitec -km via` | -| v2 (Splinky v2) | `qmk compile -kb bastardkb/scylla/v2/splinky/v2 -km default` | `qmk compile -kb bastardkb/scylla/v2/splinky/v2 -km via` | -| v2 (Splinky v3) | `qmk compile -kb bastardkb/scylla/v2/splinky/v3 -km default` | `qmk compile -kb bastardkb/scylla/v2/splinky/v3 -km via` | -| v2 (STeMCell) | `qmk compile -kb bastardkb/scylla/v2/stemcell -km default` | `qmk compile -kb bastardkb/scylla/v2/stemcell -km via` | +Note if using the `promicro` version: If you are using an Elite-C compatible development board, see [here](../readme.md#handedness-pin-on-elite-c-holder) for setting handedness by pin. 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) +## Bootloader + +Enter the bootloader in 3 ways: + +* **Bootmagic reset**: Hold down the key at (0,0) in the matrix and plug in the keyboard +* **Physical reset button**: Briefly press the button on the back of the adapter PCB +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/bastardkb/scylla/scylla.c b/keyboards/bastardkb/scylla/scylla.c deleted file mode 100644 index 7aaa0fc1ce..0000000000 --- a/keyboards/bastardkb/scylla/scylla.c +++ /dev/null @@ -1,63 +0,0 @@ -/** - * Copyright 2021 Quentin LEBASTARD - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include "quantum.h" - -// clang-format off -#ifdef RGB_MATRIX_ENABLE -led_config_t g_led_config = { { - // left - { 0, 7, 8, 15, 16, 20 }, - { 1, 6, 9, 14, 17, 21 }, - { 2, 5, 10, 13, 18, 22 }, - { 3, 4, 11, 12, 19, 23 }, - { NO_LED, 28, 24, 26, 27, 25 }, - // right - { 29, 36, 37, 44, 45, 49 }, - { 30, 35, 38, 43, 46, 50 }, - { 31, 34, 39, 42, 47, 51 }, - { 32, 33, 40, 41, 48, 52 }, - { NO_LED, 57, 53, 55, 56, 54 } -}, { - // left - { 0, 0 }, { 0, 16 }, { 0, 32 }, { 0, 48 }, // col 1 - { 20, 48 }, { 20, 32 }, { 20, 16 }, { 20, 0 }, // col 2 - { 41, 0 }, { 41, 16 }, { 41, 32 }, { 41, 48 }, - { 61, 48 }, { 61, 32 }, { 61, 16 }, { 61, 0 }, - { 81, 0 }, { 81, 16 }, { 81, 32 }, { 81, 48 }, - { 102, 0 }, { 102, 16 }, { 102, 32 }, { 102, 48 }, - { 102, 64 }, { 81, 64 }, { 61, 56 }, { 81, 56 }, { 102, 56 }, // left thumb cluster - // right - { 224, 0 }, { 224, 16 }, { 224, 32 }, { 224, 48 }, // col 12 - { 204, 48 }, { 204, 32 }, { 204, 16 }, { 204, 0 }, // col 11 - { 183, 0 }, { 183, 16 }, { 183, 32 }, { 183, 48 }, - { 163, 48 }, { 163, 32 }, { 163, 16 }, { 163, 0 }, - { 142, 0 }, { 142, 16 }, { 142, 32 }, { 142, 48 }, - { 122, 0 }, { 122, 16 }, { 122, 32 }, { 122, 48 }, - { 122, 64 }, { 142, 64 }, { 163, 56 }, { 142, 56 }, { 122, 56 } // right thumb cluster -}, { - // left - 2, 2, 2, 2, 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, - // right - 2, 2, 2, 2, 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 -} }; -#endif -// clang-format on diff --git a/keyboards/bastardkb/scylla/v1/elitec/config.h b/keyboards/bastardkb/scylla/v1/elitec/config.h deleted file mode 100644 index 41b5aa1c66..0000000000 --- a/keyboards/bastardkb/scylla/v1/elitec/config.h +++ /dev/null @@ -1,22 +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 - -/* Handedness. */ -#define MASTER_RIGHT diff --git a/keyboards/bastardkb/scylla/v1/elitec/keyboard.json b/keyboards/bastardkb/scylla/v1/elitec/keyboard.json deleted file mode 100644 index 25963f006c..0000000000 --- a/keyboards/bastardkb/scylla/v1/elitec/keyboard.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "keyboard_name": "Scylla Elite-C", - "usb": { - "device_version": "1.0.0" - }, - "features": { - "bootmagic": true, - "mousekey": true, - "extrakey": true, - "rgb_matrix": true - }, - "ws2812": { - "pin": "D2" - }, - "rgb_matrix": { - "driver": "ws2812" - }, - "matrix_pins": { - "cols": ["B4", "E6", "C6", "B1", "B3", "B2"], - "rows": ["D7", "B5", "F7", "F6", "B6"] - }, - "diode_direction": "ROW2COL", - "split": { - "enabled": true, - "serial": { - "pin": "D0" - } - }, - "processor": "atmega32u4", - "bootloader": "atmel-dfu" -} diff --git a/keyboards/bastardkb/scylla/v1/elitec/rules.mk b/keyboards/bastardkb/scylla/v1/elitec/rules.mk deleted file mode 100644 index 1868c4bb02..0000000000 --- a/keyboards/bastardkb/scylla/v1/elitec/rules.mk +++ /dev/null @@ -1 +0,0 @@ -AUDIO_SUPPORTED = no # Audio is not supported diff --git a/keyboards/bastardkb/scylla/v2/elitec/config.h b/keyboards/bastardkb/scylla/v2/elitec/config.h deleted file mode 100644 index e6b7fefa66..0000000000 --- a/keyboards/bastardkb/scylla/v2/elitec/config.h +++ /dev/null @@ -1,21 +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 - -/* Handedness. */ -#define MASTER_RIGHT diff --git a/keyboards/bastardkb/scylla/v2/elitec/keyboard.json b/keyboards/bastardkb/scylla/v2/elitec/keyboard.json deleted file mode 100644 index 316606b17b..0000000000 --- a/keyboards/bastardkb/scylla/v2/elitec/keyboard.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "keyboard_name": "Scylla Elite-C", - "usb": { - "device_version": "2.0.0" - }, - "features": { - "bootmagic": true, - "mousekey": true, - "extrakey": true, - "rgb_matrix": true - }, - "ws2812": { - "pin": "D3" - }, - "rgb_matrix": { - "driver": "ws2812" - }, - "matrix_pins": { - "cols": ["F6", "F5", "B6", "D7", "E6", "B4"], - "rows": ["F4", "F7", "C6", "D4", "B5"] - }, - "diode_direction": "ROW2COL", - "split": { - "enabled": true, - "serial": { - "pin": "D2" - } - }, - "processor": "atmega32u4", - "bootloader": "atmel-dfu" -} diff --git a/keyboards/bastardkb/scylla/v2/elitec/rules.mk b/keyboards/bastardkb/scylla/v2/elitec/rules.mk deleted file mode 100644 index 1868c4bb02..0000000000 --- a/keyboards/bastardkb/scylla/v2/elitec/rules.mk +++ /dev/null @@ -1 +0,0 @@ -AUDIO_SUPPORTED = no # Audio is not supported diff --git a/keyboards/bastardkb/scylla/v2/splinky_2/config.h b/keyboards/bastardkb/scylla/v2/splinky_2/config.h deleted file mode 100644 index 977fb0a6e8..0000000000 --- a/keyboards/bastardkb/scylla/v2/splinky_2/config.h +++ /dev/null @@ -1,31 +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 - -/* Handedness. */ -#define MASTER_RIGHT - -// To use the handedness pin, resistors need to be installed on the adapter PCB. -// If so, uncomment the following code, and undefine MASTER_RIGHT above. -// #define SPLIT_HAND_PIN GP13 -// #define SPLIT_HAND_PIN_LOW_IS_LEFT // High -> right, Low -> left. - -/* Reset. */ -#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET -#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_LED GP17 -#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 1000U diff --git a/keyboards/bastardkb/scylla/v2/splinky_2/keyboard.json b/keyboards/bastardkb/scylla/v2/splinky_2/keyboard.json deleted file mode 100644 index 2c0beb5c1d..0000000000 --- a/keyboards/bastardkb/scylla/v2/splinky_2/keyboard.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "keyboard_name": "Scylla Splinky", - "usb": { - "device_version": "2.0.0" - }, - "features": { - "bootmagic": true, - "mousekey": false, - "extrakey": true, - "rgb_matrix": true - }, - "rgb_matrix": { - "driver": "ws2812" - }, - "matrix_pins": { - "cols": ["GP27", "GP28", "GP15", "GP6", "GP7", "GP8"], - "rows": ["GP29", "GP26", "GP5", "GP4", "GP9"] - }, - "diode_direction": "ROW2COL", - "split": { - "enabled": true, - "serial": { - "pin": "GP1" - } - }, - "ws2812": { - "pin": "GP0", - "driver": "vendor" - }, - "processor": "RP2040", - "bootloader": "rp2040" -} diff --git a/keyboards/bastardkb/scylla/v2/splinky_2/readme.md b/keyboards/bastardkb/scylla/v2/splinky_2/readme.md deleted file mode 100644 index 662eb5825c..0000000000 --- a/keyboards/bastardkb/scylla/v2/splinky_2/readme.md +++ /dev/null @@ -1,5 +0,0 @@ -# Splinky controller - -The splinky is a Pro-Micro/Elite-C replacement with USB-C and RP2040. - -See [plut0nium/0xB2](https://github.com/plut0nium/0xB2/#releases) to figure out the right version for you (v2 or v3). diff --git a/keyboards/bastardkb/scylla/v2/splinky_2/rules.mk b/keyboards/bastardkb/scylla/v2/splinky_2/rules.mk deleted file mode 100644 index 077573eb76..0000000000 --- a/keyboards/bastardkb/scylla/v2/splinky_2/rules.mk +++ /dev/null @@ -1,3 +0,0 @@ -AUDIO_SUPPORTED = no # Audio is not supported - -SERIAL_DRIVER = vendor diff --git a/keyboards/bastardkb/scylla/v2/splinky_3/config.h b/keyboards/bastardkb/scylla/v2/splinky_3/config.h deleted file mode 100644 index e496023656..0000000000 --- a/keyboards/bastardkb/scylla/v2/splinky_3/config.h +++ /dev/null @@ -1,31 +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 - -/* Handedness. */ -#define MASTER_RIGHT - -// To use the handedness pin, resistors need to be installed on the adapter PCB. -// If so, uncomment the following code, and undefine MASTER_RIGHT above. -// #define SPLIT_HAND_PIN GP15 -// #define SPLIT_HAND_PIN_LOW_IS_LEFT // High -> right, Low -> left. - -/* Reset. */ -#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET -#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_LED GP17 -#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 1000U diff --git a/keyboards/bastardkb/scylla/v2/splinky_3/keyboard.json b/keyboards/bastardkb/scylla/v2/splinky_3/keyboard.json deleted file mode 100644 index ed92be5a45..0000000000 --- a/keyboards/bastardkb/scylla/v2/splinky_3/keyboard.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "keyboard_name": "Scylla Splinky", - "usb": { - "device_version": "2.0.0" - }, - "features": { - "bootmagic": true, - "mousekey": false, - "extrakey": true, - "rgb_matrix": true - }, - "rgb_matrix": { - "driver": "ws2812" - }, - "matrix_pins": { - "cols": ["GP27", "GP28", "GP21", "GP6", "GP7", "GP8"], - "rows": ["GP29", "GP26", "GP5", "GP4", "GP9"] - }, - "diode_direction": "ROW2COL", - "split": { - "enabled": true, - "serial": { - "pin": "GP1" - } - }, - "ws2812": { - "pin": "GP0", - "driver": "vendor" - }, - "processor": "RP2040", - "bootloader": "rp2040" -} diff --git a/keyboards/bastardkb/scylla/v2/splinky_3/readme.md b/keyboards/bastardkb/scylla/v2/splinky_3/readme.md deleted file mode 100644 index 662eb5825c..0000000000 --- a/keyboards/bastardkb/scylla/v2/splinky_3/readme.md +++ /dev/null @@ -1,5 +0,0 @@ -# Splinky controller - -The splinky is a Pro-Micro/Elite-C replacement with USB-C and RP2040. - -See [plut0nium/0xB2](https://github.com/plut0nium/0xB2/#releases) to figure out the right version for you (v2 or v3). diff --git a/keyboards/bastardkb/scylla/v2/splinky_3/rules.mk b/keyboards/bastardkb/scylla/v2/splinky_3/rules.mk deleted file mode 100644 index 077573eb76..0000000000 --- a/keyboards/bastardkb/scylla/v2/splinky_3/rules.mk +++ /dev/null @@ -1,3 +0,0 @@ -AUDIO_SUPPORTED = no # Audio is not supported - -SERIAL_DRIVER = vendor diff --git a/keyboards/bastardkb/scylla/v2/stemcell/config.h b/keyboards/bastardkb/scylla/v2/stemcell/config.h deleted file mode 100644 index ca1cc0f719..0000000000 --- a/keyboards/bastardkb/scylla/v2/stemcell/config.h +++ /dev/null @@ -1,38 +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 - -/* Handedness. */ -#define MASTER_RIGHT - -// To use the handedness pin, resistors need to be installed on the adapter PCB. -// If so, uncomment the following code, and undefine MASTER_RIGHT above. -// #define A0 PAL_LINE(GPIOA, 0) -// #define SPLIT_HAND_PIN A0 -// #define SPLIT_HAND_PIN_LOW_IS_LEFT // High -> right, Low -> left. - -/* RGB settings. */ -#define WS2812_PWM_DRIVER PWMD2 -#define WS2812_PWM_CHANNEL 4 -#define WS2812_PWM_PAL_MODE 1 -#define WS2812_PWM_DMA_STREAM STM32_DMA1_STREAM7 -#define WS2812_PWM_DMA_CHANNEL 3 - -/* CRC. */ -#define CRC8_USE_TABLE -#define CRC8_OPTIMIZE_SPEED diff --git a/keyboards/bastardkb/scylla/v2/stemcell/halconf.h b/keyboards/bastardkb/scylla/v2/stemcell/halconf.h deleted file mode 100644 index dbeb6aeaa0..0000000000 --- a/keyboards/bastardkb/scylla/v2/stemcell/halconf.h +++ /dev/null @@ -1,23 +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 - -#define HAL_USE_PWM TRUE -#define HAL_USE_SERIAL TRUE - -#include_next diff --git a/keyboards/bastardkb/scylla/v2/stemcell/keyboard.json b/keyboards/bastardkb/scylla/v2/stemcell/keyboard.json deleted file mode 100644 index 80325bfea3..0000000000 --- a/keyboards/bastardkb/scylla/v2/stemcell/keyboard.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "keyboard_name": "Scylla STeMCell", - "usb": { - "device_version": "2.0.0" - }, - "features": { - "bootmagic": true, - "mousekey": true, - "extrakey": true, - "rgb_matrix": true - }, - "rgb_matrix": { - "driver": "ws2812" - }, - "ws2812": { - "pin": "A2", - "driver": "pwm" - }, - "build": { - "debounce_type": "asym_eager_defer_pk" - }, - "matrix_pins": { - "cols": ["B1", "B2", "A4", "B4", "B5", "B8"], - "rows": ["B10", "B0", "B3", "A15", "B9"] - }, - "diode_direction": "ROW2COL", - "split": { - "enabled": true, - "serial": { - "pin": "A3" - } - }, - "development_board": "stemcell" -} diff --git a/keyboards/bastardkb/scylla/v2/stemcell/mcuconf.h b/keyboards/bastardkb/scylla/v2/stemcell/mcuconf.h deleted file mode 100644 index 6afebade36..0000000000 --- a/keyboards/bastardkb/scylla/v2/stemcell/mcuconf.h +++ /dev/null @@ -1,29 +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 - -#include_next - -#undef STM32_SERIAL_USE_USART1 -#define STM32_SERIAL_USE_USART1 FALSE - -#undef STM32_PWM_USE_TIM2 -#define STM32_PWM_USE_TIM2 TRUE - -#undef STM32_ST_USE_TIMER -#define STM32_ST_USE_TIMER 5 diff --git a/keyboards/bastardkb/scylla/v2/stemcell/rules.mk b/keyboards/bastardkb/scylla/v2/stemcell/rules.mk deleted file mode 100644 index 3fe3e4ffbe..0000000000 --- a/keyboards/bastardkb/scylla/v2/stemcell/rules.mk +++ /dev/null @@ -1,3 +0,0 @@ -AUDIO_SUPPORTED = no # Audio is not supported - -SERIAL_DRIVER = usart diff --git a/keyboards/bastardkb/skeletyl/blackpill/config.h b/keyboards/bastardkb/skeletyl/blackpill/config.h index bf7879edbe..c6b40f3e5f 100644 --- a/keyboards/bastardkb/skeletyl/blackpill/config.h +++ b/keyboards/bastardkb/skeletyl/blackpill/config.h @@ -1,27 +1,9 @@ -/* - * Copyright 2020 Christopher Courtney (@drashna) - * Copyright 2021 Stefan Kerkmann (@KarlK90) - * 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 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 . - */ - +// Copyright 2020 Christopher Courtney (@drashna) +// Copyright 2021 Stefan Kerkmann (@KarlK90) +// Copyright 2022 Charly Delay (@0xcharly) +// SPDX-License-Identifier: GPL-2.0-or-later #pragma once -/* Handedness. */ -#define SPLIT_HAND_PIN A3 // High -> left, Low -> right. - /* RGB settings. */ #define WS2812_PWM_DRIVER PWMD2 #define WS2812_PWM_CHANNEL 2 @@ -30,13 +12,6 @@ #define WS2812_PWM_DMA_STREAM STM32_DMA1_STREAM1 #define WS2812_PWM_DMA_CHANNEL 3 -/* Serial configuration for split keyboard. */ -#define SERIAL_USART_TX_PIN A9 - -/* CRC. */ -#define CRC8_USE_TABLE -#define CRC8_OPTIMIZE_SPEED - /* SPI config for EEPROM. */ #define SPI_DRIVER SPID1 #define SPI_SCK_PIN A5 diff --git a/keyboards/bastardkb/skeletyl/blackpill/halconf.h b/keyboards/bastardkb/skeletyl/blackpill/halconf.h index 5c5dff98d4..545fc20cb3 100644 --- a/keyboards/bastardkb/skeletyl/blackpill/halconf.h +++ b/keyboards/bastardkb/skeletyl/blackpill/halconf.h @@ -1,21 +1,6 @@ -/** - * Copyright 2020 Nick Brassel (tzarc) - * 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 . - */ - +// Copyright 2020 Nick Brassel (tzarc) +// Copyright 2022 Charly Delay (@0xcharly) +// SPDX-License-Identifier: GPL-2.0-or-later #pragma once #define HAL_USE_PWM TRUE diff --git a/keyboards/bastardkb/skeletyl/blackpill/keyboard.json b/keyboards/bastardkb/skeletyl/blackpill/keyboard.json index 16fa2b2412..15edbf74b8 100644 --- a/keyboards/bastardkb/skeletyl/blackpill/keyboard.json +++ b/keyboards/bastardkb/skeletyl/blackpill/keyboard.json @@ -1,37 +1,23 @@ { - "keyboard_name": "Skeletyl Blackpill", - "usb": { - "device_version": "1.0.0", - "shared_endpoint": { - "keyboard": true - } - }, - "features": { - "bootmagic": true, - "mousekey": true, - "extrakey": true, - "rgb_matrix": true - }, + "development_board": "blackpill_f411", "eeprom": { "driver": "spi" }, - "split": { - "enabled": true - }, - "rgb_matrix": { - "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"] }, - "diode_direction": "ROW2COL", - "development_board": "blackpill_f411" + "split": { + "handedness": { + "pin": "A3" + }, + "serial": { + "driver": "usart", + "pin": "A9" + } + }, + "ws2812": { + "driver": "pwm", + "pin": "A1" + } } diff --git a/keyboards/bastardkb/skeletyl/blackpill/mcuconf.h b/keyboards/bastardkb/skeletyl/blackpill/mcuconf.h index 2b3f30cbfe..cc77ec94ae 100644 --- a/keyboards/bastardkb/skeletyl/blackpill/mcuconf.h +++ b/keyboards/bastardkb/skeletyl/blackpill/mcuconf.h @@ -1,22 +1,7 @@ -/* - * Copyright 2020 Nick Brassel (tzarc) - * Copyright 2021 Stefan Kerkmann (@KarlK90) - * 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 . - */ - +// Copyright 2020 Nick Brassel (tzarc) +// Copyright 2021 Stefan Kerkmann (@KarlK90) +// Copyright 2022 Charly Delay (@0xcharly) +// SPDX-License-Identifier: GPL-2.0-or-later #pragma once #include_next diff --git a/keyboards/bastardkb/skeletyl/blackpill/rules.mk b/keyboards/bastardkb/skeletyl/blackpill/rules.mk deleted file mode 100644 index 48c904dd64..0000000000 --- a/keyboards/bastardkb/skeletyl/blackpill/rules.mk +++ /dev/null @@ -1,5 +0,0 @@ -AUDIO_SUPPORTED = no # Audio is not supported - -MOUSE_SHARED_EP = no # Unify multiple HID interfaces into a single Endpoint - -SERIAL_DRIVER = usart diff --git a/keyboards/bastardkb/skeletyl/info.json b/keyboards/bastardkb/skeletyl/info.json index e4ac29207d..470197edb9 100644 --- a/keyboards/bastardkb/skeletyl/info.json +++ b/keyboards/bastardkb/skeletyl/info.json @@ -1,23 +1,63 @@ { - "url": "https://www.bastardkb.com/skeletyl", - "usb": { - "pid": "0x1830" + "keyboard_name": "Skeletyl", + "diode_direction": "ROW2COL", + "features": { + "bootmagic": true, + "extrakey": true, + "mousekey": true, + "rgb_matrix": true }, "rgb_matrix": { + "driver": "ws2812", + "layout": [ + {"matrix": [2, 0], "x": 0, "y": 42, "flags": 4}, + {"matrix": [1, 0], "x": 0, "y": 21, "flags": 4}, + {"matrix": [0, 0], "x": 0, "y": 0, "flags": 4}, + {"matrix": [0, 1], "x": 18, "y": 0, "flags": 4}, + {"matrix": [1, 1], "x": 18, "y": 21, "flags": 4}, + {"matrix": [2, 1], "x": 18, "y": 42, "flags": 4}, + {"matrix": [2, 2], "x": 36, "y": 42, "flags": 4}, + {"matrix": [1, 2], "x": 36, "y": 21, "flags": 4}, + {"matrix": [0, 2], "x": 36, "y": 0, "flags": 4}, + {"matrix": [0, 3], "x": 54, "y": 0, "flags": 4}, + {"matrix": [1, 3], "x": 54, "y": 21, "flags": 4}, + {"matrix": [2, 3], "x": 54, "y": 42, "flags": 4}, + {"matrix": [0, 4], "x": 72, "y": 0, "flags": 4}, + {"matrix": [1, 4], "x": 72, "y": 21, "flags": 4}, + {"matrix": [2, 4], "x": 72, "y": 42, "flags": 4}, + {"matrix": [3, 2], "x": 72, "y": 64, "flags": 1}, + {"matrix": [3, 3], "x": 90, "y": 64, "flags": 1}, + {"matrix": [3, 0], "x": 108, "y": 64, "flags": 1}, + {"matrix": [6, 0], "x": 224, "y": 42, "flags": 4}, + {"matrix": [5, 0], "x": 224, "y": 21, "flags": 4}, + {"matrix": [4, 0], "x": 224, "y": 0, "flags": 4}, + {"matrix": [4, 1], "x": 206, "y": 0, "flags": 4}, + {"matrix": [5, 1], "x": 206, "y": 21, "flags": 4}, + {"matrix": [6, 1], "x": 206, "y": 42, "flags": 4}, + {"matrix": [6, 2], "x": 188, "y": 42, "flags": 4}, + {"matrix": [5, 2], "x": 188, "y": 21, "flags": 4}, + {"matrix": [4, 2], "x": 188, "y": 0, "flags": 4}, + {"matrix": [4, 3], "x": 170, "y": 0, "flags": 4}, + {"matrix": [5, 3], "x": 170, "y": 21, "flags": 4}, + {"matrix": [6, 3], "x": 170, "y": 42, "flags": 4}, + {"matrix": [4, 4], "x": 152, "y": 0, "flags": 4}, + {"matrix": [5, 4], "x": 152, "y": 21, "flags": 4}, + {"matrix": [6, 4], "x": 152, "y": 42, "flags": 4}, + {"matrix": [7, 2], "x": 152, "y": 64, "flags": 1}, + {"matrix": [7, 3], "x": 134, "y": 64, "flags": 1}, + {"matrix": [7, 0], "x": 116, "y": 64, "flags": 1} + ], "max_brightness": 50, "sleep": true, "split_count": [18, 18] }, - "rgblight": { - "led_count": 36, - "split_count": [18, 18] - }, "split": { - "transport": { - "sync": { - "matrix_state": true - } - } + "enabled": true + }, + "url": "https://github.com/Bastardkb/Skeletyl", + "usb": { + "device_version": "2.0.0", + "pid": "0x1830" }, "community_layouts": ["split_3x5_3"], "layouts": { @@ -28,41 +68,34 @@ {"matrix": [0, 2], "x": 2, "y": 0}, {"matrix": [0, 3], "x": 3, "y": 0}, {"matrix": [0, 4], "x": 4, "y": 0}, - {"matrix": [4, 4], "x": 11, "y": 0}, {"matrix": [4, 3], "x": 12, "y": 0}, {"matrix": [4, 2], "x": 13, "y": 0}, {"matrix": [4, 1], "x": 14, "y": 0}, {"matrix": [4, 0], "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": [5, 4], "x": 11, "y": 1}, {"matrix": [5, 3], "x": 12, "y": 1}, {"matrix": [5, 2], "x": 13, "y": 1}, {"matrix": [5, 1], "x": 14, "y": 1}, {"matrix": [5, 0], "x": 15, "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, 4], "x": 11, "y": 2}, {"matrix": [6, 3], "x": 12, "y": 2}, {"matrix": [6, 2], "x": 13, "y": 2}, {"matrix": [6, 1], "x": 14, "y": 2}, {"matrix": [6, 0], "x": 15, "y": 2}, - {"matrix": [3, 2], "x": 4, "y": 3}, {"matrix": [3, 3], "x": 5, "y": 3}, {"matrix": [3, 0], "x": 6, "y": 3}, - {"matrix": [7, 0], "x": 9, "y": 3}, {"matrix": [7, 3], "x": 10, "y": 3}, {"matrix": [7, 2], "x": 11, "y": 3} diff --git a/keyboards/bastardkb/skeletyl/keymaps/default/keymap.c b/keyboards/bastardkb/skeletyl/keymaps/default/keymap.c deleted file mode 100644 index 1f49629c88..0000000000 --- a/keyboards/bastardkb/skeletyl/keymaps/default/keymap.c +++ /dev/null @@ -1,70 +0,0 @@ -/* - * Copyright 2021 Quentin LEBASTARD - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - [0] = LAYOUT_split_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_SPC , MO(1), MO(2), KC_ENT , KC_RALT - //`--------------------------' `--------------------------' - - ), - - [1] = LAYOUT_split_3x5_3( - //,-----------------------------------------------------. ,-----------------------------------------------------. - KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP,KC_RIGHT, XXXXXXX, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - KC_LGUI, KC_SPC, _______, MO(3), KC_ENT, KC_RALT - //`--------------------------' `--------------------------' - ), - - [2] = LAYOUT_split_3x5_3( - //,-----------------------------------------------------. ,-----------------------------------------------------. - KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - KC_LGUI, KC_SPC, MO(3), _______, KC_ENT, KC_RALT - //`--------------------------' `--------------------------' - ), - - [3] = LAYOUT_split_3x5_3( - //,-----------------------------------------------------. ,-----------------------------------------------------. - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - RM_HUEU, RM_SATU, RM_VALU, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - RM_HUED, RM_SATD, RM_VALD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - KC_LGUI, KC_SPC, _______, _______, KC_ENT, KC_RALT - //`--------------------------' `--------------------------' - ) -}; diff --git a/keyboards/bastardkb/skeletyl/keymaps/default/keymap.json b/keyboards/bastardkb/skeletyl/keymaps/default/keymap.json new file mode 100644 index 0000000000..5253ca2a12 --- /dev/null +++ b/keyboards/bastardkb/skeletyl/keymaps/default/keymap.json @@ -0,0 +1,26 @@ +{ + "keyboard": "bastardkb/skeletyl/promicro", + "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", + "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", "MO(1)", "KC_SPC", "KC_ENT", "MO(2)", "KC_RALT" + ], + [ + "KC_1", "KC_2", "KC_3", "KC_4", "KC_5", "KC_6", "KC_7", "KC_8", "KC_9", "KC_0", + "KC_EXLM", "KC_AT", "KC_HASH", "KC_DLR", "KC_PERC", "KC_CIRC", "KC_AMPR", "KC_ASTR", "KC_LPRN", "KC_RPRN", + "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", + "_______", "_______", "_______", "_______", "_______", "_______" + ], + [ + "QK_BOOT", "_______", "_______", "_______", "_______", "RM_VALU", "RM_HUEU", "RM_SATU", "RM_NEXT", "RM_TOGG", + "EE_CLR", "_______", "_______", "_______", "_______", "RM_VALD", "RM_HUED", "RM_SATD", "RM_PREV", "_______", + "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", + "_______", "_______", "_______", "_______", "_______", "_______" + ] + ] +} + diff --git a/keyboards/bastardkb/skeletyl/promicro/keyboard.json b/keyboards/bastardkb/skeletyl/promicro/keyboard.json new file mode 100644 index 0000000000..d9c399865b --- /dev/null +++ b/keyboards/bastardkb/skeletyl/promicro/keyboard.json @@ -0,0 +1,15 @@ +{ + "development_board": "elite_c", + "matrix_pins": { + "cols": ["F5", "B6", "D7", "E6", "B4"], + "rows": ["F7", "C6", "D4", "B5"] + }, + "split": { + "serial": { + "pin": "D2" + } + }, + "ws2812": { + "pin": "D3" + } +} diff --git a/keyboards/bastardkb/skeletyl/readme.md b/keyboards/bastardkb/skeletyl/readme.md index bd05820d35..7299964968 100644 --- a/keyboards/bastardkb/skeletyl/readme.md +++ b/keyboards/bastardkb/skeletyl/readme.md @@ -1,31 +1,27 @@ # Skeletyl -A very small keyboard made for ergonomic enthusiasts. +* Keyboard Maintainer: [Quentin Lebastard](https://github.com/bastardkb) +* Hardware Supported: BastardKB Blackpill or Pro Micro adapter & compatible development boards +* Hardware Availability: [GitHub](https://github.com/Bastardkb/Skeletyl) -* Keyboard Maintainer: [Bastard Keyboards](https://github.com/Bastardkb/) -* Hardware Supported: elite-C V4 -* Hardware Availability: [Bastardkb.com](https://bastardkb.com/) +Make example for this keyboard (after setting up your build environment): -## Building the firmware + make bastardkb/skeletyl/blackpill:default + make bastardkb/skeletyl/promicro:default -**You must specify the shield version when compiling/flashing the firmware.** +Flashing example for this keyboard: -The template is: + make bastardkb/skeletyl/blackpill:default:flash + make bastardkb/skeletyl/promicro:default:flash -```shell -qmk compile -kb bastardkb/skeletyl/{VERSION}/elitec -km {KEYMAP} -``` - -| Shield Version | default | via | -| --------------- | --------------------------------------------------------------- | ----------------------------------------------------------- | -| 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_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. +Note if using the `promicro` version: If you are using an Elite-C compatible development board, see [here](../readme.md#handedness-pin-on-elite-c-holder) for setting handedness by pin. 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](http://docs.bastardkb.com/) +## Bootloader + +Enter the bootloader in 3 ways: + +* **Bootmagic reset**: Hold down the key at (0,0) in the matrix and plug in the keyboard +* **Physical reset button**: Briefly press the button on the back of the adapter PCB +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/bastardkb/skeletyl/skeletyl.c b/keyboards/bastardkb/skeletyl/skeletyl.c deleted file mode 100644 index 6c65c3fa87..0000000000 --- a/keyboards/bastardkb/skeletyl/skeletyl.c +++ /dev/null @@ -1,81 +0,0 @@ -/* - * Copyright 2021 Quentin LEBASTARD - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include "quantum.h" - -/** - * LEDs index. - * - * ╭────────────────────╮ ╭────────────────────╮ - * 2 3 8 9 12 30 27 26 21 20 - * ├────────────────────┤ ├────────────────────┤ - * 1 4 7 10 13 31 28 25 22 19 - * ├────────────────────┤ ├────────────────────┤ - * 0 5 6 11 14 32 29 24 23 18 - * ╰────────────────────╯ ╰────────────────────╯ - * 15 16 17 35 34 33 - * ╰────────────╯ ╰────────────╯ - */ -// clang-format off -#ifdef RGB_MATRIX_ENABLE -led_config_t g_led_config = { { - /* Key Matrix to LED index. */ - // Left split. - { 2, 3, 8, 9, 12 }, // Top row - { 1, 4, 7, 10, 13 }, // Middle row - { 0, 5, 6, 11, 14 }, // Bottom row - { 17, NO_LED, 15, 16, NO_LED }, // Thumb cluster - // Right split. - { 20, 21, 26, 27, 30 }, // Top row - { 19, 22, 25, 28, 31 }, // Middle row - { 18, 23, 24, 29, 32 }, // Bottom row - { 35, NO_LED, 33, 34, NO_LED }, // Thumb cluster -}, { - /* LED index to physical position. */ - // Left split. - /* index=0 */ { 0, 42 }, { 0, 21 }, { 0, 0 }, // col 1 (left most) - /* index=3 */ { 18, 0 }, { 18, 21 }, { 18, 42 }, // col 2 - /* index=6 */ { 36, 42 }, { 36, 21 }, { 36, 0 }, - /* index=9 */ { 54, 0 }, { 54, 21 }, { 54, 42 }, - /* index=12 */ { 72, 0 }, { 72, 21 }, { 72, 42 }, - /* index=15 */ { 72, 64 }, { 90, 64 }, { 108, 64 }, // Thumb cluster - // Right split. - /* index=18 */ { 224, 42 }, { 224, 21 }, { 224, 0 }, // col 10 (right most) - /* index=21 */ { 206, 0 }, { 206, 21 }, { 206, 42 }, // col 9 - /* index=24 */ { 188, 42 }, { 188, 21 }, { 188, 0 }, - /* index=27 */ { 170, 0 }, { 170, 21 }, { 170, 42 }, - /* index=30 */ { 152, 0 }, { 152, 21 }, { 152, 42 }, - /* index=33 */ { 152, 64 }, { 134, 64 }, { 116, 64 }, // Thumb cluster -}, { - /* LED index to flag. */ - // Left split. - /* index=0 */ LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, // col 1 - /* index=3 */ LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, // col 2 - /* index=6 */ LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, - /* index=9 */ LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, - /* index=12 */ LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, - /* index=15 */ LED_FLAG_MODIFIER, LED_FLAG_MODIFIER, LED_FLAG_MODIFIER, // Thumb cluster - // Right split. - /* index=18 */ LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, // col 10 - /* index=21 */ LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, // col 9 - /* index=24 */ LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, - /* index=27 */ LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, - /* index=30 */ LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, - /* index=33 */ LED_FLAG_MODIFIER, LED_FLAG_MODIFIER, LED_FLAG_MODIFIER, // Thumb cluster -} }; -#endif -// clang-format on diff --git a/keyboards/bastardkb/skeletyl/v1/elitec/config.h b/keyboards/bastardkb/skeletyl/v1/elitec/config.h deleted file mode 100644 index 41b5aa1c66..0000000000 --- a/keyboards/bastardkb/skeletyl/v1/elitec/config.h +++ /dev/null @@ -1,22 +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 - -/* Handedness. */ -#define MASTER_RIGHT diff --git a/keyboards/bastardkb/skeletyl/v1/elitec/keyboard.json b/keyboards/bastardkb/skeletyl/v1/elitec/keyboard.json deleted file mode 100644 index 3bbba6d310..0000000000 --- a/keyboards/bastardkb/skeletyl/v1/elitec/keyboard.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "keyboard_name": "Skeletyl Elite-C", - "usb": { - "device_version": "1.0.0" - }, - "features": { - "bootmagic": true, - "mousekey": true, - "extrakey": true, - "rgb_matrix": true - }, - "ws2812": { - "pin": "D2" - }, - "rgb_matrix": { - "driver": "ws2812" - }, - "matrix_pins": { - "cols": ["E6", "C6", "B1", "B3", "B2"], - "rows": ["B5", "F7", "F6", "B6"] - }, - "diode_direction": "ROW2COL", - "split": { - "enabled": true, - "serial": { - "pin": "D0" - } - }, - "processor": "atmega32u4", - "bootloader": "atmel-dfu" -} diff --git a/keyboards/bastardkb/skeletyl/v1/elitec/rules.mk b/keyboards/bastardkb/skeletyl/v1/elitec/rules.mk deleted file mode 100644 index 1868c4bb02..0000000000 --- a/keyboards/bastardkb/skeletyl/v1/elitec/rules.mk +++ /dev/null @@ -1 +0,0 @@ -AUDIO_SUPPORTED = no # Audio is not supported diff --git a/keyboards/bastardkb/skeletyl/v2/elitec/config.h b/keyboards/bastardkb/skeletyl/v2/elitec/config.h deleted file mode 100644 index e6b7fefa66..0000000000 --- a/keyboards/bastardkb/skeletyl/v2/elitec/config.h +++ /dev/null @@ -1,21 +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 - -/* Handedness. */ -#define MASTER_RIGHT diff --git a/keyboards/bastardkb/skeletyl/v2/elitec/keyboard.json b/keyboards/bastardkb/skeletyl/v2/elitec/keyboard.json deleted file mode 100644 index 43675db36d..0000000000 --- a/keyboards/bastardkb/skeletyl/v2/elitec/keyboard.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "keyboard_name": "Skeletyl Elite-C", - "usb": { - "device_version": "2.0.0" - }, - "features": { - "bootmagic": true, - "mousekey": true, - "extrakey": true, - "rgb_matrix": true - }, - "ws2812": { - "pin": "D3" - }, - "rgb_matrix": { - "driver": "ws2812" - }, - "matrix_pins": { - "cols": ["F5", "B6", "D7", "E6", "B4"], - "rows": ["F7", "C6", "D4", "B5"] - }, - "diode_direction": "ROW2COL", - "split": { - "enabled": true, - "serial": { - "pin": "D2" - } - }, - "processor": "atmega32u4", - "bootloader": "atmel-dfu" -} diff --git a/keyboards/bastardkb/skeletyl/v2/elitec/rules.mk b/keyboards/bastardkb/skeletyl/v2/elitec/rules.mk deleted file mode 100644 index 1868c4bb02..0000000000 --- a/keyboards/bastardkb/skeletyl/v2/elitec/rules.mk +++ /dev/null @@ -1 +0,0 @@ -AUDIO_SUPPORTED = no # Audio is not supported diff --git a/keyboards/bastardkb/skeletyl/v2/splinky_2/config.h b/keyboards/bastardkb/skeletyl/v2/splinky_2/config.h deleted file mode 100644 index 977fb0a6e8..0000000000 --- a/keyboards/bastardkb/skeletyl/v2/splinky_2/config.h +++ /dev/null @@ -1,31 +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 - -/* Handedness. */ -#define MASTER_RIGHT - -// To use the handedness pin, resistors need to be installed on the adapter PCB. -// If so, uncomment the following code, and undefine MASTER_RIGHT above. -// #define SPLIT_HAND_PIN GP13 -// #define SPLIT_HAND_PIN_LOW_IS_LEFT // High -> right, Low -> left. - -/* Reset. */ -#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET -#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_LED GP17 -#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 1000U diff --git a/keyboards/bastardkb/skeletyl/v2/splinky_2/keyboard.json b/keyboards/bastardkb/skeletyl/v2/splinky_2/keyboard.json deleted file mode 100644 index 32030dbd00..0000000000 --- a/keyboards/bastardkb/skeletyl/v2/splinky_2/keyboard.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "keyboard_name": "Skeletyl Splinky", - "usb": { - "device_version": "2.0.0" - }, - "features": { - "bootmagic": true, - "mousekey": false, - "extrakey": true, - "rgb_matrix": true - }, - "rgb_matrix": { - "driver": "ws2812" - }, - "matrix_pins": { - "cols": ["GP28", "GP15", "GP6", "GP7", "GP8"], - "rows": ["GP26", "GP5", "GP4", "GP9"] - }, - "diode_direction": "ROW2COL", - "split": { - "enabled": true, - "serial": { - "pin": "GP1" - } - }, - "ws2812": { - "pin": "GP0", - "driver": "vendor" - }, - "processor": "RP2040", - "bootloader": "rp2040" -} diff --git a/keyboards/bastardkb/skeletyl/v2/splinky_2/readme.md b/keyboards/bastardkb/skeletyl/v2/splinky_2/readme.md deleted file mode 100644 index 662eb5825c..0000000000 --- a/keyboards/bastardkb/skeletyl/v2/splinky_2/readme.md +++ /dev/null @@ -1,5 +0,0 @@ -# Splinky controller - -The splinky is a Pro-Micro/Elite-C replacement with USB-C and RP2040. - -See [plut0nium/0xB2](https://github.com/plut0nium/0xB2/#releases) to figure out the right version for you (v2 or v3). diff --git a/keyboards/bastardkb/skeletyl/v2/splinky_2/rules.mk b/keyboards/bastardkb/skeletyl/v2/splinky_2/rules.mk deleted file mode 100644 index 077573eb76..0000000000 --- a/keyboards/bastardkb/skeletyl/v2/splinky_2/rules.mk +++ /dev/null @@ -1,3 +0,0 @@ -AUDIO_SUPPORTED = no # Audio is not supported - -SERIAL_DRIVER = vendor diff --git a/keyboards/bastardkb/skeletyl/v2/splinky_3/config.h b/keyboards/bastardkb/skeletyl/v2/splinky_3/config.h deleted file mode 100644 index e496023656..0000000000 --- a/keyboards/bastardkb/skeletyl/v2/splinky_3/config.h +++ /dev/null @@ -1,31 +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 - -/* Handedness. */ -#define MASTER_RIGHT - -// To use the handedness pin, resistors need to be installed on the adapter PCB. -// If so, uncomment the following code, and undefine MASTER_RIGHT above. -// #define SPLIT_HAND_PIN GP15 -// #define SPLIT_HAND_PIN_LOW_IS_LEFT // High -> right, Low -> left. - -/* Reset. */ -#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET -#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_LED GP17 -#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 1000U diff --git a/keyboards/bastardkb/skeletyl/v2/splinky_3/keyboard.json b/keyboards/bastardkb/skeletyl/v2/splinky_3/keyboard.json deleted file mode 100644 index 51227f5065..0000000000 --- a/keyboards/bastardkb/skeletyl/v2/splinky_3/keyboard.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "keyboard_name": "Skeletyl Splinky", - "usb": { - "device_version": "2.0.0" - }, - "features": { - "bootmagic": true, - "mousekey": false, - "extrakey": true, - "rgb_matrix": true - }, - "rgb_matrix": { - "driver": "ws2812" - }, - "matrix_pins": { - "cols": ["GP28", "GP21", "GP6", "GP7", "GP8"], - "rows": ["GP26", "GP5", "GP4", "GP9"] - }, - "diode_direction": "ROW2COL", - "split": { - "enabled": true, - "serial": { - "pin": "GP1" - } - }, - "ws2812": { - "pin": "GP0", - "driver": "vendor" - }, - "processor": "RP2040", - "bootloader": "rp2040" -} diff --git a/keyboards/bastardkb/skeletyl/v2/splinky_3/readme.md b/keyboards/bastardkb/skeletyl/v2/splinky_3/readme.md deleted file mode 100644 index 662eb5825c..0000000000 --- a/keyboards/bastardkb/skeletyl/v2/splinky_3/readme.md +++ /dev/null @@ -1,5 +0,0 @@ -# Splinky controller - -The splinky is a Pro-Micro/Elite-C replacement with USB-C and RP2040. - -See [plut0nium/0xB2](https://github.com/plut0nium/0xB2/#releases) to figure out the right version for you (v2 or v3). diff --git a/keyboards/bastardkb/skeletyl/v2/splinky_3/rules.mk b/keyboards/bastardkb/skeletyl/v2/splinky_3/rules.mk deleted file mode 100644 index 077573eb76..0000000000 --- a/keyboards/bastardkb/skeletyl/v2/splinky_3/rules.mk +++ /dev/null @@ -1,3 +0,0 @@ -AUDIO_SUPPORTED = no # Audio is not supported - -SERIAL_DRIVER = vendor diff --git a/keyboards/bastardkb/skeletyl/v2/stemcell/config.h b/keyboards/bastardkb/skeletyl/v2/stemcell/config.h deleted file mode 100644 index ca1cc0f719..0000000000 --- a/keyboards/bastardkb/skeletyl/v2/stemcell/config.h +++ /dev/null @@ -1,38 +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 - -/* Handedness. */ -#define MASTER_RIGHT - -// To use the handedness pin, resistors need to be installed on the adapter PCB. -// If so, uncomment the following code, and undefine MASTER_RIGHT above. -// #define A0 PAL_LINE(GPIOA, 0) -// #define SPLIT_HAND_PIN A0 -// #define SPLIT_HAND_PIN_LOW_IS_LEFT // High -> right, Low -> left. - -/* RGB settings. */ -#define WS2812_PWM_DRIVER PWMD2 -#define WS2812_PWM_CHANNEL 4 -#define WS2812_PWM_PAL_MODE 1 -#define WS2812_PWM_DMA_STREAM STM32_DMA1_STREAM7 -#define WS2812_PWM_DMA_CHANNEL 3 - -/* CRC. */ -#define CRC8_USE_TABLE -#define CRC8_OPTIMIZE_SPEED diff --git a/keyboards/bastardkb/skeletyl/v2/stemcell/halconf.h b/keyboards/bastardkb/skeletyl/v2/stemcell/halconf.h deleted file mode 100644 index dbeb6aeaa0..0000000000 --- a/keyboards/bastardkb/skeletyl/v2/stemcell/halconf.h +++ /dev/null @@ -1,23 +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 - -#define HAL_USE_PWM TRUE -#define HAL_USE_SERIAL TRUE - -#include_next diff --git a/keyboards/bastardkb/skeletyl/v2/stemcell/keyboard.json b/keyboards/bastardkb/skeletyl/v2/stemcell/keyboard.json deleted file mode 100644 index 2e9745b7f2..0000000000 --- a/keyboards/bastardkb/skeletyl/v2/stemcell/keyboard.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "keyboard_name": "Skeletyl STeMCell", - "usb": { - "device_version": "2.0.0" - }, - "features": { - "bootmagic": true, - "mousekey": true, - "extrakey": true, - "rgb_matrix": true - }, - "rgb_matrix": { - "driver": "ws2812" - }, - "ws2812": { - "pin": "A2", - "driver": "pwm" - }, - "build": { - "debounce_type": "asym_eager_defer_pk" - }, - "matrix_pins": { - "cols": ["B2", "A4", "B4", "B5", "B8"], - "rows": ["B0", "B3", "A15", "B9"] - }, - "diode_direction": "ROW2COL", - "split": { - "enabled": true, - "serial": { - "pin": "A3" - } - }, - "development_board": "stemcell" -} diff --git a/keyboards/bastardkb/skeletyl/v2/stemcell/mcuconf.h b/keyboards/bastardkb/skeletyl/v2/stemcell/mcuconf.h deleted file mode 100644 index 6afebade36..0000000000 --- a/keyboards/bastardkb/skeletyl/v2/stemcell/mcuconf.h +++ /dev/null @@ -1,29 +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 - -#include_next - -#undef STM32_SERIAL_USE_USART1 -#define STM32_SERIAL_USE_USART1 FALSE - -#undef STM32_PWM_USE_TIM2 -#define STM32_PWM_USE_TIM2 TRUE - -#undef STM32_ST_USE_TIMER -#define STM32_ST_USE_TIMER 5 diff --git a/keyboards/bastardkb/skeletyl/v2/stemcell/rules.mk b/keyboards/bastardkb/skeletyl/v2/stemcell/rules.mk deleted file mode 100644 index 3fe3e4ffbe..0000000000 --- a/keyboards/bastardkb/skeletyl/v2/stemcell/rules.mk +++ /dev/null @@ -1,3 +0,0 @@ -AUDIO_SUPPORTED = no # Audio is not supported - -SERIAL_DRIVER = usart diff --git a/keyboards/bastardkb/tbkmini/blackpill/config.h b/keyboards/bastardkb/tbkmini/blackpill/config.h index bf7879edbe..c6b40f3e5f 100644 --- a/keyboards/bastardkb/tbkmini/blackpill/config.h +++ b/keyboards/bastardkb/tbkmini/blackpill/config.h @@ -1,27 +1,9 @@ -/* - * Copyright 2020 Christopher Courtney (@drashna) - * Copyright 2021 Stefan Kerkmann (@KarlK90) - * 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 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 . - */ - +// Copyright 2020 Christopher Courtney (@drashna) +// Copyright 2021 Stefan Kerkmann (@KarlK90) +// Copyright 2022 Charly Delay (@0xcharly) +// SPDX-License-Identifier: GPL-2.0-or-later #pragma once -/* Handedness. */ -#define SPLIT_HAND_PIN A3 // High -> left, Low -> right. - /* RGB settings. */ #define WS2812_PWM_DRIVER PWMD2 #define WS2812_PWM_CHANNEL 2 @@ -30,13 +12,6 @@ #define WS2812_PWM_DMA_STREAM STM32_DMA1_STREAM1 #define WS2812_PWM_DMA_CHANNEL 3 -/* Serial configuration for split keyboard. */ -#define SERIAL_USART_TX_PIN A9 - -/* CRC. */ -#define CRC8_USE_TABLE -#define CRC8_OPTIMIZE_SPEED - /* SPI config for EEPROM. */ #define SPI_DRIVER SPID1 #define SPI_SCK_PIN A5 diff --git a/keyboards/bastardkb/tbkmini/blackpill/halconf.h b/keyboards/bastardkb/tbkmini/blackpill/halconf.h index 5c5dff98d4..545fc20cb3 100644 --- a/keyboards/bastardkb/tbkmini/blackpill/halconf.h +++ b/keyboards/bastardkb/tbkmini/blackpill/halconf.h @@ -1,21 +1,6 @@ -/** - * Copyright 2020 Nick Brassel (tzarc) - * 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 . - */ - +// Copyright 2020 Nick Brassel (tzarc) +// Copyright 2022 Charly Delay (@0xcharly) +// SPDX-License-Identifier: GPL-2.0-or-later #pragma once #define HAL_USE_PWM TRUE diff --git a/keyboards/bastardkb/tbkmini/blackpill/keyboard.json b/keyboards/bastardkb/tbkmini/blackpill/keyboard.json index 61d0e741fe..df77023bd6 100644 --- a/keyboards/bastardkb/tbkmini/blackpill/keyboard.json +++ b/keyboards/bastardkb/tbkmini/blackpill/keyboard.json @@ -1,37 +1,23 @@ { - "keyboard_name": "TBK Mini Blackpill", - "usb": { - "device_version": "1.0.0", - "shared_endpoint": { - "keyboard": true - } - }, - "features": { - "bootmagic": true, - "mousekey": true, - "extrakey": true, - "rgb_matrix": true - }, + "development_board": "blackpill_f411", "eeprom": { "driver": "spi" }, - "split": { - "enabled": true - }, - "rgb_matrix": { - "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"] }, - "diode_direction": "ROW2COL", - "development_board": "blackpill_f411" + "split": { + "handedness": { + "pin": "A3" + }, + "serial": { + "driver": "usart", + "pin": "A9" + } + }, + "ws2812": { + "driver": "pwm", + "pin": "A1" + } } diff --git a/keyboards/bastardkb/tbkmini/blackpill/mcuconf.h b/keyboards/bastardkb/tbkmini/blackpill/mcuconf.h index 2b3f30cbfe..cc77ec94ae 100644 --- a/keyboards/bastardkb/tbkmini/blackpill/mcuconf.h +++ b/keyboards/bastardkb/tbkmini/blackpill/mcuconf.h @@ -1,22 +1,7 @@ -/* - * Copyright 2020 Nick Brassel (tzarc) - * Copyright 2021 Stefan Kerkmann (@KarlK90) - * 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 . - */ - +// Copyright 2020 Nick Brassel (tzarc) +// Copyright 2021 Stefan Kerkmann (@KarlK90) +// Copyright 2022 Charly Delay (@0xcharly) +// SPDX-License-Identifier: GPL-2.0-or-later #pragma once #include_next diff --git a/keyboards/bastardkb/tbkmini/blackpill/rules.mk b/keyboards/bastardkb/tbkmini/blackpill/rules.mk deleted file mode 100644 index 48c904dd64..0000000000 --- a/keyboards/bastardkb/tbkmini/blackpill/rules.mk +++ /dev/null @@ -1,5 +0,0 @@ -AUDIO_SUPPORTED = no # Audio is not supported - -MOUSE_SHARED_EP = no # Unify multiple HID interfaces into a single Endpoint - -SERIAL_DRIVER = usart diff --git a/keyboards/bastardkb/tbkmini/info.json b/keyboards/bastardkb/tbkmini/info.json index ff2df9cdd6..f37e092c2d 100644 --- a/keyboards/bastardkb/tbkmini/info.json +++ b/keyboards/bastardkb/tbkmini/info.json @@ -1,24 +1,70 @@ { - "url": "https://www.bastardkb.com/tbk-mini", + "url": "https://github.com/Bastardkb/TBK-Mini", + "keyboard_name": "TBK Mini", "usb": { - "pid": "0x1828" + "pid": "0x1828", + "device_version": "2.0.0" }, + "features": { + "bootmagic": true, + "mousekey": true, + "extrakey": true, + "rgb_matrix": true + }, + "split": { + "enabled": true + }, + "diode_direction": "ROW2COL", "rgb_matrix": { + "driver": "ws2812", + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0, "flags": 2}, + {"matrix": [1, 0], "x": 0, "y": 21, "flags": 2}, + {"matrix": [2, 0], "x": 0, "y": 42, "flags": 2}, + {"matrix": [2, 1], "x": 20, "y": 42, "flags": 4}, + {"matrix": [1, 1], "x": 20, "y": 21, "flags": 4}, + {"matrix": [0, 1], "x": 20, "y": 0, "flags": 4}, + {"matrix": [0, 2], "x": 41, "y": 0, "flags": 4}, + {"matrix": [1, 2], "x": 41, "y": 21, "flags": 4}, + {"matrix": [2, 2], "x": 41, "y": 42, "flags": 4}, + {"matrix": [2, 3], "x": 61, "y": 42, "flags": 4}, + {"matrix": [1, 3], "x": 61, "y": 21, "flags": 4}, + {"matrix": [0, 3], "x": 61, "y": 0, "flags": 4}, + {"matrix": [0, 4], "x": 81, "y": 0, "flags": 4}, + {"matrix": [1, 4], "x": 81, "y": 21, "flags": 4}, + {"matrix": [2, 4], "x": 81, "y": 42, "flags": 4}, + {"matrix": [0, 5], "x": 102, "y": 0, "flags": 4}, + {"matrix": [1, 5], "x": 102, "y": 21, "flags": 4}, + {"matrix": [2, 5], "x": 102, "y": 42, "flags": 4}, + {"matrix": [3, 1], "x": 61, "y": 64, "flags": 2}, + {"matrix": [3, 3], "x": 81, "y": 64, "flags": 2}, + {"matrix": [3, 4], "x": 102, "y": 64, "flags": 2}, + {"matrix": [4, 0], "x": 224, "y": 0, "flags": 2}, + {"matrix": [5, 0], "x": 224, "y": 21, "flags": 2}, + {"matrix": [6, 0], "x": 224, "y": 42, "flags": 2}, + {"matrix": [6, 1], "x": 204, "y": 42, "flags": 4}, + {"matrix": [5, 1], "x": 204, "y": 21, "flags": 4}, + {"matrix": [4, 1], "x": 204, "y": 0, "flags": 4}, + {"matrix": [4, 2], "x": 183, "y": 0, "flags": 4}, + {"matrix": [5, 2], "x": 183, "y": 21, "flags": 4}, + {"matrix": [6, 2], "x": 183, "y": 42, "flags": 4}, + {"matrix": [6, 3], "x": 163, "y": 42, "flags": 4}, + {"matrix": [5, 3], "x": 163, "y": 21, "flags": 4}, + {"matrix": [4, 3], "x": 163, "y": 0, "flags": 4}, + {"matrix": [4, 4], "x": 142, "y": 0, "flags": 4}, + {"matrix": [5, 4], "x": 142, "y": 21, "flags": 4}, + {"matrix": [6, 4], "x": 142, "y": 42, "flags": 4}, + {"matrix": [4, 5], "x": 122, "y": 0, "flags": 4}, + {"matrix": [5, 5], "x": 122, "y": 21, "flags": 4}, + {"matrix": [6, 5], "x": 122, "y": 42, "flags": 4}, + {"matrix": [7, 1], "x": 163, "y": 64, "flags": 2}, + {"matrix": [7, 3], "x": 142, "y": 64, "flags": 2}, + {"matrix": [7, 4], "x": 122, "y": 64, "flags": 2} + ], "max_brightness": 50, "sleep": true, "split_count": [21, 21] }, - "rgblight": { - "led_count": 42, - "split_count": [21, 21] - }, - "split": { - "transport": { - "sync": { - "matrix_state": true - } - } - }, "community_layouts": ["split_3x6_3"], "layouts": { "LAYOUT_split_3x6_3": { @@ -29,46 +75,39 @@ {"matrix": [0, 3], "x": 3, "y": 0}, {"matrix": [0, 4], "x": 4, "y": 0}, {"matrix": [0, 5], "x": 5, "y": 0}, - {"matrix": [4, 5], "x": 11, "y": 0}, {"matrix": [4, 4], "x": 12, "y": 0}, {"matrix": [4, 3], "x": 13, "y": 0}, {"matrix": [4, 2], "x": 14, "y": 0}, {"matrix": [4, 1], "x": 15, "y": 0}, {"matrix": [4, 0], "x": 16, "y": 0}, - {"matrix": [1, 0], "x": 0, "y": 1}, {"matrix": [1, 1], "x": 1, "y": 1}, {"matrix": [1, 2], "x": 2, "y": 1}, {"matrix": [1, 3], "x": 3, "y": 1}, {"matrix": [1, 4], "x": 4, "y": 1}, {"matrix": [1, 5], "x": 5, "y": 1}, - {"matrix": [5, 5], "x": 11, "y": 1}, {"matrix": [5, 4], "x": 12, "y": 1}, {"matrix": [5, 3], "x": 13, "y": 1}, {"matrix": [5, 2], "x": 14, "y": 1}, {"matrix": [5, 1], "x": 15, "y": 1}, {"matrix": [5, 0], "x": 16, "y": 1}, - {"matrix": [2, 0], "x": 0, "y": 2}, {"matrix": [2, 1], "x": 1, "y": 2}, {"matrix": [2, 2], "x": 2, "y": 2}, {"matrix": [2, 3], "x": 3, "y": 2}, {"matrix": [2, 4], "x": 4, "y": 2}, {"matrix": [2, 5], "x": 5, "y": 2}, - {"matrix": [6, 5], "x": 11, "y": 2}, {"matrix": [6, 4], "x": 12, "y": 2}, {"matrix": [6, 3], "x": 13, "y": 2}, {"matrix": [6, 2], "x": 14, "y": 2}, {"matrix": [6, 1], "x": 15, "y": 2}, {"matrix": [6, 0], "x": 16, "y": 2}, - {"matrix": [3, 3], "x": 5, "y": 3}, {"matrix": [3, 4], "x": 6, "y": 3}, {"matrix": [3, 1], "x": 7, "y": 3}, - {"matrix": [7, 1], "x": 9, "y": 3}, {"matrix": [7, 4], "x": 10, "y": 3}, {"matrix": [7, 3], "x": 11, "y": 3} diff --git a/keyboards/bastardkb/tbkmini/keymaps/default/keymap.c b/keyboards/bastardkb/tbkmini/keymaps/default/keymap.c deleted file mode 100644 index d87e9c2a44..0000000000 --- a/keyboards/bastardkb/tbkmini/keymaps/default/keymap.c +++ /dev/null @@ -1,69 +0,0 @@ -/* - * Copyright 2021 Quentin LEBASTARD - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - [0] = LAYOUT_split_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, KC_SPC, MO(1), MO(2), KC_ENT, 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, _______, MO(3), KC_ENT, 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, KC_SPC, MO(3), _______, KC_ENT, KC_RALT - //`--------------------------' `--------------------------' - ), - - [3] = LAYOUT_split_3x6_3( - //,-----------------------------------------------------. ,-----------------------------------------------------. - QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - RM_TOGG, RM_HUEU, RM_SATU, RM_VALU, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - RM_NEXT, RM_HUED, RM_SATD, RM_VALD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - KC_LGUI, KC_SPC, _______, _______, KC_ENT, KC_RALT - //`--------------------------' `--------------------------' - )}; diff --git a/keyboards/bastardkb/tbkmini/keymaps/default/keymap.json b/keyboards/bastardkb/tbkmini/keymaps/default/keymap.json new file mode 100644 index 0000000000..72ca022da9 --- /dev/null +++ b/keyboards/bastardkb/tbkmini/keymaps/default/keymap.json @@ -0,0 +1,25 @@ +{ + "keyboard": "bastardkb/tbkmini/promicro", + "keymap": "default", + "layout": "LAYOUT_split_3x6_3", + "layers": [ + [ + "KC_TAB", "KC_Q", "KC_W", "KC_E", "KC_R", "KC_T", "KC_Y", "KC_U", "KC_I", "KC_O", "KC_P", "KC_BSPC", + "KC_LCTL", "KC_A", "KC_S", "KC_D", "KC_F", "KC_G", "KC_H", "KC_J", "KC_K", "KC_L", "KC_SCLN", "KC_QUOT", + "KC_LSFT", "KC_Z", "KC_X", "KC_C", "KC_V", "KC_B", "KC_N", "KC_M", "KC_COMM", "KC_DOT", "KC_SLSH", "KC_ESC", + "KC_LGUI", "MO(1)", "KC_SPC", "KC_ENT", "MO(2)", "KC_RALT" + ], + [ + "_______", "KC_1", "KC_2", "KC_3", "KC_4", "KC_5", "KC_6", "KC_7", "KC_8", "KC_9", "KC_0", "_______", + "_______", "KC_EXLM", "KC_AT", "KC_HASH", "KC_DLR", "KC_PERC", "KC_CIRC", "KC_AMPR", "KC_ASTR", "KC_LPRN", "KC_RPRN", "_______", + "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", + "_______", "_______", "_______", "_______", "_______", "_______" + ], + [ + "QK_BOOT", "_______", "_______", "_______", "_______", "_______", "RM_VALU", "RM_HUEU", "RM_SATU", "RM_NEXT", "RM_TOGG", "_______", + "EE_CLR", "_______", "_______", "_______", "_______", "_______", "RM_VALD", "RM_HUED", "RM_SATD", "RM_PREV", "CK_TOGG", "_______", + "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", + "_______", "_______", "_______", "_______", "_______", "_______" + ] + ] +} diff --git a/keyboards/bastardkb/tbkmini/promicro/keyboard.json b/keyboards/bastardkb/tbkmini/promicro/keyboard.json new file mode 100644 index 0000000000..c1e653ffc1 --- /dev/null +++ b/keyboards/bastardkb/tbkmini/promicro/keyboard.json @@ -0,0 +1,15 @@ +{ + "development_board": "elite_c", + "matrix_pins": { + "cols": ["F6", "F5", "B6", "D7", "E6", "B4"], + "rows": ["F7", "C6", "D4", "B5"] + }, + "split": { + "serial": { + "pin": "D2" + } + }, + "ws2812": { + "pin": "D3" + } +} diff --git a/keyboards/bastardkb/tbkmini/readme.md b/keyboards/bastardkb/tbkmini/readme.md index 74e24ff506..87f6cdcf2f 100644 --- a/keyboards/bastardkb/tbkmini/readme.md +++ b/keyboards/bastardkb/tbkmini/readme.md @@ -1,29 +1,27 @@ # TBK Mini -A split, compact ergonomic keyboard. +* Keyboard Maintainer: [Quentin Lebastard](https://github.com/bastardkb) +* Hardware Supported: BastardKB Blackpill or Pro Micro adapter & compatible development boards +* Hardware Availability: [GitHub](https://github.com/Bastardkb/TBK-Mini) -* Keyboard Maintainer: [Bastard Keyboards](https://github.com/Bastardkb/) -* Hardware Supported: elite-C V4 -* Hardware Availability: [Bastardkb.com](https://bastardkb.com/) +Make example for this keyboard (after setting up your build environment): -## Building the firmware + make bastardkb/tbkmini/blackpill:default + make bastardkb/tbkmini/promicro:default -**You must specify the shield version when compiling/flashing the firmware.** +Flashing example for this keyboard: -The template is: + make bastardkb/tbkmini/blackpill:default:flash + make bastardkb/tbkmini/promicro:default:flash -```shell -qmk compile -kb bastardkb/tbkmini/{VERSION}/elitec -km {KEYMAP} -``` - -| Shield Version | default | via | -| --------------- | -------------------------------------------------------------- | ---------------------------------------------------------- | -| v1 (Elite-C) | `qmk compile -kb bastardkb/tbkmini/v1/elitec -km default` | `qmk compile -kb bastardkb/tbkmini/v1/elitec -km via` | -| v2 (Elite-C) | `qmk compile -kb bastardkb/tbkmini/v2/elitec -km default` | `qmk compile -kb bastardkb/tbkmini/v2/elitec -km via` | -| v2 (Splinky v2) | `qmk compile -kb bastardkb/tbkmini/v2/splinky/v2 -km default` | `qmk compile -kb bastardkb/tbkmini/v2/splinky/v2 -km via` | -| v2 (Splinky v3) | `qmk compile -kb bastardkb/tbkmini/v2/splinky/v3 -km default` | `qmk compile -kb bastardkb/tbkmini/v2/splinky/v3 -km via` | -| v2 (STeMCell) | `qmk compile -kb bastardkb/tbkmini/v2/stemcell -km default` | `qmk compile -kb bastardkb/tbkmini/v2/stemcell -km via` | +Note if using the `promicro` version: If you are using an Elite-C compatible development board, see [here](../readme.md#handedness-pin-on-elite-c-holder) for setting handedness by pin. 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](http://docs.bastardkb.com/) +## Bootloader + +Enter the bootloader in 3 ways: + +* **Bootmagic reset**: Hold down the key at (0,0) in the matrix and plug in the keyboard +* **Physical reset button**: Briefly press the button on the back of the adapter PCB +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/bastardkb/tbkmini/tbkmini.c b/keyboards/bastardkb/tbkmini/tbkmini.c deleted file mode 100644 index 51baefb737..0000000000 --- a/keyboards/bastardkb/tbkmini/tbkmini.c +++ /dev/null @@ -1,61 +0,0 @@ -/** - * Copyright 2021 Quentin LEBASTARD - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include "quantum.h" - -// clang-format off -#ifdef RGB_MATRIX_ENABLE -led_config_t g_led_config = { { - // left - { 0, 5, 6, 11, 12, 15 }, - { 1, 4, 7, 10, 13, 16 }, - { 2, 3, 8, 9, 14, 17 }, - { NO_LED, 18, NO_LED, 19, 20, NO_LED }, - // right - { 21, 26, 27, 32, 33, 36 }, - { 22, 25, 28, 31, 34, 37 }, - { 23, 24, 29, 30, 35, 38 }, - { NO_LED, 39, NO_LED, 40, 41, NO_LED } -}, { - // left - { 0, 0 }, { 0, 21 }, { 0, 42 }, // col 1 - { 20, 42 }, { 20, 21 }, { 20, 0 }, // col 2 - { 41, 0 }, { 41, 21 }, { 41, 42 }, - { 61, 42 }, { 61, 21 }, { 61, 0 }, - { 81, 0 }, { 81, 21 }, { 81, 42 }, - { 102, 0 }, { 102, 21 }, { 102, 42 }, - { 61, 64 }, { 81, 64 }, { 102, 64 }, // left thumb cluster - // right - { 224, 0 }, { 224, 21 }, { 224, 42 }, // col 12 - { 204, 42 }, { 204, 21 }, { 204, 0 }, // col 11 - { 183, 0 }, { 183, 21 }, { 183, 42 }, - { 163, 42 }, { 163, 21 }, { 163, 0 }, - { 142, 0 }, { 142, 21 }, { 142, 42 }, - { 122, 0 }, { 122, 21 }, { 122, 42 }, - { 163, 64 }, { 142, 64 }, { 122, 64 } // right thumb cluster -}, { - // left - 2, 2, 2, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, - 2, 2, 2, - // right - 2, 2, 2, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, - 2, 2, 2 -} }; -#endif -// clang-format on diff --git a/keyboards/bastardkb/tbkmini/v1/elitec/config.h b/keyboards/bastardkb/tbkmini/v1/elitec/config.h deleted file mode 100644 index 41b5aa1c66..0000000000 --- a/keyboards/bastardkb/tbkmini/v1/elitec/config.h +++ /dev/null @@ -1,22 +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 - -/* Handedness. */ -#define MASTER_RIGHT diff --git a/keyboards/bastardkb/tbkmini/v1/elitec/keyboard.json b/keyboards/bastardkb/tbkmini/v1/elitec/keyboard.json deleted file mode 100644 index 5110ea0d74..0000000000 --- a/keyboards/bastardkb/tbkmini/v1/elitec/keyboard.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "keyboard_name": "TBK Mini Elite-C", - "usb": { - "device_version": "1.0.0" - }, - "features": { - "bootmagic": true, - "mousekey": true, - "extrakey": true, - "rgb_matrix": true - }, - "ws2812": { - "pin": "D2" - }, - "rgb_matrix": { - "driver": "ws2812" - }, - "matrix_pins": { - "cols": ["B4", "E6", "C6", "B1", "B3", "B2"], - "rows": ["B5", "F7", "F6", "B6"] - }, - "diode_direction": "ROW2COL", - "split": { - "enabled": true, - "serial": { - "pin": "D0" - } - }, - "processor": "atmega32u4", - "bootloader": "atmel-dfu" -} diff --git a/keyboards/bastardkb/tbkmini/v1/elitec/rules.mk b/keyboards/bastardkb/tbkmini/v1/elitec/rules.mk deleted file mode 100644 index 1868c4bb02..0000000000 --- a/keyboards/bastardkb/tbkmini/v1/elitec/rules.mk +++ /dev/null @@ -1 +0,0 @@ -AUDIO_SUPPORTED = no # Audio is not supported diff --git a/keyboards/bastardkb/tbkmini/v2/elitec/config.h b/keyboards/bastardkb/tbkmini/v2/elitec/config.h deleted file mode 100644 index e6b7fefa66..0000000000 --- a/keyboards/bastardkb/tbkmini/v2/elitec/config.h +++ /dev/null @@ -1,21 +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 - -/* Handedness. */ -#define MASTER_RIGHT diff --git a/keyboards/bastardkb/tbkmini/v2/elitec/keyboard.json b/keyboards/bastardkb/tbkmini/v2/elitec/keyboard.json deleted file mode 100644 index 701ec6af28..0000000000 --- a/keyboards/bastardkb/tbkmini/v2/elitec/keyboard.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "keyboard_name": "TBK Mini Elite-C", - "usb": { - "device_version": "2.0.0" - }, - "features": { - "bootmagic": true, - "mousekey": true, - "extrakey": true, - "rgb_matrix": true - }, - "ws2812": { - "pin": "D3" - }, - "rgb_matrix": { - "driver": "ws2812" - }, - "matrix_pins": { - "cols": ["F6", "F5", "B6", "D7", "E6", "B4"], - "rows": ["F7", "C6", "D4", "B5"] - }, - "diode_direction": "ROW2COL", - "split": { - "enabled": true, - "serial": { - "pin": "D2" - } - }, - "processor": "atmega32u4", - "bootloader": "atmel-dfu" -} diff --git a/keyboards/bastardkb/tbkmini/v2/elitec/rules.mk b/keyboards/bastardkb/tbkmini/v2/elitec/rules.mk deleted file mode 100644 index 1868c4bb02..0000000000 --- a/keyboards/bastardkb/tbkmini/v2/elitec/rules.mk +++ /dev/null @@ -1 +0,0 @@ -AUDIO_SUPPORTED = no # Audio is not supported diff --git a/keyboards/bastardkb/tbkmini/v2/splinky_2/config.h b/keyboards/bastardkb/tbkmini/v2/splinky_2/config.h deleted file mode 100644 index 977fb0a6e8..0000000000 --- a/keyboards/bastardkb/tbkmini/v2/splinky_2/config.h +++ /dev/null @@ -1,31 +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 - -/* Handedness. */ -#define MASTER_RIGHT - -// To use the handedness pin, resistors need to be installed on the adapter PCB. -// If so, uncomment the following code, and undefine MASTER_RIGHT above. -// #define SPLIT_HAND_PIN GP13 -// #define SPLIT_HAND_PIN_LOW_IS_LEFT // High -> right, Low -> left. - -/* Reset. */ -#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET -#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_LED GP17 -#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 1000U diff --git a/keyboards/bastardkb/tbkmini/v2/splinky_2/keyboard.json b/keyboards/bastardkb/tbkmini/v2/splinky_2/keyboard.json deleted file mode 100644 index 15db3db6e8..0000000000 --- a/keyboards/bastardkb/tbkmini/v2/splinky_2/keyboard.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "keyboard_name": "TBK Mini Splinky", - "usb": { - "device_version": "2.0.0" - }, - "features": { - "bootmagic": true, - "mousekey": false, - "extrakey": true, - "rgb_matrix": true - }, - "rgb_matrix": { - "driver": "ws2812" - }, - "matrix_pins": { - "cols": ["GP27", "GP28", "GP15", "GP6", "GP7", "GP8"], - "rows": ["GP26", "GP5", "GP4", "GP9"] - }, - "diode_direction": "ROW2COL", - "split": { - "enabled": true, - "serial": { - "pin": "GP1" - } - }, - "ws2812": { - "pin": "GP0", - "driver": "vendor" - }, - "processor": "RP2040", - "bootloader": "rp2040" -} diff --git a/keyboards/bastardkb/tbkmini/v2/splinky_2/readme.md b/keyboards/bastardkb/tbkmini/v2/splinky_2/readme.md deleted file mode 100644 index 662eb5825c..0000000000 --- a/keyboards/bastardkb/tbkmini/v2/splinky_2/readme.md +++ /dev/null @@ -1,5 +0,0 @@ -# Splinky controller - -The splinky is a Pro-Micro/Elite-C replacement with USB-C and RP2040. - -See [plut0nium/0xB2](https://github.com/plut0nium/0xB2/#releases) to figure out the right version for you (v2 or v3). diff --git a/keyboards/bastardkb/tbkmini/v2/splinky_2/rules.mk b/keyboards/bastardkb/tbkmini/v2/splinky_2/rules.mk deleted file mode 100644 index 077573eb76..0000000000 --- a/keyboards/bastardkb/tbkmini/v2/splinky_2/rules.mk +++ /dev/null @@ -1,3 +0,0 @@ -AUDIO_SUPPORTED = no # Audio is not supported - -SERIAL_DRIVER = vendor diff --git a/keyboards/bastardkb/tbkmini/v2/splinky_3/config.h b/keyboards/bastardkb/tbkmini/v2/splinky_3/config.h deleted file mode 100644 index e496023656..0000000000 --- a/keyboards/bastardkb/tbkmini/v2/splinky_3/config.h +++ /dev/null @@ -1,31 +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 - -/* Handedness. */ -#define MASTER_RIGHT - -// To use the handedness pin, resistors need to be installed on the adapter PCB. -// If so, uncomment the following code, and undefine MASTER_RIGHT above. -// #define SPLIT_HAND_PIN GP15 -// #define SPLIT_HAND_PIN_LOW_IS_LEFT // High -> right, Low -> left. - -/* Reset. */ -#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET -#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_LED GP17 -#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 1000U diff --git a/keyboards/bastardkb/tbkmini/v2/splinky_3/keyboard.json b/keyboards/bastardkb/tbkmini/v2/splinky_3/keyboard.json deleted file mode 100644 index 3936b9368a..0000000000 --- a/keyboards/bastardkb/tbkmini/v2/splinky_3/keyboard.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "keyboard_name": "TBK Mini Splinky", - "usb": { - "device_version": "2.0.0" - }, - "features": { - "bootmagic": true, - "mousekey": false, - "extrakey": true, - "rgb_matrix": true - }, - "rgb_matrix": { - "driver": "ws2812" - }, - "matrix_pins": { - "cols": ["GP27", "GP28", "GP21", "GP6", "GP7", "GP8"], - "rows": ["GP26", "GP5", "GP4", "GP9"] - }, - "diode_direction": "ROW2COL", - "split": { - "enabled": true, - "serial": { - "pin": "GP1" - } - }, - "ws2812": { - "pin": "GP0", - "driver": "vendor" - }, - "processor": "RP2040", - "bootloader": "rp2040" -} diff --git a/keyboards/bastardkb/tbkmini/v2/splinky_3/readme.md b/keyboards/bastardkb/tbkmini/v2/splinky_3/readme.md deleted file mode 100644 index 662eb5825c..0000000000 --- a/keyboards/bastardkb/tbkmini/v2/splinky_3/readme.md +++ /dev/null @@ -1,5 +0,0 @@ -# Splinky controller - -The splinky is a Pro-Micro/Elite-C replacement with USB-C and RP2040. - -See [plut0nium/0xB2](https://github.com/plut0nium/0xB2/#releases) to figure out the right version for you (v2 or v3). diff --git a/keyboards/bastardkb/tbkmini/v2/splinky_3/rules.mk b/keyboards/bastardkb/tbkmini/v2/splinky_3/rules.mk deleted file mode 100644 index 077573eb76..0000000000 --- a/keyboards/bastardkb/tbkmini/v2/splinky_3/rules.mk +++ /dev/null @@ -1,3 +0,0 @@ -AUDIO_SUPPORTED = no # Audio is not supported - -SERIAL_DRIVER = vendor diff --git a/keyboards/bastardkb/tbkmini/v2/stemcell/config.h b/keyboards/bastardkb/tbkmini/v2/stemcell/config.h deleted file mode 100644 index ca1cc0f719..0000000000 --- a/keyboards/bastardkb/tbkmini/v2/stemcell/config.h +++ /dev/null @@ -1,38 +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 - -/* Handedness. */ -#define MASTER_RIGHT - -// To use the handedness pin, resistors need to be installed on the adapter PCB. -// If so, uncomment the following code, and undefine MASTER_RIGHT above. -// #define A0 PAL_LINE(GPIOA, 0) -// #define SPLIT_HAND_PIN A0 -// #define SPLIT_HAND_PIN_LOW_IS_LEFT // High -> right, Low -> left. - -/* RGB settings. */ -#define WS2812_PWM_DRIVER PWMD2 -#define WS2812_PWM_CHANNEL 4 -#define WS2812_PWM_PAL_MODE 1 -#define WS2812_PWM_DMA_STREAM STM32_DMA1_STREAM7 -#define WS2812_PWM_DMA_CHANNEL 3 - -/* CRC. */ -#define CRC8_USE_TABLE -#define CRC8_OPTIMIZE_SPEED diff --git a/keyboards/bastardkb/tbkmini/v2/stemcell/halconf.h b/keyboards/bastardkb/tbkmini/v2/stemcell/halconf.h deleted file mode 100644 index dbeb6aeaa0..0000000000 --- a/keyboards/bastardkb/tbkmini/v2/stemcell/halconf.h +++ /dev/null @@ -1,23 +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 - -#define HAL_USE_PWM TRUE -#define HAL_USE_SERIAL TRUE - -#include_next diff --git a/keyboards/bastardkb/tbkmini/v2/stemcell/keyboard.json b/keyboards/bastardkb/tbkmini/v2/stemcell/keyboard.json deleted file mode 100644 index 2cbee7fe17..0000000000 --- a/keyboards/bastardkb/tbkmini/v2/stemcell/keyboard.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "keyboard_name": "TBK Mini STeMCell", - "usb": { - "device_version": "2.0.0" - }, - "features": { - "bootmagic": true, - "mousekey": true, - "extrakey": true, - "rgb_matrix": true - }, - "rgb_matrix": { - "driver": "ws2812" - }, - "ws2812": { - "pin": "A2", - "driver": "pwm" - }, - "build": { - "debounce_type": "asym_eager_defer_pk" - }, - "matrix_pins": { - "cols": ["B1", "B2", "A4", "B4", "B5", "B8"], - "rows": ["B0", "B3", "A15", "B9"] - }, - "diode_direction": "ROW2COL", - "split": { - "enabled": true, - "serial": { - "pin": "A3" - } - }, - "development_board": "stemcell" -} diff --git a/keyboards/bastardkb/tbkmini/v2/stemcell/mcuconf.h b/keyboards/bastardkb/tbkmini/v2/stemcell/mcuconf.h deleted file mode 100644 index 6afebade36..0000000000 --- a/keyboards/bastardkb/tbkmini/v2/stemcell/mcuconf.h +++ /dev/null @@ -1,29 +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 - -#include_next - -#undef STM32_SERIAL_USE_USART1 -#define STM32_SERIAL_USE_USART1 FALSE - -#undef STM32_PWM_USE_TIM2 -#define STM32_PWM_USE_TIM2 TRUE - -#undef STM32_ST_USE_TIMER -#define STM32_ST_USE_TIMER 5 diff --git a/keyboards/bastardkb/tbkmini/v2/stemcell/rules.mk b/keyboards/bastardkb/tbkmini/v2/stemcell/rules.mk deleted file mode 100644 index 3fe3e4ffbe..0000000000 --- a/keyboards/bastardkb/tbkmini/v2/stemcell/rules.mk +++ /dev/null @@ -1,3 +0,0 @@ -AUDIO_SUPPORTED = no # Audio is not supported - -SERIAL_DRIVER = usart diff --git a/keyboards/bbrfkr/dynamis/dynamis.c b/keyboards/bbrfkr/dynamis/dynamis.c index f21bf24900..9bf7fb6ae1 100644 --- a/keyboards/bbrfkr/dynamis/dynamis.c +++ b/keyboards/bbrfkr/dynamis/dynamis.c @@ -20,9 +20,9 @@ bool encoder_update_kb(uint8_t index, bool clockwise) { if (!encoder_update_user(index, clockwise)) { return false; } if (clockwise) { - tap_code(layer_state == 0 ? KC_WH_D : KC_VOLD); + tap_code(layer_state == 0 ? MS_WHLD : KC_VOLD); } else { - tap_code(layer_state == 0 ? KC_WH_U : KC_VOLU); + tap_code(layer_state == 0 ? MS_WHLU : KC_VOLU); } return true; } diff --git a/keyboards/bbrfkr/dynamis/keymaps/default/keymap.c b/keyboards/bbrfkr/dynamis/keymaps/default/keymap.c index e27d17827c..301a9003c8 100644 --- a/keyboards/bbrfkr/dynamis/keymaps/default/keymap.c +++ b/keyboards/bbrfkr/dynamis/keymaps/default/keymap.c @@ -37,7 +37,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_BTN3, KC_BTN2, KC_BTN1, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, MS_BTN3, MS_BTN2, MS_BTN1, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LGUI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MO(3), KC_RGUI, KC_TRNS, KC_TRNS, KC_TRNS, KC_MUTE ), diff --git a/keyboards/bbrfkr/dynamis/keymaps/iso/keymap.c b/keyboards/bbrfkr/dynamis/keymaps/iso/keymap.c index 38a56f56f4..ecd1d69c11 100644 --- a/keyboards/bbrfkr/dynamis/keymaps/iso/keymap.c +++ b/keyboards/bbrfkr/dynamis/keymaps/iso/keymap.c @@ -37,7 +37,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_ESC, KC_F1, 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_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_BTN3, KC_BTN2, KC_BTN1, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, MS_BTN3, MS_BTN2, MS_BTN1, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LGUI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MO(3), KC_RGUI, KC_TRNS, KC_TRNS, KC_TRNS, KC_MUTE ), diff --git a/keyboards/beatervan/keyboard.json b/keyboards/beatervan/keyboard.json index f1a6380727..685f713501 100644 --- a/keyboards/beatervan/keyboard.json +++ b/keyboards/beatervan/keyboard.json @@ -26,8 +26,7 @@ "rows": ["D1", "D0", "D4", "C6"] }, "diode_direction": "COL2ROW", - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/biacco42/ergo42/rev1/keyboard.json b/keyboards/biacco42/ergo42/rev1/keyboard.json index 4639bf9639..2ccf9887df 100644 --- a/keyboards/biacco42/ergo42/rev1/keyboard.json +++ b/keyboards/biacco42/ergo42/rev1/keyboard.json @@ -36,8 +36,7 @@ "pin": "D0" } }, - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "layout_aliases": { "LAYOUT": "LAYOUT_ortho_4x14" }, diff --git a/keyboards/biacco42/meishi/keyboard.json b/keyboards/biacco42/meishi/keyboard.json index 99f7c5debb..08f2edcb38 100644 --- a/keyboards/biacco42/meishi/keyboard.json +++ b/keyboards/biacco42/meishi/keyboard.json @@ -26,8 +26,7 @@ "rows": ["B5"] }, "diode_direction": "COL2ROW", - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/biacco42/meishi2/keyboard.json b/keyboards/biacco42/meishi2/keyboard.json index 137c429ff1..9e630c7df8 100644 --- a/keyboards/biacco42/meishi2/keyboard.json +++ b/keyboards/biacco42/meishi2/keyboard.json @@ -26,8 +26,7 @@ "rows": ["D7", "E6"] }, "diode_direction": "COL2ROW", - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/binepad/bnr1/keymaps/default/keymap.c b/keyboards/binepad/bnr1/keymaps/default/keymap.c index 4e7b0cf6eb..3ba547b2af 100644 --- a/keyboards/binepad/bnr1/keymaps/default/keymap.c +++ b/keyboards/binepad/bnr1/keymaps/default/keymap.c @@ -22,7 +22,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { [_L0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, - [_L1] = { ENCODER_CCW_CW(KC_MS_WH_DOWN, KC_MS_WH_UP) } + [_L1] = { ENCODER_CCW_CW(MS_WHLD, MS_WHLU) } }; #endif diff --git a/keyboards/binepad/kn01/keymaps/default/keymap.json b/keyboards/binepad/kn01/keymaps/default/keymap.json index d6a3835f6c..f4e436cbc6 100644 --- a/keyboards/binepad/kn01/keymaps/default/keymap.json +++ b/keyboards/binepad/kn01/keymaps/default/keymap.json @@ -13,8 +13,8 @@ ], [ { - "ccw": "KC_MS_WH_DOWN", - "cw": "KC_MS_WH_UP" + "ccw": "MS_WHLD", + "cw": "MS_WHLU" } ] ], diff --git a/keyboards/binepad/pixie/keymaps/default/keymap.c b/keyboards/binepad/pixie/keymaps/default/keymap.c index b49c4db6de..a8e2a12303 100644 --- a/keyboards/binepad/pixie/keymaps/default/keymap.c +++ b/keyboards/binepad/pixie/keymaps/default/keymap.c @@ -15,7 +15,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), - ENCODER_CCW_CW(KC_WH_U, KC_WH_D) + ENCODER_CCW_CW(MS_WHLU, MS_WHLD) } }; diff --git a/keyboards/blockey/keyboard.json b/keyboards/blockey/keyboard.json index e9c5ceafa1..a8d7113846 100644 --- a/keyboards/blockey/keyboard.json +++ b/keyboards/blockey/keyboard.json @@ -46,8 +46,7 @@ "rows": ["D3", "D1", "D4", "E6", "B5", "D2", "F6", "B3", "B2", "B6"] }, "diode_direction": "COL2ROW", - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/bluebell/swoop/keyboard.json b/keyboards/bluebell/swoop/keyboard.json index 08f61ac20d..1ab8cd090a 100644 --- a/keyboards/bluebell/swoop/keyboard.json +++ b/keyboards/bluebell/swoop/keyboard.json @@ -53,8 +53,7 @@ "pin": "D2" } }, - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "community_layouts": ["split_3x5_3"], "layouts": { "LAYOUT_split_3x5_3": { diff --git a/keyboards/boardsource/unicorne/keyboard.json b/keyboards/boardsource/unicorne/keyboard.json index da1c3a787e..c87f8dd83a 100644 --- a/keyboards/boardsource/unicorne/keyboard.json +++ b/keyboards/boardsource/unicorne/keyboard.json @@ -118,9 +118,9 @@ {"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} + {"matrix": [4, 0], "x": 223, "y": 7, "flags": 1}, + {"matrix": [5, 0], "x": 223, "y": 24, "flags": 1}, + {"matrix": [6, 0], "x": 223, "y": 41, "flags": 1} ], "sleep": true }, diff --git a/keyboards/bt66tech/bt66tech60/keyboard.json b/keyboards/bt66tech/bt66tech60/keyboard.json index 9f747397c3..2b476a6eea 100644 --- a/keyboards/bt66tech/bt66tech60/keyboard.json +++ b/keyboards/bt66tech/bt66tech60/keyboard.json @@ -5,8 +5,12 @@ "usb": { "vid": "0x4254", "pid": "0x7070", - "device_version": "0.0.1", - "force_nkro": true + "device_version": "0.0.1" + }, + "host": { + "default": { + "nkro": true + } }, "features": { "backlight": true, diff --git a/keyboards/bt66tech/bt66tech60/keymaps/default/keymap.c b/keyboards/bt66tech/bt66tech60/keymaps/default/keymap.c index 5f4acc1b9d..c8bc919a86 100644 --- a/keyboards/bt66tech/bt66tech60/keymaps/default/keymap.c +++ b/keyboards/bt66tech/bt66tech60/keymaps/default/keymap.c @@ -34,9 +34,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_FN] = LAYOUT_60_ansi( KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, - KC_MS_ACCEL0, KC_MS_BTN1, KC_MS_UP, KC_MS_BTN2, _______, _______, _______, _______, _______, _______, KC_PSCR, _______, _______, _______, - KC_MS_ACCEL1, KC_MS_LEFT, KC_MS_DOWN,KC_MS_RIGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, - KC_MS_ACCEL2, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_UP, MO(_FN1), + MS_ACL0, MS_BTN1, MS_UP, MS_BTN2, _______, _______, _______, _______, _______, _______, KC_PSCR, _______, _______, _______, + MS_ACL1, MS_LEFT, MS_DOWN,MS_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, + MS_ACL2, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_UP, MO(_FN1), _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______ ), diff --git a/keyboards/bthlabs/geekpad/keyboard.json b/keyboards/bthlabs/geekpad/keyboard.json index 1ea302612a..2519925333 100644 --- a/keyboards/bthlabs/geekpad/keyboard.json +++ b/keyboards/bthlabs/geekpad/keyboard.json @@ -19,8 +19,7 @@ "rows": ["F4", "F5", "F6"] }, "diode_direction": "COL2ROW", - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/bubble75/hotswap/keyboard.json b/keyboards/bubble75/hotswap/keyboard.json index 92f57144ce..47f658349f 100644 --- a/keyboards/bubble75/hotswap/keyboard.json +++ b/keyboards/bubble75/hotswap/keyboard.json @@ -6,9 +6,13 @@ "vid": "0x4242", "pid": "0x5A4C", "device_version": "0.0.1", - "force_nkro": true, "no_startup_check": true }, + "host": { + "default": { + "nkro": true + } + }, "features": { "bootmagic": true, "mousekey": false, diff --git a/keyboards/buzzard/keymaps/default/keymap.c b/keyboards/buzzard/keymaps/default/keymap.c index 7ca3ddc7de..9e9fe20577 100644 --- a/keyboards/buzzard/keymaps/default/keymap.c +++ b/keyboards/buzzard/keymaps/default/keymap.c @@ -52,13 +52,13 @@ enum layers { #define SFT_TAB MT(MOD_LSFT, KC_TAB) // Thumbcluster -#define UC_TL1 KC_BTN1 +#define UC_TL1 MS_BTN1 #define UC_TL2 LT(NAVR, KC_SPC) #define UC_TL3 LT(NUMR, KC_TAB) #define UC_TR3 LT(FUNL, KC_BSPC) #define UC_TR2 LT(SYMB, KC_ENT) -#define UC_TR1 KC_BTN2 +#define UC_TR1 MS_BTN2 // Shortcuts #define UC_COPY LCTL(KC_C) @@ -90,7 +90,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , 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_DEL, CTL_ESC, KC_Z , RALT_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, RALT_DT, KC_SLSH, ADJL , - KC_BTN1, UC_TL2 , UC_TL3 , UC_TR3 , UC_TR2 , UC_TR1 + MS_BTN1, UC_TL2 , UC_TL3 , UC_TR3 , UC_TR2 , UC_TR1 ), // /* @@ -113,7 +113,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_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 , _______, + _______, _______, _______, _______, _______, _______, UC_PSTE, KC_HOME, MS_WHLU, MS_WHLD, KC_END , _______, _______, _______, _______, KC_BSPC, KC_ENT , _______ ), // -------------------------------------------------------------------------------------------------------------------------------------------------------- @@ -264,7 +264,7 @@ uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record) { bool get_haptic_enabled_key(uint16_t keycode, keyrecord_t *record) { switch (keycode) { - case KC_BTN1 ... KC_BTN5: + case MS_BTN1 ... MS_BTN5: return true; break; } diff --git a/keyboards/cannonkeys/ortho48v2/keymaps/default/keymap.c b/keyboards/cannonkeys/ortho48v2/keymaps/default/keymap.c index 7bfc7a5cf0..b961c50e36 100644 --- a/keyboards/cannonkeys/ortho48v2/keymaps/default/keymap.c +++ b/keyboards/cannonkeys/ortho48v2/keymaps/default/keymap.c @@ -86,7 +86,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { #if defined(ENCODER_MAP_ENABLE) const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { [_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, - [_LOWER] = { ENCODER_CCW_CW(KC_MS_WH_UP, KC_MS_WH_DOWN) }, - [_RAISE] = { ENCODER_CCW_CW(KC_MS_WH_LEFT, KC_MS_WH_RIGHT) }, + [_LOWER] = { ENCODER_CCW_CW(MS_WHLU, MS_WHLD) }, + [_RAISE] = { ENCODER_CCW_CW(MS_WHLL, MS_WHLR) }, }; #endif diff --git a/keyboards/cannonkeys/sagittarius/keymaps/default/keymap.c b/keyboards/cannonkeys/sagittarius/keymaps/default/keymap.c index a97574c774..5dbb6b8b87 100644 --- a/keyboards/cannonkeys/sagittarius/keymaps/default/keymap.c +++ b/keyboards/cannonkeys/sagittarius/keymaps/default/keymap.c @@ -47,7 +47,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { #if defined(ENCODER_MAP_ENABLE) const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { - [0] = { ENCODER_CCW_CW(KC_MS_WH_UP, KC_MS_WH_DOWN), ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(UG_HUED, UG_HUEU), ENCODER_CCW_CW(UG_SATD, UG_SATU) }, - [1] = { ENCODER_CCW_CW(UG_VALD, UG_VALU), ENCODER_CCW_CW(UG_SPDD, UG_SPDU), ENCODER_CCW_CW(UG_PREV, UG_NEXT), ENCODER_CCW_CW(KC_RIGHT, KC_LEFT) }, + [0] = { ENCODER_CCW_CW(MS_WHLU, MS_WHLD), ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(UG_HUED, UG_HUEU), ENCODER_CCW_CW(UG_SATD, UG_SATU) }, + [1] = { ENCODER_CCW_CW(UG_VALD, UG_VALU), ENCODER_CCW_CW(UG_SPDD, UG_SPDU), ENCODER_CCW_CW(UG_PREV, UG_NEXT), ENCODER_CCW_CW(KC_RIGHT, KC_LEFT) }, }; #endif diff --git a/keyboards/cannonkeys/satisfaction75/rules.mk b/keyboards/cannonkeys/satisfaction75/rules.mk index c92469d1bd..25eebb9054 100644 --- a/keyboards/cannonkeys/satisfaction75/rules.mk +++ b/keyboards/cannonkeys/satisfaction75/rules.mk @@ -5,5 +5,3 @@ VPATH += keyboards/cannonkeys/lib/satisfaction75 SRC += satisfaction_encoder.c \ satisfaction_oled.c \ satisfaction_core.c - -DEFAULT_FOLDER = cannonkeys/satisfaction75/rev1 \ No newline at end of file diff --git a/keyboards/cata/keyboard.json b/keyboards/cata/keyboard.json new file mode 100644 index 0000000000..f6b5ef169f --- /dev/null +++ b/keyboards/cata/keyboard.json @@ -0,0 +1,65 @@ +{ + "manufacturer": "Steven Karrmann", + "keyboard_name": "Cata", + "maintainer": "skarrmann", + "bootloader": "rp2040", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "matrix_pins": { + "cols": ["GP9", "GP10", "GP11", "GP12", "GP13", "GP14"], + "rows": ["GP27", "GP5", "GP26", "GP6", "GP15", "GP7", "GP14", "GP8"] + }, + "processor": "RP2040", + "url": "https://github.com/skarrmann/cata", + "usb": { + "device_version": "1.0.0", + "pid": "0x0000", + "vid": "0xFEED" + }, + "community_layouts": ["split_3x5_2"], + "layouts": { + "LAYOUT_split_3x5_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": [1, 0], "x": 6, "y": 0}, + {"matrix": [1, 1], "x": 7, "y": 0}, + {"matrix": [1, 2], "x": 8, "y": 0}, + {"matrix": [1, 3], "x": 9, "y": 0}, + {"matrix": [1, 4], "x": 10, "y": 0}, + {"matrix": [2, 0], "x": 0, "y": 1}, + {"matrix": [2, 1], "x": 1, "y": 1}, + {"matrix": [2, 2], "x": 2, "y": 1}, + {"matrix": [2, 3], "x": 3, "y": 1}, + {"matrix": [2, 4], "x": 4, "y": 1}, + {"matrix": [3, 0], "x": 6, "y": 1}, + {"matrix": [3, 1], "x": 7, "y": 1}, + {"matrix": [3, 2], "x": 8, "y": 1}, + {"matrix": [3, 3], "x": 9, "y": 1}, + {"matrix": [3, 4], "x": 10, "y": 1}, + {"matrix": [4, 0], "x": 0, "y": 2}, + {"matrix": [4, 1], "x": 1, "y": 2}, + {"matrix": [4, 2], "x": 2, "y": 2}, + {"matrix": [4, 3], "x": 3, "y": 2}, + {"matrix": [4, 4], "x": 4, "y": 2}, + {"matrix": [5, 0], "x": 6, "y": 2}, + {"matrix": [5, 1], "x": 7, "y": 2}, + {"matrix": [5, 2], "x": 8, "y": 2}, + {"matrix": [5, 3], "x": 9, "y": 2}, + {"matrix": [5, 4], "x": 10, "y": 2}, + {"matrix": [6, 3], "x": 3, "y": 3}, + {"matrix": [6, 4], "x": 4, "y": 3}, + {"matrix": [7, 0], "x": 6, "y": 3}, + {"matrix": [7, 1], "x": 7, "y": 3} + ] + } + } +} diff --git a/keyboards/cata/keymaps/default/keymap.c b/keyboards/cata/keymaps/default/keymap.c new file mode 100644 index 0000000000..ac760ab014 --- /dev/null +++ b/keyboards/cata/keymaps/default/keymap.c @@ -0,0 +1,42 @@ +// Copyright 2025 Steven Karrmann (@skarrmann) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +enum layer_names { + _BASE, + _SYMBOL, + _NAVIGATION, + _FUNCTION +}; + +#define MO_SYM MO(_SYMBOL) +#define MO_NAV MO(_NAVIGATION) +#define MO_FUN MO(_FUNCTION) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_BASE] = LAYOUT_split_3x5_2( + KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , + KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_QUOT, + KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, + MO_NAV , KC_LSFT, KC_SPC , MO_SYM + ), + [_SYMBOL] = LAYOUT_split_3x5_2( + KC_SCLN, KC_LBRC, KC_RBRC, KC_5 , XXXXXXX, XXXXXXX, KC_6 , KC_MINS, KC_EQL , KC_GRV , + KC_1 , KC_2 , KC_3 , KC_4 , KC_BSLS, XXXXXXX, KC_7 , KC_8 , KC_9 , KC_0 , + OS_LGUI, OS_LALT, OS_LSFT, OS_LCTL, XXXXXXX, XXXXXXX, OS_RCTL, OS_RSFT, OS_RALT, OS_RGUI, + MO_FUN , _______, _______, _______ + ), + [_NAVIGATION] = LAYOUT_split_3x5_2( + KC_PSCR, KC_INS , KC_APP , KC_DEL , XXXXXXX, XXXXXXX, KC_HOME, KC_PGDN, KC_PGUP, KC_END , + KC_ESC , KC_TAB , KC_ENT , KC_BSPC, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP , KC_RGHT, + OS_LGUI, OS_LALT, OS_LSFT, OS_LCTL, XXXXXXX, XXXXXXX, OS_RCTL, OS_RSFT, OS_RALT, OS_RGUI, + _______, _______, _______, MO_FUN + ), + [_FUNCTION] = LAYOUT_split_3x5_2( + KC_F1 , KC_F2 , KC_F3 , KC_F4 , QK_BOOT, KC_SCRL, KC_F9 , KC_F10 , KC_F11 , KC_F12 , + KC_F5 , KC_F6 , KC_F7 , KC_F8 , XXXXXXX, KC_CAPS, KC_MUTE, KC_VOLD, KC_VOLU, KC_PAUS, + OS_LGUI, OS_LALT, OS_LSFT, OS_LCTL, XXXXXXX, KC_NUM, OS_RCTL, OS_RSFT, OS_RALT, OS_RGUI, + _______, _______, _______, _______ + ), +}; diff --git a/keyboards/cata/readme.md b/keyboards/cata/readme.md new file mode 100644 index 0000000000..c21750b16d --- /dev/null +++ b/keyboards/cata/readme.md @@ -0,0 +1,27 @@ +# Cata + +![Cata](https://i.imgur.com/6jGENr9.jpeg) + +Cata is a 34 key ortholinear keyboard, powered by a Waveshare RP2040-Zero. + +* Keyboard Maintainer: [skarrmann](https://github.com/skarrmann) +* Hardware Supported: Cata PCBs with RP2040-Zero +* Hardware Availability: [Cata GitHub repository](https://github.com/skarrmann/cata) + +Make example for this keyboard (after setting up your build environment): + + make cata:default + +Flashing example for this keyboard: + + make cata: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**: Double-tap the RESET button on the RP-2040 Zero (button on the right). +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available. diff --git a/keyboards/catch22/keyboard.json b/keyboards/catch22/keyboard.json index 3c1d9c5777..22aebe844a 100644 --- a/keyboards/catch22/keyboard.json +++ b/keyboards/catch22/keyboard.json @@ -38,8 +38,7 @@ "rows": ["B6", "B2", "B3", "B1", "F7"] }, "diode_direction": "COL2ROW", - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/cest73/tkm/keyboard.json b/keyboards/cest73/tkm/keyboard.json index 5fc85d0e75..31e592ec05 100644 --- a/keyboards/cest73/tkm/keyboard.json +++ b/keyboards/cest73/tkm/keyboard.json @@ -6,8 +6,12 @@ "usb": { "vid": "0xBADD", "pid": "0xAA55", - "device_version": "0.0.1", - "force_nkro": true + "device_version": "0.0.1" + }, + "host": { + "default": { + "nkro": true + } }, "features": { "backlight": true, diff --git a/keyboards/chaos65/keyboard.json b/keyboards/chaos65/keyboard.json index c2a3d4b1a5..87f03b3a75 100644 --- a/keyboards/chaos65/keyboard.json +++ b/keyboards/chaos65/keyboard.json @@ -6,8 +6,12 @@ "usb": { "vid": "0xB23B", "pid": "0x1688", - "device_version": "0.0.1", - "force_nkro": true + "device_version": "0.0.1" + }, + "host": { + "default": { + "nkro": true + } }, "features": { "bootmagic": true, diff --git a/keyboards/checkerboards/quark_plus/quark_plus.c b/keyboards/checkerboards/quark_plus/quark_plus.c index 84e2375a74..66b210ad7a 100644 --- a/keyboards/checkerboards/quark_plus/quark_plus.c +++ b/keyboards/checkerboards/quark_plus/quark_plus.c @@ -20,9 +20,9 @@ bool encoder_update_kb(uint8_t index, bool clockwise) { if (!encoder_update_user(index, clockwise)) { return false; } if (index == 1) { /* left encoder*/ if (clockwise){ - tap_code(KC_WH_U); + tap_code(MS_WHLU); } else { - tap_code(KC_WH_D); + tap_code(MS_WHLD); } } else if (index == 0) { /* right encoder */ if (clockwise){ diff --git a/keyboards/checkerboards/snop60/snop60.c b/keyboards/checkerboards/snop60/snop60.c index 641815f919..18445174f3 100644 --- a/keyboards/checkerboards/snop60/snop60.c +++ b/keyboards/checkerboards/snop60/snop60.c @@ -22,9 +22,9 @@ bool encoder_update_kb(uint8_t index, bool clockwise) { if (!encoder_update_user(index, clockwise)) { return false; } if (index == 1) { /* left encoder*/ if (clockwise){ - tap_code(KC_WH_U); + tap_code(MS_WHLU); } else { - tap_code(KC_WH_D); + tap_code(MS_WHLD); } } else if (index == 0) { /* right encoder */ if (clockwise){ diff --git a/keyboards/cheshire/curiosity/keymaps/default/keymap.c b/keyboards/cheshire/curiosity/keymaps/default/keymap.c index 18d371c58a..85bb51b7fd 100644 --- a/keyboards/cheshire/curiosity/keymaps/default/keymap.c +++ b/keyboards/cheshire/curiosity/keymaps/default/keymap.c @@ -37,8 +37,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_FNMS] = LAYOUT_default( UG_TOGG, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, - UG_NEXT, _______, _______, _______, _______, _______, _______, _______, _______, KC_MS_U, _______, _______, _______, _______, QK_BOOT, - _______, _______, _______, _______, _______, _______, _______, KC_BTN1, KC_MS_L, KC_MS_D, KC_MS_R, KC_BTN2, _______, _______, + UG_NEXT, _______, _______, _______, _______, _______, _______, _______, _______, MS_UP, _______, _______, _______, _______, QK_BOOT, + _______, _______, _______, _______, _______, _______, _______, MS_BTN1, MS_LEFT, MS_DOWN, MS_RGHT, MS_BTN2, _______, _______, _______, _______, _______, _______, _______, _______, UG_SATU, UG_HUEU, UG_VALU, UG_SATD, UG_HUED, UG_VALD, _______, _______, AG_TOGG, _______, _______, _______, _______, _______, _______ ), diff --git a/keyboards/chocofly/v1/keyboard.json b/keyboards/chocofly/v1/keyboard.json index ae2a710070..7765d721f4 100644 --- a/keyboards/chocofly/v1/keyboard.json +++ b/keyboards/chocofly/v1/keyboard.json @@ -25,8 +25,7 @@ {"pin_a": "D3", "pin_b": "D2", "resolution": 2} ] }, - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/chosfox/cf81/keyboard.json b/keyboards/chosfox/cf81/keyboard.json index 9ff5e35fbd..333841fdf1 100644 --- a/keyboards/chosfox/cf81/keyboard.json +++ b/keyboards/chosfox/cf81/keyboard.json @@ -3,12 +3,16 @@ "manufacturer": "CHOSFOX", "maintainer": "jonylee@hfd", "usb": { - "force_nkro": true, "vid": "0xFFFE", "pid": "0x0012", "device_version": "1.0.0", "suspend_wakeup_delay": 400 }, + "host": { + "default": { + "nkro": true + } + }, "eeprom": { "driver": "wear_leveling", "wear_leveling": { diff --git a/keyboards/ckeys/handwire_101/keyboard.json b/keyboards/ckeys/handwire_101/keyboard.json index 781cd25c83..088d3b5227 100644 --- a/keyboards/ckeys/handwire_101/keyboard.json +++ b/keyboards/ckeys/handwire_101/keyboard.json @@ -25,8 +25,7 @@ "rows": ["F4", "F5", "F6", "F7"] }, "diode_direction": "COL2ROW", - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "layout_aliases": { "LAYOUT": "LAYOUT_ortho_4x4" }, diff --git a/keyboards/ckeys/handwire_101/keymaps/default/keymap.c b/keyboards/ckeys/handwire_101/keymaps/default/keymap.c index 0b26d61322..74f7cf6f2c 100755 --- a/keyboards/ckeys/handwire_101/keymaps/default/keymap.c +++ b/keyboards/ckeys/handwire_101/keymaps/default/keymap.c @@ -117,10 +117,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `-------------------------------------------------' */ [_MOUSE] = LAYOUT_ortho_4x4( - KC_BTN5, _______, KC_WH_U, _______, - _______, KC_BTN1, KC_MS_U, KC_BTN2, - KC_BTN4, KC_MS_L, KC_MS_D, KC_MS_R, - KC_BTN3, KC_WH_L, KC_WH_D, KC_WH_R + MS_BTN5, _______, MS_WHLU, _______, + _______, MS_BTN1, MS_UP, MS_BTN2, + MS_BTN4, MS_LEFT, MS_DOWN, MS_RGHT, + MS_BTN3, MS_WHLL, MS_WHLD, MS_WHLR ), /* TERMINAL * ,---------------------------------------. diff --git a/keyboards/ckeys/thedora/keymaps/default/keymap.c b/keyboards/ckeys/thedora/keymaps/default/keymap.c index 9c0d756562..dd856ea23e 100755 --- a/keyboards/ckeys/thedora/keymaps/default/keymap.c +++ b/keyboards/ckeys/thedora/keymaps/default/keymap.c @@ -123,10 +123,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // └─────────┴─────────┴─────────┴─────────┴─────────┴─────────┘ [_MOUSE] = LAYOUT( - KC_BTN5, _______, KC_WH_U, _______, _______, - _______, KC_BTN1, KC_MS_U, KC_BTN2, TG(_MOUSE), - KC_BTN4, KC_MS_L, KC_MS_D, KC_MS_R, _______, - _______, KC_BTN3, KC_WH_L, KC_WH_D, KC_WH_R, _______ + MS_BTN5, _______, MS_WHLU, _______, _______, + _______, MS_BTN1, MS_UP, MS_BTN2, TG(_MOUSE), + MS_BTN4, MS_LEFT, MS_DOWN, MS_RGHT, _______, + _______, MS_BTN3, MS_WHLL, MS_WHLD, MS_WHLR, _______ ), // ADMIN LAYER diff --git a/keyboards/clawsome/coupe/keyboard.json b/keyboards/clawsome/coupe/keyboard.json index 576b8e7164..8910221eb6 100644 --- a/keyboards/clawsome/coupe/keyboard.json +++ b/keyboards/clawsome/coupe/keyboard.json @@ -21,8 +21,7 @@ "rows": ["D7", "D2", "C6", "B5", "D4", "B4", "D0", "D3", "D1", "E6"] }, "diode_direction": "COL2ROW", - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "community_layouts": ["60_ansi"], "layouts": { "LAYOUT_60_ansi": { diff --git a/keyboards/clawsome/doodle/keyboard.json b/keyboards/clawsome/doodle/keyboard.json index 0b3f4cc4e7..51eeacc02c 100644 --- a/keyboards/clawsome/doodle/keyboard.json +++ b/keyboards/clawsome/doodle/keyboard.json @@ -21,8 +21,7 @@ "rows": ["D4", "C6"] }, "diode_direction": "COL2ROW", - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/clawsome/fightpad/keyboard.json b/keyboards/clawsome/fightpad/keyboard.json index ac5f83af23..2ac2fdff0d 100644 --- a/keyboards/clawsome/fightpad/keyboard.json +++ b/keyboards/clawsome/fightpad/keyboard.json @@ -19,8 +19,7 @@ "rows": ["B5", "B6"] }, "diode_direction": "COL2ROW", - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/clawsome/gamebuddy/v1_0/keyboard.json b/keyboards/clawsome/gamebuddy/v1_0/keyboard.json index 978a3ad974..ebfd7970c4 100644 --- a/keyboards/clawsome/gamebuddy/v1_0/keyboard.json +++ b/keyboards/clawsome/gamebuddy/v1_0/keyboard.json @@ -21,8 +21,7 @@ "rows": ["D1", "D0", "E6", "B3", "B2"] }, "diode_direction": "COL2ROW", - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/clawsome/gamebuddy/v1_m/keyboard.json b/keyboards/clawsome/gamebuddy/v1_m/keyboard.json index dd9f39f97e..1a0014a1ac 100644 --- a/keyboards/clawsome/gamebuddy/v1_m/keyboard.json +++ b/keyboards/clawsome/gamebuddy/v1_m/keyboard.json @@ -21,8 +21,7 @@ "rows": ["C6", "D7", "B5", "B3", "B2"] }, "diode_direction": "COL2ROW", - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/clawsome/numeros/keyboard.json b/keyboards/clawsome/numeros/keyboard.json index 728a1a1853..2b9e0331ab 100644 --- a/keyboards/clawsome/numeros/keyboard.json +++ b/keyboards/clawsome/numeros/keyboard.json @@ -21,8 +21,7 @@ "rows": ["D0", "C6", "B2", "B6", "B5"] }, "diode_direction": "COL2ROW", - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "community_layouts": ["numpad_5x4"], "layouts": { "LAYOUT_numpad_5x4": { diff --git a/keyboards/clawsome/roadster/keyboard.json b/keyboards/clawsome/roadster/keyboard.json index 895b97721b..1300a29623 100644 --- a/keyboards/clawsome/roadster/keyboard.json +++ b/keyboards/clawsome/roadster/keyboard.json @@ -21,8 +21,7 @@ "rows": ["D2", "D3", "D0", "D1"] }, "diode_direction": "COL2ROW", - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/clog/keyboard.json b/keyboards/clog/keyboard.json new file mode 100644 index 0000000000..6197a176e5 --- /dev/null +++ b/keyboards/clog/keyboard.json @@ -0,0 +1,89 @@ +{ + "keyboard_name": "The Clog", + "manufacturer": "S'mores", + "url": "https://github.com/smores56/clog", + "maintainer": "@smores56", + "usb": { + "vid": "0xBEEF", + "pid": "0x5051", + "device_version": "0.0.1" + }, + "development_board": "elite_c", + "features": { + "bootmagic": true, + "extrakey": true, + "mousekey": true, + "nkro": false + }, + "matrix_pins": { + "direct": [ + ["B2", "F7", "F6", "F5", "F4"], + ["B6", "B3", "B1", "D3", "D1"], + ["D0", "D4", "C6", "D7", "E6"], + ["B4", "B5", null, null, null] + ] + }, + "split": { + "bootmagic": { + "matrix": [4, 4] + }, + "enabled": true, + "matrix_pins": { + "right": { + "direct": [ + ["F4", "F5", "F6", "F7", "B2"], + ["D1", "D3", "B1", "B3", "B6"], + ["E6", "D7", "C6", "D4", "D0"], + ["B5", "B4", null, null, null] + ] + } + }, + "serial": { + "pin": "D2" + } + }, + "community_layouts": ["split_3x5_2"], + "layout_aliases": { + "LAYOUT": "LAYOUT_split_3x5_2" + }, + "layouts": { + "LAYOUT_split_3x5_2": { + "layout": [ + {"label": "L01", "matrix": [0, 0], "x": 0, "y": 2.27}, + {"label": "L02", "matrix": [0, 1], "x": 2, "y": 0.31}, + {"label": "L03", "matrix": [0, 2], "x": 3, "y": 0}, + {"label": "L04", "matrix": [0, 3], "x": 4, "y": 0.28}, + {"label": "L05", "matrix": [0, 4], "x": 5, "y": 0.42}, + {"label": "R01", "matrix": [4, 0], "x": 9, "y": 0.42}, + {"label": "R02", "matrix": [4, 1], "x": 10, "y": 0.28}, + {"label": "R03", "matrix": [4, 2], "x": 11, "y": 0}, + {"label": "R04", "matrix": [4, 3], "x": 12, "y": 0.31}, + {"label": "R05", "matrix": [4, 4], "x": 14, "y": 2.27}, + {"label": "L06", "matrix": [1, 0], "x": 0, "y": 2.27}, + {"label": "L07", "matrix": [1, 1], "x": 2, "y": 1.31}, + {"label": "L08", "matrix": [1, 2], "x": 3, "y": 1}, + {"label": "L09", "matrix": [1, 3], "x": 4, "y": 1.28}, + {"label": "L10", "matrix": [1, 4], "x": 5, "y": 1.42}, + {"label": "R06", "matrix": [5, 0], "x": 9, "y": 1.42}, + {"label": "R07", "matrix": [5, 1], "x": 10, "y": 1.28}, + {"label": "R08", "matrix": [5, 2], "x": 11, "y": 1}, + {"label": "R09", "matrix": [5, 3], "x": 12, "y": 1.31}, + {"label": "R10", "matrix": [5, 4], "x": 14, "y": 2.27}, + {"label": "L11", "matrix": [2, 0], "x": 0, "y": 3.27}, + {"label": "L12", "matrix": [2, 1], "x": 2, "y": 2.31}, + {"label": "L13", "matrix": [2, 2], "x": 3, "y": 2}, + {"label": "L14", "matrix": [2, 3], "x": 4, "y": 2.28}, + {"label": "L15", "matrix": [2, 4], "x": 5, "y": 2.42}, + {"label": "R11", "matrix": [6, 0], "x": 9, "y": 2.42}, + {"label": "R12", "matrix": [6, 1], "x": 10, "y": 2.28}, + {"label": "R13", "matrix": [6, 2], "x": 11, "y": 2}, + {"label": "R14", "matrix": [6, 3], "x": 12, "y": 2.31}, + {"label": "R15", "matrix": [6, 4], "x": 14, "y": 3.27}, + {"label": "L16", "matrix": [3, 0], "x": 5, "y": 3.9}, + {"label": "L17", "matrix": [3, 1], "x": 6, "y": 3.7}, + {"label": "R16", "matrix": [7, 0], "x": 8, "y": 3.7}, + {"label": "R17", "matrix": [7, 1], "x": 9, "y": 3.9} + ] + } + } +} diff --git a/keyboards/clog/keymaps/default/config.h b/keyboards/clog/keymaps/default/config.h new file mode 100644 index 0000000000..be257a5919 --- /dev/null +++ b/keyboards/clog/keymaps/default/config.h @@ -0,0 +1,7 @@ +// Copyright 2024 Sam Mohr (@smores56) +// SPDX-License-Identifier: GPL-2.0+ + +#pragma once + +// Defaults for usable home row mods +#define TAPPING_TERM 250 diff --git a/keyboards/clog/keymaps/default/keymap.c b/keyboards/clog/keymaps/default/keymap.c new file mode 100644 index 0000000000..98617d7de0 --- /dev/null +++ b/keyboards/clog/keymaps/default/keymap.c @@ -0,0 +1,35 @@ +// Copyright 2024 Sam Mohr (@smores56) +// SPDX-License-Identifier: GPL-2.0+ + +#include QMK_KEYBOARD_H + +/* Base layer 0 layout uses home row mods. See the following guide for details: + * https://precondition.github.io/home-row-mods + */ + +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, + 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_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, _______, _______ + ), + [2] = LAYOUT_split_3x5_2( + _______, KC_LBRC, KC_LCBR, KC_RCBR, _______, KC_CIRC, KC_LPRN, KC_RPRN, KC_RBRC, KC_TILD, + KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_AMPR, KC_MINS, KC_EQL, KC_BSLS, KC_GRV, + _______, _______, _______, _______, _______, KC_ASTR, KC_UNDS, KC_PLUS, KC_PIPE, _______, + _______, _______, KC_DEL, MO(3) + ), + [3] = LAYOUT_split_3x5_2( + _______, KC_F1, KC_F2, KC_F3, KC_F10, _______, MS_WHLU, MS_WHLD, _______, QK_BOOT, + _______, KC_F4, KC_F5, KC_F6, KC_F11, MS_LEFT, MS_DOWN, MS_UP, MS_RGHT, KC_INS, + _______, KC_F7, KC_F8, KC_F9, KC_F12, _______, MS_BTN1, MS_BTN2, _______, _______, + _______, _______, _______, _______ + ) +}; diff --git a/keyboards/clog/readme.md b/keyboards/clog/readme.md new file mode 100644 index 0000000000..ddf7105669 --- /dev/null +++ b/keyboards/clog/readme.md @@ -0,0 +1,26 @@ +# The Clog + +This is the official firmware for a family of boards designed by [smores56](https://github.com/smores56), +the first of which was [the Clog](https://github.com/smores56/clog). This firmware works for the following boards: + +- [The Clog](https://github.com/smores56/clog) +- [The Clog V3](https://github.com/smores56/clog-v3) +- [The Steel Toe](https://github.com/smores56/steel-toe) +- [The Sephirette](https://github.com/smores56/sephirette) + +Make example for this keyboard (after setting up your build environment): + + make clog:default + +Flashing example for this keyboard: + + make clog: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/clueboard/2x1800/2019/2019.c b/keyboards/clueboard/2x1800/2019/2019.c index b7fb799ecb..c192f64175 100644 --- a/keyboards/clueboard/2x1800/2019/2019.c +++ b/keyboards/clueboard/2x1800/2019/2019.c @@ -41,12 +41,12 @@ void check_encoder_buttons(void) { dprintf("Turning drawing mode off.\n"); drawing_mode = false; gpio_write_pin_low(D6); - unregister_code(KC_BTN1); + unregister_code(MS_BTN1); } else { dprintf("Turning drawing mode on.\n"); drawing_mode = true; gpio_write_pin_high(D6); - register_code(KC_BTN1); + register_code(MS_BTN1); } } } @@ -88,37 +88,37 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) { if (keycode == ENC_BTN1) { if (record->event.pressed) { btn1_pressed = true; - register_code(KC_BTN1); + register_code(MS_BTN1); } else { btn1_pressed = false; - unregister_code(KC_BTN1); + unregister_code(MS_BTN1); } } if (keycode == ENC_BTN2) { if (record->event.pressed) { btn2_pressed = true; - register_code(KC_BTN2); + register_code(MS_BTN2); } else { btn2_pressed = false; - unregister_code(KC_BTN2); + unregister_code(MS_BTN2); } } if (keycode == ENC_BTN3) { if (record->event.pressed) { btn3_pressed = true; - register_code(KC_BTN3); + register_code(MS_BTN3); } else { btn3_pressed = false; - unregister_code(KC_BTN3); + unregister_code(MS_BTN3); } } if (keycode == ENC_BTN4) { if (record->event.pressed) { btn4_pressed = true; - register_code(KC_BTN4); + register_code(MS_BTN4); } else { btn4_pressed = false; - unregister_code(KC_BTN4); + unregister_code(MS_BTN4); } } @@ -132,16 +132,16 @@ bool encoder_update_kb(uint8_t index, bool clockwise) { if (encoder_update_user(index, clockwise)) { // Encoder 1, outside left if (index == 0 && clockwise) { - tap_code(KC_MS_U); // turned right + tap_code(MS_UP); // turned right } else if (index == 0) { - tap_code(KC_MS_D); // turned left + tap_code(MS_DOWN); // turned left } // Encoder 2, inside left else if (index == 1 && clockwise) { - tap_code(KC_WH_D); // turned right + tap_code(MS_WHLD); // turned right } else if (index == 1) { - tap_code(KC_WH_U); // turned left + tap_code(MS_WHLU); // turned left } // Encoder 3, inside right @@ -153,9 +153,9 @@ bool encoder_update_kb(uint8_t index, bool clockwise) { // Encoder 4, outside right else if (index == 3 && clockwise) { - tap_code(KC_MS_R); // turned right + tap_code(MS_RGHT); // turned right } else if (index == 3) { - tap_code(KC_MS_L); // turned left + tap_code(MS_LEFT); // turned left } } return true; diff --git a/keyboards/clueboard/2x1800/2019/keymaps/default_1u_ansi/keymap.c b/keyboards/clueboard/2x1800/2019/keymaps/default_1u_ansi/keymap.c index b2456225f1..b14b6f1878 100644 --- a/keyboards/clueboard/2x1800/2019/keymaps/default_1u_ansi/keymap.c +++ b/keyboards/clueboard/2x1800/2019/keymaps/default_1u_ansi/keymap.c @@ -17,7 +17,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [0] = LAYOUT_1u_ansi( - KC_BTN1, KC_BTN2, KC_BTN3, KC_BTN4, + MS_BTN1, MS_BTN2, MS_BTN3, MS_BTN4, 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_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_PSLS, diff --git a/keyboards/clueboard/2x1800/2019/keymaps/default_1u_iso/keymap.c b/keyboards/clueboard/2x1800/2019/keymaps/default_1u_iso/keymap.c index 70e38efcba..37dabfb7e3 100644 --- a/keyboards/clueboard/2x1800/2019/keymaps/default_1u_iso/keymap.c +++ b/keyboards/clueboard/2x1800/2019/keymaps/default_1u_iso/keymap.c @@ -17,7 +17,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [0] = LAYOUT_1u_iso( - KC_BTN1, KC_BTN2, KC_BTN3, KC_BTN4, + MS_BTN1, MS_BTN2, MS_BTN3, MS_BTN4, 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_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_P7, KC_P8, KC_P9, KC_PSLS, diff --git a/keyboards/clueboard/2x1800/2019/keymaps/default_2u_ansi/keymap.c b/keyboards/clueboard/2x1800/2019/keymaps/default_2u_ansi/keymap.c index cb41bf9a7d..d7ebfb029b 100644 --- a/keyboards/clueboard/2x1800/2019/keymaps/default_2u_ansi/keymap.c +++ b/keyboards/clueboard/2x1800/2019/keymaps/default_2u_ansi/keymap.c @@ -17,7 +17,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [0] = LAYOUT_2u_ansi( - KC_BTN1, KC_BTN2, KC_BTN3, KC_BTN4, + MS_BTN1, MS_BTN2, MS_BTN3, MS_BTN4, 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_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_PSLS, diff --git a/keyboards/clueboard/2x1800/2019/keymaps/default_2u_iso/keymap.c b/keyboards/clueboard/2x1800/2019/keymaps/default_2u_iso/keymap.c index af3e7f96c7..e1f0c97c94 100644 --- a/keyboards/clueboard/2x1800/2019/keymaps/default_2u_iso/keymap.c +++ b/keyboards/clueboard/2x1800/2019/keymaps/default_2u_iso/keymap.c @@ -17,7 +17,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [0] = LAYOUT_2u_iso( - KC_BTN1, KC_BTN2, KC_BTN3, KC_BTN4, + MS_BTN1, MS_BTN2, MS_BTN3, MS_BTN4, 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_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_P7, KC_P8, KC_P9, KC_PSLS, diff --git a/keyboards/clueboard/2x1800/2019/keymaps/default_4u_iso/keymap.c b/keyboards/clueboard/2x1800/2019/keymaps/default_4u_iso/keymap.c index fd7723d3de..79a32c74bb 100644 --- a/keyboards/clueboard/2x1800/2019/keymaps/default_4u_iso/keymap.c +++ b/keyboards/clueboard/2x1800/2019/keymaps/default_4u_iso/keymap.c @@ -17,7 +17,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [0] = LAYOUT_4u_iso( - KC_BTN1, KC_BTN2, KC_BTN3, KC_BTN4, + MS_BTN1, MS_BTN2, MS_BTN3, MS_BTN4, 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_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_P7, KC_P8, KC_P9, KC_PSLS, diff --git a/keyboards/clueboard/2x1800/2019/keymaps/default_7u_ansi/keymap.c b/keyboards/clueboard/2x1800/2019/keymaps/default_7u_ansi/keymap.c index 761423bfc4..9d056dac26 100644 --- a/keyboards/clueboard/2x1800/2019/keymaps/default_7u_ansi/keymap.c +++ b/keyboards/clueboard/2x1800/2019/keymaps/default_7u_ansi/keymap.c @@ -17,7 +17,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [0] = LAYOUT_7u_ansi( - KC_BTN1, KC_BTN2, KC_BTN3, KC_BTN4, + MS_BTN1, MS_BTN2, MS_BTN3, MS_BTN4, 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_DEL, 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_PSLS, diff --git a/keyboards/clueboard/2x1800/2019/keymaps/default_7u_iso/keymap.c b/keyboards/clueboard/2x1800/2019/keymaps/default_7u_iso/keymap.c index b499999954..738c4792a5 100644 --- a/keyboards/clueboard/2x1800/2019/keymaps/default_7u_iso/keymap.c +++ b/keyboards/clueboard/2x1800/2019/keymaps/default_7u_iso/keymap.c @@ -17,7 +17,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [0] = LAYOUT_7u_iso( - KC_BTN1, KC_BTN2, KC_BTN3, KC_BTN4, + MS_BTN1, MS_BTN2, MS_BTN3, MS_BTN4, 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_DEL, 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_P7, KC_P8, KC_P9, KC_PSLS, diff --git a/keyboards/clueboard/2x1800/2021/2021.c b/keyboards/clueboard/2x1800/2021/2021.c index 511c40a699..bd072c14b2 100644 --- a/keyboards/clueboard/2x1800/2021/2021.c +++ b/keyboards/clueboard/2x1800/2021/2021.c @@ -134,16 +134,16 @@ bool encoder_update_kb(uint8_t index, bool clockwise) { #else // Encoder 1, left if (index == 0 && clockwise) { - tap_code(KC_MS_R); // turned right + tap_code(MS_RGHT); // turned right } else if (index == 0) { - tap_code(KC_MS_L); // turned left + tap_code(MS_LEFT); // turned left } // Encoder 2, right else if (index == 1 && clockwise) { - tap_code(KC_MS_U); // turned right + tap_code(MS_UP); // turned right } else if (index == 1) { - tap_code(KC_MS_D); // turned left + tap_code(MS_DOWN); // turned left } #endif } diff --git a/keyboards/coban/pad9a/keymaps/default/keymap.c b/keyboards/coban/pad9a/keymaps/default/keymap.c index 9ef5fc54d7..2638b2c2e7 100644 --- a/keyboards/coban/pad9a/keymaps/default/keymap.c +++ b/keyboards/coban/pad9a/keymaps/default/keymap.c @@ -26,6 +26,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { #if defined(ENCODER_MAP_ENABLE) const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { - [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_WH_U, KC_WH_D) }, + [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(MS_WHLU, MS_WHLD) }, }; #endif diff --git a/keyboards/contra/keyboard.json b/keyboards/contra/keyboard.json index b3179564fe..5c02afd061 100644 --- a/keyboards/contra/keyboard.json +++ b/keyboards/contra/keyboard.json @@ -13,8 +13,7 @@ "pid": "0x0001", "device_version": "0.0.1" }, - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "diode_direction": "COL2ROW", "matrix_pins": { "cols": ["F4", "F5", "B5", "B4", "E6", "D7", "C6", "D4", "D0", "D1", "D2", "D3"], diff --git a/keyboards/converter/adb_usb/rules.mk b/keyboards/converter/adb_usb/rules.mk index 28df56c337..b4a73249dd 100644 --- a/keyboards/converter/adb_usb/rules.mk +++ b/keyboards/converter/adb_usb/rules.mk @@ -3,5 +3,3 @@ CUSTOM_MATRIX = yes SRC += matrix.c adb.c led.c # OPT_DEFS += -DADB_MOUSE_ENABLE -DMOUSE_ENABLE - -DEFAULT_FOLDER = converter/adb_usb/rev1 diff --git a/keyboards/converter/sun_usb/rules.mk b/keyboards/converter/sun_usb/rules.mk index d3ec00c5d5..0268798cc0 100644 --- a/keyboards/converter/sun_usb/rules.mk +++ b/keyboards/converter/sun_usb/rules.mk @@ -3,5 +3,3 @@ CUSTOM_MATRIX = yes SRC += matrix.c led.c UART_DRIVER_REQUIRED = yes - -DEFAULT_FOLDER = converter/sun_usb/type5 diff --git a/keyboards/converter/usb_usb/rules.mk b/keyboards/converter/usb_usb/rules.mk index 1e278514f6..682fa821ef 100644 --- a/keyboards/converter/usb_usb/rules.mk +++ b/keyboards/converter/usb_usb/rules.mk @@ -1,5 +1,3 @@ CUSTOM_MATRIX = yes SRC += custom_matrix.cpp - -DEFAULT_FOLDER = converter/usb_usb/hasu diff --git a/keyboards/cornia/keymaps/fire/keymap.c b/keyboards/cornia/keymaps/fire/keymap.c index 9215c61f9c..ff63df801a 100644 --- a/keyboards/cornia/keymaps/fire/keymap.c +++ b/keyboards/cornia/keymaps/fire/keymap.c @@ -41,11 +41,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_NAV] = LAYOUT_split_3x6_3( //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - _______, G(KC_L), XXXXXXX, CK_SCRL, C(KC_A), XXXXXXX, KC_BTN1, KC_BTN2, KC_BTN3, XXXXXXX, XXXXXXX, KC_DEL, + _______, G(KC_L), XXXXXXX, CK_SCRL, C(KC_A), XXXXXXX, MS_BTN1, MS_BTN2, MS_BTN3, XXXXXXX, XXXXXXX, KC_DEL, //|--------+--------+ GUI V +--------+--------+--------| |--------+--------+--------+--------+--------+--------| - _______, C(KC_X), G(KC_V), C(KC_V), C(KC_C), C(KC_Z), KC_WH_U, KC_LEFT, KC_DOWN, KC_UP,KC_RIGHT, _______, + _______, C(KC_X), G(KC_V), C(KC_V), C(KC_C), C(KC_Z), MS_WHLU, KC_LEFT, KC_DOWN, KC_UP,KC_RIGHT, _______, //|ALT LEFT+--------+ ALT SFT+scrnshot+--------+--------| |--------+--------+--------+--------+--------+--------| - A(KC_LEFT),C(KC_S),S(KC_LALT), CK_SSHT,C(KC_F), C(KC_Y), KC_WH_D, KC_HOME, CK_SELL, CK_SELR, KC_END, _______, + A(KC_LEFT),C(KC_S),S(KC_LALT), CK_SSHT,C(KC_F), C(KC_Y), MS_WHLD, KC_HOME, CK_SELL, CK_SELR, KC_END, _______, //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| KC_LGUI, _______, _______, _______,MO(_ADJUST),_______ //`--------------------------' `--------------------------' diff --git a/keyboards/cornifi/config.h b/keyboards/cornifi/config.h new file mode 100644 index 0000000000..36750714de --- /dev/null +++ b/keyboards/cornifi/config.h @@ -0,0 +1,14 @@ +// Copyright 2024-2025 QMK +// SPDX-License-Identifier: GPL-3.0-or-later + +#pragma once + +#define SERIAL_USART_FULL_DUPLEX +#define SERIAL_USART_TX_PIN GP12 +#define SERIAL_USART_RX_PIN GP13 +#define USB_VBUS_PIN GP24 + +/* RP2040- and hardware-specific config */ +#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/cornifi/keyboard.json b/keyboards/cornifi/keyboard.json new file mode 100644 index 0000000000..68e062ad33 --- /dev/null +++ b/keyboards/cornifi/keyboard.json @@ -0,0 +1,96 @@ +{ + "manufacturer": "v3lmx", + "keyboard_name": "cornifi", + "maintainer": "v3lmx", + "bootloader": "rp2040", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "matrix_pins": { + "direct": [ + ["GP21", "GP25", "GP26", "GP28", "GP29", "GP5"], + ["GP20", "GP22", "GP27", "GP2", "GP3", "GP8"], + ["GP19", "GP23", "GP1", "GP0", "GP4", null], + [null, null, "GP16", "GP17", "GP18", null] + ] + }, + "processor": "RP2040", + "split": { + "bootmagic": { + "matrix": [4, 0] + }, + "enabled": true, + "matrix_pins": { + "right": { + "direct": [ + ["GP9", "GP8", "GP4", "GP3", "GP2", "GP25"], + ["GP10", "GP6", "GP1", "GP28", "GP27", "GP21"], + ["GP11", "GP5", "GP0", "GP29", "GP26", null], + [null, null, "GP16", "GP17", "GP18", null] + ] + } + }, + "serial": { + "driver": "vendor" + } + }, + "url": "https://github.com/v3lmx/cornifi", + "usb": { + "device_version": "1.0.0", + "pid": "0x0000", + "vid": "0xFEED" + }, + "layout_aliases": { + "LAYOUT": "LAYOUT_split_3x5_3_ex2" + }, + "layouts": { + "LAYOUT_split_3x5_3_ex2": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0.9}, + {"matrix": [0, 1], "x": 1, "y": 0.3}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0.35}, + {"matrix": [0, 4], "x": 4, "y": 0.45}, + {"matrix": [0, 5], "x": 5, "y": 0.7}, + {"matrix": [4, 5], "x": 8, "y": 0.7}, + {"matrix": [4, 4], "x": 9, "y": 0.45}, + {"matrix": [4, 3], "x": 10, "y": 0.35}, + {"matrix": [4, 2], "x": 11, "y": 0}, + {"matrix": [4, 1], "x": 12, "y": 0.3}, + {"matrix": [4, 0], "x": 13, "y": 0.9}, + {"matrix": [1, 0], "x": 0, "y": 1.9}, + {"matrix": [1, 1], "x": 1, "y": 1.3}, + {"matrix": [1, 2], "x": 2, "y": 1}, + {"matrix": [1, 3], "x": 3, "y": 1.35}, + {"matrix": [1, 4], "x": 4, "y": 1.45}, + {"matrix": [1, 5], "x": 5, "y": 1.7}, + {"matrix": [5, 5], "x": 8, "y": 1.7}, + {"matrix": [5, 4], "x": 9, "y": 1.45}, + {"matrix": [5, 3], "x": 10, "y": 1.35}, + {"matrix": [5, 2], "x": 11, "y": 1}, + {"matrix": [5, 1], "x": 12, "y": 1.3}, + {"matrix": [5, 0], "x": 13, "y": 1.9}, + {"matrix": [2, 0], "x": 0, "y": 2.9}, + {"matrix": [2, 1], "x": 1, "y": 2.3}, + {"matrix": [2, 2], "x": 2, "y": 2}, + {"matrix": [2, 3], "x": 3, "y": 2.35}, + {"matrix": [2, 4], "x": 4, "y": 2.45}, + {"matrix": [6, 4], "x": 9, "y": 2.45}, + {"matrix": [6, 3], "x": 10, "y": 2.35}, + {"matrix": [6, 2], "x": 11, "y": 2}, + {"matrix": [6, 1], "x": 12, "y": 2.3}, + {"matrix": [6, 0], "x": 13, "y": 2.9}, + {"matrix": [3, 2], "x": 3, "y": 3.7}, + {"matrix": [3, 3], "x": 4, "y": 3.7}, + {"matrix": [3, 4], "x": 5, "y": 3.2, "h": 1.5}, + {"matrix": [7, 4], "x": 8, "y": 3.2, "h": 1.5}, + {"matrix": [7, 3], "x": 9, "y": 3.7}, + {"matrix": [7, 2], "x": 10, "y": 3.7} + ] + } + } +} diff --git a/keyboards/cornifi/keymaps/default/keymap.c b/keyboards/cornifi/keymaps/default/keymap.c new file mode 100644 index 0000000000..207db11738 --- /dev/null +++ b/keyboards/cornifi/keymaps/default/keymap.c @@ -0,0 +1,27 @@ +// Copyright 2025 @v3lmx +// SPDX-License-Identifier: GPL-3.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + // clang-format off + [0] = LAYOUT_split_3x5_3_ex2( + 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, 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, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH, + KC_ESC, MO(1), KC_TAB, KC_ENT, MO(2), KC_BSPC + ), + [1] = LAYOUT_split_3x5_3_ex2( + 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,XXXXXXX,XXXXXXX,XXXXXXX, + KC_LGUI,_______,KC_SPC, KC_ENT, XXXXXXX, KC_RALT + ), + [2] = LAYOUT_split_3x5_3_ex2( + 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,_______, _______, KC_MINS,KC_EQL, KC_LBRC,KC_RBRC,KC_BSLS, + XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX, KC_UNDS,KC_PLUS,KC_LCBR,KC_RCBR,KC_PIPE, + KC_LGUI,XXXXXXX, KC_SPC, KC_ENT, _______,KC_RALT + ) + // clang-format on +}; diff --git a/keyboards/cornifi/readme.md b/keyboards/cornifi/readme.md new file mode 100644 index 0000000000..3c4022e5ac --- /dev/null +++ b/keyboards/cornifi/readme.md @@ -0,0 +1,32 @@ +# cornifi + +![cornifi keyboard](https://i.imgur.com/Q7B3VX8.jpeg) + +The cornifi keyboard is a split keyboard based on the [corne](https://github.com/foostan/crkbd) with the physical layout of the [fifi](https://github.com/raychengy/fifi_split_keeb). + +* Keyboard Maintainer: [v3lmx (github)](https://github.com/v3lmx) +* Hardware Availability: [v3lmx/cornifi (github)](https://github.com/v3lmx/cornifi) + +Make example for this keyboard (after setting up your build environment): + + make cornifi:default + +Flashing example for this keyboard: + + make cornifi:default:flash + +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). + +## Bootloader + +Enter the bootloader in 3 ways: + +* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard +* **Physical reset button**: Hold down the `boot` button and press the `reset` button +* **Keycode in layout**: Press the key mapped to `TD_BOOT` twice if it is available + +## Keymap + +It is recommended to make your own keymap using the [external userspace feature(https://docs.qmk.fm/newbs_external_userspace). + +You can find an example here: [v3lmx qmk userspace](https://github.com/v3lmx/qmk_userspace) diff --git a/keyboards/cradio/keymaps/default/keymap.c b/keyboards/cradio/keymaps/default/keymap.c index e6cbe763ba..3d624cd009 100644 --- a/keyboards/cradio/keymaps/default/keymap.c +++ b/keyboards/cradio/keymaps/default/keymap.c @@ -30,9 +30,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, KC_DEL, MO(3) ), [3] = LAYOUT_split_3x5_2( - _______, KC_F1, KC_F2, KC_F3, KC_F10, _______, KC_WH_U, KC_WH_D, _______, QK_BOOT, - _______, KC_F4, KC_F5, KC_F6, KC_F11, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, KC_INS, - _______, KC_F7, KC_F8, KC_F9, KC_F12, _______, KC_BTN1, KC_BTN2, _______, _______, + _______, KC_F1, KC_F2, KC_F3, KC_F10, _______, MS_WHLU, MS_WHLD, _______, QK_BOOT, + _______, KC_F4, KC_F5, KC_F6, KC_F11, MS_LEFT, MS_DOWN, MS_UP, MS_RGHT, KC_INS, + _______, KC_F7, KC_F8, KC_F9, KC_F12, _______, MS_BTN1, MS_BTN2, _______, _______, _______, _______, _______, _______ ) }; diff --git a/keyboards/craftwalk/keymaps/default/keymap.c b/keyboards/craftwalk/keymaps/default/keymap.c index b212425bcf..019e99faf9 100644 --- a/keyboards/craftwalk/keymaps/default/keymap.c +++ b/keyboards/craftwalk/keymaps/default/keymap.c @@ -30,7 +30,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_BASE] = LAYOUT( KC_Q, KC_W, KC_E, KC_LCTL, KC_A, KC_S, KC_D, - KC_LSFT, MO_ADJ, KC_WH_U, KC_WH_D, KC_F, MO_NUM, KC_SPC + KC_LSFT, MO_ADJ, MS_WHLU, MS_WHLD, KC_F, MO_NUM, KC_SPC ), /* Number */ [_NUM] = LAYOUT( diff --git a/keyboards/crbn/keyboard.json b/keyboards/crbn/keyboard.json index a2666c6c52..a0fd785111 100644 --- a/keyboards/crbn/keyboard.json +++ b/keyboards/crbn/keyboard.json @@ -31,8 +31,7 @@ {"pin_a": "F5", "pin_b": "F4", "resolution": 2} ] }, - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "community_layouts": ["ortho_4x12", "planck_mit"], "layout_aliases": { "LAYOUT_crbn_1x2u": "LAYOUT_planck_mit", diff --git a/keyboards/custommk/elysian/keyboard.json b/keyboards/custommk/elysian/keyboard.json index 4fc842149d..9055b70025 100644 --- a/keyboards/custommk/elysian/keyboard.json +++ b/keyboards/custommk/elysian/keyboard.json @@ -30,8 +30,12 @@ "usb": { "device_version": "1.0.0", "pid": "0xFABB", - "vid": "0xF35B", - "force_nkro": true + "vid": "0xF35B" + }, + "host": { + "default": { + "nkro": true + } }, "encoder": { "rotary": [ diff --git a/keyboards/custommk/elysian/keymaps/default/keymap.c b/keyboards/custommk/elysian/keymaps/default/keymap.c index fcb617ad9e..f7cb4924c9 100644 --- a/keyboards/custommk/elysian/keymaps/default/keymap.c +++ b/keyboards/custommk/elysian/keymaps/default/keymap.c @@ -14,6 +14,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { #if defined(ENCODER_MAP_ENABLE) const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { - [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_WH_D, KC_WH_U) } + [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(MS_WHLD, MS_WHLU) } }; #endif \ No newline at end of file diff --git a/keyboards/custommk/evo70/evo70.c b/keyboards/custommk/evo70/evo70.c index a8df4a7d1d..c20c25d3f0 100644 --- a/keyboards/custommk/evo70/evo70.c +++ b/keyboards/custommk/evo70/evo70.c @@ -93,8 +93,8 @@ uint16_t enc_ccw[] = { KC_VOLD, KC_VOLD, KC_MEDIA_PREV_TRACK, KC_VOLD, 0, 0, 0, "Scroll Wheel" }; -uint16_t enc_cw[] = { KC_VOLU, KC_VOLU, KC_MEDIA_NEXT_TRACK, KC_VOLU, 0, 0, 0, 0, 0, KC_WH_U }; -uint16_t enc_ccw[] = { KC_VOLD, KC_VOLD, KC_MEDIA_PREV_TRACK, KC_VOLD, 0, 0, 0, 0, 0, KC_WH_D }; +uint16_t enc_cw[] = { KC_VOLU, KC_VOLU, KC_MEDIA_NEXT_TRACK, KC_VOLU, 0, 0, 0, 0, 0, MS_WHLU }; +uint16_t enc_ccw[] = { KC_VOLD, KC_VOLD, KC_MEDIA_PREV_TRACK, KC_VOLD, 0, 0, 0, 0, 0, MS_WHLD }; #endif //bongocat uint8_t num_enc_modes = 10; diff --git a/keyboards/cybergear/macro25/keyboard.json b/keyboards/cybergear/macro25/keyboard.json index 14ea5cc77d..8b0bcc8ef4 100644 --- a/keyboards/cybergear/macro25/keyboard.json +++ b/keyboards/cybergear/macro25/keyboard.json @@ -8,8 +8,7 @@ "pid": "0x69A1", "device_version": "0.0.1" }, - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "diode_direction": "COL2ROW", "layouts": { "LAYOUT_ortho_2x5": { diff --git a/keyboards/dailycraft/bat43/info.json b/keyboards/dailycraft/bat43/info.json index 90e14e3434..a8b6f83792 100644 --- a/keyboards/dailycraft/bat43/info.json +++ b/keyboards/dailycraft/bat43/info.json @@ -18,6 +18,5 @@ "rows": ["E6", "D7", "C6", "D4", "F7", "F6", "F5", "F4"] }, "diode_direction": "COL2ROW", - "processor": "atmega32u4", - "bootloader": "caterina" + "development_board": "promicro" } diff --git a/keyboards/dailycraft/claw44/rev1/keyboard.json b/keyboards/dailycraft/claw44/rev1/keyboard.json index 2391bc262f..c10fa57cb3 100644 --- a/keyboards/dailycraft/claw44/rev1/keyboard.json +++ b/keyboards/dailycraft/claw44/rev1/keyboard.json @@ -18,8 +18,7 @@ "pin": "D2" } }, - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "features": { "bootmagic": false, "mousekey": false, diff --git a/keyboards/dailycraft/sandbox/rev1/keyboard.json b/keyboards/dailycraft/sandbox/rev1/keyboard.json index 50a114457d..19e4e924b2 100644 --- a/keyboards/dailycraft/sandbox/rev1/keyboard.json +++ b/keyboards/dailycraft/sandbox/rev1/keyboard.json @@ -12,8 +12,7 @@ "rows": ["B5", "B4"] }, "diode_direction": "COL2ROW", - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "features": { "bootmagic": true, "mousekey": true, diff --git a/keyboards/dailycraft/sandbox/rev2/keyboard.json b/keyboards/dailycraft/sandbox/rev2/keyboard.json index b1991cf56c..d94593cced 100644 --- a/keyboards/dailycraft/sandbox/rev2/keyboard.json +++ b/keyboards/dailycraft/sandbox/rev2/keyboard.json @@ -18,8 +18,7 @@ "pin": "D2" } }, - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "features": { "bootmagic": true, "mousekey": true, diff --git a/keyboards/dailycraft/wings42/rev1/keyboard.json b/keyboards/dailycraft/wings42/rev1/keyboard.json index 307b675d06..3f71586581 100644 --- a/keyboards/dailycraft/wings42/rev1/keyboard.json +++ b/keyboards/dailycraft/wings42/rev1/keyboard.json @@ -18,8 +18,7 @@ "pin": "D2" } }, - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "features": { "bootmagic": true, "mousekey": true, diff --git a/keyboards/dailycraft/wings42/rev1_extkeys/keyboard.json b/keyboards/dailycraft/wings42/rev1_extkeys/keyboard.json index ef5b4331b1..a3ea3c2b45 100644 --- a/keyboards/dailycraft/wings42/rev1_extkeys/keyboard.json +++ b/keyboards/dailycraft/wings42/rev1_extkeys/keyboard.json @@ -18,8 +18,7 @@ "pin": "D2" } }, - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "features": { "bootmagic": true, "mousekey": true, diff --git a/keyboards/dailycraft/wings42/rev2/keyboard.json b/keyboards/dailycraft/wings42/rev2/keyboard.json index 4d41f54f3b..7ed0fb9967 100644 --- a/keyboards/dailycraft/wings42/rev2/keyboard.json +++ b/keyboards/dailycraft/wings42/rev2/keyboard.json @@ -24,8 +24,7 @@ { "pin_a": "B6", "pin_b": "B2" } ] }, - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "features": { "bootmagic": true, "encoder": true, diff --git a/keyboards/delikeeb/flatbread60/keyboard.json b/keyboards/delikeeb/flatbread60/keyboard.json index eabb301dc0..2536df862d 100644 --- a/keyboards/delikeeb/flatbread60/keyboard.json +++ b/keyboards/delikeeb/flatbread60/keyboard.json @@ -46,8 +46,7 @@ "rows": ["F6", "B1", "B3", "B2", "B6"] }, "diode_direction": "COL2ROW", - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "layouts": { "LAYOUT_ortho_5x12": { "layout": [ diff --git a/keyboards/delikeeb/vaneela/keyboard.json b/keyboards/delikeeb/vaneela/keyboard.json index 8e30581e70..7a467a59aa 100644 --- a/keyboards/delikeeb/vaneela/keyboard.json +++ b/keyboards/delikeeb/vaneela/keyboard.json @@ -25,8 +25,7 @@ "rows": ["F6", "F7", "B3", "B2", "B6"] }, "diode_direction": "COL2ROW", - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "layouts": { "LAYOUT_ortho_5x12": { "layout": [ diff --git a/keyboards/delikeeb/vaneelaex/keyboard.json b/keyboards/delikeeb/vaneelaex/keyboard.json index 1890c860e6..295ad722b5 100644 --- a/keyboards/delikeeb/vaneelaex/keyboard.json +++ b/keyboards/delikeeb/vaneelaex/keyboard.json @@ -25,8 +25,7 @@ "rows": ["D3", "D2", "D1", "D0", "B2", "B6"] }, "diode_direction": "COL2ROW", - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "layouts": { "LAYOUT_ss_6x12": { "layout": [ diff --git a/keyboards/deltasplit75/v2/keyboard.json b/keyboards/deltasplit75/v2/keyboard.json index 031d2b9185..efd4217f13 100644 --- a/keyboards/deltasplit75/v2/keyboard.json +++ b/keyboards/deltasplit75/v2/keyboard.json @@ -24,8 +24,7 @@ "ws2812": { "pin": "D3" }, - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "features": { "bootmagic": false, "mousekey": true, diff --git a/keyboards/dm9records/ergoinu/keyboard.json b/keyboards/dm9records/ergoinu/keyboard.json index 0e124d1a21..05150f5e06 100644 --- a/keyboards/dm9records/ergoinu/keyboard.json +++ b/keyboards/dm9records/ergoinu/keyboard.json @@ -25,8 +25,7 @@ "ws2812": { "pin": "B6" }, - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "features": { "bootmagic": true, "mousekey": true, diff --git a/keyboards/doio/kb16/info.json b/keyboards/doio/kb16/info.json index 08c19819bb..7b27370707 100644 --- a/keyboards/doio/kb16/info.json +++ b/keyboards/doio/kb16/info.json @@ -4,8 +4,12 @@ "maintainer": "HorrorTroll", "usb": { "vid": "0xD010", - "pid": "0x1601", - "force_nkro": true + "pid": "0x1601" + }, + "host": { + "default": { + "nkro": true + } }, "diode_direction": "COL2ROW", "build": { diff --git a/keyboards/doio/kb38/kb38.c b/keyboards/doio/kb38/kb38.c index 55a88a068b..2eaf62fa73 100644 --- a/keyboards/doio/kb38/kb38.c +++ b/keyboards/doio/kb38/kb38.c @@ -52,9 +52,9 @@ bool encoder_update_kb(uint8_t index, bool clockwise) { } else if (index == 1) { // Mouse Wheel Up/Down if (clockwise) { - tap_code(KC_MS_WH_DOWN); + tap_code(MS_WHLD); } else { - tap_code(KC_MS_WH_UP); + tap_code(MS_WHLU); } } else if (index == 2) { // Volume Up/Down diff --git a/keyboards/doio/kb3x/keymaps/default/keymap.c b/keyboards/doio/kb3x/keymaps/default/keymap.c index 02dddfe517..7791a19f95 100644 --- a/keyboards/doio/kb3x/keymaps/default/keymap.c +++ b/keyboards/doio/kb3x/keymaps/default/keymap.c @@ -32,9 +32,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_MPLY, KC_DOWN, KC_DOWN), [_LAY1] = LAYOUT( TO(2), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_WH_U, S(KC_RBRC), C(KC_L), - C(KC_WH_D), KC_TRNS, C(KC_WH_U), KC_DOT, KC_TRNS, KC_COMM, C(KC_B), KC_TRNS, C(KC_U), - KC_WH_D, S(KC_LBRC), C(KC_M)), + MS_WHLU, S(KC_RBRC), C(KC_L), + C(MS_WHLD), KC_TRNS, C(MS_WHLU), KC_DOT, KC_TRNS, KC_COMM, C(KC_B), KC_TRNS, C(KC_U), + MS_WHLD, S(KC_LBRC), C(KC_M)), [_LAY2] = LAYOUT( TO(0), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_B, KC_UP, S(KC_I), diff --git a/keyboards/doodboard/duckboard/keyboard.json b/keyboards/doodboard/duckboard/keyboard.json index 7e88a22e10..b5f07ead98 100644 --- a/keyboards/doodboard/duckboard/keyboard.json +++ b/keyboards/doodboard/duckboard/keyboard.json @@ -37,8 +37,7 @@ "ws2812": { "pin": "D3" }, - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/doodboard/duckboard_r2/keyboard.json b/keyboards/doodboard/duckboard_r2/keyboard.json index 6cbf51bcb4..cffb2904e3 100644 --- a/keyboards/doodboard/duckboard_r2/keyboard.json +++ b/keyboards/doodboard/duckboard_r2/keyboard.json @@ -40,8 +40,7 @@ "bootmagic": { "matrix": [0, 1] }, - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/dotmod/dymium65/keyboard.json b/keyboards/dotmod/dymium65/keyboard.json index 301b69edc5..a76bc91cd6 100644 --- a/keyboards/dotmod/dymium65/keyboard.json +++ b/keyboards/dotmod/dymium65/keyboard.json @@ -6,8 +6,12 @@ "usb": { "vid": "0x5678", "pid": "0x5058", - "device_version": "0.0.1", - "force_nkro": true + "device_version": "0.0.1" + }, + "host": { + "default": { + "nkro": true + } }, "diode_direction": "ROW2COL", "matrix_pins": { diff --git a/keyboards/draculad/keyboard.json b/keyboards/draculad/keyboard.json index c72bda7c38..9c21b2a97d 100644 --- a/keyboards/draculad/keyboard.json +++ b/keyboards/draculad/keyboard.json @@ -48,8 +48,7 @@ "pin": "D2" } }, - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "features": { "bootmagic": false, "mousekey": true, diff --git a/keyboards/draculad/keymaps/default/keymap.c b/keyboards/draculad/keymaps/default/keymap.c index a7b5261904..16df3ebac3 100644 --- a/keyboards/draculad/keymaps/default/keymap.c +++ b/keyboards/draculad/keymaps/default/keymap.c @@ -49,7 +49,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_MUS] = LAYOUT( KC_LCTL, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - KC_LALT, KC_BTN3, KC_BTN2, KC_BTN1, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + KC_LALT, MS_BTN3, MS_BTN2, MS_BTN1, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_LSFT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX @@ -218,9 +218,9 @@ bool encoder_update_user(uint8_t index, bool clockwise) { else if (index == 3 ) { // Page up/Page down if (clockwise) { - tap_code(KC_WH_U); + tap_code(MS_WHLU); } else { - tap_code(KC_WH_D); + tap_code(MS_WHLD); } } return true; diff --git a/keyboards/drhigsby/bkf/keyboard.json b/keyboards/drhigsby/bkf/keyboard.json index 76808f93de..17f1adc364 100644 --- a/keyboards/drhigsby/bkf/keyboard.json +++ b/keyboards/drhigsby/bkf/keyboard.json @@ -31,8 +31,7 @@ {"pin_a": "F4", "pin_b": "F5"} ] }, - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "layouts": { "LAYOUT_625uC": { "layout": [ diff --git a/keyboards/drhigsby/dubba175/keyboard.json b/keyboards/drhigsby/dubba175/keyboard.json index 0f395d10ff..f1d55d1855 100644 --- a/keyboards/drhigsby/dubba175/keyboard.json +++ b/keyboards/drhigsby/dubba175/keyboard.json @@ -25,8 +25,7 @@ "rows": ["B1", "B3", "B2", "B5"] }, "diode_direction": "COL2ROW", - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/drhigsby/ogurec/info.json b/keyboards/drhigsby/ogurec/info.json index 7e65e924e2..bc43e1563a 100644 --- a/keyboards/drhigsby/ogurec/info.json +++ b/keyboards/drhigsby/ogurec/info.json @@ -25,6 +25,5 @@ "rows": ["F6", "B6", "B2"] }, "diode_direction": "COL2ROW", - "processor": "atmega32u4", - "bootloader": "caterina" + "development_board": "promicro" } diff --git a/keyboards/drhigsby/packrat/keyboard.json b/keyboards/drhigsby/packrat/keyboard.json index b41b383aee..8713ec034d 100644 --- a/keyboards/drhigsby/packrat/keyboard.json +++ b/keyboards/drhigsby/packrat/keyboard.json @@ -31,8 +31,7 @@ {"pin_a": "F5", "pin_b": "F4"} ] }, - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "layouts": { "LAYOUT_3uc": { "layout": [ diff --git a/keyboards/ducky/one2mini/1861st/keyboard.json b/keyboards/ducky/one2mini/1861st/keyboard.json index e1ab218846..9f0010e6a7 100644 --- a/keyboards/ducky/one2mini/1861st/keyboard.json +++ b/keyboards/ducky/one2mini/1861st/keyboard.json @@ -4,8 +4,12 @@ "usb": { "vid": "0x0416", "pid": "0x0123", - "device_version": "0.0.1", - "force_nkro": true + "device_version": "0.0.1" + }, + "host": { + "default": { + "nkro": true + } }, "matrix_pins": { "cols": ["B10", "B9", "C13", "C12", "C11", "C10", "C9", "C8", "A15", "A14", "A13", "D0", "D1", "D2", "B8"], diff --git a/keyboards/ducky/one2mini/keymaps/ansi/keymap.c b/keyboards/ducky/one2mini/keymaps/ansi/keymap.c index 2b42eb6e95..a80da0b114 100644 --- a/keyboards/ducky/one2mini/keymaps/ansi/keymap.c +++ b/keyboards/ducky/one2mini/keymaps/ansi/keymap.c @@ -39,8 +39,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_FUNCTION] = LAYOUT_60_ansi( // 2 3 4 5 6 7 8 9 10 11 12 13 14 KC_GRV, KC_F1, 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_BTN1, KC_MS_U, KC_BTN2, KC_WH_U, _______, KC_INS, _______, KC_UP, KC_PAUS, KC_PGUP, KC_HOME, KC_PSCR, _______, - _______, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_D, _______, KC_SCRL, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_END, KC_ENT, + _______, MS_BTN1, MS_UP, MS_BTN2, MS_WHLU, _______, KC_INS, _______, KC_UP, KC_PAUS, KC_PGUP, KC_HOME, KC_PSCR, _______, + _______, MS_LEFT, MS_DOWN, MS_RGHT, MS_WHLD, _______, KC_SCRL, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_END, KC_ENT, _______, _______, KC_APP, _______, _______, _______, KC_CALC, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, KC_APP, MO(_CLR), _______, _______, KC_APP, _______, _______ ), diff --git a/keyboards/ducky/one2mini/keymaps/ansi_tsangan/keymap.c b/keyboards/ducky/one2mini/keymaps/ansi_tsangan/keymap.c index 259df16ab1..e28b4b7df0 100644 --- a/keyboards/ducky/one2mini/keymaps/ansi_tsangan/keymap.c +++ b/keyboards/ducky/one2mini/keymaps/ansi_tsangan/keymap.c @@ -53,8 +53,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_FUNCTION] = LAYOUT_60_ansi_tsangan( // 2 3 4 5 6 7 8 9 10 11 12 13 14 KC_GRV, KC_F1, 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_BTN1, KC_MS_U, KC_BTN2, KC_WH_U, _______, KC_INS, _______, KC_UP, KC_PAUS, KC_PGUP, KC_HOME, KC_PSCR, _______, - _______, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_D, _______, KC_SCRL, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_END, KC_ENT, + _______, MS_BTN1, MS_UP, MS_BTN2, MS_WHLU, _______, KC_INS, _______, KC_UP, KC_PAUS, KC_PGUP, KC_HOME, KC_PSCR, _______, + _______, MS_LEFT, MS_DOWN, MS_RGHT, MS_WHLD, _______, KC_SCRL, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_END, KC_ENT, _______, _______, KC_APP, _______, _______, _______, KC_CALC, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, _______, KC_APP, MO(_CLR), _______, KC_APP, _______, _______ ), diff --git a/keyboards/ducky/one2mini/keymaps/default/keymap.c b/keyboards/ducky/one2mini/keymaps/default/keymap.c index d8941bacdc..69fcc295ad 100644 --- a/keyboards/ducky/one2mini/keymaps/default/keymap.c +++ b/keyboards/ducky/one2mini/keymaps/default/keymap.c @@ -39,8 +39,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_FUNCTION] = LAYOUT_all( // 2 3 4 5 6 7 8 9 10 11 12 13 14 KC_GRV, KC_F1, 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_BTN1, KC_MS_U, KC_BTN2, KC_WH_U, _______, KC_INS, _______, KC_UP, KC_PAUS, KC_PGUP, KC_HOME, KC_PSCR, _______, - _______, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_D, _______, KC_SCRL, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_END, _______, KC_ENT, + _______, MS_BTN1, MS_UP, MS_BTN2, MS_WHLU, _______, KC_INS, _______, KC_UP, KC_PAUS, KC_PGUP, KC_HOME, KC_PSCR, _______, + _______, MS_LEFT, MS_DOWN, MS_RGHT, MS_WHLD, _______, KC_SCRL, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_END, _______, KC_ENT, _______, _______, _______, KC_APP, _______, _______, _______, KC_CALC, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, _______, MO(_CLR), KC_MPLY, _______, KC_APP, _______, _______ ), diff --git a/keyboards/ducky/one2mini/keymaps/iso/keymap.c b/keyboards/ducky/one2mini/keymaps/iso/keymap.c index 585655d554..4f45273b8b 100644 --- a/keyboards/ducky/one2mini/keymaps/iso/keymap.c +++ b/keyboards/ducky/one2mini/keymaps/iso/keymap.c @@ -39,8 +39,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_FUNCTION] = LAYOUT_60_iso( // 2 3 4 5 6 7 8 9 10 11 12 13 14 KC_GRV, KC_F1, 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_BTN1, KC_MS_U, KC_BTN2, KC_WH_U, _______, KC_INS, _______, KC_UP, KC_PAUS, KC_PGUP, KC_HOME, KC_PSCR, - _______, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_D, _______, KC_SCRL, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_END, _______, KC_ENT, + _______, MS_BTN1, MS_UP, MS_BTN2, MS_WHLU, _______, KC_INS, _______, KC_UP, KC_PAUS, KC_PGUP, KC_HOME, KC_PSCR, + _______, MS_LEFT, MS_DOWN, MS_RGHT, MS_WHLD, _______, KC_SCRL, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_END, _______, KC_ENT, _______, _______, _______, KC_APP, _______, _______, _______, KC_CALC, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, KC_APP, MO(_CLR), _______, _______, KC_APP, _______, _______ ), diff --git a/keyboards/ducky/one2sf/1967st/keyboard.json b/keyboards/ducky/one2sf/1967st/keyboard.json index 3bb58fd48f..093793d4c8 100644 --- a/keyboards/ducky/one2sf/1967st/keyboard.json +++ b/keyboards/ducky/one2sf/1967st/keyboard.json @@ -5,8 +5,12 @@ "usb": { "vid": "0x445B", "pid": "0x07AF", - "device_version": "0.0.1", - "force_nkro": true + "device_version": "0.0.1" + }, + "host": { + "default": { + "nkro": true + } }, "matrix_pins": { "cols": ["B10", "B9", "C13", "C12", "C11", "C10", "C9", "C8", "A15", "A14", "A13", "D0", "D1", "D2", "B15", "B8"], diff --git a/keyboards/ducky/one2sf/keymaps/default/keymap.c b/keyboards/ducky/one2sf/keymaps/default/keymap.c index bfa354f508..91a644d972 100644 --- a/keyboards/ducky/one2sf/keymaps/default/keymap.c +++ b/keyboards/ducky/one2sf/keymaps/default/keymap.c @@ -38,8 +38,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_FUNCTION] = 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_BTN1, KC_MS_U, KC_BTN2, KC_WH_U, _______, KC_INS, _______, KC_UP, KC_PAUSE, KC_PGUP, KC_HOME, KC_PSCR, _______, KC_HOME, - _______, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_D, _______, KC_SCRL, KC_LEFT, KC_DOWN, KC_RIGHT, KC_PGDN, KC_END, _______, _______, KC_END, + _______, MS_BTN1, MS_UP, MS_BTN2, MS_WHLU, _______, KC_INS, _______, KC_UP, KC_PAUSE, KC_PGUP, KC_HOME, KC_PSCR, _______, KC_HOME, + _______, MS_LEFT, MS_DOWN, MS_RGHT, MS_WHLD, _______, KC_SCRL, KC_LEFT, KC_DOWN, KC_RIGHT, KC_PGDN, KC_END, _______, _______, KC_END, _______, _______, RM_TOGG, RM_NEXT, RM_HUEU, RM_HUED, RM_SATU, RM_SATD, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, _______, _______, _______, _______, MO(2), _______, _______, _______, _______, _______ ), diff --git a/keyboards/ducky/one2sf/keymaps/default_ansi/keymap.c b/keyboards/ducky/one2sf/keymaps/default_ansi/keymap.c index fd65bd543a..d353f005ed 100644 --- a/keyboards/ducky/one2sf/keymaps/default_ansi/keymap.c +++ b/keyboards/ducky/one2sf/keymaps/default_ansi/keymap.c @@ -38,8 +38,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_FUNCTION] = LAYOUT_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_BTN1, KC_MS_U, KC_BTN2, KC_WH_U, _______, KC_INS, _______, KC_UP, KC_PAUS, KC_PGUP, KC_HOME, KC_PSCR, _______, KC_HOME, - _______, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_D, _______, KC_SCRL, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_END, _______, KC_END, + _______, MS_BTN1, MS_UP, MS_BTN2, MS_WHLU, _______, KC_INS, _______, KC_UP, KC_PAUS, KC_PGUP, KC_HOME, KC_PSCR, _______, KC_HOME, + _______, MS_LEFT, MS_DOWN, MS_RGHT, MS_WHLD, _______, KC_SCRL, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_END, _______, KC_END, _______, RM_TOGG, RM_NEXT, RM_HUEU, RM_HUED, RM_SATU, RM_SATD, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, _______, _______, _______, _______, MO(2), _______, _______, _______, _______, _______ ), diff --git a/keyboards/ducky/one2sf/keymaps/default_iso/keymap.c b/keyboards/ducky/one2sf/keymaps/default_iso/keymap.c index 94963fcab5..3ec27fa54f 100644 --- a/keyboards/ducky/one2sf/keymaps/default_iso/keymap.c +++ b/keyboards/ducky/one2sf/keymaps/default_iso/keymap.c @@ -38,8 +38,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_FUNCTION] = LAYOUT_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_BTN1, KC_MS_U, KC_BTN2, KC_WH_U, _______, KC_INS, _______, KC_UP, KC_PAUS, KC_PGUP, KC_HOME, KC_PSCR, KC_HOME, - _______, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_D, _______, KC_SCRL, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_END, _______, _______, KC_END, + _______, MS_BTN1, MS_UP, MS_BTN2, MS_WHLU, _______, KC_INS, _______, KC_UP, KC_PAUS, KC_PGUP, KC_HOME, KC_PSCR, KC_HOME, + _______, MS_LEFT, MS_DOWN, MS_RGHT, MS_WHLD, _______, KC_SCRL, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_END, _______, _______, KC_END, _______, _______, RM_TOGG, RM_NEXT, RM_HUEU, RM_HUED, RM_SATU, RM_SATD, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, _______, _______, _______, _______, MO(2), _______, _______, _______, _______, _______ ), diff --git a/keyboards/dumbo/keyboard.json b/keyboards/dumbo/keyboard.json index 8026f22790..4f8f04c06c 100644 --- a/keyboards/dumbo/keyboard.json +++ b/keyboards/dumbo/keyboard.json @@ -32,8 +32,7 @@ "pin": "D2" } }, - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "features": { "bootmagic": false, "mousekey": true, diff --git a/keyboards/dumbpad/v0x/keyboard.json b/keyboards/dumbpad/v0x/keyboard.json index f0cecd8063..9d25d80494 100644 --- a/keyboards/dumbpad/v0x/keyboard.json +++ b/keyboards/dumbpad/v0x/keyboard.json @@ -15,8 +15,7 @@ "bootmagic": { "matrix": [3, 0] }, - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "features": { "bootmagic": true, "mousekey": true, diff --git a/keyboards/dumbpad/v0x/keymaps/default/keymap.c b/keyboards/dumbpad/v0x/keymaps/default/keymap.c index 9787c24f0f..13c8777274 100644 --- a/keyboards/dumbpad/v0x/keymaps/default/keymap.c +++ b/keyboards/dumbpad/v0x/keymaps/default/keymap.c @@ -32,7 +32,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_7, KC_8, KC_9, KC_BSPC, KC_4, KC_5, KC_6, KC_ESC, KC_1, KC_2, KC_3, KC_TAB, - KC_BTN1, TT(1), KC_0, LSFT_T(KC_DOT), KC_ENTER + MS_BTN1, TT(1), KC_0, LSFT_T(KC_DOT), KC_ENTER ), /* SUB LAYER @@ -87,9 +87,9 @@ bool encoder_update_user(uint8_t index, bool clockwise) { case 0: // main layer - move mouse right (CW) and left (CCW) if (clockwise) { - tap_code(KC_MS_R); + tap_code(MS_RGHT); } else { - tap_code(KC_MS_L); + tap_code(MS_LEFT); } break; diff --git a/keyboards/dumbpad/v0x/v0x.c b/keyboards/dumbpad/v0x/v0x.c index 5a61096606..ba68a75eaa 100644 --- a/keyboards/dumbpad/v0x/v0x.c +++ b/keyboards/dumbpad/v0x/v0x.c @@ -69,9 +69,9 @@ bool encoder_update_kb(uint8_t index, bool clockwise) { switch (get_highest_layer(layer_state)) { case 0: if (clockwise) { - tap_code(KC_MS_R); + tap_code(MS_RGHT); } else { - tap_code(KC_MS_L); + tap_code(MS_LEFT); } break; diff --git a/keyboards/dumbpad/v0x_dualencoder/keyboard.json b/keyboards/dumbpad/v0x_dualencoder/keyboard.json index 71b501cedd..0754f301b7 100644 --- a/keyboards/dumbpad/v0x_dualencoder/keyboard.json +++ b/keyboards/dumbpad/v0x_dualencoder/keyboard.json @@ -16,8 +16,7 @@ "bootmagic": { "matrix": [3, 0] }, - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "features": { "bootmagic": true, "mousekey": true, diff --git a/keyboards/dumbpad/v0x_dualencoder/keymaps/default/keymap.c b/keyboards/dumbpad/v0x_dualencoder/keymaps/default/keymap.c index 28b71cd8e7..c7f7d6fcee 100644 --- a/keyboards/dumbpad/v0x_dualencoder/keymaps/default/keymap.c +++ b/keyboards/dumbpad/v0x_dualencoder/keymaps/default/keymap.c @@ -95,9 +95,9 @@ bool encoder_update_user(uint8_t index, bool clockwise) { case 0: // main layer - move mouse right (CW) and left (CCW) if (clockwise) { - tap_code(KC_MS_R); + tap_code(MS_RGHT); } else { - tap_code(KC_MS_L); + tap_code(MS_LEFT); } break; diff --git a/keyboards/dumbpad/v0x_dualencoder/v0x_dualencoder.c b/keyboards/dumbpad/v0x_dualencoder/v0x_dualencoder.c index 1c622f7bf4..26ebb70acd 100644 --- a/keyboards/dumbpad/v0x_dualencoder/v0x_dualencoder.c +++ b/keyboards/dumbpad/v0x_dualencoder/v0x_dualencoder.c @@ -69,9 +69,9 @@ bool encoder_update_kb(uint8_t index, bool clockwise) { switch (get_highest_layer(layer_state)) { case 0: if (clockwise) { - tap_code(KC_MS_R); + tap_code(MS_RGHT); } else { - tap_code(KC_MS_L); + tap_code(MS_LEFT); } break; diff --git a/keyboards/dumbpad/v0x_right/keyboard.json b/keyboards/dumbpad/v0x_right/keyboard.json index 883f2f785d..f581dd8e87 100644 --- a/keyboards/dumbpad/v0x_right/keyboard.json +++ b/keyboards/dumbpad/v0x_right/keyboard.json @@ -15,8 +15,7 @@ "bootmagic": { "matrix": [3, 4] }, - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "features": { "bootmagic": true, "mousekey": true, diff --git a/keyboards/dumbpad/v0x_right/keymaps/default/keymap.c b/keyboards/dumbpad/v0x_right/keymaps/default/keymap.c index a0f4e3a669..cb916b7edc 100644 --- a/keyboards/dumbpad/v0x_right/keymaps/default/keymap.c +++ b/keyboards/dumbpad/v0x_right/keymaps/default/keymap.c @@ -32,7 +32,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_7, KC_8, KC_9, KC_BSPC, KC_4, KC_5, KC_6, KC_ESC, KC_1, KC_2, KC_3, KC_TAB, - TT(1), KC_0, LSFT_T(KC_DOT), KC_ENTER, KC_BTN1 + TT(1), KC_0, LSFT_T(KC_DOT), KC_ENTER, MS_BTN1 ), /* SUB LAYER @@ -87,9 +87,9 @@ bool encoder_update_user(uint8_t index, bool clockwise) { case 0: // main layer - move mouse right (CW) and left (CCW) if (clockwise) { - tap_code(KC_MS_R); + tap_code(MS_RGHT); } else { - tap_code(KC_MS_L); + tap_code(MS_LEFT); } break; diff --git a/keyboards/dumbpad/v0x_right/v0x_right.c b/keyboards/dumbpad/v0x_right/v0x_right.c index 5a61096606..ba68a75eaa 100644 --- a/keyboards/dumbpad/v0x_right/v0x_right.c +++ b/keyboards/dumbpad/v0x_right/v0x_right.c @@ -69,9 +69,9 @@ bool encoder_update_kb(uint8_t index, bool clockwise) { switch (get_highest_layer(layer_state)) { case 0: if (clockwise) { - tap_code(KC_MS_R); + tap_code(MS_RGHT); } else { - tap_code(KC_MS_L); + tap_code(MS_LEFT); } break; diff --git a/keyboards/dumbpad/v1x/keyboard.json b/keyboards/dumbpad/v1x/keyboard.json index 9ab78e1a9f..c78bbfef04 100644 --- a/keyboards/dumbpad/v1x/keyboard.json +++ b/keyboards/dumbpad/v1x/keyboard.json @@ -15,8 +15,7 @@ "bootmagic": { "matrix": [3, 0] }, - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "features": { "bootmagic": true, "mousekey": true, diff --git a/keyboards/dumbpad/v1x/keymaps/default/keymap.c b/keyboards/dumbpad/v1x/keymaps/default/keymap.c index 9787c24f0f..13c8777274 100644 --- a/keyboards/dumbpad/v1x/keymaps/default/keymap.c +++ b/keyboards/dumbpad/v1x/keymaps/default/keymap.c @@ -32,7 +32,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_7, KC_8, KC_9, KC_BSPC, KC_4, KC_5, KC_6, KC_ESC, KC_1, KC_2, KC_3, KC_TAB, - KC_BTN1, TT(1), KC_0, LSFT_T(KC_DOT), KC_ENTER + MS_BTN1, TT(1), KC_0, LSFT_T(KC_DOT), KC_ENTER ), /* SUB LAYER @@ -87,9 +87,9 @@ bool encoder_update_user(uint8_t index, bool clockwise) { case 0: // main layer - move mouse right (CW) and left (CCW) if (clockwise) { - tap_code(KC_MS_R); + tap_code(MS_RGHT); } else { - tap_code(KC_MS_L); + tap_code(MS_LEFT); } break; diff --git a/keyboards/dumbpad/v1x/v1x.c b/keyboards/dumbpad/v1x/v1x.c index 3fec6cb7e6..650f9230cf 100644 --- a/keyboards/dumbpad/v1x/v1x.c +++ b/keyboards/dumbpad/v1x/v1x.c @@ -81,9 +81,9 @@ bool encoder_update_kb(uint8_t index, bool clockwise) { switch (get_highest_layer(layer_state)) { case 0: if (clockwise) { - tap_code(KC_MS_R); + tap_code(MS_RGHT); } else { - tap_code(KC_MS_L); + tap_code(MS_LEFT); } break; diff --git a/keyboards/dumbpad/v1x_dualencoder/keyboard.json b/keyboards/dumbpad/v1x_dualencoder/keyboard.json index f3aeafe625..413d1970a0 100644 --- a/keyboards/dumbpad/v1x_dualencoder/keyboard.json +++ b/keyboards/dumbpad/v1x_dualencoder/keyboard.json @@ -16,8 +16,7 @@ "bootmagic": { "matrix": [3, 0] }, - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "features": { "bootmagic": true, "mousekey": true, diff --git a/keyboards/dumbpad/v1x_dualencoder/keymaps/default/keymap.c b/keyboards/dumbpad/v1x_dualencoder/keymaps/default/keymap.c index 805815253a..d144278f8b 100644 --- a/keyboards/dumbpad/v1x_dualencoder/keymaps/default/keymap.c +++ b/keyboards/dumbpad/v1x_dualencoder/keymaps/default/keymap.c @@ -32,7 +32,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_7, KC_8, KC_9, KC_BSPC, KC_4, KC_5, KC_6, KC_ESC, KC_1, KC_2, KC_3, KC_TAB, - KC_BTN1, TT(1), KC_0, LSFT_T(KC_DOT), KC_ENTER + MS_BTN1, TT(1), KC_0, LSFT_T(KC_DOT), KC_ENTER ), /* SUB LAYER @@ -95,9 +95,9 @@ bool encoder_update_user(uint8_t index, bool clockwise) { case 0: // main layer - move mouse right (CW) and left (CCW) if (clockwise) { - tap_code(KC_MS_R); + tap_code(MS_RGHT); } else { - tap_code(KC_MS_L); + tap_code(MS_LEFT); } break; diff --git a/keyboards/dumbpad/v1x_dualencoder/v1x_dualencoder.c b/keyboards/dumbpad/v1x_dualencoder/v1x_dualencoder.c index 31137ce775..f4aef72f46 100644 --- a/keyboards/dumbpad/v1x_dualencoder/v1x_dualencoder.c +++ b/keyboards/dumbpad/v1x_dualencoder/v1x_dualencoder.c @@ -81,9 +81,9 @@ bool encoder_update_kb(uint8_t index, bool clockwise) { switch (get_highest_layer(layer_state)) { case 0: if (clockwise) { - tap_code(KC_MS_R); + tap_code(MS_RGHT); } else { - tap_code(KC_MS_L); + tap_code(MS_LEFT); } break; diff --git a/keyboards/dumbpad/v1x_oled/keyboard.json b/keyboards/dumbpad/v1x_oled/keyboard.json index 3a437699b8..6547b9ca39 100644 --- a/keyboards/dumbpad/v1x_oled/keyboard.json +++ b/keyboards/dumbpad/v1x_oled/keyboard.json @@ -13,8 +13,7 @@ {"pin_a": "E6", "pin_b": "D7"} ] }, - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "features": { "bootmagic": false, "mousekey": false, diff --git a/keyboards/dumbpad/v1x_right/keyboard.json b/keyboards/dumbpad/v1x_right/keyboard.json index 583d60bc5d..b9a62f2e69 100644 --- a/keyboards/dumbpad/v1x_right/keyboard.json +++ b/keyboards/dumbpad/v1x_right/keyboard.json @@ -15,8 +15,7 @@ "bootmagic": { "matrix": [3, 4] }, - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "features": { "bootmagic": true, "mousekey": true, diff --git a/keyboards/dumbpad/v1x_right/keymaps/default/keymap.c b/keyboards/dumbpad/v1x_right/keymaps/default/keymap.c index a0f4e3a669..cb916b7edc 100644 --- a/keyboards/dumbpad/v1x_right/keymaps/default/keymap.c +++ b/keyboards/dumbpad/v1x_right/keymaps/default/keymap.c @@ -32,7 +32,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_7, KC_8, KC_9, KC_BSPC, KC_4, KC_5, KC_6, KC_ESC, KC_1, KC_2, KC_3, KC_TAB, - TT(1), KC_0, LSFT_T(KC_DOT), KC_ENTER, KC_BTN1 + TT(1), KC_0, LSFT_T(KC_DOT), KC_ENTER, MS_BTN1 ), /* SUB LAYER @@ -87,9 +87,9 @@ bool encoder_update_user(uint8_t index, bool clockwise) { case 0: // main layer - move mouse right (CW) and left (CCW) if (clockwise) { - tap_code(KC_MS_R); + tap_code(MS_RGHT); } else { - tap_code(KC_MS_L); + tap_code(MS_LEFT); } break; diff --git a/keyboards/dumbpad/v1x_right/v1x_right.c b/keyboards/dumbpad/v1x_right/v1x_right.c index 3fec6cb7e6..650f9230cf 100644 --- a/keyboards/dumbpad/v1x_right/v1x_right.c +++ b/keyboards/dumbpad/v1x_right/v1x_right.c @@ -81,9 +81,9 @@ bool encoder_update_kb(uint8_t index, bool clockwise) { switch (get_highest_layer(layer_state)) { case 0: if (clockwise) { - tap_code(KC_MS_R); + tap_code(MS_RGHT); } else { - tap_code(KC_MS_L); + tap_code(MS_LEFT); } break; diff --git a/keyboards/dumbpad/v3x/keyboard.json b/keyboards/dumbpad/v3x/keyboard.json index 7ea29cd9ad..58b8da5b3a 100644 --- a/keyboards/dumbpad/v3x/keyboard.json +++ b/keyboards/dumbpad/v3x/keyboard.json @@ -55,8 +55,7 @@ "ws2812": { "pin": "D1" }, - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "features": { "bootmagic": true, "mousekey": false, diff --git a/keyboards/durgod/dgk6x/rules.mk b/keyboards/durgod/dgk6x/rules.mk index 597f5bbcf9..c74ac83e91 100644 --- a/keyboards/durgod/dgk6x/rules.mk +++ b/keyboards/durgod/dgk6x/rules.mk @@ -1,4 +1,2 @@ # Do not put the microcontroller into power saving mode NO_SUSPEND_POWER_DOWN = yes - -DEFAULT_FOLDER=durgod/dgk6x/hades_ansi diff --git a/keyboards/dz60/keymaps/iso_split-spacebar/keymap.c b/keyboards/dz60/keymaps/iso_split-spacebar/keymap.c index 1479d14398..4d1815eea8 100644 --- a/keyboards/dz60/keymaps/iso_split-spacebar/keymap.c +++ b/keyboards/dz60/keymaps/iso_split-spacebar/keymap.c @@ -93,8 +93,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // 1 2 3 4 5 6 7 8 9 10 11 12 13 14 KC_ESC, KC_F1, 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_MS_LEFT,KC_MS_DOWN,KC_MS_UP, KC_MS_RIGHT,_______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, _______, _______, _______, - _______, _______, _______, _______, _______, KC_MS_BTN1,KC_MS_BTN2,_______, KC_HOME, KC_PGDN, KC_PGUP, KC_END, _______, + _______, MS_LEFT,MS_DOWN,MS_UP, MS_RGHT,_______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, _______, _______, _______, + _______, _______, _______, _______, _______, MS_BTN1,MS_BTN2,_______, KC_HOME, KC_PGDN, KC_PGUP, KC_END, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), /* Keymap NL: Numpad Layer diff --git a/keyboards/earth_rover/keyboard.json b/keyboards/earth_rover/keyboard.json index 516585ca24..b3f5d2bae4 100644 --- a/keyboards/earth_rover/keyboard.json +++ b/keyboards/earth_rover/keyboard.json @@ -25,8 +25,7 @@ "rows": ["D4", "C6", "D7", "E6"] }, "diode_direction": "COL2ROW", - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/eason/aeroboard/keyboard.json b/keyboards/eason/aeroboard/keyboard.json index 1c15e600c4..d48b9819d0 100644 --- a/keyboards/eason/aeroboard/keyboard.json +++ b/keyboards/eason/aeroboard/keyboard.json @@ -5,8 +5,12 @@ "usb": { "vid": "0x8954", "pid": "0x8870", - "device_version": "0.0.1", - "force_nkro": true + "device_version": "0.0.1" + }, + "host": { + "default": { + "nkro": true + } }, "rgblight": { "led_count": 20, diff --git a/keyboards/eason/meow65/keyboard.json b/keyboards/eason/meow65/keyboard.json index 013e7daf4b..20285b66c6 100644 --- a/keyboards/eason/meow65/keyboard.json +++ b/keyboards/eason/meow65/keyboard.json @@ -5,8 +5,12 @@ "usb": { "vid": "0x68F4", "pid": "0x70A0", - "device_version": "0.0.1", - "force_nkro": true + "device_version": "0.0.1" + }, + "host": { + "default": { + "nkro": true + } }, "features": { "bootmagic": true, diff --git a/keyboards/eason/void65h/keyboard.json b/keyboards/eason/void65h/keyboard.json index 006cdb28b8..484b939871 100644 --- a/keyboards/eason/void65h/keyboard.json +++ b/keyboards/eason/void65h/keyboard.json @@ -5,8 +5,12 @@ "usb": { "vid": "0x51D7", "pid": "0x5517", - "device_version": "0.0.1", - "force_nkro": true + "device_version": "0.0.1" + }, + "host": { + "default": { + "nkro": true + } }, "features": { "bootmagic": true, diff --git a/keyboards/eco/info.json b/keyboards/eco/info.json index f62d91a01f..a234ea2399 100644 --- a/keyboards/eco/info.json +++ b/keyboards/eco/info.json @@ -6,8 +6,7 @@ "vid": "0x1337", "pid": "0x6006" }, - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "qmk": { "locking": { "enabled": true, diff --git a/keyboards/elephant42/keyboard.json b/keyboards/elephant42/keyboard.json index d1d321623e..60b135b086 100644 --- a/keyboards/elephant42/keyboard.json +++ b/keyboards/elephant42/keyboard.json @@ -54,8 +54,7 @@ "ws2812": { "pin": "D3" }, - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "features": { "bootmagic": true, "mousekey": false, diff --git a/keyboards/emajesty/eiri/keyboard.json b/keyboards/emajesty/eiri/keyboard.json index 2ad711bf9e..3dd0ab0888 100644 --- a/keyboards/emajesty/eiri/keyboard.json +++ b/keyboards/emajesty/eiri/keyboard.json @@ -19,8 +19,7 @@ "rows": ["B4", "B5", "B2", "B6"] }, "diode_direction": "COL2ROW", - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/emptystring/nqg/keyboard.json b/keyboards/emptystring/nqg/keyboard.json index 17116704c7..226ab34303 100644 --- a/keyboards/emptystring/nqg/keyboard.json +++ b/keyboards/emptystring/nqg/keyboard.json @@ -18,8 +18,7 @@ "rows": ["B6", "B2", "B3", "B1"] }, "diode_direction": "COL2ROW", - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/enmeseoz/enmepad3x4/keyboard.json b/keyboards/enmeseoz/enmepad3x4/keyboard.json new file mode 100644 index 0000000000..50fccf9d8c --- /dev/null +++ b/keyboards/enmeseoz/enmepad3x4/keyboard.json @@ -0,0 +1,39 @@ +{ + "manufacturer": "ENMESEOZ", + "keyboard_name": "ENMEPAD", + "maintainer": "ENMESEOZ", + "bootloader": "rp2040", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "nkro": true + }, + "matrix_pins": { + "cols": ["GP26", "GP27", "GP28", "GP29"], + "rows": ["GP3", "GP4", "GP5"] + }, + "processor": "RP2040", + "usb": { + "device_version": "1.0.0", + "pid": "0x0000", + "vid": "0xFEED" + }, + "layouts": { + "LAYOUT_3x4": { + "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} + ] + } + } +} diff --git a/keyboards/bastardkb/charybdis/3x5/v2/splinky_2/mcuconf.h b/keyboards/enmeseoz/enmepad3x4/keymaps/default/keymap.c similarity index 61% rename from keyboards/bastardkb/charybdis/3x5/v2/splinky_2/mcuconf.h rename to keyboards/enmeseoz/enmepad3x4/keymaps/default/keymap.c index 6aaf31428c..0f6fd6b302 100644 --- a/keyboards/bastardkb/charybdis/3x5/v2/splinky_2/mcuconf.h +++ b/keyboards/enmeseoz/enmepad3x4/keymaps/default/keymap.c @@ -1,5 +1,4 @@ -/* - * Copyright 2022 Charly Delay (@0xcharly) +/* Copyright 2025 ENMESEOZ * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -15,9 +14,18 @@ * along with this program. If not, see . */ -#pragma once +#include QMK_KEYBOARD_H -#include_next +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -#undef RP_SPI_USE_SPI0 -#define RP_SPI_USE_SPI0 TRUE + LAYOUT_3x4( + KC_0, KC_1, KC_4, KC_7, + KC_ENT, KC_2, KC_5, KC_8, + MO(1), KC_3, KC_6, KC_9 + ), + LAYOUT_3x4( + 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/enmeseoz/enmepad3x4/readme.md b/keyboards/enmeseoz/enmepad3x4/readme.md new file mode 100644 index 0000000000..dd7391daac --- /dev/null +++ b/keyboards/enmeseoz/enmepad3x4/readme.md @@ -0,0 +1,25 @@ +# ENMEPAD 3x4 + +ENMEPAD3x4 a compact macropad controlled with rp2040. + +* Keyboard Maintainer: [bkchqaeh](https://github.com/bkchqaeh) +* Hardware Supported: *rp2040* +* Hardware Availability: *Not available* + +Make example for this keyboard (after setting up your build environment): + + make enmeseoz/enmepad3x4:default + +Flashing example for this keyboard: + + make enmeseoz/enmepad3x4: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/enochchau/dropout/dropout.c b/keyboards/enochchau/dropout/dropout.c new file mode 100644 index 0000000000..bef939fed1 --- /dev/null +++ b/keyboards/enochchau/dropout/dropout.c @@ -0,0 +1,33 @@ +// Copyright 2025 Enoch Chau +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "quantum.h" + +// Mimic handle_backlight_caps_lock to use num lock indicator for backlight +void handle_backlight_num_lock(led_t led_state) { + // Use backlight as num_lock indicator + uint8_t bl_toggle_lvl = 0; + bool backlight_enabled = is_backlight_enabled(); + + if (led_state.num_lock && !backlight_enabled) { + // Turning num_lock ON and backlight is disabled in config + // Toggling backlight to the brightest level + bl_toggle_lvl = BACKLIGHT_LEVELS; + } else if (!led_state.num_lock && backlight_enabled) { + // Turning num_lock OFF and backlight is enabled in config + // Toggling backlight and restoring config level + bl_toggle_lvl = get_backlight_level(); + } + + backlight_set(bl_toggle_lvl); +} + +bool led_update_kb(led_t led_state) { + bool res = led_update_user(led_state); + if (res) { +#ifdef BACKLIGHT_ENABLE + handle_backlight_num_lock(led_state); +#endif + } + return res; +} diff --git a/keyboards/enochchau/dropout/keyboard.json b/keyboards/enochchau/dropout/keyboard.json new file mode 100644 index 0000000000..f928181ef6 --- /dev/null +++ b/keyboards/enochchau/dropout/keyboard.json @@ -0,0 +1,60 @@ +{ + "manufacturer": "enochchau", + "keyboard_name": "dropout", + "maintainer": "enochchau", + "backlight": { + "levels": 6, + "on_state": 0, + "pin": "B6" + }, + "development_board": "promicro", + "diode_direction": "COL2ROW", + "encoder": { + "rotary": [ + {"pin_a": "D0", "pin_b": "D4"} + ] + }, + "features": { + "backlight": true, + "bootmagic": true, + "encoder": true, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "matrix_pins": { + "cols": ["B3", "B1", "D7", "C6"], + "rows": ["D1", "B2", "E6", "B4", "B5"] + }, + "tags": ["numpad"], + "url": "https://github.com/enochchau/dropout-numpad", + "usb": { + "device_version": "0.0.1", + "pid": "0x2800", + "vid": "0x9650" + }, + "layouts": { + "LAYOUT": { + "layout": [ + {"label": "Num Lock", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "/", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "*", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "Play", "matrix": [0, 3], "x": 3, "y": 0, "encoder": 0}, + {"label": "7", "matrix": [1, 0], "x": 0, "y": 1}, + {"label": "8", "matrix": [1, 1], "x": 1, "y": 1}, + {"label": "9", "matrix": [1, 2], "x": 2, "y": 1}, + {"label": "-", "matrix": [1, 3], "x": 3, "y": 1}, + {"label": "4", "matrix": [2, 0], "x": 0, "y": 2}, + {"label": "5", "matrix": [2, 1], "x": 1, "y": 2}, + {"label": "6", "matrix": [2, 2], "x": 2, "y": 2}, + {"label": "+", "matrix": [2, 3], "x": 3, "y": 2}, + {"label": "1", "matrix": [3, 0], "x": 0, "y": 3}, + {"label": "2", "matrix": [3, 1], "x": 1, "y": 3}, + {"label": "3", "matrix": [3, 2], "x": 2, "y": 3}, + {"label": "Enter", "matrix": [3, 3], "x": 3, "y": 3, "h": 2}, + {"label": "0", "matrix": [4, 0], "x": 0, "y": 4, "w": 2}, + {"label": ".", "matrix": [4, 2], "x": 2, "y": 4} + ] + } + } +} diff --git a/keyboards/enochchau/dropout/keymaps/default/keymap.c b/keyboards/enochchau/dropout/keymaps/default/keymap.c new file mode 100644 index 0000000000..15d954987e --- /dev/null +++ b/keyboards/enochchau/dropout/keymaps/default/keymap.c @@ -0,0 +1,35 @@ +// Copyright 2025 Enoch Chau +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +enum layer_names { + _BASE, + _LIGHT +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [_BASE] = LAYOUT( + LT(1, KC_NUM), KC_PSLS, KC_PAST, KC_MPLY, + KC_P7, KC_P8, KC_P9, KC_PMNS, + KC_P4, KC_P5, KC_P6, KC_PPLS, + KC_P1, KC_P2, KC_P3, KC_PENT, + KC_P0, KC_PDOT + ), + + [_LIGHT] = LAYOUT( + _______, _______, _______, _______, + _______, BL_UP, BL_DOWN, BL_TOGG, + _______, _______, _______, _______, + _______, _______, _______, QK_BOOT, + _______, _______ + ) +}; + +#if defined(ENCODER_MAP_ENABLE) +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [_BASE] = {ENCODER_CCW_CW(KC_VOLU, KC_VOLD)}, + [_LIGHT] = {ENCODER_CCW_CW(_______, _______)} +}; +#endif diff --git a/keyboards/helix/rev3_5rows/keymaps/default/rules.mk b/keyboards/enochchau/dropout/keymaps/default/rules.mk similarity index 100% rename from keyboards/helix/rev3_5rows/keymaps/default/rules.mk rename to keyboards/enochchau/dropout/keymaps/default/rules.mk diff --git a/keyboards/enochchau/dropout/readme.md b/keyboards/enochchau/dropout/readme.md new file mode 100644 index 0000000000..8d595e8606 --- /dev/null +++ b/keyboards/enochchau/dropout/readme.md @@ -0,0 +1,27 @@ +# dropout + +![dropout](https://i.imgur.com/VTjdJ4e.jpeg) + +A numpad with a rotary encoder. + +* Keyboard Maintainer: [Enoch Chau](https://github.com/enochchau) +* Hardware Supported: PCB w/ Pro Micro compatible development board +* Hardware Availability: [Github](https://github.com/enochchau/dropout-numpad) + +Make example for this keyboard (after setting up your build environment): + + make enochchau/dropout:default + +Flashing example for this keyboard: + + make enochchau/dropout: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 micro-controller +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/ep/comsn/tf_longeboye/keymaps/default/keymap.c b/keyboards/ep/comsn/tf_longeboye/keymaps/default/keymap.c index 1fdcc9d4db..ef0570a6b3 100644 --- a/keyboards/ep/comsn/tf_longeboye/keymaps/default/keymap.c +++ b/keyboards/ep/comsn/tf_longeboye/keymaps/default/keymap.c @@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, SGUI(KC_S), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, LSG(KC_S), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_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_VOLD, KC_VOLU, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGDN, KC_TRNS, KC_TRNS, KC_TRNS ), diff --git a/keyboards/epomaker/tide65/keyboard.json b/keyboards/epomaker/tide65/keyboard.json index 7a384f180f..47561f8af0 100644 --- a/keyboards/epomaker/tide65/keyboard.json +++ b/keyboards/epomaker/tide65/keyboard.json @@ -143,11 +143,15 @@ }, "usb": { "device_version": "0.0.1", - "force_nkro": true, "pid": "0xE463", "suspend_wakeup_delay": 1000, "vid": "0x342D" }, + "host": { + "default": { + "nkro": true + } + }, "ws2812": { "pin": "B15" }, diff --git a/keyboards/ergodox_ez/glow/keymaps/default/keymap.c b/keyboards/ergodox_ez/glow/keymaps/default/keymap.c index 13b2cee50a..edcb75dc1c 100644 --- a/keyboards/ergodox_ez/glow/keymaps/default/keymap.c +++ b/keyboards/ergodox_ez/glow/keymaps/default/keymap.c @@ -39,7 +39,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, KC_LEFT, KC_RGHT, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_DEL, KC_Q, KC_W, KC_E, KC_R, KC_T, TG(SYMB), TG(SYMB), KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS, KC_BSPC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, LT(MDIA, KC_SCLN), GUI_T(KC_QUOT), - KC_LSFT, CTL_T(KC_Z), KC_X, KC_C, KC_V, KC_B, ALL_T(KC_NO), MEH_T(KC_NO), KC_N, KC_M, KC_COMM, KC_DOT, CTL_T(KC_SLSH), KC_RSFT, + KC_LSFT, CTL_T(KC_Z), KC_X, KC_C, KC_V, KC_B, HYPR_T(KC_NO), MEH_T(KC_NO), KC_N, KC_M, KC_COMM, KC_DOT, CTL_T(KC_SLSH), KC_RSFT, LT(SYMB,KC_GRV), KC_QUOT, LALT(KC_LSFT), KC_LEFT, KC_RGHT, KC_UP, KC_DOWN, KC_LBRC, KC_RBRC, TT(SYMB), ALT_T(KC_APP), KC_LGUI, KC_LALT, CTL_T(KC_ESC), KC_HOME, KC_PGUP, @@ -101,10 +101,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [MDIA] = LAYOUT_ergodox_pretty( // 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_MS_U, KC_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_L, KC_MS_D, KC_MS_R, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, + KC_TRNS, KC_TRNS, KC_TRNS, MS_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, MS_LEFT, MS_DOWN, MS_RGHT, 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_MPRV, KC_MNXT, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_BTN1, KC_BTN2, KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, MS_BTN1, MS_BTN2, KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, diff --git a/keyboards/ergodox_ez/keymaps/default/keymap.c b/keyboards/ergodox_ez/keymaps/default/keymap.c index 555e203370..2ec7a02920 100644 --- a/keyboards/ergodox_ez/keymaps/default/keymap.c +++ b/keyboards/ergodox_ez/keymaps/default/keymap.c @@ -39,7 +39,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, KC_LEFT, KC_RGHT, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_DEL, KC_Q, KC_W, KC_E, KC_R, KC_T, TG(SYMB), TG(SYMB), KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS, KC_BSPC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, LT(MDIA, KC_SCLN), GUI_T(KC_QUOT), - KC_LSFT, CTL_T(KC_Z), KC_X, KC_C, KC_V, KC_B, ALL_T(KC_NO), MEH_T(KC_NO), KC_N, KC_M, KC_COMM, KC_DOT, CTL_T(KC_SLSH), KC_RSFT, + KC_LSFT, CTL_T(KC_Z), KC_X, KC_C, KC_V, KC_B, HYPR_T(KC_NO), MEH_T(KC_NO), KC_N, KC_M, KC_COMM, KC_DOT, CTL_T(KC_SLSH), KC_RSFT, LT(SYMB,KC_GRV), KC_QUOT, LALT(KC_LSFT), KC_LEFT, KC_RGHT, KC_UP, KC_DOWN, KC_LBRC, KC_RBRC, TT(SYMB), ALT_T(KC_APP), KC_LGUI, KC_LALT, CTL_T(KC_ESC), KC_HOME, KC_PGUP, @@ -101,10 +101,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [MDIA] = LAYOUT_ergodox_pretty( // 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_MS_U, KC_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_L, KC_MS_D, KC_MS_R, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, + KC_TRNS, KC_TRNS, KC_TRNS, MS_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, MS_LEFT, MS_DOWN, MS_RGHT, 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_MPRV, KC_MNXT, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_BTN1, KC_BTN2, KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, MS_BTN1, MS_BTN2, KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, diff --git a/keyboards/ergodox_ez/keymaps/default_osx/keymap.c b/keyboards/ergodox_ez/keymaps/default_osx/keymap.c index 3ab66078fe..3008726acd 100644 --- a/keyboards/ergodox_ez/keymaps/default_osx/keymap.c +++ b/keyboards/ergodox_ez/keymaps/default_osx/keymap.c @@ -38,7 +38,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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), + KC_LSFT, CTL_T(KC_Z), KC_X, KC_C, KC_V, KC_B, HYPR_T(KC_NO), LT(SYMB,KC_GRV),KC_QUOT, LALT(KC_LSFT), KC_LEFT,KC_RGHT, ALT_T(KC_APP), KC_LGUI, KC_HOME, @@ -119,10 +119,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // 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_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, MS_UP, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, MS_LEFT, MS_DOWN, MS_RGHT, 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, MS_BTN1, MS_BTN2, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, diff --git a/keyboards/ergodox_ez/keymaps/rgb_layer/keymap.c b/keyboards/ergodox_ez/keymaps/rgb_layer/keymap.c index 47c2612e35..6072fbb5f0 100644 --- a/keyboards/ergodox_ez/keymaps/rgb_layer/keymap.c +++ b/keyboards/ergodox_ez/keymaps/rgb_layer/keymap.c @@ -51,7 +51,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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), + KC_LSFT, CTL_T(KC_Z), KC_X, KC_C, KC_V, KC_B, HYPR_T(KC_NO), LT(SYMB,KC_GRV),KC_QUOT, LALT(KC_LSFT), KC_LEFT,KC_RGHT, ALT_T(KC_APP), KC_LGUI, KC_HOME, @@ -132,10 +132,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // 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_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, MS_UP, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, MS_LEFT, MS_DOWN, MS_RGHT, 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, MS_BTN1, MS_BTN2, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, diff --git a/keyboards/ergodox_ez/keymaps/testing/keymap.c b/keyboards/ergodox_ez/keymaps/testing/keymap.c index 300c2457c4..3f724fc2df 100644 --- a/keyboards/ergodox_ez/keymaps/testing/keymap.c +++ b/keyboards/ergodox_ez/keymaps/testing/keymap.c @@ -20,11 +20,11 @@ enum custom_keycodes { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_ergodox(KC_EQUAL,KC_1,KC_2,KC_3,KC_4,KC_5,LCTL(KC_MINUS),KC_DELETE,KC_Q,KC_W,KC_E,KC_R,KC_T,KC_LBRC,KC_BSPC,KC_A,KC_S,KC_D,KC_F,KC_G,SC_LSPO,CTL_T(KC_Z),KC_X,KC_C,KC_V,KC_B,ALL_T(KC_NO),LT(1,KC_GRAVE),KC_QUOTE,LALT(KC_LSFT),KC_LEFT,KC_RIGHT,ALT_T(KC_APPLICATION),KC_LGUI,KC_HOME,KC_SPACE,KC_UNDS,KC_END,LCTL(KC_EQUAL),KC_6,KC_7,KC_8,KC_9,KC_0,KC_MINUS,KC_RBRC,KC_Y,KC_U,KC_I,KC_O,KC_P,KC_BSLS,KC_H,ALT_T(KC_J),KC_K,KC_L,LT(2,KC_SCLN),GUI_T(KC_QUOTE),MEH_T(KC_NO),KC_N,KC_M,KC_COMMA,KC_DOT,CTL_T(KC_SLASH),SC_RSPC,KC_UP,KC_DOWN,KC_LBRC,KC_RBRC,TT(1),KC_LALT,CTL_T(KC_ESCAPE),KC_PGUP,KC_PGDN,LT(1,KC_TAB),KC_ENTER), + [0] = LAYOUT_ergodox(KC_EQUAL,KC_1,KC_2,KC_3,KC_4,KC_5,LCTL(KC_MINUS),KC_DELETE,KC_Q,KC_W,KC_E,KC_R,KC_T,KC_LBRC,KC_BSPC,KC_A,KC_S,KC_D,KC_F,KC_G,SC_LSPO,CTL_T(KC_Z),KC_X,KC_C,KC_V,KC_B,HYPR_T(KC_NO),LT(1,KC_GRAVE),KC_QUOTE,LALT(KC_LSFT),KC_LEFT,KC_RIGHT,ALT_T(KC_APPLICATION),KC_LGUI,KC_HOME,KC_SPACE,KC_UNDS,KC_END,LCTL(KC_EQUAL),KC_6,KC_7,KC_8,KC_9,KC_0,KC_MINUS,KC_RBRC,KC_Y,KC_U,KC_I,KC_O,KC_P,KC_BSLS,KC_H,ALT_T(KC_J),KC_K,KC_L,LT(2,KC_SCLN),GUI_T(KC_QUOTE),MEH_T(KC_NO),KC_N,KC_M,KC_COMMA,KC_DOT,CTL_T(KC_SLASH),SC_RSPC,KC_UP,KC_DOWN,KC_LBRC,KC_RBRC,TT(1),KC_LALT,CTL_T(KC_ESCAPE),KC_PGUP,KC_PGDN,LT(1,KC_TAB),KC_ENTER), [1] = LAYOUT_ergodox(KC_TRANSPARENT,KC_F1,KC_F2,KC_F3,KC_F4,KC_F5,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,LCTL(KC_W),KC_LBRC,KC_RBRC,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,LCTL(KC_PGUP),LCTL(KC_PGDN),UG_NEXT,KC_TRANSPARENT,KC_TRANSPARENT,UG_VALD,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_F6,KC_F7,KC_F8,KC_F9,KC_F10,KC_F11,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_F12,KC_AMPR,KC_UNDS,KC_MINUS,KC_SCLN,KC_PLUS,KC_TRANSPARENT,KC_TRANSPARENT,KC_PIPE,KC_AT,KC_EQUAL,KC_PERC,KC_BSLS,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,UG_TOGG,RGB_SLD,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,UG_HUEU), - [2] = LAYOUT_ergodox(KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_MS_UP,KC_TRANSPARENT,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_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_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_MEDIA_PLAY_PAUSE,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,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_WWW_BACK), + [2] = LAYOUT_ergodox(KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,MS_UP,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,MS_LEFT,MS_DOWN,MS_RGHT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,MS_BTN1,MS_BTN2,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_MEDIA_PLAY_PAUSE,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,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_WWW_BACK), }; diff --git a/keyboards/ergodox_ez/rules.mk b/keyboards/ergodox_ez/rules.mk index 187d9dd8e2..9c0392f5d0 100644 --- a/keyboards/ergodox_ez/rules.mk +++ b/keyboards/ergodox_ez/rules.mk @@ -14,5 +14,3 @@ AUDIO_SUPPORTED = no BACKLIGHT_SUPPORTED = no MOUSE_SHARED_EP = no - -DEFAULT_FOLDER = ergodox_ez/base diff --git a/keyboards/ergodox_ez/util/keymap_beautifier/README.md b/keyboards/ergodox_ez/util/keymap_beautifier/README.md index e7c7096f77..849e61fc9b 100644 --- a/keyboards/ergodox_ez/util/keymap_beautifier/README.md +++ b/keyboards/ergodox_ez/util/keymap_beautifier/README.md @@ -7,7 +7,7 @@ This Python 3 script, by [Tsan-Kuang Lee](https://github.com/tsankuanglee) takes For example, the original `keymap.c` looks like ``` -[0] = LAYOUT_ergodox(KC_EQUAL,KC_1,KC_2,KC_3,KC_4,KC_5,LCTL(KC_MINUS),KC_DELETE,KC_Q,KC_W,KC_E,KC_R,KC_T,KC_LBRC,KC_BSPC,KC_A,KC_S,KC_D,KC_F,KC_G,SC_LSPO,CTL_T(KC_Z),KC_X,KC_C,KC_V,KC_B,ALL_T(KC_NO),LT(1,KC_GRAVE),KC_QUOTE,LALT(KC_LSFT),KC_LEFT,KC_RIGHT,ALT_T(KC_APPLICATION),KC_LGUI,KC_HOME,KC_SPACE,KC_UNDS,KC_END,LCTL(KC_EQUAL),KC_6,KC_7,KC_8,KC_9,KC_0,KC_MINUS,KC_RBRC,KC_Y,KC_U,KC_I,KC_O,KC_P,KC_BSLS,KC_H,ALT_T(KC_J),KC_K,KC_L,LT(2,KC_SCLN),GUI_T(KC_QUOTE),MEH_T(KC_NO),KC_N,KC_M,KC_COMMA,KC_DOT,CTL_T(KC_SLASH),SC_RSPC,KC_UP,KC_DOWN,KC_LBRC,KC_RBRC,TT(1),KC_LALT,CTL_T(KC_ESCAPE),KC_PGUP,KC_PGDN,LT(1,KC_TAB),KC_ENTER), +[0] = LAYOUT_ergodox(KC_EQUAL,KC_1,KC_2,KC_3,KC_4,KC_5,LCTL(KC_MINUS),KC_DELETE,KC_Q,KC_W,KC_E,KC_R,KC_T,KC_LBRC,KC_BSPC,KC_A,KC_S,KC_D,KC_F,KC_G,SC_LSPO,CTL_T(KC_Z),KC_X,KC_C,KC_V,KC_B,HYPR_T(KC_NO),LT(1,KC_GRAVE),KC_QUOTE,LALT(KC_LSFT),KC_LEFT,KC_RIGHT,ALT_T(KC_APPLICATION),KC_LGUI,KC_HOME,KC_SPACE,KC_UNDS,KC_END,LCTL(KC_EQUAL),KC_6,KC_7,KC_8,KC_9,KC_0,KC_MINUS,KC_RBRC,KC_Y,KC_U,KC_I,KC_O,KC_P,KC_BSLS,KC_H,ALT_T(KC_J),KC_K,KC_L,LT(2,KC_SCLN),GUI_T(KC_QUOTE),MEH_T(KC_NO),KC_N,KC_M,KC_COMMA,KC_DOT,CTL_T(KC_SLASH),SC_RSPC,KC_UP,KC_DOWN,KC_LBRC,KC_RBRC,TT(1),KC_LALT,CTL_T(KC_ESCAPE),KC_PGUP,KC_PGDN,LT(1,KC_TAB),KC_ENTER), ``` The beautifier parses it and outputs: @@ -19,7 +19,7 @@ The beautifier parses it and outputs: KC_EQUAL , KC_1 , KC_2 , KC_3 , KC_4 , KC_5, LCTL(KC_MINUS), KC_DELETE , KC_Q , KC_W , KC_E , KC_R , KC_T, KC_LBRC , KC_BSPC , KC_A , KC_S , KC_D , KC_F , KC_G, -SC_LSPO , CTL_T(KC_Z), KC_X , KC_C , KC_V , KC_B, ALL_T(KC_NO) , +SC_LSPO , CTL_T(KC_Z), KC_X , KC_C , KC_V , KC_B, HYPR_T(KC_NO) , LT(1,KC_GRAVE), KC_QUOTE , LALT(KC_LSFT) , KC_LEFT, KC_RIGHT, // left thumb diff --git a/keyboards/ergoslab/keymaps/default/keymap.c b/keyboards/ergoslab/keymaps/default/keymap.c index 01ea4ba36c..019a6fc17c 100644 --- a/keyboards/ergoslab/keymaps/default/keymap.c +++ b/keyboards/ergoslab/keymaps/default/keymap.c @@ -41,10 +41,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [MOUS] = LAYOUT( - _______, _______, KC_MS_U, _______, _______, _______, _______, KC_WH_U, _______, _______, - _______, KC_MS_L, KC_MS_D, KC_MS_R, _______, _______, KC_BTN3, KC_WH_D, _______, _______, + _______, _______, MS_UP, _______, _______, _______, _______, MS_WHLU, _______, _______, + _______, MS_LEFT, MS_DOWN, MS_RGHT, _______, _______, MS_BTN3, MS_WHLD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, KC_ACL0, _______, KC_BTN2, KC_BTN1, _______, _______, _______, _______, + _______, _______, _______, _______, MS_ACL0, _______, MS_BTN2, MS_BTN1, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), }; diff --git a/keyboards/ergoslab/rev1/keyboard.json b/keyboards/ergoslab/rev1/keyboard.json index 0d017d7a97..59e3e038e9 100644 --- a/keyboards/ergoslab/rev1/keyboard.json +++ b/keyboards/ergoslab/rev1/keyboard.json @@ -25,8 +25,7 @@ "ws2812": { "pin": "D3" }, - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "features": { "bootmagic": false, "mousekey": true, diff --git a/keyboards/ergotravel/rev1/keyboard.json b/keyboards/ergotravel/rev1/keyboard.json index 0c34bf04bd..803653fb70 100644 --- a/keyboards/ergotravel/rev1/keyboard.json +++ b/keyboards/ergotravel/rev1/keyboard.json @@ -25,8 +25,7 @@ "ws2812": { "pin": "D3" }, - "bootloader": "caterina", - "processor": "atmega32u4", + "development_board": "promicro", "features": { "bootmagic": false, "mousekey": true, diff --git a/keyboards/etiennecollin/wave/keymaps/default/keymap.c b/keyboards/etiennecollin/wave/keymaps/default/keymap.c index 24bc85d5b4..8de48fb016 100644 --- a/keyboards/etiennecollin/wave/keymaps/default/keymap.c +++ b/keyboards/etiennecollin/wave/keymaps/default/keymap.c @@ -115,10 +115,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // --------+-------+-------+-------+-------| |-------+-------+-------+-------+-------| // | | | ___ | | left | right | mid | // --------+-------+-------- --------+-------+-------- - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_ACL0, KC_ACL1, KC_ACL2, XXXXXXX, - KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, XXXXXXX, XXXXXXX, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_WH_L, KC_WH_D, KC_WH_U, KC_WH_R, - XXXXXXX, XXXXXXX, _______, KC_BTN1, KC_BTN2, KC_BTN3 + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, MS_ACL0, MS_ACL1, MS_ACL2, XXXXXXX, + KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, XXXXXXX, XXXXXXX, MS_LEFT, MS_DOWN, MS_UP, MS_RGHT, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, MS_WHLL, MS_WHLD, MS_WHLU, MS_WHLR, + XXXXXXX, XXXXXXX, _______, MS_BTN1, MS_BTN2, MS_BTN3 ), [SYM] = LAYOUT_split_3x5_3( // ----------------------------------------- ----------------------------------------- diff --git a/keyboards/evancookaudio/sleepingdinosaur/keyboard.json b/keyboards/evancookaudio/sleepingdinosaur/keyboard.json index c6b77a26c8..4bedb82481 100644 --- a/keyboards/evancookaudio/sleepingdinosaur/keyboard.json +++ b/keyboards/evancookaudio/sleepingdinosaur/keyboard.json @@ -21,8 +21,7 @@ "rows": ["D1", "D0", "D4", "C6", "D7"] }, "diode_direction": "COL2ROW", - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/evancookaudio/tenpad/keyboard.json b/keyboards/evancookaudio/tenpad/keyboard.json index 46107a1c9b..c52556b4f4 100644 --- a/keyboards/evancookaudio/tenpad/keyboard.json +++ b/keyboards/evancookaudio/tenpad/keyboard.json @@ -21,8 +21,7 @@ "rows": ["D0", "D1"] }, "diode_direction": "COL2ROW", - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "layouts": { "LAYOUT_ortho_2x5": { "layout": [ diff --git a/keyboards/evyd13/ta65/keymaps/default/keymap.c b/keyboards/evyd13/ta65/keymaps/default/keymap.c index 697215510b..bde9290afb 100644 --- a/keyboards/evyd13/ta65/keymaps/default/keymap.c +++ b/keyboards/evyd13/ta65/keymaps/default/keymap.c @@ -22,9 +22,9 @@ bool encoder_update_user(uint8_t index, bool clockwise) { switch(get_highest_layer(layer_state)){ case 1: //Layer 1 if (!clockwise) { // Remove ! to reverse direction - tap_code(KC_WH_U); + tap_code(MS_WHLU); } else { - tap_code(KC_WH_D); + tap_code(MS_WHLD); } break; default: //Layer 0 diff --git a/keyboards/fancytech/fancyalice66/keyboard.json b/keyboards/fancytech/fancyalice66/keyboard.json index 869ebe7465..c1f0a93f26 100644 --- a/keyboards/fancytech/fancyalice66/keyboard.json +++ b/keyboards/fancytech/fancyalice66/keyboard.json @@ -162,10 +162,14 @@ "url": "https://www.aliexpress.com/item/1005004272392611.html", "usb": { "device_version": "0.0.1", - "force_nkro": true, "pid": "0x3663", "vid": "0xECED" }, + "host": { + "default": { + "nkro": true + } + }, "ws2812": { "pin": "B0" }, diff --git a/keyboards/ferris/0_2/rules.mk b/keyboards/ferris/0_2/rules.mk index 11b9d33a69..c04c3c92ed 100644 --- a/keyboards/ferris/0_2/rules.mk +++ b/keyboards/ferris/0_2/rules.mk @@ -2,5 +2,3 @@ CUSTOM_MATRIX = lite SRC += matrix.c I2C_DRIVER_REQUIRED = yes - -DEFAULT_FOLDER = ferris/0_2/base diff --git a/keyboards/ferris/keymaps/default/keymap.json b/keyboards/ferris/keymaps/default/keymap.json index 3f927ae5b1..0d081e4d8f 100644 --- a/keyboards/ferris/keymaps/default/keymap.json +++ b/keyboards/ferris/keymaps/default/keymap.json @@ -18,13 +18,13 @@ "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" , "MS_BTN1" , "MS_WHLU" , "MS_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" , "MS_BTN2" , "KC_NO" , "MS_BTN1" , "KC_TRNS", + "KC_TRNS" , "MS_LEFT" , "MS_DOWN" , "MS_UP" , "MS_RGHT", "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" , "MS_WHLL" , "MS_WHLD" , "MS_WHLR" , "KC_TRNS", "KC_TRNS" , "KC_TRNS", "KC_TRNS" , "KC_TRNS" diff --git a/keyboards/ffkeebs/puca/keyboard.json b/keyboards/ffkeebs/puca/keyboard.json index e79032593a..3e3acdb1e1 100644 --- a/keyboards/ffkeebs/puca/keyboard.json +++ b/keyboards/ffkeebs/puca/keyboard.json @@ -54,8 +54,7 @@ "ws2812": { "pin": "D4" }, - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "layout_aliases": { "LAYOUT": "LAYOUT_all" }, diff --git a/keyboards/flehrad/numbrero/keyboard.json b/keyboards/flehrad/numbrero/keyboard.json index ac21bb0fbb..353712358a 100644 --- a/keyboards/flehrad/numbrero/keyboard.json +++ b/keyboards/flehrad/numbrero/keyboard.json @@ -24,8 +24,7 @@ "rows": ["F6", "B5", "B4", "E6", "F7"] }, "diode_direction": "COL2ROW", - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "layout_aliases": { "LAYOUT_numbrero_numpad": "LAYOUT_numpad", "LAYOUT_numbrero_ortho": "LAYOUT_ortho" diff --git a/keyboards/flehrad/snagpad/keyboard.json b/keyboards/flehrad/snagpad/keyboard.json index d1a2f3ddee..641e6efedd 100644 --- a/keyboards/flehrad/snagpad/keyboard.json +++ b/keyboards/flehrad/snagpad/keyboard.json @@ -24,8 +24,7 @@ "rows": ["D1", "D0", "D4", "C6", "D7"] }, "diode_direction": "COL2ROW", - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "community_layouts": ["ortho_5x4", "numpad_5x4"], "layouts": { "LAYOUT_ortho_5x4": { diff --git a/keyboards/flehrad/tradestation/keyboard.json b/keyboards/flehrad/tradestation/keyboard.json index b753ce2f8e..55b75c4d51 100644 --- a/keyboards/flehrad/tradestation/keyboard.json +++ b/keyboards/flehrad/tradestation/keyboard.json @@ -24,8 +24,7 @@ "rows": ["D1", "C6", "D4", "D0"] }, "diode_direction": "COL2ROW", - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "community_layouts": ["ortho_4x4"], "layout_aliases": { "LAYOUT_tradestation": "LAYOUT_4x2u" diff --git a/keyboards/flxlb/zplit/config.h b/keyboards/flxlb/zplit/config.h index 832108a54b..af2447eb68 100644 --- a/keyboards/flxlb/zplit/config.h +++ b/keyboards/flxlb/zplit/config.h @@ -18,7 +18,6 @@ along with this program. If not, see . #pragma once -#define SELECT_SOFT_SERIAL_SPEED 1 // #define USE_I2C #define SPLIT_USB_DETECT #define SPLIT_USB_TIMEOUT 500 diff --git a/keyboards/for_science/keyboard.json b/keyboards/for_science/keyboard.json index 5ae7808d42..62718933cd 100644 --- a/keyboards/for_science/keyboard.json +++ b/keyboards/for_science/keyboard.json @@ -26,8 +26,7 @@ "rows": ["D4", "D7", "E6", "B4", "B5"] }, "diode_direction": "ROW2COL", - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "layouts": { "LAYOUT_split_4x5_3": { "layout": [ diff --git a/keyboards/fr4/southpaw75/keyboard.json b/keyboards/fr4/southpaw75/keyboard.json index dc919b2ee4..c5d5094c96 100644 --- a/keyboards/fr4/southpaw75/keyboard.json +++ b/keyboards/fr4/southpaw75/keyboard.json @@ -25,8 +25,7 @@ "rows": ["D3", "D2", "D1", "D0", "D4", "C6", "D7", "E6", "B4"] }, "diode_direction": "COL2ROW", - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/fr4/unix60/keyboard.json b/keyboards/fr4/unix60/keyboard.json index 97da97dd0e..7f7bc3fbc7 100644 --- a/keyboards/fr4/unix60/keyboard.json +++ b/keyboards/fr4/unix60/keyboard.json @@ -19,8 +19,7 @@ "rows": ["D3", "D2", "D1", "D0", "D4", "C6", "D7"] }, "diode_direction": "COL2ROW", - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "community_layouts": [ "60_hhkb" ], diff --git a/keyboards/fractal/keyboard.json b/keyboards/fractal/keyboard.json index 1e322e63b4..38a8bf4593 100644 --- a/keyboards/fractal/keyboard.json +++ b/keyboards/fractal/keyboard.json @@ -13,8 +13,7 @@ "rows": ["B1", "F7", "F6", "F5", "F4"] }, "diode_direction": "COL2ROW", - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "features": { "bootmagic": true, "mousekey": true, diff --git a/keyboards/free_willy/keyboard.json b/keyboards/free_willy/keyboard.json index 815f5808f5..d6d7d2d155 100644 --- a/keyboards/free_willy/keyboard.json +++ b/keyboards/free_willy/keyboard.json @@ -19,8 +19,7 @@ "rows": ["F4", "F5", "F6", "F7"] }, "diode_direction": "COL2ROW", - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/frobiac/blackbowl/keymaps/default/keymap.c b/keyboards/frobiac/blackbowl/keymaps/default/keymap.c index d85215ea04..c895ceb53c 100644 --- a/keyboards/frobiac/blackbowl/keymaps/default/keymap.c +++ b/keyboards/frobiac/blackbowl/keymaps/default/keymap.c @@ -74,9 +74,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_MOUSE] = LAYOUT( - KC_WH_L, XXXXXXX, KC_MS_U, XXXXXXX, XXXXXXX, KC_ACL0, XXXXXXX, KC_BTN3, XXXXXXX, KC_BTN5, - KC_WH_R, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_U, KC_ACL1, XXXXXXX, KC_BTN1, KC_BTN2, KC_BTN4, - MOUSE_X, KC_BTN1, KC_BTN3, KC_BTN2, KC_WH_D, KC_ACL2, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + MS_WHLL, XXXXXXX, MS_UP, XXXXXXX, XXXXXXX, MS_ACL0, XXXXXXX, MS_BTN3, XXXXXXX, MS_BTN5, + MS_WHLR, MS_LEFT, MS_DOWN, MS_RGHT, MS_WHLU, MS_ACL1, XXXXXXX, MS_BTN1, MS_BTN2, MS_BTN4, + MOUSE_X, MS_BTN1, MS_BTN3, MS_BTN2, MS_WHLD, MS_ACL2, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, _______, _______, _______, _______, _______, _______ ), diff --git a/keyboards/frobiac/blackflat/keymaps/default/keymap.c b/keyboards/frobiac/blackflat/keymaps/default/keymap.c index 8cf73b9316..f5591d6934 100644 --- a/keyboards/frobiac/blackflat/keymaps/default/keymap.c +++ b/keyboards/frobiac/blackflat/keymaps/default/keymap.c @@ -74,9 +74,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_MOUSE] = LAYOUT( - KC_WH_L, XXXXXXX, KC_MS_U, XXXXXXX, XXXXXXX, KC_ACL0, XXXXXXX, KC_BTN3, XXXXXXX, KC_BTN5, - KC_WH_R, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_U, KC_ACL1, XXXXXXX, KC_BTN1, KC_BTN2, KC_BTN4, - MOUSE_X, KC_BTN1, KC_BTN3, KC_BTN2, KC_WH_D, KC_ACL2, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + MS_WHLL, XXXXXXX, MS_UP, XXXXXXX, XXXXXXX, MS_ACL0, XXXXXXX, MS_BTN3, XXXXXXX, MS_BTN5, + MS_WHLR, MS_LEFT, MS_DOWN, MS_RGHT, MS_WHLU, MS_ACL1, XXXXXXX, MS_BTN1, MS_BTN2, MS_BTN4, + MOUSE_X, MS_BTN1, MS_BTN3, MS_BTN2, MS_WHLD, MS_ACL2, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, _______, _______, _______, _______, _______, _______ ), diff --git a/keyboards/frobiac/hypernano/keymaps/default/keymap.c b/keyboards/frobiac/hypernano/keymaps/default/keymap.c index 5e5277805f..5af1391461 100644 --- a/keyboards/frobiac/hypernano/keymaps/default/keymap.c +++ b/keyboards/frobiac/hypernano/keymaps/default/keymap.c @@ -74,9 +74,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_MOUSE] = LAYOUT( - KC_WH_L, XXXXXXX, KC_MS_U, XXXXXXX, XXXXXXX, KC_ACL0, XXXXXXX, KC_BTN3, XXXXXXX, KC_BTN5, - KC_WH_R, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_U, KC_ACL1, XXXXXXX, KC_BTN1, KC_BTN2, KC_BTN4, - MOUSE_X, KC_BTN1, KC_BTN3, KC_BTN2, KC_WH_D, XXXXXXX, XXXXXXX, KC_ACL2, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + MS_WHLL, XXXXXXX, MS_UP, XXXXXXX, XXXXXXX, MS_ACL0, XXXXXXX, MS_BTN3, XXXXXXX, MS_BTN5, + MS_WHLR, MS_LEFT, MS_DOWN, MS_RGHT, MS_WHLU, MS_ACL1, XXXXXXX, MS_BTN1, MS_BTN2, MS_BTN4, + MOUSE_X, MS_BTN1, MS_BTN3, MS_BTN2, MS_WHLD, XXXXXXX, XXXXXXX, MS_ACL2, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, _______, _______, _______, XXXXXXX, XXXXXXX, _______, _______, _______, _______, _______ ), diff --git a/keyboards/frobiac/redtilt/keymaps/default/keymap.c b/keyboards/frobiac/redtilt/keymaps/default/keymap.c index d6df7a9db3..71c7dd49c8 100644 --- a/keyboards/frobiac/redtilt/keymaps/default/keymap.c +++ b/keyboards/frobiac/redtilt/keymaps/default/keymap.c @@ -76,9 +76,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_MOUSE] = LAYOUT( - XXXXXXX, KC_WH_L, XXXXXXX, KC_MS_U, XXXXXXX, XXXXXXX, KC_ACL0, XXXXXXX, KC_BTN3, XXXXXXX, KC_BTN5, XXXXXXX, - XXXXXXX, KC_WH_R, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_U, KC_ACL1, XXXXXXX, KC_BTN1, KC_BTN2, KC_BTN4, XXXXXXX, - XXXXXXX, MOUSE_X, KC_BTN1, KC_BTN3, KC_BTN2, KC_WH_D, KC_ACL2, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, MS_WHLL, XXXXXXX, MS_UP, XXXXXXX, XXXXXXX, MS_ACL0, XXXXXXX, MS_BTN3, XXXXXXX, MS_BTN5, XXXXXXX, + XXXXXXX, MS_WHLR, MS_LEFT, MS_DOWN, MS_RGHT, MS_WHLU, MS_ACL1, XXXXXXX, MS_BTN1, MS_BTN2, MS_BTN4, XXXXXXX, + XXXXXXX, MOUSE_X, MS_BTN1, MS_BTN3, MS_BTN2, MS_WHLD, MS_ACL2, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX ), diff --git a/keyboards/fungo/keymaps/default/keymap.c b/keyboards/fungo/keymaps/default/keymap.c index 6dc4e97f1b..9225514452 100644 --- a/keyboards/fungo/keymaps/default/keymap.c +++ b/keyboards/fungo/keymaps/default/keymap.c @@ -145,9 +145,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [SAM4] = LAYOUT( KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_ESC, KC_ESC, 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_F11, KC_BSPC, KC_ACL0, KC_BTN1, KC_MS_U, KC_BTN2, KC_NO, KC_NO, - KC_TAB, KC_F6, MTC_F7, MTC_F8, MTC_F9, KC_F10, KC_F12, KC_CAPS, KC_ACL1, KC_MS_L, KC_MS_D, KC_MS_R, KC_NO, KC_TAB, - KC_NO, KC_NO, KC_ACL0, KC_ACL1, KC_ACL2, KC_NO, KC_NO, TT(SAM3), KC_NO, KC_NO, TT(SAM2), KC_NO, KC_ACL2, KC_WH_L, KC_WH_U, KC_WH_D, KC_WH_R, KC_RCTL, + KC_NO, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F11, KC_BSPC, MS_ACL0, MS_BTN1, MS_UP, MS_BTN2, KC_NO, KC_NO, + KC_TAB, KC_F6, MTC_F7, MTC_F8, MTC_F9, KC_F10, KC_F12, KC_CAPS, MS_ACL1, MS_LEFT, MS_DOWN, MS_RGHT, KC_NO, KC_TAB, + KC_NO, KC_NO, MS_ACL0, MS_ACL1, MS_ACL2, KC_NO, KC_NO, TT(SAM3), KC_NO, KC_NO, TT(SAM2), KC_NO, MS_ACL2, MS_WHLL, MS_WHLU, MS_WHLD, MS_WHLR, KC_RCTL, KC_NO, TT(SAM1), KC_NO, KC_LALT, KC_SPC, TT(SAM2), KC_ENT, MO(SAM4), KC_NO, KC_ENT, TT(SAM3), KC_SPC, KC_RALT, KC_NO, TT(SAM1), KC_NO ), }; diff --git a/keyboards/fungo/rev1/keyboard.json b/keyboards/fungo/rev1/keyboard.json index 0b0abec8e7..e494bce0ad 100644 --- a/keyboards/fungo/rev1/keyboard.json +++ b/keyboards/fungo/rev1/keyboard.json @@ -40,8 +40,7 @@ "resync": true } }, - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "debounce": 3, "tapping": { "toggle": 3 diff --git a/keyboards/funky40/keyboard.json b/keyboards/funky40/keyboard.json index 0658fc4974..856a9262f0 100644 --- a/keyboards/funky40/keyboard.json +++ b/keyboards/funky40/keyboard.json @@ -24,8 +24,7 @@ "rows": ["D4", "C6", "B4", "B5"] }, "diode_direction": "COL2ROW", - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/gboards/butterstick/keyboard.json b/keyboards/gboards/butterstick/keyboard.json index b1401eb87c..5b5cf773c8 100644 --- a/keyboards/gboards/butterstick/keyboard.json +++ b/keyboards/gboards/butterstick/keyboard.json @@ -5,8 +5,12 @@ "usb": { "vid": "0xFEED", "pid": "0x1337", - "device_version": "0.0.1", - "force_nkro": true + "device_version": "0.0.1" + }, + "host": { + "default": { + "nkro": true + } }, "build": { "lto": true diff --git a/keyboards/gboards/butterstick/keymaps/default/keymap.c b/keyboards/gboards/butterstick/keymaps/default/keymap.c index d0c6af65df..d80169a2b8 100644 --- a/keyboards/gboards/butterstick/keymaps/default/keymap.c +++ b/keyboards/gboards/butterstick/keymaps/default/keymap.c @@ -49,8 +49,8 @@ uint32_t processQwerty(bool lookup) { P( LSD | RZ, SEND(KC_SPC)); // Dual chords - P( LP | LH, CLICK_MOUSE(KC_MS_BTN2)); - P( ST1 | RF, CLICK_MOUSE(KC_MS_BTN1)); + P( LP | LH, CLICK_MOUSE(MS_BTN2)); + P( ST1 | RF, CLICK_MOUSE(MS_BTN1)); P( LSU | LFT, SEND(KC_ESC)); P( LSD | LK, SEND(KC_LSFT)); P( RZ | RS, SEND(KC_LSFT)); diff --git a/keyboards/gboards/combos/germ-mouse-keys.def b/keyboards/gboards/combos/germ-mouse-keys.def index c0aff412e5..55d3afc4ff 100644 --- a/keyboards/gboards/combos/germ-mouse-keys.def +++ b/keyboards/gboards/combos/germ-mouse-keys.def @@ -1,2 +1,2 @@ -COMB(gbClick, KC_BTN1, KC_G, KC_B) -COMB(fvClick, KC_BTN2, KC_F, KC_V) +COMB(gbClick, MS_BTN1, KC_G, KC_B) +COMB(fvClick, MS_BTN2, KC_F, KC_V) diff --git a/keyboards/gboards/georgi/keyboard.json b/keyboards/gboards/georgi/keyboard.json index 0b403a5a44..1262201f88 100644 --- a/keyboards/gboards/georgi/keyboard.json +++ b/keyboards/gboards/georgi/keyboard.json @@ -6,8 +6,12 @@ "usb": { "vid": "0xFEED", "pid": "0x1337", - "device_version": "0.0.1", - "force_nkro": true + "device_version": "0.0.1" + }, + "host": { + "default": { + "nkro": true + } }, "processor": "atmega32u4", "bootloader": "atmel-dfu", diff --git a/keyboards/gboards/georgi/keymaps/colemak-dh/keymap.c b/keyboards/gboards/georgi/keymaps/colemak-dh/keymap.c index 932d48959c..339622aa9c 100644 --- a/keyboards/gboards/georgi/keymaps/colemak-dh/keymap.c +++ b/keyboards/gboards/georgi/keymaps/colemak-dh/keymap.c @@ -55,8 +55,8 @@ uint32_t processQwerty(bool lookup) { P( LFT | LK | LP | LW, REPEAT()); // Mouse Keys - /* P( LO | LSD | LK, CLICK_MOUSE(KC_MS_BTN2)); */ - /* P( LO | LR | LW, CLICK_MOUSE(KC_MS_BTN1)); */ + /* P( LO | LSD | LK, CLICK_MOUSE(MS_BTN2)); */ + /* P( LO | LR | LW, CLICK_MOUSE(MS_BTN1)); */ /* Function layer diff --git a/keyboards/gboards/georgi/keymaps/default-flipped/keymap.c b/keyboards/gboards/georgi/keymaps/default-flipped/keymap.c index 19683179f3..f22fac75d8 100644 --- a/keyboards/gboards/georgi/keymaps/default-flipped/keymap.c +++ b/keyboards/gboards/georgi/keymaps/default-flipped/keymap.c @@ -46,8 +46,8 @@ uint32_t processQwerty(bool lookup) { P( ST1 | ST2 | LW | ST4, SEND(KC_BSPC)); // Mouse Keys - P( LO | LSD | LK, CLICK_MOUSE(KC_MS_BTN2)); - P( LO | LR | LW, CLICK_MOUSE(KC_MS_BTN1)); + P( LO | LSD | LK, CLICK_MOUSE(MS_BTN2)); + P( LO | LR | LW, CLICK_MOUSE(MS_BTN1)); // Thumb Chords P( LA | LO | RE | RU, SEND(KC_CAPS)); diff --git a/keyboards/gboards/georgi/keymaps/default/keymap.c b/keyboards/gboards/georgi/keymaps/default/keymap.c index 955ec0e406..32f144914c 100644 --- a/keyboards/gboards/georgi/keymaps/default/keymap.c +++ b/keyboards/gboards/georgi/keymaps/default/keymap.c @@ -52,8 +52,8 @@ uint32_t processQwerty(bool lookup) { P( ST1 | ST2 | LW | ST4, SEND(KC_BSPC)); // Mouse Keys - P( LO | LSD | LK, CLICK_MOUSE(KC_MS_BTN2)); - P( LO | LR | LW, CLICK_MOUSE(KC_MS_BTN1)); + P( LO | LSD | LK, CLICK_MOUSE(MS_BTN2)); + P( LO | LR | LW, CLICK_MOUSE(MS_BTN1)); // Thumb Chords P( LA | LO | RE | RU, SEND(KC_CAPS)); diff --git a/keyboards/gboards/georgi/keymaps/minimal/keymap.c b/keyboards/gboards/georgi/keymaps/minimal/keymap.c index 2f089866b2..3827089532 100644 --- a/keyboards/gboards/georgi/keymaps/minimal/keymap.c +++ b/keyboards/gboards/georgi/keymaps/minimal/keymap.c @@ -44,8 +44,8 @@ uint32_t processQwerty(bool lookup) { P( ST1 | ST2 | LW | ST4, SEND(KC_BSPC)); // Mouse Keys - P( LO | LSD | LK, CLICK_MOUSE(KC_MS_BTN2)); - P( LO | LR | LW, CLICK_MOUSE(KC_MS_BTN1)); + P( LO | LSD | LK, CLICK_MOUSE(MS_BTN2)); + P( LO | LR | LW, CLICK_MOUSE(MS_BTN1)); // Thumb Chords P( LA | LO | RE | RU, SEND(KC_CAPS)); diff --git a/keyboards/gboards/georgi/keymaps/norman/keymap.c b/keyboards/gboards/georgi/keymaps/norman/keymap.c index 1b53cddd8b..8f607bca1c 100644 --- a/keyboards/gboards/georgi/keymaps/norman/keymap.c +++ b/keyboards/gboards/georgi/keymaps/norman/keymap.c @@ -111,8 +111,8 @@ uint32_t processQwerty(bool lookup) { P( MEDIA | RU, SEND(KC_RALT); SEND(KC_T); SEND(KC_A); SEND(KC_D)); // Mouse Keys and Printscreen - P( LFT | LH, CLICK_MOUSE(KC_MS_BTN1)); - P( LK | LR, CLICK_MOUSE(KC_MS_BTN2)); + P( LFT | LH, CLICK_MOUSE(MS_BTN1)); + P( LK | LR, CLICK_MOUSE(MS_BTN2)); P( RF | RT, SEND(KC_PSCR);); // Number Row Left diff --git a/keyboards/gboards/gergo/keymaps/colemak/keymap.c b/keyboards/gboards/gergo/keymaps/colemak/keymap.c index 0783578804..5aa7a4a1e8 100644 --- a/keyboards/gboards/gergo/keymaps/colemak/keymap.c +++ b/keyboards/gboards/gergo/keymaps/colemak/keymap.c @@ -47,7 +47,7 @@ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, OSM(MOD_LALT), KC ALT_T(KC_DEL), KC_BSPC, KC_SPC, CMD_T(KC_DEL), - KC_BTN3, KC_COLON, + MS_BTN3, KC_COLON, LT(SYMB, KC_ESC), LT(NUMB, KC_F13), LT(NUMB, KC_F14), LT(SYMB, KC_ENT)), /* Keymap 1: Symbols layer * @@ -100,8 +100,8 @@ KC_TRNS, KC_GRV, KC_TILD,KC_TRNS,KC_TRNS, KC_EQL, M2_URL, KC_TRN */ [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_PGUP, -KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_BTN1, KC_HOME, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_END, KC_PGDN, -KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_BTN2, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, KC_TRNS, KC_TRNS, +KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, MS_BTN1, KC_HOME, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_END, KC_PGDN, +KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, MS_BTN2, KC_TRNS, MS_LEFT, MS_DOWN, MS_UP, MS_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_RALT, KC_TRNS, diff --git a/keyboards/gboards/gergo/keymaps/default/keymap.c b/keyboards/gboards/gergo/keymaps/default/keymap.c index da6486c97a..6335b51df8 100644 --- a/keyboards/gboards/gergo/keymaps/default/keymap.c +++ b/keyboards/gboards/gergo/keymaps/default/keymap.c @@ -42,8 +42,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [BASE] = LAYOUT( 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, KC_MINS, + MT(MOD_LCTL, KC_BSPC), KC_A, KC_S, KC_D, KC_F, KC_G, MS_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, MS_BTN1, MS_BTN3, KC_PGDN, KC_BSPC, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, 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_BSPC ), /* Keymap 1: Symbols layer @@ -95,7 +95,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [NUMB] = LAYOUT( KC_TRNS, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_TRNS, KC_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_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_TRNS, MS_LEFT, MS_DOWN, MS_UP, MS_RGHT, KC_MPLY, KC_MNXT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ), }; diff --git a/keyboards/gboards/gergo/keymaps/germ/keymap.c b/keyboards/gboards/gergo/keymaps/germ/keymap.c index 8e26223f17..066b8674bc 100644 --- a/keyboards/gboards/gergo/keymaps/germ/keymap.c +++ b/keyboards/gboards/gergo/keymaps/germ/keymap.c @@ -42,8 +42,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [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, KC_MINS, + MT(MOD_LCTL, KC_BSPC), KC_A, KC_S, KC_D, KC_F, KC_G, MS_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, MS_BTN1, MS_BTN3, KC_PGDN, KC_BSPC, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, 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_BSPC ), /* Keymap 1: Symbols layer @@ -95,7 +95,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [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_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_TRNS, MS_LEFT, MS_DOWN, MS_UP, MS_RGHT, KC_MPLY, KC_MNXT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ), }; diff --git a/keyboards/gboards/gergo/keymaps/oled/keymap.c b/keyboards/gboards/gergo/keymaps/oled/keymap.c index ab374b9332..3e8fce15ef 100644 --- a/keyboards/gboards/gergo/keymaps/oled/keymap.c +++ b/keyboards/gboards/gergo/keymaps/oled/keymap.c @@ -40,8 +40,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [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, KC_MINS, + MT(MOD_LCTL, KC_BSPC), KC_A, KC_S, KC_D, KC_F, KC_G, MS_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, MS_BTN1, MS_BTN3, KC_PGDN, KC_BSPC, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, 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_BSPC ), /* Keymap 1: Symbols layer @@ -93,7 +93,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [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_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_TRNS, MS_LEFT, MS_DOWN, MS_UP, MS_RGHT, KC_MPLY, KC_MNXT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ), }; diff --git a/keyboards/gboards/gergoplex/keymaps/colemak-dhm/gergoplex.def b/keyboards/gboards/gergoplex/keymaps/colemak-dhm/gergoplex.def index 7ed0122c4b..2aada19b75 100644 --- a/keyboards/gboards/gergoplex/keymaps/colemak-dhm/gergoplex.def +++ b/keyboards/gboards/gergoplex/keymaps/colemak-dhm/gergoplex.def @@ -5,7 +5,7 @@ COMB(eiGreat, KC_GT, KC_E, KC_I) COMB(xcDash, KC_MINS, KC_X, KC_C) COMB(hcUnds, KC_UNDS, KC_H, KC_COMM) COMB(khQuot, KC_QUOT, KC_K, KC_H) -COMB(gvClic, KC_BTN1, KC_G, KC_V) -COMB(tdClic, KC_BTN2, KC_T, KC_D) +COMB(gvClic, MS_BTN1, KC_G, KC_V) +COMB(tdClic, MS_BTN2, KC_T, KC_D) SUBS(pasta, "I would just like to interject for a moment.", KC_H, KC_J, KC_K, KC_L) diff --git a/keyboards/gboards/gergoplex/keymaps/colemak-dhm/keymap.c b/keyboards/gboards/gergoplex/keymaps/colemak-dhm/keymap.c index 4303ef4165..0c25914540 100644 --- a/keyboards/gboards/gergoplex/keymaps/colemak-dhm/keymap.c +++ b/keyboards/gboards/gergoplex/keymaps/colemak-dhm/keymap.c @@ -74,8 +74,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [_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_HASH, KC_DLR, KC_LPRN, KC_RPRN, MS_BTN2, KC_PLUS, KC_MINS, KC_SLSH, KC_ASTR, KC_QUOT, + KC_PERC, KC_CIRC, KC_LBRC, KC_RBRC, MS_BTN1, KC_AMPR, KC_EQL, KC_COMM, KC_DOT, KC_MINS, CM_TOGG, KC_SCLN, KC_EQL, KC_EQL, KC_SCLN, KC_DEL), /* Keymap 2: Numbers/Function/Motion layer @@ -94,6 +94,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_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_F6, KC_F7, KC_F8, KC_F9, KC_F10, MS_LEFT, MS_DOWN, MS_UP, MS_RGHT, KC_VOLD, KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_MPLY, KC_MNXT) }; diff --git a/keyboards/gboards/gergoplex/keymaps/default/keymap.c b/keyboards/gboards/gergoplex/keymaps/default/keymap.c index 7728304a9a..e3b762485d 100644 --- a/keyboards/gboards/gergoplex/keymaps/default/keymap.c +++ b/keyboards/gboards/gergoplex/keymaps/default/keymap.c @@ -88,8 +88,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [_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_HASH, KC_DLR, KC_LPRN, KC_RPRN, MS_BTN2, KC_PLUS, KC_MINS, KC_SLSH, KC_ASTR, KC_QUOT, + KC_PERC, KC_CIRC, KC_LBRC, KC_RBRC, MS_BTN1, KC_AMPR, KC_EQL, KC_COMM, KC_DOT, KC_MINS, CM_TOGG, KC_SCLN, KC_EQL, KC_EQL, KC_SCLN, KC_DEL), /* Keymap 2: Numbers/Function/Motion layer @@ -108,6 +108,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_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_F6, KC_F7, KC_F8, KC_F9, KC_F10, MS_LEFT, MS_DOWN, MS_UP, MS_RGHT, KC_VOLD, KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_MPLY, KC_MNXT) }; diff --git a/keyboards/giabalanai/config.h b/keyboards/giabalanai/config.h index bd501c1f76..886df53c18 100644 --- a/keyboards/giabalanai/config.h +++ b/keyboards/giabalanai/config.h @@ -17,16 +17,6 @@ along with this program. If not, see . #pragma once -#define SELECT_SOFT_SERIAL_SPEED 1 -/*Sets the protocol speed when using serial communication*/ -//Speeds: -//0: about 189kbps (Experimental only) -//1: about 137kbps (default) -//2: about 75kbps -//3: about 39kbps -//4: about 26kbps -//5: about 20kbps - // Right side has to be the master since 1, LED data is output from right side, and 2, Audio pin is prepared on right side as a reserve. #define MASTER_RIGHT diff --git a/keyboards/gkeyboard/gpad8_2r/keyboard.json b/keyboards/gkeyboard/gpad8_2r/keyboard.json index 95645a53fc..6e3f510921 100644 --- a/keyboards/gkeyboard/gpad8_2r/keyboard.json +++ b/keyboards/gkeyboard/gpad8_2r/keyboard.json @@ -35,8 +35,8 @@ "encoder": { "enabled": true, "rotary": [ - {"pin_a": "GP29", "pin_b": "GP28", "resolution": 4}, - {"pin_a": "GP2", "pin_b": "GP3", "resolution": 4} + {"pin_a": "GP29", "pin_b": "GP28"}, + {"pin_a": "GP2", "pin_b": "GP3"} ] }, "rgb_matrix": { diff --git a/keyboards/gl516/a52gl/keyboard.json b/keyboards/gl516/a52gl/keyboard.json index ad4921f635..4167f7ffc1 100644 --- a/keyboards/gl516/a52gl/keyboard.json +++ b/keyboards/gl516/a52gl/keyboard.json @@ -8,8 +8,7 @@ "pid": "0xE8D1", "device_version": "0.0.1" }, - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "features": { "bootmagic": true, "mousekey": true, diff --git a/keyboards/gl516/j73gl/keyboard.json b/keyboards/gl516/j73gl/keyboard.json index 5fba198a71..06f1a8d763 100644 --- a/keyboards/gl516/j73gl/keyboard.json +++ b/keyboards/gl516/j73gl/keyboard.json @@ -26,8 +26,7 @@ "ws2812": { "pin": "D3" }, - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "features": { "bootmagic": true, "mousekey": true, diff --git a/keyboards/gl516/n51gl/keyboard.json b/keyboards/gl516/n51gl/keyboard.json index c1ea4ab579..388541c23a 100644 --- a/keyboards/gl516/n51gl/keyboard.json +++ b/keyboards/gl516/n51gl/keyboard.json @@ -31,8 +31,7 @@ {"pin_a": "D7", "pin_b": "E6", "resolution": 3} ] }, - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "features": { "bootmagic": true, "mousekey": true, diff --git a/keyboards/gopolar/gg86/keyboard.json b/keyboards/gopolar/gg86/keyboard.json index a9944beea9..3412a7c63c 100644 --- a/keyboards/gopolar/gg86/keyboard.json +++ b/keyboards/gopolar/gg86/keyboard.json @@ -6,9 +6,13 @@ "vid": "0x0007", "pid": "0x0007", "device_version": "0.0.1", - "force_nkro": true, "no_startup_check": true }, + "host": { + "default": { + "nkro": true + } + }, "ws2812": { "pin": "E2" }, diff --git a/keyboards/gowla/keyboard.json b/keyboards/gowla/keyboard.json index f4f0b96838..0922862146 100644 --- a/keyboards/gowla/keyboard.json +++ b/keyboards/gowla/keyboard.json @@ -19,8 +19,7 @@ "rows": ["D1", "D0", "D4"] }, "diode_direction": "ROW2COL", - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "layouts": { "LAYOUT_ortho_3x3": { "layout": [ diff --git a/keyboards/green_keys/gravity_45/keymaps/default/keymap.c b/keyboards/green_keys/gravity_45/keymaps/default/keymap.c index b1031461d5..d7ef16b0e6 100644 --- a/keyboards/green_keys/gravity_45/keymaps/default/keymap.c +++ b/keyboards/green_keys/gravity_45/keymaps/default/keymap.c @@ -7,7 +7,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [0] = LAYOUT( KC_ESC, LT(7, KC_Q), KC_W, KC_E, LT(6, KC_R), KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, - KC_LCTL, KC_A, KC_S, LT(6, KC_D), KC_F, KC_G, RGB_TOG, KC_H, KC_J, LT(6, KC_K), KC_L, KC_ENT, KC_ENT, + KC_LCTL, KC_A, KC_S, LT(6, KC_D), KC_F, KC_G, UG_TOGG, KC_H, KC_J, LT(6, KC_K), KC_L, KC_ENT, KC_ENT, KC_LSFT, LSFT_T(KC_Z), LGUI_T(KC_X), KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, LCTL_T(KC_DOT), KC_BSPC, KC_DEL, KC_LCTL, KC_LGUI, LALT_T(KC_LNG2), LSFT_T(KC_TAB), LT(2, KC_SPC), LT(1, KC_LNG1), KC_RALT, KC_RGUI ), diff --git a/keyboards/gregandcin/teaqueen/keymaps/default/keymap.c b/keyboards/gregandcin/teaqueen/keymaps/default/keymap.c index adc3d89f39..c2cdf55d3c 100644 --- a/keyboards/gregandcin/teaqueen/keymaps/default/keymap.c +++ b/keyboards/gregandcin/teaqueen/keymaps/default/keymap.c @@ -32,8 +32,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_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, MS_BTN2, MS_UP, MS_BTN1, MS_WHLU, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, MS_LEFT, MS_DOWN, MS_RGHT, MS_WHLD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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/h0oni/deskpad/deskpad.c b/keyboards/h0oni/deskpad/deskpad.c index 0f22eda152..8f9c97c97d 100644 --- a/keyboards/h0oni/deskpad/deskpad.c +++ b/keyboards/h0oni/deskpad/deskpad.c @@ -29,16 +29,16 @@ bool encoder_update_kb(uint8_t index, bool clockwise) { } else if(curr_layer == 1) { if (clockwise) { - tap_code(KC_WH_D); + tap_code(MS_WHLD); } else { - tap_code(KC_WH_U); + tap_code(MS_WHLU); } } else if(curr_layer == 2) { if (clockwise) { - tap_code16(C(KC_WH_U)); + tap_code16(C(MS_WHLU)); } else { - tap_code16(C(KC_WH_D)); + tap_code16(C(MS_WHLD)); } } else { diff --git a/keyboards/h0oni/deskpad/keymaps/default/keymap.c b/keyboards/h0oni/deskpad/keymaps/default/keymap.c index eea54cf6b1..4ab51b657e 100644 --- a/keyboards/h0oni/deskpad/keymaps/default/keymap.c +++ b/keyboards/h0oni/deskpad/keymaps/default/keymap.c @@ -180,7 +180,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [2] = LAYOUT( - A(KC_F4), SGUI(KC_S), KC_MYCM, LCA(KC_DEL), KC_CALC, TD(QUAD_LAYER_SWITCH) + A(KC_F4), LSG(KC_S), KC_MYCM, LCA(KC_DEL), KC_CALC, TD(QUAD_LAYER_SWITCH) ), [3] = LAYOUT( diff --git a/keyboards/hadron/ver2/keymaps/default/keymap.c b/keyboards/hadron/ver2/keymaps/default/keymap.c index 951cacb423..825ec698b2 100644 --- a/keyboards/hadron/ver2/keymaps/default/keymap.c +++ b/keyboards/hadron/ver2/keymaps/default/keymap.c @@ -165,11 +165,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [_MOUSECURSOR] = LAYOUT( - KC_ACL0, KC_ACL1, KC_ACL2, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGUP, KC_WH_L, KC_MS_U, KC_WH_R,DEMOMACRO,_______, - _______, _______, _______, _______, _______, _______, _______, _______, KC_END , KC_PGDN, KC_MS_L, KC_MS_D, KC_MS_R, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_BTN2, KC_BTN3, KC_BTN4, KC_BTN5, _______, _______, - _______, _______, _______, _______, _______, KC_BTN1, _______, _______, _______, KC_BTN1, _______, _______, _______, _______, _______ + MS_ACL0, MS_ACL1, MS_ACL2, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGUP, MS_WHLL, MS_UP, MS_WHLR,DEMOMACRO,_______, + _______, _______, _______, _______, _______, _______, _______, _______, KC_END , KC_PGDN, MS_LEFT, MS_DOWN, MS_RGHT, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, MS_BTN2, MS_BTN3, MS_BTN4, MS_BTN5, _______, _______, + _______, _______, _______, _______, _______, MS_BTN1, _______, _______, _______, MS_BTN1, _______, _______, _______, _______, _______ ), /* Adjust (Lower + Raise) diff --git a/keyboards/hadron/ver2/keymaps/side_numpad/keymap.c b/keyboards/hadron/ver2/keymaps/side_numpad/keymap.c index 1e8523d94c..884ca0ed62 100644 --- a/keyboards/hadron/ver2/keymaps/side_numpad/keymap.c +++ b/keyboards/hadron/ver2/keymaps/side_numpad/keymap.c @@ -164,11 +164,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [_MOUSECURSOR] = LAYOUT( - _______, KC_ACL0, KC_ACL1, KC_ACL2, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, KC_HOME, KC_PGUP, KC_WH_L, KC_MS_U, KC_WH_R, DEMOMACRO, _______, _______, _______, _______, - _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_END , KC_PGDN, KC_MS_L, KC_MS_D, KC_MS_R, _______, _______, _______, _______, _______, - _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, KC_BTN2, KC_BTN3, KC_BTN4, KC_BTN5, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, KC_BTN1, KC_BTN1, _______, _______, _______, _______, _______, _______, _______, _______ + _______, MS_ACL0, MS_ACL1, MS_ACL2, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, KC_HOME, KC_PGUP, MS_WHLL, MS_UP, MS_WHLR, DEMOMACRO, _______, _______, _______, _______, + _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_END , KC_PGDN, MS_LEFT, MS_DOWN, MS_RGHT, _______, _______, _______, _______, _______, + _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, MS_BTN2, MS_BTN3, MS_BTN4, MS_BTN5, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, MS_BTN1, MS_BTN1, _______, _______, _______, _______, _______, _______, _______, _______ ), /* Adjust (Lower + Raise) diff --git a/keyboards/hadron/ver3/keymaps/default/keymap.c b/keyboards/hadron/ver3/keymaps/default/keymap.c index 1e3f3191c2..df835454d3 100644 --- a/keyboards/hadron/ver3/keymaps/default/keymap.c +++ b/keyboards/hadron/ver3/keymaps/default/keymap.c @@ -162,11 +162,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [_MOUSECURSOR] = LAYOUT( - KC_ACL0, KC_ACL1, KC_ACL2, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGUP, KC_WH_L, KC_MS_U, KC_WH_R,DEMOMACRO,_______, - _______, _______, _______, _______, _______, _______, _______, _______, KC_END , KC_PGDN, KC_MS_L, KC_MS_D, KC_MS_R, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_BTN2, KC_BTN3, KC_BTN4, KC_BTN5, _______, _______, - _______, _______, _______, _______, _______, KC_BTN1, _______, _______, _______, KC_BTN1, _______, _______, _______, _______, _______ + MS_ACL0, MS_ACL1, MS_ACL2, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGUP, MS_WHLL, MS_UP, MS_WHLR,DEMOMACRO,_______, + _______, _______, _______, _______, _______, _______, _______, _______, KC_END , KC_PGDN, MS_LEFT, MS_DOWN, MS_RGHT, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, MS_BTN2, MS_BTN3, MS_BTN4, MS_BTN5, _______, _______, + _______, _______, _______, _______, _______, MS_BTN1, _______, _______, _______, MS_BTN1, _______, _______, _______, _______, _______ ), /* Adjust (Lower + Raise) diff --git a/keyboards/halfcliff/halfcliff.c b/keyboards/halfcliff/halfcliff.c index de636f22fe..30d1ef36e6 100644 --- a/keyboards/halfcliff/halfcliff.c +++ b/keyboards/halfcliff/halfcliff.c @@ -81,15 +81,15 @@ bool encoder_update_kb(uint8_t index, bool clockwise) { if (!encoder_update_user(index, clockwise)) { return false; } if (index == 0) { /* Left side encoder */ if (clockwise) { - tap_code(KC_WH_U); + tap_code(MS_WHLU); } else { - tap_code(KC_WH_D); + tap_code(MS_WHLD); } } else if (index == 1) { /* Right side encoder */ if (clockwise) { - tap_code(KC_WH_U); + tap_code(MS_WHLU); } else { - tap_code(KC_WH_D); + tap_code(MS_WHLD); } } return true; diff --git a/keyboards/halfcliff/keyboard.json b/keyboards/halfcliff/keyboard.json index 7d780c016a..3cc2b0de33 100644 --- a/keyboards/halfcliff/keyboard.json +++ b/keyboards/halfcliff/keyboard.json @@ -29,8 +29,7 @@ "ws2812": { "pin": "D3" }, - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "features": { "bootmagic": false, "mousekey": false, diff --git a/keyboards/handwired/108key_trackpoint/keymaps/default/keymap.c b/keyboards/handwired/108key_trackpoint/keymaps/default/keymap.c index 3dcd4b3f6c..47e9d1d120 100644 --- a/keyboards/handwired/108key_trackpoint/keymaps/default/keymap.c +++ b/keyboards/handwired/108key_trackpoint/keymaps/default/keymap.c @@ -9,6 +9,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_CAPS, KC_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_LSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_LALT, KC_LGUI, KC_APP, KC_LCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT, - KC_BTN1, KC_BTN3, KC_BTN2 + MS_BTN1, MS_BTN3, MS_BTN2 ) }; diff --git a/keyboards/handwired/108key_trackpoint/keymaps/dvorak/keymap.c b/keyboards/handwired/108key_trackpoint/keymaps/dvorak/keymap.c index b22f797273..da85321a33 100644 --- a/keyboards/handwired/108key_trackpoint/keymaps/dvorak/keymap.c +++ b/keyboards/handwired/108key_trackpoint/keymaps/dvorak/keymap.c @@ -9,6 +9,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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_P4, KC_P5, KC_P6, KC_PPLS, KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_LSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_LALT, KC_LGUI, KC_APP, KC_LCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT, - KC_BTN1, KC_BTN3, KC_BTN2 + MS_BTN1, MS_BTN3, MS_BTN2 ) }; diff --git a/keyboards/handwired/108key_trackpoint/keymaps/dvorak_media/keymap.c b/keyboards/handwired/108key_trackpoint/keymaps/dvorak_media/keymap.c index 89e36d9fdc..bfb7a151d9 100644 --- a/keyboards/handwired/108key_trackpoint/keymaps/dvorak_media/keymap.c +++ b/keyboards/handwired/108key_trackpoint/keymaps/dvorak_media/keymap.c @@ -9,6 +9,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_MPLY, 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_P4, KC_P5, KC_P6, KC_PPLS, KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_LSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_LALT, KC_LGUI, KC_APP, KC_LCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT, - KC_BTN1, KC_BTN3, KC_BTN2 + MS_BTN1, MS_BTN3, MS_BTN2 ) }; diff --git a/keyboards/handwired/42/keymaps/default/keymap.c b/keyboards/handwired/42/keymaps/default/keymap.c index 3c31ef89d1..457d599b4f 100644 --- a/keyboards/handwired/42/keymaps/default/keymap.c +++ b/keyboards/handwired/42/keymaps/default/keymap.c @@ -39,8 +39,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), // Mouse Layer LAYOUT( - _______, _______, KC_WREF, KC_WH_U, KC_WSCH, _______, _______, KC_BTN1, KC_MS_U, KC_BTN2, _______, _______, - _______, _______, KC_WH_L, KC_WH_D, KC_WH_R, _______, _______, KC_MS_L, KC_MS_D, KC_MS_R, _______, _______, + _______, _______, KC_WREF, MS_WHLU, KC_WSCH, _______, _______, MS_BTN1, MS_UP, MS_BTN2, _______, _______, + _______, _______, MS_WHLL, MS_WHLD, MS_WHLR, _______, _______, MS_LEFT, MS_DOWN, MS_RGHT, _______, _______, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ) diff --git a/keyboards/bastardkb/charybdis/3x6/v2/elitec/config.h b/keyboards/handwired/5x6_split/rev1/config.h similarity index 82% rename from keyboards/bastardkb/charybdis/3x6/v2/elitec/config.h rename to keyboards/handwired/5x6_split/rev1/config.h index 3b91322247..0797edb143 100644 --- a/keyboards/bastardkb/charybdis/3x6/v2/elitec/config.h +++ b/keyboards/handwired/5x6_split/rev1/config.h @@ -1,5 +1,4 @@ -/* - * Copyright 2022 Charly Delay (@0xcharly) +/* Copyright 2025 Zackarias Montell (@Wholteza) * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -14,11 +13,11 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ - #pragma once -/* Handedness. */ -#define MASTER_RIGHT +#define SERIAL_USART_FULL_DUPLEX -/* PMW3360 settings. */ -#define POINTING_DEVICE_CS_PIN F0 +#define SERIAL_USART_TX_PIN GP0 +#define SERIAL_USART_RX_PIN GP1 + +#define MASTER_RIGHT diff --git a/keyboards/handwired/5x6_split/rev1/keyboard.json b/keyboards/handwired/5x6_split/rev1/keyboard.json new file mode 100644 index 0000000000..4589b87855 --- /dev/null +++ b/keyboards/handwired/5x6_split/rev1/keyboard.json @@ -0,0 +1,107 @@ +{ + "manufacturer": "zacke.dev", + "keyboard_name": "5x6_split", + "maintainer": "Wholteza", + "board": "GENERIC_RP_RP2040", + "bootloader": "rp2040", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "matrix_pins": { + "cols": ["GP16", "GP17", "GP18", "GP19", "GP20", "GP21"], + "rows": ["GP15", "GP14", "GP13", "GP12", "GP11"] + }, + "processor": "RP2040", + "split": { + "enabled": true, + "matrix_pins": { + "right": { + "cols": ["GP10", "GP11", "GP12", "GP13", "GP14", "GP15"], + "rows": ["GP16", "GP17", "GP18", "GP19", "GP20"] + } + }, + "serial": { + "driver": "vendor" + }, + "transport": { + "watchdog": true, + "watchdog_timeout": 3000 + } + }, + "url": "https://git.zacke.dev/wholteza/5x6-split-kb/src/branch/main/rev1", + "usb": { + "device_version": "1.0.0", + "pid": "0x0057", + "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}, + {"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, 5], "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": [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, 5], "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": [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, 5], "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": [8, 0], "x": 6, "y": 3}, + {"matrix": [8, 1], "x": 7, "y": 3}, + {"matrix": [8, 2], "x": 8, "y": 3}, + {"matrix": [8, 3], "x": 9, "y": 3}, + {"matrix": [8, 4], "x": 10, "y": 3}, + {"matrix": [8, 5], "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": [9, 0], "x": 6, "y": 4}, + {"matrix": [9, 1], "x": 7, "y": 4}, + {"matrix": [9, 2], "x": 8, "y": 4}, + {"matrix": [9, 3], "x": 9, "y": 4}, + {"matrix": [9, 4], "x": 10, "y": 4}, + {"matrix": [9, 5], "x": 11, "y": 4} + ] + } + } +} diff --git a/keyboards/handwired/5x6_split/rev1/keymaps/default/keymap.c b/keyboards/handwired/5x6_split/rev1/keymaps/default/keymap.c new file mode 100644 index 0000000000..05f023d3c8 --- /dev/null +++ b/keyboards/handwired/5x6_split/rev1/keymaps/default/keymap.c @@ -0,0 +1,46 @@ +/* Copyright 2025 Zackarias Montell (@Wholteza) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more 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 +}; + +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_BSPC, + KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT , + _______, KC_LCTL, KC_LALT, KC_LGUI, MO(1), KC_SPC, KC_SPC, MO(2), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT + ), + [_LOWER] = LAYOUT( + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, + KC_GRV, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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_TRNS, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY + ), + [_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_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_TRNS, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, S(KC_NUHS), S(KC_NUBS), KC_HOME, KC_END, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MNXT, KC_VOLD, KC_VOLU, QK_BOOT + ) +}; diff --git a/keyboards/handwired/5x6_split/rev1/readme.md b/keyboards/handwired/5x6_split/rev1/readme.md new file mode 100644 index 0000000000..0e0c41fc1d --- /dev/null +++ b/keyboards/handwired/5x6_split/rev1/readme.md @@ -0,0 +1,33 @@ +# 5x6_split revision 1 + +![5x6_split-rev1](https://i.imgur.com/FJ3kro3.jpeg) + +**This is the first revision of the 5x6_split keyboard.** + +The 5x6_split is designed to be easily accessible, with openly and freely available hardware and firmware. It features a split layout to minimize the PCB footprint, reducing manufacturing costs. Like the Ergodox, it allows you to keep your hands at shoulder width for a more natural typing posture, but without a thumb cluster, making it a better option for users who experience discomfort or limitations in their thumbs. + +The keyboard is also designed with ergonomics in mind. Its low profile, measuring just 19.4 mm from the table to the top of the keycaps (including rubber feet), helps reduce wrist strain during extended use. + +In the repository linked below (see the Hardware Availability section), you will find KiCad schematics, PCB designs, and 3D models for a printable chassis. + +* Keyboard Maintainer: [wholteza](https://github.com/wholteza) +* Hardware Supported: Raspberry Pi Pico, 5x6_split PCB, 5x6_split Chassis +* Hardware Availability: [PCB, Chassi 3d-models](https://git.zacke.dev/wholteza/5x6-split-kb/src/branch/main/rev1) + +Make example for this keyboard (after setting up your build environment): + + make handwired/5x6_split/rev1:default + +Flashing example for this keyboard: + + make handwired/5x6_split/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 (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/acacia/keymaps/default/keymap.c b/keyboards/handwired/acacia/keymaps/default/keymap.c index a33a3880a6..0b19c698de 100644 --- a/keyboards/handwired/acacia/keymaps/default/keymap.c +++ b/keyboards/handwired/acacia/keymaps/default/keymap.c @@ -42,7 +42,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_NAVI_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_TAB, KC_HOME, KC_PGUP, KC_PGDN, KC_END, KC_TILD, KC_GRV, KC_LEFT, KC_UP, KC_RGHT, KC_WREF, KC_ENT, - KC_UNDO, KC_CUT, KC_COPY, KC_PSTE, KC_BTN1, KC_DOWN, KC_BTN2, KC_WBAK, + KC_UNDO, KC_CUT, KC_COPY, KC_PSTE, MS_BTN1, KC_DOWN, MS_BTN2, KC_WBAK, KC_MPRV, _______, BS_GUI, _______, _______, _______, _______, _______, _______, KC_PWR, _______ ), [_SYM_NUM] = LAYOUT( diff --git a/keyboards/handwired/arrow_pad/keyboard.json b/keyboards/handwired/arrow_pad/keyboard.json index f70645fe2a..a9d0c0d818 100644 --- a/keyboards/handwired/arrow_pad/keyboard.json +++ b/keyboards/handwired/arrow_pad/keyboard.json @@ -5,8 +5,12 @@ "usb": { "vid": "0xFEED", "pid": "0x4096", - "device_version": "0.0.1", - "force_nkro": true + "device_version": "0.0.1" + }, + "host": { + "default": { + "nkro": true + } }, "features": { "backlight": true, diff --git a/keyboards/handwired/chiron/keymaps/default/keymap.c b/keyboards/handwired/chiron/keymaps/default/keymap.c index 2889bd8b05..dead617e31 100644 --- a/keyboards/handwired/chiron/keymaps/default/keymap.c +++ b/keyboards/handwired/chiron/keymaps/default/keymap.c @@ -24,10 +24,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_CAPS, KC_INS, KC_LCTL, /*, */KC_LALT, LGUI_T(KC_SPC), KC_HYPR, KC_HYPR, RGUI_T(KC_SPC), KC_RALT, /*, */KC_LBRC, KC_RBRC, KC_SLSH ), [1] = LAYOUT( - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_WH_U, XXXXXXX, XXXXXXX, QK_BOOT, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_VOLU, KC_WH_L, KC_MS_U, KC_WH_R, XXXXXXX, EE_CLR, - XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, _______, _______, KC_MUTE, KC_MS_L, KC_MS_D, KC_MS_R, KC_BTN1, KC_BTN2, - _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, KC_VOLD, XXXXXXX, KC_WH_D, XXXXXXX, KC_BTN3, KC_BTN4, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, MS_WHLU, XXXXXXX, XXXXXXX, QK_BOOT, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_VOLU, MS_WHLL, MS_UP, MS_WHLR, XXXXXXX, EE_CLR, + XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, _______, _______, KC_MUTE, MS_LEFT, MS_DOWN, MS_RGHT, MS_BTN1, MS_BTN2, + _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, KC_VOLD, XXXXXXX, MS_WHLD, XXXXXXX, MS_BTN3, MS_BTN4, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, _______, _______, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX ), [2] = LAYOUT( diff --git a/keyboards/handwired/cmd60/keymaps/default/keymap.c b/keyboards/handwired/cmd60/keymaps/default/keymap.c index 15084365fe..5fe199247e 100644 --- a/keyboards/handwired/cmd60/keymaps/default/keymap.c +++ b/keyboards/handwired/cmd60/keymaps/default/keymap.c @@ -31,9 +31,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [4] = LAYOUT( /* CMD60 - Mouse */ KC_SLEP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, KC_BTN1, KC_MS_U, KC_BTN2, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, KC_MS_L, KC_MS_D, KC_MS_R, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, KC_WH_U, KC_BTN3, KC_WH_D, _______, + _______, _______, _______, _______, _______, _______, _______, _______, MS_BTN1, MS_UP, MS_BTN2, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, MS_LEFT, MS_DOWN, MS_RGHT, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, MS_WHLU, MS_BTN3, MS_WHLD, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), [5] = LAYOUT( /* CMD60 - Media */ diff --git a/keyboards/handwired/concertina/64key/keymaps/default/keymap.c b/keyboards/handwired/concertina/64key/keymaps/default/keymap.c index c9f6384440..968e2168b5 100644 --- a/keyboards/handwired/concertina/64key/keymaps/default/keymap.c +++ b/keyboards/handwired/concertina/64key/keymaps/default/keymap.c @@ -80,14 +80,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_NUMERIC] = LAYOUT( - _______, _______, _______, KC_ACL1, KC_ACL2, _______, - _______, _______, LAYER_C, _______, KC_ACL0, _______, _______, _______, + _______, _______, _______, MS_ACL1, MS_ACL2, _______, + _______, _______, LAYER_C, _______, MS_ACL0, _______, _______, _______, _______, _______, _______, KC_SLEP, _______, _______, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, 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_INS, KC_EXLM, KC_BTN1, KC_BTN3, KC_BTN2, KC_MS_L, KC_MS_U, KC_MS_R, KC_PSCR, QK_BOOT, - LAYER_G, KC_MS_D + KC_INS, KC_EXLM, MS_BTN1, MS_BTN3, MS_BTN2, MS_LEFT, MS_UP, MS_RGHT, KC_PSCR, QK_BOOT, + LAYER_G, MS_DOWN ) }; diff --git a/keyboards/handwired/dactyl/keymaps/default/keymap.c b/keyboards/handwired/dactyl/keymaps/default/keymap.c index 669f358530..fd21b7e1e8 100644 --- a/keyboards/handwired/dactyl/keymaps/default/keymap.c +++ b/keyboards/handwired/dactyl/keymaps/default/keymap.c @@ -118,10 +118,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // MEDIA AND MOUSE [MDIA] = LAYOUT( 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_MS_L, KC_MS_D, KC_MS_R, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, MS_UP, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, MS_LEFT, MS_DOWN, MS_RGHT, 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, MS_BTN1, MS_BTN2, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, diff --git a/keyboards/handwired/dactyl/keymaps/dvorak/keymap.c b/keyboards/handwired/dactyl/keymaps/dvorak/keymap.c index 59cb7b34f8..6d90b6825f 100644 --- a/keyboards/handwired/dactyl/keymaps/dvorak/keymap.c +++ b/keyboards/handwired/dactyl/keymaps/dvorak/keymap.c @@ -118,10 +118,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // MEDIA AND MOUSE [MDIA] = LAYOUT( 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_MS_L, KC_MS_D, KC_MS_R, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, MS_UP, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, MS_LEFT, MS_DOWN, MS_RGHT, 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, MS_BTN1, MS_BTN2, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, diff --git a/keyboards/handwired/dactyl_cc/keymaps/default/keymap.c b/keyboards/handwired/dactyl_cc/keymaps/default/keymap.c index 6422699684..bc882bca4a 100644 --- a/keyboards/handwired/dactyl_cc/keymaps/default/keymap.c +++ b/keyboards/handwired/dactyl_cc/keymaps/default/keymap.c @@ -26,12 +26,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [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_VOLU, KC_WBAK, MS_UP, KC_WFWD, MS_WHLU, KC_BRID, KC_P4, KC_P5, KC_P6, KC_PMNS, _______, + _______, KC_VOLD, MS_LEFT, MS_DOWN, MS_RGHT, MS_WHLD, 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, _______, _______, + MS_BTN1, MS_BTN2, _______, KC_END, _______, _______, _______, ALT_BSP ) }; diff --git a/keyboards/handwired/dactyl_manuform/4x5/keymaps/default/keymap.c b/keyboards/handwired/dactyl_manuform/4x5/keymaps/default/keymap.c index 630b106ca7..47c344eb14 100644 --- a/keyboards/handwired/dactyl_manuform/4x5/keymaps/default/keymap.c +++ b/keyboards/handwired/dactyl_manuform/4x5/keymaps/default/keymap.c @@ -29,12 +29,12 @@ along with this program. If not, see . #define ALT_SPC ALT_T(KC_SPC) #define SFT_ENT SFT_T(KC_ENT) -#define KC_ML KC_MS_LEFT -#define KC_MR KC_MS_RIGHT -#define KC_MU KC_MS_UP -#define KC_MD KC_MS_DOWN -#define KC_MB1 KC_MS_BTN1 -#define KC_MB2 KC_MS_BTN2 +#define KC_ML MS_LEFT +#define KC_MR MS_RGHT +#define KC_MU MS_UP +#define KC_MD MS_DOWN +#define KC_MB1 MS_BTN1 +#define KC_MB2 MS_BTN2 #define RAISE MO(_RAISE) #define LOWER MO(_LOWER) diff --git a/keyboards/handwired/dactyl_manuform/4x5/keymaps/dvorak/keymap.c b/keyboards/handwired/dactyl_manuform/4x5/keymaps/dvorak/keymap.c index d0136c4c51..c8c087f267 100644 --- a/keyboards/handwired/dactyl_manuform/4x5/keymaps/dvorak/keymap.c +++ b/keyboards/handwired/dactyl_manuform/4x5/keymaps/dvorak/keymap.c @@ -15,12 +15,12 @@ extern keymap_config_t keymap_config; #define ALT_SPC ALT_T(KC_SPC) #define SFT_ENT SFT_T(KC_ENT) -#define KC_ML KC_MS_LEFT -#define KC_MR KC_MS_RIGHT -#define KC_MU KC_MS_UP -#define KC_MD KC_MS_DOWN -#define KC_MB1 KC_MS_BTN1 -#define KC_MB2 KC_MS_BTN1 +#define KC_ML MS_LEFT +#define KC_MR MS_RGHT +#define KC_MU MS_UP +#define KC_MD MS_DOWN +#define KC_MB1 MS_BTN1 +#define KC_MB2 MS_BTN1 #define RAISE MO(_RAISE) #define LOWER MO(_LOWER) diff --git a/keyboards/handwired/dactyl_manuform/4x6/keymaps/default/keymap.c b/keyboards/handwired/dactyl_manuform/4x6/keymaps/default/keymap.c index 942128d3f2..043f118ecc 100644 --- a/keyboards/handwired/dactyl_manuform/4x6/keymaps/default/keymap.c +++ b/keyboards/handwired/dactyl_manuform/4x6/keymaps/default/keymap.c @@ -9,12 +9,12 @@ #define ALT_SPC ALT_T(KC_SPC) #define SFT_ENT SFT_T(KC_ENT) -#define KC_ML KC_MS_LEFT -#define KC_MR KC_MS_RIGHT -#define KC_MU KC_MS_UP -#define KC_MD KC_MS_DOWN -#define KC_MB1 KC_MS_BTN1 -#define KC_MB2 KC_MS_BTN1 +#define KC_ML MS_LEFT +#define KC_MR MS_RGHT +#define KC_MU MS_UP +#define KC_MD MS_DOWN +#define KC_MB1 MS_BTN1 +#define KC_MB2 MS_BTN1 #define RAISE MO(_RAISE) #define LOWER MO(_LOWER) diff --git a/keyboards/handwired/dactyl_manuform/5x6_2_5/keymaps/default/keymap.json b/keyboards/handwired/dactyl_manuform/5x6_2_5/keymaps/default/keymap.json index a2760f42bb..24f5be6010 100644 --- a/keyboards/handwired/dactyl_manuform/5x6_2_5/keymaps/default/keymap.json +++ b/keyboards/handwired/dactyl_manuform/5x6_2_5/keymaps/default/keymap.json @@ -461,40 +461,40 @@ "KC_NO", "KC_TRNS", - "KC_ACL1", + "MS_ACL1", "KC_NO", "KC_NO", "KC_NO", "KC_NO", - "KC_WH_U", - "KC_WH_L", - "KC_MS_U", - "KC_WH_R", + "MS_WHLU", + "MS_WHLL", + "MS_UP", + "MS_WHLR", "KC_NO", "KC_NO", "KC_TRNS", - "KC_ACL2", - "KC_BTN2", - "KC_BTN3", - "KC_BTN1", - "KC_BTN1", - "KC_MS_L", - "KC_MS_L", - "KC_MS_D", - "KC_MS_R", + "MS_ACL2", + "MS_BTN2", + "MS_BTN3", + "MS_BTN1", + "MS_BTN1", + "MS_LEFT", + "MS_LEFT", + "MS_DOWN", + "MS_RGHT", "KC_NO", "KC_NO", "KC_TRNS", - "KC_ACL0", + "MS_ACL0", "KC_NO", "KC_NO", "KC_NO", "KC_NO", - "KC_WH_D", + "MS_WHLD", "KC_NO", - "KC_MS_D", + "MS_DOWN", "KC_NO", "KC_NO", "KC_TRNS", diff --git a/keyboards/handwired/dactyl_manuform/5x6_5/keymaps/default/keymap.json b/keyboards/handwired/dactyl_manuform/5x6_5/keymaps/default/keymap.json index 3cb115ffd5..bd58984eef 100644 --- a/keyboards/handwired/dactyl_manuform/5x6_5/keymaps/default/keymap.json +++ b/keyboards/handwired/dactyl_manuform/5x6_5/keymaps/default/keymap.json @@ -447,40 +447,40 @@ "KC_NO", "KC_TRNS", - "KC_ACL1", + "MS_ACL1", "KC_NO", "KC_NO", "KC_NO", "KC_NO", - "KC_WH_U", - "KC_WH_L", - "KC_MS_U", - "KC_WH_R", + "MS_WHLU", + "MS_WHLL", + "MS_UP", + "MS_WHLR", "KC_NO", "KC_NO", "KC_TRNS", - "KC_ACL2", - "KC_BTN2", - "KC_BTN3", - "KC_BTN1", - "KC_BTN1", - "KC_MS_L", - "KC_MS_L", - "KC_MS_D", - "KC_MS_R", + "MS_ACL2", + "MS_BTN2", + "MS_BTN3", + "MS_BTN1", + "MS_BTN1", + "MS_LEFT", + "MS_LEFT", + "MS_DOWN", + "MS_RGHT", "KC_NO", "KC_NO", "KC_TRNS", - "KC_ACL0", + "MS_ACL0", "KC_NO", "KC_NO", "KC_NO", "KC_NO", - "KC_WH_D", + "MS_WHLD", "KC_NO", - "KC_MS_D", + "MS_DOWN", "KC_NO", "KC_NO", "KC_TRNS", diff --git a/keyboards/aleblazer/zodiark/config.h b/keyboards/handwired/dactyl_manuform/5x7_2_6/config.h similarity index 78% rename from keyboards/aleblazer/zodiark/config.h rename to keyboards/handwired/dactyl_manuform/5x7_2_6/config.h index 8230f082b3..ce536e2d00 100644 --- a/keyboards/aleblazer/zodiark/config.h +++ b/keyboards/handwired/dactyl_manuform/5x7_2_6/config.h @@ -1,9 +1,9 @@ /* -Copyright 2021 Spencer Deven +Copyright 2012 Jun Wako Nikolai Grigoriev @ngrigoriev This program is free software: you can 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 +the Free Software Foundation, either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, @@ -14,6 +14,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ + #pragma once -#define SELECT_SOFT_SERIAL_SPEED 1 +#define EE_HANDS diff --git a/keyboards/handwired/dactyl_manuform/5x7_2_6/keyboard.json b/keyboards/handwired/dactyl_manuform/5x7_2_6/keyboard.json new file mode 100644 index 0000000000..7e41ff0083 --- /dev/null +++ b/keyboards/handwired/dactyl_manuform/5x7_2_6/keyboard.json @@ -0,0 +1,115 @@ +{ + "manufacturer": "Nikolai Grigoriev", + "keyboard_name": "Dactyl Manuform 5x7 2-key last row 6-key thumb cluster", + "maintainer": "ngrigoriev", + "build": { + "lto": true + }, + "development_board": "promicro", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": false, + "nkro": true + }, + "matrix_pins": { + "cols": ["F5", "F6", "F7", "B1", "B3", "B2", "B6"], + "rows": ["D4", "C6", "D7", "E6", "B4", "B5"] + }, + "qmk": { + "locking": { + "enabled": true, + "resync": true + } + }, + "split": { + "enabled": true, + "transport": { + "protocol": "i2c" + }, + "usb_detect": { + "enabled": true + } + }, + "url": "https://github.com/ngrigoriev/dactyl-manuform-5x7_2_6", + "usb": { + "device_version": "1.0.0", + "pid": "0x0000", + "vid": "0xFEED" + }, + "layouts": { + "LAYOUT_5x7_2_6": { + "layout": [ + {"label": "KC_GRV", "matrix": [0, 0], "x": 0, "y": 0.5, "w": 1.5}, + {"label": "KC_1", "matrix": [0, 1], "x": 1.5, "y": 0.5}, + {"label": "KC_2", "matrix": [0, 2], "x": 2.5, "y": 0}, + {"label": "KC_3", "matrix": [0, 3], "x": 3.5, "y": 0}, + {"label": "KC_4", "matrix": [0, 4], "x": 4.5, "y": 0}, + {"label": "KC_5", "matrix": [0, 5], "x": 5.5, "y": 0}, + {"label": "KC_NO", "matrix": [0, 6], "x": 6.5, "y": 0}, + {"label": "KC_EQL", "matrix": [6, 0], "x": 12, "y": 0}, + {"label": "KC_6", "matrix": [6, 1], "x": 13, "y": 0}, + {"label": "KC_7", "matrix": [6, 2], "x": 14, "y": 0}, + {"label": "KC_8", "matrix": [6, 3], "x": 15, "y": 0}, + {"label": "KC_9", "matrix": [6, 4], "x": 16, "y": 0}, + {"label": "KC_0", "matrix": [6, 5], "x": 17, "y": 0.5}, + {"label": "KC_BSPC", "matrix": [6, 6], "x": 18, "y": 0.5, "w": 1.5}, + {"label": "KC_TAB", "matrix": [1, 0], "x": 0, "y": 1.5, "w": 1.5}, + {"label": "KC_Q", "matrix": [1, 1], "x": 1.5, "y": 1.5}, + {"label": "KC_W", "matrix": [1, 2], "x": 2.5, "y": 1}, + {"label": "KC_E", "matrix": [1, 3], "x": 3.5, "y": 1}, + {"label": "KC_R", "matrix": [1, 4], "x": 4.5, "y": 1}, + {"label": "KC_T", "matrix": [1, 5], "x": 5.5, "y": 1}, + {"label": "KC_NO", "matrix": [1, 6], "x": 6.5, "y": 1}, + {"label": "KC_MINUS", "matrix": [7, 0], "x": 12, "y": 1}, + {"label": "KC_Y", "matrix": [7, 1], "x": 13, "y": 1}, + {"label": "KC_U", "matrix": [7, 2], "x": 14, "y": 1}, + {"label": "KC_I", "matrix": [7, 3], "x": 15, "y": 1}, + {"label": "KC_O", "matrix": [7, 4], "x": 16, "y": 1}, + {"label": "KC_P", "matrix": [7, 5], "x": 17, "y": 1.5}, + {"label": "KC_BSLS", "matrix": [7, 6], "x": 18, "y": 1.5, "w": 1.5}, + {"label": "KC_LCTL", "matrix": [2, 0], "x": 0, "y": 2.5, "w": 1.5}, + {"label": "KC_A", "matrix": [2, 1], "x": 1.5, "y": 2.5}, + {"label": "KC_S", "matrix": [2, 2], "x": 2.5, "y": 2}, + {"label": "KC_D", "matrix": [2, 3], "x": 3.5, "y": 2}, + {"label": "KC_F", "matrix": [2, 4], "x": 4.5, "y": 2}, + {"label": "KC_G", "matrix": [2, 5], "x": 5.5, "y": 2}, + {"label": "KC_NO", "matrix": [2, 6], "x": 6.5, "y": 2}, + {"label": "KC_DEL", "matrix": [8, 0], "x": 12, "y": 2}, + {"label": "KC_H", "matrix": [8, 1], "x": 13, "y": 2}, + {"label": "KC_J", "matrix": [8, 2], "x": 14, "y": 2}, + {"label": "KC_K", "matrix": [8, 3], "x": 15, "y": 2}, + {"label": "KC_L", "matrix": [8, 4], "x": 16, "y": 2}, + {"label": "KC_SCLN", "matrix": [8, 5], "x": 17, "y": 2.5}, + {"label": "KC_RSFT", "matrix": [8, 6], "x": 18, "y": 2.5, "w": 1.5}, + {"label": "KC_LSFT", "matrix": [3, 0], "x": 0, "y": 3.5, "w": 1.5}, + {"label": "KC_Z", "matrix": [3, 1], "x": 1.5, "y": 3.5}, + {"label": "KC_X", "matrix": [3, 2], "x": 2.5, "y": 3}, + {"label": "KC_C", "matrix": [3, 3], "x": 3.5, "y": 3}, + {"label": "KC_V", "matrix": [3, 4], "x": 4.5, "y": 3}, + {"label": "KC_B", "matrix": [3, 5], "x": 5.5, "y": 3}, + {"label": "KC_N", "matrix": [9, 1], "x": 13, "y": 3}, + {"label": "KC_M", "matrix": [9, 2], "x": 14, "y": 3}, + {"label": "KC_COMM", "matrix": [9, 3], "x": 15, "y": 3}, + {"label": "KC_DOT", "matrix": [9, 4], "x": 16, "y": 3}, + {"label": "KC_SLSH", "matrix": [9, 5], "x": 17, "y": 3.5}, + {"label": "KC_RSFT", "matrix": [9, 6], "x": 18, "y": 3.5, "w": 1.5}, + {"label": "KC_PGUP", "matrix": [4, 2], "x": 2.5, "y": 4}, + {"label": "KC_PGDN", "matrix": [4, 3], "x": 3.5, "y": 4}, + {"label": "KC_LBRC", "matrix": [10, 3], "x": 15, "y": 4}, + {"label": "KC_RBRC", "matrix": [10, 4], "x": 16, "y": 4}, + {"label": "KC_LCTL", "matrix": [4, 4], "x": 5, "y": 5, "h": 1.5, "r": 30}, + {"label": "KC_ESC", "matrix": [4, 5], "x": 6, "y": 5, "h": 1.5, "r": 30}, + {"label": "KC_ENTER", "matrix": [10, 1], "x": 12.5, "y": 5, "h": 1.5, "r": -30}, + {"label": "KC_SPC", "matrix": [10, 2], "x": 13.5, "y": 5, "h": 1.5, "r": -30}, + {"label": "KC_UP", "matrix": [5, 5], "x": 7.5, "y": 6.5, "r": 45}, + {"label": "KC_DOWN", "matrix": [5, 3], "x": 8, "y": 7.5, "r": 45}, + {"label": "KC_LEFT", "matrix": [11, 3], "x": 10.5, "y": 7.5, "r": -45}, + {"label": "KC_RIGHT", "matrix": [11, 1], "x": 11, "y": 6.5, "r": -45}, + {"label": "KC_LCMD", "matrix": [5, 4], "x": 6.5, "y": 7, "r": 45}, + {"label": "KC_LALT", "matrix": [5, 2], "x": 7, "y": 8, "r": 45}, + {"label": "KC_RCTL", "matrix": [11, 4], "x": 11.5, "y": 8, "r": -45}, + {"label": "KC_RALT", "matrix": [11, 2], "x": 12, "y": 7, "r": -45} + ] + } + } +} diff --git a/keyboards/handwired/dactyl_manuform/5x7_2_6/keymaps/default/keymap.c b/keyboards/handwired/dactyl_manuform/5x7_2_6/keymaps/default/keymap.c new file mode 100644 index 0000000000..5ad2f77bad --- /dev/null +++ b/keyboards/handwired/dactyl_manuform/5x7_2_6/keymaps/default/keymap.c @@ -0,0 +1,74 @@ +/* vim: noai:ts=4:sw=4:nowrap +*/ +/* +Copyright 2012 Jun Wako Nikolai Grigoriev @ngrigoriev + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more 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, + _MAGIC, + _NUMPAD, + _FN +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_BASE] = LAYOUT_5x7_2_6( + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, MO(_MAGIC), 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, MO(_NUMPAD), KC_MINUS, 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_DEL, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, + OSM(MOD_LSFT), KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, OSM(MOD_RSFT), + KC_PGUP, KC_PGDN, KC_LBRC, KC_RBRC, + KC_LCTL, LT(_FN, KC_ESC), KC_ENTER,KC_SPC, + KC_UP, KC_DOWN, KC_LEFT, KC_RIGHT, + KC_LCMD, KC_LALT, KC_RCTL, KC_RALT + ), + + [_FN] = LAYOUT_5x7_2_6( + _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, MO(_MAGIC), _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, + _______, _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_F12, + _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, QK_BOOT, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + KC_MPRV, KC_MNXT, _______, _______, + _______, _______, KC_DEL, _______, + _______, _______, _______, _______, + _______, _______, _______, _______ + ), + + [_NUMPAD] = LAYOUT_5x7_2_6( + _______, _______, _______, _______, _______, _______, MO(_MAGIC), _______, _______, KC_NUM, _______, KC_PMNS, KC_PPLS, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_P7, KC_P8, KC_P9, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_P4, KC_P5, KC_P6, KC_PAST, _______, + _______, _______, _______, _______, _______, _______, _______, KC_P1, KC_P2, KC_P3, KC_PSLS, _______, + _______, _______, KC_P0, KC_PDOT, + _______, _______, _______, KC_PENT, + _______, _______, _______, _______, + _______, _______, _______, _______ + ), + + [_MAGIC] = LAYOUT_5x7_2_6( + _______, _______, _______, _______, _______, _______, _______, CG_SWAP, _______, _______, _______, _______, _______, QK_REBOOT, + _______, _______, _______, _______, _______, _______, _______, CG_NORM, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOTLOADER, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, + _______, _______, _______, _______, + _______, _______, _______, _______, + _______, _______, _______, _______ + ) +}; + diff --git a/keyboards/handwired/dactyl_manuform/5x7_2_6/readme.md b/keyboards/handwired/dactyl_manuform/5x7_2_6/readme.md new file mode 100644 index 0000000000..e29bbeb8ce --- /dev/null +++ b/keyboards/handwired/dactyl_manuform/5x7_2_6/readme.md @@ -0,0 +1,29 @@ +# handwired/dactyl_manuform/5x7_2_6 + +![keyboad_image](https://i.ibb.co/09tfjY0/kbpic-small-21.jpg) + +A standard Dactyl Manuform keyboard with 5x7 matrix, 6 thumb cluster keys. Last row has 2 keys only. Index column has 3 rows. The outer keys are 1,5u wide. [More info on https://github.com/ngrigoriev/dactyl-manuform-5x7_2_6](https://github.com/ngrigoriev/dactyl-manuform-5x7_2_6). Based on the original set of Dactyl Manuform keyboards created and maintaied by [Jack Humbert](https://github.com/jackhumbert). + +This keyboard can be generated using one of Dactyl Manuform generators, such as (https://dactyl.mbugert.de/manuform). + +* Keyboard Maintainer: [Nikolai Grigoriev](https://github.com/ngrigoriev) +* Hardware Supported: Promicro +* Hardware Availability: general DIY + +Make example for this keyboard (after setting up your build environment): + + make handwired/dactyl_manuform/5x7_2_6:default + +Flashing example for this keyboard: + + make handwired/dactyl_manuform/5x7_2_6:default:flash + +See the [build environment setup](getting_started_build_tools) and the [make instructions](getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](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_manuform/6x6/blackpill_f411/config.h b/keyboards/handwired/dactyl_manuform/6x6/blackpill_f411/config.h index 2258a17c2e..191cd9b224 100644 --- a/keyboards/handwired/dactyl_manuform/6x6/blackpill_f411/config.h +++ b/keyboards/handwired/dactyl_manuform/6x6/blackpill_f411/config.h @@ -25,13 +25,6 @@ #define SERIAL_USART_RX_PIN B7 // USART RX pin #define SERIAL_USART_TX_PIN B6 // USART TX pin -#define SELECT_SOFT_SERIAL_SPEED 1 // or 0, 2, 3, 4, 5 - // 0: 460800 baud - // 1: 230400 baud (default) - // 2: 115200 baud - // 3: 57600 baud - // 4: 38400 baud - // 5: 19200 baud #define SERIAL_USART_DRIVER SD1 // USART driver of TX and RX pin. default: SD1 #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 diff --git a/keyboards/handwired/dactyl_manuform_pi_pico/keymaps/default/keymap.c b/keyboards/handwired/dactyl_manuform_pi_pico/keymaps/default/keymap.c index cd78aef7a9..fed363a22d 100644 --- a/keyboards/handwired/dactyl_manuform_pi_pico/keymaps/default/keymap.c +++ b/keyboards/handwired/dactyl_manuform_pi_pico/keymaps/default/keymap.c @@ -54,11 +54,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_WINMGR] = 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_F1, LGUI(KC_7), LGUI(KC_8), LGUI(KC_9), KC_F4, KC_F7, SGUI(KC_7), SGUI(KC_8), SGUI(KC_9), KC_F10, KC_TRNS, - TO(_QWERTY), KC_F2, LGUI(KC_4), LGUI(KC_5), LGUI(KC_6), KC_F5, KC_F8, SGUI(KC_4), SGUI(KC_5), SGUI(KC_6), KC_F11, KC_TRNS, - KC_TRNS, KC_F3, LGUI(KC_1), LGUI(KC_2), LGUI(KC_3), KC_F6, KC_F9, SGUI(KC_1), SGUI(KC_2), SGUI(KC_3), KC_F12, KC_TRNS, - KC_TRNS, LGUI(KC_0), SGUI(KC_0), KC_TRNS, - LGUI(KC_0), KC_TRNS, KC_TRNS, SGUI(KC_0), + KC_TRNS, KC_F1, LGUI(KC_7), LGUI(KC_8), LGUI(KC_9), KC_F4, KC_F7, LSG(KC_7), LSG(KC_8), LSG(KC_9), KC_F10, KC_TRNS, + TO(_QWERTY), KC_F2, LGUI(KC_4), LGUI(KC_5), LGUI(KC_6), KC_F5, KC_F8, LSG(KC_4), LSG(KC_5), LSG(KC_6), KC_F11, KC_TRNS, + KC_TRNS, KC_F3, LGUI(KC_1), LGUI(KC_2), LGUI(KC_3), KC_F6, KC_F9, LSG(KC_1), LSG(KC_2), LSG(KC_3), KC_F12, KC_TRNS, + KC_TRNS, LGUI(KC_0), LSG(KC_0), KC_TRNS, + LGUI(KC_0), KC_TRNS, KC_TRNS, LSG(KC_0), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, LCTL(LGUI(KC_Q)), KC_TRNS, KC_TRNS, KC_TRNS) }; diff --git a/keyboards/handwired/dactyl_maximus/keymaps/default/keymap.c b/keyboards/handwired/dactyl_maximus/keymaps/default/keymap.c index cfd95db563..efd5f1a058 100644 --- a/keyboards/handwired/dactyl_maximus/keymaps/default/keymap.c +++ b/keyboards/handwired/dactyl_maximus/keymaps/default/keymap.c @@ -41,12 +41,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [2] = LAYOUT( KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, - KC_TRNS, KC_NO, KC_NO, KC_ACL2, KC_ACL1, KC_ACL0, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, - KC_TRNS, KC_NO, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, KC_NO, KC_NO, KC_SLEP, KC_NO, KC_NO, QK_BOOT, KC_NO, KC_TRNS, - KC_TRNS, KC_NO, KC_WH_L, KC_WH_D, KC_WH_U, KC_WH_R, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, + KC_TRNS, KC_NO, KC_NO, MS_ACL2, MS_ACL1, MS_ACL0, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, + KC_TRNS, KC_NO, MS_LEFT, MS_DOWN, MS_UP, MS_RGHT, KC_NO, KC_NO, KC_SLEP, KC_NO, KC_NO, QK_BOOT, KC_NO, KC_TRNS, + KC_TRNS, KC_NO, MS_WHLL, MS_WHLD, MS_WHLU, MS_WHLR, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, - KC_NO, KC_BTN1, KC_BTN2, KC_NO, KC_NO, KC_TRNS, + KC_NO, MS_BTN1, MS_BTN2, KC_NO, KC_NO, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO ) }; diff --git a/keyboards/handwired/dactyl_promicro/keymaps/default/keymap.c b/keyboards/handwired/dactyl_promicro/keymaps/default/keymap.c index 1dd2f47841..2e5545c700 100644 --- a/keyboards/handwired/dactyl_promicro/keymaps/default/keymap.c +++ b/keyboards/handwired/dactyl_promicro/keymaps/default/keymap.c @@ -57,10 +57,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_RAISE] = LAYOUT_6x6( _______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______, - _______,_______,_______,KC_MS_U,_______,_______, _______,_______,_______,_______,_______,_______, - _______,_______,KC_MS_L,KC_MS_D,KC_MS_R,_______, _______,_______,_______,_______,_______,KC_MPLY, + _______,_______,_______,MS_UP, _______,_______, _______,_______,_______,_______,_______,_______, + _______,_______,MS_LEFT,MS_DOWN,MS_RGHT,_______, _______,_______,_______,_______,_______,KC_MPLY, _______,_______,_______,_______,_______,_______, _______,_______,KC_MPRV,KC_MNXT,_______,_______, - QK_BOOT ,_______,_______,KC_BTN1,KC_BTN2,_______, KC_WBAK,KC_VOLU,KC_VOLD,KC_MUTE,_______,_______, + QK_BOOT ,_______,_______,MS_BTN1,MS_BTN2,_______, KC_WBAK,KC_VOLU,KC_VOLD,KC_MUTE,_______,_______, _______,_______,_______, _______,_______,_______, _______, _______, _______, _______ diff --git a/keyboards/handwired/dactyl_rah/keymaps/default/keymap.c b/keyboards/handwired/dactyl_rah/keymaps/default/keymap.c index 6f0c25a4dd..447ff3c0a7 100644 --- a/keyboards/handwired/dactyl_rah/keymaps/default/keymap.c +++ b/keyboards/handwired/dactyl_rah/keymaps/default/keymap.c @@ -36,12 +36,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [NAV] = LAYOUT_6x6( QK_BOOT , KC_NO ,KC_MPRV,KC_MPLY,KC_MNXT, KC_NO , KC_BRIU, KC_7 , KC_8 , KC_9 , KC_NO , QK_BOOT , - _______,KC_VOLU,KC_WBAK,KC_MS_U,KC_WFWD,KC_WH_U, KC_BRID, KC_4 , KC_5 , KC_6 , KC_NO , KC_F9 , - _______,KC_VOLD,KC_MS_L,KC_MS_D,KC_MS_R,KC_WH_D, KC_PPLS, KC_1 , KC_2 , KC_3 ,KC_PMNS, KC_F10, + _______,KC_VOLU,KC_WBAK,MS_UP, KC_WFWD,MS_WHLU, KC_BRID, KC_4 , KC_5 , KC_6 , KC_NO , KC_F9 , + _______,KC_VOLD,MS_LEFT,MS_DOWN,MS_RGHT,MS_WHLD, KC_PPLS, KC_1 , KC_2 , KC_3 ,KC_PMNS, KC_F10, KC_NO , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_NO , KC_PAST, KC_0 , KC_NO ,_______,KC_PSLS, KC_F11, _______, KC_F5 , KC_F6 , KC_F7 , KC_F8 , _______,_______,_______,_______, KC_F12, _______,_______, KC_HOME,_______, _______, KC_END , - KC_BTN1,KC_BTN2,_______, ALT_BSP,_______,_______ + MS_BTN1,MS_BTN2,_______, ALT_BSP,_______,_______ ) }; diff --git a/keyboards/handwired/dactyl_rah/keymaps/right/keymap.c b/keyboards/handwired/dactyl_rah/keymaps/right/keymap.c index 6f0c25a4dd..447ff3c0a7 100644 --- a/keyboards/handwired/dactyl_rah/keymaps/right/keymap.c +++ b/keyboards/handwired/dactyl_rah/keymaps/right/keymap.c @@ -36,12 +36,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [NAV] = LAYOUT_6x6( QK_BOOT , KC_NO ,KC_MPRV,KC_MPLY,KC_MNXT, KC_NO , KC_BRIU, KC_7 , KC_8 , KC_9 , KC_NO , QK_BOOT , - _______,KC_VOLU,KC_WBAK,KC_MS_U,KC_WFWD,KC_WH_U, KC_BRID, KC_4 , KC_5 , KC_6 , KC_NO , KC_F9 , - _______,KC_VOLD,KC_MS_L,KC_MS_D,KC_MS_R,KC_WH_D, KC_PPLS, KC_1 , KC_2 , KC_3 ,KC_PMNS, KC_F10, + _______,KC_VOLU,KC_WBAK,MS_UP, KC_WFWD,MS_WHLU, KC_BRID, KC_4 , KC_5 , KC_6 , KC_NO , KC_F9 , + _______,KC_VOLD,MS_LEFT,MS_DOWN,MS_RGHT,MS_WHLD, KC_PPLS, KC_1 , KC_2 , KC_3 ,KC_PMNS, KC_F10, KC_NO , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_NO , KC_PAST, KC_0 , KC_NO ,_______,KC_PSLS, KC_F11, _______, KC_F5 , KC_F6 , KC_F7 , KC_F8 , _______,_______,_______,_______, KC_F12, _______,_______, KC_HOME,_______, _______, KC_END , - KC_BTN1,KC_BTN2,_______, ALT_BSP,_______,_______ + MS_BTN1,MS_BTN2,_______, ALT_BSP,_______,_______ ) }; diff --git a/keyboards/handwired/dactylmacropad/keymaps/default/keymap.c b/keyboards/handwired/dactylmacropad/keymaps/default/keymap.c index 65c7f445b7..bcb4e2016a 100644 --- a/keyboards/handwired/dactylmacropad/keymaps/default/keymap.c +++ b/keyboards/handwired/dactylmacropad/keymaps/default/keymap.c @@ -32,7 +32,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_BASE] = LAYOUT (pvt, LCTL(KC_V), KC_UP, LCTL(KC_C), LSFT_T(KC_ESC), KC_LEFT, KC_DOWN, KC_RGHT, - TO(1), KC_LCTL, ALT_TAB, KC_APP, KC_BTN3), + TO(1), KC_LCTL, ALT_TAB, KC_APP, MS_BTN3), /* * ┌────┬────┬────┬────┐ * │mte │ BI │ up │pgu │ @@ -71,9 +71,9 @@ bool encoder_update_user(uint8_t index, bool clockwise) { } } else { if (clockwise) { - tap_code(KC_WH_D); + tap_code(MS_WHLD); } else { - tap_code(KC_WH_U); + tap_code(MS_WHLU); } } return false; diff --git a/keyboards/handwired/datahand/keyboard.json b/keyboards/handwired/datahand/keyboard.json index 1f1ebc07ee..3684dcc706 100644 --- a/keyboards/handwired/datahand/keyboard.json +++ b/keyboards/handwired/datahand/keyboard.json @@ -5,8 +5,12 @@ "usb": { "vid": "0x13BA", "pid": "0x0017", - "device_version": "0.0.1", - "force_nkro": true + "device_version": "0.0.1" + }, + "host": { + "default": { + "nkro": true + } }, "processor": "at90usb1286", "bootloader": "halfkay", diff --git a/keyboards/handwired/datahand/keymaps/default/keymap.c b/keyboards/handwired/datahand/keymaps/default/keymap.c index 608c45dea3..828aed1d2e 100644 --- a/keyboards/handwired/datahand/keymaps/default/keymap.c +++ b/keyboards/handwired/datahand/keymaps/default/keymap.c @@ -85,9 +85,9 @@ _______, _______, _______, _______, _______, _______, _______, _______, ______ #endif [FUNCTION_MOUSE] = LAYOUT( - KC_F2, KC_F4, KC_F6, KC_MS_U, KC_MS_U, KC_F8, KC_F10, KC_PGUP, -_______, KC_NO, KC_SCRL, _______, KC_BTN3, NLK, KC_BTN1, MS, KC_BTN2, KC_MS_L, KC_BTN1, KC_MS_R, KC_MS_L, KC_BTN2, KC_MS_R, KC_END, AR, KC_LSFT, KC_INS, KC_9, KC_ENT, KC_F11, KC_0, KC_F12, - KC_F1, KC_F3, KC_F5, KC_MS_D, KC_MS_D, KC_F7, KC_F9, KC_PGDN, + KC_F2, KC_F4, KC_F6, MS_UP, MS_UP, KC_F8, KC_F10, KC_PGUP, +_______, KC_NO, KC_SCRL, _______, MS_BTN3, NLK, MS_BTN1, MS, MS_BTN2, MS_LEFT, MS_BTN1, MS_RGHT, MS_LEFT, MS_BTN2, MS_RGHT, KC_END, AR, KC_LSFT, KC_INS, KC_9, KC_ENT, KC_F11, KC_0, KC_F12, + KC_F1, KC_F3, KC_F5, MS_DOWN, MS_DOWN, KC_F7, KC_F9, KC_PGDN, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/handwired/dmote/keymaps/default/keymap.c b/keyboards/handwired/dmote/keymaps/default/keymap.c index 0c9ceb8722..632ccb87dc 100644 --- a/keyboards/handwired/dmote/keymaps/default/keymap.c +++ b/keyboards/handwired/dmote/keymaps/default/keymap.c @@ -65,9 +65,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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, UG_TOGG, - KC_WH_D, UG_NEXT, _______, KC_ACL1, KC_ACL2, KC_MS_D, - _______, _______, EMDASH, KC_ACL0, _______, _______, + KC_GRV, KC_EXLM, MS_BTN1, MS_WHLU, MS_BTN2, MS_LEFT, MS_UP, MS_RGHT, KC_PSCR, UG_TOGG, + MS_WHLD, UG_NEXT, _______, MS_ACL1, MS_ACL2, MS_DOWN, + _______, _______, EMDASH, MS_ACL0, _______, _______, _______, _______, _______, _______ ) }; diff --git a/keyboards/handwired/dqz11n1g/keymaps/default/keymap.c b/keyboards/handwired/dqz11n1g/keymaps/default/keymap.c index 2a4ca0c703..9488bbfde6 100644 --- a/keyboards/handwired/dqz11n1g/keymaps/default/keymap.c +++ b/keyboards/handwired/dqz11n1g/keymaps/default/keymap.c @@ -37,11 +37,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * Maltron, so just putting some "Quantum" keycodes here for testing that * the layer exists and Fun Lock LED works. */ [_FUNCTION] = LAYOUT( - KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS,KC_TRNS,KC_BTN3,KC_MS_U,KC_WH_U,KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS,KC_TRNS,MS_BTN3,MS_UP, MS_WHLU,KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, - KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, CK_UP, AU_ON, KC_MS_L,KC_BTN1,KC_MS_R,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, CK_DOWN,AU_OFF, KC_BTN2,KC_MS_D,KC_WH_D,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, CK_TOGG,KC_NO, KC_ACL0,KC_ACL1,KC_ACL2,KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, CK_UP, AU_ON, MS_LEFT,MS_BTN1,MS_RGHT,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, CK_DOWN,AU_OFF, MS_BTN2,MS_DOWN,MS_WHLD,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, CK_TOGG,KC_NO, MS_ACL0,MS_ACL1,MS_ACL2,KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, 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/dygma/raise/rules.mk b/keyboards/handwired/dygma/raise/rules.mk index cd02f80200..195edabcae 100644 --- a/keyboards/handwired/dygma/raise/rules.mk +++ b/keyboards/handwired/dygma/raise/rules.mk @@ -7,5 +7,3 @@ CUSTOM_MATRIX = lite I2C_DRIVER_REQUIRED = yes SRC += matrix.c - -DEFAULT_FOLDER = handwired/dygma/raise/ansi diff --git a/keyboards/handwired/elrgo_s/keymaps/default/keymap.c b/keyboards/handwired/elrgo_s/keymaps/default/keymap.c index b43c75cf2d..d43f390586 100644 --- a/keyboards/handwired/elrgo_s/keymaps/default/keymap.c +++ b/keyboards/handwired/elrgo_s/keymaps/default/keymap.c @@ -43,7 +43,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_RAISE] = LAYOUT_split_3x6_5( - KC_ESC , KC_PDOT , M_BBSLS , KC_BSLS , LSFT(KC_MINS), LSFT(KC_EQL), KC_HOME , KC_WH_L , KC_UP , KC_WH_R , KC_PGUP , KC_BSPC , + KC_ESC , KC_PDOT , M_BBSLS , KC_BSLS , LSFT(KC_MINS), LSFT(KC_EQL), KC_HOME , MS_WHLL , KC_UP , MS_WHLR , KC_PGUP , KC_BSPC , KC_TAB , LSFT(KC_1), LSFT(KC_2), LSFT(KC_3), LSFT(KC_4) , LSFT(KC_5) , M_FLEFT , KC_LEFT , KC_DOWN , KC_RIGHT, M_FRIGHT, KC_DEL , LSFT(KC_TAB), LSFT(KC_6), LSFT(KC_7), LSFT(KC_8), LSFT(KC_9) , LSFT(KC_0) , KC_END , KC_F22 , KC_F23 , KC_CAPS , KC_PGDN , MO(_ADJUST), KC_LGUI , KC_LCTL , KC_LSFT , KC_LALT , M_SHLL , M_SHLA , KC_TRNS , KC_SPC , KC_RALT , KC_ENT diff --git a/keyboards/handwired/ergocheap/keymaps/default/keymap.c b/keyboards/handwired/ergocheap/keymaps/default/keymap.c index 15753dabd7..efb7955c09 100644 --- a/keyboards/handwired/ergocheap/keymaps/default/keymap.c +++ b/keyboards/handwired/ergocheap/keymaps/default/keymap.c @@ -34,7 +34,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, KC_UP, _______, _______, _______, KC_LCTL, _______, KC_S, _______, _______, _______, _______, KC_VOLD, KC_MUTE, KC_VOLU, KC_LEFT, KC_RGHT, _______, _______, - KC_LSFT, KC_LEFT, KC_UP, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, KC_DOWN, TO(_BASE), KC_WH_U, _______, - _______, KC_LGUI, _______, _______, _______, _______, _______, _______, KC_WH_L, KC_WH_D, KC_WH_R + KC_LSFT, KC_LEFT, KC_UP, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, KC_DOWN, TO(_BASE), MS_WHLU, _______, + _______, KC_LGUI, _______, _______, _______, _______, _______, _______, MS_WHLL, MS_WHLD, MS_WHLR ) }; diff --git a/keyboards/handwired/fivethirteen/keymaps/default/keymap.c b/keyboards/handwired/fivethirteen/keymaps/default/keymap.c index b68e81e81c..63e5798e81 100644 --- a/keyboards/handwired/fivethirteen/keymaps/default/keymap.c +++ b/keyboards/handwired/fivethirteen/keymaps/default/keymap.c @@ -30,9 +30,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [MOS] = LAYOUT( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, KC_BTN1, KC_BTN2, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, KC_WH_D, KC_WH_U, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, MS_BTN1, MS_BTN2, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, MS_LEFT, MS_DOWN, MS_UP, MS_RGHT, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, MS_WHLD, MS_WHLU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ) }; diff --git a/keyboards/handwired/floorboard/keymaps/default/keymap.c b/keyboards/handwired/floorboard/keymaps/default/keymap.c index 161dbea030..2d519bee03 100644 --- a/keyboards/handwired/floorboard/keymaps/default/keymap.c +++ b/keyboards/handwired/floorboard/keymaps/default/keymap.c @@ -18,6 +18,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [0] = LAYOUT_ortho_4x12(KC_TAB, KC_SCLN, 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_ENT, KC_LSFT, KC_QUOT, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSFT, LT(2,KC_CAPS), MO(3), KC_LGUI, KC_LALT, KC_SPC, MO(1), MO(2), KC_BSPC, KC_RALT, KC_VOLD, KC_VOLU, LT(2,KC_MPLY)), [1] = LAYOUT_ortho_4x12(KC_PERC, KC_LBRC, KC_LCBR, KC_RCBR, KC_LPRN, KC_PEQL, KC_ASTR, KC_RPRN, KC_PLUS, KC_EXLM, KC_RBRC, KC_GRV, KC_LCTL, KC_7, KC_5, KC_3, KC_1, KC_9, KC_0, KC_2, KC_4, KC_6, KC_8, KC_MINS, KC_LSFT, KC_LBRC, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_SLSH, KC_NO, KC_TRNS, KC_NO, KC_LGUI, KC_LALT, KC_SPC, KC_TRNS, KC_NO, KC_DEL, KC_RALT, KC_PSCR, KC_APP, KC_NO), - [2] = LAYOUT_ortho_4x12(KC_WAKE, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, KC_SLEP, KC_LCTL, KC_NO, KC_CUT, KC_COPY, KC_PSTE, KC_NO, KC_NO, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_ENT, 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_TRNS, KC_NO, KC_LGUI, KC_LALT, KC_BTN1, KC_BTN2, KC_TRNS, KC_NO, KC_RALT, KC_NO, KC_APP, KC_NO), + [2] = LAYOUT_ortho_4x12(KC_WAKE, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, MS_LEFT, MS_DOWN, MS_UP, MS_RGHT, KC_SLEP, KC_LCTL, KC_NO, KC_CUT, KC_COPY, KC_PSTE, KC_NO, KC_NO, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_ENT, 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_TRNS, KC_NO, KC_LGUI, KC_LALT, MS_BTN1, MS_BTN2, KC_TRNS, KC_NO, KC_RALT, KC_NO, KC_APP, KC_NO), [3] = LAYOUT_ortho_4x12(KC_TAB, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_LCTL, KC_F7, KC_F5, KC_F3, KC_F1, KC_F9, KC_F10, KC_F2, KC_F4, KC_F6, KC_F8, 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_TRNS, KC_TRNS, KC_LGUI, KC_LALT, KC_SPC, KC_NO, KC_NO, KC_DEL, KC_RALT, KC_BRID, KC_BRIU, KC_NO) }; diff --git a/keyboards/handwired/franky36/keyboard.json b/keyboards/handwired/franky36/keyboard.json index 038fc1eb67..871e6abf9d 100644 --- a/keyboards/handwired/franky36/keyboard.json +++ b/keyboards/handwired/franky36/keyboard.json @@ -23,8 +23,8 @@ "url": "https://github.com/avdyushin/franky36", "usb": { "device_version": "0.2.0", - "pid": "0x0001", - "vid": "0xFEED" + "pid": "0x3336", + "vid": "0x1209" }, "community_layouts": ["split_3x5_3"], "layouts": { diff --git a/keyboards/handwired/frenchdev/keymaps/default/keymap.c b/keyboards/handwired/frenchdev/keymaps/default/keymap.c index 67c0072a08..aa622c5ddb 100644 --- a/keyboards/handwired/frenchdev/keymaps/default/keymap.c +++ b/keyboards/handwired/frenchdev/keymaps/default/keymap.c @@ -103,9 +103,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, M_UN, M_CUT, M_CP, M_PS, M_SE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, BP_DLR, BP_EQL, KC_PGUP, BP_PIPE, BP_SLSH, KC_TRNS, KC_TRNS, KC_TRNS, BP_BSLS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_END, KC_TRNS, KC_TRNS, //left pedals - KC_TRNS, KC_BTN1, KC_TRNS, + KC_TRNS, MS_BTN1, KC_TRNS, //right pedals - KC_TRNS, KC_BTN1, KC_TRNS + KC_TRNS, MS_BTN1, KC_TRNS ), /* MEDIA, mouse and numpad. @@ -130,14 +130,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_MEDIA] = LAYOUT( QK_BOOT, KC_SCRL, KC_PAUS, KC_MUTE, KC_VOLD, KC_VOLU, KC_MUTE, KC_VOLD, KC_VOLU, KC_PSCR, KC_CALC, KC_NUM, KC_TRNS, KC_TRNS, KC_TRNS, KC_MSTP, KC_MPRV, KC_MNXT, KC_MPLY, KC_MPLY, KC_MPRV, KC_MNXT, KC_MSTP, KC_TRNS, KC_PMNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_WH_U, KC_TRNS, KC_BTN4, KC_BTN5, KC_BTN4, KC_BTN5, KC_KP_7, KC_KP_8, KC_KP_9, KC_PPLS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_WH_D, KC_BTN3, KC_BTN2, KC_BTN1, KC_BTN1, KC_BTN2, KC_KP_4, KC_KP_5, KC_KP_6, KC_PAST, KC_TRNS, - KC_TRNS, M_UN, M_CUT, M_CP, M_PS, KC_BTN3, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_BTN3, KC_KP_1, KC_KP_2, KC_KP_3, KC_PSLS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, MS_WHLU, KC_TRNS, MS_BTN4, MS_BTN5, MS_BTN4, MS_BTN5, KC_KP_7, KC_KP_8, KC_KP_9, KC_PPLS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, MS_WHLD, MS_BTN3, MS_BTN2, MS_BTN1, MS_BTN1, MS_BTN2, KC_KP_4, KC_KP_5, KC_KP_6, KC_PAST, KC_TRNS, + KC_TRNS, M_UN, M_CUT, M_CP, M_PS, MS_BTN3, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MS_BTN3, KC_KP_1, KC_KP_2, KC_KP_3, KC_PSLS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_KP_0, KC_PDOT, BP_DOT, BP_COMM, KC_TRNS, //left pedals - KC_BTN3, M_RP, KC_TRNS, + MS_BTN3, M_RP, KC_TRNS, //right pedals - KC_BTN3, M_RP, KC_TRNS + MS_BTN3, M_RP, KC_TRNS ), /* TRNS - skeleton for laters @@ -167,9 +167,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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 pedals - KC_BTN3, M_RP, KC_TRNS, + MS_BTN3, M_RP, KC_TRNS, //right pedals - KC_BTN3, M_RP, KC_TRNS + MS_BTN3, M_RP, KC_TRNS ), }; @@ -239,7 +239,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { key_timer_left_pedal = timer_read(); // if the key is being pressed, we start the timer. } else { if (timer_elapsed(key_timer_left_pedal) < KEY_DELAY) { - tap_code (KC_BTN2); + tap_code (MS_BTN2); } unregister_code (KC_SCRL); layer_off(1); @@ -251,7 +251,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { key_timer_right_pedal = timer_read(); // if the key is being pressed, we start the timer. } else { if (timer_elapsed(key_timer_right_pedal) < PEDAL_DELAY) { - tap_code (KC_BTN1); + tap_code (MS_BTN1); } layer_off(2); } diff --git a/keyboards/handwired/k8split/keymaps/left/keymap.c b/keyboards/handwired/k8split/keymaps/left/keymap.c index 8d7559065a..c40b1c7b4f 100644 --- a/keyboards/handwired/k8split/keymaps/left/keymap.c +++ b/keyboards/handwired/k8split/keymaps/left/keymap.c @@ -39,8 +39,8 @@ 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_AUDIO_MUTE, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_AUDIO_MMUTE, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_INT5, KC_MS_WH_UP, - KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_COMP, KC_MS_WH_DOWN, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_INT5, MS_WHLU, + KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_COMP, MS_WHLD, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_F13, KC_F14, KC_LCTL, KC_CAPS, KC_LWIN, KC_LALT, KC_SPC, KC_F15, KC_F16, KC_F17 ) diff --git a/keyboards/handwired/kbod/keymaps/default/keymap.c b/keyboards/handwired/kbod/keymaps/default/keymap.c index 24fc4c20af..1976769052 100644 --- a/keyboards/handwired/kbod/keymaps/default/keymap.c +++ b/keyboards/handwired/kbod/keymaps/default/keymap.c @@ -46,15 +46,15 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { TO(0), KC_1, KC_2, KC_3, ALT_F4, KC_5, KC_6, KC_P7, KC_P8, KC_P9, KC_P0, KC_PMNS, KC_PPLS, KC_BSPC, _______, _______, _______, _______, _______, _______, _______, KC_P4, KC_P5, KC_P6, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_P1, KC_P2, KC_P3, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, KC_P0, KC_PDOT, KC_BTN1, KC_MS_U, KC_BTN2, - _______, _______, _______, _______, KC_MS_L, KC_MS_D, KC_MS_R, KC_BTN3 + _______, _______, _______, _______, _______, _______, _______, KC_P0, KC_PDOT, MS_BTN1, MS_UP, MS_BTN2, + _______, _______, _______, _______, MS_LEFT, MS_DOWN, MS_RGHT, MS_BTN3 ), LAYOUT( /* Multimedia layer */ TO(0), _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, KC_WAKE, _______, _______, _______, _______, _______, _______, _______, KC_MSTP, KC_MPRV, KC_MNXT, _______, _______, _______, KC_SLEP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, KC_PWR, _______, _______, _______, _______, _______, _______, KC_BTN1, KC_WH_U, KC_BTN2, - _______, _______, _______, KC_MPLY, KC_WH_L, KC_WH_D, KC_WH_R, KC_BTN3 + _______, _______, KC_PWR, _______, _______, _______, _______, _______, _______, MS_BTN1, MS_WHLU, MS_BTN2, + _______, _______, _______, KC_MPLY, MS_WHLL, MS_WHLD, MS_WHLR, MS_BTN3 ), }; diff --git a/keyboards/handwired/maverick0197/keydeck8/keyboard.json b/keyboards/handwired/maverick0197/keydeck8/keyboard.json index 057552e621..0f11bb194b 100644 --- a/keyboards/handwired/maverick0197/keydeck8/keyboard.json +++ b/keyboards/handwired/maverick0197/keydeck8/keyboard.json @@ -11,7 +11,7 @@ }, "encoder": { "rotary": [ - {"pin_a": "D3", "pin_b": "D2", "resolution": 4} + {"pin_a": "D3", "pin_b": "D2"} ] }, "matrix_pins": { diff --git a/keyboards/handwired/mutepad/keyboard.json b/keyboards/handwired/mutepad/keyboard.json index fd16cd7447..fdbfa025df 100644 --- a/keyboards/handwired/mutepad/keyboard.json +++ b/keyboards/handwired/mutepad/keyboard.json @@ -6,8 +6,12 @@ "usb": { "vid": "0xFEED", "pid": "0x0000", - "device_version": "0.0.1", - "force_nkro": true + "device_version": "0.0.1" + }, + "host": { + "default": { + "nkro": true + } }, "features": { "bootmagic": true, diff --git a/keyboards/handwired/myskeeb/config.h b/keyboards/handwired/myskeeb/config.h index 8c37524a0e..d290d41aee 100644 --- a/keyboards/handwired/myskeeb/config.h +++ b/keyboards/handwired/myskeeb/config.h @@ -2,7 +2,6 @@ // Comunication and Split Detection -#define SELECT_SOFT_SERIAL_SPEED 1 #define SPLIT_USB_DETECT #define EE_HANDS #define SPLIT_USB_TIMEOUT 1000 diff --git a/keyboards/handwired/obuwunkunubi/spaget/keymaps/default/keymap.c b/keyboards/handwired/obuwunkunubi/spaget/keymaps/default/keymap.c index ccc445be42..8a8cda6ea2 100644 --- a/keyboards/handwired/obuwunkunubi/spaget/keymaps/default/keymap.c +++ b/keyboards/handwired/obuwunkunubi/spaget/keymaps/default/keymap.c @@ -391,15 +391,15 @@ bool encoder_update_user(uint8_t index, bool clockwise) { else if(IS_LAYER_ON(ONE)) { if (index == 0) { /* First encoder */ if (clockwise) { - tap_code(KC_WH_R); + tap_code(MS_WHLR); } else { - tap_code(KC_WH_L); + tap_code(MS_WHLL); } } else if (index == 1) { /* Second encoder */ if (clockwise) { - tap_code(KC_WH_D); + tap_code(MS_WHLD); } else { - tap_code(KC_WH_U); + tap_code(MS_WHLU); } } } diff --git a/keyboards/handwired/onekey/keymaps/battery/config.h b/keyboards/handwired/onekey/keymaps/battery/config.h index 8a1c05d436..b93bfe9000 100644 --- a/keyboards/handwired/onekey/keymaps/battery/config.h +++ b/keyboards/handwired/onekey/keymaps/battery/config.h @@ -3,4 +3,4 @@ #pragma once -#define BATTERY_PIN ADC_PIN +#define BATTERY_ADC_PIN ADC_PIN diff --git a/keyboards/handwired/onekey/keymaps/battery/keymap.c b/keyboards/handwired/onekey/keymaps/battery/keymap.c index 74191e83fc..793a6ed87e 100644 --- a/keyboards/handwired/onekey/keymaps/battery/keymap.c +++ b/keyboards/handwired/onekey/keymaps/battery/keymap.c @@ -2,7 +2,6 @@ // SPDX-License-Identifier: GPL-2.0-or-later #include QMK_KEYBOARD_H -#include "battery.h" const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { LAYOUT_ortho_1x1(KC_A) @@ -14,8 +13,6 @@ void keyboard_post_init_user(void) { // debug_matrix=false; // debug_keyboard=true; // debug_mouse=false; - - battery_init(); } void housekeeping_task_user(void) { diff --git a/keyboards/handwired/onekey/keymaps/battery/keymap.json b/keyboards/handwired/onekey/keymaps/battery/keymap.json index c641dfe773..7232d6d899 100644 --- a/keyboards/handwired/onekey/keymaps/battery/keymap.json +++ b/keyboards/handwired/onekey/keymaps/battery/keymap.json @@ -1,6 +1,10 @@ { "config": { + "battery": { + "driver": "adc" + }, "features": { + "battery": true, "console": true } } diff --git a/keyboards/handwired/onekey/keymaps/battery/rules.mk b/keyboards/handwired/onekey/keymaps/battery/rules.mk deleted file mode 100644 index 06908179ae..0000000000 --- a/keyboards/handwired/onekey/keymaps/battery/rules.mk +++ /dev/null @@ -1 +0,0 @@ -BATTERY_DRIVER_REQUIRED = yes diff --git a/keyboards/handwired/ortho5x14/keymaps/2u/keymap.c b/keyboards/handwired/ortho5x14/keymaps/2u/keymap.c index 752eda0fde..d0c8c610b1 100644 --- a/keyboards/handwired/ortho5x14/keymaps/2u/keymap.c +++ b/keyboards/handwired/ortho5x14/keymaps/2u/keymap.c @@ -539,10 +539,10 @@ KC_PAUS */ [_MOUSE] = LAYOUT( _______ , 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 , KC_MS_UP , XXXXXXX , KC_MS_ACCEL0 , XXXXXXX, XXXXXXX , KC_MS_WH_UP , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX, - _______ , XXXXXXX , XXXXXXX , KC_MS_LEFT , KC_MS_DOWN , KC_MS_RIGHT, KC_MS_ACCEL1 , XXXXXXX, KC_MS_WH_LEFT , KC_MS_WH_DOWN, KC_MS_WH_RIGHT, XXXXXXX , XXXXXXX , XXXXXXX, - XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , KC_MS_ACCEL2 , XXXXXXX, KC_MS_BTN1 , KC_MS_BTN2 , KC_MS_BTN3 , XXXXXXX , XXXXXXX , XXXXXXX, - TD(CTL_OSL1), OSM(MOD_LGUI), TD(ALT_OSL1), TD(TD_LayerDn) ,TD(TD_LayerUp), TD(TD_SPC_ENT) , KC_MS_BTN1 , KC_LEFT , KC_DOWN , KC_UP , KC_RIGHT, TD(TD_ESC_GRAVE) + _______ , XXXXXXX , XXXXXXX , XXXXXXX , MS_UP , XXXXXXX , MS_ACL0 , XXXXXXX, XXXXXXX , MS_WHLU , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX, + _______ , XXXXXXX , XXXXXXX , MS_LEFT , MS_DOWN , MS_RGHT , MS_ACL1 , XXXXXXX, MS_WHLL , MS_WHLD , MS_WHLR , XXXXXXX , XXXXXXX , XXXXXXX, + XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , MS_ACL2 , XXXXXXX, MS_BTN1 , MS_BTN2 , MS_BTN3 , XXXXXXX , XXXXXXX , XXXXXXX, + TD(CTL_OSL1), OSM(MOD_LGUI), TD(ALT_OSL1), TD(TD_LayerDn) ,TD(TD_LayerUp), TD(TD_SPC_ENT) , MS_BTN1 , KC_LEFT , KC_DOWN , KC_UP , KC_RIGHT, TD(TD_ESC_GRAVE) ) }; diff --git a/keyboards/handwired/ortho5x14/keymaps/default/keymap.c b/keyboards/handwired/ortho5x14/keymaps/default/keymap.c index a2f7befd9f..30e107f336 100644 --- a/keyboards/handwired/ortho5x14/keymaps/default/keymap.c +++ b/keyboards/handwired/ortho5x14/keymaps/default/keymap.c @@ -130,7 +130,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //|---------------+-----------------+-------+-------+----------+------+----+----+------+----------------+---------------+----------------+----------------+----------------| KC_PGDN ,TD(TD_SHIFT_CAPS),KC_Z ,KC_X ,KC_C ,KC_V ,KC_B,KC_N,KC_M ,TD(TD_COMM_LABK),TD(TD_DOT_RABK),TD(TD_SLSH_QUES),TD(TD_BSLS_PIPE),KC_RSFT , //|---------------+-----------------+-------+-------+----------+------+----+----+------+----------------+---------------+----------------+----------------+----------------| - KC_END , KC_LCTL ,KC_LGUI,KC_LALT, KC_L1 , KC_SPACE , KC_SPACE , KC_L2 ,KC_RALT ,KC_BTN2 ,KC_RCTL ,TD(TD_ESC_GRAVE) + KC_END , KC_LCTL ,KC_LGUI,KC_LALT, KC_L1 , KC_SPACE , KC_SPACE , KC_L2 ,KC_RALT ,MS_BTN2 ,KC_RCTL ,TD(TD_ESC_GRAVE) //`---------------+-----------------+-------+-------+----------+------+----+-----------+----------------+---------------+----------------+----------------+----------------' ), diff --git a/keyboards/handwired/ortho5x14/keymaps/split1/keymap.c b/keyboards/handwired/ortho5x14/keymaps/split1/keymap.c index a5222eecfa..be7940bcfd 100644 --- a/keyboards/handwired/ortho5x14/keymaps/split1/keymap.c +++ b/keyboards/handwired/ortho5x14/keymaps/split1/keymap.c @@ -474,9 +474,9 @@ KC_PAUS */ [_MOUSE] = LAYOUT( _______ , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , XXXXXXX, XXXXXXX, KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11, - KC_MS_ACCEL0, XXXXXXX , KC_MS_UP , XXXXXXX , XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX , KC_MS_WH_UP , XXXXXXX , XXXXXXX , KC_F12, - KC_MS_ACCEL1, KC_MS_LEFT, KC_MS_DOWN , KC_MS_RIGHT , XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MS_WH_LEFT, KC_MS_WH_DOWN, KC_MS_WH_RIGHT, XXXXXXX , XXXXXXX, - KC_MS_ACCEL2, XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MS_BTN1 , KC_MS_BTN2 , KC_MS_BTN3 , XXXXXXX , XXXXXXX, + MS_ACL0 , XXXXXXX , MS_UP , XXXXXXX , XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX , MS_WHLU , XXXXXXX , XXXXXXX , KC_F12, + MS_ACL1 , MS_LEFT , MS_DOWN , MS_RGHT , XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, MS_WHLL , MS_WHLD , MS_WHLR , XXXXXXX , XXXXXXX, + MS_ACL2 , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, MS_BTN1 , MS_BTN2 , MS_BTN3 , XXXXXXX , XXXXXXX, TD(CTL_OSL1), KC_LGUI , TD(ALT_OSL1), TD(TD_LayerDn) , KC_L2 , TD(TD_SPC_ENT) , KC_SPACE , KC_LEFT , KC_DOWN , KC_UP , KC_RIGHT, TD(TD_ESC_GRAVE) ) diff --git a/keyboards/handwired/petruziamini/keymaps/default/keymap.c b/keyboards/handwired/petruziamini/keymaps/default/keymap.c index 5265bb218e..5a49827379 100644 --- a/keyboards/handwired/petruziamini/keymaps/default/keymap.c +++ b/keyboards/handwired/petruziamini/keymaps/default/keymap.c @@ -35,8 +35,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [3] = LAYOUT( KC_NO, KC_NO, KC_NO, KC_NO, KC_MPRV, KC_MPLY, KC_MNXT, KC_VOLD, KC_MUTE, KC_VOLU, - KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_WH_U, KC_BTN1, KC_UP, KC_BTN2, - KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_WH_D, KC_LEFT, KC_DOWN, KC_RGHT, + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, MS_WHLU, MS_BTN1, KC_UP, MS_BTN2, + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, MS_WHLD, KC_LEFT, KC_DOWN, KC_RGHT, KC_NO, KC_NO, KC_NO, KC_LGUI, KC_NO, KC_NO ), [4] = LAYOUT( diff --git a/keyboards/handwired/pilcrow/keymaps/default/keymap.c b/keyboards/handwired/pilcrow/keymaps/default/keymap.c index 8882fdb3ea..f287754478 100644 --- a/keyboards/handwired/pilcrow/keymaps/default/keymap.c +++ b/keyboards/handwired/pilcrow/keymaps/default/keymap.c @@ -46,9 +46,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `-----------------------------------------------------------------------------------' */ [3] = LAYOUT( - QK_BOOT, KC_UP, _______, _______, _______, _______, _______, KC_WH_D, KC_MS_U, KC_WH_U, - KC_LEFT, KC_DOWN, KC_RGHT, AU_ON, AU_OFF, AG_NORM, AG_SWAP, KC_MS_L, KC_MS_D, KC_MS_R, + QK_BOOT, KC_UP, _______, _______, _______, _______, _______, MS_WHLD, MS_UP, MS_WHLU, + KC_LEFT, KC_DOWN, KC_RGHT, AU_ON, AU_OFF, AG_NORM, AG_SWAP, MS_LEFT, MS_DOWN, MS_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, KC_BTN1, KC_BTN2, _______, _______, _______, _______ + _______, _______, _______, _______, MS_BTN1, MS_BTN2, _______, _______, _______, _______ ) }; diff --git a/keyboards/handwired/planck/keyboard.json b/keyboards/handwired/planck/keyboard.json new file mode 100644 index 0000000000..dde4ecb9e6 --- /dev/null +++ b/keyboards/handwired/planck/keyboard.json @@ -0,0 +1,77 @@ +{ + "manufacturer": "OLKB", + "keyboard_name": "Planck", + "maintainer": "Wholteza ", + "bootloader": "halfkay", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "matrix_pins": { + "cols": ["C7", "D6", "D7", "B4", "B5", "B6", "F7", "F6", "F5", "F4", "F1", "F0"], + "rows": ["E6", "B3", "B7", "D0"] + }, + "processor": "atmega32u4", + "url": "https://blog.roastpotatoes.co/guide/2015/11/04/how-to-handwire-a-planck/", + "usb": { + "device_version": "1.0.0", + "pid": "0x0053", + "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}, + {"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, 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/handwired/planck/keymaps/default/keymap.c b/keyboards/handwired/planck/keymaps/default/keymap.c new file mode 100644 index 0000000000..3783d37f95 --- /dev/null +++ b/keyboards/handwired/planck/keymaps/default/keymap.c @@ -0,0 +1,43 @@ +/* Copyright 2025 Zackarias Montel (@Wholteza) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more 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, + _NUM, + _SYM +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_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_BSPC, + KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT , + MO(3), KC_LCTL, KC_LALT, KC_LGUI, MO(1), KC_SPC, MO(2), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT + ), + [_NUM] = 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_TRNS, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY + ), + [_SYM] = 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_TRNS, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, S(KC_NUHS), S(KC_NUBS), KC_HOME, KC_END, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MNXT, KC_VOLD, KC_VOLU, QK_BOOT + ) +}; diff --git a/keyboards/handwired/planck/readme.md b/keyboards/handwired/planck/readme.md new file mode 100644 index 0000000000..3bdbf87270 --- /dev/null +++ b/keyboards/handwired/planck/readme.md @@ -0,0 +1,27 @@ +# Plank Handwired + +![plank handwired](https://i.imgur.com/khseWs7.jpeg) + +A compact 40% (12x4) ortholinear keyboard kit sold by OLKB before the PCB was released. + +Keyboard Maintainer: [Wholteza](https://github.com/wholteza) +Hardware Supported: [Teensy 2.0](https://www.pjrc.com/store/teensy.html) +Hardware Availability: [PJRC](https://www.pjrc.com/store/teensy.html) + +Make example for this keyboard (after setting up your build environment): + + make handwired/planck:default + +Flashing example for this keyboard: + + make handwired/planck: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 left key closest to the USB Port) 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/promethium/config.h b/keyboards/handwired/promethium/config.h index 974a4f951f..c63d3eaead 100644 --- a/keyboards/handwired/promethium/config.h +++ b/keyboards/handwired/promethium/config.h @@ -64,8 +64,6 @@ along with this program. If not, see . #define PS2_MOUSE_INIT_DELAY 2000 -#define BATTERY_PIN B5 - #ifndef __ASSEMBLER__ // assembler doesn't like enum in .h file enum led_sequence { LED_IND_LINUX, diff --git a/keyboards/handwired/promethium/keyboard.json b/keyboards/handwired/promethium/keyboard.json index fa72908039..2e47bd186a 100644 --- a/keyboards/handwired/promethium/keyboard.json +++ b/keyboards/handwired/promethium/keyboard.json @@ -10,6 +10,12 @@ "ws2812": { "pin": "B5" }, + "battery": { + "driver": "adc", + "adc": { + "pin": "B5" + } + }, "bluetooth": { "driver": "bluefruit_le" }, @@ -22,6 +28,7 @@ "nkro": true, "ps2_mouse": true, "ps2": true, + "battery": true, "bluetooth": true }, "build": { diff --git a/keyboards/handwired/promethium/rules.mk b/keyboards/handwired/promethium/rules.mk index 4012f8ca29..ecadca399c 100644 --- a/keyboards/handwired/promethium/rules.mk +++ b/keyboards/handwired/promethium/rules.mk @@ -5,7 +5,6 @@ PS2_DRIVER = interrupt CUSTOM_MATRIX = yes WS2812_DRIVER_REQUIRED = yes -BATTERY_DRIVER_REQUIRED = yes SRC += rgbsps.c SRC += matrix.c diff --git a/keyboards/handwired/pterodactyl/keymaps/default/keymap.c b/keyboards/handwired/pterodactyl/keymaps/default/keymap.c index c53f6841ce..a8204aa1bf 100644 --- a/keyboards/handwired/pterodactyl/keymaps/default/keymap.c +++ b/keyboards/handwired/pterodactyl/keymaps/default/keymap.c @@ -101,10 +101,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // MEDIA AND MOUSE [_MDIA] = 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_MS_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_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, + KC_TRNS, KC_TRNS, KC_TRNS, MS_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, MS_LEFT, MS_DOWN, MS_RGHT, 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_MPRV, KC_MNXT, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_BTN1, KC_BTN2, KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, MS_BTN1, MS_BTN2, KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_WBAK diff --git a/keyboards/handwired/pytest/basic/keymaps/default/keymap.c b/keyboards/handwired/pytest/basic/keymaps/default/keymap.c index a5782f7a13..264de943c9 100644 --- a/keyboards/handwired/pytest/basic/keymaps/default/keymap.c +++ b/keyboards/handwired/pytest/basic/keymaps/default/keymap.c @@ -1,3 +1,5 @@ +// Copyright 2025 QMK +// SPDX-License-Identifier: GPL-2.0-or-later #include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { diff --git a/keyboards/handwired/pytest/has_community/keymaps/default/keymap.c b/keyboards/handwired/pytest/has_community/keymaps/default/keymap.c new file mode 100644 index 0000000000..264de943c9 --- /dev/null +++ b/keyboards/handwired/pytest/has_community/keymaps/default/keymap.c @@ -0,0 +1,7 @@ +// Copyright 2025 QMK +// SPDX-License-Identifier: GPL-2.0-or-later +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + LAYOUT_ortho_1x1(KC_A) +}; diff --git a/keyboards/handwired/retro_refit/keyboard.json b/keyboards/handwired/retro_refit/keyboard.json index 73e747fffa..cc1904cb0c 100644 --- a/keyboards/handwired/retro_refit/keyboard.json +++ b/keyboards/handwired/retro_refit/keyboard.json @@ -5,8 +5,12 @@ "usb": { "vid": "0xFEED", "pid": "0x6060", - "device_version": "0.0.1", - "force_nkro": true + "device_version": "0.0.1" + }, + "host": { + "default": { + "nkro": true + } }, "features": { "bootmagic": true, diff --git a/keyboards/handwired/riblee_f401/keymaps/default/keymap.c b/keyboards/handwired/riblee_f401/keymaps/default/keymap.c index 7c8bd5b8b4..bdb3180152 100644 --- a/keyboards/handwired/riblee_f401/keymaps/default/keymap.c +++ b/keyboards/handwired/riblee_f401/keymaps/default/keymap.c @@ -120,7 +120,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_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_BTN1, KC_BTN2, _______, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R + _______, _______, _______, _______, _______, MS_BTN1, MS_BTN2, _______, MS_LEFT, MS_DOWN, MS_UP, MS_RGHT ), /* Raise diff --git a/keyboards/handwired/riblee_f411/keymaps/default/keymap.c b/keyboards/handwired/riblee_f411/keymaps/default/keymap.c index 15c706089d..98268da221 100644 --- a/keyboards/handwired/riblee_f411/keymaps/default/keymap.c +++ b/keyboards/handwired/riblee_f411/keymaps/default/keymap.c @@ -120,7 +120,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_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_BTN1, KC_BTN2, _______, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R + _______, _______, _______, _______, _______, MS_BTN1, MS_BTN2, _______, MS_LEFT, MS_DOWN, MS_UP, MS_RGHT ), /* Raise diff --git a/keyboards/handwired/scottokeebs/scottomouse/keymaps/default/keymap.c b/keyboards/handwired/scottokeebs/scottomouse/keymaps/default/keymap.c index 6cc4d90144..967526afa6 100644 --- a/keyboards/handwired/scottokeebs/scottomouse/keymaps/default/keymap.c +++ b/keyboards/handwired/scottokeebs/scottomouse/keymaps/default/keymap.c @@ -19,6 +19,6 @@ along with this program. If not, see . 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 + MS_BTN1, MS_BTN2, MS_LEFT, MS_UP, MS_DOWN, MS_RGHT ) }; \ No newline at end of file diff --git a/keyboards/handwired/sick68/keymaps/default/keymap.c b/keyboards/handwired/sick68/keymaps/default/keymap.c index 121fc3956e..faa2a67d46 100644 --- a/keyboards/handwired/sick68/keymaps/default/keymap.c +++ b/keyboards/handwired/sick68/keymaps/default/keymap.c @@ -60,7 +60,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, KC_F1, 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_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_END, - _______, _______, _______, BL_DOWN, BL_TOGG, BL_UP, _______, KC_VOLD, KC_VOLU, KC_MUTE, _______, KC_BTN1, KC_MS_U, KC_BTN2, - _______, _______, _______, _______, _______, _______, _______, KC_MS_L, KC_MS_D, KC_MS_R + _______, _______, _______, BL_DOWN, BL_TOGG, BL_UP, _______, KC_VOLD, KC_VOLU, KC_MUTE, _______, MS_BTN1, MS_UP, MS_BTN2, + _______, _______, _______, _______, _______, _______, _______, MS_LEFT, MS_DOWN, MS_RGHT ), }; diff --git a/keyboards/handwired/snatchpad/keymaps/default/keymap.c b/keyboards/handwired/snatchpad/keymaps/default/keymap.c index db8305129d..923b0d29f1 100644 --- a/keyboards/handwired/snatchpad/keymaps/default/keymap.c +++ b/keyboards/handwired/snatchpad/keymaps/default/keymap.c @@ -12,7 +12,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT( QK_LOCK, KC_UP , _______, KC_LEFT, KC_DOWN, KC_RGHT, - KC_BTN1, KC_BTN2 + MS_BTN1, MS_BTN2 ), [2] = LAYOUT( _______, _______, _______, diff --git a/keyboards/handwired/snatchpad/snatchpad.c b/keyboards/handwired/snatchpad/snatchpad.c index 89d32c036b..cedc0357a5 100644 --- a/keyboards/handwired/snatchpad/snatchpad.c +++ b/keyboards/handwired/snatchpad/snatchpad.c @@ -29,9 +29,9 @@ bool encoder_update_kb(uint8_t index, bool clockwise) { break; default: if (clockwise) { - tap_code(KC_MS_L); + tap_code(MS_LEFT); } else { - tap_code(KC_MS_R); + tap_code(MS_RGHT); } break; } @@ -54,9 +54,9 @@ bool encoder_update_kb(uint8_t index, bool clockwise) { break; default: if (clockwise) { - tap_code(KC_MS_D); + tap_code(MS_DOWN); } else { - tap_code(KC_MS_U); + tap_code(MS_UP); } break; } diff --git a/keyboards/handwired/sono1/keymaps/default/keymap.c b/keyboards/handwired/sono1/keymaps/default/keymap.c index cd9f9bcdb6..e12a1c44d0 100644 --- a/keyboards/handwired/sono1/keymaps/default/keymap.c +++ b/keyboards/handwired/sono1/keymaps/default/keymap.c @@ -100,8 +100,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_MUS] = LAYOUT( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, KC_WH_U, KC_BTN1, KC_MS_U, KC_BTN2, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, KC_WH_D, KC_MS_L, KC_MS_D, KC_MS_R, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, MS_WHLU, MS_BTN1, MS_UP, MS_BTN2, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, MS_WHLD, MS_LEFT, MS_DOWN, MS_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/handwired/space_oddity/keymaps/default/keymap.c b/keyboards/handwired/space_oddity/keymaps/default/keymap.c index c278953f46..d41eb871e4 100644 --- a/keyboards/handwired/space_oddity/keymaps/default/keymap.c +++ b/keyboards/handwired/space_oddity/keymaps/default/keymap.c @@ -72,7 +72,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_MINS, 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, TD(SFT_CAPS), KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SFT_T(KC_ENT), - MO(2), MO(1), KC_LGUI, KC_RALT, KC_LCTL, KC_SPC, ALT_T(KC_LEFT), ALL_T(KC_RGHT), LT(1, KC_UP), LT(2, KC_DOWN) + MO(2), MO(1), KC_LGUI, KC_RALT, KC_LCTL, KC_SPC, ALT_T(KC_LEFT), HYPR_T(KC_RGHT), LT(1, KC_UP), LT(2, KC_DOWN) ), /* Function layer. @@ -135,8 +135,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [2] = LAYOUT( _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, KC_MS_U, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, KC_MS_L, KC_MS_D, KC_MS_R, _______, _______, KC_BTN1, KC_BTN3, KC_BTN2, _______, _______, + _______, _______, _______, MS_UP, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, MS_LEFT, MS_DOWN, MS_RGHT, _______, _______, MS_BTN1, MS_BTN3, MS_BTN2, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, TG(2) diff --git a/keyboards/handwired/split65/promicro/config.h b/keyboards/handwired/split65/promicro/config.h index f5c5ee3be2..e6a8650b9b 100644 --- a/keyboards/handwired/split65/promicro/config.h +++ b/keyboards/handwired/split65/promicro/config.h @@ -15,8 +15,6 @@ */ #pragma once -#define SELECT_SOFT_SERIAL_SPEED 1 - // Feature diable options //#define NO_DEBUG //#define NO_PRINT diff --git a/keyboards/handwired/split65/stm32/config.h b/keyboards/handwired/split65/stm32/config.h index 3d48891e7e..bf84e29fba 100644 --- a/keyboards/handwired/split65/stm32/config.h +++ b/keyboards/handwired/split65/stm32/config.h @@ -21,7 +21,6 @@ #define AUDIO_PIN_ALT A4 #define AUDIO_PIN_ALT_AS_NEGATIVE -#define SELECT_SOFT_SERIAL_SPEED 1 #define SERIAL_USART_DRIVER SD1 #define SERIAL_USART_TX_PAL_MODE 7 #define SERIAL_USART_TIMEOUT 100 diff --git a/keyboards/handwired/split_cloud/keyboard.json b/keyboards/handwired/split_cloud/keyboard.json index fc1d2498df..b1e716ecde 100644 --- a/keyboards/handwired/split_cloud/keyboard.json +++ b/keyboards/handwired/split_cloud/keyboard.json @@ -6,8 +6,12 @@ "usb": { "vid": "0xCC43", "pid": "0x0001", - "device_version": "0.0.1", - "force_nkro": true + "device_version": "0.0.1" + }, + "host": { + "default": { + "nkro": true + } }, "diode_direction": "ROW2COL", "matrix_pins": { diff --git a/keyboards/handwired/swiftrax/bebol/keyboard.json b/keyboards/handwired/swiftrax/bebol/keyboard.json index 0a665a0ae7..ad3af9176d 100644 --- a/keyboards/handwired/swiftrax/bebol/keyboard.json +++ b/keyboards/handwired/swiftrax/bebol/keyboard.json @@ -251,7 +251,7 @@ {"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, 10], "x": 10, "y": 4, "w": 1.5}, - {"label": "Ctrl", "matrix": [4, 12], "x": 12, "y": 4, "w": 1.5}, + {"label": "Ctrl", "matrix": [4, 12], "x": 11.5, "y": 4, "w": 1.5}, {"label": "\u2190", "matrix": [4, 13], "x": 13, "y": 4}, {"label": "\u2193", "matrix": [4, 14], "x": 14, "y": 4}, {"label": "\u2192", "matrix": [4, 15], "x": 15, "y": 4} @@ -327,7 +327,7 @@ {"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, 10], "x": 10, "y": 4, "w": 1.5}, - {"label": "Ctrl", "matrix": [4, 12], "x": 12, "y": 4, "w": 1.5}, + {"label": "Ctrl", "matrix": [4, 12], "x": 11.5, "y": 4, "w": 1.5}, {"label": "\u2190", "matrix": [4, 13], "x": 13, "y": 4}, {"label": "\u2193", "matrix": [4, 14], "x": 14, "y": 4}, {"label": "\u2192", "matrix": [4, 15], "x": 15, "y": 4} diff --git a/keyboards/handwired/t111/keymaps/oleg/keymap.c b/keyboards/handwired/t111/keymaps/oleg/keymap.c index b372de027b..2a75376ff2 100644 --- a/keyboards/handwired/t111/keymaps/oleg/keymap.c +++ b/keyboards/handwired/t111/keymaps/oleg/keymap.c @@ -118,9 +118,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT( VRSN, KC_SLEP, _______, UC_NEXT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, 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, _______, _______, _______, _______, _______, _______, _______, + _______, MS_BTN1, MS_UP, MS_BTN2, MS_BTN3, _______, _______, _______, KC_SYRQ, KC_SCRL, KC_PAUS, UP(ULSB, ULCB), UP(URSB, URCB), _______, _______, _______, _______, _______, _______, _______, + _______, MS_LEFT, MS_DOWN, MS_RGHT, MS_BTN5, _______, _______, _______, _______, _______, UP(USCO, UCLN), UP(UAPO, UQOT), _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, MS_BTN4, _______, _______, _______, _______, UP(UCOM, ULTH), UP(UDOT, UGTH), UP(USLS, UQUE), KC_APP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ) }; diff --git a/keyboards/handwired/terminus_mini/keymaps/default/keymap.c b/keyboards/handwired/terminus_mini/keymaps/default/keymap.c index 8659b49544..90fdf8796d 100644 --- a/keyboards/handwired/terminus_mini/keymaps/default/keymap.c +++ b/keyboards/handwired/terminus_mini/keymaps/default/keymap.c @@ -175,10 +175,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [_MOUSE] = LAYOUT( - KC_ESC, KC_WH_U, KC_WH_L, KC_MS_U, KC_WH_R, XXXXXXX, XXXXXXX, KC_BTN3, KC_BTN4, KC_BTN5, XXXXXXX, XXXXXXX, - KC_BSPC, KC_WH_D, KC_MS_L, KC_MS_D, KC_MS_R, XXXXXXX, XXXXXXX, KC_BTN1, KC_BTN2, XXXXXXX, XXXXXXX, XXXXXXX, + KC_ESC, MS_WHLU, MS_WHLL, MS_UP, MS_WHLR, XXXXXXX, XXXXXXX, MS_BTN3, MS_BTN4, MS_BTN5, XXXXXXX, XXXXXXX, + KC_BSPC, MS_WHLD, MS_LEFT, MS_DOWN, MS_RGHT, XXXXXXX, XXXXXXX, MS_BTN1, MS_BTN2, XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, SC_RSPC, - _______, XXXXXXX, XXXXXXX, XXXXXXX, KC_ACL2, KC_ACL0, XXXXXXX, MO(6), XXXXXXX, KC_RCTL + _______, XXXXXXX, XXXXXXX, XXXXXXX, MS_ACL2, MS_ACL0, XXXXXXX, MO(6), XXXXXXX, KC_RCTL ), /* Adjust (Lower + Raise) diff --git a/keyboards/handwired/tkk/keymaps/default/keymap.c b/keyboards/handwired/tkk/keymaps/default/keymap.c index 220daab627..94c1c771fe 100644 --- a/keyboards/handwired/tkk/keymaps/default/keymap.c +++ b/keyboards/handwired/tkk/keymaps/default/keymap.c @@ -45,7 +45,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_PGDN, KC_PGUP, KC_HOME, KC_END, KC_NO, KC_6, KC_7, KC_8, KC_9, KC_0 ), [11] = LAYOUT( - KC_WH_D, KC_WH_U, KC_WH_L, KC_WH_R, KC_BTN2, KC_BTN1, KC_MS_L, KC_MS_R, KC_MS_U, KC_MS_D + MS_WHLD, MS_WHLU, MS_WHLL, MS_WHLR, MS_BTN2, MS_BTN1, MS_LEFT, MS_RGHT, MS_UP, MS_DOWN ) }; diff --git a/keyboards/handwired/trackpoint/keymaps/default/keymap.c b/keyboards/handwired/trackpoint/keymaps/default/keymap.c index 1792cb4271..f23c9b7608 100644 --- a/keyboards/handwired/trackpoint/keymaps/default/keymap.c +++ b/keyboards/handwired/trackpoint/keymaps/default/keymap.c @@ -2,6 +2,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [0] = LAYOUT( - KC_BTN1, KC_BTN3, KC_BTN2 + MS_BTN1, MS_BTN3, MS_BTN2 ) }; diff --git a/keyboards/handwired/traveller/keymaps/default/keymap.c b/keyboards/handwired/traveller/keymaps/default/keymap.c index 86ffee985d..fe571c4a53 100644 --- a/keyboards/handwired/traveller/keymaps/default/keymap.c +++ b/keyboards/handwired/traveller/keymaps/default/keymap.c @@ -90,10 +90,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `-------------------------------------------------------------------------------------------------' */ [_NAV] = LAYOUT( - TG(_NAV), XXXXXXX, XXXXXXX, KC_UP, XXXXXXX, RGUI(KC_RGHT), KC_WH_U, M_MUL, KC_MS_U, M_MUR, XXXXXXX, KC_ACL2, - _______, RGUI(KC_LEFT), KC_LEFT, KC_DOWN, KC_RGHT, LCTL(KC_E), KC_BTN3, KC_MS_L, KC_MS_U, KC_MS_R, XXXXXXX, KC_ACL1, - _______, LCTL(KC_A), LGUI(KC_X), RGUI(KC_C), RGUI(KC_V), XXXXXXX, KC_WH_D, M_MDL, KC_MS_D, M_MDR, KC_UP, KC_ACL0, - _______, RGUI(KC_Z), _______, _______, _______, _______, KC_ENT, KC_BTN2, KC_BTN1, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT + TG(_NAV), XXXXXXX, XXXXXXX, KC_UP, XXXXXXX, RGUI(KC_RGHT), MS_WHLU, M_MUL, MS_UP, M_MUR, XXXXXXX, MS_ACL2, + _______, RGUI(KC_LEFT), KC_LEFT, KC_DOWN, KC_RGHT, LCTL(KC_E), MS_BTN3, MS_LEFT, MS_UP, MS_RGHT, XXXXXXX, MS_ACL1, + _______, LCTL(KC_A), LGUI(KC_X), RGUI(KC_C), RGUI(KC_V), XXXXXXX, MS_WHLD, M_MDL, MS_DOWN, M_MDR, KC_UP, MS_ACL0, + _______, RGUI(KC_Z), _______, _______, _______, _______, KC_ENT, MS_BTN2, MS_BTN1, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT ), /* FKEYS - Funtion keys & mac stuff @@ -138,41 +138,41 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { // from algernon's ErgoDox EZ layout, case M_MUL: if (record->event.pressed) { - mousekey_on(KC_MS_UP); - mousekey_on(KC_MS_LEFT); + mousekey_on(MS_UP); + mousekey_on(MS_LEFT); } else { - mousekey_off(KC_MS_UP); - mousekey_off(KC_MS_LEFT); + mousekey_off(MS_UP); + mousekey_off(MS_LEFT); } mousekey_send(); return false; case M_MUR: if (record->event.pressed) { - mousekey_on(KC_MS_UP); - mousekey_on(KC_MS_RIGHT); + mousekey_on(MS_UP); + mousekey_on(MS_RGHT); } else { - mousekey_off(KC_MS_UP); - mousekey_off(KC_MS_RIGHT); + mousekey_off(MS_UP); + mousekey_off(MS_RGHT); } mousekey_send(); return false; case M_MDL: if (record->event.pressed) { - mousekey_on(KC_MS_DOWN); - mousekey_on(KC_MS_LEFT); + mousekey_on(MS_DOWN); + mousekey_on(MS_LEFT); } else { - mousekey_off(KC_MS_DOWN); - mousekey_off(KC_MS_LEFT); + mousekey_off(MS_DOWN); + mousekey_off(MS_LEFT); } mousekey_send(); return false; case M_MDR: if (record->event.pressed) { - mousekey_on(KC_MS_DOWN); - mousekey_on(KC_MS_RIGHT); + mousekey_on(MS_DOWN); + mousekey_on(MS_RGHT); } else { - mousekey_off(KC_MS_DOWN); - mousekey_off(KC_MS_RIGHT); + mousekey_off(MS_DOWN); + mousekey_off(MS_RGHT); } mousekey_send(); return false; diff --git a/keyboards/handwired/tsubasa/keymaps/default/keymap.c b/keyboards/handwired/tsubasa/keymaps/default/keymap.c index 96b66d2a3f..6d641a2b52 100644 --- a/keyboards/handwired/tsubasa/keymaps/default/keymap.c +++ b/keyboards/handwired/tsubasa/keymaps/default/keymap.c @@ -32,8 +32,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_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, - _______, XXXXXXX, KC_BTN1, KC_MS_U, KC_BTN2, UG_TOGG, KC_PGUP, XXXXXXX, KC_UP, XXXXXXX, KC_PSCR, XXXXXXX, XXXXXXX, - _______, XXXXXXX, KC_MS_L, KC_MS_D, KC_MS_R, UG_NEXT, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, XXXXXXX, XXXXXXX, + _______, XXXXXXX, MS_BTN1, MS_UP, MS_BTN2, UG_TOGG, KC_PGUP, XXXXXXX, KC_UP, XXXXXXX, KC_PSCR, XXXXXXX, XXXXXXX, + _______, XXXXXXX, MS_LEFT, MS_DOWN, MS_RGHT, UG_NEXT, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, UG_VALU, UG_HUEU, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, _______, _______, _______, KC_DEL, _______, _______, _______, _______ ) @@ -42,8 +42,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { #ifdef ENCODER_MAP_ENABLE const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { - [_BASE] = { ENCODER_CCW_CW(KC_MS_WH_UP, KC_MS_WH_DOWN) }, - [_FN] = { ENCODER_CCW_CW( KC_VOLU, KC_VOLD)} + [_BASE] = { ENCODER_CCW_CW(MS_WHLU, MS_WHLD) }, + [_FN] = { ENCODER_CCW_CW(KC_VOLU, KC_VOLD)} }; #endif diff --git a/keyboards/handwired/twadlee/tp69/keymaps/default/keymap.c b/keyboards/handwired/twadlee/tp69/keymaps/default/keymap.c index f250c3fc62..63bd0697fa 100644 --- a/keyboards/handwired/twadlee/tp69/keymaps/default/keymap.c +++ b/keyboards/handwired/twadlee/tp69/keymaps/default/keymap.c @@ -23,6 +23,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LALT, 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_LCTL, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, - KC_LCTL, KC_LGUI, KC_LALT, KC_BSPC, KC_MS_BTN1, KC_MS_BTN3, KC_MS_BTN2, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL + KC_LCTL, KC_LGUI, KC_LALT, KC_BSPC, MS_BTN1, MS_BTN3, MS_BTN2, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL ) }; diff --git a/keyboards/handwired/twig/twig50/keyboard.json b/keyboards/handwired/twig/twig50/keyboard.json index 836caf3ebc..6fc90a97c1 100644 --- a/keyboards/handwired/twig/twig50/keyboard.json +++ b/keyboards/handwired/twig/twig50/keyboard.json @@ -5,8 +5,12 @@ "usb": { "vid": "0xFEED", "pid": "0x6060", - "device_version": "0.2.1", - "force_nkro": true + "device_version": "0.2.1" + }, + "host": { + "default": { + "nkro": true + } }, "tapping": { "term": 150 diff --git a/keyboards/handwired/twig/twig50/keymaps/default/keymap.c b/keyboards/handwired/twig/twig50/keymaps/default/keymap.c index 954c8e5637..25af2b6caa 100644 --- a/keyboards/handwired/twig/twig50/keymaps/default/keymap.c +++ b/keyboards/handwired/twig/twig50/keymaps/default/keymap.c @@ -42,12 +42,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_BSPC, KC_LCTL, KC_A, KC_S, KC_D, LT2_F, KC_G, KC_H, KC_J, KC_K, KC_L, RSF_SCL, LT3_QOT, KC_ENT, KC_LSFT, TG4, KC_Z, KC_X, KC_C, LT3_V, KC_B, LT2_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, - KC_BTN1, KC_BTN2, KC_LALT, LGU_NCV, LT1_SPC, RCT_ESC, RGU_ENT, RAL_CNV, KC_INT1, KC_DEL, MU_TOGG + MS_BTN1, MS_BTN2, KC_LALT, LGU_NCV, LT1_SPC, RCT_ESC, RGU_ENT, RAL_CNV, KC_INT1, KC_DEL, MU_TOGG ), // Layer 1, Space-modifiers: Basic keys LAYOUT_diag_4x14( - QK_BOOT, KC_EXEC, KC_HELP, KC_MENU, KC_SLCT, KC_STOP, KC_BTN2, KC_INT1, KC_MINS, KC_EQL, KC_INT3, SFT_LBR, KC_TRNS, + QK_BOOT, KC_EXEC, KC_HELP, KC_MENU, KC_SLCT, KC_STOP, MS_BTN2, KC_INT1, KC_MINS, KC_EQL, KC_INT3, SFT_LBR, KC_TRNS, KC_TRNS, KC_AGIN, KC_FIND, KC_PGUP, KC_PGDN, KC_F19, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_ENT, SFT_7, SFT_2, KC_TRNS, KC_TRNS, KC_UNDO, KC_CUT, KC_COPY, KC_PSTE, KC_APP, KC_BSPC, KC_DEL, KC_RBRC, KC_BSLS, KC_HOME, KC_END, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RCT_IN7, RGU_IN8, KC_TRNS, KC_INT2, KC_INT4, MU_NEXT @@ -64,9 +64,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // Layer 3, V,:-modifiers: Functions and mouse keys LAYOUT_diag_4x14( KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, - KC_MPLY, KC_MRWD, KC_MFFD, KC_MUTE, KC_VOLD, KC_VOLU, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, KC_BTN3, KC_TRNS, KC_TRNS, + KC_MPLY, KC_MRWD, KC_MFFD, KC_MUTE, KC_VOLD, KC_VOLU, MS_LEFT, MS_DOWN, MS_UP, MS_RGHT, MS_BTN3, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24, KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, - KC_TRNS, KC_TRNS, KC_TRNS, KC_BTN2, KC_BTN1, KC_WH_D, KC_WH_U, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + KC_TRNS, KC_TRNS, KC_TRNS, MS_BTN2, MS_BTN1, MS_WHLD, MS_WHLU, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ), // Layer 4, Toggles: One handed mode diff --git a/keyboards/handwired/videowriter/keymaps/default/keymap.c b/keyboards/handwired/videowriter/keymaps/default/keymap.c index d1c9e26655..09cc4f6bac 100644 --- a/keyboards/handwired/videowriter/keymaps/default/keymap.c +++ b/keyboards/handwired/videowriter/keymaps/default/keymap.c @@ -65,8 +65,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_FN1] = 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_HOME, - _______, KC_WH_U, KC_BTN1, KC_MS_U, KC_BTN2, _______, _______, _______, _______, _______, _______, _______, _______, KC_END, - _______, KC_WH_D, KC_MS_L, KC_MS_D, KC_MS_R, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______, _______, _______, + _______, MS_WHLU, MS_BTN1, MS_UP, MS_BTN2, _______, _______, _______, _______, _______, _______, _______, _______, KC_END, + _______, MS_WHLD, MS_LEFT, MS_DOWN, MS_RGHT, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ) diff --git a/keyboards/handwired/videowriter/keymaps/oleg/keymap.c b/keyboards/handwired/videowriter/keymaps/oleg/keymap.c index e9adc11ad7..b30ac967ea 100644 --- a/keyboards/handwired/videowriter/keymaps/oleg/keymap.c +++ b/keyboards/handwired/videowriter/keymaps/oleg/keymap.c @@ -70,8 +70,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_FN1] = LAYOUT( _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, KC_PAUS, KC_HOME, KC_PGDN, KC_PGUP, 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_DEL, _______, - _______, KC_BTN1, KC_MS_U, KC_BTN2, KC_WH_U ,_______, _______, _______, KC_UP, _______, _______, _______, _______, KC_RCTL, - _______, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_D, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, + _______, MS_BTN1, MS_UP, MS_BTN2, MS_WHLU ,_______, _______, _______, KC_UP, _______, _______, _______, _______, KC_RCTL, + _______, MS_LEFT, MS_DOWN, MS_RGHT, MS_WHLD, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ) diff --git a/keyboards/handwired/wulkan/keyboard.json b/keyboards/handwired/wulkan/keyboard.json index c804409b7d..c79b71ce49 100644 --- a/keyboards/handwired/wulkan/keyboard.json +++ b/keyboards/handwired/wulkan/keyboard.json @@ -5,8 +5,12 @@ "usb": { "vid": "0xFEED", "pid": "0x6060", - "device_version": "0.0.1", - "force_nkro": true + "device_version": "0.0.1" + }, + "host": { + "default": { + "nkro": true + } }, "matrix_pins": { "cols": ["B13", "B14", "B15", "B9", "B7", "B6", "B5", "B4", "B3", "B2", "B1", "B0"], diff --git a/keyboards/handwired/wulkan/keymaps/default/keymap.c b/keyboards/handwired/wulkan/keymaps/default/keymap.c index e38c0322c9..a065a94acf 100644 --- a/keyboards/handwired/wulkan/keymaps/default/keymap.c +++ b/keyboards/handwired/wulkan/keymaps/default/keymap.c @@ -95,9 +95,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `-----------------------------------------------------------------------------------' */ [_ADJUST] = LAYOUT_ortho_4x12( - _______, 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, _______, _______, _______, + _______, QK_BOOT, _______, _______, MS_WHLU, _______, _______, MS_UP, _______, _______, UP(SE_ARNG_LOW, SE_ARNG_HIGH), KC_DEL, + _______, _______, _______, _______, MS_WHLD, _______, MS_LEFT, MS_DOWN, MS_RGHT, UP(SE_ODIA_LOW, SE_ODIA_HIGH), UP(SE_ADIA_LOW, SE_ADIA_HIGH), _______, + _______, MS_ACL0, MS_ACL1, MS_ACL2, _______, _______, MS_BTN1, _______, MS_BTN2, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ) }; diff --git a/keyboards/handwired/wwa/soyuz/keyboard.json b/keyboards/handwired/wwa/soyuz/keyboard.json index 4b3a015a35..b922af10a2 100644 --- a/keyboards/handwired/wwa/soyuz/keyboard.json +++ b/keyboards/handwired/wwa/soyuz/keyboard.json @@ -8,7 +8,8 @@ "bootmagic": true, "extrakey": true, "mousekey": true, - "nkro": true + "nkro": true, + "encoder" : true }, "matrix_pins": { "cols": ["GP0", "GP1", "GP2", "GP3", "GP4", "GP5", "GP6"], @@ -20,6 +21,13 @@ "pid": "0x0004", "vid": "0x5757" }, + "encoder": { + "rotary": [ + {"pin_a": "GP16", "pin_b": "GP17"}, + {"pin_a": "GP18", "pin_b": "GP19"}, + {"pin_a": "GP20", "pin_b": "GP21"} + ] + }, "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/handwired/wwa/soyuz/keymaps/default/keymap.c b/keyboards/handwired/wwa/soyuz/keymaps/default/keymap.c index af0eb592dc..c1d75ffc54 100644 --- a/keyboards/handwired/wwa/soyuz/keymaps/default/keymap.c +++ b/keyboards/handwired/wwa/soyuz/keymaps/default/keymap.c @@ -3,11 +3,17 @@ #include QMK_KEYBOARD_H - const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [0] = LAYOUT( 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 ) -}; \ No newline at end of file +}; + + +#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) }, +}; +#endif diff --git a/keyboards/handwired/wwa/soyuz/keymaps/default/rules.mk b/keyboards/handwired/wwa/soyuz/keymaps/default/rules.mk new file mode 100644 index 0000000000..ee32568148 --- /dev/null +++ b/keyboards/handwired/wwa/soyuz/keymaps/default/rules.mk @@ -0,0 +1 @@ +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/handwired/wwa/soyuz/readme.md b/keyboards/handwired/wwa/soyuz/readme.md index 69f8ef9d76..01a3b60dfe 100644 --- a/keyboards/handwired/wwa/soyuz/readme.md +++ b/keyboards/handwired/wwa/soyuz/readme.md @@ -2,7 +2,7 @@ ![soyuz](https://i.imgur.com/KwwORGSh.jpeg) -21 Key and 3 MIDI Potentiometers Macro Keyboard +21 Key, 3 Encoder * Keyboard Maintainer: [spacehangover](https://github.com/spacehangover) * Hardware Supported: RP2040 Handwired diff --git a/keyboards/handwired/xealous/rev1/keyboard.json b/keyboards/handwired/xealous/rev1/keyboard.json index 55e99eeb54..ac7b27208f 100644 --- a/keyboards/handwired/xealous/rev1/keyboard.json +++ b/keyboards/handwired/xealous/rev1/keyboard.json @@ -5,8 +5,12 @@ "usb": { "vid": "0x4131", "pid": "0x5141", - "device_version": "0.0.1", - "force_nkro": true + "device_version": "0.0.1" + }, + "host": { + "default": { + "nkro": true + } }, "build": { "debounce_type": "sym_eager_pk" diff --git a/keyboards/hardwareabstraction/handwire/handwire.c b/keyboards/hardwareabstraction/handwire/handwire.c index b31c0a7091..758cfd8885 100644 --- a/keyboards/hardwareabstraction/handwire/handwire.c +++ b/keyboards/hardwareabstraction/handwire/handwire.c @@ -132,7 +132,7 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) { // Variables for display layer and haptic status on OLED static uint8_t layer = 0; -haptic_config_t haptic_config; +extern haptic_config_t haptic_config; // Variables for frames, timer, and sleep uint32_t anim_timer = 0; diff --git a/keyboards/haverworks/theseus75/config.h b/keyboards/haverworks/theseus75/config.h new file mode 100644 index 0000000000..7627837e76 --- /dev/null +++ b/keyboards/haverworks/theseus75/config.h @@ -0,0 +1,33 @@ +// Copyright 2023 Moritz Plattner (@ebastler), Alex Havermale (@haversnail) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +/* Defines for configuring the serial driver for split comms (see https://docs.qmk.fm/drivers/serial) */ +#define SERIAL_USART_DRIVER SD3 // USART 3 + +/* Defines for required pins */ +#define ID_PIN A13 +#define USBSW_PIN A14 // Switches the hub input/output with the MUXes +#define PSW_PIN A15 // Turns the power routing to the USB-C port on/off +#define BUS_B_PIN C13 // Tells the hub to be bus-powered or self-powered (which in turn tells the clients to use 100 mA or 500 mA) +#define USB_VBUS_PIN C15 // Only the master side will have VBUS present at power-up (used to determine master/slave) +#define USBPD_1_PIN F0 +#define USBPD_2_PIN F1 + +/* Additional defines for managing power and state scross split */ +#define DISABLE_BUS_POWER_MODE TRUE +#define KB_STATE_SYNC_INTERVAL 500 +#define USBPD_ALLOWANCE_CHECK_INTERVAL 100 +#define SPLIT_TRANSACTION_IDS_KB RPC_ID_KB_STATE + +/* Defines for the RGB matrix */ +#define INDICATOR_MAX_BRIGHTNESS 255 +#define CAPS_LOCK_LED_INDEX 0 // LED1 on PCB +#define WS2812_EXTERNAL_PULLUP +#define WS2812_PWM_DRIVER PWMD3 +#define WS2812_PWM_CHANNEL 4 +#define WS2812_PWM_PAL_MODE 10 +#define WS2812_DMA_STREAM STM32_DMA1_STREAM2 +#define WS2812_DMA_CHANNEL 2 +#define WS2812_DMAMUX_ID STM32_DMAMUX1_TIM3_UP diff --git a/keyboards/haverworks/theseus75/halconf.h b/keyboards/haverworks/theseus75/halconf.h new file mode 100644 index 0000000000..e7da7271bb --- /dev/null +++ b/keyboards/haverworks/theseus75/halconf.h @@ -0,0 +1,10 @@ +// Copyright 2023 Moritz Plattner (@ebastler) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#define HAL_USE_SERIAL TRUE + +#define HAL_USE_PWM TRUE + +#include_next diff --git a/keyboards/haverworks/theseus75/keyboard.json b/keyboards/haverworks/theseus75/keyboard.json new file mode 100644 index 0000000000..60f791ae9d --- /dev/null +++ b/keyboards/haverworks/theseus75/keyboard.json @@ -0,0 +1,456 @@ +{ + "manufacturer": "Haverworks", + "keyboard_name": "Theseus75", + "maintainer": "ebastler", + "bootloader": "stm32-dfu", + "bootmagic": { + "matrix": [0, 1] + }, + "diode_direction": "COL2ROW", + "encoder": { + "rotary": [ + {"pin_a": "A8", "pin_b": "C6", "resolution": 2} + ] + }, + "features": { + "bootmagic": true, + "encoder": true, + "extrakey": true, + "mousekey": true, + "nkro": true, + "rgb_matrix": true + }, + "matrix_pins": { + "cols": ["B11", "C14", "B6", "B5", "B4", "B3", "C11", "C10", null], + "rows": ["A9", "A10", "B15", "B12", "B13", "B14"] + }, + "processor": "STM32G431", + "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, + "dual_beacon": true, + "gradient_left_right": true, + "gradient_up_down": true, + "hue_breathing": true, + "hue_pendulum": true, + "hue_wave": true, + "jellybean_raindrops": true, + "pixel_flow": true, + "pixel_fractal": true, + "pixel_rain": true, + "rainbow_beacon": true, + "rainbow_moving_chevron": true, + "rainbow_pinwheels": true, + "raindrops": true + }, + "driver": "ws2812", + "layout": [ + {"matrix": [3, 1], "x": 32, "y": 34, "flags": 8}, + {"x": 28, "y": 1, "flags": 2}, + {"x": 43, "y": 1, "flags": 2}, + {"x": 56, "y": 1, "flags": 2}, + {"x": 69, "y": 1, "flags": 2}, + {"x": 84, "y": 1, "flags": 2}, + {"x": 99, "y": 1, "flags": 2}, + {"x": 97, "y": 8, "flags": 2}, + {"x": 91, "y": 19, "flags": 2}, + {"x": 91, "y": 31, "flags": 2}, + {"x": 92, "y": 42, "flags": 2}, + {"x": 96, "y": 53, "flags": 2}, + {"x": 97, "y": 64, "flags": 2}, + {"x": 81, "y": 64, "flags": 2}, + {"x": 66, "y": 64, "flags": 2}, + {"x": 53, "y": 64, "flags": 2}, + {"x": 40, "y": 64, "flags": 2}, + {"x": 26, "y": 64, "flags": 2}, + {"x": 13, "y": 64, "flags": 2}, + {"x": 0, "y": 64, "flags": 2}, + {"x": 0, "y": 53, "flags": 2}, + {"x": 0, "y": 42, "flags": 2}, + {"x": 0, "y": 31, "flags": 2}, + {"x": 0, "y": 19, "flags": 2}, + {"x": 0, "y": 9, "flags": 2}, + {"x": 0, "y": 1, "flags": 2}, + {"x": 13, "y": 1, "flags": 2}, + {"x": 224, "y": 31, "flags": 2}, + {"x": 224, "y": 42, "flags": 2}, + {"x": 224, "y": 53, "flags": 2}, + {"x": 224, "y": 64, "flags": 2}, + {"x": 209, "y": 64, "flags": 2}, + {"x": 194, "y": 64, "flags": 2}, + {"x": 180, "y": 64, "flags": 2}, + {"x": 165, "y": 64, "flags": 2}, + {"x": 152, "y": 64, "flags": 2}, + {"x": 138, "y": 64, "flags": 2}, + {"x": 124, "y": 64, "flags": 2}, + {"x": 124, "y": 53, "flags": 2}, + {"x": 119, "y": 42, "flags": 2}, + {"x": 114, "y": 31, "flags": 2}, + {"x": 117, "y": 19, "flags": 2}, + {"x": 122, "y": 8, "flags": 2}, + {"x": 126, "y": 1, "flags": 2}, + {"x": 140, "y": 1, "flags": 2}, + {"x": 155, "y": 1, "flags": 2}, + {"x": 168, "y": 1, "flags": 2}, + {"x": 181, "y": 1, "flags": 2}, + {"x": 196, "y": 1, "flags": 2}, + {"x": 211, "y": 1, "flags": 2}, + {"x": 224, "y": 1, "flags": 2}, + {"x": 224, "y": 8, "flags": 2}, + {"x": 224, "y": 19, "flags": 2} + ], + "max_brightness": 128, + "sleep": true, + "split_count": [27, 26] + }, + "split": { + "bootmagic": { + "matrix": [6, 6] + }, + "enabled": true, + "encoder": { + "right": { + "rotary": [ + {"pin_a": "B5", "pin_b": "B4", "resolution": 2} + ] + } + }, + "handedness": { + "pin": "B9" + }, + "matrix_pins": { + "right": { + "cols": ["A10", "A9", "A8", "C6", "B15", "B14", "B13", "B12", "C14"], + "rows": ["B3", "C10", "C11", "A1", "A0", "B6"] + } + }, + "serial": { + "driver": "usart", + "pin": "B10" + }, + "soft_serial_speed": 0, + "transport": { + "sync": { + "indicators": true, + "layer_state": true, + "matrix_state": true + }, + "watchdog": true + } + }, + "url": "https://haver.works/theseus75", + "usb": { + "device_version": "1.0.0", + "pid": "0x0001", + "vid": "0x6877" + }, + "ws2812": { + "driver": "pwm", + "pin": "B7" + }, + "layouts": { + "LAYOUT_all": { + "layout": [ + {"label": "LENC", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "ESC", "matrix": [0, 1], "x": 1.5, "y": 0}, + {"label": "F1", "matrix": [0, 2], "x": 2.75, "y": 0}, + {"label": "F2", "matrix": [0, 3], "x": 3.75, "y": 0}, + {"label": "F3", "matrix": [0, 4], "x": 4.75, "y": 0}, + {"label": "F4", "matrix": [0, 5], "x": 5.75, "y": 0}, + {"label": "F5", "matrix": [0, 6], "x": 7, "y": 0}, + {"label": "F6", "matrix": [0, 7], "x": 8, "y": 0}, + {"label": "F7", "matrix": [6, 0], "x": 10, "y": 0}, + {"label": "F8", "matrix": [6, 1], "x": 11, "y": 0}, + {"label": "F9", "matrix": [6, 2], "x": 12.25, "y": 0}, + {"label": "F10", "matrix": [6, 3], "x": 13.25, "y": 0}, + {"label": "F11", "matrix": [6, 4], "x": 14.25, "y": 0}, + {"label": "F12", "matrix": [6, 5], "x": 15.25, "y": 0}, + {"label": "F13", "matrix": [6, 6], "x": 16.5, "y": 0}, + {"label": "RENC", "matrix": [6, 8], "x": 18, "y": 0}, + {"label": "M1", "matrix": [1, 0], "x": 0, "y": 1}, + {"label": "GRAV", "matrix": [1, 1], "x": 1.5, "y": 1}, + {"label": "1", "matrix": [1, 2], "x": 2.5, "y": 1}, + {"label": "2", "matrix": [1, 3], "x": 3.5, "y": 1}, + {"label": "3", "matrix": [1, 4], "x": 4.5, "y": 1}, + {"label": "4", "matrix": [1, 5], "x": 5.5, "y": 1}, + {"label": "5", "matrix": [1, 6], "x": 6.5, "y": 1}, + {"label": "6", "matrix": [1, 7], "x": 7.5, "y": 1}, + {"label": "7", "matrix": [7, 0], "x": 9.5, "y": 1}, + {"label": "8", "matrix": [7, 1], "x": 10.5, "y": 1}, + {"label": "9", "matrix": [7, 2], "x": 11.5, "y": 1}, + {"label": "0", "matrix": [7, 3], "x": 12.5, "y": 1}, + {"label": "-", "matrix": [7, 4], "x": 13.5, "y": 1}, + {"label": "=", "matrix": [7, 5], "x": 14.5, "y": 1}, + {"label": "Back", "matrix": [7, 6], "x": 15.5, "y": 1}, + {"label": "Del", "matrix": [7, 7], "x": 16.5, "y": 1}, + {"label": "Home", "matrix": [7, 8], "x": 18, "y": 1}, + {"label": "M2", "matrix": [2, 0], "x": 0, "y": 2}, + {"label": "Tab", "matrix": [2, 1], "x": 1.5, "y": 2, "w": 1.5}, + {"label": "Q", "matrix": [2, 3], "x": 3, "y": 2}, + {"label": "W", "matrix": [2, 4], "x": 4, "y": 2}, + {"label": "E", "matrix": [2, 5], "x": 5, "y": 2}, + {"label": "R", "matrix": [2, 6], "x": 6, "y": 2}, + {"label": "T", "matrix": [2, 7], "x": 7, "y": 2}, + {"label": "Y", "matrix": [8, 0], "x": 9, "y": 2}, + {"label": "U", "matrix": [8, 1], "x": 10, "y": 2}, + {"label": "I", "matrix": [8, 2], "x": 11, "y": 2}, + {"label": "O", "matrix": [8, 3], "x": 12, "y": 2}, + {"label": "P", "matrix": [8, 4], "x": 13, "y": 2}, + {"label": "[", "matrix": [8, 5], "x": 14, "y": 2}, + {"label": "]", "matrix": [8, 6], "x": 15, "y": 2}, + {"label": "BSLS", "matrix": [8, 7], "x": 16, "y": 2, "w": 1.5}, + {"label": "PgUp", "matrix": [8, 8], "x": 18, "y": 2}, + {"label": "M3", "matrix": [3, 0], "x": 0, "y": 3}, + {"label": "Caps", "matrix": [3, 1], "x": 1.5, "y": 3, "w": 1.75}, + {"label": "A", "matrix": [3, 3], "x": 3.25, "y": 3}, + {"label": "S", "matrix": [3, 4], "x": 4.25, "y": 3}, + {"label": "D", "matrix": [3, 5], "x": 5.25, "y": 3}, + {"label": "F", "matrix": [3, 6], "x": 6.25, "y": 3}, + {"label": "G", "matrix": [3, 7], "x": 7.25, "y": 3}, + {"label": "H", "matrix": [9, 0], "x": 9.25, "y": 3}, + {"label": "J", "matrix": [9, 1], "x": 10.25, "y": 3}, + {"label": "K", "matrix": [9, 2], "x": 11.25, "y": 3}, + {"label": "L", "matrix": [9, 3], "x": 12.25, "y": 3}, + {"label": ";", "matrix": [9, 4], "x": 13.25, "y": 3}, + {"label": "'", "matrix": [9, 5], "x": 14.25, "y": 3}, + {"label": "NUHS", "matrix": [9, 6], "x": 15.25, "y": 3}, + {"label": "Enter", "matrix": [9, 7], "x": 16.25, "y": 3, "w": 1.25}, + {"label": "PgDn", "matrix": [9, 8], "x": 18, "y": 3}, + {"label": "M4", "matrix": [4, 0], "x": 0, "y": 4}, + {"label": "Shift", "matrix": [4, 1], "x": 1.5, "y": 4, "w": 1.25}, + {"label": "NUBS", "matrix": [4, 2], "x": 2.75, "y": 4}, + {"label": "Z", "matrix": [4, 3], "x": 3.75, "y": 4}, + {"label": "X", "matrix": [4, 4], "x": 4.75, "y": 4}, + {"label": "C", "matrix": [4, 5], "x": 5.75, "y": 4}, + {"label": "V", "matrix": [4, 6], "x": 6.75, "y": 4}, + {"label": "B", "matrix": [4, 7], "x": 7.75, "y": 4}, + {"label": "N", "matrix": [10, 0], "x": 9.75, "y": 4}, + {"label": "M", "matrix": [10, 1], "x": 10.75, "y": 4}, + {"label": ",", "matrix": [10, 2], "x": 11.75, "y": 4}, + {"label": ".", "matrix": [10, 3], "x": 12.75, "y": 4}, + {"label": "/", "matrix": [10, 4], "x": 13.75, "y": 4}, + {"label": "Shift", "matrix": [10, 6], "x": 14.75, "y": 4, "w": 1.75}, + {"label": "Up", "matrix": [10, 7], "x": 16.75, "y": 4}, + {"label": "End", "matrix": [10, 8], "x": 18, "y": 4}, + {"label": "M5", "matrix": [5, 0], "x": 0, "y": 5}, + {"label": "Ctrl", "matrix": [5, 1], "x": 1.5, "y": 5, "w": 1.25}, + {"label": "Gui", "matrix": [5, 2], "x": 2.75, "y": 5, "w": 1.25}, + {"label": "Alt", "matrix": [5, 3], "x": 4, "y": 5, "w": 1.25}, + {"label": "Space", "matrix": [5, 4], "x": 5.25, "y": 5, "w": 2.25}, + {"label": "FN", "matrix": [5, 7], "x": 7.5, "y": 5, "w": 1.25}, + {"label": "Space", "matrix": [11, 1], "x": 9.75, "y": 5, "w": 2.75}, + {"label": "Alt", "matrix": [11, 3], "x": 12.5, "y": 5}, + {"label": "Gui", "matrix": [11, 4], "x": 13.5, "y": 5}, + {"label": "Ctrl", "matrix": [11, 5], "x": 14.5, "y": 5}, + {"label": "Left", "matrix": [11, 6], "x": 15.75, "y": 5}, + {"label": "Down", "matrix": [11, 7], "x": 16.75, "y": 5}, + {"label": "Rght", "matrix": [11, 8], "x": 17.75, "y": 5} + ] + }, + "LAYOUT_ansi": { + "layout": [ + {"label": "LENC", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "ESC", "matrix": [0, 1], "x": 1.5, "y": 0}, + {"label": "F1", "matrix": [0, 2], "x": 2.75, "y": 0}, + {"label": "F2", "matrix": [0, 3], "x": 3.75, "y": 0}, + {"label": "F3", "matrix": [0, 4], "x": 4.75, "y": 0}, + {"label": "F4", "matrix": [0, 5], "x": 5.75, "y": 0}, + {"label": "F5", "matrix": [0, 6], "x": 7, "y": 0}, + {"label": "F6", "matrix": [0, 7], "x": 8, "y": 0}, + {"label": "F7", "matrix": [6, 0], "x": 10, "y": 0}, + {"label": "F8", "matrix": [6, 1], "x": 11, "y": 0}, + {"label": "F9", "matrix": [6, 2], "x": 12.25, "y": 0}, + {"label": "F10", "matrix": [6, 3], "x": 13.25, "y": 0}, + {"label": "F11", "matrix": [6, 4], "x": 14.25, "y": 0}, + {"label": "F12", "matrix": [6, 5], "x": 15.25, "y": 0}, + {"label": "F13", "matrix": [6, 6], "x": 16.5, "y": 0}, + {"label": "RENC", "matrix": [6, 8], "x": 18, "y": 0}, + {"label": "M1", "matrix": [1, 0], "x": 0, "y": 1}, + {"label": "GRAV", "matrix": [1, 1], "x": 1.5, "y": 1}, + {"label": "1", "matrix": [1, 2], "x": 2.5, "y": 1}, + {"label": "2", "matrix": [1, 3], "x": 3.5, "y": 1}, + {"label": "3", "matrix": [1, 4], "x": 4.5, "y": 1}, + {"label": "4", "matrix": [1, 5], "x": 5.5, "y": 1}, + {"label": "5", "matrix": [1, 6], "x": 6.5, "y": 1}, + {"label": "6", "matrix": [1, 7], "x": 7.5, "y": 1}, + {"label": "7", "matrix": [7, 0], "x": 9.5, "y": 1}, + {"label": "8", "matrix": [7, 1], "x": 10.5, "y": 1}, + {"label": "9", "matrix": [7, 2], "x": 11.5, "y": 1}, + {"label": "0", "matrix": [7, 3], "x": 12.5, "y": 1}, + {"label": "-", "matrix": [7, 4], "x": 13.5, "y": 1}, + {"label": "=", "matrix": [7, 5], "x": 14.5, "y": 1}, + {"label": "Back", "matrix": [7, 6], "x": 15.5, "y": 1, "w": 2}, + {"label": "Home", "matrix": [7, 8], "x": 18, "y": 1}, + {"label": "M2", "matrix": [2, 0], "x": 0, "y": 2}, + {"label": "Tab", "matrix": [2, 1], "x": 1.5, "y": 2, "w": 1.5}, + {"label": "Q", "matrix": [2, 3], "x": 3, "y": 2}, + {"label": "W", "matrix": [2, 4], "x": 4, "y": 2}, + {"label": "E", "matrix": [2, 5], "x": 5, "y": 2}, + {"label": "R", "matrix": [2, 6], "x": 6, "y": 2}, + {"label": "T", "matrix": [2, 7], "x": 7, "y": 2}, + {"label": "Y", "matrix": [8, 0], "x": 9, "y": 2}, + {"label": "U", "matrix": [8, 1], "x": 10, "y": 2}, + {"label": "I", "matrix": [8, 2], "x": 11, "y": 2}, + {"label": "O", "matrix": [8, 3], "x": 12, "y": 2}, + {"label": "P", "matrix": [8, 4], "x": 13, "y": 2}, + {"label": "[", "matrix": [8, 5], "x": 14, "y": 2}, + {"label": "]", "matrix": [8, 6], "x": 15, "y": 2}, + {"label": "BSLS", "matrix": [8, 7], "x": 16, "y": 2, "w": 1.5}, + {"label": "PgUp", "matrix": [8, 8], "x": 18, "y": 2}, + {"label": "M3", "matrix": [3, 0], "x": 0, "y": 3}, + {"label": "Caps", "matrix": [3, 1], "x": 1.5, "y": 3, "w": 1.75}, + {"label": "A", "matrix": [3, 3], "x": 3.25, "y": 3}, + {"label": "S", "matrix": [3, 4], "x": 4.25, "y": 3}, + {"label": "D", "matrix": [3, 5], "x": 5.25, "y": 3}, + {"label": "F", "matrix": [3, 6], "x": 6.25, "y": 3}, + {"label": "G", "matrix": [3, 7], "x": 7.25, "y": 3}, + {"label": "H", "matrix": [9, 0], "x": 9.25, "y": 3}, + {"label": "J", "matrix": [9, 1], "x": 10.25, "y": 3}, + {"label": "K", "matrix": [9, 2], "x": 11.25, "y": 3}, + {"label": "L", "matrix": [9, 3], "x": 12.25, "y": 3}, + {"label": ";", "matrix": [9, 4], "x": 13.25, "y": 3}, + {"label": "'", "matrix": [9, 5], "x": 14.25, "y": 3}, + {"label": "Enter", "matrix": [9, 7], "x": 15.25, "y": 3, "w": 2.25}, + {"label": "PgDn", "matrix": [9, 8], "x": 18, "y": 3}, + {"label": "M4", "matrix": [4, 0], "x": 0, "y": 4}, + {"label": "Shift", "matrix": [4, 1], "x": 1.5, "y": 4, "w": 2.25}, + {"label": "Z", "matrix": [4, 3], "x": 3.75, "y": 4}, + {"label": "X", "matrix": [4, 4], "x": 4.75, "y": 4}, + {"label": "C", "matrix": [4, 5], "x": 5.75, "y": 4}, + {"label": "V", "matrix": [4, 6], "x": 6.75, "y": 4}, + {"label": "B", "matrix": [4, 7], "x": 7.75, "y": 4}, + {"label": "N", "matrix": [10, 0], "x": 9.75, "y": 4}, + {"label": "M", "matrix": [10, 1], "x": 10.75, "y": 4}, + {"label": ",", "matrix": [10, 2], "x": 11.75, "y": 4}, + {"label": ".", "matrix": [10, 3], "x": 12.75, "y": 4}, + {"label": "/", "matrix": [10, 4], "x": 13.75, "y": 4}, + {"label": "Shift", "matrix": [10, 6], "x": 14.75, "y": 4, "w": 1.75}, + {"label": "Up", "matrix": [10, 7], "x": 16.75, "y": 4}, + {"label": "End", "matrix": [10, 8], "x": 18, "y": 4}, + {"label": "M5", "matrix": [5, 0], "x": 0, "y": 5}, + {"label": "Ctrl", "matrix": [5, 1], "x": 1.5, "y": 5, "w": 1.25}, + {"label": "Gui", "matrix": [5, 2], "x": 2.75, "y": 5, "w": 1.25}, + {"label": "Alt", "matrix": [5, 3], "x": 4, "y": 5, "w": 1.25}, + {"label": "Space", "matrix": [5, 4], "x": 5.25, "y": 5, "w": 2.25}, + {"label": "FN", "matrix": [5, 7], "x": 7.5, "y": 5, "w": 1.25}, + {"label": "Space", "matrix": [11, 1], "x": 9.75, "y": 5, "w": 2.75}, + {"label": "Alt", "matrix": [11, 3], "x": 12.5, "y": 5}, + {"label": "Gui", "matrix": [11, 4], "x": 13.5, "y": 5}, + {"label": "Ctrl", "matrix": [11, 5], "x": 14.5, "y": 5}, + {"label": "Left", "matrix": [11, 6], "x": 15.75, "y": 5}, + {"label": "Down", "matrix": [11, 7], "x": 16.75, "y": 5}, + {"label": "Rght", "matrix": [11, 8], "x": 17.75, "y": 5} + ] + }, + "LAYOUT_iso": { + "layout": [ + {"label": "LENC", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "ESC", "matrix": [0, 1], "x": 1.5, "y": 0}, + {"label": "F1", "matrix": [0, 2], "x": 2.75, "y": 0}, + {"label": "F2", "matrix": [0, 3], "x": 3.75, "y": 0}, + {"label": "F3", "matrix": [0, 4], "x": 4.75, "y": 0}, + {"label": "F4", "matrix": [0, 5], "x": 5.75, "y": 0}, + {"label": "F5", "matrix": [0, 6], "x": 7, "y": 0}, + {"label": "F6", "matrix": [0, 7], "x": 8, "y": 0}, + {"label": "F7", "matrix": [6, 0], "x": 10, "y": 0}, + {"label": "F8", "matrix": [6, 1], "x": 11, "y": 0}, + {"label": "F9", "matrix": [6, 2], "x": 12.25, "y": 0}, + {"label": "F10", "matrix": [6, 3], "x": 13.25, "y": 0}, + {"label": "F11", "matrix": [6, 4], "x": 14.25, "y": 0}, + {"label": "F12", "matrix": [6, 5], "x": 15.25, "y": 0}, + {"label": "F13", "matrix": [6, 6], "x": 16.5, "y": 0}, + {"label": "RENC", "matrix": [6, 8], "x": 18, "y": 0}, + {"label": "M1", "matrix": [1, 0], "x": 0, "y": 1}, + {"label": "GRAV", "matrix": [1, 1], "x": 1.5, "y": 1}, + {"label": "1", "matrix": [1, 2], "x": 2.5, "y": 1}, + {"label": "2", "matrix": [1, 3], "x": 3.5, "y": 1}, + {"label": "3", "matrix": [1, 4], "x": 4.5, "y": 1}, + {"label": "4", "matrix": [1, 5], "x": 5.5, "y": 1}, + {"label": "5", "matrix": [1, 6], "x": 6.5, "y": 1}, + {"label": "6", "matrix": [1, 7], "x": 7.5, "y": 1}, + {"label": "7", "matrix": [7, 0], "x": 9.5, "y": 1}, + {"label": "8", "matrix": [7, 1], "x": 10.5, "y": 1}, + {"label": "9", "matrix": [7, 2], "x": 11.5, "y": 1}, + {"label": "0", "matrix": [7, 3], "x": 12.5, "y": 1}, + {"label": "-", "matrix": [7, 4], "x": 13.5, "y": 1}, + {"label": "=", "matrix": [7, 5], "x": 14.5, "y": 1}, + {"label": "Back", "matrix": [7, 6], "x": 15.5, "y": 1, "w": 2}, + {"label": "Home", "matrix": [7, 8], "x": 18, "y": 1}, + {"label": "M2", "matrix": [2, 0], "x": 0, "y": 2}, + {"label": "Tab", "matrix": [2, 1], "x": 1.5, "y": 2, "w": 1.5}, + {"label": "Q", "matrix": [2, 3], "x": 3, "y": 2}, + {"label": "W", "matrix": [2, 4], "x": 4, "y": 2}, + {"label": "E", "matrix": [2, 5], "x": 5, "y": 2}, + {"label": "R", "matrix": [2, 6], "x": 6, "y": 2}, + {"label": "T", "matrix": [2, 7], "x": 7, "y": 2}, + {"label": "Y", "matrix": [8, 0], "x": 9, "y": 2}, + {"label": "U", "matrix": [8, 1], "x": 10, "y": 2}, + {"label": "I", "matrix": [8, 2], "x": 11, "y": 2}, + {"label": "O", "matrix": [8, 3], "x": 12, "y": 2}, + {"label": "P", "matrix": [8, 4], "x": 13, "y": 2}, + {"label": "[", "matrix": [8, 5], "x": 14, "y": 2}, + {"label": "]", "matrix": [8, 6], "x": 15, "y": 2}, + {"label": "PgUp", "matrix": [8, 8], "x": 18, "y": 2}, + {"label": "M3", "matrix": [3, 0], "x": 0, "y": 3}, + {"label": "Caps", "matrix": [3, 1], "x": 1.5, "y": 3, "w": 1.75}, + {"label": "A", "matrix": [3, 3], "x": 3.25, "y": 3}, + {"label": "S", "matrix": [3, 4], "x": 4.25, "y": 3}, + {"label": "D", "matrix": [3, 5], "x": 5.25, "y": 3}, + {"label": "F", "matrix": [3, 6], "x": 6.25, "y": 3}, + {"label": "G", "matrix": [3, 7], "x": 7.25, "y": 3}, + {"label": "H", "matrix": [9, 0], "x": 9.25, "y": 3}, + {"label": "J", "matrix": [9, 1], "x": 10.25, "y": 3}, + {"label": "K", "matrix": [9, 2], "x": 11.25, "y": 3}, + {"label": "L", "matrix": [9, 3], "x": 12.25, "y": 3}, + {"label": ";", "matrix": [9, 4], "x": 13.25, "y": 3}, + {"label": "'", "matrix": [9, 5], "x": 14.25, "y": 3}, + {"label": "NUHS", "matrix": [9, 6], "x": 15.25, "y": 3}, + {"label": "Enter", "matrix": [9, 7], "x": 16.25, "y": 2, "w": 1.25, "h": 2}, + {"label": "PgDn", "matrix": [9, 8], "x": 18, "y": 3}, + {"label": "M4", "matrix": [4, 0], "x": 0, "y": 4}, + {"label": "Shift", "matrix": [4, 1], "x": 1.5, "y": 4, "w": 1.25}, + {"label": "NUBS", "matrix": [4, 2], "x": 2.75, "y": 4}, + {"label": "Z", "matrix": [4, 3], "x": 3.75, "y": 4}, + {"label": "X", "matrix": [4, 4], "x": 4.75, "y": 4}, + {"label": "C", "matrix": [4, 5], "x": 5.75, "y": 4}, + {"label": "V", "matrix": [4, 6], "x": 6.75, "y": 4}, + {"label": "B", "matrix": [4, 7], "x": 7.75, "y": 4}, + {"label": "N", "matrix": [10, 0], "x": 9.75, "y": 4}, + {"label": "M", "matrix": [10, 1], "x": 10.75, "y": 4}, + {"label": ",", "matrix": [10, 2], "x": 11.75, "y": 4}, + {"label": ".", "matrix": [10, 3], "x": 12.75, "y": 4}, + {"label": "/", "matrix": [10, 4], "x": 13.75, "y": 4}, + {"label": "Shift", "matrix": [10, 6], "x": 14.75, "y": 4, "w": 1.75}, + {"label": "Up", "matrix": [10, 7], "x": 16.75, "y": 4}, + {"label": "End", "matrix": [10, 8], "x": 18, "y": 4}, + {"label": "M5", "matrix": [5, 0], "x": 0, "y": 5}, + {"label": "Ctrl", "matrix": [5, 1], "x": 1.5, "y": 5, "w": 1.25}, + {"label": "Gui", "matrix": [5, 2], "x": 2.75, "y": 5, "w": 1.25}, + {"label": "Alt", "matrix": [5, 3], "x": 4, "y": 5, "w": 1.25}, + {"label": "Space", "matrix": [5, 4], "x": 5.25, "y": 5, "w": 2.25}, + {"label": "FN", "matrix": [5, 7], "x": 7.5, "y": 5, "w": 1.25}, + {"label": "Space", "matrix": [11, 1], "x": 9.75, "y": 5, "w": 2.75}, + {"label": "Alt", "matrix": [11, 3], "x": 12.5, "y": 5}, + {"label": "Gui", "matrix": [11, 4], "x": 13.5, "y": 5}, + {"label": "Ctrl", "matrix": [11, 5], "x": 14.5, "y": 5}, + {"label": "Left", "matrix": [11, 6], "x": 15.75, "y": 5}, + {"label": "Down", "matrix": [11, 7], "x": 16.75, "y": 5}, + {"label": "Rght", "matrix": [11, 8], "x": 17.75, "y": 5} + ] + } + } +} diff --git a/keyboards/haverworks/theseus75/keymaps/ansi/keymap.c b/keyboards/haverworks/theseus75/keymaps/ansi/keymap.c new file mode 100644 index 0000000000..25494f7e47 --- /dev/null +++ b/keyboards/haverworks/theseus75/keymaps/ansi/keymap.c @@ -0,0 +1,31 @@ +// Copyright 2023 Moritz Plattner (@ebastler), Alex Havermale (@haversnail) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [0] = LAYOUT_ansi( + RM_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_PSCR, KC_MUTE, + KC_F13, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_HOME, + 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_PGUP, + KC_F15, KC_CAPS, KC_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_F16, KC_LSFT, KC_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_F17, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT_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_MPLY, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_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 + ) +}; + +#ifdef ENCODER_MAP_ENABLE +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [0] = { ENCODER_CCW_CW(RM_VALD, RM_VALU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [1] = { ENCODER_CCW_CW(RM_PREV, RM_NEXT), ENCODER_CCW_CW(KC_MPRV, KC_MNXT) }, +}; +#endif diff --git a/keyboards/haverworks/theseus75/keymaps/ansi/rules.mk b/keyboards/haverworks/theseus75/keymaps/ansi/rules.mk new file mode 100644 index 0000000000..ee32568148 --- /dev/null +++ b/keyboards/haverworks/theseus75/keymaps/ansi/rules.mk @@ -0,0 +1 @@ +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/haverworks/theseus75/keymaps/default/keymap.c b/keyboards/haverworks/theseus75/keymaps/default/keymap.c new file mode 100644 index 0000000000..5e56d121eb --- /dev/null +++ b/keyboards/haverworks/theseus75/keymaps/default/keymap.c @@ -0,0 +1,31 @@ +// Copyright 2023 Moritz Plattner (@ebastler), Alex Havermale (@haversnail) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [0] = LAYOUT_all( + RM_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_PSCR, KC_MUTE, + KC_F13, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, KC_HOME, + 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_PGUP, + KC_F15, KC_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_F16, 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_F17, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_SPC, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ) +}; + +#ifdef ENCODER_MAP_ENABLE +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [0] = { ENCODER_CCW_CW(RM_VALD, RM_VALU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [1] = { ENCODER_CCW_CW(RM_PREV, RM_NEXT), ENCODER_CCW_CW(KC_MPRV, KC_MNXT) }, +}; +#endif diff --git a/keyboards/haverworks/theseus75/keymaps/default/rules.mk b/keyboards/haverworks/theseus75/keymaps/default/rules.mk new file mode 100644 index 0000000000..ee32568148 --- /dev/null +++ b/keyboards/haverworks/theseus75/keymaps/default/rules.mk @@ -0,0 +1 @@ +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/haverworks/theseus75/keymaps/iso/keymap.c b/keyboards/haverworks/theseus75/keymaps/iso/keymap.c new file mode 100644 index 0000000000..d7487010ee --- /dev/null +++ b/keyboards/haverworks/theseus75/keymaps/iso/keymap.c @@ -0,0 +1,31 @@ +// Copyright 2023 Moritz Plattner (@ebastler), Alex Havermale (@haversnail) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [0] = LAYOUT_iso( + RM_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_PSCR, KC_MUTE, + KC_F13, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_HOME, + 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_PGUP, + KC_F15, KC_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_F16, 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_F17, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT_iso( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_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 + ) +}; + +#ifdef ENCODER_MAP_ENABLE +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [0] = { ENCODER_CCW_CW(RM_VALD, RM_VALU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [1] = { ENCODER_CCW_CW(RM_PREV, RM_NEXT), ENCODER_CCW_CW(KC_MPRV, KC_MNXT) }, +}; +#endif diff --git a/keyboards/haverworks/theseus75/keymaps/iso/rules.mk b/keyboards/haverworks/theseus75/keymaps/iso/rules.mk new file mode 100644 index 0000000000..ee32568148 --- /dev/null +++ b/keyboards/haverworks/theseus75/keymaps/iso/rules.mk @@ -0,0 +1 @@ +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/haverworks/theseus75/mcuconf.h b/keyboards/haverworks/theseus75/mcuconf.h new file mode 100644 index 0000000000..a3dbdb4ba2 --- /dev/null +++ b/keyboards/haverworks/theseus75/mcuconf.h @@ -0,0 +1,14 @@ +// Copyright 2023 Moritz Plattner (@ebastler) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#include_next + +/* enable USART3, used for split comms */ +#undef STM32_SERIAL_USE_USART3 +#define STM32_SERIAL_USE_USART3 TRUE + +/* enable TIM3, used for Underglow PWM driver */ +#undef STM32_PWM_USE_TIM3 +#define STM32_PWM_USE_TIM3 TRUE diff --git a/keyboards/haverworks/theseus75/readme.md b/keyboards/haverworks/theseus75/readme.md new file mode 100644 index 0000000000..7119f61a64 --- /dev/null +++ b/keyboards/haverworks/theseus75/readme.md @@ -0,0 +1,31 @@ +# Haverworks Theseus75 + +![Theseus75 v1 PCB](https://imgur.com/N81LsCO.png) + +The Theseus75 is a 75% row-staggered split keyboard with a macro column and rotary encoders on both sides. Each half features a dual-role USB-C port and integrated USB hub, allowing the unused port to act as a USB-C 2.0 High-Speed host for connecting a numpad, mouse, flash drive, security key, mobile phone, or similar device. + +> [!NOTE] +> Up to 5V at 1.5A can be supplied, depending on negotiations with the host. + +* Keyboard Maintainers: [Moritz Plattner](https://github.com/ebastler), [Alex Havermale](https://github.com/haversnail) +* Hardware Supported: Haverworks Theseus75 v1 PCBs (hot-swap and solder) +* Hardware Availability: [Group buy](https://haver.works/theseus75) + +Make example for this keyboard (after setting up your build environment): + + make haverworks/theseus75:default + +Flashing example for this keyboard: + + make haverworks/theseus75: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 two ways: + +* **Physical reset button**: Hold the Reset/Flash button on the back of the PCB for approximately one second (instructions are also included on the PCB) +* **Bootmagic reset**: + * **Left half**: Hold down the first key to the right of the encoder (Esc by default) and plug in the keyboard + * **Right half**: Hold down the first key to the left of the encoder (Print Screen by default) and plug in the keyboard diff --git a/keyboards/haverworks/theseus75/theseus75.c b/keyboards/haverworks/theseus75/theseus75.c new file mode 100644 index 0000000000..45ead4811d --- /dev/null +++ b/keyboards/haverworks/theseus75/theseus75.c @@ -0,0 +1,214 @@ +// Copyright 2023 Moritz Plattner (@ebastler), Alex Havermale (@haversnail) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "quantum.h" +#include "transactions.h" +#include +#include "print.h" +#include "split_util.h" +#include "usbpd.h" + +typedef struct _kb_state_t { + usbpd_allowance_t allowance; +} kb_state_t; + +kb_state_t kb_state; + +const char* usbpd_str(usbpd_allowance_t allowance) { + switch (allowance) { + case USBPD_500MA: + return "500mA"; + case USBPD_1500MA: + return "1500mA"; + case USBPD_3000MA: + return "3000mA"; + default: + dprintf("Encountered unknown allowance enum value: %d\n", allowance); + return "UNKNOWN"; + } +} + +void kb_state_slave_handler(uint8_t m2s_size, const void* m2s_buffer, uint8_t s2m_size, void* s2m_buffer) { + if (m2s_size == sizeof(kb_state_t)) { + memcpy(&kb_state, m2s_buffer, sizeof(kb_state_t)); + } else { + dprintf("Unexpected response in slave handler\n"); // TODO: add split debug logging + } +} + +void keyboard_pre_init_kb(void) { + // Disable the PD peripheral in pre-init because its pins are being used in the matrix: + PWR->CR3 |= PWR_CR3_UCPD_DBDIS; + // Call the corresponding _user() function (see https://docs.qmk.fm/#/custom_quantum_functions) + keyboard_pre_init_user(); +} + +void keyboard_post_init_kb(void) { + // Register keyboard state transaction: + transaction_register_rpc(RPC_ID_KB_STATE, kb_state_slave_handler); + + // Set default state values: + kb_state.allowance = USBPD_500MA; + + // If the keyboard is master, + if (is_keyboard_master()) { + // Turn on power to the split half and to underglow LEDs: + gpio_set_pin_output(PSW_PIN); + gpio_write_pin_high(PSW_PIN); + + // Enable inputs used for current negotiation: + gpio_set_pin_input_high(USBPD_1_PIN); + gpio_set_pin_input_high(USBPD_2_PIN); + + // Not needed in this mode (always high-Z with pull-up on PCB if port controller is sink) + gpio_set_pin_input_high(ID_PIN); + } else { + // Prepare output to enable power for USB output after negotiation: + gpio_set_pin_output(PSW_PIN); + + // Switch the USB MUXes between hub and ports: + gpio_set_pin_output(USBSW_PIN); + gpio_write_pin_high(USBSW_PIN); + + // Enable outputs used for current negotiation and default to 500mA: + gpio_set_pin_output(USBPD_1_PIN); + gpio_write_pin_high(USBPD_1_PIN); + gpio_set_pin_output(USBPD_2_PIN); + gpio_write_pin_high(USBPD_2_PIN); + + // Use ID pin to check if client is detected (if low: USB source port powered): + gpio_set_pin_input_high(ID_PIN); + + // Indicate that the hub is either self-powered or bus-powered based on whether the bus-power mode flag is enabled + // (configurable for users who would rather always have their device connect, regardless of whether they meet the specs): + gpio_set_pin_output(BUS_B_PIN); + if (DISABLE_BUS_POWER_MODE == TRUE) { + gpio_write_pin_high(BUS_B_PIN); + } else { + gpio_write_pin_low(BUS_B_PIN); + } + } + // Call the corresponding _user() function (see https://docs.qmk.fm/#/custom_quantum_functions) + keyboard_post_init_user(); +} + +void housekeeping_task_kb(void) { + // Update any shared kb state to send to slave: + static uint32_t last_usbpd_allowance_check_time = 0; + if (timer_elapsed32(last_usbpd_allowance_check_time) > USBPD_ALLOWANCE_CHECK_INTERVAL) { + // On master side: check USBPD_1_PIN and USBPD_2_PIN to determine current negotiated with host + // (Can't use the usbpd_get_allowance() function, as this uses this uses the native CC PD interface + // of the G series MCU, while we're using dedicated port controllers instead): + if (is_keyboard_master()) { + usbpd_allowance_t allowance; + + if (gpio_read_pin(USBPD_1_PIN)) { + allowance = USBPD_500MA; + } else if (gpio_read_pin(USBPD_2_PIN)) { + allowance = USBPD_1500MA; + } else { + allowance = USBPD_3000MA; + } + + if (kb_state.allowance != allowance) { + printf("Host negotiated current: %s -> %s\n", usbpd_str(kb_state.allowance), usbpd_str(allowance)); + kb_state.allowance = allowance; + } + } else { + // On peripheral side - If ID_PIN is low: USB client negotiated 5V successfully -> enable power routing + // Check if PSW_PIN is not already high to avoid wasting time + if (!gpio_read_pin(ID_PIN) && !gpio_read_pin(PSW_PIN)) { + gpio_write_pin_high(PSW_PIN); + dprintf("USB downstream device connected\n"); // TODO: add split debug logging + } else if (gpio_read_pin(ID_PIN) && gpio_read_pin(PSW_PIN)) { + gpio_write_pin_low(PSW_PIN); + dprintf("USB downstream device disconnected\n"); // TODO: add split debug logging + } + }; + last_usbpd_allowance_check_time = timer_read32(); + }; + + // Sync state from master to slave: + if (is_keyboard_master() && is_transport_connected()) { + bool needs_sync = false; + static uint32_t last_kb_state_sync_time; + static kb_state_t last_kb_state; + + // Check if the state values are different: + if (memcmp(&kb_state, &last_kb_state, sizeof(kb_state_t))) { + needs_sync = true; + memcpy(&last_kb_state, &kb_state, sizeof(kb_state_t)); + } + + // Sync state every so often regardless: + if (timer_elapsed32(last_kb_state_sync_time) > KB_STATE_SYNC_INTERVAL) { + needs_sync = true; + } + + if (needs_sync) { + bool did_sync = transaction_rpc_send(RPC_ID_KB_STATE, sizeof(kb_state_t), &kb_state); + if (did_sync) { + dprintf("Synced to slave\n"); + last_kb_state_sync_time = timer_read32(); + } else { + dprintf("Failed to sync state\n"); + } + } + } + + // Update the USBPD output pins on slave half whenever allowance has changed: + if (!is_keyboard_master()) { + static usbpd_allowance_t last_allowance; + + if (last_allowance != kb_state.allowance) { + last_allowance = kb_state.allowance; + + printf("Setting USB-PD output to %s (%s-powered)\n", usbpd_str(kb_state.allowance), kb_state.allowance == USBPD_500MA ? "bus" : "self"); // TODO: add split debug logging + + switch (kb_state.allowance) { + default: + case USBPD_500MA: + // Set USBPD output to 500 mA: + gpio_write_pin_high(USBPD_1_PIN); + gpio_write_pin_high(USBPD_2_PIN); + if (DISABLE_BUS_POWER_MODE == TRUE) { + // Indicate hub is self-powered and devices can try to connect or fast charge: + gpio_write_pin_high(BUS_B_PIN); + } else { + // Indicate hub is bus-powered and devices should not try to connect or fast charge: + gpio_write_pin_low(BUS_B_PIN); + } + break; + case USBPD_1500MA: + // Set USBPD output to 500 mA: + gpio_write_pin_high(USBPD_1_PIN); + gpio_write_pin_high(USBPD_2_PIN); + // Indicate hub is self-powered and devices can try to connect or fast charge: + gpio_write_pin_high(BUS_B_PIN); + break; + case USBPD_3000MA: + // Set USBPD output to 1500 mA: + gpio_write_pin_low(USBPD_1_PIN); + gpio_write_pin_high(USBPD_2_PIN); + // Indicate hub is self-powered and devices can try to connect or fast charge: + gpio_write_pin_high(BUS_B_PIN); + break; + } + } + } +} + +#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(CAPS_LOCK_LED_INDEX, INDICATOR_MAX_BRIGHTNESS, INDICATOR_MAX_BRIGHTNESS, INDICATOR_MAX_BRIGHTNESS); + } else { + rgb_matrix_set_color(CAPS_LOCK_LED_INDEX, 0, 0, 0); + } + return true; +} +#endif diff --git a/keyboards/helix/beta/keyboard.json b/keyboards/helix/beta/keyboard.json new file mode 100644 index 0000000000..c4eb48aab1 --- /dev/null +++ b/keyboards/helix/beta/keyboard.json @@ -0,0 +1,205 @@ +{ + "keyboard_name": "Helix Beta", + "matrix_pins": { + "cols": ["F4", "F5", "F6", "F7", "B1", "B3", "B2"], + "rows": ["D4", "C6", "D7", "E6", "B4"] + }, + "rgb_matrix": { + "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} + ], + "split_count": [32, 32] + }, + "url": "https://shop.yushakobo.jp/products/oss_pcb?variant=39452554231969", + "usb": { + "device_version": "0.0.1", + "pid": "0x0000" + }, + "layouts": { + "LAYOUT_4row": { + "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": [4, 5], "x": 9, "y": 0}, + {"matrix": [4, 4], "x": 10, "y": 0}, + {"matrix": [4, 3], "x": 11, "y": 0}, + {"matrix": [4, 2], "x": 12, "y": 0}, + {"matrix": [4, 1], "x": 13, "y": 0}, + {"matrix": [4, 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": [5, 5], "x": 9, "y": 1}, + {"matrix": [5, 4], "x": 10, "y": 1}, + {"matrix": [5, 3], "x": 11, "y": 1}, + {"matrix": [5, 2], "x": 12, "y": 1}, + {"matrix": [5, 1], "x": 13, "y": 1}, + {"matrix": [5, 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": [6, 5], "x": 9, "y": 2}, + {"matrix": [6, 4], "x": 10, "y": 2}, + {"matrix": [6, 3], "x": 11, "y": 2}, + {"matrix": [6, 2], "x": 12, "y": 2}, + {"matrix": [6, 1], "x": 13, "y": 2}, + {"matrix": [6, 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": [3, 5], "x": 5, "y": 3}, + {"matrix": [3, 6], "x": 6, "y": 3}, + {"matrix": [7, 6], "x": 8, "y": 3}, + {"matrix": [7, 5], "x": 9, "y": 3}, + {"matrix": [7, 4], "x": 10, "y": 3}, + {"matrix": [7, 3], "x": 11, "y": 3}, + {"matrix": [7, 2], "x": 12, "y": 3}, + {"matrix": [7, 1], "x": 13, "y": 3}, + {"matrix": [7, 0], "x": 14, "y": 3} + ] + }, + "LAYOUT_5row": { + "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": 9, "y": 0}, + {"matrix": [5, 4], "x": 10, "y": 0}, + {"matrix": [5, 3], "x": 11, "y": 0}, + {"matrix": [5, 2], "x": 12, "y": 0}, + {"matrix": [5, 1], "x": 13, "y": 0}, + {"matrix": [5, 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": [6, 5], "x": 9, "y": 1}, + {"matrix": [6, 4], "x": 10, "y": 1}, + {"matrix": [6, 3], "x": 11, "y": 1}, + {"matrix": [6, 2], "x": 12, "y": 1}, + {"matrix": [6, 1], "x": 13, "y": 1}, + {"matrix": [6, 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": [7, 5], "x": 9, "y": 2}, + {"matrix": [7, 4], "x": 10, "y": 2}, + {"matrix": [7, 3], "x": 11, "y": 2}, + {"matrix": [7, 2], "x": 12, "y": 2}, + {"matrix": [7, 1], "x": 13, "y": 2}, + {"matrix": [7, 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": [3, 5], "x": 5, "y": 3}, + {"matrix": [3, 6], "x": 6, "y": 3}, + {"matrix": [8, 6], "x": 8, "y": 3}, + {"matrix": [8, 5], "x": 9, "y": 3}, + {"matrix": [8, 4], "x": 10, "y": 3}, + {"matrix": [8, 3], "x": 11, "y": 3}, + {"matrix": [8, 2], "x": 12, "y": 3}, + {"matrix": [8, 1], "x": 13, "y": 3}, + {"matrix": [8, 0], "x": 14, "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": [9, 6], "x": 8, "y": 4}, + {"matrix": [9, 5], "x": 9, "y": 4}, + {"matrix": [9, 4], "x": 10, "y": 4}, + {"matrix": [9, 3], "x": 11, "y": 4}, + {"matrix": [9, 2], "x": 12, "y": 4}, + {"matrix": [9, 1], "x": 13, "y": 4}, + {"matrix": [9, 0], "x": 14, "y": 4} + ] + } + } +} diff --git a/keyboards/helix/beta/keymaps/default/keymap.json b/keyboards/helix/beta/keymaps/default/keymap.json new file mode 100644 index 0000000000..1719abca5b --- /dev/null +++ b/keyboards/helix/beta/keymaps/default/keymap.json @@ -0,0 +1,28 @@ +{ + "keyboard": "helix/beta", + "keymap": "default", + "layout": "LAYOUT_5row", + "layers": [ + [ + "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" , + "MO(3)", "KC_ESC", "KC_LALT", "KC_LGUI", "LALT(KC_GRV)", "MO(1)", "KC_SPC", "KC_SPC", "MO(2)", "LALT(KC_GRV)", "KC_LEFT", "KC_DOWN", "KC_UP", "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_DEL", + "_______", "KC_F1", "KC_F2", "KC_F3", "KC_F4", "KC_F5", "KC_F6", "KC_MINS", "KC_EQL", "KC_LBRC", "KC_RBRC", "KC_BSLS", + "KC_CAPS", "KC_F7", "KC_F8", "KC_F9", "KC_F10", "KC_F11", "_______", "_______", "KC_F12", "_______", "_______", "KC_PGDN", "KC_PGUP", "_______", + "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "KC_MNXT", "KC_VOLD", "KC_VOLU", "KC_MPLY" + ], + [ + "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", + "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", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", + "EE_CLR", "_______", "_______", "_______", "_______", "_______", "AG_NORM", "AG_SWAP", "_______", "_______", "UG_TOGG", "UG_HUEU", "UG_SATU", "UG_VALU", + "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "UG_NEXT", "UG_HUED", "UG_SATD", "UG_VALD" + ] + ] +} diff --git a/keyboards/helix/common/glcdfont.c b/keyboards/helix/common/glcdfont.c deleted file mode 100644 index 697d58886e..0000000000 --- a/keyboards/helix/common/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 - -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, - 0x03, 0x07, 0x1F, 0x7F, 0xFF, 0xFF, - 0xFE, 0xF8, 0xF0, 0xC0, 0x20, 0xF8, - 0xFE, 0xFF, 0xFE, 0x79, 0x27, 0x1F, - 0x7F, 0xFF, 0xFF, 0xFE, 0xF8, 0xF0, - 0xC0, 0x20, 0xF8, 0xFE, 0xFF, 0xFF, - 0x7F, 0x3F, 0x3F, 0x7F, 0xFF, 0xFE, - 0xF8, 0xF0, 0xC0, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xFF, 0x7F, 0x7F, 0x7F, - 0xBF, 0xBF, 0xC0, 0xC0, 0xC0, 0xE0, - 0xE0, 0xE0, 0xE0, 0xF0, 0xF0, 0xF0, - 0xF8, 0x78, 0x78, 0x7C, 0x3C, 0x3C, - 0xFE, 0xFE, 0xFE, 0xFF, 0xFF, 0xFF, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, - 0xBF, 0xBF, 0xDF, 0xDF, 0xEF, 0xEF, - 0x00, 0x03, 0x07, 0x1F, 0x7F, 0xFF, - 0xFF, 0xFF, 0xFE, 0xF8, 0xE0, 0xC0, - 0xE0, 0xF8, 0xFE, 0xFF, 0xFF, 0xFF, - 0x7F, 0x1F, 0x07, 0x03, 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, 0xC1, 0xF3, - 0xCF, 0xBF, 0x7F, 0xFF, 0xFF, 0xFC, - 0xFB, 0xE7, 0x81, 0x00, 0x00, 0x00, - 0x00, 0x80, 0xE3, 0xCF, 0x3F, 0xFF, - 0xFF, 0xFF, 0xFC, 0xFB, 0xE7, 0x81, - 0x00, 0x00, 0x00, 0x00, 0x81, 0xE7, - 0xFF, 0xFF, 0xFF, 0xFF, 0x3C, 0x00, - 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xF8, 0xF8, 0xFC, 0x7C, 0x7E, - 0x7E, 0x3E, 0xFE, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xF7, 0xF7, 0xF7, 0xFB, - 0xFB, 0x7D, 0x7D, 0x7D, 0xBE, 0xBE, - 0xBE, 0xDF, 0xDF, 0xE0, 0xE0, 0x00, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0x00, 0xFC, 0xFC, 0x7C, 0x7E, 0x7E, - 0x3E, 0x3E, 0x1F, 0x1F, 0x1F, 0x0F, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x81, - 0xE7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0x81, - 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, - 0x60, 0x70, 0x7C, 0x7F, 0x7F, 0x7F, - 0x7F, 0x1F, 0x06, 0x01, 0x03, 0x0F, - 0x3F, 0x7F, 0x7F, 0x7E, 0x7C, 0x7C, - 0x7E, 0x7F, 0x7F, 0x7F, 0x1F, 0x06, - 0x01, 0x07, 0x0F, 0x3F, 0x7F, 0x7F, - 0x7E, 0x7C, 0x7C, 0x7E, 0x7F, 0x7F, - 0x3F, 0x0F, 0x03, 0x00, 0x00, 0x00, - 0x00, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, - 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x7F, 0x7F, 0x7F, 0x7F, - 0x7F, 0x7F, 0x7D, 0x7D, 0x3D, 0x3E, - 0x1E, 0x1F, 0x1F, 0x1F, 0x0F, 0x0F, - 0x07, 0x07, 0x07, 0x03, 0x03, 0x00, - 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, - 0x7C, 0x7C, 0x7C, 0x7C, 0x7C, 0x7C, - 0x7C, 0x7C, 0x7C, 0x7C, 0x7C, 0x00, - 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, - 0x00, 0x40, 0x70, 0x78, 0x7E, 0x7F, - 0x7F, 0x7F, 0x3F, 0x0F, 0x03, 0x01, - 0x03, 0x0F, 0x3F, 0x7F, 0x7F, 0x7F, - 0x7E, 0x78, 0x70, 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 -}; diff --git a/keyboards/helix/config.h b/keyboards/helix/config.h new file mode 100644 index 0000000000..01040ab49f --- /dev/null +++ b/keyboards/helix/config.h @@ -0,0 +1,5 @@ +// Copyright 2025 QMK +// SPDX-License-Identifier: GPL-2.0-or-later +#pragma once + +#define OLED_FONT_H "keyboards/helix/glcdfont.c" diff --git a/keyboards/helix/glcdfont.c b/keyboards/helix/glcdfont.c new file mode 100644 index 0000000000..1b81bbcbfe --- /dev/null +++ b/keyboards/helix/glcdfont.c @@ -0,0 +1,232 @@ +// Copyright 2025 QMK +// SPDX-License-Identifier: GPL-2.0-or-later +#include "progmem.h" + +static const unsigned char font[] PROGMEM = { + // clang-format off + 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, + 0x03, 0x07, 0x1F, 0x7F, 0xFF, 0xFF, + 0xFE, 0xF8, 0xF0, 0xC0, 0x20, 0xF8, + 0xFE, 0xFF, 0xFE, 0x79, 0x27, 0x1F, + 0x7F, 0xFF, 0xFF, 0xFE, 0xF8, 0xF0, + 0xC0, 0x20, 0xF8, 0xFE, 0xFF, 0xFF, + 0x7F, 0x3F, 0x3F, 0x7F, 0xFF, 0xFE, + 0xF8, 0xF0, 0xC0, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xFF, 0x7F, 0x7F, 0x7F, + 0xBF, 0xBF, 0xC0, 0xC0, 0xC0, 0xE0, + 0xE0, 0xE0, 0xE0, 0xF0, 0xF0, 0xF0, + 0xF8, 0x78, 0x78, 0x7C, 0x3C, 0x3C, + 0xFE, 0xFE, 0xFE, 0xFF, 0xFF, 0xFF, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, + 0xBF, 0xBF, 0xDF, 0xDF, 0xEF, 0xEF, + 0x00, 0x03, 0x07, 0x1F, 0x7F, 0xFF, + 0xFF, 0xFF, 0xFE, 0xF8, 0xE0, 0xC0, + 0xE0, 0xF8, 0xFE, 0xFF, 0xFF, 0xFF, + 0x7F, 0x1F, 0x07, 0x03, 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, 0xC1, 0xF3, + 0xCF, 0xBF, 0x7F, 0xFF, 0xFF, 0xFC, + 0xFB, 0xE7, 0x81, 0x00, 0x00, 0x00, + 0x00, 0x80, 0xE3, 0xCF, 0x3F, 0xFF, + 0xFF, 0xFF, 0xFC, 0xFB, 0xE7, 0x81, + 0x00, 0x00, 0x00, 0x00, 0x81, 0xE7, + 0xFF, 0xFF, 0xFF, 0xFF, 0x3C, 0x00, + 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xF8, 0xF8, 0xFC, 0x7C, 0x7E, + 0x7E, 0x3E, 0xFE, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xF7, 0xF7, 0xF7, 0xFB, + 0xFB, 0x7D, 0x7D, 0x7D, 0xBE, 0xBE, + 0xBE, 0xDF, 0xDF, 0xE0, 0xE0, 0x00, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0x00, 0xFC, 0xFC, 0x7C, 0x7E, 0x7E, + 0x3E, 0x3E, 0x1F, 0x1F, 0x1F, 0x0F, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x81, + 0xE7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0x81, + 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, + 0x60, 0x70, 0x7C, 0x7F, 0x7F, 0x7F, + 0x7F, 0x1F, 0x06, 0x01, 0x03, 0x0F, + 0x3F, 0x7F, 0x7F, 0x7E, 0x7C, 0x7C, + 0x7E, 0x7F, 0x7F, 0x7F, 0x1F, 0x06, + 0x01, 0x07, 0x0F, 0x3F, 0x7F, 0x7F, + 0x7E, 0x7C, 0x7C, 0x7E, 0x7F, 0x7F, + 0x3F, 0x0F, 0x03, 0x00, 0x00, 0x00, + 0x00, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, + 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x7F, 0x7F, 0x7F, 0x7F, + 0x7F, 0x7F, 0x7D, 0x7D, 0x3D, 0x3E, + 0x1E, 0x1F, 0x1F, 0x1F, 0x0F, 0x0F, + 0x07, 0x07, 0x07, 0x03, 0x03, 0x00, + 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, + 0x7C, 0x7C, 0x7C, 0x7C, 0x7C, 0x7C, + 0x7C, 0x7C, 0x7C, 0x7C, 0x7C, 0x00, + 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, + 0x00, 0x40, 0x70, 0x78, 0x7E, 0x7F, + 0x7F, 0x7F, 0x3F, 0x0F, 0x03, 0x01, + 0x03, 0x0F, 0x3F, 0x7F, 0x7F, 0x7F, + 0x7E, 0x78, 0x70, 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 + // clang-format on +}; diff --git a/keyboards/helix/helix.c b/keyboards/helix/helix.c new file mode 100644 index 0000000000..b9960a11bf --- /dev/null +++ b/keyboards/helix/helix.c @@ -0,0 +1,77 @@ +// Copyright 2020 Yushakobo +// SPDX-License-Identifier: GPL-2.0-or-later +#include "quantum.h" + +#ifdef OLED_ENABLE +void render_status(void) { + 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) { + 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(" Layer: "), false); + switch (get_highest_layer(layer_state)) { + case 0: + oled_write_ln_P(PSTR("Default"), false); + break; + case 1: + oled_write_ln_P(PSTR("Lower"), false); + break; + case 2: + oled_write_ln_P(PSTR("Raise"), false); + break; + case 3: + oled_write_ln_P(PSTR("Adjust"), false); + break; + default: + oled_write_ln_P(PSTR("Undefined"), false); + } + oled_write_P(PSTR("\n"), 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_P(led_state.scroll_lock ? PSTR("SCR ") : PSTR(" "), false); +} + +static void render_logo(void) { + static const char PROGMEM qmk_logo[] = { + // clang-format off + 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 + // clang-format on + }; + oled_write_P(qmk_logo, false); +} + +static void render_rgb_matrix_status(void) { + oled_write_P(PSTR(" LED"), false); + oled_write(get_u8_str(rgb_matrix_get_mode(), ' '), false); + oled_write_char(':', false); + oled_write(get_u8_str(rgb_matrix_get_hue() / RGB_MATRIX_HUE_STEP, ' '), false); + oled_write_char(',', false); + oled_write(get_u8_str(rgb_matrix_get_sat() / RGB_MATRIX_SAT_STEP, ' '), false); + oled_write_char(',', false); + oled_write(get_u8_str(rgb_matrix_get_val() / RGB_MATRIX_VAL_STEP, ' '), false); +} + +bool oled_task_kb(void) { + if (!oled_task_user()) { + return false; + } + if (is_keyboard_master()) { + render_status(); + } else { + render_logo(); + render_rgb_matrix_status(); + } + return false; +} +#endif diff --git a/keyboards/helix/info.json b/keyboards/helix/info.json new file mode 100644 index 0000000000..a9ad385b7d --- /dev/null +++ b/keyboards/helix/info.json @@ -0,0 +1,40 @@ +{ + "manufacturer": "Yushakobo", + "maintainer": "MakotoKurauchi", + "build": { + "lto": true + }, + "development_board": "promicro", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "extrakey": true, + "mousekey": true, + "oled": true, + "rgb_matrix": true + }, + "rgb_matrix": { + "animations": { + "breathing": true, + "cycle_left_right": true, + "cycle_pinwheel": true, + "multisplash": true, + "solid_splash": true + }, + "driver": "ws2812", + "max_brightness": 150, + "sleep": true + }, + "split": { + "enabled": true, + "serial": { + "pin": "D2" + } + }, + "usb": { + "vid": "0x3265" + }, + "ws2812": { + "pin": "D3" + } +} diff --git a/keyboards/helix/pico/back/keyboard.json b/keyboards/helix/pico/back/keyboard.json deleted file mode 100644 index 0967ef424b..0000000000 --- a/keyboards/helix/pico/back/keyboard.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/keyboards/helix/pico/back/rules.mk b/keyboards/helix/pico/back/rules.mk deleted file mode 100644 index 066fffb74a..0000000000 --- a/keyboards/helix/pico/back/rules.mk +++ /dev/null @@ -1 +0,0 @@ -LED_BACK_ENABLE = yes diff --git a/keyboards/helix/pico/base/keyboard.json b/keyboards/helix/pico/base/keyboard.json deleted file mode 100644 index 0967ef424b..0000000000 --- a/keyboards/helix/pico/base/keyboard.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/keyboards/helix/pico/config.h b/keyboards/helix/pico/config.h index 6ba88a559c..13de9d5178 100644 --- a/keyboards/helix/pico/config.h +++ b/keyboards/helix/pico/config.h @@ -1,96 +1,5 @@ -/* -Copyright 2012 Jun Wako -Copyright 2015 Jack Humbert -Copyright 2018 MakotoKurauchi - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General 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 2025 QMK +// SPDX-License-Identifier: GPL-2.0-or-later #pragma once -#define QUICK_TAP_TERM 0 - -#define SERIAL_SLAVE_BUFFER_LENGTH ((MATRIX_ROWS)/2) -#define SERIAL_MASTER_BUFFER_LENGTH ((MATRIX_ROWS)/2) - -/* key matrix size */ -// Rows are doubled-up -#define MATRIX_ROWS 8 -#define MATRIX_ROW_PINS { D4, C6, D7, E6 } - -// wiring of each half -#define MATRIX_COLS 7 -#define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3, B2 } -// #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 - -/* COL2ROW, ROW2COL*/ -#define DIODE_DIRECTION COL2ROW - -/* Audio */ -#ifdef AUDIO_ENABLE - #define AUDIO_PIN B5 -#endif - -// Helix keyboard RGB LED support -// see ./rules.mk: LED_BACK_ENABLE or LED_UNDERGLOW_ENABLE set yes -#ifdef RGBLED_BACK - #define RGBLIGHT_LED_COUNT 25 -#else - #define RGBLIGHT_LED_COUNT 6 -#endif - -#ifndef IOS_DEVICE_ENABLE - #if RGBLIGHT_LED_COUNT <= 6 - #define RGBLIGHT_LIMIT_VAL 255 - #else - #define RGBLIGHT_LIMIT_VAL 130 - #endif - #define RGBLIGHT_VAL_STEP 17 -#else - #if RGBLIGHT_LED_COUNT <= 6 - #define RGBLIGHT_LIMIT_VAL 90 - #else - #define RGBLIGHT_LIMIT_VAL 45 - #endif - #define RGBLIGHT_VAL_STEP 4 -#endif - -#if defined(RGBLIGHT_ENABLE) && !defined(IOS_DEVICE_ENABLE) -// USB_MAX_POWER_CONSUMPTION value for Helix keyboard -// 120 RGBoff -// 330 RGB 6 -// 300 RGB 32 -// 310 OLED & RGB 32 - #define USB_MAX_POWER_CONSUMPTION 400 -#else - // fix iPhone and iPad power adapter issue - // iOS device need lessthan 100 - #define USB_MAX_POWER_CONSUMPTION 100 -#endif - -/* - * 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 AUDIO_PIN B5 diff --git a/keyboards/helix/pico/info.json b/keyboards/helix/pico/info.json deleted file mode 100644 index 7909bb0b30..0000000000 --- a/keyboards/helix/pico/info.json +++ /dev/null @@ -1,100 +0,0 @@ -{ - "keyboard_name": "HelixPico", - "manufacturer": "Yushakobo", - "url": "https://github.com/MakotoKurauchi/helix", - "maintainer": "MakotoKurauchi", - "usb": { - "vid": "0x3265", - "pid": "0x0001", - "device_version": "0.0.2" - }, - "split": { - "enabled": true, - "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" - }, - "processor": "atmega32u4", - "bootloader": "caterina", - "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": [4, 5], "x": 9, "y": 0}, - {"matrix": [4, 4], "x": 10, "y": 0}, - {"matrix": [4, 3], "x": 11, "y": 0}, - {"matrix": [4, 2], "x": 12, "y": 0}, - {"matrix": [4, 1], "x": 13, "y": 0}, - {"matrix": [4, 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": [5, 5], "x": 9, "y": 1}, - {"matrix": [5, 4], "x": 10, "y": 1}, - {"matrix": [5, 3], "x": 11, "y": 1}, - {"matrix": [5, 2], "x": 12, "y": 1}, - {"matrix": [5, 1], "x": 13, "y": 1}, - {"matrix": [5, 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": [6, 5], "x": 9, "y": 2}, - {"matrix": [6, 4], "x": 10, "y": 2}, - {"matrix": [6, 3], "x": 11, "y": 2}, - {"matrix": [6, 2], "x": 12, "y": 2}, - {"matrix": [6, 1], "x": 13, "y": 2}, - {"matrix": [6, 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": [3, 5], "x": 5, "y": 3}, - {"matrix": [3, 6], "x": 6, "y": 3}, - - {"matrix": [7, 6], "x": 8, "y": 3}, - {"matrix": [7, 5], "x": 9, "y": 3}, - {"matrix": [7, 4], "x": 10, "y": 3}, - {"matrix": [7, 3], "x": 11, "y": 3}, - {"matrix": [7, 2], "x": 12, "y": 3}, - {"matrix": [7, 1], "x": 13, "y": 3}, - {"matrix": [7, 0], "x": 14, "y": 3} - ] - } - } -} diff --git a/keyboards/helix/pico/keyboard.json b/keyboards/helix/pico/keyboard.json new file mode 100644 index 0000000000..62b25b753b --- /dev/null +++ b/keyboards/helix/pico/keyboard.json @@ -0,0 +1,126 @@ +{ + "keyboard_name": "Helix Pico", + "features": { + "audio": false + }, + "matrix_pins": { + "cols": ["F4", "F5", "F6", "F7", "B1", "B3", "B2"], + "rows": ["D4", "C6", "D7", "E6"] + }, + "rgb_matrix": { + "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": 21, "flags": 4}, + {"matrix": [1, 1], "x": 16, "y": 21, "flags": 4}, + {"matrix": [1, 2], "x": 32, "y": 21, "flags": 4}, + {"matrix": [1, 3], "x": 48, "y": 21, "flags": 4}, + {"matrix": [1, 4], "x": 64, "y": 21, "flags": 4}, + {"matrix": [1, 5], "x": 80, "y": 21, "flags": 4}, + {"matrix": [2, 5], "x": 80, "y": 42, "flags": 4}, + {"matrix": [2, 4], "x": 64, "y": 42, "flags": 4}, + {"matrix": [2, 3], "x": 48, "y": 42, "flags": 4}, + {"matrix": [2, 2], "x": 32, "y": 42, "flags": 4}, + {"matrix": [2, 1], "x": 16, "y": 42, "flags": 4}, + {"matrix": [2, 0], "x": 0, "y": 42, "flags": 4}, + {"matrix": [3, 0], "x": 0, "y": 64, "flags": 4}, + {"matrix": [3, 1], "x": 16, "y": 64, "flags": 4}, + {"matrix": [3, 2], "x": 32, "y": 64, "flags": 4}, + {"matrix": [3, 3], "x": 48, "y": 64, "flags": 4}, + {"matrix": [3, 4], "x": 64, "y": 64, "flags": 4}, + {"matrix": [3, 5], "x": 80, "y": 64, "flags": 4}, + {"matrix": [3, 6], "x": 96, "y": 64, "flags": 4}, + {"matrix": [4, 5], "x": 144, "y": 0, "flags": 4}, + {"matrix": [4, 4], "x": 160, "y": 0, "flags": 4}, + {"matrix": [4, 3], "x": 176, "y": 0, "flags": 4}, + {"matrix": [4, 2], "x": 192, "y": 0, "flags": 4}, + {"matrix": [4, 1], "x": 208, "y": 0, "flags": 4}, + {"matrix": [4, 0], "x": 224, "y": 0, "flags": 4}, + {"matrix": [5, 0], "x": 224, "y": 21, "flags": 4}, + {"matrix": [5, 1], "x": 208, "y": 21, "flags": 4}, + {"matrix": [5, 2], "x": 192, "y": 21, "flags": 4}, + {"matrix": [5, 3], "x": 176, "y": 21, "flags": 4}, + {"matrix": [5, 4], "x": 160, "y": 21, "flags": 4}, + {"matrix": [5, 5], "x": 144, "y": 21, "flags": 4}, + {"matrix": [6, 5], "x": 144, "y": 42, "flags": 4}, + {"matrix": [6, 4], "x": 160, "y": 42, "flags": 4}, + {"matrix": [6, 3], "x": 176, "y": 42, "flags": 4}, + {"matrix": [6, 2], "x": 192, "y": 42, "flags": 4}, + {"matrix": [6, 1], "x": 208, "y": 42, "flags": 4}, + {"matrix": [6, 0], "x": 224, "y": 42, "flags": 4}, + {"matrix": [7, 0], "x": 224, "y": 64, "flags": 4}, + {"matrix": [7, 1], "x": 208, "y": 64, "flags": 4}, + {"matrix": [7, 2], "x": 192, "y": 64, "flags": 4}, + {"matrix": [7, 3], "x": 176, "y": 64, "flags": 4}, + {"matrix": [7, 4], "x": 160, "y": 64, "flags": 4}, + {"matrix": [7, 5], "x": 144, "y": 64, "flags": 4}, + {"matrix": [7, 6], "x": 128, "y": 64, "flags": 4} + ], + "split_count": [25, 25] + }, + "url": "https://shop.yushakobo.jp/products/helixpico-pcb", + "usb": { + "device_version": "0.0.2", + "pid": "0x0001" + }, + "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": [4, 5], "x": 9, "y": 0}, + {"matrix": [4, 4], "x": 10, "y": 0}, + {"matrix": [4, 3], "x": 11, "y": 0}, + {"matrix": [4, 2], "x": 12, "y": 0}, + {"matrix": [4, 1], "x": 13, "y": 0}, + {"matrix": [4, 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": [5, 5], "x": 9, "y": 1}, + {"matrix": [5, 4], "x": 10, "y": 1}, + {"matrix": [5, 3], "x": 11, "y": 1}, + {"matrix": [5, 2], "x": 12, "y": 1}, + {"matrix": [5, 1], "x": 13, "y": 1}, + {"matrix": [5, 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": [6, 5], "x": 9, "y": 2}, + {"matrix": [6, 4], "x": 10, "y": 2}, + {"matrix": [6, 3], "x": 11, "y": 2}, + {"matrix": [6, 2], "x": 12, "y": 2}, + {"matrix": [6, 1], "x": 13, "y": 2}, + {"matrix": [6, 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": [3, 5], "x": 5, "y": 3}, + {"matrix": [3, 6], "x": 6, "y": 3}, + {"matrix": [7, 6], "x": 8, "y": 3}, + {"matrix": [7, 5], "x": 9, "y": 3}, + {"matrix": [7, 4], "x": 10, "y": 3}, + {"matrix": [7, 3], "x": 11, "y": 3}, + {"matrix": [7, 2], "x": 12, "y": 3}, + {"matrix": [7, 1], "x": 13, "y": 3}, + {"matrix": [7, 0], "x": 14, "y": 3} + ] + } + } +} diff --git a/keyboards/helix/pico/keymaps/default/config.h b/keyboards/helix/pico/keymaps/default/config.h deleted file mode 100644 index 0bd76a18b4..0000000000 --- a/keyboards/helix/pico/keymaps/default/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 - -// 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_STATIC_GRADIENT - //#define RGBLIGHT_EFFECT_RGB_TEST - //#define RGBLIGHT_EFFECT_ALTERNATING -#endif diff --git a/keyboards/helix/pico/keymaps/default/keymap.c b/keyboards/helix/pico/keymaps/default/keymap.c deleted file mode 100644 index 28f6a20f9b..0000000000 --- a/keyboards/helix/pico/keymaps/default/keymap.c +++ /dev/null @@ -1,329 +0,0 @@ -/* Copyright 2018 MakotoKurauchi - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more 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 - -// 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 - * ,-----------------------------------------. ,-----------------------------------------. - * | 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_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 , - ADJUST, KC_ESC, KC_LALT, KC_LGUI, EISU, LOWER, KC_SPC, KC_SPC, RAISE, KANA, 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 | - * |------+------+------+------+------+------+-------------+------+------+------+------+------+------| - * |Adjust| Esc | Alt | GUI | EISU |Lower |Space |Space |Raise | KANA | Left | Down | Up |Right | - * `-------------------------------------------------------------------------------------------------' - */ - [_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_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 , - ADJUST, KC_ESC, KC_LALT, KC_LGUI, EISU, LOWER, KC_SPC, KC_SPC, RAISE, KANA, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT - ), - - /* Dvorak - * ,-----------------------------------------. ,-----------------------------------------. - * | Tab | ' | , | . | P | Y | | F | G | C | R | L | Bksp | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | 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_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, 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_ESC, KC_LALT, KC_LGUI, EISU, LOWER, KC_SPC, KC_SPC, RAISE, KANA, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT - ), - - /* Lower - * ,-----------------------------------------. ,-----------------------------------------. - * | ~ | ! | @ | # | $ | % | | ^ | & | * | ( | ) | Del | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | | F1 | F2 | F3 | F4 | F5 | | F6 | _ | + | { | } | | | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | | F7 | F8 | F9 | F10 | F11 | | F12 | | PrSc | 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_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_PSCR, 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 | | PrSc |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_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_PSCR, KC_PGDN, KC_PGUP, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY - ), - - /* Adjust (Lower + Raise) - * ,-----------------------------------------. ,-----------------------------------------. - * | | Reset|RGBRST| | | | | | | | | | | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | |Aud on|Audoff|MU TOG|MU MOD| Mac | | Win |Qwerty|Colemk|Dvorak| | | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | |CK TOG|CK RST| CK UP|CK DWN| | | | |RGB ON| HUE+ | SAT+ | VAL+ | - * |------+------+------+------+------+------+-------------+------+------+------+------+------+------| - * | | | | | | | | | | | MODE | HUE- | SAT- | VAL- | - * `-------------------------------------------------------------------------------------------------' - */ - [_ADJUST] = LAYOUT( - _______, QK_BOOT, RGBRST, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, AU_ON, AU_OFF, MU_TOGG, MU_NEXT, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, _______, _______, - _______, CK_TOGG, CK_RST, CK_UP, CK_DOWN, _______, _______, _______, UG_TOGG, UG_HUEU, UG_SATU, UG_VALU, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, UG_NEXT, UG_HUED, UG_SATD, UG_VALD - ) -}; - - - -#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); -#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 QK_UNDERGLOW_MODE_NEXT: - #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 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_config.mode; - } - #endif - break; - } - return true; -} - -void matrix_init_user(void) { - #ifdef RGBLIGHT_ENABLE - RGB_current_mode = rgblight_config.mode; - #endif -} diff --git a/keyboards/helix/pico/keymaps/default/keymap.json b/keyboards/helix/pico/keymaps/default/keymap.json new file mode 100644 index 0000000000..031ca79677 --- /dev/null +++ b/keyboards/helix/pico/keymaps/default/keymap.json @@ -0,0 +1,25 @@ +{ + "keyboard": "helix/pico", + "keymap": "default", + "layout": "LAYOUT", + "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_ENT" , + "MO(3)", "KC_ESC", "KC_LALT", "KC_LGUI", "LALT(KC_GRV)", "MO(1)", "KC_SPC", "KC_SPC", "MO(2)", "LALT(KC_GRV)", "KC_LEFT", "KC_DOWN", "KC_UP", "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_DEL", + "_______", "KC_F1", "KC_F2", "KC_F3", "KC_F4", "KC_F5", "KC_F6", "KC_MINS", "KC_EQL", "KC_LBRC", "KC_RBRC", "KC_BSLS", + "KC_CAPS", "KC_F7", "KC_F8", "KC_F9", "KC_F10", "KC_F11", "KC_F12", "_______", "_______", "KC_PGDN", "KC_PGUP", "_______", + "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "KC_MNXT", "KC_VOLD", "KC_VOLU", "KC_MPLY" + ], + [ + "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", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", + "EE_CLR", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "UG_TOGG", "UG_HUEU", "UG_SATU", "UG_VALU", + "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "UG_NEXT", "UG_HUED", "UG_SATD", "UG_VALD" + ] + ] +} diff --git a/keyboards/helix/pico/keymaps/default/readme.md b/keyboards/helix/pico/keymaps/default/readme.md deleted file mode 100644 index a6c81651a3..0000000000 --- a/keyboards/helix/pico/keymaps/default/readme.md +++ /dev/null @@ -1,137 +0,0 @@ -# The Default HelixPico Layout -## Layout - -### Qwerty -``` - ,-----------------------------------------. ,-----------------------------------------. - | Tab | Q | W | E | R | T | | Y | U | I | O | P | Bksp | - |------+------+------+------+------+------| |------+------+------+------+------+------| - | Ctrl | A | S | D | F | G | | H | J | K | L | ; | ' | - |------+------+------+------+------+------| |------+------+------+------+------+------| - | Shift| Z | X | C | V | B | | N | M | , | . | / |Enter | - |------+------+------+------+------+------+-------------+------+------+------+------+------+------| - |Adjust| Esc | Alt | GUI | EISU |Lower |Space |Space |Raise | KANA | 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 | - |------+------+------+------+------+------+-------------+------+------+------+------+------+------| - |Adjust| Esc | Alt | GUI | EISU |Lower |Space |Space |Raise | KANA | Left | Down | Up |Right | - `-------------------------------------------------------------------------------------------------' -``` - -### Dvorak -``` - ,-----------------------------------------. ,-----------------------------------------. - | Tab | ' | , | . | P | Y | | F | G | C | R | L | Bksp | - |------+------+------+------+------+------| |------+------+------+------+------+------| - | 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 | - `-------------------------------------------------------------------------------------------------' -``` - -## Layers - -|Priority|number|name|description| -| ---- | ---- | --- | --- | -|high|16|Adjust|Functions| -||4|Raise|Numeric charactors| -||3|Lower|Other charactors| -||2|Dvorak|Dvorak leyout| -||1|Colemak|Colemak leyout| -|low|0|Qwerty|QWERTY leyout(base)| - -### Lower -``` - ,-----------------------------------------. ,-----------------------------------------. - | ~ | ! | @ | # | $ | % | | ^ | & | * | ( | ) | Del | - |------+------+------+------+------+------| |------+------+------+------+------+------| - | | F1 | F2 | F3 | F4 | F5 | | F6 | _ | + | { | } | | | - |------+------+------+------+------+------| |------+------+------+------+------+------| - | | F7 | F8 | F9 | F10 | F11 | | F12 | | PrSc | Home | End | | - |------+------+------+------+------+------+-------------+------+------+------+------+------+------| - | | | | | | | | | | | Next | Vol- | Vol+ | Play | - `-------------------------------------------------------------------------------------------------' -``` - -### Raise -``` - ,-----------------------------------------. ,-----------------------------------------. - | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | Del | - |------+------+------+------+------+------| |------+------+------+------+------+------| - | | F1 | F2 | F3 | F4 | F5 | | F6 | - | = | [ | ] | \ | - |------+------+------+------+------+------| |------+------+------+------+------+------| - | | F7 | F8 | F9 | F10 | F11 | | F12 | | PrSc |PageDn|PageUp| | - |------+------+------+------+------+------+-------------+------+------+------+------+------+------| - | | | | | | | | | | | Next | Vol- | Vol+ | Play | - `-------------------------------------------------------------------------------------------------' -``` - -### Adjust (Lower + Raise) -``` - ,-----------------------------------------. ,-----------------------------------------. - | | Reset| | | | | | | | | | | | - |------+------+------+------+------+------| |------+------+------+------+------+------| - | |Aud on|Audoff|MU TOG|MU MOD| Mac | | Win |Qwerty|Colemk|Dvorak| | | - |------+------+------+------+------+------| |------+------+------+------+------+------| - | |CK TOG|CK RST| CK UP|CK DWN| | | | |RGB ON| HUE+ | SAT+ | VAL+ | - |------+------+------+------+------+------+-------------+------+------+------+------+------+------| - | | | | | | | | | | | MODE | HUE- | SAT- | VAL- | - `-------------------------------------------------------------------------------------------------' -``` - -## Customize - -see `qmk_firmware/keyboards/helix/pico/keymaps/default/rules.mk` - -``` -# 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) -``` -## Compile - -go to qmk top directory. -``` -$ cd qmk_firmware -``` - -build -``` -$ make helix/pico:default -$ make helix/pico/back:default # with backlight -$ make HELIX=no-ani helix/pico/back:default # with backlight without animation -$ make helix/pico/under:default # with underglow -``` - -build (experimental use of split_common with backlight) -``` -$ make helix/pico/sc:default -``` - -flash to keyboard -``` -$ make helix/pico:default:flash -$ make helix/pico/back:default:flash # with backlight -$ make HELIX=no_ani helix/pico/back:default:flash # with backlight without animation -$ make helix/pico/under:default:flash # with underglow - -``` - -## Link -* more detail wrote in Japanese [helix/Doc/firmware_jp.md](https://github.com/MakotoKurauchi/helix/blob/master/Doc/firmware_jp.md) -* [Helix top](https://github.com/MakotoKurauchi/helix) diff --git a/keyboards/helix/pico/keymaps/default/readme_jp.md b/keyboards/helix/pico/keymaps/default/readme_jp.md deleted file mode 100644 index 73f97ad9a6..0000000000 --- a/keyboards/helix/pico/keymaps/default/readme_jp.md +++ /dev/null @@ -1,138 +0,0 @@ -# The Default HelixPico 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 | - |------+------+------+------+------+------+-------------+------+------+------+------+------+------| - |Adjust| Esc | Alt | GUI | EISU |Lower |Space |Space |Raise | KANA | Left | Down | Up |Right | - `-------------------------------------------------------------------------------------------------' -``` - -### Lower -``` - ,-----------------------------------------. ,-----------------------------------------. - | ~ | ! | @ | # | $ | % | | ^ | & | * | ( | ) | Del | - |------+------+------+------+------+------| |------+------+------+------+------+------| - | | F1 | F2 | F3 | F4 | F5 | | F6 | _ | + | { | } | | | - |------+------+------+------+------+------| |------+------+------+------+------+------| - | | F7 | F8 | F9 | F10 | F11 | | F12 | | PrSc | Home | End | | - |------+------+------+------+------+------+-------------+------+------+------+------+------+------| - | | | | | | | | | | | Next | Vol- | Vol+ | Play | - `-------------------------------------------------------------------------------------------------' -``` - -### Raise -``` - ,-----------------------------------------. ,-----------------------------------------. - | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | Del | - |------+------+------+------+------+------| |------+------+------+------+------+------| - | | F1 | F2 | F3 | F4 | F5 | | F6 | - | = | [ | ] | \ | - |------+------+------+------+------+------| |------+------+------+------+------+------| - | | F7 | F8 | F9 | F10 | F11 | | F12 | | PrSc |PageDn|PageUp| | - |------+------+------+------+------+------+-------------+------+------+------+------+------+------| - | | | | | | | | | | | Next | Vol- | Vol+ | Play | - `-------------------------------------------------------------------------------------------------' -``` - -### Adjust (Lower + Raise) -``` - ,-----------------------------------------. ,-----------------------------------------. - | | Reset| | | | | | | | | | | | - |------+------+------+------+------+------| |------+------+------+------+------+------| - | |Aud on|Audoff|MU TOG|MU MOD| Mac | | Win |Qwerty|Colemk|Dvorak| | | - |------+------+------+------+------+------| |------+------+------+------+------+------| - | |CK TOG|CK RST| CK UP|CK DWN| | | | |RGB ON| HUE+ | SAT+ | VAL+ | - |------+------+------+------+------+------+-------------+------+------+------+------+------+------| - | | | | | | | | | | | MODE | HUE- | SAT- | VAL- | - `-------------------------------------------------------------------------------------------------' -``` - -他の配列(Colemak,Dvorak)は、[readme.md](readme.md) を参照 - -## カスタマイズ - -RGB バックライトまたは、RGB Underglow をつけた場合は、 -`qmk_firmware/keyboards/helix/pico/keymaps/default/rules.mk` の以下の部分を編集して機能を有効化してください。 - -``` -# 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) -``` - -## RGB バックライトを有効にする - -rules.mk の下記の部分を編集して no を yes に変更してください。 - -``` -LED_BACK_ENABLE = yes # LED backlight (Enable WS2812 RGB underlight.) -``` - -## 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) -``` - -## コンパイルの仕方 - -コンパイルは、qmk_firmware のトップディレクトリで行います。 - -``` -$ cd qmk_firmware -``` -qmk_firmwareでは各キーボードのコンパイルは、`<キーボード名>:<キーマップ名>`という指定で行います。 - -``` -$ make helix/pico:default -``` - -キーボードへの書き込みまで同時に行うには下記のように`:flash`を付けます。 - -``` -$ make helix/pico:default:flash -``` - -コンパイル結果と中間生成物を消去したい場合は以下のようにします。 - -``` -$ make helix/pico:default:clean -``` - -上記の、rules.mk によるカスタマイズ項目の一部は下記のようにコマンド上で直接指定することも可能です。 - -RGB バックライトを有効にしてコンパイルしてキーボードへ書き込む。 -``` -$ make helix/pico/back:default:flash -``` - -RGB Underglow を有効にしてコンパイルしてキーボードへ書き込む。 -``` -$ make helix/pico/under:default:flash -``` - -## リンク - -* さらに詳細は、[こちら helix/Doc/firmware_jp.md](https://github.com/MakotoKurauchi/helix/blob/master/Doc/firmware_jp.md)をご覧ください。 -* [Helix top](https://github.com/MakotoKurauchi/helix) diff --git a/keyboards/helix/pico/keymaps/default/rules.mk b/keyboards/helix/pico/keymaps/default/rules.mk deleted file mode 100644 index 9a29406c17..0000000000 --- a/keyboards/helix/pico/keymaps/default/rules.mk +++ /dev/null @@ -1,11 +0,0 @@ -EXTRAKEY_ENABLE = yes # Audio control and System control -AUDIO_ENABLE = yes # Audio output -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/override_helix_options.mk-maintenance b/keyboards/helix/pico/override_helix_options.mk-maintenance deleted file mode 100644 index 0ff930957e..0000000000 --- a/keyboards/helix/pico/override_helix_options.mk-maintenance +++ /dev/null @@ -1,42 +0,0 @@ -# -# This file is not normally used. It is used for maintenance testing purposes. -# To use it, do the following: -# -# $ cp override_helix_options.mk-maintenance override_helix_options.mk -# -$(info -------------------------) -$(info override_helix_options.mk) -$(info -------------------------) - -define HELIX_OVERRIDE_PARSE - ifeq ($(strip $1),back) - LED_BACK_ENABLE = yes - LED_UNDERGLOW_ENABLE = no - endif - ifeq ($(strip $1),under) - LED_BACK_ENABLE = no - LED_UNDERGLOW_ENABLE = yes - endif - ifneq ($(filter noled led-off led_off,$(strip $1)),) - LED_BACK_ENABLE = no - LED_UNDERGLOW_ENABLE = no - endif - ifneq ($(filter noaudio audio-off audio_off,$(strip $1)),) - AUDIO_ENABLE = no - endif - ifneq ($(filter audio audio-on audio_on,$(strip $1)),) - AUDIO_ENABLE = yes - endif - ifneq ($(filter sc split-common split_common,$(strip $1)),) - SPLIT_KEYBOARD = yes - endif - ifneq ($(filter nosc no-sc no-split-common no-split_common,$(strip $1)),) - SPLIT_KEYBOARD = no - endif - ifeq ($(strip $1),scan) - DEBUG_MATRIX_SCAN_RATE_ENABLE = yes - endif - ifeq ($(strip $1),scan-api) - DEBUG_MATRIX_SCAN_RATE_ENABLE = api - endif -endef # end of HELIX_OVERRIDE_PARSE diff --git a/keyboards/helix/pico/pico.c b/keyboards/helix/pico/pico.c deleted file mode 100644 index cc98fe8f61..0000000000 --- a/keyboards/helix/pico/pico.c +++ /dev/null @@ -1,37 +0,0 @@ -/* Copyright 2018 MakotoKurauchi - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#include "pico.h" - -// Each keymap.c should use is_keyboard_master() instead of 'is_master'. -// But keep 'is_master' for a while for backwards compatibility -// for the old keymap.c. -uint8_t is_master = false; - -void matrix_init_kb(void) { - // Each keymap.c should use is_keyboard_master() instead of is_master. - // But keep is_master for a while for backwards compatibility - // for the old keymap.c. - is_master = is_keyboard_master(); - - matrix_init_user(); -}; - -void keyboard_post_init_kb(void) { -#if defined(DEBUG_MATRIX_SCAN_RATE) - debug_enable = true; -#endif - keyboard_post_init_user(); -} diff --git a/keyboards/helix/pico/pico.h b/keyboards/helix/pico/pico.h deleted file mode 100644 index 7f2d795ca8..0000000000 --- a/keyboards/helix/pico/pico.h +++ /dev/null @@ -1,24 +0,0 @@ -/* Copyright 2018 MakotoKurauchi - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License 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" - -// Each keymap.c should use is_keyboard_master() instead of 'is_master', 'has_usb()'. -// But keep 'is_master' for a while for backwards compatibility -// for the old keymap.c. -extern uint8_t is_master; // 'is_master' will be obsolete, it is recommended to use 'is_keyboard_master ()' instead. -#define has_usb() is_keyboard_master() diff --git a/keyboards/helix/pico/post_config.h b/keyboards/helix/pico/post_config.h deleted file mode 100644 index dda73d5d22..0000000000 --- a/keyboards/helix/pico/post_config.h +++ /dev/null @@ -1,7 +0,0 @@ -#pragma once - -#if defined(SPLIT_KEYBOARD) /* if use split_common */ -# if defined(RGBLIGHT_ENABLE) && !defined(RGBLIGHT_SPLIT) -# define RGBLIGHT_SPLIT /* helix hardware need this */ -# endif -#endif diff --git a/keyboards/helix/pico/post_rules.mk b/keyboards/helix/pico/post_rules.mk deleted file mode 100644 index 88bb5482ba..0000000000 --- a/keyboards/helix/pico/post_rules.mk +++ /dev/null @@ -1,77 +0,0 @@ -# -# post_rules.mk contains post-processing rules for the Helix keyboard. -# -# Post-processing rules convert keyboard-specific shortcuts (that represent -# combinations of standard options) into QMK standard options. -# --include $(strip $(HELIX_TOP_DIR)/pico/override_helix_options.mk) ## File dedicated to maintenance - -# Parse 'HELIX=xx,yy,zz' option -ifneq ($(strip $(HELIX)),) - # make HELIX=ios helix/pico:AKEYMAP - # make HELIX=no-ani helix/pico:AKEYMAP - # make HELIX=ios,no-ani helix/pico:AKEYMAP - define HELIX_OPTION_PARSE - # parce 'no-ani' 'ios' - $(if $(SHOW_PARCE),$(info parse .$1.)) #debug - $(if $(HELIX_OVERRIDE_PARSE),$(call HELIX_OVERRIDE_PARSE,$1)) - - ifeq ($(strip $1),ios) - IOS_DEVICE_ENABLE = yes - endif - ifneq ($(filter na no_ani no-ani,$(strip $1)),) - LED_ANIMATIONS = no - endif - endef # end of HELIX_OPTION_PARSE - - COMMA=, - $(eval $(foreach A_OPTION_NAME,$(subst $(COMMA), ,$(HELIX)), \ - $(call HELIX_OPTION_PARSE,$(A_OPTION_NAME)))) - SHOW_HELIX_OPTIONS = yes -endif - -######## -# convert Helix-specific options (that represent combinations of standard options) -# into QMK standard options. - -ifeq ($(strip $(LED_BACK_ENABLE)), yes) - RGBLIGHT_ENABLE = yes - OPT_DEFS += -DRGBLED_BACK - ifeq ($(strip $(LED_UNDERGLOW_ENABLE)), yes) - $(error LED_BACK_ENABLE and LED_UNDERGLOW_ENABLE both 'yes') - endif -else ifeq ($(strip $(LED_UNDERGLOW_ENABLE)), yes) - RGBLIGHT_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 $(AUDIO_ENABLE)),yes) - ifeq ($(strip $(RGBLIGHT_ENABLE)),yes) - LTO_ENABLE = yes - endif -endif - -ifneq ($(strip $(SHOW_HELIX_OPTIONS)),) - $(info Helix Spacific Build Options) - $(info - LED_BACK_ENABLE = $(LED_BACK_ENABLE)) - $(info - LED_UNDERGLOW_ENABLE = $(LED_UNDERGLOW_ENABLE)) - $(info - LED_ANIMATIONS = $(LED_ANIMATIONS)) - $(info - IOS_DEVICE_ENABLE = $(IOS_DEVICE_ENABLE)) - $(info ) - $(info QMK Build Options) - $(info -- SPLIT_KEYBOARD = $(SPLIT_KEYBOARD)) - $(info -- AUDIO_ENABLE = $(AUDIO_ENABLE)) - $(info -- RGBLIGHT_ENABLE = $(RGBLIGHT_ENABLE)) - $(info -- CONSOLE_ENABLE = $(CONSOLE_ENABLE)) - $(info -- OPT_DEFS = $(OPT_DEFS)) - $(info -- LTO_ENABLE = $(LTO_ENABLE)) - $(info -- DEBUG_MATRIX_SCAN_RATE_ENABLE = $(DEBUG_MATRIX_SCAN_RATE_ENABLE)) - $(info ) -endif diff --git a/keyboards/helix/pico/qmk_conf/keyboard.json b/keyboards/helix/pico/qmk_conf/keyboard.json deleted file mode 100644 index ddb7220342..0000000000 --- a/keyboards/helix/pico/qmk_conf/keyboard.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "features": { - "audio": true, - "extrakey": true - } -} diff --git a/keyboards/helix/pico/rules.mk b/keyboards/helix/pico/rules.mk deleted file mode 100644 index 449df9caa6..0000000000 --- a/keyboards/helix/pico/rules.mk +++ /dev/null @@ -1,7 +0,0 @@ -# Helix Spacific Build Options default values -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) - -DEFAULT_FOLDER = helix/pico/base diff --git a/keyboards/helix/pico/sc/keyboard.json b/keyboards/helix/pico/sc/keyboard.json deleted file mode 100644 index 0967ef424b..0000000000 --- a/keyboards/helix/pico/sc/keyboard.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/keyboards/helix/pico/sc/rules.mk b/keyboards/helix/pico/sc/rules.mk deleted file mode 100644 index 066fffb74a..0000000000 --- a/keyboards/helix/pico/sc/rules.mk +++ /dev/null @@ -1 +0,0 @@ -LED_BACK_ENABLE = yes diff --git a/keyboards/helix/pico/under/keyboard.json b/keyboards/helix/pico/under/keyboard.json deleted file mode 100644 index 0967ef424b..0000000000 --- a/keyboards/helix/pico/under/keyboard.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/keyboards/helix/pico/under/rules.mk b/keyboards/helix/pico/under/rules.mk deleted file mode 100644 index a37aa6fab3..0000000000 --- a/keyboards/helix/pico/under/rules.mk +++ /dev/null @@ -1 +0,0 @@ -LED_UNDERGLOW_ENABLE = yes diff --git a/keyboards/helix/readme.md b/keyboards/helix/readme.md index 0c190f7626..810e0c1658 100644 --- a/keyboards/helix/readme.md +++ b/keyboards/helix/readme.md @@ -1,16 +1,45 @@ -Helix -=== +# Helix -![Helix](https://i.imgur.com/XBAmynN.jpg) +![image](https://i.imgur.com/11o4MRV.jpeg) -A compact split ortholinear keyboard. +* Keyboard Maintainer: [MakotoKurauchi](https://github.com/MakotoKurauchi) +* Hardware Supported: Helix Pico, Beta, rev3 PCBs w/ Pro Micro compatible development board +* Hardware Availability: [Yushakobo](https://shop.yushakobo.jp), [GitHub](https://github.com/MakotoKurauchi/helix) -Keyboard Maintainer: [Makoto Kurauchi](https://github.com/MakotoKurauchi/) [@pluis9](https://twitter.com/pluis9) [yushakobo](https://github.com/yushakobo) -Hardware Supported: Helix PCB Alpha, Beta, Rev3, Pro Micro -Hardware Availability: [PCB & Case Data](https://github.com/MakotoKurauchi/helix), [Yushakobo Shop](https://yushakobo.jp/shop/), [Little Keyboards](https://littlekeyboards.com/collections/helix) +## Revisions +- [Pico](https://shop.yushakobo.jp/products/helixpico-pcb) + - 4 row PCB + - per-key RGB + - support for a 128x32 OLED display + - footprint for speaker +- [Beta](https://shop.yushakobo.jp/products/oss_pcb?variant=39452554231969) + - 4 or 5 row PCB with snappable bottom row + - per-key RGB + - support for a 128x32 OLED display +- [rev3](https://shop.yushakobo.jp/products/2143) + - 4 or 5 row PCB with snappable bottom row + - per-key RGB + - support for a 128x32 OLED display + - rotary encoders -## How to build - * [Helix how to Customize and Compile](rev2/keymaps/default/readme.md#customize) - * [HelixPico how to Customize and Compile](pico/keymaps/default/readme.md#customize) +Make example for this keyboard (after setting up your build environment): -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. + make helix/pico:default + make helix/beta:default + make helix/rev3:default + +Flashing example for this keyboard: + + make helix/pico:default:flash + make helix/beta:default:flash + make helix/rev3: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 and plug in the keyboard +* **Physical reset button**: Briefly tap or double-tap the button near the TRRS jack +* **Keycode in layout**: Press the key mapped to `QK_BOOT` diff --git a/keyboards/helix/rev2/back/keyboard.json b/keyboards/helix/rev2/back/keyboard.json deleted file mode 100644 index 0967ef424b..0000000000 --- a/keyboards/helix/rev2/back/keyboard.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/keyboards/helix/rev2/back/rules.mk b/keyboards/helix/rev2/back/rules.mk deleted file mode 100644 index 066fffb74a..0000000000 --- a/keyboards/helix/rev2/back/rules.mk +++ /dev/null @@ -1 +0,0 @@ -LED_BACK_ENABLE = yes diff --git a/keyboards/helix/rev2/base/keyboard.json b/keyboards/helix/rev2/base/keyboard.json deleted file mode 100644 index 0967ef424b..0000000000 --- a/keyboards/helix/rev2/base/keyboard.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/keyboards/helix/rev2/config.h b/keyboards/helix/rev2/config.h deleted file mode 100644 index 67af503882..0000000000 --- a/keyboards/helix/rev2/config.h +++ /dev/null @@ -1,78 +0,0 @@ -/* -Copyright 2012 Jun Wako -Copyright 2015 Jack Humbert -Copyright 2018 MakotoKurauchi - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - -#pragma once - -#define QUICK_TAP_TERM 0 - -#define OLED_UPDATE_INTERVAL 50 - -// Helix keyboard RGB LED support -// see ./rules.mk: LED_BACK_ENABLE or LED_UNDERGLOW_ENABLE set yes -#ifdef RGBLED_BACK - #define RGBLIGHT_LED_COUNT 32 -#else - #define RGBLIGHT_LED_COUNT 6 -#endif - -#ifndef IOS_DEVICE_ENABLE - #if RGBLIGHT_LED_COUNT <= 6 - #define RGBLIGHT_LIMIT_VAL 255 - #else - #define RGBLIGHT_LIMIT_VAL 120 - #endif - #define RGBLIGHT_VAL_STEP 17 -#else - #if RGBLIGHT_LED_COUNT <= 6 - #define RGBLIGHT_LIMIT_VAL 90 - #else - #define RGBLIGHT_LIMIT_VAL 35 - #endif - #define RGBLIGHT_VAL_STEP 4 -#endif - -#if defined(RGBLIGHT_ENABLE) && !defined(IOS_DEVICE_ENABLE) -// USB_MAX_POWER_CONSUMPTION value for Helix keyboard -// 120 RGBoff, OLEDoff -// 120 OLED -// 330 RGB 6 -// 300 RGB 32 -// 310 OLED & RGB 32 - #define USB_MAX_POWER_CONSUMPTION 400 -#else - // fix iPhone and iPad power adapter issue - // iOS device need lessthan 100 - #define USB_MAX_POWER_CONSUMPTION 100 -#endif - -/* - * 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/helix/rev2/info.json b/keyboards/helix/rev2/info.json deleted file mode 100644 index a8bdb23e41..0000000000 --- a/keyboards/helix/rev2/info.json +++ /dev/null @@ -1,127 +0,0 @@ -{ - "keyboard_name": "Helix Beta", - "manufacturer": "Yushakobo", - "url": "https://github.com/MakotoKurauchi/helix", - "maintainer": "MakotoKurauchi", - "usb": { - "vid": "0x3265", - "pid": "0x0000", - "device_version": "0.0.1" - }, - "matrix_pins": { - "cols": ["F4", "F5", "F6", "F7", "B1", "B3", "B2"], - "rows": ["D4", "C6", "D7", "E6", "B4"] - }, - "diode_direction": "COL2ROW", - "split": { - "enabled": true, - "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" - }, - "processor": "atmega32u4", - "bootloader": "caterina", - "layouts": { - "LAYOUT": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [0, 4], "x": 4, "y": 0}, - {"matrix": [0, 5], "x": 5, "y": 0}, - - {"matrix": [5, 5], "x": 9, "y": 0}, - {"matrix": [5, 4], "x": 10, "y": 0}, - {"matrix": [5, 3], "x": 11, "y": 0}, - {"matrix": [5, 2], "x": 12, "y": 0}, - {"matrix": [5, 1], "x": 13, "y": 0}, - {"matrix": [5, 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": [6, 5], "x": 9, "y": 1}, - {"matrix": [6, 4], "x": 10, "y": 1}, - {"matrix": [6, 3], "x": 11, "y": 1}, - {"matrix": [6, 2], "x": 12, "y": 1}, - {"matrix": [6, 1], "x": 13, "y": 1}, - {"matrix": [6, 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": [7, 5], "x": 9, "y": 2}, - {"matrix": [7, 4], "x": 10, "y": 2}, - {"matrix": [7, 3], "x": 11, "y": 2}, - {"matrix": [7, 2], "x": 12, "y": 2}, - {"matrix": [7, 1], "x": 13, "y": 2}, - {"matrix": [7, 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": [3, 5], "x": 5, "y": 3}, - {"matrix": [3, 6], "x": 6, "y": 3}, - - {"matrix": [8, 6], "x": 8, "y": 3}, - {"matrix": [8, 5], "x": 9, "y": 3}, - {"matrix": [8, 4], "x": 10, "y": 3}, - {"matrix": [8, 3], "x": 11, "y": 3}, - {"matrix": [8, 2], "x": 12, "y": 3}, - {"matrix": [8, 1], "x": 13, "y": 3}, - {"matrix": [8, 0], "x": 14, "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": [9, 6], "x": 8, "y": 4}, - {"matrix": [9, 5], "x": 9, "y": 4}, - {"matrix": [9, 4], "x": 10, "y": 4}, - {"matrix": [9, 3], "x": 11, "y": 4}, - {"matrix": [9, 2], "x": 12, "y": 4}, - {"matrix": [9, 1], "x": 13, "y": 4}, - {"matrix": [9, 0], "x": 14, "y": 4} - ] - } - } -} diff --git a/keyboards/helix/rev2/keymaps/default/config.h b/keyboards/helix/rev2/keymaps/default/config.h deleted file mode 100644 index b8c1041cdc..0000000000 --- a/keyboards/helix/rev2/keymaps/default/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/default/keymap.c b/keyboards/helix/rev2/keymaps/default/keymap.c deleted file mode 100644 index a48a855e02..0000000000 --- a/keyboards/helix/rev2/keymaps/default/keymap.c +++ /dev/null @@ -1,341 +0,0 @@ -/* Copyright 2020 yushakobo - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#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 { - _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 | _ | + | { | } | | | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | CAPS | 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_CAPS, 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 | - | = | [ | ] | \ | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | CAPS | 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_CAPS, 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, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, UG_TOGG, UG_HUEU, UG_SATU, UG_VALU, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, UG_NEXT, UG_HUED, UG_SATD, UG_VALD - ) -}; - -#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); -#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 QK_UNDERGLOW_MODE_NEXT: - #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 (is_mac_mode()) { - register_code(KC_LNG2); - } else { - SEND_STRING(SS_LALT("`")); - } - } else { - unregister_code(KC_LNG2); - } - return false; - break; - case KANA: - if (record->event.pressed) { - if (is_mac_mode()) { - 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 RGBLIGHT_ENABLE - RGB_current_mode = rgblight_get_mode(); - #endif -} diff --git a/keyboards/helix/rev2/keymaps/default/oled_display.c b/keyboards/helix/rev2/keymaps/default/oled_display.c deleted file mode 100644 index 4eb815ce48..0000000000 --- a/keyboards/helix/rev2/keymaps/default/oled_display.c +++ /dev/null @@ -1,138 +0,0 @@ -/* Copyright 2020 yushakobo - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include -#include -#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 { - _QWERTY = 0, - _COLEMAK, - _DVORAK, - _LOWER, - _RAISE, - _ADJUST -}; - -//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) - -//OLED update loop -#ifdef OLED_ENABLE -oled_rotation_t oled_init_user(oled_rotation_t rotation) { - if (is_keyboard_master()) { - return OLED_ROTATION_0; - } else { - return OLED_ROTATION_180; - } -} - -static void render_rgbled_status(bool full) { -# 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(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), "%u", 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 (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(); - - // 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_advance_page(true); - render_rgbled_status(true); - oled_write_P(PSTR("\n"), false); -} - -bool oled_task_user(void) { - -# if DEBUG_TO_SCREEN - if (debug_enable) { - return; - } -# endif - - if (is_keyboard_master()) { - render_status(); - } else { - render_helix_logo(); - render_rgbled_status(false); - render_layer_status(); - } - return false; -} -#endif // end of OLED_ENABLE diff --git a/keyboards/helix/rev2/keymaps/default/readme.md b/keyboards/helix/rev2/keymaps/default/readme.md deleted file mode 100644 index f1917a100a..0000000000 --- a/keyboards/helix/rev2/keymaps/default/readme.md +++ /dev/null @@ -1,154 +0,0 @@ -# The Default Helix Layout -## Layout - -### 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 | - `-------------------------------------------------------------------------------------------------' -``` - -### 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 | - `-------------------------------------------------------------------------------------------------' -``` - -### 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 | - `-------------------------------------------------------------------------------------------------' -``` - -## Layers - -|Priority|number|name|description| -| ---- | ---- | --- | --- | -|high|16|Adjust|Functions| -||4|Raise|Numeric charactors| -||3|Lower|Other charactors| -||2|Dvorak|Dvorak leyout| -||1|Colemak|Colemak leyout| -|low|0|Qwerty|QWERTY leyout(base)| - -### Lower -``` - ,-----------------------------------------. ,-----------------------------------------. - | ~ | ! | @ | # | $ | % | | ^ | & | * | ( | ) | | - |------+------+------+------+------+------| |------+------+------+------+------+------| - | ~ | ! | @ | # | $ | % | | ^ | & | * | ( | ) | | - |------+------+------+------+------+------| |------+------+------+------+------+------| - | | F1 | F2 | F3 | F4 | F5 | | F6 | _ | + | { | } | | | - |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - | | F7 | F8 | F9 | F10 | F11 | ( | ) | F12 | | | Home | End | | - |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - | | | | | | | | | | | Next | Vol- | Vol+ | Play | - `-------------------------------------------------------------------------------------------------' -``` - -### 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 | - `-------------------------------------------------------------------------------------------------' -``` - -### 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- | - `-------------------------------------------------------------------------------------------------' -``` - -## Customize - -see `qmk_firmware/keyboards/helix/rev2/keymaps/default/rules.mk` - -``` -# Helix Spacific Build Options -# you can uncomment and edit follows 7 Variables -# jp: 以下の7つの変数を必要に応じて編集し、コメントアウトをはずします。 -# OLED_ENABLE = yes # 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) -``` -## Compile - -go to qmk top directory. -``` -$ cd qmk_firmware -``` - -build -``` -$ make helix:default # with oled -$ make helix/rev2/back:default # with oled and backlight -$ make HELIX=no-ani helix/rev2/back:default # with oled and backlight without animation -$ make helix/rev2/under:default # with oled and underglow -$ make HELIX=no-oled helix:default # without oled -``` - -build (experimental use of split_common with backlight and oled) -``` -$ make helix/rev2/sc:default -``` - -flash to keyboard -``` -$ make helix:default:flash # with oled -$ make helix/rev2/back:default:flash # with oled and backlight -$ make HELIX=no-ani helix/rev2/back:default:flash # with oled and backlight without animation -$ make helix/rev2/under:default:flash # with oled and underglow -$ make HELIX=no-oled helix:default:flash # without oled -``` - -## Link -* more detail wrote in Japanese [helix/Doc/firmware_jp.md](https://github.com/MakotoKurauchi/helix/blob/master/Doc/firmware_jp.md) -* [Helix top](https://github.com/MakotoKurauchi/helix) - diff --git a/keyboards/helix/rev2/keymaps/default/readme_jp.md b/keyboards/helix/rev2/keymaps/default/readme_jp.md deleted file mode 100644 index 6ecac8f25d..0000000000 --- a/keyboards/helix/rev2/keymaps/default/readme_jp.md +++ /dev/null @@ -1,127 +0,0 @@ -# The Default Helix Layout -## 配列 - -### 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 | - `-------------------------------------------------------------------------------------------------' -``` - -他の配列(Colemak,Dvorak)は、[readme.md](readme.md) を参照 - -## カスタマイズ - -Helix キーボードを4行版として製作したり、オプションの OLED をつけたり、 -RGB バックライトまたは、RGB Underglow をつけた場合は、 -`qmk_firmware/keyboards/helix/rev2/keymaps/default/rules.mk` の以下の部分を編集して機能を有効化してください。 - -``` -# Helix Spacific Build Options -# you can uncomment and edit follows 7 Variables -# jp: 以下の7つの変数を必要に応じて編集し、コメントアウトをはずします。 -# OLED_ENABLE = yes # 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) -``` - -## RGB バックライトを有効にする - -rules.mk の下記の部分を編集して no を yes に変更してください。 - -``` -LED_BACK_ENABLE = yes # LED backlight (Enable WS2812 RGB underlight.) -``` - -## RGB Underglow を有効にする - -rules.mk の下記の部分を編集して no を yes に変更してください。 -``` -LED_UNDERGLOW_ENABLE = yes # LED underglow (Enable WS2812 RGB underlight.) -``` - -## OLEDを無効にする - -OLED はデフォルトで有効になっています。 -無効にしたいときは rules.mk の下記の部分を編集して yes を no に変更してください。 -``` -OLED_ENABLE = no # OLED_ENABLE -``` - -## iPad/iPhoneサポートを有効にする。 - -rules.mk の下記の部分を編集して no を yes に変更してください。 -RBG Underglow や RGBバックライトの輝度を抑えて、iPad, iPhone にも接続できるようになります。 - -``` -IOS_DEVICE_ENABLE = no # connect to IOS device (iPad,iPhone) -``` - -## コンパイルの仕方 - -コンパイルは、qmk_firmware のトップディレクトリで行います。 - -``` -$ cd qmk_firmware -``` -qmk_firmwareでは各キーボードのコンパイルは、`<キーボード名>:<キーマップ名>`という指定で行います。 - -``` -$ make helix:default -``` - -キーボードへの書き込みまで同時に行うには下記のように`:flash`を付けます。 - -``` -$ make helix:default:flash -``` - -コンパイル結果と中間生成物を消去したい場合は以下のようにします。 - -``` -$ make helix:default:clean -``` - -上記の、rules.mk によるカスタマイズ項目の一部は下記のようにコマンド上で直接指定することも可能です。 - -OLED を無効にしてコンパイルしてキーボードへの書き込む。 -``` -$ make HELIX=no-oled helix/rev2:default:flash -``` - -RGB バックライトを有効にしてコンパイルしてキーボードへ書き込む。 -``` -$ make helix/rev2/back:default:flash -``` - -RGB Underglow を有効にしてコンパイルしてキーボードへ書き込む。 -``` -$ make helix/rev2/under:default:flash -``` - -OLED を無効にして、RGB バックライトを有効にしてコンパイルしてキーボードへ書き込む。 -``` -$ make HELIX=no-oled helix/rev2/back:default:flash -``` - -OLED を無効にして、RGB Underglowを有効にしてコンパイルしてキーボードへ書き込む。 -``` -$ make HELIX=no-oled helix/rev2/under:default:flash -``` - -## リンク - -* さらに詳細は、[こちら helix/Doc/firmware_jp.md](https://github.com/MakotoKurauchi/helix/blob/master/Doc/firmware_jp.md)をご覧ください。 -* [Helix top](https://github.com/MakotoKurauchi/helix) diff --git a/keyboards/helix/rev2/keymaps/default/rules.mk b/keyboards/helix/rev2/keymaps/default/rules.mk deleted file mode 100644 index 83029d1e0b..0000000000 --- a/keyboards/helix/rev2/keymaps/default/rules.mk +++ /dev/null @@ -1,23 +0,0 @@ -LTO_ENABLE = yes # if firmware size over limit, try this option - -# 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_ENABLE が yes のとき -# OLED_SELECT が core ならば QMK 標準の oled_dirver.c を使用します。 -# OLED_SELECT が core 以外ならば従来どおり helix/local_drivers/ssd1306.c を使用します。 -# If OLED_ENABLE is 'yes' -# If OLED_SELECT is 'core', use QMK standard oled_dirver.c. -# If OLED_SELECT is other than 'core', use helix/local_drivers/ssd1306.c. -OLED_SELECT = core - -ifeq ($(strip $(OLED_ENABLE)), yes) - SRC += oled_display.c -endif diff --git a/keyboards/helix/rev2/keymaps/five_rows_jis/config.h b/keyboards/helix/rev2/keymaps/five_rows_jis/config.h deleted file mode 100644 index 97494c937f..0000000000 --- a/keyboards/helix/rev2/keymaps/five_rows_jis/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 . -*/ - -#ifndef CONFIG_USER_H -#define CONFIG_USER_H - -// place overrides here - -#ifdef MOUSEKEY_ENABLE - #undef MOUSEKEY_INTERVAL - #define MOUSEKEY_INTERVAL 0 - - #undef MOUSEKEY_TIME_TO_MAX - #define MOUSEKEY_TIME_TO_MAX 150 - - #undef MOUSEKEY_MAX_SPEED - #define MOUSEKEY_MAX_SPEED 3 - - #undef MOUSEKEY_MOVE_DELTA - #define MOUSEKEY_MOVE_DELTA 5 - - #undef MOUSEKEY_DELAY - #define MOUSEKEY_DELAY 0 -#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 - -#endif /* CONFIG_USER_H */ diff --git a/keyboards/helix/rev2/keymaps/five_rows_jis/keymap.c b/keyboards/helix/rev2/keymaps/five_rows_jis/keymap.c deleted file mode 100644 index 70430894ef..0000000000 --- a/keyboards/helix/rev2/keymaps/five_rows_jis/keymap.c +++ /dev/null @@ -1,410 +0,0 @@ -#include QMK_KEYBOARD_H -#include "keymap_japanese.h" -#include -#include - -// * 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 - -// * If you want to use the Kana key you can enable this comment out. However, the binary size may be over. * -// #define KANA_ENABLE - -// 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, - _BAS_E, - _LOWER, - _LOW_E, - _RAISE, - _RAI_E, - _ADJUST, -}; - -enum custom_keycodes { - RGBRST = SAFE_RANGE, - #ifdef KANA_ENABLE - EISU, - KANA, - #endif -}; - -// Layer Mode aliases -#define DL_BAS DF(_BASE) -#define DL_BASE DF(_BAS_E) -#define ML_LOW MO(_LOWER) -#define ML_LOWE MO(_LOW_E) -#define ML_RAI MO(_RAISE) -#define ML_RAIE MO(_RAI_E) -#define ML_ADJ MO(_ADJUST) - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* Qwerty JIS Normal - * ,-----------------------------------------. ,-----------------------------------------. - * | Esc | 1! | 2" | 3# | 4$ | 5% | | 6& | 7' | 8( | 9) | 0 | -= | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | KANJI| Q | W | E | R | T | | Y | U | I | O | P | @` | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | Tab | A | S | D | F | G | | H | J | K | L | ;+ | :* | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | Shift| Z | X | C | V | B | N | B | N | M | ,< | .> | Up |Enter | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | Ctrl | GUI | Alt |Adjust|Lower |Space |Bksp |Space |Space |Raise | APP | Left | Down |Right | - * `-------------------------------------------------------------------------------------------------' - */ - [_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, - JP_ZKHK, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, JP_AT, - KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, JP_COLN, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_UP, KC_ENT, - KC_LCTL, KC_LALT, KC_LGUI, ML_ADJ, ML_LOW, KC_SPC, KC_BSPC, KC_SPC, KC_SPC, ML_RAI, KC_APP, KC_LEFT, KC_DOWN, KC_RGHT - ), - - /* Qwerty JIS Exchange L and R - * ,-----------------------------------------. ,-----------------------------------------. - * | 6& | 7' | 8( | 9) | 0 | -= | | Esc | 1! | 2" | 3# | 4$ | 5% | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | Y | U | I | O | P | @` | | Tab | Q | W | E | R | T | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | H | J | K | L | ;+ | :* | | | A | S | D | F | G | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | N | M | ,< | .> | /? | Up |Enter |KANJI | Shift| Z | X | C | V | B | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * |Space |Raise | }] | APP | Left | Down |Right |Adjust| Ctrl | GUI | Alt | [{ |Lower | Bksp | - * `-------------------------------------------------------------------------------------------------' - */ - [_BAS_E] = LAYOUT( - KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, - KC_Y, KC_U, KC_I, KC_O, KC_P, JP_AT, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, - KC_H, KC_J, KC_K, KC_L, KC_SCLN, JP_COLN, XXXXXXX, KC_A, KC_S, KC_D, KC_F, KC_G, - KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_UP, KC_ENT, JP_ZKHK, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, - KC_SPC, ML_RAIE, JP_RBRC, KC_APP, KC_LEFT, KC_DOWN, KC_RGHT, ML_ADJ, KC_LCTL, KC_LALT, KC_LGUI, JP_LBRC, ML_LOWE, KC_BSPC - ), - - /* Lower JIS Normal - * ,-----------------------------------------. ,-----------------------------------------. - * | | | | | | | | | | | -= | ^~ | \| | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | | | | | | | | | | | | @` | [{ | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | | | | | | | | | | | ;+ | :* | ]} | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | | | | | | | | ,< | .> | /? | \_ | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | | | | Del | | | | | | | | - * `-------------------------------------------------------------------------------------------------' - */ - [_LOWER] = LAYOUT( - _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MINS, JP_CIRC, JP_YEN, - _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, JP_AT, JP_LBRC, - _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_SCLN, JP_COLN, JP_RBRC, - _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_COMM, KC_DOT, KC_SLSH, JP_BSLS, - _______, _______, _______, _______, XXXXXXX, XXXXXXX, KC_DEL, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX - ), - - /* Lower JIS Exchange L and R - * ,-----------------------------------------. ,-----------------------------------------. - * | | | | -= | ^~ | \| | | | | | | | | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | | | | | @` | [{ | | | | | | | | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | | | | ;+ | :* | ]} | | | | | | | | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | | ,< | .> | /? | \_ |PageUp| | | | | | | | | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | | Home |PageDn| End | | | | | | | Del | - * `-------------------------------------------------------------------------------------------------' - */ - [_LOW_E] = LAYOUT( - _______, XXXXXXX, XXXXXXX, KC_MINS, JP_CIRC, JP_YEN, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - _______, XXXXXXX, XXXXXXX, XXXXXXX, JP_AT, JP_LBRC, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - _______, XXXXXXX, XXXXXXX, KC_SCLN, JP_COLN, JP_RBRC, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - _______, KC_COMM, KC_DOT, KC_SLSH, JP_BSLS, KC_PGUP, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - _______, _______, XXXXXXX, _______, KC_HOME, KC_PGDN, KC_END, _______, _______, _______, _______, XXXXXXX, _______, KC_DEL - ), - - /* Raise JIS Normal - * ,-----------------------------------------. ,-----------------------------------------. - * | | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | F11 | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | | | | | | | | |MsWhL |MsWhU | Home |PageUp| F12 | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | | | | | | | | |MsWhR |MsWhD | End |PageDn| | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | | | | | | | |MsBtn1|MsBtn2| MsUp | | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | | | | | | | | |MsLeft|MsDown|MsRght| - * `-------------------------------------------------------------------------------------------------' - */ - [_RAISE] = LAYOUT( - _______, 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, KC_WH_L, KC_WH_U, KC_HOME, KC_PGUP, KC_F12, - _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_WH_R, KC_WH_D, KC_END, KC_PGDN, XXXXXXX, - _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_BTN1, KC_BTN2, KC_MS_U, XXXXXXX, - _______, _______, _______, _______, XXXXXXX, XXXXXXX, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, KC_MS_L, KC_MS_D, KC_MS_R - ), - - /* Raise JIS Exchange L and R - * ,-----------------------------------------. ,-----------------------------------------. - * | F6 | F7 | F8 | F9 | F10 | F11 | | | F1 | F2 | F3 | F4 | F5 | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | | | |MsWhL |MsWhU | F12 | | | | | | | | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | | | |MsWhR |MsWhD | | | | | | | | | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | | | |MsBtn1|MsBtn2| MsUp | | | | | | | | | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | |MsLeft|MsDown|MsRght| | | | | | | | - * `-------------------------------------------------------------------------------------------------' - */ - [_RAI_E] = LAYOUT( - KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, _______, KC_F1 , KC_F2, KC_F3, KC_F4, KC_F5, - XXXXXXX, XXXXXXX, XXXXXXX, KC_WH_L, KC_WH_U, KC_F12, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - XXXXXXX, XXXXXXX, XXXXXXX, KC_WH_R, KC_WH_D, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - XXXXXXX, XXXXXXX, XXXXXXX, KC_BTN1, KC_BTN2, KC_MS_U, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - _______, _______, XXXXXXX, _______, KC_MS_L, KC_MS_D, KC_MS_R, _______, _______, _______, _______, XXXXXXX, _______, XXXXXXX - ), - - /* Adjust (Lower + Raise) Common map for Normal and Exchange - * ,-----------------------------------------. ,-----------------------------------------. - * | | Reset|RGBRST| | | | | | Reset|RGBRST| | | | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | |ModNrm|ModExc| Mac | Win | | | |ModNrm|ModExc| Mac | Win | | - * |------+------+------+------+------+------| |------+------+------+------+------|------+ - * | |RGB ON| HUE+ | SAT+ | VAL+ | | | |RGB ON| HUE+ | SAT+ | VAL+ | | - * |------+------+------+------+------+------+------+------+------+------+------+------+------|------+ - * | | MODE | HUE- | SAT- | VAL- | | | | | MODE | HUE- | SAT- | VAL- | | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | | | | | | | | | | | | - * `-------------------------------------------------------------------------------------------------' - */ - [_ADJUST] = LAYOUT( - XXXXXXX, QK_BOOT, RGBRST, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT, RGBRST, XXXXXXX, XXXXXXX, XXXXXXX, - XXXXXXX, DL_BAS, DL_BASE, AG_NORM, AG_SWAP, XXXXXXX, XXXXXXX, DL_BAS, DL_BASE, AG_NORM, AG_SWAP, XXXXXXX, - XXXXXXX, UG_TOGG, UG_HUEU, UG_SATU, UG_VALU, XXXXXXX, XXXXXXX, UG_TOGG, UG_HUEU, UG_SATU, UG_VALU, XXXXXXX, - XXXXXXX, UG_NEXT, UG_HUED, UG_SATD, UG_VALD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, UG_NEXT, UG_HUED, UG_SATD, UG_VALD, XXXXXXX, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), -}; - -#if defined(OLED_ENABLE) -char keylog[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', ' ', '-', ' ', '@', ' ', ' ', - ' ', ';', ':', ' ', ',', '.', '/', ' ', ' ', ' '}; - -static inline void set_keylog(uint16_t keycode, keyrecord_t *record) -{ - char name = ' '; - led_t led_state = host_keyboard_led_state(); - - if (keycode < 60) - { - name = code_to_name[keycode]; - } - - // update keylog - snprintf(keylog, sizeof(keylog), "\n%dx%d %2x %c %c %c %c", - record->event.key.row, - record->event.key.col, - keycode, - name, - led_state.num_lock ? 'N' : ' ', - led_state.caps_lock ? 'C' : ' ', - led_state.scroll_lock ? 'S' : ' ' - ); -} -#endif - -#ifdef RGBLIGHT_ENABLE -#define RGBLIGHT(mode) rgblight_mode(mode) -#else -#define RGBLIGHT(mode) -#endif - -// define variables for reactive RGB -int RGB_current_mode; -#ifdef ADJUST_MACRO_ENABLE -// 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)) { - RGBLIGHT(RGB_current_mode); - layer_on(layer3); - } else { - layer_off(layer3); - } -} -#define ADJUST_MACRO(layer1, layer2, layer3) update_tri_layer_RGB(layer1, layer2, layer3) -#else -#define ADJUST_MACRO(layer1, layer2, layer3) -#endif - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - #if defined(OLED_ENABLE) - if (record->event.pressed) { - set_keylog(keycode, record); - } - #endif - - switch (keycode) { - #ifdef RGBLIGHT_ENABLE - //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 QK_UNDERGLOW_MODE_NEXT: - if (record->event.pressed) { - rgblight_mode(RGB_current_mode); - rgblight_step(); - RGB_current_mode = rgblight_get_mode(); - } - break; - #endif - #ifdef KANA_ENABLE - 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); - } - 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); - } - break; - #endif - #ifdef RGBLIGHT_ENABLE - case RGBRST: - if (record->event.pressed) { - eeconfig_update_rgblight_default(); - rgblight_enable(); - RGB_current_mode = rgblight_get_mode(); - } - break; - #endif - default: - return true; - } - - return false; -} - -void matrix_init_user(void) { - #ifdef RGBLIGHT_ENABLE - RGB_current_mode = rgblight_get_mode(); - #endif -} - -//OLED update loop -#ifdef OLED_ENABLE -oled_rotation_t oled_init_user(oled_rotation_t rotation) { - if (is_keyboard_master()) { - return OLED_ROTATION_0; - } else { - return OLED_ROTATION_180; - } -} - -//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(void) { - oled_write(helix_logo, false); -} - -const char mac_win_logo[][2][3]={{{0x95,0x96,0},{0xb5,0xb6,0}},{{0x97,0x98,0},{0xb7,0xb8,0}}}; - -static inline void render_status(void) { - char buf[20]; - // Render to mode icon - if(keymap_config.swap_lalt_lgui==false){ - oled_write(mac_win_logo[0][0], false); - oled_write_P(PSTR("\n"), false); - oled_write(mac_win_logo[0][1], false); - } else { - oled_write(mac_win_logo[1][0], false); - oled_write_P(PSTR("\n"), false); - oled_write(mac_win_logo[1][1], false); - } - - #ifdef RGBLIGHT_ENABLE - snprintf(buf, sizeof(buf), " LED mode:%d", (short)RGB_current_mode); - oled_write(buf, false); - #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 - oled_write_P(PSTR("\nLayer: "), false); - switch (layer_state) { - case L_BASE: - oled_write_P(default_layer_state == (1UL<<_BAS_E) ? PSTR("BaseEx") : PSTR("Base"), false); - break; - case L_RAISE: - oled_write_P(PSTR("Raise"), false); - break; - case L_RAI_E: - oled_write_P(PSTR("RaiseEx"), false); - break; - case L_LOWER: - oled_write_P(PSTR("Lower"), false); - break; - case L_LOW_E: - oled_write_P(PSTR("LowerEx"), false); - break; - case L_ADJUST: - case L_ADJUST_TRI: - case L_ADJUST_TRIE: - oled_write_P(PSTR("Adjust"), false); - break; - default: - snprintf(buf, sizeof(buf), "%d", (short)layer_state); - oled_write(buf, false); - } - - oled_write(keylog, false); -} - -bool oled_task_user(void) { - -# if DEBUG_TO_SCREEN - if (debug_enable) { - return; - } -# endif - - if (is_keyboard_master()) { - render_status(); - } else { - render_logo(); - } - - return false; -} - -#endif // end of OLED_ENABLE diff --git a/keyboards/helix/rev2/keymaps/five_rows_jis/readme.md b/keyboards/helix/rev2/keymaps/five_rows_jis/readme.md deleted file mode 100644 index ca408e3913..0000000000 --- a/keyboards/helix/rev2/keymaps/five_rows_jis/readme.md +++ /dev/null @@ -1,150 +0,0 @@ -# Helix 5 rows JIS layout - -This keymap was created with the concept that users using Japanese JIS keyboard layout can operate without difficulty. It has the following features. - -* We are considering to be able to input long Japanese notes without moving the layer -* We are arranging the relation of symbols that can not fit in the Lower layer keeping the positional relationship -* The four-way key is in a convex arrangement -* Ctrl, Shift, Tab, Kanji, Esc, GUI (Win), App keys are arranged keeping positional relationship -* Lower / Raise keymap is considering easy placement so that it can be used without memorizing - -This keymap also includes a "NORMAL" keymap that uses Helix's split keyboard as usual, and an "EXCHANGE" key that exchanges left and right sides of Helix's split keyboard for key position optimization I am trying to switch maps. These have the following additional features. - -## NORMAL Keymap - -* It is possible to press the N key with the left index finger and the B key with the right index finger - -## EXCHANGE Keymap - -* By using the 2 key under Pro micro effectively add `` `[{` `` `` `]]` ``, `` `/?` `` Keys to NORMAL's base keymap And make inputs other than the `` `\ _` `` key possible with the base map -* To avoid mistakes in pressing the Kanji key and the Enter key, we are moving to the 2 key. - -## 配列 - -### NORMAL Keymap - - Adjust + ModExc key switches to the NORMAL keymap. - -Base Layer - -``` - ,-----------------------------------------. ,-----------------------------------------. - | Esc | 1! | 2" | 3# | 4$ | 5% | | 6& | 7' | 8( | 9) | 0 | -= | - |------+------+------+------+------+------| |------+------+------+------+------+------| - | KANJI| Q | W | E | R | T | | Y | U | I | O | P | @` | - |------+------+------+------+------+------| |------+------+------+------+------+------| - | Tab | A | S | D | F | G | | H | J | K | L | ;+ | :* | - |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - | Shift| Z | X | C | V | B | N | B | N | M | ,< | .> | Up |Enter | - |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - | Ctrl | GUI | Alt |Adjust|Lower |Space |Bksp |Space |Space |Raise | APP | Left | Down |Right | - `-------------------------------------------------------------------------------------------------' -``` - -Lower Layer - -``` - ,-----------------------------------------. ,-----------------------------------------. - | | | | | | | | | | | -= | ^~ | \| | - |------+------+------+------+------+------| |------+------+------+------+------+------| - | | | | | | | | | | | | @` | [{ | - |------+------+------+------+------+------| |------+------+------+------+------+------| - | | | | | | | | | | | ;+ | :* | ]} | - |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - | | | | | | | | | | | ,< | .> | /? | \_ | - |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - | | | | | | | Del | | | | | | | | - `-------------------------------------------------------------------------------------------------' -``` - -Raise Layer - -``` - ,-----------------------------------------. ,-----------------------------------------. - | | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | F11 | - |------+------+------+------+------+------| |------+------+------+------+------+------| - | | | | | | | | F12 | | | | Home |PageUp| - |------+------+------+------+------+------| |------+------+------+------+------+------| - | | | | | | | | | | | | End |PageDn| - |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - | |MsBtn1|MsBtn2| | | | | | | | | | MsUp | | - |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - | | | | | | | | | | | |MsLeft|MsDown|MsRght| - `-------------------------------------------------------------------------------------------------' -``` - -### EXCHANGE Keymap - -Adjust + ModExc key switches to the EXCHANGE keymap. - -Base Layer - -``` - ,-----------------------------------------.,-----------------------------------------. - | Esc | 1! | 2" | 3# | 4$ | 5% || 6& | 7' | 8( | 9) | 0 | -= | - |------+------+------+------+------+------||------+------+------+------+------+------| - | Tab | Q | W | E | R | T || Y | U | I | O | P | @` | - |------+------+------+------+------+------||------+------+------+------+------+------| - | | A | S | D | F | G || H | J | K | L | ;+ | :* | - ,------+------+------+------+------+------+------||------+------+------+------+------+------+------. - |KANJI | Shift| Z | X | C | V | B || N | M | ,< | .> | /? | Up |Enter | - |------+------+------+------+------+------+------||------+------+------+------+------+------+------| - |Adjust| Ctrl | GUI | Alt | [{ |Lower | Bksp ||Space |Raise | }] | APP | Left | Down |Right | - `------------------------------------------------'`------------------------------------------------' -``` - -Lower Layer - -``` - ,-----------------------------------------.,-----------------------------------------. - | | | | | | || | | | -= | ^~ | \| | - |------+------+------+------+------+------||------+------+------+------+------+------| - | | | | | | || | | | | @` | [{ | - |------+------+------+------+------+------||------+------+------+------+------+------| - | | | | | | || | | | ;+ | :* | ]} | - ,------+------+------+------+------+------+------||------+------+------+------+------+------+------. - | | | | | | | || | ,< | .> | /? | \_ |PageUp| | - |------+------+------+------+------+------+------||------+------+------+------+------+------+------| - | | | | | | | Del || | | | | Home |PageDn| End | - `------------------------------------------------'`------------------------------------------------' -``` - -Raise Layer - -``` - ,-----------------------------------------.,-----------------------------------------. - | | F1 | F2 | F3 | F4 | F5 || F6 | F7 | F8 | F9 | F10 | F11 | - |------+------+------+------+------+------||------+------+------+------+------+------| - | | | | | | || F12 | | | | | | - |------+------+------+------+------+------||------+------+------+------+------+------| - | | | | | | || | | | | | | - ,------+------+------+------+------+------+------||------+------+------+------+------+------+------. - | | |MsBtn1|MsBtn2| | | || | | | | | MsUp | | - |------+------+------+------+------+------+------||------+------+------+------+------+------+------| - | | | | | | | || | | | |MsLeft|MsDown|MsRght| - `------------------------------------------------'`------------------------------------------------' -``` - -### NORMAL/EXCHANGE common Layer - -Adjust Layer - - NORMAL / EXCHANGE This layer is used in common. The same items are arranged in the same row on both sides so that they can be used in common. - -``` - ,-----------------------------------------. ,-----------------------------------------. - | | Reset|RGBRST|Aud on|Audoff| | | | Reset|RGBRST|Aud on|Audoff| | - |------+------+------+------+------+------| |------+------+------+------+------+------| - | |ModNrm|ModExc| Mac | Win | | | |ModNrm|ModExc| Mac | Win | | - |------+------+------+------+------+------| |------+------+------+------+------|------+ - | |RGB ON| HUE+ | SAT+ | VAL+ | | | |RGB ON| HUE+ | SAT+ | VAL+ | | - |------+------+------+------+------+------+------+------+------+------+------+------+------|------+ - | | MODE | HUE- | SAT- | VAL- | | | | | MODE | HUE- | SAT- | VAL- | | - |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - | | | | | | | | | | | | | | | - `-------------------------------------------------------------------------------------------------' -``` - -## How to compile these program - - See the readme of the Default keymap. diff --git a/keyboards/helix/rev2/keymaps/five_rows_jis/readme_jp.md b/keyboards/helix/rev2/keymaps/five_rows_jis/readme_jp.md deleted file mode 100644 index 442984f6ff..0000000000 --- a/keyboards/helix/rev2/keymaps/five_rows_jis/readme_jp.md +++ /dev/null @@ -1,173 +0,0 @@ -# Helix 5 rows JIS layout - -## コンセプト - -このキーマップは日本語JISキーボード配列を利用しているユーザーが無理なく操作出来るというコンセプトで作成しました。以下の特徴があります。 - -* 日本語の長音記号をレイヤーを移動せずに入力可能なように考慮しています -* 入りきらない記号関連をLowerレイヤーに位置関係を維持して配置しています -* 十字キーを凸配置にしています -* Ctrl,Shift,Tab,漢字,Esc,GUI(Win),Appの各キーは位置関係を維持して配置しています -* Lower/Raiseキーマップは暗記しないでも使えるようにわかりやすい配置を考慮しています - - またこのキーマップにはHelixの分割されたキーボードを通常通りに使用する「NORMAL」キーマップと、キー位置の最適化のためにHelixの分割されたキーボードの左右を交換して使う「EXCHANGE」キーマップをバイナリの書き換えなしに切り替えられるようにしています。これらにはさらに以下の特徴があります。 - -### NORMALキーマップ - -* Nキーを左人差し指で、Bキーを右人差し指で押下することが可能 - -### EXCHANGEキーマップ - -* Pro micro下の2キーを有効に使うことにより、NORMALのベースキーマップに```[{```,```}]```,```/?```の各キーを追加し、```\_```キー以外の入力をベースマップで可能にしています -* 漢字キー,Enterキーの押し間違いを避けるためPro micro下の2キーに移動しています - -## カスタマイズ - -Normal/Exchangeにそれぞれ、Base,Lower,Raiseの各レイヤーを備え、2マップ3レイヤー、共通1レイヤー(Adjust)の全7種のレイヤーを備えています。 -ファームの書き換えなしにキーマップを別のものに切り替えられるので、片方は通常のキーマップ、もう片方は画像や動画編集用のキーマップや別の変態配置のキーマップにすれば、状況に応じて簡単に切り替えられます。 - -## 配列 - -### NORMAL - - Adjust + ModNrmキーでNORMALキーマップに切り替わります。 - -#### Baseレイヤー - -``` - ,-----------------------------------------. ,-----------------------------------------. - | Esc | 1! | 2" | 3# | 4$ | 5% | | 6& | 7' | 8( | 9) | 0 | -= | - |------+------+------+------+------+------| |------+------+------+------+------+------| - | KANJI| Q | W | E | R | T | | Y | U | I | O | P | @` | - |------+------+------+------+------+------| |------+------+------+------+------+------| - | Tab | A | S | D | F | G | | H | J | K | L | ;+ | :* | - |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - | Shift| Z | X | C | V | B | N | B | N | M | ,< | .> | Up |Enter | - |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - | Ctrl | GUI | Alt |Adjust|Lower |Space |Bksp |Space |Space |Raise | APP | Left | Down |Right | - `-------------------------------------------------------------------------------------------------' -``` - -#### Lowerレイヤー - - 記号キーと、BackSpace位置にDeleteキーを配置しています。 - 例えば```|```キーを入力する場合、Lower + Shift + \キーで入力することが出来ます。 - -``` - ,-----------------------------------------. ,-----------------------------------------. - | | | | | | | | | | | -= | ^~ | \| | - |------+------+------+------+------+------| |------+------+------+------+------+------| - | | | | | | | | | | | | @` | [{ | - |------+------+------+------+------+------| |------+------+------+------+------+------| - | | | | | | | | | | | ;+ | :* | ]} | - |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - | | | | | | | | | | | ,< | .> | /? | \_ | - |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - | | | | | | | Del | | | | | | | | - `-------------------------------------------------------------------------------------------------' -``` - -#### Raiseレイヤー - - rules.mkのMOUSEKEY_ENABLEをyesにした場合マウスキーを利用できます。ただしバイナリ容量を食いますのでmakeした時に確認できるバイナリサイズがオーバーしていないことに十分注意してください。 - また、F1-F12キーをHHKBライクに使えるように横並びにしました。 - -``` - ,-----------------------------------------. ,-----------------------------------------. - | | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | F11 | - |------+------+------+------+------+------| |------+------+------+------+------+------| - | | | | | | | | F12 | | | | Home |PageUp| - |------+------+------+------+------+------| |------+------+------+------+------+------| - | | | | | | | | | | | | End |PageDn| - |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - | |MsBtn1|MsBtn2| | | | | | | | | | MsUp | | - |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - | | | | | | | | | | | |MsLeft|MsDown|MsRght| - `-------------------------------------------------------------------------------------------------' -``` - -### EXCHANGEキーマップ - - Adjust + ModExcキーでEXCHANGEキーマップに切り替わります。 - HelixのUSBやフォンケーブルの接続は変更せず、分割された左右のキーボードを入れ替えて使います。 - -#### Baseレイヤー - - ちょっと無理やりですが```[{```,```}]```キーを突っ込んでいます。 - -``` - ,-----------------------------------------.,-----------------------------------------. - | Esc | 1! | 2" | 3# | 4$ | 5% || 6& | 7' | 8( | 9) | 0 | -= | - |------+------+------+------+------+------||------+------+------+------+------+------| - | Tab | Q | W | E | R | T || Y | U | I | O | P | @` | - |------+------+------+------+------+------||------+------+------+------+------+------| - | | A | S | D | F | G || H | J | K | L | ;+ | :* | - ,------+------+------+------+------+------+------||------+------+------+------+------+------+------. - |KANJI | Shift| Z | X | C | V | B || N | M | ,< | .> | /? | Up |Enter | - |------+------+------+------+------+------+------||------+------+------+------+------+------+------| - |Adjust| Ctrl | GUI | Alt | [{ |Lower | Bksp ||Space |Raise | }] | APP | Left | Down |Right | - `------------------------------------------------'`------------------------------------------------' -``` - -#### Lowerレイヤー - - 記号キーと、BackSpace位置にDeleteキーを配置しています。 - PageDown/Up, Home/EndをCtrl+十字キーの延長線上で使用できるように配置しています。 - -``` - ,-----------------------------------------.,-----------------------------------------. - | | | | | | || | | | -= | ^~ | \| | - |------+------+------+------+------+------||------+------+------+------+------+------| - | | | | | | || | | | | @` | [{ | - |------+------+------+------+------+------||------+------+------+------+------+------| - | | | | | | || | | | ;+ | :* | ]} | - ,------+------+------+------+------+------+------||------+------+------+------+------+------+------. - | | | | | | | || | ,< | .> | /? | \_ |PageUp| | - |------+------+------+------+------+------+------||------+------+------+------+------+------+------| - | | | | | | | Del || | | | | Home |PageDn| End | - `------------------------------------------------'`------------------------------------------------' -``` - -#### Raiseレイヤー - - rules.mkのMOUSEKEY_ENABLEをyesにした場合マウスキーを利用できます。ただしバイナリ容量を食いますのでmakeした時に確認できるバイナリサイズがオーバーしていないことに十分注意してください。 - また、F1-F12キーをHHKBライクに使えるように横並びにしました。 - マウスキーは十字キーの延長線上で使用できるように配置しています。 - -``` - ,-----------------------------------------.,-----------------------------------------. - | | F1 | F2 | F3 | F4 | F5 || F6 | F7 | F8 | F9 | F10 | F11 | - |------+------+------+------+------+------||------+------+------+------+------+------| - | | | | | | || F12 | | | | | | - |------+------+------+------+------+------||------+------+------+------+------+------| - | | | | | | || | | | | | | - ,------+------+------+------+------+------+------||------+------+------+------+------+------+------. - | | |MsBtn1|MsBtn2| | | || | | | | | MsUp | | - |------+------+------+------+------+------+------||------+------+------+------+------+------+------| - | | | | | | | || | | | |MsLeft|MsDown|MsRght| - `------------------------------------------------'`------------------------------------------------' -``` - -### NORMAL/EXCHANGE共通レイヤー - -Adjustレイヤー - - NORMAL/EXCHANGE共通で利用するレイヤーです。共通で使えるように両側同じ並びで同じものを配置しています。 - -``` - ,-----------------------------------------. ,-----------------------------------------. - | | Reset|RGBRST|Aud on|Audoff| | | | Reset|RGBRST|Aud on|Audoff| | - |------+------+------+------+------+------| |------+------+------+------+------+------| - | |ModNrm|ModExc| Mac | Win | | | |ModNrm|ModExc| Mac | Win | | - |------+------+------+------+------+------| |------+------+------+------+------|------+ - | |RGB ON| HUE+ | SAT+ | VAL+ | | | |RGB ON| HUE+ | SAT+ | VAL+ | | - |------+------+------+------+------+------+------+------+------+------+------+------+------|------+ - | | MODE | HUE- | SAT- | VAL- | | | | | MODE | HUE- | SAT- | VAL- | | - |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - | | | | | | | | | | | | | | | - `-------------------------------------------------------------------------------------------------' -``` - -## コンパイルの仕方 - - Defaultキーマップのreadmeを参照してください。 diff --git a/keyboards/helix/rev2/keymaps/five_rows_jis/rules.mk b/keyboards/helix/rev2/keymaps/five_rows_jis/rules.mk deleted file mode 100644 index b4f8e27de4..0000000000 --- a/keyboards/helix/rev2/keymaps/five_rows_jis/rules.mk +++ /dev/null @@ -1,19 +0,0 @@ -LTO_ENABLE = no # if firmware size over limit, try this option - -# 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_ENABLE が yes のとき -# OLED_SELECT が core ならば QMK 標準の oled_dirver.c を使用します。 -# OLED_SELECT が core 以外ならば従来どおり helix/local_drivers/ssd1306.c を使用します。 -# If OLED_ENABLE is 'yes' -# If OLED_SELECT is 'core', use QMK standard oled_dirver.c. -# If OLED_SELECT is other than 'core', use helix/local_drivers/ssd1306.c. -OLED_SELECT = core diff --git a/keyboards/helix/rev2/keymaps/led_test/README.md b/keyboards/helix/rev2/keymaps/led_test/README.md deleted file mode 100644 index 2fe6706452..0000000000 --- a/keyboards/helix/rev2/keymaps/led_test/README.md +++ /dev/null @@ -1,27 +0,0 @@ -# LED test Keymap - -## Layout - -The layout is the same as default. - -## Feature - -* OLED is enabled. -* LED backlight is enabled and always lit. -* The lighting color of LED changes periodically. Red, Green and Blue. - -The user can check whether the LED is lit or not. - -## Compile - -``` -$ cd qmk_firmware -$ make helix:led_test -``` - -## Flash QMK Firmware - -Execute the 'make' command and press the reset switch on the keyboard. -``` -$ make helix:led_test:flash -``` diff --git a/keyboards/helix/rev2/keymaps/led_test/config.h b/keyboards/helix/rev2/keymaps/led_test/config.h deleted file mode 100644 index e2bdf2f329..0000000000 --- a/keyboards/helix/rev2/keymaps/led_test/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 . -*/ - -#ifndef CONFIG_USER_H -#define CONFIG_USER_H - -// 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 // led_test keymap need only this. - //#define RGBLIGHT_EFFECT_ALTERNATING -#endif - -#endif /* CONFIG_USER_H */ diff --git a/keyboards/helix/rev2/keymaps/led_test/keymap.c b/keyboards/helix/rev2/keymaps/led_test/keymap.c deleted file mode 100644 index a48a855e02..0000000000 --- a/keyboards/helix/rev2/keymaps/led_test/keymap.c +++ /dev/null @@ -1,341 +0,0 @@ -/* Copyright 2020 yushakobo - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#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 { - _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 | _ | + | { | } | | | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | CAPS | 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_CAPS, 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 | - | = | [ | ] | \ | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | CAPS | 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_CAPS, 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, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, UG_TOGG, UG_HUEU, UG_SATU, UG_VALU, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, UG_NEXT, UG_HUED, UG_SATD, UG_VALD - ) -}; - -#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); -#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 QK_UNDERGLOW_MODE_NEXT: - #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 (is_mac_mode()) { - register_code(KC_LNG2); - } else { - SEND_STRING(SS_LALT("`")); - } - } else { - unregister_code(KC_LNG2); - } - return false; - break; - case KANA: - if (record->event.pressed) { - if (is_mac_mode()) { - 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 RGBLIGHT_ENABLE - RGB_current_mode = rgblight_get_mode(); - #endif -} diff --git a/keyboards/helix/rev2/keymaps/led_test/led_test_init.c b/keyboards/helix/rev2/keymaps/led_test/led_test_init.c deleted file mode 100644 index 7f8813acdd..0000000000 --- a/keyboards/helix/rev2/keymaps/led_test/led_test_init.c +++ /dev/null @@ -1,6 +0,0 @@ -#include QMK_KEYBOARD_H - -void keyboard_post_init_user(void) { - rgblight_enable_noeeprom(); - rgblight_mode_noeeprom(RGBLIGHT_MODE_RGB_TEST); -} diff --git a/keyboards/helix/rev2/keymaps/led_test/oled_display.c b/keyboards/helix/rev2/keymaps/led_test/oled_display.c deleted file mode 100644 index 3261b6c581..0000000000 --- a/keyboards/helix/rev2/keymaps/led_test/oled_display.c +++ /dev/null @@ -1 +0,0 @@ -#include "../default/oled_display.c" diff --git a/keyboards/helix/rev2/keymaps/led_test/rules.mk b/keyboards/helix/rev2/keymaps/led_test/rules.mk deleted file mode 100644 index 5aa9439f4c..0000000000 --- a/keyboards/helix/rev2/keymaps/led_test/rules.mk +++ /dev/null @@ -1,25 +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. -# - -LTO_ENABLE = no # if firmware size over limit, try this option - -# Helix Spacific Build Options -# you can uncomment and edit follows 7 Variables -# jp: 以下の7つの変数を必要に応じて編集し、コメントアウトをはずします。 -OLED_ENABLE = yes # OLED_ENABLE -# LOCAL_GLCDFONT = no # use each keymaps "helixfont.h" insted of "common/glcdfont.c" -LED_BACK_ENABLE = yes # 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 -ifeq ($(strip $(OLED_ENABLE)), yes) - SRC += oled_display.c -endif -SRC += led_test_init.c diff --git a/keyboards/helix/rev2/local_features.mk b/keyboards/helix/rev2/local_features.mk deleted file mode 100644 index 4bfee0411d..0000000000 --- a/keyboards/helix/rev2/local_features.mk +++ /dev/null @@ -1,90 +0,0 @@ -# -# local_features.mk contains post-processing rules for the Helix keyboard. -# -# Post-processing rules convert keyboard-specific shortcuts (that represent -# combinations of standard options) into QMK standard options. -# - -KEYBOARD_LOCAL_FEATURES_MK := --include $(strip $(HELIX_TOP_DIR)/rev2/override_helix_options.mk) ## File dedicated to maintenance - -# Parse 'HELIX=xx,yy,zz' option -ifneq ($(strip $(HELIX)),) - # make HELIX=ios helix/pico:AKEYMAP - # make HELIX=no-ani helix/pico:AKEYMAP - # make HELIX=no-oled helix/pico:AKEYMAP - # make HELIX=ios,no-ani,no-oled helix/pico:AKEYMAP - define HELIX_OPTION_PARSE - # parce 'no-ani' 'ios' 'no-oled' - $(if $(SHOW_PARCE),$(info parse .$1.)) #debug - $(if $(HELIX_OVERRIDE_PARSE),$(call HELIX_OVERRIDE_PARSE,$1)) - - ifeq ($(strip $1),ios) - IOS_DEVICE_ENABLE = yes - endif - ifneq ($(filter na no_ani no-ani,$(strip $1)),) - LED_ANIMATIONS = no - endif - ifneq ($(filter nooled no-oled,$(strip $1)),) - OLED_ENABLE = no - endif - ifeq ($(strip $1),oled) - OLED_ENABLE = yes - endif - endef # end of HELIX_OPTION_PARSE - - COMMA=, - $(eval $(foreach A_OPTION_NAME,$(subst $(COMMA), ,$(HELIX)), \ - $(call HELIX_OPTION_PARSE,$(A_OPTION_NAME)))) - - SHOW_HELIX_OPTIONS = yes -endif - -######## -# convert Helix-specific options (that represent combinations of standard options) -# into QMK standard options. - -ifeq ($(strip $(LED_BACK_ENABLE)), yes) - RGBLIGHT_ENABLE = yes - OPT_DEFS += -DRGBLED_BACK - ifeq ($(strip $(LED_UNDERGLOW_ENABLE)), yes) - $(error LED_BACK_ENABLE and LED_UNDERGLOW_ENABLE both 'yes') - endif -else ifeq ($(strip $(LED_UNDERGLOW_ENABLE)), yes) - RGBLIGHT_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 $(OLED_ENABLE)), yes) - ifeq ($(strip $(LOCAL_GLCDFONT)), yes) - OPT_DEFS += -DOLED_FONT_H=\ - else - OPT_DEFS += -DOLED_FONT_H=\"common/glcdfont.c\" - endif -endif - -ifneq ($(strip $(SHOW_HELIX_OPTIONS)),) - $(info Helix Spacific Build Options) - $(info - OLED_ENABLE = $(OLED_ENABLE)) - $(info - LED_BACK_ENABLE = $(LED_BACK_ENABLE)) - $(info - LED_UNDERGLOW_ENABLE = $(LED_UNDERGLOW_ENABLE)) - $(info - LED_ANIMATIONS = $(LED_ANIMATIONS)) - $(info - IOS_DEVICE_ENABLE = $(IOS_DEVICE_ENABLE)) - $(info ) - $(info QMK Build Options) - $(info -- SPLIT_KEYBOARD = $(SPLIT_KEYBOARD)) - $(info -- RGBLIGHT_ENABLE = $(RGBLIGHT_ENABLE)) - $(info -- OLED_DRIVER = $(OLED_DRIVER)) - $(info -- OLED_LOCAL_ENABLE = $(OLED_LOCAL_ENABLE)) - $(info -- CONSOLE_ENABLE = $(CONSOLE_ENABLE)) - $(info -- OPT_DEFS = $(OPT_DEFS)) - $(info -- LTO_ENABLE = $(LTO_ENABLE)) - $(info ) -endif diff --git a/keyboards/helix/rev2/override_helix_options.mk-maintenance b/keyboards/helix/rev2/override_helix_options.mk-maintenance deleted file mode 100644 index 56dee8ce78..0000000000 --- a/keyboards/helix/rev2/override_helix_options.mk-maintenance +++ /dev/null @@ -1,46 +0,0 @@ -ifneq ($(strip $(HELIX)),) - $(info -------------------------) - $(info override_helix_options.mk) - $(info -------------------------) -endif - -define HELIX_OVERRIDE_PARSE - ifeq ($(strip $1),back) - LED_BACK_ENABLE = yes - LED_UNDERGLOW_ENABLE = no - endif - ifeq ($(strip $1),under) - LED_BACK_ENABLE = no - LED_UNDERGLOW_ENABLE = yes - endif - ifneq ($(filter led-off led_off noback no-back nounder no-under,$(strip $1)),) - LED_BACK_ENABLE = no - LED_UNDERGLOW_ENABLE = no - endif - ifneq ($(filter core-oled core_oled newoled new-oled olednew oled-new,$(strip $1)),) - OLED_ENABLE = yes - OLED_SELECT = core - endif - ifneq ($(filter local-oled local_oled oldoled old-oled oledold oled-old,$(strip $1)),) - OLED_ENABLE = yes - OLED_SELECT = local - endif - ifneq ($(filter sc split-common split_common,$(strip $1)),) - SPLIT_KEYBOARD = yes - endif - ifneq ($(filter nosc no-sc no-split-common no-split_common,$(strip $1)),) - SPLIT_KEYBOARD = no - endif - ifeq ($(strip $1),scan) - DEBUG_MATRIX_SCAN_RATE_ENABLE = yes - endif - ifeq ($(strip $1),scan-api) - DEBUG_MATRIX_SCAN_RATE_ENABLE = api - endif - ifeq ($(strip $1),lto) - LTO_ENABLE = yes - endif - ifneq ($(filter nolto no-lto no_lto,$(strip $1)),) - LTO_ENABLE = no - endif -endef # end of HELIX_OVERRIDE_PARSE diff --git a/keyboards/helix/rev2/post_config.h b/keyboards/helix/rev2/post_config.h deleted file mode 100644 index dda73d5d22..0000000000 --- a/keyboards/helix/rev2/post_config.h +++ /dev/null @@ -1,7 +0,0 @@ -#pragma once - -#if defined(SPLIT_KEYBOARD) /* if use split_common */ -# if defined(RGBLIGHT_ENABLE) && !defined(RGBLIGHT_SPLIT) -# define RGBLIGHT_SPLIT /* helix hardware need this */ -# endif -#endif diff --git a/keyboards/helix/rev2/post_rules.mk b/keyboards/helix/rev2/post_rules.mk deleted file mode 100644 index 4c671d4515..0000000000 --- a/keyboards/helix/rev2/post_rules.mk +++ /dev/null @@ -1,3 +0,0 @@ -ifneq ($(strip $(KEYBOARD_LOCAL_FEATURES_MK)),) - include $(strip $(KEYBOARD_LOCAL_FEATURES_MK)) -endif diff --git a/keyboards/helix/rev2/qmk_conf/keyboard.json b/keyboards/helix/rev2/qmk_conf/keyboard.json deleted file mode 100644 index 0967ef424b..0000000000 --- a/keyboards/helix/rev2/qmk_conf/keyboard.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/keyboards/helix/rev2/qmk_conf/rules.mk b/keyboards/helix/rev2/qmk_conf/rules.mk deleted file mode 100644 index 67caab1ce6..0000000000 --- a/keyboards/helix/rev2/qmk_conf/rules.mk +++ /dev/null @@ -1,4 +0,0 @@ -LED_BACK_ENABLE = yes # LED backlight (Enable WS2812 RGB underlight.) -LED_ANIMATIONS = yes # LED animations - -include $(strip $(KEYBOARD_LOCAL_FEATURES_MK)) diff --git a/keyboards/helix/rev2/readme.md b/keyboards/helix/rev2/readme.md deleted file mode 100644 index e6a6f2e952..0000000000 --- a/keyboards/helix/rev2/readme.md +++ /dev/null @@ -1,13 +0,0 @@ -# Helix rev2 - -A compact split ortholinear keyboard. - -* Keyboard Maintainer: [yushakobo](https://github.com/yushakobo) -* Hardware Supported: Helix rev2 PCBs, Pro Micro -* Hardware Availability: [PCB & Case Data](https://github.com/MakotoKurauchi/helix) - -Make example for this keyboard (after setting up your build environment): - - make helix/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). diff --git a/keyboards/helix/rev2/rev2.c b/keyboards/helix/rev2/rev2.c deleted file mode 100644 index 7502ad0552..0000000000 --- a/keyboards/helix/rev2/rev2.c +++ /dev/null @@ -1,76 +0,0 @@ -/* Copyright 2018 MakotoKurauchi - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#include "rev2.h" - -// Each keymap.c should use is_keyboard_master() instead of 'is_master'. -// But keep 'is_master' for a while for backwards compatibility -// for the old keymap.c. -uint8_t is_master = false; - -bool is_mac_mode(void) { - // This is the opposite of the QMK standard, but we'll leave it for backwards compatibility. - return keymap_config.swap_lalt_lgui == false; -} - -void set_mac_mode_kb(bool macmode) { - /* The result is the same as pressing the AG_NORM(=MAGIC_UNSWAP_ALT_GUI)/AG_SWAP(=MAGIC_SWAP_ALT_GUI) keys. - * see - * https://github.com/qmk/qmk_firmware/blob/fb4a6ad30ea7a648acd59793ed4a30c3a8d8dc32/quantum/process_keycode/process_magic.c#L123-L124 - * https://github.com/qmk/qmk_firmware/blob/fb4a6ad30ea7a648acd59793ed4a30c3a8d8dc32/quantum/process_keycode/process_magic.c#L80-L81 - */ - keymap_config.swap_lalt_lgui = keymap_config.swap_ralt_rgui = !macmode; - eeconfig_update_keymap(&keymap_config); -} - -void matrix_init_kb(void) { - // Each keymap.c should use is_keyboard_master() instead of is_master. - // But keep is_master for a while for backwards compatibility - // for the old keymap.c. - is_master = is_keyboard_master(); - - matrix_init_user(); -}; - -void keyboard_post_init_kb(void) { -#if defined(DEBUG_MATRIX_SCAN_RATE) - debug_enable = true; -#endif - keyboard_post_init_user(); -} - -#ifdef OLED_ENABLE -void render_helix_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); -} - -bool oled_task_kb(void) { - if (oled_task_user()) { - /* keymap/user level oled_task_user() dose not exist */ - 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_advance_page(true); - render_helix_logo(); - } - return false; -} -#endif /* end of OLED_ENABLE */ diff --git a/keyboards/helix/rev2/rev2.h b/keyboards/helix/rev2/rev2.h deleted file mode 100644 index dad08c267e..0000000000 --- a/keyboards/helix/rev2/rev2.h +++ /dev/null @@ -1,36 +0,0 @@ -/* Copyright 2018 MakotoKurauchi - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License 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" - -bool is_mac_mode(void); -void set_mac_mode_kb(bool macmode); - -#ifdef OLED_ENABLE -void render_helix_logo(void); -#endif - -#ifndef SPLIT_KEYBOARD - extern bool is_helix_master(void); - #define is_keyboard_master() is_helix_master() -#endif - -// Each keymap.c should use is_keyboard_master() instead of 'is_master', 'has_usb()'. -// But keep 'is_master' for a while for backwards compatibility -// for the old keymap.c. -extern uint8_t is_master; // 'is_master' will be obsolete, it is recommended to use 'is_keyboard_master ()' instead. -#define has_usb() is_keyboard_master() diff --git a/keyboards/helix/rev2/rules.mk b/keyboards/helix/rev2/rules.mk deleted file mode 100644 index 4f830403f4..0000000000 --- a/keyboards/helix/rev2/rules.mk +++ /dev/null @@ -1,11 +0,0 @@ -KEYBOARD_LOCAL_FEATURES_MK := $(dir $(lastword $(MAKEFILE_LIST)))local_features.mk - -# Helix Spacific Build Options default values -OLED_ENABLE = yes # 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) - -DEFAULT_FOLDER = helix/rev2/base diff --git a/keyboards/helix/rev2/sc/keyboard.json b/keyboards/helix/rev2/sc/keyboard.json deleted file mode 100644 index 0967ef424b..0000000000 --- a/keyboards/helix/rev2/sc/keyboard.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/keyboards/helix/rev2/sc/rules.mk b/keyboards/helix/rev2/sc/rules.mk deleted file mode 100644 index 066fffb74a..0000000000 --- a/keyboards/helix/rev2/sc/rules.mk +++ /dev/null @@ -1 +0,0 @@ -LED_BACK_ENABLE = yes diff --git a/keyboards/helix/rev2/serial_config_simpleapi.h b/keyboards/helix/rev2/serial_config_simpleapi.h deleted file mode 100644 index b51e6f281b..0000000000 --- a/keyboards/helix/rev2/serial_config_simpleapi.h +++ /dev/null @@ -1,4 +0,0 @@ -#pragma once - -#define SERIAL_SLAVE_BUFFER_LENGTH MATRIX_ROWS/2 -#define SERIAL_MASTER_BUFFER_LENGTH MATRIX_ROWS/2 diff --git a/keyboards/helix/rev2/under/keyboard.json b/keyboards/helix/rev2/under/keyboard.json deleted file mode 100644 index 0967ef424b..0000000000 --- a/keyboards/helix/rev2/under/keyboard.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/keyboards/helix/rev2/under/rules.mk b/keyboards/helix/rev2/under/rules.mk deleted file mode 100644 index a37aa6fab3..0000000000 --- a/keyboards/helix/rev2/under/rules.mk +++ /dev/null @@ -1 +0,0 @@ -LED_UNDERGLOW_ENABLE = yes diff --git a/keyboards/helix/rev3/keyboard.json b/keyboards/helix/rev3/keyboard.json new file mode 100644 index 0000000000..887a5c8024 --- /dev/null +++ b/keyboards/helix/rev3/keyboard.json @@ -0,0 +1,227 @@ +{ + "keyboard_name": "Helix rev3", + "dip_switch": { + "matrix_grid": [ + [0, 6], + [1, 6], + [5, 6], + [6, 6] + ] + }, + "encoder": { + "rotary": [ + {"pin_a": "B6", "pin_b": "B5"} + ] + }, + "features": { + "dip_switch": false, + "encoder": true + }, + "matrix_pins": { + "cols": ["F4", "F5", "F6", "F7", "B1", "B3", "B2"], + "rows": ["D4", "C6", "D7", "E6", "B4"] + }, + "rgb_matrix": { + "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} + ], + "split_count": [32, 32] + }, + "split": { + "handedness": { + "matrix_grid": ["D7", "B2"] + } + }, + "url": "https://shop.yushakobo.jp/products/2143", + "usb": { + "device_version": "0.0.1", + "pid": "0x0003" + }, + "layouts": { + "LAYOUT_4row": { + "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": [4, 5], "x": 9, "y": 0}, + {"matrix": [4, 4], "x": 10, "y": 0}, + {"matrix": [4, 3], "x": 11, "y": 0}, + {"matrix": [4, 2], "x": 12, "y": 0}, + {"matrix": [4, 1], "x": 13, "y": 0}, + {"matrix": [4, 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": [5, 5], "x": 9, "y": 1}, + {"matrix": [5, 4], "x": 10, "y": 1}, + {"matrix": [5, 3], "x": 11, "y": 1}, + {"matrix": [5, 2], "x": 12, "y": 1}, + {"matrix": [5, 1], "x": 13, "y": 1}, + {"matrix": [5, 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": [6, 5], "x": 9, "y": 2}, + {"matrix": [6, 4], "x": 10, "y": 2}, + {"matrix": [6, 3], "x": 11, "y": 2}, + {"matrix": [6, 2], "x": 12, "y": 2}, + {"matrix": [6, 1], "x": 13, "y": 2}, + {"matrix": [6, 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": [3, 5], "x": 5, "y": 3}, + {"matrix": [3, 6], "x": 6, "y": 3}, + {"matrix": [7, 6], "x": 8, "y": 3}, + {"matrix": [7, 5], "x": 9, "y": 3}, + {"matrix": [7, 4], "x": 10, "y": 3}, + {"matrix": [7, 3], "x": 11, "y": 3}, + {"matrix": [7, 2], "x": 12, "y": 3}, + {"matrix": [7, 1], "x": 13, "y": 3}, + {"matrix": [7, 0], "x": 14, "y": 3} + ] + }, + "LAYOUT_5row": { + "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": 9, "y": 0}, + {"matrix": [5, 4], "x": 10, "y": 0}, + {"matrix": [5, 3], "x": 11, "y": 0}, + {"matrix": [5, 2], "x": 12, "y": 0}, + {"matrix": [5, 1], "x": 13, "y": 0}, + {"matrix": [5, 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": [6, 5], "x": 9, "y": 1}, + {"matrix": [6, 4], "x": 10, "y": 1}, + {"matrix": [6, 3], "x": 11, "y": 1}, + {"matrix": [6, 2], "x": 12, "y": 1}, + {"matrix": [6, 1], "x": 13, "y": 1}, + {"matrix": [6, 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": [7, 5], "x": 9, "y": 2}, + {"matrix": [7, 4], "x": 10, "y": 2}, + {"matrix": [7, 3], "x": 11, "y": 2}, + {"matrix": [7, 2], "x": 12, "y": 2}, + {"matrix": [7, 1], "x": 13, "y": 2}, + {"matrix": [7, 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": [3, 5], "x": 5, "y": 3}, + {"matrix": [3, 6], "x": 6, "y": 3}, + {"matrix": [8, 6], "x": 8, "y": 3}, + {"matrix": [8, 5], "x": 9, "y": 3}, + {"matrix": [8, 4], "x": 10, "y": 3}, + {"matrix": [8, 3], "x": 11, "y": 3}, + {"matrix": [8, 2], "x": 12, "y": 3}, + {"matrix": [8, 1], "x": 13, "y": 3}, + {"matrix": [8, 0], "x": 14, "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": [9, 6], "x": 8, "y": 4}, + {"matrix": [9, 5], "x": 9, "y": 4}, + {"matrix": [9, 4], "x": 10, "y": 4}, + {"matrix": [9, 3], "x": 11, "y": 4}, + {"matrix": [9, 2], "x": 12, "y": 4}, + {"matrix": [9, 1], "x": 13, "y": 4}, + {"matrix": [9, 0], "x": 14, "y": 4} + ] + } + } +} diff --git a/keyboards/helix/rev3/keymaps/default/keymap.json b/keyboards/helix/rev3/keymaps/default/keymap.json new file mode 100644 index 0000000000..429aecd714 --- /dev/null +++ b/keyboards/helix/rev3/keymaps/default/keymap.json @@ -0,0 +1,38 @@ +{ + "keyboard": "helix/rev3", + "keymap": "default", + "layout": "LAYOUT_5row", + "config": { + "features": { + "encoder_map": 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_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" , + "MO(3)", "KC_ESC", "KC_LALT", "KC_LGUI", "LALT(KC_GRV)", "MO(1)", "KC_SPC", "KC_SPC", "MO(2)", "LALT(KC_GRV)", "KC_LEFT", "KC_DOWN", "KC_UP", "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_DEL", + "_______", "KC_F1", "KC_F2", "KC_F3", "KC_F4", "KC_F5", "KC_F6", "KC_MINS", "KC_EQL", "KC_LBRC", "KC_RBRC", "KC_BSLS", + "KC_CAPS", "KC_F7", "KC_F8", "KC_F9", "KC_F10", "KC_F11", "_______", "_______", "KC_F12", "_______", "_______", "KC_PGDN", "KC_PGUP", "_______", + "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "KC_MNXT", "KC_VOLD", "KC_VOLU", "KC_MPLY" + ], + [ + "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", + "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", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", + "EE_CLR", "_______", "_______", "_______", "_______", "_______", "AG_NORM", "AG_SWAP", "_______", "_______", "RM_TOGG", "RM_HUEU", "RM_SATU", "RM_VALU", + "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "RM_NEXT", "RM_HUED", "RM_SATD", "RM_VALD" + ] + ], + "encoders": [ + [{"ccw": "KC_VOLD", "cw": "KC_VOLU"}, {"ccw": "KC_PGUP", "cw": "KC_PGDN"}], + [{"ccw": "_______", "cw": "_______"}, {"ccw": "_______", "cw": "_______"}], + [{"ccw": "_______", "cw": "_______"}, {"ccw": "_______", "cw": "_______"}] + ] +} diff --git a/keyboards/helix/rev3_4rows/config.h b/keyboards/helix/rev3_4rows/config.h deleted file mode 100644 index 56d9a13feb..0000000000 --- a/keyboards/helix/rev3_4rows/config.h +++ /dev/null @@ -1,60 +0,0 @@ -/* -Copyright 2020 yushakobo - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - -#pragma once - -/* key matrix size */ -#define MATRIX_ROWS 8 -#define MATRIX_COLS 7 - -/* - * 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) - * - */ -#define MATRIX_ROW_PINS { D4, C6, D7, E6 } -#define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3, B2 } - -/* COL2ROW, ROW2COL*/ -#define DIODE_DIRECTION COL2ROW - -/* Split hand configration */ -#define SPLIT_HAND_MATRIX_GRID D7,B2 - -/* Custom font */ -#define OLED_FONT_H "keyboards/helix/common/glcdfont.c" - -/* - * 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/helix/rev3_4rows/keyboard.json b/keyboards/helix/rev3_4rows/keyboard.json deleted file mode 100644 index 3d44e8fe78..0000000000 --- a/keyboards/helix/rev3_4rows/keyboard.json +++ /dev/null @@ -1,118 +0,0 @@ -{ - "keyboard_name": "Helix rev3 4rows", - "manufacturer": "yushakobo", - "maintainer": "yushakobo", - "usb": { - "vid": "0x3265", - "pid": "0x0004", - "device_version": "0.0.1" - }, - "qmk": { - "locking": { - "enabled": true, - "resync": true - } - }, - "rgb_matrix": { - "driver": "ws2812", - "sat_steps": 8, - "val_steps": 8, - "speed_steps": 10, - "max_brightness": 150, - "split_count": [25, 25], - "sleep": true - }, - "dip_switch": { - "matrix_grid": [ [0,6], [1,6], [5,6], [6,6] ] - }, - "encoder": { - "rotary": [ - {"pin_a": "B6", "pin_b": "B5"} - ] - }, - "split": { - "enabled": true, - "serial": { - "pin": "D2" - } - }, - "ws2812": { - "pin": "D3" - }, - "rgblight": { - "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", - "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": [4, 5], "x": 9, "y": 0}, - {"matrix": [4, 4], "x": 10, "y": 0}, - {"matrix": [4, 3], "x": 11, "y": 0}, - {"matrix": [4, 2], "x": 12, "y": 0}, - {"matrix": [4, 1], "x": 13, "y": 0}, - {"matrix": [4, 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": [5, 5], "x": 9, "y": 1}, - {"matrix": [5, 4], "x": 10, "y": 1}, - {"matrix": [5, 3], "x": 11, "y": 1}, - {"matrix": [5, 2], "x": 12, "y": 1}, - {"matrix": [5, 1], "x": 13, "y": 1}, - {"matrix": [5, 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": [6, 5], "x": 9, "y": 2}, - {"matrix": [6, 4], "x": 10, "y": 2}, - {"matrix": [6, 3], "x": 11, "y": 2}, - {"matrix": [6, 2], "x": 12, "y": 2}, - {"matrix": [6, 1], "x": 13, "y": 2}, - {"matrix": [6, 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": [3, 5], "x": 5, "y": 3}, - {"matrix": [3, 6], "x": 6, "y": 3}, - - {"matrix": [7, 6], "x": 8, "y": 3}, - {"matrix": [7, 5], "x": 9, "y": 3}, - {"matrix": [7, 4], "x": 10, "y": 3}, - {"matrix": [7, 3], "x": 11, "y": 3}, - {"matrix": [7, 2], "x": 12, "y": 3}, - {"matrix": [7, 1], "x": 13, "y": 3}, - {"matrix": [7, 0], "x": 14, "y": 3} - ] - } - } -} diff --git a/keyboards/helix/rev3_4rows/keymaps/default/keymap.c b/keyboards/helix/rev3_4rows/keymaps/default/keymap.c deleted file mode 100644 index e528558ed6..0000000000 --- a/keyboards/helix/rev3_4rows/keymaps/default/keymap.c +++ /dev/null @@ -1,180 +0,0 @@ -/* Copyright 2020 yushakobo - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#include QMK_KEYBOARD_H - - -// Defines names for use in layer keycodes and the keymap -enum layer_names { - _QWERTY = 0, - _LOWER, - _RAISE, - _ADJUST -}; - -// Defines the keycodes used by our macros in process_record_user -enum custom_keycodes { - EISU = SAFE_RANGE, - KANA, - ADJUST, - RGBRST -}; - -#define LOWER MO(_LOWER) -#define RAISE MO(_RAISE) - -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 | - * |------+------+------+------+------+------+-------------+------+------+------+------+------+------| - * |Adjust| Esc | Alt | GUI | EISU |Lower |Space |Space |Raise | KANA | Left | Down | Up |Right | - * `-------------------------------------------------------------------------------------------------' - */ - [_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_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 , - 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 | _ | + | { | } | | | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | CAPS | 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_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, - KC_CAPS, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, KC_HOME, KC_END, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY - ), - - /* Raise - * ,-----------------------------------------. ,-----------------------------------------. - * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | Del | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | | F1 | F2 | F3 | F4 | F5 | | F6 | - | = | [ | ] | \ | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | CAPS | 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_DEL, - _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, - KC_CAPS, 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|EEPRST| | | | | | | | | Del | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | | | | | | Mac | | Win | |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, EE_CLR, _______, _______, _______, _______, _______, _______, _______, KC_DEL, - _______, _______, _______, _______, _______, AG_NORM, AG_SWAP, _______, UG_TOGG, UG_HUEU, UG_SATU, UG_VALU, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, UG_NEXT, UG_HUED, UG_SATD, UG_VALD - ) - -}; - -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; -} - -layer_state_t layer_state_set_user(layer_state_t state) { - return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST); -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - case EISU: - if (record->event.pressed) { - if (is_mac_mode()) { - register_code(KC_LNG2); - }else{ - tap_code16(LALT(KC_GRAVE)); - } - } else { - unregister_code(KC_LNG2); - } - return false; - break; - case KANA: - if (record->event.pressed) { - if (is_mac_mode()) { - register_code(KC_LNG1); - }else{ - tap_code16(LALT(KC_GRAVE)); - } - } else { - unregister_code(KC_LNG1); - } - return false; - break; - case ADJUST: - if (record->event.pressed) { - layer_on(_LOWER); - layer_on(_RAISE); - } else { - layer_off(_LOWER); - layer_off(_RAISE); - } - 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_4rows/keymaps/default/oled_display.c b/keyboards/helix/rev3_4rows/keymaps/default/oled_display.c deleted file mode 100644 index 1158461e78..0000000000 --- a/keyboards/helix/rev3_4rows/keymaps/default/oled_display.c +++ /dev/null @@ -1,120 +0,0 @@ -/* Copyright 2020 yushakobo - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include QMK_KEYBOARD_H - -#include - -// Defines names for use in layer keycodes and the keymap -enum layer_names { - _QWERTY = 0, - _LOWER, - _RAISE, - _ADJUST -}; - -#ifdef OLED_ENABLE - -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 (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); - - // Host Keyboard Layer Status - oled_write_P(PSTR("Layer: "), false); - - switch (get_highest_layer(layer_state)) { - case _QWERTY: - oled_write_P(PSTR("Default\n"), false); - break; - case _RAISE: - oled_write_P(PSTR("Raise\n"), false); - break; - case _LOWER: - oled_write_P(PSTR("Lower\n"), false); - break; - case _ADJUST: - oled_write_P(PSTR("Adjust\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); - } - - oled_write_P(PSTR("\n"), 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); -} - - -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 render_rgbled_status(bool full) { -#ifdef RGBLIGHT_ENABLE - if (RGBLIGHT_MODES > 1 && rgblight_is_enabled()) { - if (full) { - // " LED %d:%d,%d,%d" - oled_write_P(PSTR(" LED"), false); - oled_write(get_u8_str(rgblight_get_mode(), ' '), false); - oled_write_char(':', false); - oled_write(get_u8_str(rgblight_get_hue() / RGBLIGHT_HUE_STEP, ' '), false); - oled_write_char(',', false); - oled_write(get_u8_str(rgblight_get_sat() / RGBLIGHT_SAT_STEP, ' '), false); - oled_write_char(',', false); - oled_write(get_u8_str(rgblight_get_val() / RGBLIGHT_VAL_STEP, ' '), false); - } else { - // "[%2d]" - oled_write_char('[', false); - oled_write(get_u8_str(rgblight_get_mode(), ' '), false); - oled_write_char(']', false); - } - } -#endif -} - -bool oled_task_user(void) { - if(is_keyboard_master()){ - render_status(); - }else{ - render_logo(); - render_rgbled_status(true); - } - return false; -} -#endif diff --git a/keyboards/helix/rev3_4rows/keymaps/default/readme.md b/keyboards/helix/rev3_4rows/keymaps/default/readme.md deleted file mode 100644 index e747096851..0000000000 --- a/keyboards/helix/rev3_4rows/keymaps/default/readme.md +++ /dev/null @@ -1,66 +0,0 @@ -# The default keymap for Helix rev3 4rows - -### Qwerty Layer (Base) -``` -,-----------------------------------------. ,-----------------------------------------. -| 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 | -`-------------------------------------------------------------------------------------------------' -``` -### Lower Layer -``` -,-----------------------------------------. ,-----------------------------------------. -| ~ | ! | @ | # | $ | % | | ^ | & | * | ( | ) | | -|------+------+------+------+------+------| |------+------+------+------+------+------| -| | F1 | F2 | F3 | F4 | F5 | | F6 | _ | + | { | } | | | -|------+------+------+------+------+------| |------+------+------+------+------+------| -| CAPS | F7 | F8 | F9 | F10 | F11 | | F12 | | | Home | End | | -|------+------+------+------+------+------+-------------+------+------+------+------+------+------| -| | | | | | | | | | | Next | Vol- | Vol+ | Play | -`-------------------------------------------------------------------------------------------------' -``` -### Raise Layer -``` -,-----------------------------------------. ,-----------------------------------------. -| ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | Del | -|------+------+------+------+------+------| |------+------+------+------+------+------| -| | F1 | F2 | F3 | F4 | F5 | | F6 | - | = | [ | ] | \ | -|------+------+------+------+------+------| |------+------+------+------+------+------| -| CAPS | F7 | F8 | F9 | F10 | F11 | | F12 | | |PageDn|PageUp| | -|------+------+------+------+------+------+-------------+------+------+------+------+------+------| -| | | | | | | | | | | Next | Vol- | Vol+ | Play | -`-------------------------------------------------------------------------------------------------' -``` -### Adjust Layer (Lower + Raise) -``` -,-----------------------------------------. ,-----------------------------------------. -| F1 | F2 | F3 | F4 | F5 | F6 | | F7 | F8 | F9 | F10 | F11 | F12 | -|------+------+------+------+------+------| |------+------+------+------+------+------| -| | Reset|RGBRST|EEPRST| | | | | | | | | Del | -|------+------+------+------+------+------| |------+------+------+------+------+------| -| | | | | | Mac | | Win | |RGB ON| HUE+ | SAT+ | VAL+ | -|------+------+------+------+------+------+------+------+------+------+------+------+------+------| -| | | | | | | | | | | MODE | HUE- | SAT- | VAL- | -`-------------------------------------------------------------------------------------------------' -``` - -### Rotary Encoder Settings - -|L/R|Clockwise|Counter Clockwise| -|---|---|---| -|Left|Page Down|Page Up| -|Right|Down|Up| - -### DipSW Settings - -|Switch No.|| -|---|---| -|Left 1|Toggle Win/mac| -|Left 2|Not assigned| -|Right 1|Not assigned| -|Right 2|Not assigned| diff --git a/keyboards/helix/rev3_4rows/oled_display.c b/keyboards/helix/rev3_4rows/oled_display.c deleted file mode 100644 index 36bf63cb60..0000000000 --- a/keyboards/helix/rev3_4rows/oled_display.c +++ /dev/null @@ -1,9 +0,0 @@ -/* - - There are several ways to create your own keymap oled code: - - * Add the oled code to your keymaps//keymap.c. - * Create a new file in your keymaps// directory, add the oled code, and add `SRC + = ` to keymaps//rules.mk. - * Copy keymaps/default/oled_display.c to your keymaps// directory and modify it. - -*/ diff --git a/keyboards/helix/rev3_4rows/readme.md b/keyboards/helix/rev3_4rows/readme.md deleted file mode 100644 index 25e856badf..0000000000 --- a/keyboards/helix/rev3_4rows/readme.md +++ /dev/null @@ -1,13 +0,0 @@ -# Helix rev3 4rows - -A compact split ortholinear keyboard. - -* Keyboard Maintainer: [yushakobo](https://github.com/yushakobo) -* Hardware Supported: Helix rev3 PCBs, Pro Micro -* Hardware Availability: (Under preparation) - -Make example for this keyboard (after setting up your build environment): - - make helix/rev3_4rows: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/helix/rev3_4rows/rev3_4rows.c b/keyboards/helix/rev3_4rows/rev3_4rows.c deleted file mode 100644 index 7f655b6852..0000000000 --- a/keyboards/helix/rev3_4rows/rev3_4rows.c +++ /dev/null @@ -1,114 +0,0 @@ -/* Copyright 2020 yushakobo - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include "rev3_4rows.h" - -bool is_mac_mode(void) { - return keymap_config.swap_lalt_lgui == false; -} - -void set_mac_mode(bool macmode) { - /* The result is the same as pressing the AG_NORM(=MAGIC_UNSWAP_ALT_GUI)/AG_SWAP(=MAGIC_SWAP_ALT_GUI) keys. - * see - * https://github.com/qmk/qmk_firmware/blob/fb4a6ad30ea7a648acd59793ed4a30c3a8d8dc32/quantum/process_keycode/process_magic.c#L123-L124 - * https://github.com/qmk/qmk_firmware/blob/fb4a6ad30ea7a648acd59793ed4a30c3a8d8dc32/quantum/process_keycode/process_magic.c#L80-L81 - */ - keymap_config.swap_lalt_lgui = keymap_config.swap_ralt_rgui = !macmode; - eeconfig_update_keymap(&keymap_config); -} - -#ifdef DIP_SWITCH_ENABLE -bool dip_switch_update_kb(uint8_t index, bool active) { - switch (index) { - case 0: - if(active) { // Left no.1 Helix rev3 common - set_mac_mode(false); - } else { - set_mac_mode(true); - } - break; - default: // Left no.2 or Right no.1 or Right no.2 for user/keymap - dip_switch_update_user(index, active); - break; - } - return true; -} -#endif - -#ifdef OLED_ENABLE -static char *sprint_decimal(char *buf, int data) { - if (data > 9) { - buf = sprint_decimal(buf, data/10); - } - *buf++ = "0123456789"[data%10]; - *buf = '\0'; - return buf; -} - -char *sprints(char *buf, char *src) { - while (*src) { - *buf++ = *src++; - } - *buf = '\0'; - return buf; -} - -char *sprintd(char *buf, char *leadstr, int data) { - buf = sprints(buf, leadstr); - buf = sprint_decimal(buf, data); - return buf; -} - -char *sprint2d(char *buf, char *leadstr, int data) { - buf = sprints(buf, leadstr); - if (data > 99) { - return sprint_decimal(buf, data); - } - if (data < 10) { - *buf++ = ' '; - } - return sprint_decimal(buf, data); -} - -bool oled_task_kb(void) { - if (!oled_task_user()) { return false; } - static const char PROGMEM 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, - 0x0 - }; - static const char os_logo[][2][3] PROGMEM ={{{0x95,0x96,0},{0xb5,0xb6,0}},{{0x97,0x98,0},{0xb7,0xb8,0}}}; - - if (is_keyboard_master()) { - 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); - } - char buf[20]; - sprint2d(buf, " Layer: ", get_highest_layer(layer_state)); - oled_write(buf, false); - } else { - oled_write_P(helix_logo, false); - } - return false; -} -#endif diff --git a/keyboards/helix/rev3_4rows/rev3_4rows.h b/keyboards/helix/rev3_4rows/rev3_4rows.h deleted file mode 100644 index f36a5f2840..0000000000 --- a/keyboards/helix/rev3_4rows/rev3_4rows.h +++ /dev/null @@ -1,22 +0,0 @@ -/* Copyright 2020 yushakobo - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - -#include "quantum.h" - -bool is_mac_mode(void); -void set_mac_mode(bool macmode); diff --git a/keyboards/helix/rev3_4rows/rules.mk b/keyboards/helix/rev3_4rows/rules.mk deleted file mode 100644 index 01251cd780..0000000000 --- a/keyboards/helix/rev3_4rows/rules.mk +++ /dev/null @@ -1,9 +0,0 @@ -EXTRAKEY_ENABLE = yes # Audio control and System control -RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow -RGB_MATRIX_ENABLE = no -OLED_ENABLE = yes -ENCODER_ENABLE = yes -DIP_SWITCH_ENABLE = no -LTO_ENABLE = yes - -SRC += oled_display.c diff --git a/keyboards/helix/rev3_5rows/config.h b/keyboards/helix/rev3_5rows/config.h deleted file mode 100644 index 84173da2de..0000000000 --- a/keyboards/helix/rev3_5rows/config.h +++ /dev/null @@ -1,60 +0,0 @@ -/* -Copyright 2020 yushakobo - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - -#pragma once - -/* key matrix size */ -#define MATRIX_ROWS 10 -#define MATRIX_COLS 7 - -/* - * 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) - * - */ -#define MATRIX_ROW_PINS { D4, C6, D7, E6, B4 } -#define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3, B2 } - -/* COL2ROW, ROW2COL*/ -#define DIODE_DIRECTION COL2ROW - -/* Split hand configration */ -#define SPLIT_HAND_MATRIX_GRID D7,B2 - -/* Custom font */ -#define OLED_FONT_H "keyboards/helix/common/glcdfont.c" - -/* - * 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/helix/rev3_5rows/keyboard.json b/keyboards/helix/rev3_5rows/keyboard.json deleted file mode 100644 index 12328ea86d..0000000000 --- a/keyboards/helix/rev3_5rows/keyboard.json +++ /dev/null @@ -1,198 +0,0 @@ -{ - "keyboard_name": "Helix rev3 5rows", - "manufacturer": "yushakobo", - "maintainer": "yushakobo", - "usb": { - "vid": "0x3265", - "pid": "0x0003", - "device_version": "0.0.1" - }, - "qmk": { - "locking": { - "enabled": true, - "resync": true - } - }, - "rgb_matrix": { - "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], - "sleep": true - }, - "dip_switch": { - "matrix_grid": [ [0,6], [1,6], [5,6], [6,6] ] - }, - "encoder": { - "rotary": [ - {"pin_a": "B6", "pin_b": "B5"} - ] - }, - "split": { - "enabled": true, - "serial": { - "pin": "D2" - } - }, - "ws2812": { - "pin": "D3" - }, - "rgblight": { - "led_count": 64, - "max_brightness": 120, - "split_count": [32, 32], - "animations": { - "rainbow_mood": true, - "rainbow_swirl": true - } - }, - "processor": "atmega32u4", - "bootloader": "caterina", - "layouts": { - "LAYOUT": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [0, 4], "x": 4, "y": 0}, - {"matrix": [0, 5], "x": 5, "y": 0}, - - {"matrix": [5, 5], "x": 9, "y": 0}, - {"matrix": [5, 4], "x": 10, "y": 0}, - {"matrix": [5, 3], "x": 11, "y": 0}, - {"matrix": [5, 2], "x": 12, "y": 0}, - {"matrix": [5, 1], "x": 13, "y": 0}, - {"matrix": [5, 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": [6, 5], "x": 9, "y": 1}, - {"matrix": [6, 4], "x": 10, "y": 1}, - {"matrix": [6, 3], "x": 11, "y": 1}, - {"matrix": [6, 2], "x": 12, "y": 1}, - {"matrix": [6, 1], "x": 13, "y": 1}, - {"matrix": [6, 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": [7, 5], "x": 9, "y": 2}, - {"matrix": [7, 4], "x": 10, "y": 2}, - {"matrix": [7, 3], "x": 11, "y": 2}, - {"matrix": [7, 2], "x": 12, "y": 2}, - {"matrix": [7, 1], "x": 13, "y": 2}, - {"matrix": [7, 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": [3, 5], "x": 5, "y": 3}, - {"matrix": [3, 6], "x": 6, "y": 3}, - - {"matrix": [8, 6], "x": 8, "y": 3}, - {"matrix": [8, 5], "x": 9, "y": 3}, - {"matrix": [8, 4], "x": 10, "y": 3}, - {"matrix": [8, 3], "x": 11, "y": 3}, - {"matrix": [8, 2], "x": 12, "y": 3}, - {"matrix": [8, 1], "x": 13, "y": 3}, - {"matrix": [8, 0], "x": 14, "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": [9, 6], "x": 8, "y": 4}, - {"matrix": [9, 5], "x": 9, "y": 4}, - {"matrix": [9, 4], "x": 10, "y": 4}, - {"matrix": [9, 3], "x": 11, "y": 4}, - {"matrix": [9, 2], "x": 12, "y": 4}, - {"matrix": [9, 1], "x": 13, "y": 4}, - {"matrix": [9, 0], "x": 14, "y": 4} - ] - } - } -} diff --git a/keyboards/helix/rev3_5rows/keymaps/default/keymap.c b/keyboards/helix/rev3_5rows/keymaps/default/keymap.c deleted file mode 100644 index 0537235c4e..0000000000 --- a/keyboards/helix/rev3_5rows/keymaps/default/keymap.c +++ /dev/null @@ -1,182 +0,0 @@ -/* Copyright 2020 yushakobo - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#include QMK_KEYBOARD_H - - -// Defines names for use in layer keycodes and the keymap -enum layer_names { - _QWERTY = 0, - _LOWER, - _RAISE, - _ADJUST -}; - -// Defines the keycodes used by our macros in process_record_user -enum custom_keycodes { - EISU = SAFE_RANGE, - KANA, - ADJUST, - RGBRST -}; - -#define LOWER MO(_LOWER) -#define RAISE MO(_RAISE) - -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 - ), - /* Lower - * ,-----------------------------------------. ,-----------------------------------------. - * | | | | | | | | | | | | | | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | ~ | ! | @ | # | $ | % | | ^ | & | * | ( | ) | | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | | F1 | F2 | F3 | F4 | F5 | | F6 | _ | + | { | } | | | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | CAPS | 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_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, - KC_CAPS, 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 - * ,-----------------------------------------. ,-----------------------------------------. - * | | | | | | | | | | | | | Bksp | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | Del | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | | F1 | F2 | F3 | F4 | F5 | | F6 | - | = | [ | ] | \ | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | CAPS | F7 | F8 | F9 | F10 | F11 | | | F12 | | |PageDn|PageUp| | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | | | | | | | | Next | Vol- | Vol+ | Play | - * `-------------------------------------------------------------------------------------------------' - */ - [_RAISE] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, 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_CAPS, 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|EEPRST| | | | | | | | | Del | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | | | | | | Mac | | Win | | | | | | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | | | | | | | |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, EE_CLR, _______, _______, _______, _______, _______, _______, _______, KC_DEL, - _______, _______, _______, _______, _______, AG_NORM, AG_SWAP, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, UG_TOGG, UG_HUEU, UG_SATU, UG_VALU, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, UG_NEXT, UG_HUED, UG_SATD, UG_VALD - ) - -}; - -#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(UG_VALD, UG_VALU), ENCODER_CCW_CW(UG_SPDD, UG_SPDU) }, - [_ADJUST] = { ENCODER_CCW_CW(UG_PREV, UG_NEXT), 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); -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - case EISU: - if (record->event.pressed) { - if (is_mac_mode()) { - register_code(KC_LNG2); - }else{ - tap_code16(LALT(KC_GRAVE)); - } - } else { - unregister_code(KC_LNG2); - } - return false; - break; - case KANA: - if (record->event.pressed) { - if (is_mac_mode()) { - register_code(KC_LNG1); - }else{ - tap_code16(LALT(KC_GRAVE)); - } - } else { - unregister_code(KC_LNG1); - } - return false; - break; - case ADJUST: - if (record->event.pressed) { - layer_on(_LOWER); - layer_on(_RAISE); - } else { - layer_off(_LOWER); - layer_off(_RAISE); - } - 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/default/oled_display.c b/keyboards/helix/rev3_5rows/keymaps/default/oled_display.c deleted file mode 100644 index 1158461e78..0000000000 --- a/keyboards/helix/rev3_5rows/keymaps/default/oled_display.c +++ /dev/null @@ -1,120 +0,0 @@ -/* Copyright 2020 yushakobo - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include QMK_KEYBOARD_H - -#include - -// Defines names for use in layer keycodes and the keymap -enum layer_names { - _QWERTY = 0, - _LOWER, - _RAISE, - _ADJUST -}; - -#ifdef OLED_ENABLE - -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 (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); - - // Host Keyboard Layer Status - oled_write_P(PSTR("Layer: "), false); - - switch (get_highest_layer(layer_state)) { - case _QWERTY: - oled_write_P(PSTR("Default\n"), false); - break; - case _RAISE: - oled_write_P(PSTR("Raise\n"), false); - break; - case _LOWER: - oled_write_P(PSTR("Lower\n"), false); - break; - case _ADJUST: - oled_write_P(PSTR("Adjust\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); - } - - oled_write_P(PSTR("\n"), 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); -} - - -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 render_rgbled_status(bool full) { -#ifdef RGBLIGHT_ENABLE - if (RGBLIGHT_MODES > 1 && rgblight_is_enabled()) { - if (full) { - // " LED %d:%d,%d,%d" - oled_write_P(PSTR(" LED"), false); - oled_write(get_u8_str(rgblight_get_mode(), ' '), false); - oled_write_char(':', false); - oled_write(get_u8_str(rgblight_get_hue() / RGBLIGHT_HUE_STEP, ' '), false); - oled_write_char(',', false); - oled_write(get_u8_str(rgblight_get_sat() / RGBLIGHT_SAT_STEP, ' '), false); - oled_write_char(',', false); - oled_write(get_u8_str(rgblight_get_val() / RGBLIGHT_VAL_STEP, ' '), false); - } else { - // "[%2d]" - oled_write_char('[', false); - oled_write(get_u8_str(rgblight_get_mode(), ' '), false); - oled_write_char(']', false); - } - } -#endif -} - -bool oled_task_user(void) { - if(is_keyboard_master()){ - render_status(); - }else{ - render_logo(); - render_rgbled_status(true); - } - return false; -} -#endif diff --git a/keyboards/helix/rev3_5rows/keymaps/default/readme.md b/keyboards/helix/rev3_5rows/keymaps/default/readme.md deleted file mode 100644 index 423443ba71..0000000000 --- a/keyboards/helix/rev3_5rows/keymaps/default/readme.md +++ /dev/null @@ -1,81 +0,0 @@ -# The default keymap for Helix rev3 5rows - -### Qwerty Layer (Base) -``` -,-----------------------------------------. ,-----------------------------------------. -| ` | 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 | -`-------------------------------------------------------------------------------------------------' - -``` - -### Lower Layer -``` -,-----------------------------------------. ,-----------------------------------------. -| | | | | | | | | | | | | | -|------+------+------+------+------+------| |------+------+------+------+------+------| -| ~ | ! | @ | # | $ | % | | ^ | & | * | ( | ) | | -|------+------+------+------+------+------| |------+------+------+------+------+------| -| | F1 | F2 | F3 | F4 | F5 | | F6 | _ | + | { | } | | | -|------+------+------+------+------+------+------+------+------+------+------+------+------+------| -| CAPS | F7 | F8 | F9 | F10 | F11 | ( | ) | F12 | | | Home | End | | -|------+------+------+------+------+------+------+------+------+------+------+------+------+------| -| | | | | | | | | | | Next | Vol- | Vol+ | Play | -`-------------------------------------------------------------------------------------------------' - -``` - - -### Raise Layer -``` -,-----------------------------------------. ,-----------------------------------------. -| | | | | | | | | | | | | Bksp | -|------+------+------+------+------+------| |------+------+------+------+------+------| -| ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | Del | -|------+------+------+------+------+------| |------+------+------+------+------+------| -| | F1 | F2 | F3 | F4 | F5 | | F6 | - | = | [ | ] | \ | -|------+------+------+------+------+------+------+------+------+------+------+------+------+------| -| CAPS | F7 | F8 | F9 | F10 | F11 | | | F12 | | |PageDn|PageUp| | -|------+------+------+------+------+------+------+------+------+------+------+------+------+------| -| | | | | | | | | | | Next | Vol- | Vol+ | Play | -`-------------------------------------------------------------------------------------------------' - -``` - -### Adjust Layer (Lower + Raise) -``` -,-----------------------------------------. ,-----------------------------------------. -| F1 | F2 | F3 | F4 | F5 | F6 | | F7 | F8 | F9 | F10 | F11 | F12 | -|------+------+------+------+------+------| |------+------+------+------+------+------| -| | Reset|RGBRST|EEPRST| | | | | | | | | Del | -|------+------+------+------+------+------| |------+------+------+------+------+------| -| | | | | | Mac | | Win | | | | | | -|------+------+------+------+------+------+------+------+------+------+------+------+------+------| -| | | | | | | | | | |RGB ON| HUE+ | SAT+ | VAL+ | -|------+------+------+------+------+------+------+------+------+------+------+------+------+------| -| | | | | | | | | | | MODE | HUE- | SAT- | VAL- | -`-------------------------------------------------------------------------------------------------' -``` - -### Rotary Encoder Settings - -|L/R|Clockwise|Counter Clockwise| -|---|---|---| -|Left|Page Down|Page Up| -|Right|Down|Up| - -### DipSW Settings - -|Switch No.|| -|---|---| -|Left 1|Toggle Win/mac| -|Left 2|Not assigned| -|Right 1|Not assigned| -|Right 2|Not assigned| diff --git a/keyboards/helix/rev3_5rows/oled_display.c b/keyboards/helix/rev3_5rows/oled_display.c deleted file mode 100644 index 36bf63cb60..0000000000 --- a/keyboards/helix/rev3_5rows/oled_display.c +++ /dev/null @@ -1,9 +0,0 @@ -/* - - There are several ways to create your own keymap oled code: - - * Add the oled code to your keymaps//keymap.c. - * Create a new file in your keymaps// directory, add the oled code, and add `SRC + = ` to keymaps//rules.mk. - * Copy keymaps/default/oled_display.c to your keymaps// directory and modify it. - -*/ diff --git a/keyboards/helix/rev3_5rows/readme.md b/keyboards/helix/rev3_5rows/readme.md deleted file mode 100644 index ff7e2cd59a..0000000000 --- a/keyboards/helix/rev3_5rows/readme.md +++ /dev/null @@ -1,13 +0,0 @@ -# Helix rev3 5rows - -A compact split ortholinear keyboard. - -* Keyboard Maintainer: [yushakobo](https://github.com/yushakobo) -* Hardware Supported: Helix rev3 PCBs, Pro Micro -* Hardware Availability: (Under preparation) - -Make example for this keyboard (after setting up your build environment): - - make helix/rev3_5rows: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/helix/rev3_5rows/rev3_5rows.c b/keyboards/helix/rev3_5rows/rev3_5rows.c deleted file mode 100644 index af7276a2b5..0000000000 --- a/keyboards/helix/rev3_5rows/rev3_5rows.c +++ /dev/null @@ -1,114 +0,0 @@ -/* Copyright 2020 yushakobo - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include "rev3_5rows.h" - -bool is_mac_mode(void) { - return keymap_config.swap_lalt_lgui == false; -} - -void set_mac_mode(bool macmode) { - /* The result is the same as pressing the AG_NORM(=MAGIC_UNSWAP_ALT_GUI)/AG_SWAP(=MAGIC_SWAP_ALT_GUI) keys. - * see - * https://github.com/qmk/qmk_firmware/blob/fb4a6ad30ea7a648acd59793ed4a30c3a8d8dc32/quantum/process_keycode/process_magic.c#L123-L124 - * https://github.com/qmk/qmk_firmware/blob/fb4a6ad30ea7a648acd59793ed4a30c3a8d8dc32/quantum/process_keycode/process_magic.c#L80-L81 - */ - keymap_config.swap_lalt_lgui = keymap_config.swap_ralt_rgui = !macmode; - eeconfig_update_keymap(&keymap_config); -} - -#ifdef DIP_SWITCH_ENABLE -bool dip_switch_update_kb(uint8_t index, bool active) { - switch (index) { - case 0: - if(active) { // Left no.1 Helix rev3 common - set_mac_mode(false); - } else { - set_mac_mode(true); - } - break; - default: // Left no.2 or Right no.1 or Right no.2 for user/keymap - dip_switch_update_user(index, active); - break; - } - return true; -} -#endif - -#ifdef OLED_ENABLE -static char *sprint_decimal(char *buf, int data) { - if (data > 9) { - buf = sprint_decimal(buf, data/10); - } - *buf++ = "0123456789"[data%10]; - *buf = '\0'; - return buf; -} - -char *sprints(char *buf, char *src) { - while (*src) { - *buf++ = *src++; - } - *buf = '\0'; - return buf; -} - -char *sprintd(char *buf, char *leadstr, int data) { - buf = sprints(buf, leadstr); - buf = sprint_decimal(buf, data); - return buf; -} - -char *sprint2d(char *buf, char *leadstr, int data) { - buf = sprints(buf, leadstr); - if (data > 99) { - return sprint_decimal(buf, data); - } - if (data < 10) { - *buf++ = ' '; - } - return sprint_decimal(buf, data); -} - -bool oled_task_kb(void) { - if (!oled_task_user()) { return false; } - static const char PROGMEM 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, - 0x0 - }; - static const char os_logo[][2][3] PROGMEM ={{{0x95,0x96,0},{0xb5,0xb6,0}},{{0x97,0x98,0},{0xb7,0xb8,0}}}; - - if (is_keyboard_master()) { - 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); - } - char buf[20]; - sprint2d(buf, " Layer: ", get_highest_layer(layer_state)); - oled_write(buf, false); - } else { - oled_write_P(helix_logo, false); - } - return false; -} -#endif diff --git a/keyboards/helix/rev3_5rows/rev3_5rows.h b/keyboards/helix/rev3_5rows/rev3_5rows.h deleted file mode 100644 index f36a5f2840..0000000000 --- a/keyboards/helix/rev3_5rows/rev3_5rows.h +++ /dev/null @@ -1,22 +0,0 @@ -/* Copyright 2020 yushakobo - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - -#include "quantum.h" - -bool is_mac_mode(void); -void set_mac_mode(bool macmode); diff --git a/keyboards/helix/rev3_5rows/rules.mk b/keyboards/helix/rev3_5rows/rules.mk deleted file mode 100644 index d1972faa1b..0000000000 --- a/keyboards/helix/rev3_5rows/rules.mk +++ /dev/null @@ -1,10 +0,0 @@ -EXTRAKEY_ENABLE = yes # Audio control and System control -RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow -RGB_MATRIX_ENABLE = no -OLED_ENABLE = yes -ENCODER_ENABLE = yes -DIP_SWITCH_ENABLE = no -MOUSEKEY_ENABLE = yes -LTO_ENABLE = yes - -SRC += oled_display.c diff --git a/keyboards/helix/rules.mk b/keyboards/helix/rules.mk deleted file mode 100644 index f743d48d0e..0000000000 --- a/keyboards/helix/rules.mk +++ /dev/null @@ -1,3 +0,0 @@ -DEFAULT_FOLDER = helix/rev2 - -HELIX_TOP_DIR := $(patsubst %/,%,$(dir $(lastword $(MAKEFILE_LIST)))) diff --git a/keyboards/hfdkb/ac001/keyboard.json b/keyboards/hfdkb/ac001/keyboard.json index 8d96cad375..ee9aab074b 100644 --- a/keyboards/hfdkb/ac001/keyboard.json +++ b/keyboards/hfdkb/ac001/keyboard.json @@ -5,8 +5,12 @@ "usb": { "vid": "0xFFFE", "pid": "0x0001", - "device_version": "0.0.1", - "force_nkro": true + "device_version": "0.0.1" + }, + "host": { + "default": { + "nkro": true + } }, "rgb_matrix": { "animations": { diff --git a/keyboards/hhkb/jp/keyboard.json b/keyboards/hhkb/jp/keyboard.json index db96a92a6c..b776b416ec 100644 --- a/keyboards/hhkb/jp/keyboard.json +++ b/keyboards/hhkb/jp/keyboard.json @@ -48,21 +48,21 @@ {"matrix": [14, 3], "x": 10.5, "y": 1}, {"matrix": [15, 3], "x": 11.5, "y": 1}, {"matrix": [13, 3], "x": 12.5, "y": 1}, - {"matrix": [0, 6], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, - {"matrix": [6, 6], "x": 0, "y": 2, "w": 1.75}, - {"matrix": [2, 6], "x": 1.75, "y": 2}, - {"matrix": [1, 6], "x": 2.75, "y": 2}, - {"matrix": [5, 6], "x": 3.75, "y": 2}, - {"matrix": [7, 6], "x": 4.75, "y": 2}, - {"matrix": [10, 6], "x": 5.75, "y": 2}, - {"matrix": [9, 6], "x": 6.75, "y": 2}, - {"matrix": [8, 6], "x": 7.75, "y": 2}, - {"matrix": [11, 6], "x": 8.75, "y": 2}, - {"matrix": [14, 6], "x": 9.75, "y": 2}, - {"matrix": [15, 6], "x": 10.75, "y": 2}, - {"matrix": [13, 6], "x": 11.75, "y": 2}, - {"matrix": [12, 6], "x": 12.75, "y": 2}, + {"matrix": [0, 6], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [6, 6], "x": 1.75, "y": 2}, + {"matrix": [2, 6], "x": 2.75, "y": 2}, + {"matrix": [1, 6], "x": 3.75, "y": 2}, + {"matrix": [5, 6], "x": 4.75, "y": 2}, + {"matrix": [7, 6], "x": 5.75, "y": 2}, + {"matrix": [10, 6], "x": 6.75, "y": 2}, + {"matrix": [9, 6], "x": 7.75, "y": 2}, + {"matrix": [8, 6], "x": 8.75, "y": 2}, + {"matrix": [11, 6], "x": 9.75, "y": 2}, + {"matrix": [14, 6], "x": 10.75, "y": 2}, + {"matrix": [15, 6], "x": 11.75, "y": 2}, + {"matrix": [13, 6], "x": 12.75, "y": 2}, + {"matrix": [12, 6], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, {"matrix": [0, 5], "x": 0, "y": 3, "w": 2}, {"matrix": [6, 5], "x": 2, "y": 3}, diff --git a/keyboards/hhkb/yang/keymaps/kanru/keymap.c b/keyboards/hhkb/yang/keymaps/kanru/keymap.c index ea020de126..85aad22962 100644 --- a/keyboards/hhkb/yang/keymaps/kanru/keymap.c +++ b/keyboards/hhkb/yang/keymaps/kanru/keymap.c @@ -118,9 +118,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [MOUSE] = LAYOUT_60_hhkb( KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_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_TRNS, - KC_TRNS, KC_BTN2, KC_WH_D, KC_TRNS, 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_BTN3, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, MS_BTN1, MS_WHLU, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, MS_BTN2, MS_WHLD, KC_TRNS, KC_TRNS, KC_TRNS, MS_LEFT, MS_DOWN, MS_UP, MS_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, MS_BTN3, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS) }; // clang-format on diff --git a/keyboards/hifumi/keyboard.json b/keyboards/hifumi/keyboard.json index 320c14a2be..e859ceef69 100644 --- a/keyboards/hifumi/keyboard.json +++ b/keyboards/hifumi/keyboard.json @@ -39,8 +39,7 @@ "ws2812": { "pin": "D3" }, - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/hnahkb/vn66/keymaps/default/keymap.c b/keyboards/hnahkb/vn66/keymaps/default/keymap.c index 3af2332c19..f50050bdc5 100644 --- a/keyboards/hnahkb/vn66/keymaps/default/keymap.c +++ b/keyboards/hnahkb/vn66/keymaps/default/keymap.c @@ -43,13 +43,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { bool encoder_update_user(uint8_t index, bool clockwise) { if (clockwise == 0) { #ifdef MOUSEKEY_ENABLE - tap_code(KC_MS_WH_DOWN); + tap_code(MS_WHLD); #else tap_code(KC_VOLD); #endif } else { #ifdef MOUSEKEY_ENABLE - tap_code(KC_MS_WH_UP); + tap_code(MS_WHLU); #else tap_code(KC_VOLU); #endif diff --git a/keyboards/hnk/hnk65/keyboard.json b/keyboards/hnk/hnk65/keyboard.json new file mode 100644 index 0000000000..a72ff783ba --- /dev/null +++ b/keyboards/hnk/hnk65/keyboard.json @@ -0,0 +1,216 @@ +{ + "manufacturer": "hnkbd", + "keyboard_name": "hnk65", + "maintainer": "ascYAOBT", + "bootloader": "atmel-dfu", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "extrakey": true, + "mousekey": true, + "nkro": true, + "rgb_matrix": true + }, + "matrix_pins": { + "cols": ["F4", "F5", "F1", "F0", "B7", "F6", "F7", "D0", "D1", "D2", "D3", "D5", "D4", "D6", "D7"], + "rows": ["C7", "C6", "B6", "B5", "B4"] + }, + "processor": "atmega32u4", + "rgb_matrix": { + "animations": { + "gradient_up_down": true, + "gradient_left_right": true, + "breathing": true, + "band_sat": true, + "band_val": true, + "band_pinwheel_val": true, + "band_spiral_sat": true, + "cycle_all": true, + "cycle_left_right": true, + "cycle_up_down": true, + "rainbow_moving_chevron": true, + "cycle_out_in": 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, + "typing_heatmap":true, + "solid_reactive_simple": true, + "solid_reactive_wide": true, + "solid_reactive_cross": true, + "splash": true + }, + "brightness_steps": 20, + "default": { + "val": 120, + "animation": "solid_color" + }, + "driver": "ws2812", + "hue_steps": 22, + "layout": [ + {"matrix": [0, 14], "x": 210, "y": 0, "flags": 4}, + {"matrix": [0, 13], "x": 189, "y": 0, "flags": 4}, + {"matrix": [0, 12], "x": 168, "y": 0, "flags": 4}, + {"matrix": [0, 11], "x": 154, "y": 0, "flags": 4}, + {"matrix": [0, 10], "x": 140, "y": 0, "flags": 4}, + {"matrix": [0, 9], "x": 126, "y": 0, "flags": 4}, + {"matrix": [0, 8], "x": 112, "y": 0, "flags": 4}, + {"matrix": [0, 7], "x": 98, "y": 0, "flags": 4}, + {"matrix": [0, 6], "x": 84, "y": 0, "flags": 4}, + {"matrix": [0, 5], "x": 70, "y": 0, "flags": 4}, + {"matrix": [0, 4], "x": 56, "y": 0, "flags": 4}, + {"matrix": [0, 3], "x": 42, "y": 0, "flags": 4}, + {"matrix": [0, 2], "x": 28, "y": 0, "flags": 4}, + {"matrix": [0, 1], "x": 14, "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": 21, "y": 16, "flags": 4}, + {"matrix": [1, 2], "x": 35, "y": 16, "flags": 4}, + {"matrix": [1, 3], "x": 49, "y": 16, "flags": 4}, + {"matrix": [1, 4], "x": 63, "y": 16, "flags": 4}, + {"matrix": [1, 5], "x": 77, "y": 16, "flags": 4}, + {"matrix": [1, 6], "x": 91, "y": 16, "flags": 4}, + {"matrix": [1, 7], "x": 105, "y": 16, "flags": 4}, + {"matrix": [1, 8], "x": 119, "y": 16, "flags": 4}, + {"matrix": [1, 9], "x": 133, "y": 16, "flags": 4}, + {"matrix": [1, 10], "x": 147, "y": 16, "flags": 4}, + {"matrix": [1, 11], "x": 161, "y": 16, "flags": 4}, + {"matrix": [1, 12], "x": 175, "y": 16, "flags": 4}, + {"matrix": [1, 13], "x": 185, "y": 16, "flags": 4}, + {"matrix": [1, 14], "x": 210, "y": 16, "flags": 4}, + {"matrix": [2, 14], "x": 210, "y": 32, "flags": 4}, + {"matrix": [2, 13], "x": 196, "y": 32, "flags": 4}, + {"matrix": [2, 11], "x": 161, "y": 32, "flags": 4}, + {"matrix": [2, 10], "x": 147, "y": 32, "flags": 4}, + {"matrix": [2, 9], "x": 133, "y": 32, "flags": 4}, + {"matrix": [2, 8], "x": 119, "y": 32, "flags": 4}, + {"matrix": [2, 7], "x": 105, "y": 32, "flags": 4}, + {"matrix": [2, 6], "x": 91, "y": 32, "flags": 4}, + {"matrix": [2, 5], "x": 77, "y": 32, "flags": 4}, + {"matrix": [2, 4], "x": 63, "y": 32, "flags": 4}, + {"matrix": [2, 3], "x": 49, "y": 32, "flags": 4}, + {"matrix": [2, 2], "x": 35, "y": 32, "flags": 4}, + {"matrix": [2, 1], "x": 21, "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": 32, "y": 48, "flags": 4}, + {"matrix": [3, 2], "x": 46, "y": 48, "flags": 4}, + {"matrix": [3, 3], "x": 60, "y": 48, "flags": 4}, + {"matrix": [3, 4], "x": 74, "y": 48, "flags": 4}, + {"matrix": [3, 5], "x": 88, "y": 48, "flags": 4}, + {"matrix": [3, 6], "x": 104, "y": 48, "flags": 4}, + {"matrix": [3, 7], "x": 118, "y": 48, "flags": 4}, + {"matrix": [3, 8], "x": 132, "y": 48, "flags": 4}, + {"matrix": [3, 9], "x": 146, "y": 48, "flags": 4}, + {"matrix": [3, 10], "x": 160, "y": 48, "flags": 4}, + {"matrix": [3, 11], "x": 173, "y": 48, "flags": 4}, + {"matrix": [3, 13], "x": 196, "y": 48, "flags": 4}, + {"matrix": [3, 14], "x": 210, "y": 48, "flags": 4}, + {"matrix": [4, 14], "x": 210, "y": 64, "flags": 4}, + {"matrix": [4, 13], "x": 196, "y": 64, "flags": 4}, + {"matrix": [4, 11], "x": 182, "y": 64, "flags": 4}, + {"matrix": [4, 10], "x": 168, "y": 64, "flags": 4}, + {"matrix": [4, 9], "x": 154, "y": 64, "flags": 4}, + {"matrix": [4, 8], "x": 140, "y": 64, "flags": 4}, + {"matrix": [4, 5], "x": 105, "y": 64, "flags": 4}, + {"matrix": [4, 2], "x": 39, "y": 64, "flags": 4}, + {"matrix": [4, 1], "x": 21, "y": 64, "flags": 4}, + {"matrix": [4, 0], "x": 4, "y": 64, "flags": 4} + ], + "max_brightness": 170, + "saturation_steps": 22, + "sleep": true + }, + "url": "https://hnkbd.ca/", + "usb": { + "device_version": "1.0.0", + "pid": "0x0001", + "vid": "0x484E" + }, + "ws2812": { + "pin": "B2" + }, + "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], "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, 1], "x": 2.25, "y": 3}, + {"matrix": [3, 2], "x": 3.25, "y": 3}, + {"matrix": [3, 3], "x": 4.25, "y": 3}, + {"matrix": [3, 4], "x": 5.25, "y": 3}, + {"matrix": [3, 5], "x": 6.25, "y": 3}, + {"matrix": [3, 6], "x": 7.25, "y": 3}, + {"matrix": [3, 7], "x": 8.25, "y": 3}, + {"matrix": [3, 8], "x": 9.25, "y": 3}, + {"matrix": [3, 9], "x": 10.25, "y": 3}, + {"matrix": [3, 10], "x": 11.25, "y": 3}, + {"matrix": [3, 11], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [3, 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": 6.25}, + {"matrix": [4, 8], "x": 10, "y": 4}, + {"matrix": [4, 9], "x": 11, "y": 4}, + {"matrix": [4, 10], "x": 12, "y": 4}, + {"matrix": [4, 11], "x": 13, "y": 4}, + {"matrix": [4, 13], "x": 14, "y": 4}, + {"matrix": [4, 14], "x": 15, "y": 4} + ] + } + } +} diff --git a/keyboards/hnk/hnk65/keymaps/default/keymap.c b/keyboards/hnk/hnk65/keymaps/default/keymap.c new file mode 100644 index 0000000000..efe7cc03fe --- /dev/null +++ b/keyboards/hnk/hnk65/keymaps/default/keymap.c @@ -0,0 +1,54 @@ +// 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│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ Backsp│Home│ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼────┤ + * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │PgUp│ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼────┤ + * │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ Enter │PgDn│ + * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼────┤ + * │ Shift │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ Shift│ ↑ │End │ + * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴──┬┴──┬┴──┬───┼───┼────┤ + * │Ctrl│GUI │Alt │ │Alt│ Fn│Ctl│ ← │ ↓ │ → │ + * └────┴────┴────┴────────────────────────┴───┴───┴───┴───┴───┴────┘ + */ + + + [0] = 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, + KC_CAPS, KC_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 + ), + + + /* + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬────┬───┬──────────┬────┐ + * │Grv│F1 │F2 │F3 │F4 │F5 │F6 │F7 │F8 │F9 │F10│F11 │F12│ Ins │Del │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴──┬─┴─┬─┴─┬────────┼────┤ + * │ │ │Vl+│ │ │ │ │SrL│ │ 7 │ 8 │ 9 │ \ │ SATU │HUEU│ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬───┴┬──┴┬──┴────────┼────┤ + * │ │Mut│Vl-│Pau│ │ │ │ │ │ 4 │ 5 │ 6 │ SATD │HUED│ + * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴──┬─┴─┬─┴──────┬────┼────┤ + * │ │ | │ │ │ │ │ │ │ │ 1 │ 2 │ 3 │VALU│TOGG│ + * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┬┴──┬┴───┬────┼────┼────┤ + * │ │ │ │ PScr │SPDD│ │SPDU│PREV│VALD│NEXT│ + * └────┴────┴────┴────────────────────────┴────┴───┴────┴────┴────┴────┘ + */ + + + [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_INS, KC_DEL, + _______, _______, KC_VOLU, _______, _______, _______, _______, KC_SCRL, _______, KC_7, KC_8, KC_9, KC_BSLS, RM_SATU, RM_HUEU, + _______, KC_MUTE, KC_VOLD, KC_PAUS, _______, _______, _______, _______, _______, KC_4, KC_5, KC_6, RM_SATD, RM_HUED, + _______, KC_PIPE, _______, _______, _______, _______, _______, _______, _______, KC_1, KC_2, KC_3, RM_VALU, RM_TOGG, + _______, _______, _______, KC_PSCR, RM_SPDD, _______, RM_SPDU, RM_PREV, RM_VALD, RM_NEXT + ) +}; diff --git a/keyboards/hnk/hnk65/readme.md b/keyboards/hnk/hnk65/readme.md new file mode 100644 index 0000000000..e77dd86d1f --- /dev/null +++ b/keyboards/hnk/hnk65/readme.md @@ -0,0 +1,25 @@ +# hnk65 + +Our Hide Nothing Keyboard version of the traditional 65%, with or without RGB support. For more information visit https://hnkbd.ca + +* Keyboard Maintainer: [hnkbd](https://github.com/ascYAOBT) +* Hardware Supported: hnk65, either with or without per key RGB LED +* Hardware Availability: https://hnkbd.ca + +Make example for this keyboard (after setting up your build environment): + + make hnk/hnk65:default + +Flashing example for this keyboard: + + make hnk/hnk65: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 while plugged in and with QMK Toolbox opened. +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/horizon/keyboard.json b/keyboards/horizon/keyboard.json index 8dabea33a3..cb70b74470 100644 --- a/keyboards/horizon/keyboard.json +++ b/keyboards/horizon/keyboard.json @@ -26,8 +26,7 @@ "rows": ["D3", "D2", "D1", "F4"] }, "diode_direction": "COL2ROW", - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/horrortroll/chinese_pcb/black_e65/keyboard.json b/keyboards/horrortroll/chinese_pcb/black_e65/keyboard.json index c0946cf3a6..fd655f0c0d 100644 --- a/keyboards/horrortroll/chinese_pcb/black_e65/keyboard.json +++ b/keyboards/horrortroll/chinese_pcb/black_e65/keyboard.json @@ -5,8 +5,12 @@ "usb": { "vid": "0x7516", "pid": "0x7000", - "device_version": "0.0.1", - "force_nkro": true + "device_version": "0.0.1" + }, + "host": { + "default": { + "nkro": true + } }, "features": { "backlight": true, diff --git a/keyboards/horrortroll/chinese_pcb/devil68_pro/keyboard.json b/keyboards/horrortroll/chinese_pcb/devil68_pro/keyboard.json index f10703ab5a..250cceb3e7 100644 --- a/keyboards/horrortroll/chinese_pcb/devil68_pro/keyboard.json +++ b/keyboards/horrortroll/chinese_pcb/devil68_pro/keyboard.json @@ -5,8 +5,12 @@ "usb": { "vid": "0x7516", "pid": "0x7001", - "device_version": "0.0.1", - "force_nkro": true + "device_version": "0.0.1" + }, + "host": { + "default": { + "nkro": true + } }, "rgb_matrix": { "animations": { diff --git a/keyboards/horrortroll/handwired_k552/keyboard.json b/keyboards/horrortroll/handwired_k552/keyboard.json index 97f8ec822c..ecbcb4b779 100644 --- a/keyboards/horrortroll/handwired_k552/keyboard.json +++ b/keyboards/horrortroll/handwired_k552/keyboard.json @@ -5,8 +5,12 @@ "usb": { "vid": "0x7516", "pid": "0x5104", - "device_version": "0.0.1", - "force_nkro": true + "device_version": "0.0.1" + }, + "host": { + "default": { + "nkro": true + } }, "ws2812": { "pin": "C14" diff --git a/keyboards/horrortroll/lemon40/keyboard.json b/keyboards/horrortroll/lemon40/keyboard.json index 1c9993ca77..f2ff5be067 100644 --- a/keyboards/horrortroll/lemon40/keyboard.json +++ b/keyboards/horrortroll/lemon40/keyboard.json @@ -5,8 +5,12 @@ "usb": { "vid": "0x7516", "pid": "0x2434", - "device_version": "0.0.1", - "force_nkro": true + "device_version": "0.0.1" + }, + "host": { + "default": { + "nkro": true + } }, "rgblight": { "led_count": 15, diff --git a/keyboards/horrortroll/nyx/rev1/keymaps/default/keymap.c b/keyboards/horrortroll/nyx/rev1/keymaps/default/keymap.c index a723f77452..920584caf6 100644 --- a/keyboards/horrortroll/nyx/rev1/keymaps/default/keymap.c +++ b/keyboards/horrortroll/nyx/rev1/keymaps/default/keymap.c @@ -77,8 +77,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Row: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 */ [_FN] = LAYOUT_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, _______, RM_TOGG, - QK_BOOT, _______, KC_MS_U, _______, _______, _______, _______, _______, _______, RM_SATD, RM_SATU, RM_SPDD, RM_SPDU, _______, RM_NEXT, - _______, KC_MS_L, KC_MS_D, KC_MS_R, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + QK_BOOT, _______, MS_UP, _______, _______, _______, _______, _______, _______, RM_SATD, RM_SATU, RM_SPDD, RM_SPDU, _______, RM_NEXT, + _______, MS_LEFT, MS_DOWN, MS_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_CALC, _______, _______, NK_TOGG, _______, KC_VOLD, KC_VOLU, KC_MUTE, _______, RM_VALU, _______, _______, _______, _______, _______, _______, _______, RM_HUED, RM_VALD, RM_HUEU ) diff --git a/keyboards/horrortroll/paws60/keyboard.json b/keyboards/horrortroll/paws60/keyboard.json index da03d362f9..da6e3a4fa2 100644 --- a/keyboards/horrortroll/paws60/keyboard.json +++ b/keyboards/horrortroll/paws60/keyboard.json @@ -6,8 +6,12 @@ "usb": { "vid": "0x7516", "pid": "0x6060", - "device_version": "0.0.1", - "force_nkro": true + "device_version": "0.0.1" + }, + "host": { + "default": { + "nkro": true + } }, "features": { "bootmagic": true, diff --git a/keyboards/hotdox/keymaps/default/keymap.c b/keyboards/hotdox/keymaps/default/keymap.c index 45e81b7fcf..7de954e9ed 100644 --- a/keyboards/hotdox/keymaps/default/keymap.c +++ b/keyboards/hotdox/keymaps/default/keymap.c @@ -38,7 +38,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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), + KC_LSFT, CTL_T(KC_Z), KC_X, KC_C, KC_V, KC_B, HYPR_T(KC_NO), LT(SYMB,KC_GRV),KC_QUOT, LALT(KC_LSFT), KC_LEFT,KC_RGHT, ALT_T(KC_APP), KC_LGUI, KC_HOME, @@ -119,10 +119,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // 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_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, MS_UP, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, MS_LEFT, MS_DOWN, MS_RGHT, 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, MS_BTN1, MS_BTN2, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, diff --git a/keyboards/ibm/model_m/mschwingen/keymaps/default/keymap.c b/keyboards/ibm/model_m/mschwingen/keymaps/default/keymap.c index 8e28b4e449..66db19400f 100644 --- a/keyboards/ibm/model_m/mschwingen/keymaps/default/keymap.c +++ b/keyboards/ibm/model_m/mschwingen/keymaps/default/keymap.c @@ -63,11 +63,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_MS] = LAYOUT( /* mouse key layer */ // Cursor: mouse, INS/HOME/PgUp: Mouse Accel, Del, End, PageDn: mouse buttons TG(_MS), _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_ACL0, KC_ACL1, KC_ACL2, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_BTN1, KC_BTN3, KC_BTN2, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, MS_ACL0, MS_ACL1, MS_ACL2, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, MS_BTN1, MS_BTN3, MS_BTN2, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MS_U, _______, _______, _______, _______, - _______, _______, _______, _______, _______, KC_MS_L, KC_MS_D, KC_MS_R, _______, _______ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, MS_UP, _______, _______, _______, _______, + _______, _______, _______, _______, _______, MS_LEFT, MS_DOWN, MS_RGHT, _______, _______ ) }; diff --git a/keyboards/ibm/model_m/mschwingen/rules.mk b/keyboards/ibm/model_m/mschwingen/rules.mk index 65761bcf9a..e9091cdbae 100644 --- a/keyboards/ibm/model_m/mschwingen/rules.mk +++ b/keyboards/ibm/model_m/mschwingen/rules.mk @@ -5,5 +5,3 @@ UART_DRIVER_REQUIRED = yes SPI_DRIVER_REQUIRED = yes OPT_DEFS += -DSLEEP_LED_ENABLE - -DEFAULT_FOLDER = ibm/model_m/mschwingen/led_wired diff --git a/keyboards/ibm/model_m/yacobo/keyboard.json b/keyboards/ibm/model_m/yacobo/keyboard.json index 7ea9c6a621..dd88ac5cd4 100644 --- a/keyboards/ibm/model_m/yacobo/keyboard.json +++ b/keyboards/ibm/model_m/yacobo/keyboard.json @@ -153,7 +153,7 @@ {"label": "\u2193", "matrix": [7, 11], "x": 16.5, "y": 5.5}, {"label": "\u2192", "matrix": [7, 12], "x": 17.5, "y": 5.5}, - {"label": "0", "matrix": [0, 11], "x": 19, "y": 5.5, "w": 2}, + {"label": "0", "matrix": [0, 12], "x": 19, "y": 5.5, "w": 2}, {"label": ".", "matrix": [0, 13], "x": 21, "y": 5.5} ] }, @@ -277,7 +277,7 @@ {"label": "\u2193", "matrix": [7, 11], "x": 16.5, "y": 5.5}, {"label": "\u2192", "matrix": [7, 12], "x": 17.5, "y": 5.5}, - {"label": "0", "matrix": [0, 11], "x": 19, "y": 5.5, "w": 2}, + {"label": "0", "matrix": [0, 12], "x": 19, "y": 5.5, "w": 2}, {"label": ".", "matrix": [0, 13], "x": 21, "y": 5.5} ] } diff --git a/keyboards/ibnuda/alicia_cook/keyboard.json b/keyboards/ibnuda/alicia_cook/keyboard.json index ba9e22f63b..d8a98f92ed 100644 --- a/keyboards/ibnuda/alicia_cook/keyboard.json +++ b/keyboards/ibnuda/alicia_cook/keyboard.json @@ -19,8 +19,7 @@ "rows": ["D2", "D3", "F4", "F5"] }, "diode_direction": "COL2ROW", - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "layouts": { "LAYOUT_all": { "layout": [ diff --git a/keyboards/ibnuda/gurindam/keyboard.json b/keyboards/ibnuda/gurindam/keyboard.json index f136c8ecb2..72fdba4f7f 100644 --- a/keyboards/ibnuda/gurindam/keyboard.json +++ b/keyboards/ibnuda/gurindam/keyboard.json @@ -43,8 +43,7 @@ "rows": ["B5", "B4", "E6", "D7", "C6", "D4", "D0", "D1", "D2"] }, "diode_direction": "COL2ROW", - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/ibnuda/squiggle/rev1/keyboard.json b/keyboards/ibnuda/squiggle/rev1/keyboard.json index 41061674a9..e614da39bd 100644 --- a/keyboards/ibnuda/squiggle/rev1/keyboard.json +++ b/keyboards/ibnuda/squiggle/rev1/keyboard.json @@ -19,8 +19,7 @@ "pin": "D0" } }, - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "features": { "bootmagic": false, "mousekey": false, diff --git a/keyboards/idank/spankbd/keymaps/default/keymap.json b/keyboards/idank/spankbd/keymaps/default/keymap.json index 10bb42e108..a07be80076 100644 --- a/keyboards/idank/spankbd/keymaps/default/keymap.json +++ b/keyboards/idank/spankbd/keymaps/default/keymap.json @@ -59,7 +59,7 @@ "KC_DLR", "KC_LPRN", "KC_RPRN", - "KC_BTN2", + "MS_BTN2", "KC_PPLS", "KC_MINS", "KC_SLSH", @@ -69,7 +69,7 @@ "KC_CIRC", "KC_LBRC", "KC_RBRC", - "KC_BTN1", + "MS_BTN1", "KC_AMPR", "KC_EQL", "KC_COMM", @@ -108,10 +108,10 @@ "KC_F8", "KC_F9", "KC_F10", - "KC_MS_L", - "KC_MS_D", - "KC_MS_U", - "KC_MS_R", + "MS_LEFT", + "MS_DOWN", + "MS_UP", + "MS_RGHT", "KC_VOLD", "KC_F11", "KC_F12", diff --git a/keyboards/idank/sweeq/keymaps/default/keymap.json b/keyboards/idank/sweeq/keymaps/default/keymap.json index efd87277c7..d869668fdc 100644 --- a/keyboards/idank/sweeq/keymaps/default/keymap.json +++ b/keyboards/idank/sweeq/keymaps/default/keymap.json @@ -19,13 +19,13 @@ "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" , "MS_BTN1" , "MS_WHLU" , "MS_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" , "MS_BTN2" , "KC_NO" , "MS_BTN1" , "KC_TRNS", + "KC_TRNS" , "MS_LEFT" , "MS_DOWN" , "MS_UP" , "MS_RGHT", "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" , "MS_WHLL" , "MS_WHLD" , "MS_WHLR" , "KC_TRNS", "KC_TRNS" , "KC_TRNS", "KC_TRNS" , "KC_TRNS" diff --git a/keyboards/idobao/id42/keyboard.json b/keyboards/idobao/id42/keyboard.json index 2b075a7ba1..0f1cecd16a 100644 --- a/keyboards/idobao/id42/keyboard.json +++ b/keyboards/idobao/id42/keyboard.json @@ -69,9 +69,13 @@ "vid": "0x6964", "pid": "0x0042", "device_version": "1.0.0", - "force_nkro": true, "polling_interval": 2 - }, + }, + "host": { + "default": { + "nkro": true + } + }, "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/idyllic/pizzapad/keyboard.json b/keyboards/idyllic/pizzapad/keyboard.json index 638db19822..590d354034 100644 --- a/keyboards/idyllic/pizzapad/keyboard.json +++ b/keyboards/idyllic/pizzapad/keyboard.json @@ -13,10 +13,22 @@ "rows": ["GP6", "GP29", "GP28"] }, "usb": { - "device_version": "0.0.1", + "device_version": "0.0.2", "pid": "0x5050", "vid": "0x7A79" }, + "features": { + "bootmagic": true, + "mousekey": true, + "extrakey": true, + "nkro": true, + "encoder": true + }, + "encoder": { + "rotary": [ + { "pin_a": "GP2", "pin_b": "GP3" } + ] + }, "community_layouts": ["ortho_3x3"], "layouts": { "LAYOUT_ortho_3x3": { diff --git a/keyboards/idyllic/pizzapad/pizzapad.c b/keyboards/idyllic/pizzapad/pizzapad.c new file mode 100644 index 0000000000..11a35193aa --- /dev/null +++ b/keyboards/idyllic/pizzapad/pizzapad.c @@ -0,0 +1,14 @@ +// Copyright 2025 Zykrah +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "quantum.h" + +#define ENCODER_PIN_C GP27 + +void keyboard_pre_init_kb(void) { + // Set encoder pin C low + gpio_set_pin_output_push_pull(ENCODER_PIN_C); + gpio_write_pin_low(ENCODER_PIN_C); + + keyboard_pre_init_user(); +} diff --git a/keyboards/inland/kb83/kb83.c b/keyboards/inland/kb83/kb83.c index 07d8bdbdb4..431406d008 100644 --- a/keyboards/inland/kb83/kb83.c +++ b/keyboards/inland/kb83/kb83.c @@ -128,128 +128,6 @@ const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { {1, CB10_CA5, CB11_CA5, CB12_CA5}, }; -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; @@ -275,45 +153,14 @@ bool rgb_matrix_indicators_advanced_kb(uint8_t led_min, uint8_t led_max) { #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_t 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 ? MAC_B : WIN_B)); + set_single_default_layer(active ? 2 : 0); } return true; } @@ -323,163 +170,6 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *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 QK_RGB_MATRIX_VALUE_UP: - 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 QK_RGB_MATRIX_VALUE_DOWN: - 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 QK_RGB_MATRIX_SATURATION_UP: - 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 QK_RGB_MATRIX_SATURATION_DOWN: - 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 QK_RGB_MATRIX_HUE_UP: - 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 QK_RGB_MATRIX_HUE_DOWN: - 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 QK_RGB_MATRIX_SPEED_UP: - 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 QK_RGB_MATRIX_SPEED_DOWN: - 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 QK_RGB_MATRIX_TOGGLE: if (record->event.pressed) { switch (rgb_matrix_get_flags()) { @@ -499,102 +189,6 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) { return false; default: - return process_record_user(keycode, record); + return true; } } - -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/inland/kb83/keyboard.json b/keyboards/inland/kb83/keyboard.json index 2920da52e1..8686e33885 100644 --- a/keyboards/inland/kb83/keyboard.json +++ b/keyboards/inland/kb83/keyboard.json @@ -5,8 +5,12 @@ "usb": { "vid": "0xFFFE", "pid": "0x0007", - "device_version": "1.0.0", - "force_nkro": true + "device_version": "1.0.0" + }, + "host": { + "default": { + "nkro": true + } }, "rgb_matrix": { "animations": { @@ -28,6 +32,100 @@ "multisplash": true }, "driver": "snled27351", + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0, "flags": 4}, + {"matrix": [0, 1], "x": 14, "y": 0, "flags": 4}, + {"matrix": [0, 2], "x": 29, "y": 0, "flags": 4}, + {"matrix": [0, 3], "x": 44, "y": 0, "flags": 4}, + {"matrix": [0, 4], "x": 59, "y": 0, "flags": 4}, + {"matrix": [0, 5], "x": 74, "y": 0, "flags": 4}, + {"matrix": [0, 6], "x": 89, "y": 0, "flags": 4}, + {"matrix": [0, 7], "x": 104, "y": 0, "flags": 4}, + {"matrix": [0, 8], "x": 119, "y": 0, "flags": 4}, + {"matrix": [0, 9], "x": 134, "y": 0, "flags": 4}, + {"matrix": [0, 10], "x": 149, "y": 0, "flags": 4}, + {"matrix": [0, 11], "x": 164, "y": 0, "flags": 4}, + {"matrix": [0, 12], "x": 179, "y": 0, "flags": 4}, + {"matrix": [0, 13], "x": 194, "y": 0, "flags": 4}, + {"matrix": [1, 0], "x": 0, "y": 12, "flags": 4}, + {"matrix": [1, 1], "x": 14, "y": 12, "flags": 4}, + {"matrix": [1, 2], "x": 28, "y": 12, "flags": 4}, + {"matrix": [1, 3], "x": 42, "y": 12, "flags": 4}, + {"matrix": [1, 4], "x": 56, "y": 12, "flags": 4}, + {"matrix": [1, 5], "x": 70, "y": 12, "flags": 4}, + {"matrix": [1, 6], "x": 84, "y": 12, "flags": 4}, + {"matrix": [1, 7], "x": 98, "y": 12, "flags": 4}, + {"matrix": [1, 8], "x": 112, "y": 12, "flags": 4}, + {"matrix": [1, 9], "x": 126, "y": 12, "flags": 4}, + {"matrix": [1, 10], "x": 140, "y": 12, "flags": 4}, + {"matrix": [1, 11], "x": 154, "y": 12, "flags": 4}, + {"matrix": [1, 12], "x": 168, "y": 12, "flags": 4}, + {"matrix": [1, 13], "x": 182, "y": 12, "flags": 4}, + {"matrix": [1, 15], "x": 224, "y": 12, "flags": 4}, + {"matrix": [2, 0], "x": 0, "y": 25, "flags": 4}, + {"matrix": [2, 1], "x": 14, "y": 25, "flags": 4}, + {"matrix": [2, 2], "x": 28, "y": 25, "flags": 4}, + {"matrix": [2, 3], "x": 42, "y": 25, "flags": 4}, + {"matrix": [2, 4], "x": 56, "y": 25, "flags": 4}, + {"matrix": [2, 5], "x": 70, "y": 25, "flags": 4}, + {"matrix": [2, 6], "x": 84, "y": 25, "flags": 4}, + {"matrix": [2, 7], "x": 98, "y": 25, "flags": 4}, + {"matrix": [2, 8], "x": 112, "y": 25, "flags": 4}, + {"matrix": [2, 9], "x": 126, "y": 25, "flags": 4}, + {"matrix": [2, 10], "x": 140, "y": 25, "flags": 4}, + {"matrix": [2, 11], "x": 154, "y": 25, "flags": 4}, + {"matrix": [2, 12], "x": 168, "y": 25, "flags": 4}, + {"matrix": [2, 13], "x": 182, "y": 25, "flags": 4}, + {"matrix": [2, 15], "x": 224, "y": 25, "flags": 4}, + {"matrix": [3, 0], "x": 0, "y": 38, "flags": 4}, + {"matrix": [3, 1], "x": 28, "y": 38, "flags": 4}, + {"matrix": [3, 2], "x": 42, "y": 38, "flags": 4}, + {"matrix": [3, 3], "x": 56, "y": 38, "flags": 4}, + {"matrix": [3, 4], "x": 70, "y": 38, "flags": 4}, + {"matrix": [3, 5], "x": 84, "y": 38, "flags": 4}, + {"matrix": [3, 6], "x": 98, "y": 38, "flags": 4}, + {"matrix": [3, 7], "x": 112, "y": 38, "flags": 4}, + {"matrix": [3, 8], "x": 126, "y": 38, "flags": 4}, + {"matrix": [3, 9], "x": 140, "y": 38, "flags": 4}, + {"matrix": [3, 10], "x": 154, "y": 38, "flags": 4}, + {"matrix": [3, 11], "x": 168, "y": 38, "flags": 4}, + {"matrix": [3, 13], "x": 182, "y": 38, "flags": 4}, + {"matrix": [3, 15], "x": 224, "y": 38, "flags": 4}, + {"matrix": [4, 0], "x": 0, "y": 51, "flags": 4}, + {"matrix": [4, 1], "x": 18, "y": 51, "flags": 4}, + {"matrix": [4, 2], "x": 37, "y": 51, "flags": 4}, + {"matrix": [4, 3], "x": 56, "y": 51, "flags": 4}, + {"matrix": [4, 4], "x": 74, "y": 51, "flags": 4}, + {"matrix": [4, 5], "x": 93, "y": 51, "flags": 4}, + {"matrix": [4, 6], "x": 112, "y": 51, "flags": 4}, + {"matrix": [4, 7], "x": 130, "y": 51, "flags": 4}, + {"matrix": [4, 8], "x": 149, "y": 51, "flags": 4}, + {"matrix": [4, 9], "x": 168, "y": 51, "flags": 4}, + {"matrix": [4, 10], "x": 186, "y": 51, "flags": 4}, + {"matrix": [4, 13], "x": 200, "y": 51, "flags": 4}, + {"matrix": [4, 14], "x": 214, "y": 51, "flags": 4}, + {"matrix": [4, 15], "x": 224, "y": 51, "flags": 4}, + {"matrix": [5, 0], "x": 0, "y": 64, "flags": 4}, + {"matrix": [5, 1], "x": 18, "y": 64, "flags": 4}, + {"matrix": [5, 2], "x": 37, "y": 64, "flags": 4}, + {"matrix": [5, 5], "x": 92, "y": 64, "flags": 4}, + {"matrix": [5, 9], "x": 140, "y": 64, "flags": 4}, + {"matrix": [5, 10], "x": 154, "y": 64, "flags": 4}, + {"matrix": [5, 11], "x": 168, "y": 64, "flags": 4}, + {"matrix": [5, 13], "x": 196, "y": 64, "flags": 4}, + {"matrix": [5, 14], "x": 210, "y": 64, "flags": 4}, + {"matrix": [5, 15], "x": 224, "y": 64, "flags": 4}, + {"x": 0, "y": 0, "flags": 2}, + {"x": 0, "y": 16, "flags": 2}, + {"x": 0, "y": 32, "flags": 2}, + {"x": 0, "y": 48, "flags": 2}, + {"x": 0, "y": 64, "flags": 2}, + {"x": 224, "y": 0, "flags": 2}, + {"x": 224, "y": 16, "flags": 2}, + {"x": 224, "y": 32, "flags": 2}, + {"x": 224, "y": 48, "flags": 2}, + {"x": 224, "y": 64, "flags": 2} + ], "max_brightness": 200, "react_on_keyup": true, "sleep": true @@ -60,7 +158,7 @@ }, "encoder": { "rotary": [ - {"pin_a": "B13", "pin_b": "B14", "resolution": 4} + {"pin_a": "B13", "pin_b": "B14"} ] }, "qmk": { diff --git a/keyboards/inland/kb83/keymaps/default/keymap.c b/keyboards/inland/kb83/keymaps/default/keymap.c index df7df65678..ac2aa5e7f7 100644 --- a/keyboards/inland/kb83/keymaps/default/keymap.c +++ b/keyboards/inland/kb83/keymaps/default/keymap.c @@ -71,3 +71,8 @@ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { }; #endif +#if defined(DIP_SWITCH_MAP_ENABLE) +const uint16_t PROGMEM dip_switch_map[NUM_DIP_SWITCHES][NUM_DIP_STATES] = { + DIP_SWITCH_OFF_ON(DF(WIN_B), DF(MAC_B)) +}; +#endif diff --git a/keyboards/inland/kb83/keymaps/default/rules.mk b/keyboards/inland/kb83/keymaps/default/rules.mk index ee32568148..d64aefdfb8 100644 --- a/keyboards/inland/kb83/keymaps/default/rules.mk +++ b/keyboards/inland/kb83/keymaps/default/rules.mk @@ -1 +1,2 @@ ENCODER_MAP_ENABLE = yes +DIP_SWITCH_MAP_ENABLE = yes diff --git a/keyboards/inland/kb83/readme.md b/keyboards/inland/kb83/readme.md index e6f1d45990..a56b5c5b5a 100644 --- a/keyboards/inland/kb83/readme.md +++ b/keyboards/inland/kb83/readme.md @@ -14,6 +14,11 @@ Flashing example for this keyboard: make inland/kb83: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). + +## Bootloader + +Enter the bootloader in 2 ways: + +* **Bootmagic reset**: Hold down the top left key, which programmed as *Esc* while plugging in the keyboard +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/inland/mk47/keyboard.json b/keyboards/inland/mk47/keyboard.json index a69ec2ac4a..c777f54d52 100644 --- a/keyboards/inland/mk47/keyboard.json +++ b/keyboards/inland/mk47/keyboard.json @@ -6,9 +6,13 @@ "vid": "0xFFFE", "pid": "0x0002", "device_version": "0.0.1", - "force_nkro": true, "suspend_wakeup_delay": 1000 }, + "host": { + "default": { + "nkro": true + } + }, "processor": "WB32FQ95", "bootloader": "wb32-dfu", "features": { diff --git a/keyboards/inland/v83p/keyboard.json b/keyboards/inland/v83p/keyboard.json index 5fad1a96d4..de93c5f372 100644 --- a/keyboards/inland/v83p/keyboard.json +++ b/keyboards/inland/v83p/keyboard.json @@ -8,9 +8,13 @@ "vid": "0xFFFE", "pid": "0x001B", "device_version": "1.0.3", - "force_nkro": true, "suspend_wakeup_delay": 1000 }, + "host": { + "default": { + "nkro": true + } + }, "diode_direction": "ROW2COL", "eeprom": { "driver": "wear_leveling", diff --git a/keyboards/input_club/ergodox_infinity/keymaps/default/keymap.c b/keyboards/input_club/ergodox_infinity/keymaps/default/keymap.c index 8b3d110c88..f6def2c8e8 100644 --- a/keyboards/input_club/ergodox_infinity/keymaps/default/keymap.c +++ b/keyboards/input_club/ergodox_infinity/keymaps/default/keymap.c @@ -42,7 +42,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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), + KC_LSFT, CTL_T(KC_Z), KC_X, KC_C, KC_V, KC_B, HYPR_T(KC_NO), LT(SYMB,KC_GRV),KC_QUOT, LALT(KC_LSFT), KC_LEFT,KC_RGHT, ALT_T(KC_APP), KC_LGUI, KC_HOME, @@ -123,10 +123,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // 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_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, MS_UP, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, MS_LEFT, MS_DOWN, MS_RGHT, 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, MS_BTN1, MS_BTN2, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, diff --git a/keyboards/input_club/ergodox_infinity/keymaps/halfkeyboard/keymap.c b/keyboards/input_club/ergodox_infinity/keymaps/halfkeyboard/keymap.c index 550eea0d31..69f831c2f2 100644 --- a/keyboards/input_club/ergodox_infinity/keymaps/halfkeyboard/keymap.c +++ b/keyboards/input_club/ergodox_infinity/keymaps/halfkeyboard/keymap.c @@ -48,21 +48,21 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // Otherwise, it needs KC_* [QWERTY] = LAYOUT_ergodox( // layer 0 : default // left hand - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_BTN2, + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, MS_BTN2, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_EQL, KC_BSPC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_MINUS, KC_LCTL, KC_LALT, LCTL(LSFT(KC_TAB)),LCTL(KC_TAB), MO(SHORTCUTS), - KC_LGUI, KC_BTN1, + KC_LGUI, MS_BTN1, MU_ON, KC_SPACE,KC_DEL,KC_END, // right hand - KC_BTN2, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, + MS_BTN2, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, KC_RBRC, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_SLASH, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT, KC_EQL,KC_N, KC_M, KC_COMM,KC_DOT, KC_SLASH, KC_RSFT, MO(SHORTCUTS), KC_UP,KC_DOWN,KC_RALT, KC_RCTL, - KC_BTN1, KC_RGUI, + MS_BTN1, KC_RGUI, MU_OFF, KC_PGDN,KC_TAB, LT(HALFQWERTY, KC_ENT) ), diff --git a/keyboards/input_club/infinity60/keymaps/hasu/keymap.c b/keyboards/input_club/infinity60/keymaps/hasu/keymap.c index 4200eaf1c2..7837a0cd5d 100644 --- a/keyboards/input_club/infinity60/keymaps/hasu/keymap.c +++ b/keyboards/input_club/infinity60/keymaps/hasu/keymap.c @@ -80,10 +80,10 @@ const uint16_t keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [3] = LAYOUT_60_ansi_split_bs_rshift( KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL, - LALT(KC_TAB), KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_WH_L,KC_WH_D,KC_MS_U, KC_WH_U, KC_WH_R, ALT_T(KC_LEFT), ALT_T(KC_RGHT),LALT(KC_TAB), - KC_LCTL, KC_ACL0,KC_ACL1,KC_ACL2,KC_ACL2,KC_NO, KC_NO, KC_MS_L,KC_MS_D, KC_MS_R, LT(3, KC_SCLN), KC_NO, KC_ENT, - KC_LSFT, KC_NO, KC_NO, KC_NO, KC_NO, KC_BTN3,KC_BTN2,KC_BTN1,ALT_T(KC_LEFT), ALT_T(KC_RGHT), KC_NO, KC_RSFT, KC_TRNS, - KC_TRNS, KC_LGUI,KC_LALT, KC_BTN1, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + LALT(KC_TAB), KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, MS_WHLL,MS_WHLD,MS_UP, MS_WHLU, MS_WHLR, ALT_T(KC_LEFT), ALT_T(KC_RGHT),LALT(KC_TAB), + KC_LCTL, MS_ACL0,MS_ACL1,MS_ACL2,MS_ACL2,KC_NO, KC_NO, MS_LEFT,MS_DOWN, MS_RGHT, LT(3, KC_SCLN), KC_NO, KC_ENT, + KC_LSFT, KC_NO, KC_NO, KC_NO, KC_NO, MS_BTN3,MS_BTN2,MS_BTN1,ALT_T(KC_LEFT), ALT_T(KC_RGHT), KC_NO, KC_RSFT, KC_TRNS, + KC_TRNS, KC_LGUI,KC_LALT, MS_BTN1, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ), /* Layer 4: Mouse mode(IJKL)[Space] @@ -102,9 +102,9 @@ const uint16_t keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [4] = LAYOUT_60_ansi_split_bs_rshift( KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL, - LALT(KC_TAB), KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_WH_L, KC_WH_D, KC_MS_U, KC_WH_U, KC_WH_R, KC_BTN4, KC_BTN5, LALT(KC_TAB), - KC_LCTL, KC_VOLD, KC_VOLU, KC_MUTE, KC_NO, KC_NO, KC_NO, KC_MS_L, KC_MS_D, KC_MS_R, KC_BTN1, KC_NO, KC_ENT, - KC_LSFT, KC_NO, KC_NO, KC_NO, KC_NO, KC_BTN3, KC_BTN2, KC_BTN1, ALT_T(KC_LEFT), ALT_T(KC_RGHT), KC_NO, KC_RSFT, KC_NO, + LALT(KC_TAB), KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, MS_WHLL, MS_WHLD, MS_UP, MS_WHLU, MS_WHLR, MS_BTN4, MS_BTN5, LALT(KC_TAB), + KC_LCTL, KC_VOLD, KC_VOLU, KC_MUTE, KC_NO, KC_NO, KC_NO, MS_LEFT, MS_DOWN, MS_RGHT, MS_BTN1, KC_NO, KC_ENT, + KC_LSFT, KC_NO, KC_NO, KC_NO, KC_NO, MS_BTN3, MS_BTN2, MS_BTN1, ALT_T(KC_LEFT), ALT_T(KC_RGHT), KC_NO, KC_RSFT, KC_NO, KC_NO, KC_LGUI, KC_LALT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ) }; diff --git a/keyboards/ivndbt/late9/rev1/keyboard.json b/keyboards/ivndbt/late9/rev1/keyboard.json index a9bc229588..523ae83492 100644 --- a/keyboards/ivndbt/late9/rev1/keyboard.json +++ b/keyboards/ivndbt/late9/rev1/keyboard.json @@ -24,8 +24,7 @@ "nkro": true, "oled": true }, - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/ivndbt/neopad/rev1/keyboard.json b/keyboards/ivndbt/neopad/rev1/keyboard.json index a07852acf0..f40f06549b 100755 --- a/keyboards/ivndbt/neopad/rev1/keyboard.json +++ b/keyboards/ivndbt/neopad/rev1/keyboard.json @@ -28,8 +28,7 @@ {"pin_a": "D4", "pin_b": "C6"} ] }, - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "tapping": { "toggle": 2 }, diff --git a/keyboards/ivndbt/neopad/rev1/keymaps/default/keymap.c b/keyboards/ivndbt/neopad/rev1/keymaps/default/keymap.c index 721c21ef3c..17c9d9db9b 100755 --- a/keyboards/ivndbt/neopad/rev1/keymaps/default/keymap.c +++ b/keyboards/ivndbt/neopad/rev1/keymaps/default/keymap.c @@ -104,9 +104,9 @@ bool encoder_update_user(uint8_t index, bool clockwise) { case 3: // layer 3 - pan right (CW) and left (CCW) if (clockwise) { - tap_code(KC_WH_R); + tap_code(MS_WHLR); } else { - tap_code(KC_WH_L); + tap_code(MS_WHLL); } break; } @@ -134,18 +134,18 @@ bool encoder_update_user(uint8_t index, bool clockwise) { case 2: // layer 2 - wheel up (CW) and down (CCW) if (clockwise) { - tap_code(KC_WH_U); + tap_code(MS_WHLU); } else { - tap_code(KC_WH_D); + tap_code(MS_WHLD); } break; case 3: // layer 3 - wheel up (CW) and down (CCW) if (clockwise) { - tap_code(KC_WH_U); + tap_code(MS_WHLU); } else { - tap_code(KC_WH_D); + tap_code(MS_WHLD); } break; } diff --git a/keyboards/jacky_studio/piggy60/keymaps/default/keymap.c b/keyboards/jacky_studio/piggy60/keymaps/default/keymap.c index 2330caf6ff..95a9e1e555 100644 --- a/keyboards/jacky_studio/piggy60/keymaps/default/keymap.c +++ b/keyboards/jacky_studio/piggy60/keymaps/default/keymap.c @@ -32,8 +32,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [1] = LAYOUT_60_ansi_tsangan_split_bs_rshift( KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_PSCR, - KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_PGUP, KC_HOME, KC_TRNS, KC_VOLU, KC_BRIU, KC_TRNS, KC_WH_U, KC_TRNS, KC_TRNS, KC_DEL, - KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_END, KC_TRNS, KC_VOLD, KC_BRID, KC_TRNS, KC_WH_D, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_PGUP, KC_HOME, KC_TRNS, KC_VOLU, KC_BRIU, KC_TRNS, MS_WHLU, KC_TRNS, KC_TRNS, KC_DEL, + KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_END, KC_TRNS, KC_VOLD, KC_BRID, KC_TRNS, MS_WHLD, KC_TRNS, KC_TRNS, RM_TOGG, RM_NEXT, RM_HUEU, RM_SATU, RM_VALU, RM_SPDU, KC_TRNS, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ) diff --git a/keyboards/jiran/info.json b/keyboards/jiran/info.json index b06266ec8c..00c4239781 100644 --- a/keyboards/jiran/info.json +++ b/keyboards/jiran/info.json @@ -19,6 +19,5 @@ "pin": "D1" } }, - "processor": "atmega32u4", - "bootloader": "caterina" + "development_board": "promicro" } diff --git a/keyboards/jorne/rev1/keyboard.json b/keyboards/jorne/rev1/keyboard.json index 4e905e4bfc..7fffc8be02 100644 --- a/keyboards/jorne/rev1/keyboard.json +++ b/keyboards/jorne/rev1/keyboard.json @@ -32,8 +32,7 @@ "ws2812": { "pin": "D3" }, - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "features": { "bootmagic": false, "mousekey": true, diff --git a/keyboards/junco/keymaps/default/keymap.c b/keyboards/junco/keymaps/default/keymap.c index 8fe73e035a..f1726791e3 100644 --- a/keyboards/junco/keymaps/default/keymap.c +++ b/keyboards/junco/keymaps/default/keymap.c @@ -146,7 +146,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { // Base layer encoder mappings: // index 0: mouse wheel up (CCW)/down (CW) index 1: volume down/up index 2: mouse wheel up/down index 3: mouse wheel left/right - [_QWERTY] = { ENCODER_CCW_CW(KC_MS_WH_UP, KC_MS_WH_DOWN), ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_MS_WH_UP, KC_MS_WH_DOWN), ENCODER_CCW_CW(KC_WH_L, KC_WH_R) }, + [_QWERTY] = { ENCODER_CCW_CW(MS_WHLU, MS_WHLD), ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(MS_WHLU, MS_WHLD), ENCODER_CCW_CW(MS_WHLL, MS_WHLR) }, [_COLEMAK_DH] = { 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) }, // Passes through to base layers diff --git a/keyboards/k34/keymaps/default/keymap.c b/keyboards/k34/keymaps/default/keymap.c index 4d09b121dd..cfadf90c6b 100644 --- a/keyboards/k34/keymaps/default/keymap.c +++ b/keyboards/k34/keymaps/default/keymap.c @@ -25,8 +25,8 @@ enum layer_names { #define S_SLSH SFT_T(KC_SLSH) // combos for application shortcuts -#define SG_LBRC SGUI(KC_LBRC) -#define SG_RBRC SGUI(KC_RBRC) +#define SG_LBRC LSG(KC_LBRC) +#define SG_RBRC LSG(KC_RBRC) #define G_LBRC G(KC_LBRC) #define G_RBRC G(KC_RBRC) #define A_SLSH A(KC_SLSH) diff --git a/keyboards/kabedon/kabedon98e/keyboard.json b/keyboards/kabedon/kabedon98e/keyboard.json index 731c03dd74..70d0bb8ca4 100644 --- a/keyboards/kabedon/kabedon98e/keyboard.json +++ b/keyboards/kabedon/kabedon98e/keyboard.json @@ -5,8 +5,12 @@ "usb": { "vid": "0x4B44", "pid": "0x3935", - "device_version": "0.0.2", - "force_nkro": true + "device_version": "0.0.2" + }, + "host": { + "default": { + "nkro": true + } }, "rgblight": { "led_count": 24, diff --git a/keyboards/kakunpc/angel17/info.json b/keyboards/kakunpc/angel17/info.json index a8a4f2c148..c0d7287052 100644 --- a/keyboards/kakunpc/angel17/info.json +++ b/keyboards/kakunpc/angel17/info.json @@ -8,7 +8,6 @@ "pid": "0x0000", "device_version": "0.0.1" }, - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "community_layouts": ["numpad_5x4"] } diff --git a/keyboards/kakunpc/rabbit_capture_plan/keyboard.json b/keyboards/kakunpc/rabbit_capture_plan/keyboard.json index dce62c64d8..357d1a1ed1 100644 --- a/keyboards/kakunpc/rabbit_capture_plan/keyboard.json +++ b/keyboards/kakunpc/rabbit_capture_plan/keyboard.json @@ -55,8 +55,7 @@ "pin": "D2" } }, - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "layout_aliases": { "LAYOUT_all": "LAYOUT_ansi_split_rshift" }, diff --git a/keyboards/kapcave/paladin64/keymaps/default/keymap.c b/keyboards/kapcave/paladin64/keymaps/default/keymap.c index f4f1873919..e69ef22288 100644 --- a/keyboards/kapcave/paladin64/keymaps/default/keymap.c +++ b/keyboards/kapcave/paladin64/keymaps/default/keymap.c @@ -53,9 +53,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* AutoMouse */ 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_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, MS_BTN1, 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_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_BTN3, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS) + KC_TRNS, KC_TRNS, KC_TRNS, MS_BTN3, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS) }; diff --git a/keyboards/kapl/rev1/keyboard.json b/keyboards/kapl/rev1/keyboard.json index 820c647ccf..843847d8fe 100644 --- a/keyboards/kapl/rev1/keyboard.json +++ b/keyboards/kapl/rev1/keyboard.json @@ -72,8 +72,7 @@ } } }, - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "features": { "bootmagic": false, "mousekey": true, diff --git a/keyboards/kb_elmo/gamehand/keyboard.json b/keyboards/kb_elmo/gamehand/keyboard.json index 39795bf250..9c2b847c1a 100644 --- a/keyboards/kb_elmo/gamehand/keyboard.json +++ b/keyboards/kb_elmo/gamehand/keyboard.json @@ -6,8 +6,12 @@ "usb": { "vid": "0xA68C", "pid": "0x4D90", - "device_version": "0.0.1", - "force_nkro": true + "device_version": "0.0.1" + }, + "host": { + "default": { + "nkro": true + } }, "processor": "atmega32u2", "bootloader": "atmel-dfu", diff --git a/keyboards/kbdclack/kaishi65/keymaps/default/keymap.c b/keyboards/kbdclack/kaishi65/keymaps/default/keymap.c index 46d68182f4..e1674d43ff 100644 --- a/keyboards/kbdclack/kaishi65/keymaps/default/keymap.c +++ b/keyboards/kbdclack/kaishi65/keymaps/default/keymap.c @@ -32,8 +32,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_FN] = 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, KC_DEL, _______, - _______, KC_BTN1, KC_MS_U, KC_BTN2, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_INS, - _______, KC_MS_L, KC_MS_D, KC_MS_R, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, + _______, MS_BTN1, MS_UP, MS_BTN2, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_INS, + _______, MS_LEFT, MS_DOWN, MS_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, _______, _______, _______, _______, KC_VOLU, KC_END, _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_VOLD, KC_MNXT) }; diff --git a/keyboards/kbdfans/kbd67/rev2/keymaps/iso/keymap.c b/keyboards/kbdfans/kbd67/rev2/keymaps/iso/keymap.c index d4a3cad12f..f34c94523f 100644 --- a/keyboards/kbdfans/kbd67/rev2/keymaps/iso/keymap.c +++ b/keyboards/kbdfans/kbd67/rev2/keymaps/iso/keymap.c @@ -54,8 +54,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_PSCR, KC_CAPS, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, _______, _______, _______, _______, BL_UP, BL_DOWN, BL_TOGG, KC_INS, _______, KC_VOLD, KC_MUTE, KC_VOLU, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, KC_HOME, - _______, UG_TOGG, UG_NEXT, UG_HUEU, UG_HUED, UG_SATU, UG_SATD, _______, _______, _______, _______, _______, KC_BTN1, KC_MS_U, KC_END, - _______, _______, _______, _______, _______, _______, _______, KC_MS_L, KC_MS_D, KC_MS_R + _______, UG_TOGG, UG_NEXT, UG_HUEU, UG_HUED, UG_SATU, UG_SATD, _______, _______, _______, _______, _______, MS_BTN1, MS_UP, KC_END, + _______, _______, _______, _______, _______, _______, _______, MS_LEFT, MS_DOWN, MS_RGHT ), }; diff --git a/keyboards/kbdfans/kbd75hs/keyboard.json b/keyboards/kbdfans/kbd75hs/keyboard.json index cba3e17e9a..45773d07aa 100644 --- a/keyboards/kbdfans/kbd75hs/keyboard.json +++ b/keyboards/kbdfans/kbd75hs/keyboard.json @@ -5,8 +5,12 @@ "usb": { "vid": "0x4B42", "pid": "0x6062", - "device_version": "0.0.3", - "force_nkro": true + "device_version": "0.0.3" + }, + "host": { + "default": { + "nkro": true + } }, "features": { "bootmagic": true, diff --git a/keyboards/keaboard/rev1/keyboard.json b/keyboards/keaboard/rev1/keyboard.json index 1b5b492075..c8dea471f6 100644 --- a/keyboards/keaboard/rev1/keyboard.json +++ b/keyboards/keaboard/rev1/keyboard.json @@ -13,8 +13,7 @@ "rows": ["D7", "E6", "B4", "B5"], "cols": ["F5", "F6", "F7", "B1", "B3", "B2", "B6"] }, - "bootloader": "caterina", - "processor": "atmega32u4", + "development_board": "promicro", "split": { "enabled": true, "serial": { diff --git a/keyboards/keebformom/keyboard.json b/keyboards/keebformom/keyboard.json index 7fbaa5737f..bcc3a7d8b2 100644 --- a/keyboards/keebformom/keyboard.json +++ b/keyboards/keebformom/keyboard.json @@ -28,8 +28,7 @@ "rows": ["F5", "F6", "F7", "B1"] }, "diode_direction": "COL2ROW", - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "features": { "bootmagic": false, "mousekey": false, diff --git a/keyboards/keebformom/keymaps/default/keymap.c b/keyboards/keebformom/keymaps/default/keymap.c index f1c4b29429..727e429d74 100644 --- a/keyboards/keebformom/keymaps/default/keymap.c +++ b/keyboards/keebformom/keymaps/default/keymap.c @@ -74,7 +74,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `---------------------------------------------------------------------' */ [_THIRD] = LAYOUT_ortho_4x10( - KC_INS, KC_HOME, KC_PGUP, KC_NO, SGUI(KC_S), LCTL(KC_A), KC_NO, KC_NO, KC_UP, KC_NO, + KC_INS, KC_HOME, KC_PGUP, KC_NO, LSG(KC_S), LCTL(KC_A), KC_NO, KC_NO, KC_UP, KC_NO, KC_DEL, KC_END, KC_PGDN, KC_NO, LCTL(KC_S), LCTL(KC_C), KC_NO, KC_LEFT, KC_DOWN, KC_RGHT, KC_NO, KC_NO, KC_NO, KC_NO, LWIN(KC_E), LCTL(KC_V), KC_NO, KC_NO, KC_NO, KC_NO, TO(0), _______, _______, _______, _______, _______, _______, KC_VOLD, _______, KC_VOLU diff --git a/keyboards/keebio/bdn9/rev1/keyboard.json b/keyboards/keebio/bdn9/rev1/keyboard.json index 1deecf0d5b..5c677db78d 100644 --- a/keyboards/keebio/bdn9/rev1/keyboard.json +++ b/keyboards/keebio/bdn9/rev1/keyboard.json @@ -36,8 +36,7 @@ "ws2812": { "pin": "D3" }, - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "features": { "bootmagic": false, "mousekey": false, diff --git a/keyboards/keebio/bfo9000/keyboard.json b/keyboards/keebio/bfo9000/keyboard.json index 08d9997d43..159334cc07 100644 --- a/keyboards/keebio/bfo9000/keyboard.json +++ b/keyboards/keebio/bfo9000/keyboard.json @@ -39,8 +39,7 @@ "ws2812": { "pin": "B4" }, - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/keebio/dilly/keyboard.json b/keyboards/keebio/dilly/keyboard.json index 82a565ae62..0f7bce7d3f 100644 --- a/keyboards/keebio/dilly/keyboard.json +++ b/keyboards/keebio/dilly/keyboard.json @@ -49,8 +49,7 @@ "ws2812": { "pin": "D3" }, - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "community_layouts": ["ortho_3x10"], "layouts": { "LAYOUT_ortho_3x10": { diff --git a/keyboards/keebio/foldkb/info.json b/keyboards/keebio/foldkb/info.json new file mode 100644 index 0000000000..669038aff1 --- /dev/null +++ b/keyboards/keebio/foldkb/info.json @@ -0,0 +1,8 @@ +{ + "manufacturer": "Keebio", + "url": "https://keeb.io", + "maintainer": "Keebio", + "usb": { + "vid": "0xCB10" + } +} diff --git a/keyboards/keebio/foldkb/rev1/keyboard.json b/keyboards/keebio/foldkb/rev1/keyboard.json index 70808c2662..28594a783b 100644 --- a/keyboards/keebio/foldkb/rev1/keyboard.json +++ b/keyboards/keebio/foldkb/rev1/keyboard.json @@ -1,10 +1,6 @@ { "keyboard_name": "FoldKB Rev. 1", - "manufacturer": "Keebio", - "url": "https://keeb.io", - "maintainer": "nooges", "usb": { - "vid": "0xCB10", "pid": "0x1358", "device_version": "1.0.0" }, diff --git a/keyboards/keebio/foldkb/keymaps/default/keymap.c b/keyboards/keebio/foldkb/rev1/keymaps/default/keymap.c similarity index 61% rename from keyboards/keebio/foldkb/keymaps/default/keymap.c rename to keyboards/keebio/foldkb/rev1/keymaps/default/keymap.c index 0c099df625..ae21a1267f 100644 --- a/keyboards/keebio/foldkb/keymaps/default/keymap.c +++ b/keyboards/keebio/foldkb/rev1/keymaps/default/keymap.c @@ -1,18 +1,5 @@ -/* Copyright 2021 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 . -*/ +// Copyright 2025 Keebio (@keebio) +// SPDX-License-Identifier: GPL-2.0-or-later #include QMK_KEYBOARD_H @@ -25,10 +12,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_PGDN, KC_LCTL, KC_LGUI, KC_LALT, MO(1), KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_MENU, KC_RCTL ), [1] = LAYOUT( - KC_MUTE, QK_BOOT, _______, UG_HUED, UG_HUEU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, + KC_MUTE, QK_BOOT, 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_DEL, BL_STEP, _______, UG_SATD, UG_SATU, _______, _______, _______, _______, KC_7, KC_8, KC_9, _______, _______, _______, _______, UG_NEXT, _______, UG_VALD, UG_VALU, _______, _______, _______, _______, KC_4, KC_5, KC_6, _______, _______, _______, - KC_VOLU, _______, _______, _______, _______, _______, _______, _______, KC_1, KC_2, KC_3, _______, _______, _______, + KC_VOLU, _______, UG_HUED, UG_HUEU, _______, _______, _______, _______, KC_1, KC_2, KC_3, _______, _______, _______, KC_VOLD, _______, _______, _______, _______, _______, _______, _______, KC_0, _______, _______, _______, _______ ), }; diff --git a/keyboards/keebio/foldkb/rev2/config.h b/keyboards/keebio/foldkb/rev2/config.h new file mode 100644 index 0000000000..06498b8b8b --- /dev/null +++ b/keyboards/keebio/foldkb/rev2/config.h @@ -0,0 +1,23 @@ +// Copyright 2025 Keebio (@keebio) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +/* Defines for the split keyboard setup */ +#define SERIAL_USART_DRIVER SD1 // USART 1 +#define SERIAL_USART_TX_PIN A9 +#define SERIAL_USART_RX_PIN A10 +#define SERIAL_USART_TX_PAL_MODE 7 +#define SERIAL_USART_RX_PAL_MODE 7 +#define SERIAL_USART_FULL_DUPLEX +#define SERIAL_USART_PIN_SWAP + +#define USB_VBUS_PIN A7 + +/* Defines for the RGB matrix */ +#define WS2812_PWM_DRIVER PWMD3 +#define WS2812_PWM_CHANNEL 3 +#define WS2812_PWM_PAL_MODE 2 +#define WS2812_DMA_STREAM STM32_DMA1_STREAM2 +#define WS2812_DMA_CHANNEL 2 +#define WS2812_DMAMUX_ID STM32_DMAMUX1_TIM3_UP diff --git a/keyboards/keebio/foldkb/rev2/halconf.h b/keyboards/keebio/foldkb/rev2/halconf.h new file mode 100644 index 0000000000..ce1dfd06d7 --- /dev/null +++ b/keyboards/keebio/foldkb/rev2/halconf.h @@ -0,0 +1,10 @@ +// Copyright 2025 Keebio (@keebio) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#define HAL_USE_SERIAL TRUE + +#define HAL_USE_PWM TRUE + +#include_next diff --git a/keyboards/keebio/foldkb/rev2/keyboard.json b/keyboards/keebio/foldkb/rev2/keyboard.json new file mode 100644 index 0000000000..19dd601c86 --- /dev/null +++ b/keyboards/keebio/foldkb/rev2/keyboard.json @@ -0,0 +1,263 @@ +{ + "keyboard_name": "FoldKB Rev. 2", + "bootloader": "stm32-dfu", + "diode_direction": "COL2ROW", + "encoder": { + "rotary": [ + {"pin_a": "A4", "pin_b": "A3"} + ] + }, + "features": { + "bootmagic": true, + "encoder": true, + "extrakey": true, + "mousekey": true, + "rgb_matrix": true + }, + "matrix_pins": { + "cols": ["A6", "A15", "B3", "B4", "B5", "B6", "B7", "F0"], + "rows": ["A5", "A0", "A1", "A2", "F1"] + }, + "processor": "STM32G431", + "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, + "flower_blooming": 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, + "riverflow": 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, + "starlight": true, + "starlight_dual_hue": true, + "starlight_dual_sat": true, + "starlight_smooth": true, + "typing_heatmap": true + }, + "driver": "ws2812", + "layout": [ + {"matrix": [0, 1], "x": 17, "y": 0, "flags": 4}, + {"matrix": [0, 2], "x": 31, "y": 0, "flags": 4}, + {"matrix": [0, 3], "x": 45, "y": 0, "flags": 4}, + {"matrix": [0, 4], "x": 59, "y": 0, "flags": 4}, + {"matrix": [0, 5], "x": 72, "y": 0, "flags": 4}, + {"matrix": [0, 6], "x": 86, "y": 0, "flags": 4}, + {"matrix": [0, 7], "x": 100, "y": 0, "flags": 4}, + {"matrix": [1, 7], "x": 100, "y": 16, "flags": 4}, + {"matrix": [1, 6], "x": 86, "y": 16, "flags": 4}, + {"matrix": [1, 5], "x": 72, "y": 16, "flags": 4}, + {"matrix": [1, 4], "x": 59, "y": 16, "flags": 4}, + {"matrix": [1, 3], "x": 45, "y": 16, "flags": 4}, + {"matrix": [1, 2], "x": 28, "y": 16, "flags": 4}, + {"matrix": [2, 2], "x": 26, "y": 32, "flags": 4}, + {"matrix": [2, 3], "x": 45, "y": 32, "flags": 4}, + {"matrix": [2, 4], "x": 59, "y": 32, "flags": 4}, + {"matrix": [2, 5], "x": 72, "y": 32, "flags": 4}, + {"matrix": [2, 6], "x": 86, "y": 32, "flags": 4}, + {"matrix": [2, 7], "x": 100, "y": 32, "flags": 4}, + {"matrix": [3, 7], "x": 100, "y": 48, "flags": 4}, + {"matrix": [3, 6], "x": 86, "y": 48, "flags": 4}, + {"matrix": [3, 5], "x": 72, "y": 48, "flags": 4}, + {"matrix": [3, 4], "x": 59, "y": 48, "flags": 4}, + {"matrix": [3, 3], "x": 45, "y": 48, "flags": 4}, + {"matrix": [3, 2], "x": 22, "y": 48, "flags": 4}, + {"matrix": [0, 0], "x": 0, "y": 0, "flags": 4}, + {"matrix": [1, 0], "x": 0, "y": 16, "flags": 4}, + {"matrix": [2, 0], "x": 0, "y": 32, "flags": 4}, + {"matrix": [3, 0], "x": 0, "y": 48, "flags": 4}, + {"matrix": [4, 0], "x": 0, "y": 64, "flags": 4}, + {"matrix": [4, 2], "x": 22, "y": 64, "flags": 4}, + {"matrix": [4, 3], "x": 40, "y": 64, "flags": 4}, + {"matrix": [4, 4], "x": 57, "y": 64, "flags": 4}, + {"matrix": [4, 5], "x": 72, "y": 64, "flags": 4}, + {"matrix": [4, 6], "x": 86, "y": 64, "flags": 4}, + {"matrix": [4, 7], "x": 100, "y": 64, "flags": 4}, + {"matrix": [5, 7], "x": 221, "y": 0, "flags": 4}, + {"matrix": [5, 6], "x": 207, "y": 0, "flags": 4}, + {"matrix": [5, 5], "x": 193, "y": 0, "flags": 4}, + {"matrix": [5, 4], "x": 179, "y": 0, "flags": 4}, + {"matrix": [5, 3], "x": 165, "y": 0, "flags": 4}, + {"matrix": [5, 2], "x": 152, "y": 0, "flags": 4}, + {"matrix": [5, 1], "x": 138, "y": 0, "flags": 4}, + {"matrix": [5, 0], "x": 124, "y": 0, "flags": 4}, + {"matrix": [6, 0], "x": 124, "y": 16, "flags": 4}, + {"matrix": [6, 1], "x": 138, "y": 16, "flags": 4}, + {"matrix": [6, 2], "x": 152, "y": 16, "flags": 4}, + {"matrix": [6, 3], "x": 165, "y": 16, "flags": 4}, + {"matrix": [6, 4], "x": 179, "y": 16, "flags": 4}, + {"matrix": [6, 5], "x": 193, "y": 16, "flags": 4}, + {"matrix": [6, 6], "x": 207, "y": 16, "flags": 4}, + {"matrix": [6, 7], "x": 224, "y": 16, "flags": 4}, + {"matrix": [7, 7], "x": 215, "y": 32, "flags": 4}, + {"matrix": [7, 5], "x": 193, "y": 32, "flags": 4}, + {"matrix": [7, 4], "x": 179, "y": 32, "flags": 4}, + {"matrix": [7, 3], "x": 165, "y": 32, "flags": 4}, + {"matrix": [7, 2], "x": 152, "y": 32, "flags": 4}, + {"matrix": [7, 1], "x": 138, "y": 32, "flags": 4}, + {"matrix": [7, 0], "x": 124, "y": 32, "flags": 4}, + {"matrix": [8, 0], "x": 124, "y": 48, "flags": 4}, + {"matrix": [8, 1], "x": 138, "y": 48, "flags": 4}, + {"matrix": [8, 2], "x": 152, "y": 48, "flags": 4}, + {"matrix": [8, 3], "x": 165, "y": 48, "flags": 4}, + {"matrix": [8, 4], "x": 179, "y": 48, "flags": 4}, + {"matrix": [8, 5], "x": 198, "y": 48, "flags": 4}, + {"matrix": [8, 7], "x": 217, "y": 48, "flags": 4}, + {"matrix": [9, 7], "x": 215, "y": 64, "flags": 4}, + {"matrix": [9, 5], "x": 198, "y": 64, "flags": 4}, + {"matrix": [9, 4], "x": 181, "y": 64, "flags": 4}, + {"matrix": [9, 3], "x": 164, "y": 64, "flags": 4}, + {"matrix": [9, 1], "x": 145, "y": 64, "flags": 4}, + {"matrix": [9, 0], "x": 136, "y": 64, "flags": 4}, + {"matrix": [9, 0], "x": 126, "y": 64, "flags": 4} + ], + "max_brightness": 120, + "sleep": true, + "split_count": [36, 37] + }, + "split": { + "bootmagic": { + "matrix": [5, 8] + }, + "enabled": true, + "handedness": { + "pin": "A8" + }, + "matrix_pins": { + "right": { + "cols": ["A6", "A5", "A4", "A3", "A2", "B5", "B6", "B7"], + "rows": ["A15", "B3", "B4", "A0", "A1"] + } + }, + "serial": { + "driver": "usart" + }, + "transport": { + "sync": { + "matrix_state": true + } + } + }, + "usb": { + "device_version": "2.0.0", + "pid": "0x2358" + }, + "ws2812": { + "driver": "pwm", + "pin": "B0" + }, + "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": [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}, + {"matrix": [5, 5], "x": 14, "y": 0}, + {"matrix": [5, 6], "x": 15, "y": 0}, + {"matrix": [5, 7], "x": 16, "y": 0}, + {"matrix": [1, 0], "x": 0, "y": 1}, + {"matrix": [1, 2], "x": 1.75, "y": 1, "w": 1.5}, + {"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": [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}, + {"matrix": [6, 5], "x": 14, "y": 1}, + {"matrix": [6, 6], "x": 15, "y": 1}, + {"matrix": [6, 7], "x": 16, "y": 1, "w": 1.5}, + {"matrix": [2, 0], "x": 0, "y": 2}, + {"matrix": [2, 2], "x": 1.5, "y": 2, "w": 1.75}, + {"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": [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}, + {"matrix": [7, 5], "x": 14, "y": 2}, + {"matrix": [7, 7], "x": 15, "y": 2, "w": 2.25}, + {"matrix": [3, 0], "x": 0, "y": 3}, + {"matrix": [3, 2], "x": 1, "y": 3, "w": 2.25}, + {"matrix": [3, 3], "x": 3.25, "y": 3}, + {"matrix": [3, 4], "x": 4.25, "y": 3}, + {"matrix": [3, 5], "x": 5.25, "y": 3}, + {"matrix": [3, 6], "x": 6.25, "y": 3}, + {"matrix": [3, 7], "x": 7.25, "y": 3}, + {"matrix": [8, 0], "x": 9, "y": 3}, + {"matrix": [8, 1], "x": 10, "y": 3}, + {"matrix": [8, 2], "x": 11, "y": 3}, + {"matrix": [8, 3], "x": 12, "y": 3}, + {"matrix": [8, 4], "x": 13, "y": 3}, + {"matrix": [8, 5], "x": 14, "y": 3, "w": 1.75}, + {"matrix": [8, 7], "x": 15.75, "y": 3}, + {"matrix": [4, 0], "x": 0, "y": 4}, + {"matrix": [4, 2], "x": 1.5, "y": 4, "w": 1.25}, + {"matrix": [4, 3], "x": 2.75, "y": 4, "w": 1.25}, + {"matrix": [4, 4], "x": 4, "y": 4, "w": 1.25}, + {"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": [9, 0], "x": 9, "y": 4, "w": 1.25}, + {"matrix": [9, 1], "x": 10.25, "y": 4, "w": 1.5}, + {"matrix": [9, 3], "x": 11.75, "y": 4, "w": 1.25}, + {"matrix": [9, 4], "x": 13, "y": 4, "w": 1.25}, + {"matrix": [9, 5], "x": 14.25, "y": 4, "w": 1.25}, + {"matrix": [9, 7], "x": 15.5, "y": 4, "w": 1.25} + ] + } + } +} diff --git a/keyboards/keebio/foldkb/rev2/keymaps/default/keymap.c b/keyboards/keebio/foldkb/rev2/keymaps/default/keymap.c new file mode 100644 index 0000000000..bf3f325446 --- /dev/null +++ b/keyboards/keebio/foldkb/rev2/keymaps/default/keymap.c @@ -0,0 +1,21 @@ +// Copyright 2025 Keebio (@keebio) +// 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_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_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, MO(1), + KC_PGDN, KC_LCTL, KC_LGUI, KC_LALT, MO(1), KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_MENU, KC_RCTL + ), + [1] = LAYOUT( + KC_MUTE, QK_BOOT, 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_DEL, + RM_TOGG, _______, RM_SATD, RM_SATU, _______, _______, _______, _______, KC_7, KC_8, KC_9, _______, _______, _______, _______, + RM_NEXT, _______, RM_VALD, RM_VALU, _______, _______, _______, _______, KC_4, KC_5, KC_6, _______, _______, _______, + KC_VOLU, _______, RM_HUED, RM_HUEU, _______, _______, _______, _______, KC_1, KC_2, KC_3, _______, _______, _______, + KC_VOLD, _______, RM_SPDD, RM_SPDU, _______, _______, _______, _______, KC_0, _______, _______, _______, _______ + ), +}; diff --git a/keyboards/keebio/foldkb/rev2/mcuconf.h b/keyboards/keebio/foldkb/rev2/mcuconf.h new file mode 100644 index 0000000000..77847f5b2c --- /dev/null +++ b/keyboards/keebio/foldkb/rev2/mcuconf.h @@ -0,0 +1,14 @@ +// Copyright 2025 Keebio (@keebio) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#include_next + +/* enable USART1, used for split comms */ +#undef STM32_SERIAL_USE_USART1 +#define STM32_SERIAL_USE_USART1 TRUE + +/* enable TIM3, used for RGB LED PWM driver */ +#undef STM32_PWM_USE_TIM3 +#define STM32_PWM_USE_TIM3 TRUE diff --git a/keyboards/keebio/foldkb/rev2/rev2.c b/keyboards/keebio/foldkb/rev2/rev2.c new file mode 100644 index 0000000000..0fc47b1483 --- /dev/null +++ b/keyboards/keebio/foldkb/rev2/rev2.c @@ -0,0 +1,29 @@ +// Copyright 2025 Keebio (@keebio) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "quantum.h" + +void keyboard_pre_init_kb(void) { + // Disable the PD peripheral in pre-init because its pins are being used in the matrix: + PWR->CR3 |= PWR_CR3_UCPD_DBDIS; + // Call the corresponding _user() function (see https://docs.qmk.fm/#/custom_quantum_functions) + keyboard_pre_init_user(); +} + +bool encoder_update_kb(uint8_t index, bool clockwise) { + if (!encoder_update_user(index, clockwise)) { return false; } + if (index == 0) { + if (clockwise) { + tap_code(KC_VOLU); + } else { + tap_code(KC_VOLD); + } + } else if (index == 1) { + if (clockwise) { + tap_code(KC_PGDN); + } else { + tap_code(KC_PGUP); + } + } + return false; +} diff --git a/keyboards/keebio/fourier/keyboard.json b/keyboards/keebio/fourier/keyboard.json index ae4985787d..74620068a2 100644 --- a/keyboards/keebio/fourier/keyboard.json +++ b/keyboards/keebio/fourier/keyboard.json @@ -61,8 +61,7 @@ "ws2812": { "pin": "D3" }, - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/keebio/iris/rev1/keyboard.json b/keyboards/keebio/iris/rev1/keyboard.json index fbccf0de84..74dc366413 100644 --- a/keyboards/keebio/iris/rev1/keyboard.json +++ b/keyboards/keebio/iris/rev1/keyboard.json @@ -53,8 +53,7 @@ "ws2812": { "pin": "D3" }, - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/keebio/iris/rev1_led/keyboard.json b/keyboards/keebio/iris/rev1_led/keyboard.json index cb171fcec3..4dc003f271 100644 --- a/keyboards/keebio/iris/rev1_led/keyboard.json +++ b/keyboards/keebio/iris/rev1_led/keyboard.json @@ -52,8 +52,7 @@ "ws2812": { "pin": "D3" }, - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/keebio/iris/rev2/keyboard.json b/keyboards/keebio/iris/rev2/keyboard.json index 37a4764c6b..9ea21851ee 100644 --- a/keyboards/keebio/iris/rev2/keyboard.json +++ b/keyboards/keebio/iris/rev2/keyboard.json @@ -38,8 +38,7 @@ "ws2812": { "pin": "D3" }, - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "features": { "bootmagic": false, "mousekey": false, diff --git a/keyboards/keebio/laplace/keyboard.json b/keyboards/keebio/laplace/keyboard.json index 3a2ed70905..3ae9f6474b 100644 --- a/keyboards/keebio/laplace/keyboard.json +++ b/keyboards/keebio/laplace/keyboard.json @@ -38,8 +38,7 @@ "rows": ["D3", "F4", "D2", "F5", "D7", "B4", "C6", "E6"] }, "diode_direction": "COL2ROW", - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/keebio/levinson/info.json b/keyboards/keebio/levinson/info.json index 29ae8be8cb..1f4541a5e9 100644 --- a/keyboards/keebio/levinson/info.json +++ b/keyboards/keebio/levinson/info.json @@ -9,7 +9,6 @@ "split": { "enabled": true }, - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "community_layouts": ["ortho_4x12"] } diff --git a/keyboards/keebio/nyquist/rev1/keyboard.json b/keyboards/keebio/nyquist/rev1/keyboard.json index f684332bdb..b7cf0ae0d5 100644 --- a/keyboards/keebio/nyquist/rev1/keyboard.json +++ b/keyboards/keebio/nyquist/rev1/keyboard.json @@ -35,8 +35,7 @@ "ws2812": { "pin": "D3" }, - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "layout_aliases": { "LAYOUT": "LAYOUT_ortho_5x12" }, diff --git a/keyboards/keebio/nyquist/rev2/keyboard.json b/keyboards/keebio/nyquist/rev2/keyboard.json index dede204981..69639db6bf 100644 --- a/keyboards/keebio/nyquist/rev2/keyboard.json +++ b/keyboards/keebio/nyquist/rev2/keyboard.json @@ -40,8 +40,7 @@ "pin": "D0" } }, - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "layout_aliases": { "LAYOUT": "LAYOUT_ortho_5x12" }, diff --git a/keyboards/keebio/nyquist_lm/info.json b/keyboards/keebio/nyquist_lm/info.json new file mode 100644 index 0000000000..64fa5a05ca --- /dev/null +++ b/keyboards/keebio/nyquist_lm/info.json @@ -0,0 +1,8 @@ +{ + "manufacturer": "Keebio", + "maintainer": "Keebio", + "url": "https://keeb.io", + "usb": { + "vid": "0xCB10" + } +} diff --git a/keyboards/keebio/nyquist_lm/keymaps/default/keymap.c b/keyboards/keebio/nyquist_lm/keymaps/default/keymap.c new file mode 100644 index 0000000000..e47cd18d4f --- /dev/null +++ b/keyboards/keebio/nyquist_lm/keymaps/default/keymap.c @@ -0,0 +1,35 @@ +// Copyright 2025 Keebio (@keebio) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_ortho_5x12( + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL, + KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT , + MO(3), KC_LCTL, KC_LALT, KC_LGUI, TL_LOWR, KC_SPC, KC_SPC, TL_UPPR, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT + ), + [1] = LAYOUT_ortho_5x12( + KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, + KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL, + KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, + RM_NEXT, 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 + ), + [2] = LAYOUT_ortho_5x12( + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL, + KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, + _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, _______, + _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY + ), + [3] = LAYOUT_ortho_5x12( + _______, QK_BOOT, RM_TOGG, RM_NEXT, RM_HUED, RM_HUEU, RM_SATD, RM_SATU, RM_VALD, RM_VALU, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ) +}; diff --git a/keyboards/keebio/nyquist_lm/keymaps/default/rules.mk b/keyboards/keebio/nyquist_lm/keymaps/default/rules.mk new file mode 100644 index 0000000000..7c9bf212a6 --- /dev/null +++ b/keyboards/keebio/nyquist_lm/keymaps/default/rules.mk @@ -0,0 +1 @@ +TRI_LAYER_ENABLE = yes diff --git a/keyboards/keebio/nyquist_lm/readme.md b/keyboards/keebio/nyquist_lm/readme.md new file mode 100644 index 0000000000..84d65f7c9f --- /dev/null +++ b/keyboards/keebio/nyquist_lm/readme.md @@ -0,0 +1,24 @@ +# Nyquist LM + +A low-profile 60% split 5x12 ortholinear keyboard made and sold by Keebio. [More info at Keebio](https://keeb.io). + +* Keyboard Maintainer: [Bakingpy/nooges](https://github.com/nooges) +* Hardware Availability: [Keebio](https://keeb.io/) + +Make example for this keyboard (after setting up your build environment): + + make keebio/nyquist_lm/rev1:default + +Example of flashing this keyboard: + + make keebio/nyquist_lm/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 the top left of left half or top right of right half and plug in the keyboard +* **Physical reset button**: Press and hold the button on the back of the PCB for at least 1 second and let go +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/keebio/nyquist_lm/rev1/config.h b/keyboards/keebio/nyquist_lm/rev1/config.h new file mode 100644 index 0000000000..06498b8b8b --- /dev/null +++ b/keyboards/keebio/nyquist_lm/rev1/config.h @@ -0,0 +1,23 @@ +// Copyright 2025 Keebio (@keebio) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +/* Defines for the split keyboard setup */ +#define SERIAL_USART_DRIVER SD1 // USART 1 +#define SERIAL_USART_TX_PIN A9 +#define SERIAL_USART_RX_PIN A10 +#define SERIAL_USART_TX_PAL_MODE 7 +#define SERIAL_USART_RX_PAL_MODE 7 +#define SERIAL_USART_FULL_DUPLEX +#define SERIAL_USART_PIN_SWAP + +#define USB_VBUS_PIN A7 + +/* Defines for the RGB matrix */ +#define WS2812_PWM_DRIVER PWMD3 +#define WS2812_PWM_CHANNEL 3 +#define WS2812_PWM_PAL_MODE 2 +#define WS2812_DMA_STREAM STM32_DMA1_STREAM2 +#define WS2812_DMA_CHANNEL 2 +#define WS2812_DMAMUX_ID STM32_DMAMUX1_TIM3_UP diff --git a/keyboards/keebio/nyquist_lm/rev1/halconf.h b/keyboards/keebio/nyquist_lm/rev1/halconf.h new file mode 100644 index 0000000000..ce1dfd06d7 --- /dev/null +++ b/keyboards/keebio/nyquist_lm/rev1/halconf.h @@ -0,0 +1,10 @@ +// Copyright 2025 Keebio (@keebio) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#define HAL_USE_SERIAL TRUE + +#define HAL_USE_PWM TRUE + +#include_next diff --git a/keyboards/keebio/nyquist_lm/rev1/keyboard.json b/keyboards/keebio/nyquist_lm/rev1/keyboard.json new file mode 100644 index 0000000000..011bb01b5e --- /dev/null +++ b/keyboards/keebio/nyquist_lm/rev1/keyboard.json @@ -0,0 +1,304 @@ +{ + "keyboard_name": "Nyquist LM Rev. 1", + "bootloader": "stm32-dfu", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "extrakey": true, + "mousekey": true, + "rgb_matrix": true + }, + "matrix_pins": { + "cols": ["A6", "A5", "A4", "A15", "B5", "B6"], + "rows": ["B3", "B4", "B7", "F0", "F1"] + }, + "processor": "STM32G431", + "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, + "flower_blooming": 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, + "starlight": true, + "starlight_smooth": true, + "starlight_dual_hue": true, + "starlight_dual_sat": true, + "riverflow": true + }, + "driver": "ws2812", + "layout": [ + { "flags": 4, "matrix": [0, 0], "x": 9, "y": 6 }, + { "flags": 4, "matrix": [0, 1], "x": 28, "y": 6 }, + { "flags": 4, "matrix": [0, 2], "x": 46, "y": 6 }, + { "flags": 4, "matrix": [0, 3], "x": 65, "y": 6 }, + { "flags": 4, "matrix": [0, 4], "x": 84, "y": 6 }, + { "flags": 4, "matrix": [0, 5], "x": 102, "y": 6 }, + + { "flags": 4, "matrix": [1, 5], "x": 102, "y": 19 }, + { "flags": 4, "matrix": [1, 4], "x": 84, "y": 19 }, + { "flags": 4, "matrix": [1, 3], "x": 65, "y": 19 }, + { "flags": 4, "matrix": [1, 2], "x": 46, "y": 19 }, + { "flags": 4, "matrix": [1, 1], "x": 28, "y": 19 }, + { "flags": 4, "matrix": [1, 0], "x": 9, "y": 19 }, + + { "flags": 4, "matrix": [2, 0], "x": 9, "y": 32 }, + { "flags": 4, "matrix": [2, 1], "x": 28, "y": 32 }, + { "flags": 4, "matrix": [2, 2], "x": 46, "y": 32 }, + { "flags": 4, "matrix": [2, 3], "x": 65, "y": 32 }, + { "flags": 4, "matrix": [2, 4], "x": 84, "y": 32 }, + { "flags": 4, "matrix": [2, 5], "x": 102, "y": 32 }, + + { "flags": 4, "matrix": [3, 5], "x": 102, "y": 44 }, + { "flags": 4, "matrix": [3, 4], "x": 84, "y": 44 }, + { "flags": 4, "matrix": [3, 3], "x": 65, "y": 44 }, + { "flags": 4, "matrix": [3, 2], "x": 46, "y": 44 }, + { "flags": 4, "matrix": [3, 1], "x": 28, "y": 44 }, + { "flags": 4, "matrix": [3, 0], "x": 9, "y": 44 }, + + { "flags": 4, "matrix": [4, 0], "x": 9, "y": 57 }, + { "flags": 4, "matrix": [4, 1], "x": 28, "y": 57 }, + { "flags": 4, "matrix": [4, 2], "x": 46, "y": 57 }, + { "flags": 4, "matrix": [4, 3], "x": 65, "y": 57 }, + { "flags": 4, "matrix": [4, 4], "x": 81, "y": 57 }, + { "flags": 4, "matrix": [4, 5], "x": 102, "y": 57 }, + + { "flags": 4, "matrix": [5, 0], "x": 121, "y": 6 }, + { "flags": 4, "matrix": [5, 1], "x": 140, "y": 6 }, + { "flags": 4, "matrix": [5, 2], "x": 158, "y": 6 }, + { "flags": 4, "matrix": [5, 3], "x": 177, "y": 6 }, + { "flags": 4, "matrix": [5, 4], "x": 196, "y": 6 }, + { "flags": 4, "matrix": [5, 5], "x": 214, "y": 6 }, + + { "flags": 4, "matrix": [6, 5], "x": 214, "y": 19 }, + { "flags": 4, "matrix": [6, 4], "x": 196, "y": 19 }, + { "flags": 4, "matrix": [6, 3], "x": 177, "y": 19 }, + { "flags": 4, "matrix": [6, 2], "x": 158, "y": 19 }, + { "flags": 4, "matrix": [6, 1], "x": 140, "y": 19 }, + { "flags": 4, "matrix": [6, 0], "x": 121, "y": 19 }, + + { "flags": 4, "matrix": [7, 0], "x": 121, "y": 32 }, + { "flags": 4, "matrix": [7, 1], "x": 140, "y": 32 }, + { "flags": 4, "matrix": [7, 2], "x": 158, "y": 32 }, + { "flags": 4, "matrix": [7, 3], "x": 177, "y": 32 }, + { "flags": 4, "matrix": [7, 4], "x": 196, "y": 32 }, + { "flags": 4, "matrix": [7, 5], "x": 214, "y": 32 }, + + { "flags": 4, "matrix": [8, 5], "x": 214, "y": 44 }, + { "flags": 4, "matrix": [8, 4], "x": 196, "y": 44 }, + { "flags": 4, "matrix": [8, 3], "x": 177, "y": 44 }, + { "flags": 4, "matrix": [8, 2], "x": 158, "y": 44 }, + { "flags": 4, "matrix": [8, 1], "x": 140, "y": 44 }, + { "flags": 4, "matrix": [8, 0], "x": 121, "y": 44 }, + + { "flags": 4, "matrix": [9, 0], "x": 121, "y": 57 }, + { "flags": 4, "matrix": [9, 1], "x": 140, "y": 57 }, + { "flags": 4, "matrix": [9, 2], "x": 158, "y": 57 }, + { "flags": 4, "matrix": [9, 3], "x": 177, "y": 57 }, + { "flags": 4, "matrix": [9, 4], "x": 196, "y": 57 }, + { "flags": 4, "matrix": [9, 5], "x": 214, "y": 57 } + ], + "max_brightness": 160, + "sleep": true, + "split_count": [30, 30] + }, + "split": { + "bootmagic": { + "matrix": [5, 5] + }, + "enabled": true, + "handedness": { + "pin": "A8" + }, + "serial": { + "driver": "usart" + }, + "transport": { + "sync": { + "matrix_state": true + } + } + }, + "usb": { + "device_version": "1.0.0", + "pid": "0x1856" + }, + "ws2812": { + "driver": "pwm", + "pin": "B0" + }, + "community_layouts": ["ortho_5x12", "ortho_4x12"], + "layouts": { + "LAYOUT_ortho_5x12": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + + {"matrix": [5, 0], "x": 7, "y": 0}, + {"matrix": [5, 1], "x": 8, "y": 0}, + {"matrix": [5, 2], "x": 9, "y": 0}, + {"matrix": [5, 3], "x": 10, "y": 0}, + {"matrix": [5, 4], "x": 11, "y": 0}, + {"matrix": [5, 5], "x": 12, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1}, + {"matrix": [1, 1], "x": 1, "y": 1}, + {"matrix": [1, 2], "x": 2, "y": 1}, + {"matrix": [1, 3], "x": 3, "y": 1}, + {"matrix": [1, 4], "x": 4, "y": 1}, + {"matrix": [1, 5], "x": 5, "y": 1}, + + {"matrix": [6, 0], "x": 7, "y": 1}, + {"matrix": [6, 1], "x": 8, "y": 1}, + {"matrix": [6, 2], "x": 9, "y": 1}, + {"matrix": [6, 3], "x": 10, "y": 1}, + {"matrix": [6, 4], "x": 11, "y": 1}, + {"matrix": [6, 5], "x": 12, "y": 1}, + + {"matrix": [2, 0], "x": 0, "y": 2}, + {"matrix": [2, 1], "x": 1, "y": 2}, + {"matrix": [2, 2], "x": 2, "y": 2}, + {"matrix": [2, 3], "x": 3, "y": 2}, + {"matrix": [2, 4], "x": 4, "y": 2}, + {"matrix": [2, 5], "x": 5, "y": 2}, + + {"matrix": [7, 0], "x": 7, "y": 2}, + {"matrix": [7, 1], "x": 8, "y": 2}, + {"matrix": [7, 2], "x": 9, "y": 2}, + {"matrix": [7, 3], "x": 10, "y": 2}, + {"matrix": [7, 4], "x": 11, "y": 2}, + {"matrix": [7, 5], "x": 12, "y": 2}, + + {"matrix": [3, 0], "x": 0, "y": 3}, + {"matrix": [3, 1], "x": 1, "y": 3}, + {"matrix": [3, 2], "x": 2, "y": 3}, + {"matrix": [3, 3], "x": 3, "y": 3}, + {"matrix": [3, 4], "x": 4, "y": 3}, + {"matrix": [3, 5], "x": 5, "y": 3}, + + {"matrix": [8, 0], "x": 7, "y": 3}, + {"matrix": [8, 1], "x": 8, "y": 3}, + {"matrix": [8, 2], "x": 9, "y": 3}, + {"matrix": [8, 3], "x": 10, "y": 3}, + {"matrix": [8, 4], "x": 11, "y": 3}, + {"matrix": [8, 5], "x": 12, "y": 3}, + + {"matrix": [4, 0], "x": 0, "y": 4}, + {"matrix": [4, 1], "x": 1, "y": 4}, + {"matrix": [4, 2], "x": 2, "y": 4}, + {"matrix": [4, 3], "x": 3, "y": 4}, + {"matrix": [4, 4], "x": 4, "y": 4}, + {"matrix": [4, 5], "x": 5, "y": 4}, + + {"matrix": [9, 0], "x": 7, "y": 4}, + {"matrix": [9, 1], "x": 8, "y": 4}, + {"matrix": [9, 2], "x": 9, "y": 4}, + {"matrix": [9, 3], "x": 10, "y": 4}, + {"matrix": [9, 4], "x": 11, "y": 4}, + {"matrix": [9, 5], "x": 12, "y": 4} + ] + }, + "LAYOUT_ortho_4x12": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + + {"matrix": [5, 0], "x": 7, "y": 0}, + {"matrix": [5, 1], "x": 8, "y": 0}, + {"matrix": [5, 2], "x": 9, "y": 0}, + {"matrix": [5, 3], "x": 10, "y": 0}, + {"matrix": [5, 4], "x": 11, "y": 0}, + {"matrix": [5, 5], "x": 12, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1}, + {"matrix": [1, 1], "x": 1, "y": 1}, + {"matrix": [1, 2], "x": 2, "y": 1}, + {"matrix": [1, 3], "x": 3, "y": 1}, + {"matrix": [1, 4], "x": 4, "y": 1}, + {"matrix": [1, 5], "x": 5, "y": 1}, + + {"matrix": [6, 0], "x": 7, "y": 1}, + {"matrix": [6, 1], "x": 8, "y": 1}, + {"matrix": [6, 2], "x": 9, "y": 1}, + {"matrix": [6, 3], "x": 10, "y": 1}, + {"matrix": [6, 4], "x": 11, "y": 1}, + {"matrix": [6, 5], "x": 12, "y": 1}, + + {"matrix": [2, 0], "x": 0, "y": 2}, + {"matrix": [2, 1], "x": 1, "y": 2}, + {"matrix": [2, 2], "x": 2, "y": 2}, + {"matrix": [2, 3], "x": 3, "y": 2}, + {"matrix": [2, 4], "x": 4, "y": 2}, + {"matrix": [2, 5], "x": 5, "y": 2}, + + {"matrix": [7, 0], "x": 7, "y": 2}, + {"matrix": [7, 1], "x": 8, "y": 2}, + {"matrix": [7, 2], "x": 9, "y": 2}, + {"matrix": [7, 3], "x": 10, "y": 2}, + {"matrix": [7, 4], "x": 11, "y": 2}, + {"matrix": [7, 5], "x": 12, "y": 2}, + + {"matrix": [3, 0], "x": 0, "y": 3}, + {"matrix": [3, 1], "x": 1, "y": 3}, + {"matrix": [3, 2], "x": 2, "y": 3}, + {"matrix": [3, 3], "x": 3, "y": 3}, + {"matrix": [3, 4], "x": 4, "y": 3}, + {"matrix": [3, 5], "x": 5, "y": 3}, + + {"matrix": [8, 0], "x": 7, "y": 3}, + {"matrix": [8, 1], "x": 8, "y": 3}, + {"matrix": [8, 2], "x": 9, "y": 3}, + {"matrix": [8, 3], "x": 10, "y": 3}, + {"matrix": [8, 4], "x": 11, "y": 3}, + {"matrix": [8, 5], "x": 12, "y": 3} + ] + } + } +} diff --git a/keyboards/keebio/nyquist_lm/rev1/mcuconf.h b/keyboards/keebio/nyquist_lm/rev1/mcuconf.h new file mode 100644 index 0000000000..77847f5b2c --- /dev/null +++ b/keyboards/keebio/nyquist_lm/rev1/mcuconf.h @@ -0,0 +1,14 @@ +// Copyright 2025 Keebio (@keebio) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#include_next + +/* enable USART1, used for split comms */ +#undef STM32_SERIAL_USE_USART1 +#define STM32_SERIAL_USE_USART1 TRUE + +/* enable TIM3, used for RGB LED PWM driver */ +#undef STM32_PWM_USE_TIM3 +#define STM32_PWM_USE_TIM3 TRUE diff --git a/keyboards/keebio/nyquist_lm/rev1/rev1.c b/keyboards/keebio/nyquist_lm/rev1/rev1.c new file mode 100644 index 0000000000..9acf0dc882 --- /dev/null +++ b/keyboards/keebio/nyquist_lm/rev1/rev1.c @@ -0,0 +1,11 @@ +// Copyright 2025 Keebio (@keebio) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "quantum.h" + +void keyboard_pre_init_kb(void) { + // Disable the PD peripheral in pre-init because its pins (B4, B6) are being used in the matrix: + PWR->CR3 |= PWR_CR3_UCPD_DBDIS; + // Call the corresponding _user() function (see https://docs.qmk.fm/#/custom_quantum_functions) + keyboard_pre_init_user(); +} diff --git a/keyboards/keebio/quefrency/rev1/keyboard.json b/keyboards/keebio/quefrency/rev1/keyboard.json index 73f6d0d660..651e3f1362 100644 --- a/keyboards/keebio/quefrency/rev1/keyboard.json +++ b/keyboards/keebio/quefrency/rev1/keyboard.json @@ -46,8 +46,7 @@ "pin": "D0" } }, - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "features": { "bootmagic": false, "mousekey": true, @@ -63,8 +62,11 @@ "build": { "lto": true }, + "layout_aliases": { + "LAYOUT": "LAYOUT_60" + }, "layouts": { - "LAYOUT": { + "LAYOUT_60": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, diff --git a/keyboards/keebio/quefrency_lm/info.json b/keyboards/keebio/quefrency_lm/info.json new file mode 100644 index 0000000000..cb41e89ff6 --- /dev/null +++ b/keyboards/keebio/quefrency_lm/info.json @@ -0,0 +1,21 @@ +{ + "manufacturer": "Keebio", + "url": "https://keeb.io", + "maintainer": "nooges", + "usb": { + "vid": "0xCB10" + }, + "features": { + "bootmagic": true, + "console": true, + "extrakey": true, + "mousekey": true, + "nkro": false + }, + "split": { + "enabled": true + }, + "build": { + "lto": true + } +} diff --git a/keyboards/keebio/quefrency_lm/keymaps/default/keymap.c b/keyboards/keebio/quefrency_lm/keymaps/default/keymap.c new file mode 100644 index 0000000000..75bb1601de --- /dev/null +++ b/keyboards/keebio/quefrency_lm/keymaps/default/keymap.c @@ -0,0 +1,21 @@ +// Copyright 2025 Keebio (@keebio) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_65xt( + KC_F1, KC_F2, QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, + KC_F3, KC_F4, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_HOME, + 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_PGUP, + KC_F7, KC_F8, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN, + KC_F9, KC_F10, KC_LCTL, KC_LALT, KC_LGUI, MO(1), KC_SPC, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT_65xt( + RM_HUEU, RM_HUED, KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, + RM_SATU, RM_SATD, RM_TOGG, RM_NEXT, KC_UP, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_END, + RM_VALU, RM_VALD, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + RM_SPDU, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ) +}; diff --git a/keyboards/keebio/quefrency_lm/readme.md b/keyboards/keebio/quefrency_lm/readme.md new file mode 100644 index 0000000000..c602f252cc --- /dev/null +++ b/keyboards/keebio/quefrency_lm/readme.md @@ -0,0 +1,27 @@ +# Quefrency LM + +A split 65XT staggered low-profile keyboard made and sold by Keebio. [More info at Keebio](https://keeb.io). + +* Keyboard Maintainer: [Bakingpy/nooges](https://github.com/nooges) +* Hardware Availability: [Keebio](https://keeb.io/) + +Make example for this keyboard (after setting up your build environment): + + make keebio/quefrency_lm/rev1:default + +Example of flashing this keyboard: + + make keebio/quefrency_lm/rev1:default:flash + +Handedness detection is already hardwired onto the PCB, so no need to deal with `EE_HANDS` or flashing .eep files. + +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 one of these ways: + +* **Physical reset button**: Press and hold the button on the back of the PCB for at least 2 seconds and let go, or double-press the button +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available + +A build guide for this keyboard can be found here: [Keebio Build Guides](https://docs.keeb.io) diff --git a/keyboards/keebio/quefrency_lm/rev1/config.h b/keyboards/keebio/quefrency_lm/rev1/config.h new file mode 100644 index 0000000000..039947f539 --- /dev/null +++ b/keyboards/keebio/quefrency_lm/rev1/config.h @@ -0,0 +1,23 @@ +// Copyright 2025 Keebio (@keebio) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +/* Defines for the split keyboard setup */ +#define SERIAL_USART_DRIVER SD3 // USART 3 +#define SERIAL_USART_TX_PIN B10 +#define SERIAL_USART_RX_PIN B11 +#define SERIAL_USART_TX_PAL_MODE 7 +#define SERIAL_USART_RX_PAL_MODE 7 +#define SERIAL_USART_FULL_DUPLEX +#define SERIAL_USART_PIN_SWAP + +#define USB_VBUS_PIN C6 + +/* Defines for the RGB matrix */ +#define WS2812_PWM_DRIVER PWMD3 +#define WS2812_PWM_CHANNEL 4 +#define WS2812_PWM_PAL_MODE 10 +#define WS2812_DMA_STREAM STM32_DMA1_STREAM2 +#define WS2812_DMA_CHANNEL 2 +#define WS2812_DMAMUX_ID STM32_DMAMUX1_TIM3_UP diff --git a/keyboards/keebio/quefrency_lm/rev1/halconf.h b/keyboards/keebio/quefrency_lm/rev1/halconf.h new file mode 100644 index 0000000000..ce1dfd06d7 --- /dev/null +++ b/keyboards/keebio/quefrency_lm/rev1/halconf.h @@ -0,0 +1,10 @@ +// Copyright 2025 Keebio (@keebio) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#define HAL_USE_SERIAL TRUE + +#define HAL_USE_PWM TRUE + +#include_next diff --git a/keyboards/keebio/quefrency_lm/rev1/keyboard.json b/keyboards/keebio/quefrency_lm/rev1/keyboard.json new file mode 100644 index 0000000000..1e56222de4 --- /dev/null +++ b/keyboards/keebio/quefrency_lm/rev1/keyboard.json @@ -0,0 +1,320 @@ +{ + "manufacturer": "Keebio", + "keyboard_name": "Quefrency LM Rev. 1", + "maintainer": "nooges", + "bootloader": "stm32-dfu", + "bootmagic": { + "matrix": [0, 2] + }, + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "extrakey": true, + "mousekey": true, + "rgb_matrix": true + }, + "matrix_pins": { + "cols": ["B13", "B14", "B2", "F0", "C10", "B6", "C13", "C14", "C15"], + "rows": ["B4", "C11", "B12", "B5", "F1"] + }, + "processor": "STM32G431", + "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, + "flower_blooming": 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, + "starlight": true, + "starlight_smooth": true, + "starlight_dual_hue": true, + "starlight_dual_sat": true, + "riverflow": true + }, + "driver": "ws2812", + "layout": [ + { "matrix": [0, 8], "x": 103, "y": 4, "flags": 4 }, + { "x": 97, "y": 8, "flags": 2 }, + { "matrix": [0, 7], "x": 91, "y": 4, "flags": 4 }, + { "matrix": [0, 6], "x": 79, "y": 4, "flags": 4 }, + { "x": 73, "y": 0, "flags": 2 }, + { "matrix": [0, 5], "x": 67, "y": 4, "flags": 4 }, + { "matrix": [0, 4], "x": 54, "y": 4, "flags": 4 }, + { "matrix": [0, 3], "x": 42, "y": 4, "flags": 4 }, + { "matrix": [0, 2], "x": 30, "y": 4, "flags": 4 }, + { "x": 27, "y": 19, "flags": 2 }, + + { "matrix": [1, 2], "x": 33, "y": 19, "flags": 4 }, + { "matrix": [1, 3], "x": 48, "y": 19, "flags": 4 }, + { "matrix": [1, 4], "x": 61, "y": 19, "flags": 4 }, + { "matrix": [1, 5], "x": 73, "y": 19, "flags": 4 }, + { "matrix": [1, 6], "x": 85, "y": 19, "flags": 4 }, + { "matrix": [1, 7], "x": 97, "y": 19, "flags": 4 }, + + { "matrix": [2, 7], "x": 100, "y": 34, "flags": 4 }, + { "matrix": [2, 6], "x": 88, "y": 34, "flags": 4 }, + { "matrix": [2, 5], "x": 76, "y": 34, "flags": 4 }, + { "matrix": [2, 4], "x": 64, "y": 34, "flags": 4 }, + { "matrix": [2, 3], "x": 51, "y": 34, "flags": 4 }, + { "matrix": [2, 2], "x": 35, "y": 34, "flags": 4 }, + + { "matrix": [3, 2], "x": 38, "y": 49, "flags": 4 }, + { "matrix": [3, 4], "x": 58, "y": 49, "flags": 4 }, + { "matrix": [3, 5], "x": 70, "y": 49, "flags": 4 }, + { "matrix": [3, 6], "x": 82, "y": 49, "flags": 4 }, + { "matrix": [3, 7], "x": 94, "y": 49, "flags": 4 }, + { "x": 100, "y": 45, "flags": 2 }, + { "matrix": [3, 8], "x": 106, "y": 49, "flags": 4 }, + + { "matrix": [4, 7], "x": 98, "y": 64, "flags": 4 }, + { "x": 85, "y": 64, "flags": 2 }, + { "matrix": [4, 5], "x": 77, "y": 64, "flags": 4 }, + { "matrix": [4, 4], "x": 62, "y": 64, "flags": 4 }, + { "matrix": [4, 3], "x": 47, "y": 64, "flags": 4 }, + { "x": 39, "y": 60, "flags": 4 }, + { "matrix": [4, 2], "x": 32, "y": 64, "flags": 4 }, + + { "matrix": [4, 1], "x": 12, "y": 64, "flags": 4 }, + { "x": 6, "y": 60, "flags": 2 }, + { "matrix": [4, 0], "x": 0, "y": 64, "flags": 4 }, + { "matrix": [3, 0], "x": 0, "y": 49, "flags": 4 }, + { "matrix": [3, 1], "x": 12, "y": 49, "flags": 4 }, + { "matrix": [2, 1], "x": 12, "y": 34, "flags": 4 }, + { "matrix": [2, 0], "x": 0, "y": 34, "flags": 4 }, + { "matrix": [1, 0], "x": 0, "y": 19, "flags": 4 }, + { "matrix": [1, 1], "x": 12, "y": 19, "flags": 4 }, + { "matrix": [0, 1], "x": 12, "y": 4, "flags": 4 }, + { "x": 6, "y": 0, "flags": 2 }, + { "matrix": [0, 0], "x": 0, "y": 4, "flags": 4 }, + + { "matrix": [5, 0], "x": 127, "y": 4, "flags": 4 }, + { "x": 127, "y": 11, "flags": 2 }, + { "matrix": [5, 1], "x": 139, "y": 4, "flags": 4 }, + { "matrix": [5, 2], "x": 151, "y": 4, "flags": 4 }, + { "x": 157, "y": 0, "flags": 2 }, + { "matrix": [5, 3], "x": 163, "y": 4, "flags": 4 }, + { "matrix": [5, 4], "x": 176, "y": 4, "flags": 4 }, + { "x": 182, "y": 0, "flags": 2 }, + { "matrix": [5, 5], "x": 188, "y": 4, "flags": 4 }, + { "matrix": [5, 7], "x": 206, "y": 4, "flags": 4 }, + { "x": 218, "y": 0, "flags": 2 }, + { "matrix": [5, 8], "x": 224, "y": 4, "flags": 4 }, + + { "matrix": [6, 8], "x": 224, "y": 19, "flags": 4 }, + { "matrix": [6, 7], "x": 209, "y": 19, "flags": 4 }, + { "matrix": [6, 6], "x": 194, "y": 19, "flags": 4 }, + { "matrix": [6, 5], "x": 182, "y": 19, "flags": 4 }, + { "matrix": [6, 4], "x": 170, "y": 19, "flags": 4 }, + { "matrix": [6, 3], "x": 157, "y": 19, "flags": 4 }, + { "matrix": [6, 2], "x": 145, "y": 19, "flags": 4 }, + { "matrix": [6, 1], "x": 133, "y": 19, "flags": 4 }, + { "matrix": [6, 0], "x": 121, "y": 19, "flags": 4 }, + + { "matrix": [7, 0], "x": 124, "y": 34, "flags": 4 }, + { "matrix": [7, 1], "x": 136, "y": 34, "flags": 4 }, + { "matrix": [7, 2], "x": 148, "y": 34, "flags": 4 }, + { "matrix": [7, 3], "x": 160, "y": 34, "flags": 4 }, + { "matrix": [7, 4], "x": 173, "y": 34, "flags": 4 }, + { "matrix": [7, 5], "x": 185, "y": 34, "flags": 4 }, + { "matrix": [7, 7], "x": 204, "y": 34, "flags": 4 }, + { "matrix": [7, 8], "x": 224, "y": 34, "flags": 4 }, + + { "matrix": [8, 8], "x": 224, "y": 49, "flags": 4 }, + { "matrix": [8, 7], "x": 212, "y": 49, "flags": 4 }, + { "matrix": [8, 6], "x": 195, "y": 49, "flags": 4 }, + { "matrix": [8, 4], "x": 179, "y": 49, "flags": 4 }, + { "matrix": [8, 3], "x": 166, "y": 49, "flags": 4 }, + { "matrix": [8, 2], "x": 154, "y": 49, "flags": 4 }, + { "matrix": [8, 1], "x": 142, "y": 49, "flags": 4 }, + { "matrix": [8, 0], "x": 130, "y": 49, "flags": 4 }, + + { "x": 127, "y": 64, "flags": 2 }, + { "matrix": [9, 1], "x": 141, "y": 64, "flags": 4 }, + { "x": 157, "y": 64, "flags": 2 }, + { "matrix": [9, 2], "x": 163, "y": 64, "flags": 4 }, + { "matrix": [9, 3], "x": 176, "y": 64, "flags": 4 }, + { "matrix": [9, 4], "x": 188, "y": 64, "flags": 4 }, + { "x": 194, "y": 64, "flags": 2 }, + { "matrix": [9, 6], "x": 200, "y": 64, "flags": 4 }, + { "matrix": [9, 7], "x": 212, "y": 64, "flags": 4 }, + { "x": 218, "y": 64, "flags": 2 }, + { "matrix": [9, 8], "x": 224, "y": 64, "flags": 4 } + ], + "max_brightness": 120, + "sleep": true, + "split_count": [48, 48] + }, + "split": { + "bootmagic": { + "matrix": [5, 8] + }, + "enabled": true, + "handedness": { + "pin": "A0" + }, + + "matrix_pins": { + "right": { + "cols": ["B2", "A15", "A2", "A1", "A4", "B15", "B6", "C13", "C14"], + "rows": ["B12", "B13", "B14", "B5", "F1"] + } + }, + "serial": { + "driver": "usart" + }, + "transport": { + "sync": { + "matrix_state": true + } + } + }, + "url": "https://keeb.io", + "usb": { + "device_version": "1.0.0", + "pid": "0x1657", + "vid": "0xCB10" + }, + "ws2812": { + "driver": "pwm", + "pin": "B7" + }, + "layouts": { + "LAYOUT_65xt": { + "layout": [ + {"label": "F1", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "F2", "matrix": [0, 1], "x": 1, "y": 0}, + + {"label": "Esc", "matrix": [0, 2], "x": 2.25, "y": 0}, + {"label": "1", "matrix": [0, 3], "x": 3.25, "y": 0}, + {"label": "2", "matrix": [0, 4], "x": 4.25, "y": 0}, + {"label": "3", "matrix": [0, 5], "x": 5.25, "y": 0}, + {"label": "4", "matrix": [0, 6], "x": 6.25, "y": 0}, + {"label": "5", "matrix": [0, 7], "x": 7.25, "y": 0}, + {"label": "6", "matrix": [0, 8], "x": 8.25, "y": 0}, + + {"label": "7", "matrix": [5, 0], "x": 10.25, "y": 0}, + {"label": "8", "matrix": [5, 1], "x": 11.25, "y": 0}, + {"label": "9", "matrix": [5, 2], "x": 12.25, "y": 0}, + {"label": "0", "matrix": [5, 3], "x": 13.25, "y": 0}, + {"label": "-", "matrix": [5, 4], "x": 14.25, "y": 0}, + {"label": "=", "matrix": [5, 5], "x": 15.25, "y": 0}, + {"label": "Bksp", "matrix": [5, 7], "x": 16.25, "y": 0, "w": 2}, + {"label": "Del", "matrix": [5, 8], "x": 18.25, "y": 0}, + + {"label": "F3", "matrix": [1, 0], "x": 0, "y": 1}, + {"label": "F4", "matrix": [1, 1], "x": 1, "y": 1}, + + {"label": "Tab", "matrix": [1, 2], "x": 2.25, "y": 1, "w": 1.5}, + {"label": "Q", "matrix": [1, 3], "x": 3.75, "y": 1}, + {"label": "W", "matrix": [1, 4], "x": 4.75, "y": 1}, + {"label": "E", "matrix": [1, 5], "x": 5.75, "y": 1}, + {"label": "R", "matrix": [1, 6], "x": 6.75, "y": 1}, + {"label": "T", "matrix": [1, 7], "x": 7.75, "y": 1}, + + {"label": "Y", "matrix": [6, 0], "x": 9.75, "y": 1}, + {"label": "U", "matrix": [6, 1], "x": 10.75, "y": 1}, + {"label": "I", "matrix": [6, 2], "x": 11.75, "y": 1}, + {"label": "O", "matrix": [6, 3], "x": 12.75, "y": 1}, + {"label": "P", "matrix": [6, 4], "x": 13.75, "y": 1}, + {"label": "{", "matrix": [6, 5], "x": 14.75, "y": 1}, + {"label": "}", "matrix": [6, 6], "x": 15.75, "y": 1}, + {"label": "|", "matrix": [6, 7], "x": 16.75, "y": 1, "w": 1.5}, + {"label": "Home", "matrix": [6, 8], "x": 18.25, "y": 1}, + + {"label": "F5", "matrix": [2, 0], "x": 0, "y": 2}, + {"label": "F6", "matrix": [2, 1], "x": 1, "y": 2}, + + {"label": "Caps Lock", "matrix": [2, 2], "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": [7, 0], "x": 10, "y": 2}, + {"label": "J", "matrix": [7, 1], "x": 11, "y": 2}, + {"label": "K", "matrix": [7, 2], "x": 12, "y": 2}, + {"label": "L", "matrix": [7, 3], "x": 13, "y": 2}, + {"label": ":", "matrix": [7, 4], "x": 14, "y": 2}, + {"label": "\"", "matrix": [7, 5], "x": 15, "y": 2}, + {"label": "Enter", "matrix": [7, 7], "x": 16, "y": 2, "w": 2.25}, + {"label": "PgUp", "matrix": [7, 8], "x": 18.25, "y": 2}, + + {"label": "F7", "matrix": [3, 0], "x": 0, "y": 3}, + {"label": "F8", "matrix": [3, 1], "x": 1, "y": 3}, + + {"label": "Shift", "matrix": [3, 2], "x": 2.25, "y": 3, "w": 2.25}, + {"label": "Z", "matrix": [3, 4], "x": 4.5, "y": 3}, + {"label": "X", "matrix": [3, 5], "x": 5.5, "y": 3}, + {"label": "C", "matrix": [3, 6], "x": 6.5, "y": 3}, + {"label": "V", "matrix": [3, 7], "x": 7.5, "y": 3}, + {"label": "B", "matrix": [3, 8], "x": 8.5, "y": 3}, + + {"label": "N", "matrix": [8, 0], "x": 10.5, "y": 3}, + {"label": "M", "matrix": [8, 1], "x": 11.5, "y": 3}, + {"label": ",", "matrix": [8, 2], "x": 12.5, "y": 3}, + {"label": ".", "matrix": [8, 3], "x": 13.5, "y": 3}, + {"label": "/", "matrix": [8, 4], "x": 14.5, "y": 3}, + {"label": "Shift", "matrix": [8, 6], "x": 15.5, "y": 3, "w": 1.75}, + {"label": "Up", "matrix": [8, 7], "x": 17.25, "y": 3}, + {"label": "PgDn", "matrix": [8, 8], "x": 18.25, "y": 3}, + + {"label": "F9", "matrix": [4, 0], "x": 0, "y": 4}, + {"label": "F10", "matrix": [4, 1], "x": 1, "y": 4}, + + {"label": "Ctrl", "matrix": [4, 2], "x": 2.25, "y": 4, "w": 1.25}, + {"label": "Win", "matrix": [4, 3], "x": 3.5, "y": 4, "w": 1.25}, + {"label": "Alt", "matrix": [4, 4], "x": 4.75, "y": 4, "w": 1.25}, + {"label": "Fn", "matrix": [4, 5], "x": 6, "y": 4, "w": 1.25}, + {"label": "Space", "matrix": [4, 7], "x": 7.25, "y": 4, "w": 2.25}, + + {"label": "Space", "matrix": [9, 1], "x": 10.5, "y": 4, "w": 2.75}, + {"label": "Alt", "matrix": [9, 2], "x": 13.25, "y": 4}, + {"label": "Fn", "matrix": [9, 3], "x": 14.25, "y": 4}, + {"label": "Ctrl", "matrix": [9, 4], "x": 15.25, "y": 4}, + {"label": "Left", "matrix": [9, 6], "x": 16.25, "y": 4}, + {"label": "Down", "matrix": [9, 7], "x": 17.25, "y": 4}, + {"label": "Right", "matrix": [9, 8], "x": 18.25, "y": 4} + ] + } + } +} diff --git a/keyboards/keebio/quefrency_lm/rev1/mcuconf.h b/keyboards/keebio/quefrency_lm/rev1/mcuconf.h new file mode 100644 index 0000000000..81e0d04f67 --- /dev/null +++ b/keyboards/keebio/quefrency_lm/rev1/mcuconf.h @@ -0,0 +1,14 @@ +// Copyright 2025 Keebio (@keebio) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#include_next + +/* enable USART3, used for split comms */ +#undef STM32_SERIAL_USE_USART3 +#define STM32_SERIAL_USE_USART3 TRUE + +/* enable TIM3, used for RGB LED PWM driver */ +#undef STM32_PWM_USE_TIM3 +#define STM32_PWM_USE_TIM3 TRUE diff --git a/keyboards/keebio/quefrency_lm/rev1/rev1.c b/keyboards/keebio/quefrency_lm/rev1/rev1.c new file mode 100644 index 0000000000..744fdd8293 --- /dev/null +++ b/keyboards/keebio/quefrency_lm/rev1/rev1.c @@ -0,0 +1,11 @@ +// Copyright 2025 Keebio (@keebio) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "quantum.h" + +void keyboard_pre_init_kb(void) { + // Disable the PD peripheral in pre-init because its pins are being used in the matrix: + PWR->CR3 |= PWR_CR3_UCPD_DBDIS; + // Call the corresponding _user() function (see https://docs.qmk.fm/#/custom_quantum_functions) + keyboard_pre_init_user(); +} diff --git a/keyboards/keebio/rorschach/rev1/keyboard.json b/keyboards/keebio/rorschach/rev1/keyboard.json index 63fe877246..6f07992f1e 100644 --- a/keyboards/keebio/rorschach/rev1/keyboard.json +++ b/keyboards/keebio/rorschach/rev1/keyboard.json @@ -43,8 +43,7 @@ "pin": "D0" } }, - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "features": { "bootmagic": false, "mousekey": true, diff --git a/keyboards/keebio/stick/keyboard.json b/keyboards/keebio/stick/keyboard.json index 93d78837eb..b8d1184ec1 100644 --- a/keyboards/keebio/stick/keyboard.json +++ b/keyboards/keebio/stick/keyboard.json @@ -83,8 +83,7 @@ "ws2812": { "pin": "D3" }, - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "features": { "bootmagic": true, "encoder": true, diff --git a/keyboards/keebio/tragicforce68/keyboard.json b/keyboards/keebio/tragicforce68/keyboard.json index 3173ed3f50..f257cc26a8 100644 --- a/keyboards/keebio/tragicforce68/keyboard.json +++ b/keyboards/keebio/tragicforce68/keyboard.json @@ -31,8 +31,7 @@ "levels": 7, "breathing": true }, - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "community_layouts": ["68_ansi"], "layout_aliases": { "LAYOUT": "LAYOUT_68_ansi" diff --git a/keyboards/keebio/tukey/keyboard.json b/keyboards/keebio/tukey/keyboard.json index a030f041b7..3f4e5e947a 100644 --- a/keyboards/keebio/tukey/keyboard.json +++ b/keyboards/keebio/tukey/keyboard.json @@ -28,8 +28,7 @@ "ws2812": { "pin": "D3" }, - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "features": { "bootmagic": false, "command": true, diff --git a/keyboards/keebio/viterbi/info.json b/keyboards/keebio/viterbi/info.json index 8b1063ea98..f547514cdb 100644 --- a/keyboards/keebio/viterbi/info.json +++ b/keyboards/keebio/viterbi/info.json @@ -8,7 +8,6 @@ "split": { "enabled": true }, - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "community_layouts": ["ortho_5x14"] } diff --git a/keyboards/keebio/wavelet/keyboard.json b/keyboards/keebio/wavelet/keyboard.json index 70430e0f4d..fa14bfd62c 100644 --- a/keyboards/keebio/wavelet/keyboard.json +++ b/keyboards/keebio/wavelet/keyboard.json @@ -23,8 +23,7 @@ "ws2812": { "pin": "D3" }, - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "features": { "bootmagic": false, "mousekey": true, diff --git a/keyboards/keybage/radpad/keyboard.json b/keyboards/keybage/radpad/keyboard.json index 24f84477a8..d8a3c827df 100644 --- a/keyboards/keybage/radpad/keyboard.json +++ b/keyboards/keybage/radpad/keyboard.json @@ -52,8 +52,7 @@ "ws2812": { "pin": "F4" }, - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "layouts": { "LAYOUT_4x4_encoders": { "layout": [ diff --git a/keyboards/keyboardio/model01/keymaps/default/keymap.c b/keyboards/keyboardio/model01/keymaps/default/keymap.c index 756cffcf23..9540d76513 100644 --- a/keyboards/keyboardio/model01/keymaps/default/keymap.c +++ b/keyboards/keyboardio/model01/keymaps/default/keymap.c @@ -48,9 +48,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [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_TAB , _______, KC_MS_U, _______, KC_BTN3, _______, RM_TOGG, KC_MPRV, KC_MNXT, KC_LCBR, KC_RCBR, KC_LBRC, KC_RBRC, KC_F12 , - KC_HOME, KC_MS_L, KC_MS_D, KC_MS_R, KC_BTN1, _______, _______, KC_MPLY, KC_LEFT, KC_DOWN, KC_UP , KC_RGHT, _______, _______, - KC_END , KC_PSCR, KC_INS , _______, KC_BTN2, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, KC_BSLS, KC_PIPE, + KC_TAB , _______, MS_UP, _______, MS_BTN3, _______, RM_TOGG, KC_MPRV, KC_MNXT, KC_LCBR, KC_RCBR, KC_LBRC, KC_RBRC, KC_F12 , + KC_HOME, MS_LEFT, MS_DOWN, MS_RGHT, MS_BTN1, _______, _______, KC_MPLY, KC_LEFT, KC_DOWN, KC_UP , KC_RGHT, _______, _______, + KC_END , KC_PSCR, KC_INS , _______, MS_BTN2, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, KC_BSLS, KC_PIPE, _______, _______, KC_DEL , KC_ENT , _______, _______, diff --git a/keyboards/keycapsss/o4l_5x12/keyboard.json b/keyboards/keycapsss/o4l_5x12/keyboard.json index 5a516adca0..7425dc7a0b 100644 --- a/keyboards/keycapsss/o4l_5x12/keyboard.json +++ b/keyboards/keycapsss/o4l_5x12/keyboard.json @@ -48,8 +48,7 @@ "rows": ["F7", "B1", "B3", "B2", "B6"] }, "diode_direction": "COL2ROW", - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "community_layouts": ["ortho_5x12"], "layouts": { "LAYOUT_ortho_5x12": { diff --git a/keyboards/keycapsss/plaid_pad/keymaps/oled/keymap.c b/keyboards/keycapsss/plaid_pad/keymaps/oled/keymap.c index 944f822fb3..3b28233ab7 100644 --- a/keyboards/keycapsss/plaid_pad/keymaps/oled/keymap.c +++ b/keyboards/keycapsss/plaid_pad/keymaps/oled/keymap.c @@ -51,8 +51,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Navigation layer */ [_NAVIGATION] = LAYOUT_ortho_4x4( - KC_BTN1, KC_MS_U, KC_BTN2, XXXXXXX, - KC_MS_L, KC_MS_D, KC_MS_R, XXXXXXX, + MS_BTN1, MS_UP, MS_BTN2, XXXXXXX, + MS_LEFT, MS_DOWN, MS_RGHT, XXXXXXX, XXXXXXX, KC_UP, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_RGHT, XXXXXXX ), @@ -144,7 +144,7 @@ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { [_MEDIA] = { ENCODER_CCW_CW(KC_F18, KC_F17), ENCODER_CCW_CW(KC_F20, KC_F19) } #else [_NUMPAD] = { ENCODER_CCW_CW(KC_F18, KC_F17), ENCODER_CCW_CW(KC_F20, KC_F19), ENCODER_CCW_CW(KC_F22, KC_F21), ENCODER_CCW_CW(KC_F24, KC_F23) }, - [_NAVIGATION] = { ENCODER_CCW_CW(C(S(KC_TAB)), C(KC_TAB)), ENCODER_CCW_CW(KC_PGUP, KC_PGDN), ENCODER_CCW_CW(KC_WH_U, KC_WH_D), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [_NAVIGATION] = { ENCODER_CCW_CW(C(S(KC_TAB)), C(KC_TAB)), ENCODER_CCW_CW(KC_PGUP, KC_PGDN), ENCODER_CCW_CW(MS_WHLU, MS_WHLD), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, [_MEDIA] = { ENCODER_CCW_CW(KC_F18, KC_F17), ENCODER_CCW_CW(KC_F20, KC_F19), ENCODER_CCW_CW(KC_BRID, KC_BRIU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) } #endif }; diff --git a/keyboards/keychron/c2_pro_v2/ansi/rgb/keymaps/default/keymap.c b/keyboards/keychron/c2_pro_v2/ansi/rgb/keymaps/default/keymap.c index 7e09d028f7..4d18d2fc6e 100644 --- a/keyboards/keychron/c2_pro_v2/ansi/rgb/keymaps/default/keymap.c +++ b/keyboards/keychron/c2_pro_v2/ansi/rgb/keymaps/default/keymap.c @@ -29,7 +29,7 @@ enum layers{ // clang-format off const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [MAC_BASE] = LAYOUT_104_ansi( - KC_ESC, KC_BRID, KC_BRIU, _______, _______, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_NO, KC_NO, RM_NEXT, + KC_ESC, KC_BRID, KC_BRIU, _______, _______, RM_VALD, RM_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_NO, KC_NO, RM_NEXT, KC_GRV, KC_1, KC_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, diff --git a/keyboards/keychron/c3_pro/c3_pro.c b/keyboards/keychron/c3_pro/c3_pro.c index 905eb86f5a..0c584b0938 100644 --- a/keyboards/keychron/c3_pro/c3_pro.c +++ b/keyboards/keychron/c3_pro/c3_pro.c @@ -16,6 +16,26 @@ #include "c3_pro.h" +void keyboard_post_init_kb(void) { + gpio_set_pin_output_push_pull(LED_MAC_OS_PIN); + gpio_set_pin_output_push_pull(LED_WIN_OS_PIN); + gpio_write_pin(LED_MAC_OS_PIN, !LED_OS_PIN_ON_STATE); + gpio_write_pin(LED_WIN_OS_PIN, !LED_OS_PIN_ON_STATE); + + keyboard_post_init_user(); +} + +void housekeeping_task_kb(void) { + if (get_highest_layer(default_layer_state) == 0) { + gpio_write_pin(LED_MAC_OS_PIN, LED_OS_PIN_ON_STATE); + gpio_write_pin(LED_WIN_OS_PIN, !LED_OS_PIN_ON_STATE); + } + if (get_highest_layer(default_layer_state) == 2) { + gpio_write_pin(LED_MAC_OS_PIN, !LED_OS_PIN_ON_STATE); + gpio_write_pin(LED_WIN_OS_PIN, LED_OS_PIN_ON_STATE); + } +} + bool process_record_kb(uint16_t keycode, keyrecord_t *record) { if (!process_record_user(keycode, record)) { return false; @@ -61,9 +81,12 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) { #endif case KC_OSSW: if (record->event.pressed) { - default_layer_xor(1U << 0); - default_layer_xor(1U << 2); - eeconfig_update_default_layer(default_layer_state); + // Switches default layer between `MAC_BASE` and `WIN_BASE` (0 and 2) + if (get_highest_layer(default_layer_state) == 2 ) { + set_single_persistent_default_layer(0); + } else { + set_single_persistent_default_layer(2); + } } return false; default: @@ -71,42 +94,8 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) { } } -#if defined(RGB_MATRIX_ENABLE) && defined(CAPS_LOCK_LED_INDEX) - -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; - } - // RGB_MATRIX_INDICATOR_SET_COLOR(index, red, green, blue); - - if (host_keyboard_led_state().caps_lock) { - RGB_MATRIX_INDICATOR_SET_COLOR(CAPS_LOCK_LED_INDEX, 255, 255, 255); - } else { - if (!rgb_matrix_get_flags()) { - RGB_MATRIX_INDICATOR_SET_COLOR(CAPS_LOCK_LED_INDEX, 0, 0, 0); - } - } - return true; +void suspend_power_down_kb(void) { + gpio_write_pin(LED_WIN_OS_PIN, !LED_OS_PIN_ON_STATE); + gpio_write_pin(LED_MAC_OS_PIN, !LED_OS_PIN_ON_STATE); + suspend_power_down_user(); } - -#endif // RGB_MATRIX_ENABLE && CAPS_LOCK_LED_INDEX - -#if defined(LED_MATRIX_ENABLE) && defined(CAPS_LOCK_LED_INDEX) - -bool led_matrix_indicators_advanced_kb(uint8_t led_min, uint8_t led_max) { - if (!led_matrix_indicators_advanced_user(led_min, led_max)) { - return false; - } - - if (host_keyboard_led_state().caps_lock) { - led_matrix_set_value(CAPS_LOCK_LED_INDEX, 255); - - } else { - if (!led_matrix_get_flags()) { - led_matrix_set_value(CAPS_LOCK_LED_INDEX, 0); - } - } - return true; -} - -#endif // LED_MATRIX_ENABLE && CAPS_LOCK_LED_INDEX diff --git a/keyboards/keychron/q0/info.json b/keyboards/keychron/q0/info.json index 666a797411..d7a7317e3f 100644 --- a/keyboards/keychron/q0/info.json +++ b/keyboards/keychron/q0/info.json @@ -45,7 +45,11 @@ }, "url": "https://github.com/Keychron", "usb": { - "force_nkro": true, "vid": "0x3434" + }, + "host": { + "default": { + "nkro": true + } } } \ No newline at end of file diff --git a/keyboards/keychron/q1v1/info.json b/keyboards/keychron/q1v1/info.json index b8ab503b07..034bb4357f 100644 --- a/keyboards/keychron/q1v1/info.json +++ b/keyboards/keychron/q1v1/info.json @@ -52,7 +52,11 @@ }, "url": "https://github.com/Keychron", "usb": { - "force_nkro": true, "vid": "0x3434" + }, + "host": { + "default": { + "nkro": true + } } } \ No newline at end of file diff --git a/keyboards/keychron/q1v2/ansi_encoder/keyboard.json b/keyboards/keychron/q1v2/ansi_encoder/keyboard.json index 616c444891..a22a5f6de8 100644 --- a/keyboards/keychron/q1v2/ansi_encoder/keyboard.json +++ b/keyboards/keychron/q1v2/ansi_encoder/keyboard.json @@ -9,7 +9,7 @@ "encoder": { "enabled": true, "rotary": [ - {"pin_a": "A10", "pin_b": "A8", "resolution": 4} + {"pin_a": "A10", "pin_b": "A8"} ] }, "layouts": { diff --git a/keyboards/keychron/q1v2/iso_encoder/keyboard.json b/keyboards/keychron/q1v2/iso_encoder/keyboard.json index 38e34176b8..98f860ddd4 100644 --- a/keyboards/keychron/q1v2/iso_encoder/keyboard.json +++ b/keyboards/keychron/q1v2/iso_encoder/keyboard.json @@ -9,7 +9,7 @@ "encoder": { "enabled": true, "rotary": [ - {"pin_a": "A10", "pin_b": "A8", "resolution": 4} + {"pin_a": "A10", "pin_b": "A8"} ] }, "layouts": { diff --git a/keyboards/keychron/q1v2/jis_encoder/keyboard.json b/keyboards/keychron/q1v2/jis_encoder/keyboard.json index 544958f24f..464f952e0d 100644 --- a/keyboards/keychron/q1v2/jis_encoder/keyboard.json +++ b/keyboards/keychron/q1v2/jis_encoder/keyboard.json @@ -9,7 +9,7 @@ "encoder": { "enabled": true, "rotary": [ - {"pin_a": "A10", "pin_b": "A8", "resolution": 4} + {"pin_a": "A10", "pin_b": "A8"} ] }, "layouts": { diff --git a/keyboards/keyhive/ergosaurus/keyboard.json b/keyboards/keyhive/ergosaurus/keyboard.json index 9a4810a9a5..754201c2b1 100644 --- a/keyboards/keyhive/ergosaurus/keyboard.json +++ b/keyboards/keyhive/ergosaurus/keyboard.json @@ -42,8 +42,7 @@ "rows": ["B5", "B4", "E6", "D4", "F6", "D3", "D2", "F4", "F5"] }, "diode_direction": "COL2ROW", - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "community_layouts": ["alice_split_bs"], "layout_aliases": { "LAYOUT": "LAYOUT_alice_split_bs" diff --git a/keyboards/keyhive/maypad/keyboard.json b/keyboards/keyhive/maypad/keyboard.json index d0dad2b6cf..adc04dc386 100644 --- a/keyboards/keyhive/maypad/keyboard.json +++ b/keyboards/keyhive/maypad/keyboard.json @@ -27,8 +27,7 @@ "rows": ["C6", "D7", "E6", "B4", "B5"] }, "diode_direction": "COL2ROW", - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "community_layouts": ["ortho_5x4", "numpad_5x4"], "layouts": { "LAYOUT_numpad_5x4": { diff --git a/keyboards/keyhive/navi10/rev0/keyboard.json b/keyboards/keyhive/navi10/rev0/keyboard.json index ab0e63ef1e..9e362651ef 100644 --- a/keyboards/keyhive/navi10/rev0/keyboard.json +++ b/keyboards/keyhive/navi10/rev0/keyboard.json @@ -7,8 +7,7 @@ "rows": ["B6", "B2", "B3", "B4"] }, "diode_direction": "COL2ROW", - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "features": { "bootmagic": false, "mousekey": false, diff --git a/keyboards/keyhive/navi10/rev2/keyboard.json b/keyboards/keyhive/navi10/rev2/keyboard.json index ac5148b787..df4d11b6e3 100644 --- a/keyboards/keyhive/navi10/rev2/keyboard.json +++ b/keyboards/keyhive/navi10/rev2/keyboard.json @@ -7,8 +7,7 @@ "rows": ["B6", "B2", "B3", "B4"] }, "diode_direction": "COL2ROW", - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "features": { "bootmagic": false, "mousekey": false, diff --git a/keyboards/keyhive/navi10/rev3/keyboard.json b/keyboards/keyhive/navi10/rev3/keyboard.json index 9f403a3513..8fa609c52f 100644 --- a/keyboards/keyhive/navi10/rev3/keyboard.json +++ b/keyboards/keyhive/navi10/rev3/keyboard.json @@ -7,8 +7,7 @@ "rows": ["B6", "B2", "B3", "B4"] }, "diode_direction": "COL2ROW", - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "features": { "bootmagic": false, "mousekey": false, diff --git a/keyboards/keyhive/opus/keyboard.json b/keyboards/keyhive/opus/keyboard.json index 6072a59f5d..58bd2238db 100644 --- a/keyboards/keyhive/opus/keyboard.json +++ b/keyboards/keyhive/opus/keyboard.json @@ -24,8 +24,7 @@ "rows": ["B1", "B3", "B2", "B6"] }, "diode_direction": "COL2ROW", - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/keyhive/opus/keymaps/default/keymap.c b/keyboards/keyhive/opus/keymaps/default/keymap.c index aaa1a899a2..868b611a81 100644 --- a/keyboards/keyhive/opus/keymaps/default/keymap.c +++ b/keyboards/keyhive/opus/keymaps/default/keymap.c @@ -43,7 +43,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_NO, KC_NO, KC_NO, KC_NO, KC_SPC, KC_BSPC ), [_NAV] = LAYOUT( - KC_NO, KC_NO, LALT(KC_RGHT), SGUI(KC_LBRC), SGUI(KC_RBRC), KC_NO, KC_HOME, KC_PGDN, KC_PGUP, KC_NO, KC_NO, KC_NO, + KC_NO, KC_NO, LALT(KC_RGHT), LSG(KC_LBRC), LSG(KC_RBRC), KC_NO, KC_HOME, KC_PGDN, KC_PGUP, KC_NO, KC_NO, KC_NO, KC_NO, KC_LCTL, KC_LALT, KC_LSFT, KC_LGUI, KC_NO, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, LALT(KC_LEFT), KC_END, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_SPC, KC_BSPC diff --git a/keyboards/keyhive/ut472/keymaps/default/keymap.c b/keyboards/keyhive/ut472/keymaps/default/keymap.c index c31b2b7d61..37bd3b37b3 100644 --- a/keyboards/keyhive/ut472/keymaps/default/keymap.c +++ b/keyboards/keyhive/ut472/keymaps/default/keymap.c @@ -95,6 +95,6 @@ LAYOUT( /* Tab */ KC_ESC, KC_CALC, KC_WHOM, KC_MAIL, KC_MYCM, _______, _______, _______, _______, _______, KC_PSCR, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R + _______, _______, _______, _______, _______, _______, _______, MS_LEFT, MS_DOWN, MS_UP, MS_RGHT ), }; diff --git a/keyboards/keyprez/unicorn/keyboard.json b/keyboards/keyprez/unicorn/keyboard.json index 20aa2e3e73..9a8d39a416 100644 --- a/keyboards/keyprez/unicorn/keyboard.json +++ b/keyboards/keyprez/unicorn/keyboard.json @@ -42,8 +42,7 @@ "pin": "D0" } }, - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/keysofkings/twokey/keyboard.json b/keyboards/keysofkings/twokey/keyboard.json index 2ec17f2b93..f0c46e34a6 100644 --- a/keyboards/keysofkings/twokey/keyboard.json +++ b/keyboards/keysofkings/twokey/keyboard.json @@ -53,8 +53,7 @@ {"pin_a": "D7", "pin_b": "E6", "resolution": 1} ] }, - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/keyspensory/kp60/keyboard.json b/keyboards/keyspensory/kp60/keyboard.json index 2072186e9d..6634b522bb 100644 --- a/keyboards/keyspensory/kp60/keyboard.json +++ b/keyboards/keyspensory/kp60/keyboard.json @@ -7,8 +7,12 @@ "vid": "0x4B50", "pid": "0x0060", "device_version": "0.0.1", - "no_startup_check": true, - "force_nkro": true + "no_startup_check": true + }, + "host": { + "default": { + "nkro": true + } }, "diode_direction": "COL2ROW", "matrix_pins": { diff --git a/keyboards/kikoslab/kl90/keymaps/default/keymap.c b/keyboards/kikoslab/kl90/keymaps/default/keymap.c index 5cf7c75503..b84022f583 100644 --- a/keyboards/kikoslab/kl90/keymaps/default/keymap.c +++ b/keyboards/kikoslab/kl90/keymaps/default/keymap.c @@ -47,9 +47,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { bool encoder_update_user(uint8_t index, bool clockwise) { if (index == 0) { /* First encoder */ if (clockwise) { - tap_code(KC_WH_D); + tap_code(MS_WHLD); } else { - tap_code(KC_WH_U); + tap_code(MS_WHLU); } } else if (index == 1) { /* Second encoder */ if (clockwise) { diff --git a/keyboards/kin80/keymaps/default/keymap.c b/keyboards/kin80/keymaps/default/keymap.c index 50bad2a974..2e4077e60c 100644 --- a/keyboards/kin80/keymaps/default/keymap.c +++ b/keyboards/kin80/keymaps/default/keymap.c @@ -85,13 +85,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_NM] = LAYOUT( KC_F1, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_F12, _______, _______, _______, _______, _______, _______, KC_SCRL, KC_NUM, KC_PEQL, KC_PSLS, KC_PAST, _______, - _______, _______, KC_BTN1, KC_MS_U, KC_BTN2, _______, KC_CAPS, KC_P7, KC_P8, KC_P9, KC_PMNS, _______, - _______, _______, KC_MS_L, KC_MS_D, KC_MS_R, _______, _______, KC_P4, KC_P5, KC_P6, KC_PPLS, _______, + _______, _______, MS_BTN1, MS_UP, MS_BTN2, _______, KC_CAPS, KC_P7, KC_P8, KC_P9, KC_PMNS, _______, + _______, _______, MS_LEFT, MS_DOWN, MS_RGHT, _______, _______, KC_P4, KC_P5, KC_P6, KC_PPLS, _______, _______, _______, _______, _______, _______, _______, KC_PDOT, KC_P1, KC_P2, KC_P3, KC_PENT, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_RALT, _______, - KC_WH_U, _______, - _______, _______, KC_WH_D, _______, _______, KC_P0 + MS_WHLU, _______, + _______, _______, MS_WHLD, _______, _______, KC_P0 ) }; diff --git a/keyboards/kinesis/keymaps/dvorak/keymap.c b/keyboards/kinesis/keymaps/dvorak/keymap.c index f8a5b4ed4f..af68841b1c 100644 --- a/keyboards/kinesis/keymaps/dvorak/keymap.c +++ b/keyboards/kinesis/keymaps/dvorak/keymap.c @@ -25,10 +25,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // left hand KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_PWR, - KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_VOLU, KC_MS_U, KC_VOLD, KC_NO, KC_NO, - KC_NO, KC_BTN4, KC_BTN3, KC_BTN2, KC_BTN1, 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_VOLU, MS_UP, KC_VOLD, KC_NO, KC_NO, + KC_NO, MS_BTN4, MS_BTN3, MS_BTN2, MS_BTN1, KC_NO, KC_NO, MS_LEFT, MS_DOWN, MS_RGHT, KC_NO, KC_NO, KC_NO, KC_NO, KC_MUTE, KC_VOLD, KC_VOLU, KC_NO, KC_NO, KC_MPRV, KC_MPLY, KC_MNXT, KC_NO, KC_NO, - KC_NO, KC_NO, KC_MS_D, KC_MS_U, KC_MS_L, KC_MS_R, KC_NO, KC_NO, + KC_NO, KC_NO, MS_DOWN, MS_UP, MS_LEFT, MS_RGHT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, diff --git a/keyboards/kinesis/kint32/keyboard.json b/keyboards/kinesis/kint32/keyboard.json index 4f403c2ffa..2a46bbe12b 100644 --- a/keyboards/kinesis/kint32/keyboard.json +++ b/keyboards/kinesis/kint32/keyboard.json @@ -9,8 +9,6 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, - "command": false, - "console": false, "extrakey": true, "mousekey": true, "nkro": true diff --git a/keyboards/kingly_keys/little_foot/keyboard.json b/keyboards/kingly_keys/little_foot/keyboard.json index 2af4432d47..2ff3fd89cd 100644 --- a/keyboards/kingly_keys/little_foot/keyboard.json +++ b/keyboards/kingly_keys/little_foot/keyboard.json @@ -5,8 +5,12 @@ "usb": { "vid": "0xFEED", "pid": "0x6060", - "device_version": "0.0.1", - "force_nkro": true + "device_version": "0.0.1" + }, + "host": { + "default": { + "nkro": true + } }, "rgblight": { "hue_steps": 6, @@ -47,8 +51,7 @@ "rows": ["F6", "B6", "B2", "B3", "B1"] }, "diode_direction": "COL2ROW", - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "layouts": { "LAYOUT_split_space_base": { "layout": [ diff --git a/keyboards/kingly_keys/romac/keyboard.json b/keyboards/kingly_keys/romac/keyboard.json index 40c8dea64f..d9993f9917 100644 --- a/keyboards/kingly_keys/romac/keyboard.json +++ b/keyboards/kingly_keys/romac/keyboard.json @@ -24,8 +24,7 @@ "rows": ["D4", "C6", "D7", "E6"] }, "diode_direction": "COL2ROW", - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/kingly_keys/romac_plus/keyboard.json b/keyboards/kingly_keys/romac_plus/keyboard.json index b0b2f487cb..db34d4b465 100644 --- a/keyboards/kingly_keys/romac_plus/keyboard.json +++ b/keyboards/kingly_keys/romac_plus/keyboard.json @@ -53,8 +53,7 @@ "ws2812": { "pin": "F7" }, - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/kingly_keys/ropro/keymaps/default/keymap.c b/keyboards/kingly_keys/ropro/keymaps/default/keymap.c index 3ee0b5646b..9a3c6a0115 100644 --- a/keyboards/kingly_keys/ropro/keymaps/default/keymap.c +++ b/keyboards/kingly_keys/ropro/keymaps/default/keymap.c @@ -77,9 +77,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { bool encoder_update_user(uint8_t index, bool clockwise) { if (index == 0) { if (clockwise) { - tap_code(KC_WH_L); + tap_code(MS_WHLL); } else { - tap_code(KC_WH_R); + tap_code(MS_WHLR); } } return true; diff --git a/keyboards/kingly_keys/smd_milk/keyboard.json b/keyboards/kingly_keys/smd_milk/keyboard.json index 943599dad1..2da20bf978 100644 --- a/keyboards/kingly_keys/smd_milk/keyboard.json +++ b/keyboards/kingly_keys/smd_milk/keyboard.json @@ -5,8 +5,12 @@ "usb": { "vid": "0xFEED", "pid": "0xB195", - "device_version": "0.0.1", - "force_nkro": true + "device_version": "0.0.1" + }, + "host": { + "default": { + "nkro": true + } }, "rgblight": { "hue_steps": 6, diff --git a/keyboards/kingly_keys/soap/keymaps/default/keymap.c b/keyboards/kingly_keys/soap/keymaps/default/keymap.c index d8fa6a963c..309c6686f3 100644 --- a/keyboards/kingly_keys/soap/keymaps/default/keymap.c +++ b/keyboards/kingly_keys/soap/keymaps/default/keymap.c @@ -53,9 +53,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { bool encoder_update_user(uint8_t index, bool clockwise) { if (index == 0) { if (clockwise) { - tap_code(KC_WH_L); + tap_code(MS_WHLL); } else { - tap_code(KC_WH_R); + tap_code(MS_WHLR); } } return true; diff --git a/keyboards/kiserdesigns/madeline/keymaps/default/keymap.c b/keyboards/kiserdesigns/madeline/keymaps/default/keymap.c index 09c9d3a2ff..984fd9e9b9 100644 --- a/keyboards/kiserdesigns/madeline/keymaps/default/keymap.c +++ b/keyboards/kiserdesigns/madeline/keymaps/default/keymap.c @@ -48,6 +48,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { #if defined(ENCODER_MAP_ENABLE) const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, - [1] = { ENCODER_CCW_CW(KC_MS_WH_UP, KC_MS_WH_DOWN) } + [1] = { ENCODER_CCW_CW(MS_WHLU, MS_WHLD) } }; #endif diff --git a/keyboards/knobgoblin/keyboard.json b/keyboards/knobgoblin/keyboard.json index 4cc00e26cd..d20191c82d 100644 --- a/keyboards/knobgoblin/keyboard.json +++ b/keyboards/knobgoblin/keyboard.json @@ -30,8 +30,7 @@ "bootmagic": { "matrix": [0, 1] }, - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "debounce": 2, "layouts": { "LAYOUT_ortho": { diff --git a/keyboards/kprepublic/bm65hsrgb_iso/rev1/keyboard.json b/keyboards/kprepublic/bm65hsrgb_iso/rev1/keyboard.json index e9e330b160..187816b660 100644 --- a/keyboards/kprepublic/bm65hsrgb_iso/rev1/keyboard.json +++ b/keyboards/kprepublic/bm65hsrgb_iso/rev1/keyboard.json @@ -5,8 +5,12 @@ "usb": { "vid": "0x4B50", "pid": "0x0653", - "device_version": "0.0.1", - "force_nkro": true + "device_version": "0.0.1" + }, + "host": { + "default": { + "nkro": true + } }, "rgblight": { "saturation_steps": 8, diff --git a/keyboards/kprepublic/cstc40/daughterboard/keyboard.json b/keyboards/kprepublic/cstc40/daughterboard/keyboard.json deleted file mode 100644 index cdba7942df..0000000000 --- a/keyboards/kprepublic/cstc40/daughterboard/keyboard.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "matrix_pins": { - "cols": ["B15", "B14", "B13", "B10", "B12", "A5", "C4", "A7", "A15", "C10", "C11", "C0"], - "rows": ["B1", "B0", "C5", "A6"] - } -} \ No newline at end of file diff --git a/keyboards/kprepublic/cstc40/info.json b/keyboards/kprepublic/cstc40/info.json index 8e4e640b7e..83a653cc1c 100644 --- a/keyboards/kprepublic/cstc40/info.json +++ b/keyboards/kprepublic/cstc40/info.json @@ -2,9 +2,7 @@ "manufacturer": "kprepublic", "keyboard_name": "cstc40", "maintainer": "itsvar8", - "bootloader": "stm32-dfu", "diode_direction": "ROW2COL", - "debounce": 2, "features": { "bootmagic": true, "extrakey": true, @@ -14,63 +12,9 @@ }, "processor": "STM32F401", "usb": { - "device_version": "1.0.0", "pid": "0x0040", "vid": "0x586A" }, - "layouts": { - "LAYOUT_planck_mit": { - "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], "w": 2, "x": 5, "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 } - ] - } - }, "rgb_matrix": { "animations": { "alphas_mods": true, @@ -94,6 +38,7 @@ "dual_beacon": true, "rainbow_beacon": true, "rainbow_pinwheels": true, + "flower_blooming": true, "raindrops": true, "jellybean_raindrops": true, "hue_breathing": true, @@ -115,59 +60,66 @@ "splash": true, "multisplash": true, "solid_splash": true, - "solid_multisplash": true + "solid_multisplash": true, + "starlight": true, + "starlight_dual_hue": true, + "starlight_dual_sat": true, + "riverflow": true }, - "driver": "is31fl3733", - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 1}, - {"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": 4}, - {"matrix": [0, 11], "x": 224, "y": 0, "flags": 1}, - {"matrix": [1, 0], "x": 0, "y": 21, "flags": 1}, - {"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": 4}, - {"matrix": [1, 11], "x": 224, "y": 21, "flags": 1}, - {"matrix": [2, 0], "x": 0, "y": 42, "flags": 1}, - {"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": 4}, - {"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": 1}, - {"matrix": [3, 5], "x": 111, "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, "flags": 1} - ], - "max_brightness": 200, "sleep": true + }, + "community_layouts": ["planck_mit"], + "layouts": { + "LAYOUT_planck_mit": { + "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, "w": 2}, + {"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} + ] + } } -} \ No newline at end of file +} diff --git a/keyboards/kprepublic/cstc40/readme.md b/keyboards/kprepublic/cstc40/readme.md index 211c078cc2..e6493b28a0 100644 --- a/keyboards/kprepublic/cstc40/readme.md +++ b/keyboards/kprepublic/cstc40/readme.md @@ -1,26 +1,25 @@ -# cstc40 +# CSTC40 -A 40% hotswap ortholinear RGB keyboard from KP Republic. +## This keyboard has 3 known hardware revisions, please be sure to flash the correct firmware for your PCB -* Keyboard Maintainer: [Var](https://github.com/itsvar8) -* Hardware Supported: CSTC40 -* Hardware Availability: kprepublic.com +A 40% hotswap ortholinear RGB keyboard from KP Republic -The differences between the two versions are just the rows and columns pins and the additional small pcb for the daughterboard version. +### Revision 1: "daughterboard" -Make example for this keyboard (after setting up your build environment): +* STM32F402RCT6 MCU with IS31FL3733 LED driver, using `stm32-dfu` bootloader. Uses a separate daughterboard for USB connection. - for daughterboard version: make kprepublic/cstc40/daughterboard:default - for single pcb version: make kprepublic/cstc40/single_pcb:default +* Upon entering bootloader mode QMK Toolbox will display this message: +`STM32 DFU device connected (WinUSB): STMicroelectronics STM32 BOOTLOADER (0483:DF11:2200)` -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). +### Revision 2: "single pcb" -## Bootloader +* STM32F402RCT6 MCU with IS31FL3733 LED driver, using `stm32-dfu` bootloader. Integrated USB connection. -Enter the bootloader in 3 ways: +* Upon entering bootloader mode QMK Toolbox will display this message: +`STM32 DFU device connected (WinUSB): STMicroelectronics STM32 BOOTLOADER (0483:DF11:2200)` -* **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 +### Revision 3: "FXTwink single pcb" -The single_pcb uses pin A10, which apparently is a design flaw that prevent the bootloader to start every time - https://docs.qmk.fm/#/platformdev_blackpill_f4x1?id=pins-to-be-avoided. There is a simple workaround that works most of the time - press the pin key (generally the letter R) during the boot. +* STM32F402RCT6 MCU without separate LED driver, using `tinyuf2` bootloader. Integrated USB connection. + +* Upon entering bootloader mode the board will appear in your computer's file system as a new USB mass storage device. diff --git a/keyboards/kprepublic/cstc40/config.h b/keyboards/kprepublic/cstc40/rev1/config.h similarity index 100% rename from keyboards/kprepublic/cstc40/config.h rename to keyboards/kprepublic/cstc40/rev1/config.h diff --git a/keyboards/kprepublic/cstc40/halconf.h b/keyboards/kprepublic/cstc40/rev1/halconf.h similarity index 96% rename from keyboards/kprepublic/cstc40/halconf.h rename to keyboards/kprepublic/cstc40/rev1/halconf.h index 0f279040aa..049b29a046 100644 --- a/keyboards/kprepublic/cstc40/halconf.h +++ b/keyboards/kprepublic/cstc40/rev1/halconf.h @@ -17,4 +17,4 @@ #define HAL_USE_I2C TRUE -#include_next \ No newline at end of file +#include_next diff --git a/keyboards/kprepublic/cstc40/rev1/keyboard.json b/keyboards/kprepublic/cstc40/rev1/keyboard.json new file mode 100644 index 0000000000..9574e0bd22 --- /dev/null +++ b/keyboards/kprepublic/cstc40/rev1/keyboard.json @@ -0,0 +1,63 @@ +{ + "bootloader": "stm32-dfu", + "matrix_pins": { + "cols": ["B15", "B14", "B13", "B10", "B12", "A5", "C4", "A7", "A15", "C10", "C11", "C0"], + "rows": ["B1", "B0", "C5", "A6"] + }, + "rgb_matrix": { + "driver": "is31fl3733", + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0, "flags": 1}, + {"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": 4}, + {"matrix": [0, 11], "x": 224, "y": 0, "flags": 1}, + {"matrix": [1, 0], "x": 0, "y": 21, "flags": 1}, + {"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": 4}, + {"matrix": [1, 11], "x": 224, "y": 21, "flags": 1}, + {"matrix": [2, 0], "x": 0, "y": 42, "flags": 1}, + {"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": 4}, + {"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": 1}, + {"matrix": [3, 5], "x": 111, "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, "flags": 1} + ], + "max_brightness": 200 + }, + "usb": { + "device_version": "1.0.0" + } +} diff --git a/keyboards/kprepublic/cstc40/mcuconf.h b/keyboards/kprepublic/cstc40/rev1/mcuconf.h similarity index 96% rename from keyboards/kprepublic/cstc40/mcuconf.h rename to keyboards/kprepublic/cstc40/rev1/mcuconf.h index a56e52fb8d..563b86d26d 100644 --- a/keyboards/kprepublic/cstc40/mcuconf.h +++ b/keyboards/kprepublic/cstc40/rev1/mcuconf.h @@ -18,4 +18,4 @@ #include_next #undef STM32_I2C_USE_I2C1 -#define STM32_I2C_USE_I2C1 TRUE \ No newline at end of file +#define STM32_I2C_USE_I2C1 TRUE diff --git a/keyboards/kprepublic/cstc40/rev1/readme.md b/keyboards/kprepublic/cstc40/rev1/readme.md new file mode 100644 index 0000000000..1d688bc977 --- /dev/null +++ b/keyboards/kprepublic/cstc40/rev1/readme.md @@ -0,0 +1,27 @@ +# Rev 1 + +A 40% hotswap ortholinear RGB keyboard from KP Republic. + +* **Revision 1: "daughterboard"** +* Keyboard Maintainer: [Var](https://github.com/itsvar8) +* Hardware Supported: CSTC40 rev1 +* STM32F402RCT6 MCU with IS31FL3733 LED driver and using `stm32-dfu` bootloader. Uses a separate daughterboard for USB connection. +* Hardware Availability: kprepublic.com + +Make example for this keyboard (after setting up your build environment): + + make kprepublic/cstc40/rev1:default + +Flashing example for this keyboard: + + make kprepublic/cstc40/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 (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/kprepublic/cstc40/daughterboard/daughterboard.c b/keyboards/kprepublic/cstc40/rev1/rev1.c similarity index 99% rename from keyboards/kprepublic/cstc40/daughterboard/daughterboard.c rename to keyboards/kprepublic/cstc40/rev1/rev1.c index 38fac99155..db063d3eba 100644 --- a/keyboards/kprepublic/cstc40/daughterboard/daughterboard.c +++ b/keyboards/kprepublic/cstc40/rev1/rev1.c @@ -68,4 +68,4 @@ const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT] = { { 0, SW3_CS11, SW2_CS11, SW1_CS11 }, { 0, SW3_CS12, SW2_CS12, SW1_CS12 } }; -#endif \ No newline at end of file +#endif diff --git a/keyboards/kprepublic/cstc40/rev2/config.h b/keyboards/kprepublic/cstc40/rev2/config.h new file mode 100644 index 0000000000..4f845a84af --- /dev/null +++ b/keyboards/kprepublic/cstc40/rev2/config.h @@ -0,0 +1,9 @@ +// Copyright 2022 Var (@itsvar8) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#define I2C1_SDA_PIN B9 +#define I2C1_SCL_PIN B8 + +#define IS31FL3733_I2C_ADDRESS_1 IS31FL3733_I2C_ADDRESS_GND_GND diff --git a/keyboards/kprepublic/cstc40/rev2/halconf.h b/keyboards/kprepublic/cstc40/rev2/halconf.h new file mode 100644 index 0000000000..049b29a046 --- /dev/null +++ b/keyboards/kprepublic/cstc40/rev2/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_I2C TRUE + +#include_next diff --git a/keyboards/kprepublic/cstc40/rev2/keyboard.json b/keyboards/kprepublic/cstc40/rev2/keyboard.json new file mode 100644 index 0000000000..7516bfc205 --- /dev/null +++ b/keyboards/kprepublic/cstc40/rev2/keyboard.json @@ -0,0 +1,63 @@ +{ + "bootloader": "stm32-dfu", + "matrix_pins": { + "cols": ["C7", "C8", "C9", "A8", "A10", "B10", "A15", "C13", "B6", "B5", "B4", "B3"], + "rows": ["C12", "C10", "C11", "B0"] + }, + "rgb_matrix": { + "driver": "is31fl3733", + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0, "flags": 1}, + {"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": 4}, + {"matrix": [0, 11], "x": 224, "y": 0, "flags": 1}, + {"matrix": [1, 0], "x": 0, "y": 21, "flags": 1}, + {"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": 4}, + {"matrix": [1, 11], "x": 224, "y": 21, "flags": 1}, + {"matrix": [2, 0], "x": 0, "y": 42, "flags": 1}, + {"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": 4}, + {"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": 1}, + {"matrix": [3, 5], "x": 111, "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, "flags": 1} + ], + "max_brightness": 200 + }, + "usb": { + "device_version": "2.0.0" + } +} diff --git a/keyboards/kprepublic/cstc40/rev2/mcuconf.h b/keyboards/kprepublic/cstc40/rev2/mcuconf.h new file mode 100644 index 0000000000..563b86d26d --- /dev/null +++ b/keyboards/kprepublic/cstc40/rev2/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_I2C_USE_I2C1 +#define STM32_I2C_USE_I2C1 TRUE diff --git a/keyboards/kprepublic/cstc40/rev2/readme.md b/keyboards/kprepublic/cstc40/rev2/readme.md new file mode 100644 index 0000000000..8f6b27ed8e --- /dev/null +++ b/keyboards/kprepublic/cstc40/rev2/readme.md @@ -0,0 +1,29 @@ +# Rev 2 + +A 40% hotswap ortholinear RGB keyboard from KP Republic. + +* **Revision 2: "single pcb"** +* Keyboard Maintainer: [Var](https://github.com/itsvar8) +* Hardware Supported: CSTC40 rev2 +* STM32F402RCT6 MCU with IS31FL3733 LED driver and using `stm32-dfu` bootloader. Integrated USB connection. +* Hardware Availability: kprepublic.com + +Make example for this keyboard (after setting up your build environment): + + make kprepublic/cstc40/rev2:default + +Flashing example for this keyboard: + + make kprepublic/cstc40/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). + +## 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 + +The rev 2 uses pin `A10` in the key matrix, which apparently is a design flaw that may prevent the bootloader from entering the proper mode for DFU flashing - . There is a simple workaround that works most of the time - press the pin key (generally the letter R) during the boot. diff --git a/keyboards/kprepublic/cstc40/single_pcb/single_pcb.c b/keyboards/kprepublic/cstc40/rev2/rev2.c similarity index 99% rename from keyboards/kprepublic/cstc40/single_pcb/single_pcb.c rename to keyboards/kprepublic/cstc40/rev2/rev2.c index 38fac99155..db063d3eba 100644 --- a/keyboards/kprepublic/cstc40/single_pcb/single_pcb.c +++ b/keyboards/kprepublic/cstc40/rev2/rev2.c @@ -68,4 +68,4 @@ const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT] = { { 0, SW3_CS11, SW2_CS11, SW1_CS11 }, { 0, SW3_CS12, SW2_CS12, SW1_CS12 } }; -#endif \ No newline at end of file +#endif diff --git a/keyboards/kprepublic/cstc40/rev3/keyboard.json b/keyboards/kprepublic/cstc40/rev3/keyboard.json new file mode 100644 index 0000000000..2748a6f1fc --- /dev/null +++ b/keyboards/kprepublic/cstc40/rev3/keyboard.json @@ -0,0 +1,67 @@ +{ + "maintainer": "ClownFish", + "bootloader": "tinyuf2", + "matrix_pins": { + "cols": ["A4", "A5", "A6", "A7", "C4", "C5", "A8", "A15", "C10", "C11", "C12", "D2"], + "rows": ["B12", "B1", "B0", "C13"] + }, + "rgb_matrix": { + "driver": "ws2812", + "layout": [ + {"matrix": [3, 0], "x": 0, "y": 64, "flags": 1}, + {"matrix": [3, 1], "x": 20, "y": 64, "flags": 1}, + {"matrix": [3, 2], "x": 41, "y": 64, "flags": 1}, + {"matrix": [3, 3], "x": 61, "y": 64, "flags": 1}, + {"matrix": [3, 4], "x": 82, "y": 64, "flags": 1}, + {"matrix": [3, 5], "x": 112, "y": 64, "flags": 1}, + {"matrix": [3, 7], "x": 142, "y": 64, "flags": 1}, + {"matrix": [3, 8], "x": 163, "y": 64, "flags": 1}, + {"matrix": [3, 9], "x": 183, "y": 64, "flags": 1}, + {"matrix": [3, 10], "x": 204, "y": 64, "flags": 1}, + {"matrix": [3, 11], "x": 224, "y": 64, "flags": 1}, + {"matrix": [2, 11], "x": 224, "y": 43, "flags": 1}, + {"matrix": [2, 10], "x": 204, "y": 43, "flags": 4}, + {"matrix": [2, 9], "x": 183, "y": 43, "flags": 4}, + {"matrix": [2, 8], "x": 163, "y": 43, "flags": 4}, + {"matrix": [2, 7], "x": 142, "y": 43, "flags": 4}, + {"matrix": [2, 6], "x": 122, "y": 43, "flags": 4}, + {"matrix": [2, 5], "x": 102, "y": 43, "flags": 4}, + {"matrix": [2, 4], "x": 82, "y": 43, "flags": 4}, + {"matrix": [2, 3], "x": 61, "y": 43, "flags": 4}, + {"matrix": [2, 2], "x": 41, "y": 43, "flags": 4}, + {"matrix": [2, 1], "x": 20, "y": 43, "flags": 4}, + {"matrix": [2, 0], "x": 0, "y": 43, "flags": 1}, + {"matrix": [1, 0], "x": 0, "y": 21, "flags": 1}, + {"matrix": [1, 1], "x": 20, "y": 21, "flags": 4}, + {"matrix": [1, 2], "x": 41, "y": 21, "flags": 4}, + {"matrix": [1, 3], "x": 61, "y": 21, "flags": 4}, + {"matrix": [1, 4], "x": 82, "y": 21, "flags": 4}, + {"matrix": [1, 5], "x": 102, "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": 163, "y": 21, "flags": 4}, + {"matrix": [1, 9], "x": 183, "y": 21, "flags": 4}, + {"matrix": [1, 10], "x": 204, "y": 21, "flags": 4}, + {"matrix": [1, 11], "x": 224, "y": 21, "flags": 1}, + {"matrix": [0, 11], "x": 224, "y": 0, "flags": 1}, + {"matrix": [0, 10], "x": 204, "y": 0, "flags": 4}, + {"matrix": [0, 9], "x": 183, "y": 0, "flags": 4}, + {"matrix": [0, 8], "x": 163, "y": 0, "flags": 4}, + {"matrix": [0, 7], "x": 142, "y": 0, "flags": 4}, + {"matrix": [0, 6], "x": 122, "y": 0, "flags": 4}, + {"matrix": [0, 5], "x": 102, "y": 0, "flags": 4}, + {"matrix": [0, 4], "x": 82, "y": 0, "flags": 4}, + {"matrix": [0, 3], "x": 61, "y": 0, "flags": 4}, + {"matrix": [0, 2], "x": 41, "y": 0, "flags": 4}, + {"matrix": [0, 1], "x": 20, "y": 0, "flags": 4}, + {"matrix": [0, 0], "x": 0, "y": 0, "flags": 1} + ], + "max_brightness": 180 + }, + "usb": { + "device_version": "3.0.0" + }, + "ws2812": { + "pin": "B13" + } +} diff --git a/keyboards/kprepublic/cstc40/rev3/readme.md b/keyboards/kprepublic/cstc40/rev3/readme.md new file mode 100644 index 0000000000..b372c63579 --- /dev/null +++ b/keyboards/kprepublic/cstc40/rev3/readme.md @@ -0,0 +1,27 @@ +# Rev 3 + +A 40% hotswap ortholinear RGB keyboard from KP Republic. + +* **Revision 3: "FXTwink single pcb"** +* Keyboard Maintainer: [ClownFish](https://github.com/clownfish-og) +* Hardware Supported: CSTC40 rev3 +* STM32F402RCT6 MCU without separate LED driver and using `tinyuf2` bootloader. Integrated USB connection. +* Hardware Availability: kprepublic.com + +Make example for this keyboard (after setting up your build environment): + + make kprepublic/cstc40/rev3:default + +Flashing example for this keyboard: + + make kprepublic/cstc40/rev3: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/kprepublic/cstc40/single_pcb/keyboard.json b/keyboards/kprepublic/cstc40/single_pcb/keyboard.json deleted file mode 100644 index 330ada7bac..0000000000 --- a/keyboards/kprepublic/cstc40/single_pcb/keyboard.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "matrix_pins": { - "cols": ["C7", "C8", "C9", "A8", "A10", "B10", "A15", "C13", "B6", "B5", "B4", "B3"], - "rows": ["C12", "C10", "C11", "B0"] - } -} \ No newline at end of file diff --git a/keyboards/kradoindustries/kousa/keymaps/default/keymap.c b/keyboards/kradoindustries/kousa/keymaps/default/keymap.c index 68cbcea1e2..0262113397 100644 --- a/keyboards/kradoindustries/kousa/keymaps/default/keymap.c +++ b/keyboards/kradoindustries/kousa/keymaps/default/keymap.c @@ -103,7 +103,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { #if defined(ENCODER_MAP_ENABLE) const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { - [0] = { ENCODER_CCW_CW(KC_MS_WH_UP, KC_MS_WH_DOWN) }, + [0] = { ENCODER_CCW_CW(MS_WHLU, MS_WHLD) }, [1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, [2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, [3] = { ENCODER_CCW_CW(KC_VOLU, KC_VOLD) } diff --git a/keyboards/kradoindustries/krado66/keymaps/default/keymap.c b/keyboards/kradoindustries/krado66/keymaps/default/keymap.c index 51306a2111..4048c6743c 100644 --- a/keyboards/kradoindustries/krado66/keymaps/default/keymap.c +++ b/keyboards/kradoindustries/krado66/keymaps/default/keymap.c @@ -148,10 +148,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { #if defined(ENCODER_MAP_ENABLE) const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { - [_QWERTY] = { ENCODER_CCW_CW(KC_MS_WH_UP, KC_MS_WH_DOWN), ENCODER_CCW_CW(KC_MS_WH_UP, KC_MS_WH_DOWN), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, - [_QWERTYX] = { ENCODER_CCW_CW(C(KC_TAB), C(S(KC_TAB))), ENCODER_CCW_CW(KC_MS_WH_UP, KC_MS_WH_DOWN), ENCODER_CCW_CW(UG_SATD, UG_SATU) }, + [_QWERTY] = { ENCODER_CCW_CW(MS_WHLU, MS_WHLD), ENCODER_CCW_CW(MS_WHLU, MS_WHLD), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [_QWERTYX] = { ENCODER_CCW_CW(C(KC_TAB), C(S(KC_TAB))), ENCODER_CCW_CW(MS_WHLU, MS_WHLD), ENCODER_CCW_CW(UG_SATD, UG_SATU) }, [_FUNCTION] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_RIGHT, KC_LEFT), ENCODER_CCW_CW(UG_SPDD, UG_SPDU) }, - [_EXTRA] = { ENCODER_CCW_CW(UG_PREV, UG_NEXT), ENCODER_CCW_CW(KC_MS_WH_UP, KC_MS_WH_DOWN), ENCODER_CCW_CW(KC_RIGHT, KC_LEFT) }, + [_EXTRA] = { ENCODER_CCW_CW(UG_PREV, UG_NEXT), ENCODER_CCW_CW(MS_WHLU, MS_WHLD), ENCODER_CCW_CW(KC_RIGHT, KC_LEFT) }, }; #endif diff --git a/keyboards/kradoindustries/promenade_rp24s/keymaps/default/keymap.c b/keyboards/kradoindustries/promenade_rp24s/keymaps/default/keymap.c index ed36cc85fb..f08f27216a 100644 --- a/keyboards/kradoindustries/promenade_rp24s/keymaps/default/keymap.c +++ b/keyboards/kradoindustries/promenade_rp24s/keymaps/default/keymap.c @@ -93,7 +93,7 @@ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(UG_NEXT, UG_PREV), ENCODER_CCW_CW(KC_LBRC, KC_RBRC), ENCODER_CCW_CW(C(KC_MINS), C(KC_EQL)), ENCODER_CCW_CW(C(KC_Z), C(S(KC_Z))), ENCODER_CCW_CW(KC_PGUP, KC_PGDN), - ENCODER_CCW_CW(KC_WH_U, KC_WH_D), ENCODER_CCW_CW(KC_UP, KC_DOWN)}, + ENCODER_CCW_CW(MS_WHLU, MS_WHLD), ENCODER_CCW_CW(KC_UP, KC_DOWN)}, [1 ... 3] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), diff --git a/keyboards/kraken_jones/pteron56/keymaps/default/keymap.c b/keyboards/kraken_jones/pteron56/keymaps/default/keymap.c index e9e7e0dd90..0f57f316bd 100644 --- a/keyboards/kraken_jones/pteron56/keymaps/default/keymap.c +++ b/keyboards/kraken_jones/pteron56/keymaps/default/keymap.c @@ -21,8 +21,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT( 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_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_HOME, KC_BTN1, KC_MS_U, KC_BTN2, KC_WH_U, KC_PGUP, KC_UP, KC_PGDN, KC_MENU, KC_RBRC, KC_TRNS, - KC_VOLD, KC_END, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_D, KC_LEFT, KC_DOWN, KC_RGHT, KC_LBRC, KC_BSLS, KC_TRNS, + KC_VOLU, KC_HOME, MS_BTN1, MS_UP, MS_BTN2, MS_WHLU, KC_PGUP, KC_UP, KC_PGDN, KC_MENU, KC_RBRC, KC_TRNS, + KC_VOLD, KC_END, MS_LEFT, MS_DOWN, MS_RGHT, MS_WHLD, KC_LEFT, KC_DOWN, KC_RGHT, KC_LBRC, KC_BSLS, KC_TRNS, KC_TRNS, KC_LCTL, KC_LSFT, KC_LALT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ), diff --git a/keyboards/ktec/ergodone/keyboard.json b/keyboards/ktec/ergodone/keyboard.json index 3c9b0208bb..d88d0f2090 100644 --- a/keyboards/ktec/ergodone/keyboard.json +++ b/keyboards/ktec/ergodone/keyboard.json @@ -2,8 +2,7 @@ "keyboard_name": "Ergodone", "manufacturer": "K.T.E.C.", "maintainer": "Yu He", - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "usb": { "vid": "0x1209", "pid": "0x2328", diff --git a/keyboards/ktec/ergodone/keymaps/default/keymap.c b/keyboards/ktec/ergodone/keymaps/default/keymap.c index 41d5da8dee..1ee2041501 100644 --- a/keyboards/ktec/ergodone/keymaps/default/keymap.c +++ b/keyboards/ktec/ergodone/keymaps/default/keymap.c @@ -38,7 +38,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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), + KC_LSFT, CTL_T(KC_Z), KC_X, KC_C, KC_V, KC_B, HYPR_T(KC_NO), LT(SYMB,KC_GRV),KC_QUOT, LALT(KC_LSFT), KC_LEFT,KC_RGHT, ALT_T(KC_APP), KC_LGUI, KC_HOME, @@ -119,10 +119,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // 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_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, MS_UP, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, MS_LEFT, MS_DOWN, MS_RGHT, 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, MS_BTN1, MS_BTN2, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, diff --git a/keyboards/ktec/staryu/keymaps/default/keymap.c b/keyboards/ktec/staryu/keymaps/default/keymap.c index 68c1b85b19..3fa481e86d 100755 --- a/keyboards/ktec/staryu/keymaps/default/keymap.c +++ b/keyboards/ktec/staryu/keymaps/default/keymap.c @@ -52,9 +52,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_LAYER3] = LAYOUT( /* ┌─────────┬─────────┬─────────┐ */ - KC_MS_U, TO(_LAYER4), + MS_UP, TO(_LAYER4), /* ├─────────┼─────────┼─────────┤ */ - KC_MS_L, KC_MS_D, KC_MS_R + MS_LEFT, MS_DOWN, MS_RGHT /* └─────────┴─────────┴─────────┘ */ ), diff --git a/keyboards/kumaokobo/kudox/columner/keyboard.json b/keyboards/kumaokobo/kudox/columner/keyboard.json index 4345866382..ac3125abc7 100644 --- a/keyboards/kumaokobo/kudox/columner/keyboard.json +++ b/keyboards/kumaokobo/kudox/columner/keyboard.json @@ -39,8 +39,7 @@ "ws2812": { "pin": "D3" }, - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "features": { "bootmagic": false, "mousekey": true, diff --git a/keyboards/kumaokobo/kudox/rev1/keyboard.json b/keyboards/kumaokobo/kudox/rev1/keyboard.json index 65c01a798e..f056514c52 100644 --- a/keyboards/kumaokobo/kudox/rev1/keyboard.json +++ b/keyboards/kumaokobo/kudox/rev1/keyboard.json @@ -39,8 +39,7 @@ "ws2812": { "pin": "D3" }, - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "features": { "bootmagic": false, "mousekey": true, diff --git a/keyboards/kumaokobo/kudox/rev2/keyboard.json b/keyboards/kumaokobo/kudox/rev2/keyboard.json index 9df232c641..64940bfcdd 100644 --- a/keyboards/kumaokobo/kudox/rev2/keyboard.json +++ b/keyboards/kumaokobo/kudox/rev2/keyboard.json @@ -39,8 +39,7 @@ "ws2812": { "pin": "D3" }, - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "features": { "bootmagic": false, "mousekey": true, diff --git a/keyboards/kumaokobo/kudox/rev3/keyboard.json b/keyboards/kumaokobo/kudox/rev3/keyboard.json index cfd1511123..8c935a80da 100644 --- a/keyboards/kumaokobo/kudox/rev3/keyboard.json +++ b/keyboards/kumaokobo/kudox/rev3/keyboard.json @@ -39,8 +39,7 @@ "ws2812": { "pin": "D3" }, - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "features": { "bootmagic": false, "mousekey": true, diff --git a/keyboards/kumaokobo/kudox_full/rev1/keyboard.json b/keyboards/kumaokobo/kudox_full/rev1/keyboard.json index b79deec7dc..81a3d5c4dd 100644 --- a/keyboards/kumaokobo/kudox_full/rev1/keyboard.json +++ b/keyboards/kumaokobo/kudox_full/rev1/keyboard.json @@ -39,8 +39,7 @@ "ws2812": { "pin": "D3" }, - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "features": { "bootmagic": true, "mousekey": true, diff --git a/keyboards/kumaokobo/kudox_game/info.json b/keyboards/kumaokobo/kudox_game/info.json index 8750facede..498f2c581d 100644 --- a/keyboards/kumaokobo/kudox_game/info.json +++ b/keyboards/kumaokobo/kudox_game/info.json @@ -6,6 +6,5 @@ "vid": "0xABBA", "pid": "0x9696" }, - "processor": "atmega32u4", - "bootloader": "caterina" + "development_board": "promicro" } diff --git a/keyboards/kumaokobo/pico/65keys/keyboard.json b/keyboards/kumaokobo/pico/65keys/keyboard.json index db2ca9fdca..2e8db34b38 100644 --- a/keyboards/kumaokobo/pico/65keys/keyboard.json +++ b/keyboards/kumaokobo/pico/65keys/keyboard.json @@ -39,8 +39,7 @@ "ws2812": { "pin": "D3" }, - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "features": { "bootmagic": false, "mousekey": true, diff --git a/keyboards/kumaokobo/pico/70keys/keyboard.json b/keyboards/kumaokobo/pico/70keys/keyboard.json index 00add13874..3a8e41ecba 100644 --- a/keyboards/kumaokobo/pico/70keys/keyboard.json +++ b/keyboards/kumaokobo/pico/70keys/keyboard.json @@ -39,8 +39,7 @@ "ws2812": { "pin": "D3" }, - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "features": { "bootmagic": false, "mousekey": true, diff --git a/keyboards/kv/revt/keymaps/default/keymap.c b/keyboards/kv/revt/keymaps/default/keymap.c index 2b4867add5..56921c9821 100644 --- a/keyboards/kv/revt/keymaps/default/keymap.c +++ b/keyboards/kv/revt/keymaps/default/keymap.c @@ -56,8 +56,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_default( _______, 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_MPLY, KC_MNXT, KC_VOLU, -_______, _______, _______, _______, _______, KC_MS_BTN1, KC_MS_U, KC_MS_BTN2, KC_WH_U, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MSTP, KC_MPRV, KC_VOLD, -_______, _______, _______, _______, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_D, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, +_______, _______, _______, _______, _______, MS_BTN1, MS_UP, MS_BTN2, MS_WHLU, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MSTP, KC_MPRV, KC_VOLD, +_______, _______, _______, _______, MS_LEFT, MS_DOWN, MS_RGHT, MS_WHLD, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_CALC, _______, _______, _______, KC_MUTE, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), diff --git a/keyboards/latincompass/latinpad/keyboard.json b/keyboards/latincompass/latinpad/keyboard.json index 2efc370ad3..3b4563b1ca 100644 --- a/keyboards/latincompass/latinpad/keyboard.json +++ b/keyboards/latincompass/latinpad/keyboard.json @@ -65,8 +65,7 @@ "ws2812": { "pin": "D3" }, - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/leftpaw/keyboard.json b/keyboards/leftpaw/keyboard.json new file mode 100644 index 0000000000..34fea17b37 --- /dev/null +++ b/keyboards/leftpaw/keyboard.json @@ -0,0 +1,114 @@ +{ + "manufacturer": "Ryan Chomistek", + "keyboard_name": "leftpaw", + "maintainer": "Ryan Chomistek", + "bootloader": "rp2040", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "matrix_pins": { + "cols": ["GP21", "GP22", "GP26", "GP0", "GP1", "GP2", "GP3", "GP4", "GP5", "GP6", "GP7", "GP8", "GP9", "GP10", "GP11", "GP12", "GP13", "GP14", "GP15"], + "rows": ["GP20", "GP19", "GP18", "GP17", "GP16"] + }, + "processor": "RP2040", + "url": "https://github.com/RyanChomistek/lefty", + "usb": { + "device_version": "1.0.0", + "pid": "0x0000", + "vid": "0xFEED" + }, + "layouts": { + "LAYOUT": { + "layout": [ + {"label": "Num Lock", "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": "esc", "matrix": [0, 4], "x": 4.25, "y": 0}, + {"label": "!", "matrix": [0, 5], "x": 5.25, "y": 0}, + {"label": "@", "matrix": [0, 6], "x": 6.25, "y": 0}, + {"label": "#", "matrix": [0, 7], "x": 7.25, "y": 0}, + {"label": "$", "matrix": [0, 8], "x": 8.25, "y": 0}, + {"label": "%", "matrix": [0, 9], "x": 9.25, "y": 0}, + {"label": "^", "matrix": [0, 10], "x": 10.25, "y": 0}, + {"label": "&", "matrix": [0, 11], "x": 11.25, "y": 0}, + {"label": "*", "matrix": [0, 12], "x": 12.25, "y": 0}, + {"label": "(", "matrix": [0, 13], "x": 13.25, "y": 0}, + {"label": ")", "matrix": [0, 14], "x": 14.25, "y": 0}, + {"label": "_", "matrix": [0, 15], "x": 15.25, "y": 0}, + {"label": "+", "matrix": [0, 16], "x": 16.25, "y": 0}, + {"label": "Backspace", "matrix": [0, 17], "x": 17.25, "y": 0, "w": 2}, + {"label": "Pg Up", "matrix": [0, 18], "x": 19.5, "y": 0}, + {"label": "7", "matrix": [1, 0], "x": 0, "y": 1}, + {"label": "8", "matrix": [1, 1], "x": 1, "y": 1}, + {"label": "9", "matrix": [1, 2], "x": 2, "y": 1}, + {"label": "+", "matrix": [1, 3], "x": 3, "y": 1, "h": 2}, + {"label": "Tab", "matrix": [1, 4], "x": 4.25, "y": 1, "w": 1.5}, + {"label": "Q", "matrix": [1, 5], "x": 5.75, "y": 1}, + {"label": "W", "matrix": [1, 6], "x": 6.75, "y": 1}, + {"label": "E", "matrix": [1, 7], "x": 7.75, "y": 1}, + {"label": "R", "matrix": [1, 8], "x": 8.75, "y": 1}, + {"label": "T", "matrix": [1, 9], "x": 9.75, "y": 1}, + {"label": "Y", "matrix": [1, 10], "x": 10.75, "y": 1}, + {"label": "U", "matrix": [1, 11], "x": 11.75, "y": 1}, + {"label": "I", "matrix": [1, 12], "x": 12.75, "y": 1}, + {"label": "O", "matrix": [1, 13], "x": 13.75, "y": 1}, + {"label": "P", "matrix": [1, 14], "x": 14.75, "y": 1}, + {"label": "{", "matrix": [1, 15], "x": 15.75, "y": 1}, + {"label": "}", "matrix": [1, 16], "x": 16.75, "y": 1}, + {"label": "|", "matrix": [1, 17], "x": 17.75, "y": 1, "w": 1.5}, + {"label": "Pg Dn", "matrix": [1, 18], "x": 19.5, "y": 1}, + {"label": "4", "matrix": [2, 0], "x": 0, "y": 2}, + {"label": "5", "matrix": [2, 1], "x": 1, "y": 2}, + {"label": "6", "matrix": [2, 2], "x": 2, "y": 2}, + {"label": "Caps Lock", "matrix": [2, 4], "x": 4.25, "y": 2, "w": 1.75}, + {"label": "A", "matrix": [2, 5], "x": 6, "y": 2}, + {"label": "S", "matrix": [2, 6], "x": 7, "y": 2}, + {"label": "D", "matrix": [2, 7], "x": 8, "y": 2}, + {"label": "F", "matrix": [2, 8], "x": 9, "y": 2}, + {"label": "G", "matrix": [2, 9], "x": 10, "y": 2}, + {"label": "H", "matrix": [2, 10], "x": 11, "y": 2}, + {"label": "J", "matrix": [2, 11], "x": 12, "y": 2}, + {"label": "K", "matrix": [2, 12], "x": 13, "y": 2}, + {"label": "L", "matrix": [2, 13], "x": 14, "y": 2}, + {"label": ":", "matrix": [2, 14], "x": 15, "y": 2}, + {"label": "\"", "matrix": [2, 15], "x": 16, "y": 2}, + {"label": "Enter", "matrix": [2, 17], "x": 17, "y": 2, "w": 2.25}, + {"label": "Delete", "matrix": [2, 18], "x": 19.5, "y": 2}, + {"label": "1", "matrix": [3, 0], "x": 0, "y": 3}, + {"label": "2", "matrix": [3, 1], "x": 1, "y": 3}, + {"label": "3", "matrix": [3, 2], "x": 2, "y": 3}, + {"label": "Enter", "matrix": [3, 3], "x": 3, "y": 3, "h": 2}, + {"label": "Shift", "matrix": [3, 4], "x": 4.25, "y": 3, "w": 2.25}, + {"label": "Z", "matrix": [3, 5], "x": 6.5, "y": 3}, + {"label": "X", "matrix": [3, 6], "x": 7.5, "y": 3}, + {"label": "C", "matrix": [3, 7], "x": 8.5, "y": 3}, + {"label": "V", "matrix": [3, 8], "x": 9.5, "y": 3}, + {"label": "B", "matrix": [3, 9], "x": 10.5, "y": 3}, + {"label": "N", "matrix": [3, 10], "x": 11.5, "y": 3}, + {"label": "M", "matrix": [3, 11], "x": 12.5, "y": 3}, + {"label": "<", "matrix": [3, 12], "x": 13.5, "y": 3}, + {"label": ">", "matrix": [3, 13], "x": 14.5, "y": 3}, + {"label": "?", "matrix": [3, 14], "x": 15.5, "y": 3}, + {"label": "Shift", "matrix": [3, 16], "x": 16.5, "y": 3, "w": 1.5}, + {"label": "\u2191", "matrix": [3, 17], "x": 18.5, "y": 3.25}, + {"label": "0", "matrix": [4, 0], "x": 0, "y": 4, "w": 2}, + {"label": ".", "matrix": [4, 2], "x": 2, "y": 4}, + {"label": "Ctrl", "matrix": [4, 4], "x": 4.25, "y": 4, "w": 1.25}, + {"label": "Win", "matrix": [4, 5], "x": 5.5, "y": 4, "w": 1.25}, + {"label": "Alt", "matrix": [4, 6], "x": 6.75, "y": 4, "w": 1.25}, + {"matrix": [4, 9], "x": 8, "y": 4, "w": 6.25}, + {"label": "Alt", "matrix": [4, 13], "x": 14.25, "y": 4}, + {"label": "Win", "matrix": [4, 14], "x": 15.25, "y": 4}, + {"label": "Ctrl", "matrix": [4, 15], "x": 16.25, "y": 4}, + {"label": "\u2190", "matrix": [4, 16], "x": 17.5, "y": 4.25}, + {"label": "\u2193", "matrix": [4, 17], "x": 18.5, "y": 4.25}, + {"label": "\u2192", "matrix": [4, 18], "x": 19.5, "y": 4.25} + ] + } + } +} diff --git a/keyboards/leftpaw/keymaps/default/keymap.c b/keyboards/leftpaw/keymaps/default/keymap.c new file mode 100644 index 0000000000..197e87ea94 --- /dev/null +++ b/keyboards/leftpaw/keymaps/default/keymap.c @@ -0,0 +1,38 @@ +/* Copyright 2025 Ryan Chomistek + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the 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( + // 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 + KC_NUM, KC_KP_SLASH, KC_KP_ASTERISK, KC_KP_MINUS, KC_ESCAPE, 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_GRAVE, + KC_KP_7, KC_KP_8, KC_KP_9, KC_KP_PLUS, KC_TAB, KC_Q, KC_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_KP_4, KC_KP_5, KC_KP_6, MO(1), 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_DELETE, + KC_KP_1, KC_KP_2, KC_KP_3, KC_KP_ENTER, 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_KP_0, KC_KP_DOT, KC_LCTL, KC_LWIN, KC_LALT, KC_SPACE, KC_RALT, KC_RWIN, KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT + ), + [1] = LAYOUT( + // 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 + 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_TRNS, KC_PGUP, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLD, KC_KB_MUTE, KC_VOLU, 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, KC_MPRV, KC_MPLY, KC_MNXT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + 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/leftpaw/readme.md b/keyboards/leftpaw/readme.md new file mode 100644 index 0000000000..9a58aafab9 --- /dev/null +++ b/keyboards/leftpaw/readme.md @@ -0,0 +1,25 @@ +# leftpaw + +A 76% keyboard with a numpad on the left hand side + +* Keyboard Maintainer: [Ryan Chomistek](https://github.com/RyanChomistek) +* Hardware Supported: RP2040 +* Hardware Availability: [PCB Files](https://github.com/RyanChomistek/lefty) and [Case Files](https://www.printables.com/model/1310397-leftpaw-keyboard) + +Make example for this keyboard (after setting up your build environment): + + make leftpaw:default + +Flashing example for this keyboard: + + make leftpaw: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/lendunistus/rpneko65/rev1/keyboard.json b/keyboards/lendunistus/rpneko65/rev1/keyboard.json index d0bb593996..20fed0a14b 100644 --- a/keyboards/lendunistus/rpneko65/rev1/keyboard.json +++ b/keyboards/lendunistus/rpneko65/rev1/keyboard.json @@ -22,10 +22,14 @@ "url": "https://github.com/lendunistus/rpneko65", "usb": { "device_version": "1.0.0", - "force_nkro": true, "pid": "0x0001", "vid": "0x6C75" }, + "host": { + "default": { + "nkro": true + } + }, "ws2812": { "driver": "vendor", "pin": "GP18" diff --git a/keyboards/lets_split/info.json b/keyboards/lets_split/info.json index 9152226cab..dc46a7eb66 100644 --- a/keyboards/lets_split/info.json +++ b/keyboards/lets_split/info.json @@ -1,6 +1,5 @@ { "maintainer": "qmk", - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "community_layouts": ["ortho_4x12"] } diff --git a/keyboards/lily58/glow_enc/keyboard.json b/keyboards/lily58/glow_enc/keyboard.json index 9f7a2760aa..63ee5b6a99 100644 --- a/keyboards/lily58/glow_enc/keyboard.json +++ b/keyboards/lily58/glow_enc/keyboard.json @@ -44,8 +44,7 @@ "max_brightness": 120, "split_count": [36, 36] }, - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "build": { "lto": true }, diff --git a/keyboards/lily58/light/keyboard.json b/keyboards/lily58/light/keyboard.json index 0eadf11eb6..738a9418a6 100644 --- a/keyboards/lily58/light/keyboard.json +++ b/keyboards/lily58/light/keyboard.json @@ -45,8 +45,7 @@ "max_brightness": 120, "split_count": [35, 35] }, - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "build": { "lto": true }, diff --git a/keyboards/lily58/rev1/keyboard.json b/keyboards/lily58/rev1/keyboard.json index 3488b0e2b5..f23d4dbaa1 100644 --- a/keyboards/lily58/rev1/keyboard.json +++ b/keyboards/lily58/rev1/keyboard.json @@ -27,8 +27,7 @@ "ws2812": { "pin": "D3" }, - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/lime/rev1/keyboard.json b/keyboards/lime/rev1/keyboard.json index 50fc82ae19..b61a91a0da 100644 --- a/keyboards/lime/rev1/keyboard.json +++ b/keyboards/lime/rev1/keyboard.json @@ -42,8 +42,7 @@ "qmk": { "tap_keycode_delay": 10 }, - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "features": { "bootmagic": false, "mousekey": false, diff --git a/keyboards/linworks/dolice/keyboard.json b/keyboards/linworks/dolice/keyboard.json index bcdfda561f..ade3b37d0a 100644 --- a/keyboards/linworks/dolice/keyboard.json +++ b/keyboards/linworks/dolice/keyboard.json @@ -5,8 +5,12 @@ "usb": { "vid": "0x4C58", "pid": "0x0005", - "device_version": "0.0.1", - "force_nkro": true + "device_version": "0.0.1" + }, + "host": { + "default": { + "nkro": true + } }, "features": { "backlight": true, diff --git a/keyboards/linworks/fave10xs/keyboard.json b/keyboards/linworks/fave10xs/keyboard.json new file mode 100644 index 0000000000..9a52638448 --- /dev/null +++ b/keyboards/linworks/fave10xs/keyboard.json @@ -0,0 +1,273 @@ +{ + "manufacturer": "Lx3", + "keyboard_name": "Fave10xS", + "maintainer": "Freather", + "bootloader": "stm32-dfu", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "matrix_pins": { + "cols": ["B10", "A6", "A7", "B0", "B1", "B2", "A13", "B12", "B13", "B14", "B15", "A8", "A9", "A10", "A15", "B3", "B4", "C13", "C14", "C15", "F0"], + "rows": ["A14", "B5", "B7", "B8", "F1", "A0"] + }, + "indicators": { + "caps_lock": "B11", + "scroll_lock": "B9", + "num_lock": "B6" + }, + "processor": "STM32F072", + "usb": { + "device_version": "1.0.0", + "pid": "0x0100", + "vid": "0x4C58" + }, + "community_layouts": ["fullsize_extended_ansi"], + "layouts": { + "LAYOUT_fullsize_extended_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": [0, 17], "x": 18.5, "y": 0}, + {"matrix": [0, 18], "x": 19.5, "y": 0}, + {"matrix": [0, 19], "x": 20.5, "y": 0}, + {"matrix": [0, 20], "x": 21.5, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1.25}, + {"matrix": [1, 1], "x": 1, "y": 1.25}, + {"matrix": [1, 2], "x": 2, "y": 1.25}, + {"matrix": [1, 3], "x": 3, "y": 1.25}, + {"matrix": [1, 4], "x": 4, "y": 1.25}, + {"matrix": [1, 5], "x": 5, "y": 1.25}, + {"matrix": [1, 6], "x": 6, "y": 1.25}, + {"matrix": [1, 7], "x": 7, "y": 1.25}, + {"matrix": [1, 8], "x": 8, "y": 1.25}, + {"matrix": [1, 9], "x": 9, "y": 1.25}, + {"matrix": [1, 10], "x": 10, "y": 1.25}, + {"matrix": [1, 11], "x": 11, "y": 1.25}, + {"matrix": [1, 12], "x": 12, "y": 1.25}, + {"matrix": [1, 13], "x": 13, "y": 1.25, "w": 2}, + {"matrix": [1, 14], "x": 15.25, "y": 1.25}, + {"matrix": [1, 15], "x": 16.25, "y": 1.25}, + {"matrix": [1, 16], "x": 17.25, "y": 1.25}, + {"matrix": [1, 17], "x": 18.5, "y": 1.25}, + {"matrix": [1, 18], "x": 19.5, "y": 1.25}, + {"matrix": [1, 19], "x": 20.5, "y": 1.25}, + {"matrix": [1, 20], "x": 21.5, "y": 1.25}, + + {"matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5}, + {"matrix": [2, 1], "x": 1.5, "y": 2.25}, + {"matrix": [2, 2], "x": 2.5, "y": 2.25}, + {"matrix": [2, 3], "x": 3.5, "y": 2.25}, + {"matrix": [2, 4], "x": 4.5, "y": 2.25}, + {"matrix": [2, 5], "x": 5.5, "y": 2.25}, + {"matrix": [2, 6], "x": 6.5, "y": 2.25}, + {"matrix": [2, 7], "x": 7.5, "y": 2.25}, + {"matrix": [2, 8], "x": 8.5, "y": 2.25}, + {"matrix": [2, 9], "x": 9.5, "y": 2.25}, + {"matrix": [2, 10], "x": 10.5, "y": 2.25}, + {"matrix": [2, 11], "x": 11.5, "y": 2.25}, + {"matrix": [2, 12], "x": 12.5, "y": 2.25}, + {"matrix": [3, 13], "x": 13.5, "y": 2.25, "w": 1.5}, + {"matrix": [2, 14], "x": 15.25, "y": 2.25}, + {"matrix": [2, 15], "x": 16.25, "y": 2.25}, + {"matrix": [2, 16], "x": 17.25, "y": 2.25}, + {"matrix": [2, 17], "x": 18.5, "y": 2.25}, + {"matrix": [2, 18], "x": 19.5, "y": 2.25}, + {"matrix": [2, 19], "x": 20.5, "y": 2.25}, + {"matrix": [2, 20], "x": 21.5, "y": 2.25, "h": 2}, + + {"matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75}, + {"matrix": [3, 1], "x": 1.75, "y": 3.25}, + {"matrix": [3, 2], "x": 2.75, "y": 3.25}, + {"matrix": [3, 3], "x": 3.75, "y": 3.25}, + {"matrix": [3, 4], "x": 4.75, "y": 3.25}, + {"matrix": [3, 5], "x": 5.75, "y": 3.25}, + {"matrix": [3, 6], "x": 6.75, "y": 3.25}, + {"matrix": [3, 7], "x": 7.75, "y": 3.25}, + {"matrix": [3, 8], "x": 8.75, "y": 3.25}, + {"matrix": [3, 9], "x": 9.75, "y": 3.25}, + {"matrix": [3, 10], "x": 10.75, "y": 3.25}, + {"matrix": [3, 11], "x": 11.75, "y": 3.25}, + {"matrix": [3, 12], "x": 12.75, "y": 3.25, "w": 2.25}, + {"matrix": [3, 17], "x": 18.5, "y": 3.25}, + {"matrix": [3, 18], "x": 19.5, "y": 3.25}, + {"matrix": [3, 19], "x": 20.5, "y": 3.25}, + + {"matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25}, + {"matrix": [4, 2], "x": 2.25, "y": 4.25}, + {"matrix": [4, 3], "x": 3.25, "y": 4.25}, + {"matrix": [4, 4], "x": 4.25, "y": 4.25}, + {"matrix": [4, 5], "x": 5.25, "y": 4.25}, + {"matrix": [4, 6], "x": 6.25, "y": 4.25}, + {"matrix": [4, 7], "x": 7.25, "y": 4.25}, + {"matrix": [4, 8], "x": 8.25, "y": 4.25}, + {"matrix": [4, 9], "x": 9.25, "y": 4.25}, + {"matrix": [4, 10], "x": 10.25, "y": 4.25}, + {"matrix": [4, 11], "x": 11.25, "y": 4.25}, + {"matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 2.75}, + {"matrix": [4, 15], "x": 16.25, "y": 4.25}, + {"matrix": [4, 17], "x": 18.5, "y": 4.25}, + {"matrix": [4, 18], "x": 19.5, "y": 4.25}, + {"matrix": [4, 19], "x": 20.5, "y": 4.25}, + {"matrix": [4, 20], "x": 21.5, "y": 4.25, "h": 2}, + + {"matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.25}, + {"matrix": [5, 1], "x": 1.25, "y": 5.25, "w": 1.25}, + {"matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.25}, + {"matrix": [5, 6], "x": 3.75, "y": 5.25, "w": 6.25}, + {"matrix": [5, 10], "x": 10, "y": 5.25, "w": 1.25}, + {"matrix": [5, 11], "x": 11.25, "y": 5.25, "w": 1.25}, + {"matrix": [5, 12], "x": 12.5, "y": 5.25, "w": 1.25}, + {"matrix": [5, 13], "x": 13.75, "y": 5.25, "w": 1.25}, + {"matrix": [5, 14], "x": 15.25, "y": 5.25}, + {"matrix": [5, 15], "x": 16.25, "y": 5.25}, + {"matrix": [5, 16], "x": 17.25, "y": 5.25}, + {"matrix": [5, 17], "x": 18.5, "y": 5.25, "w": 2}, + {"matrix": [5, 19], "x": 20.5, "y": 5.25} + ] + }, + "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": [0, 17], "x": 18.5, "y": 0}, + {"matrix": [0, 18], "x": 19.5, "y": 0}, + {"matrix": [0, 19], "x": 20.5, "y": 0}, + {"matrix": [0, 20], "x": 21.5, "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": [1, 17], "x": 18.5, "y": 1.25}, + {"matrix": [1, 18], "x": 19.5, "y": 1.25}, + {"matrix": [1, 19], "x": 20.5, "y": 1.25}, + {"matrix": [1, 20], "x": 21.5, "y": 1.25}, + + {"matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5}, + {"matrix": [2, 1], "x": 1.5, "y": 2.25}, + {"matrix": [2, 2], "x": 2.5, "y": 2.25}, + {"matrix": [2, 3], "x": 3.5, "y": 2.25}, + {"matrix": [2, 4], "x": 4.5, "y": 2.25}, + {"matrix": [2, 5], "x": 5.5, "y": 2.25}, + {"matrix": [2, 6], "x": 6.5, "y": 2.25}, + {"matrix": [2, 7], "x": 7.5, "y": 2.25}, + {"matrix": [2, 8], "x": 8.5, "y": 2.25}, + {"matrix": [2, 9], "x": 9.5, "y": 2.25}, + {"matrix": [2, 10], "x": 10.5, "y": 2.25}, + {"matrix": [2, 11], "x": 11.5, "y": 2.25}, + {"matrix": [2, 12], "x": 12.5, "y": 2.25}, + {"matrix": [3, 13], "x": 13.5, "y": 2.25, "w": 1.5}, + {"matrix": [2, 14], "x": 15.25, "y": 2.25}, + {"matrix": [2, 15], "x": 16.25, "y": 2.25}, + {"matrix": [2, 16], "x": 17.25, "y": 2.25}, + {"matrix": [2, 17], "x": 18.5, "y": 2.25}, + {"matrix": [2, 18], "x": 19.5, "y": 2.25}, + {"matrix": [2, 19], "x": 20.5, "y": 2.25}, + {"matrix": [2, 20], "x": 21.5, "y": 2.25}, + + {"matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75}, + {"matrix": [3, 1], "x": 1.75, "y": 3.25}, + {"matrix": [3, 2], "x": 2.75, "y": 3.25}, + {"matrix": [3, 3], "x": 3.75, "y": 3.25}, + {"matrix": [3, 4], "x": 4.75, "y": 3.25}, + {"matrix": [3, 5], "x": 5.75, "y": 3.25}, + {"matrix": [3, 6], "x": 6.75, "y": 3.25}, + {"matrix": [3, 7], "x": 7.75, "y": 3.25}, + {"matrix": [3, 8], "x": 8.75, "y": 3.25}, + {"matrix": [3, 9], "x": 9.75, "y": 3.25}, + {"matrix": [3, 10], "x": 10.75, "y": 3.25}, + {"matrix": [3, 11], "x": 11.75, "y": 3.25}, + {"matrix": [3, 12], "x": 12.75, "y": 3.25, "w": 2.25}, + {"matrix": [3, 17], "x": 18.5, "y": 3.25}, + {"matrix": [3, 18], "x": 19.5, "y": 3.25}, + {"matrix": [3, 19], "x": 20.5, "y": 3.25}, + {"matrix": [3, 20], "x": 21.5, "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, 15], "x": 16.25, "y": 4.25}, + {"matrix": [4, 17], "x": 18.5, "y": 4.25}, + {"matrix": [4, 18], "x": 19.5, "y": 4.25}, + {"matrix": [4, 19], "x": 20.5, "y": 4.25}, + {"matrix": [4, 20], "x": 21.5, "y": 4.25}, + + {"matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.25}, + {"matrix": [5, 1], "x": 1.25, "y": 5.25, "w": 1.25}, + {"matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.25}, + {"matrix": [5, 4], "x": 3.75, "y": 5.25, "w": 2.25}, + {"matrix": [5, 6], "x": 6, "y": 5.25, "w": 1.25}, + {"matrix": [5, 8], "x": 7.25, "y": 5.25, "w": 2.75}, + {"matrix": [5, 10], "x": 10, "y": 5.25, "w": 1.25}, + {"matrix": [5, 11], "x": 11.25, "y": 5.25, "w": 1.25}, + {"matrix": [5, 12], "x": 12.5, "y": 5.25, "w": 1.25}, + {"matrix": [5, 13], "x": 13.75, "y": 5.25, "w": 1.25}, + {"matrix": [5, 14], "x": 15.25, "y": 5.25}, + {"matrix": [5, 15], "x": 16.25, "y": 5.25}, + {"matrix": [5, 16], "x": 17.25, "y": 5.25}, + {"matrix": [5, 17], "x": 18.5, "y": 5.25}, + {"matrix": [5, 18], "x": 19.5, "y": 5.25}, + {"matrix": [5, 19], "x": 20.5, "y": 5.25}, + {"matrix": [5, 20], "x": 21.5, "y": 5.25} + ] + } + } +} diff --git a/keyboards/linworks/fave10xs/keymaps/default/keymap.c b/keyboards/linworks/fave10xs/keymaps/default/keymap.c new file mode 100644 index 0000000000..f55ae86ed0 --- /dev/null +++ b/keyboards/linworks/fave10xs/keymaps/default/keymap.c @@ -0,0 +1,15 @@ +// Copyright 2023 QMK +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_all( + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SCRL, KC_PAUS, KC_MNXT, KC_MPRV, 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_TILD, 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_PENT, + 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_P1, KC_P2, KC_P3, KC_PENT, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_P0, KC_PDOT, KC_PCMM + ) +}; diff --git a/keyboards/linworks/fave10xs/readme.md b/keyboards/linworks/fave10xs/readme.md new file mode 100644 index 0000000000..9a823a9118 --- /dev/null +++ b/keyboards/linworks/fave10xs/readme.md @@ -0,0 +1,27 @@ +# fave10xs + +![fave10xs](https://i.imgur.com/o4pq0mV.png) + +Dolphin max PCB solder version Fave10xs + +* Keyboard Maintainer: [Freather](https://github.com/Freather) +* Hardware Supported: STM32F072 Linworks Fave10xs PCB +* Hardware Availability: small gb ran in Asia + +Make example for this keyboard (after setting up your build environment): + + make linworks/fave10xs:default + +Flashing example for this keyboard: + + make linworks/fave10xs: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 button on the back of the PCB then plug in the PCB with USB cable +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/linworks/fave87/keyboard.json b/keyboards/linworks/fave87/keyboard.json index 6dce6f39fe..132d3b5cbf 100644 --- a/keyboards/linworks/fave87/keyboard.json +++ b/keyboards/linworks/fave87/keyboard.json @@ -5,8 +5,12 @@ "usb": { "vid": "0x4C58", "pid": "0x0002", - "device_version": "0.0.1", - "force_nkro": true + "device_version": "0.0.1" + }, + "host": { + "default": { + "nkro": true + } }, "features": { "backlight": true, diff --git a/keyboards/linworks/whale75/keyboard.json b/keyboards/linworks/whale75/keyboard.json index 4298382471..19a6ce320d 100644 --- a/keyboards/linworks/whale75/keyboard.json +++ b/keyboards/linworks/whale75/keyboard.json @@ -5,8 +5,12 @@ "usb": { "vid": "0x4C58", "pid": "0x0001", - "device_version": "0.0.1", - "force_nkro": true + "device_version": "0.0.1" + }, + "host": { + "default": { + "nkro": true + } }, "rgblight": { "led_count": 18, diff --git a/keyboards/littlealby/mute/keymaps/default/keymap.c b/keyboards/littlealby/mute/keymaps/default/keymap.c index c6cf9836e3..729a6179a2 100644 --- a/keyboards/littlealby/mute/keymaps/default/keymap.c +++ b/keyboards/littlealby/mute/keymaps/default/keymap.c @@ -18,6 +18,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [0] = LAYOUT( - SGUI(KC_A) + LSG(KC_A) ) }; diff --git a/keyboards/littlealby/mute/keymaps/ms_teams/keymap.c b/keyboards/littlealby/mute/keymaps/ms_teams/keymap.c index bb2cf1147c..223ccacaf0 100644 --- a/keyboards/littlealby/mute/keymaps/ms_teams/keymap.c +++ b/keyboards/littlealby/mute/keymaps/ms_teams/keymap.c @@ -18,6 +18,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [0] = LAYOUT( - SGUI(KC_M) + LSG(KC_M) ) }; diff --git a/keyboards/ll3macorn/bongopad/bongopad.c b/keyboards/ll3ma/bongopad/bongopad.c similarity index 99% rename from keyboards/ll3macorn/bongopad/bongopad.c rename to keyboards/ll3ma/bongopad/bongopad.c index f6d03ded6c..910e5a4d70 100644 --- a/keyboards/ll3macorn/bongopad/bongopad.c +++ b/keyboards/ll3ma/bongopad/bongopad.c @@ -1,4 +1,4 @@ -// Copyright 2021 Ll3macorn (@ll3macorn) +// Copyright 2025 Ll3ma (@ll3ma) // SPDX-License-Identifier: GPL-2.0-or-later #include "quantum.h" diff --git a/keyboards/ll3macorn/bongopad/config.h b/keyboards/ll3ma/bongopad/config.h similarity index 74% rename from keyboards/ll3macorn/bongopad/config.h rename to keyboards/ll3ma/bongopad/config.h index 4ee4b5a997..c9f7f102de 100644 --- a/keyboards/ll3macorn/bongopad/config.h +++ b/keyboards/ll3ma/bongopad/config.h @@ -1,4 +1,4 @@ -// Copyright 2021 Ll3macorn (@ll3macorn) +// Copyright 2025 Ll3ma (@ll3ma) // SPDX-License-Identifier: GPL-2.0-or-later #pragma once diff --git a/keyboards/ll3macorn/bongopad/keyboard.json b/keyboards/ll3ma/bongopad/keyboard.json similarity index 94% rename from keyboards/ll3macorn/bongopad/keyboard.json rename to keyboards/ll3ma/bongopad/keyboard.json index a47529ed28..c3abc03fc9 100644 --- a/keyboards/ll3macorn/bongopad/keyboard.json +++ b/keyboards/ll3ma/bongopad/keyboard.json @@ -1,8 +1,8 @@ { "keyboard_name": "BongoPad", - "manufacturer": "Ll3macorn", - "url": "https://github.com/qmk/qmk_firmware/tree/master/keyboards/ll3macorn/bongopad", - "maintainer": "Ll3macorn", + "manufacturer": "Ll3ma", + "url": "https://github.com/qmk/qmk_firmware/tree/master/keyboards/ll3ma/bongopad", + "maintainer": "Ll3ma", "usb": { "vid": "0x3728", "pid": "0x2949", diff --git a/keyboards/ll3macorn/bongopad/keymaps/default/keymap.c b/keyboards/ll3ma/bongopad/keymaps/default/keymap.c similarity index 94% rename from keyboards/ll3macorn/bongopad/keymaps/default/keymap.c rename to keyboards/ll3ma/bongopad/keymaps/default/keymap.c index d91a949dee..1afcc87cfe 100644 --- a/keyboards/ll3macorn/bongopad/keymaps/default/keymap.c +++ b/keyboards/ll3ma/bongopad/keymaps/default/keymap.c @@ -1,4 +1,4 @@ -// Copyright 2021 Ll3macorn (@ll3macorn) +// Copyright 2025 Ll3ma (@ll3ma) // SPDX-License-Identifier: GPL-2.0-or-later #include QMK_KEYBOARD_H diff --git a/keyboards/ll3macorn/bongopad/keymaps/default/rules.mk b/keyboards/ll3ma/bongopad/keymaps/default/rules.mk similarity index 100% rename from keyboards/ll3macorn/bongopad/keymaps/default/rules.mk rename to keyboards/ll3ma/bongopad/keymaps/default/rules.mk diff --git a/keyboards/ll3macorn/bongopad/readme.md b/keyboards/ll3ma/bongopad/readme.md similarity index 79% rename from keyboards/ll3macorn/bongopad/readme.md rename to keyboards/ll3ma/bongopad/readme.md index d2902aae6a..0751ac4fc8 100644 --- a/keyboards/ll3macorn/bongopad/readme.md +++ b/keyboards/ll3ma/bongopad/readme.md @@ -1,10 +1,10 @@ # BongoPad -* Keyboard Maintainer: [Ll3macorn](https://github.com/Ll3macorn) +* Keyboard Maintainer: [Ll3ma](https://github.com/Ll3ma) * Hardware Supported: Pro micro Make example for this keyboard (after setting up your build environment): - make ll3macorn/bongopad:default + make ll3ma/bongopad: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/machkeyboards/mach3/keyboard.json b/keyboards/machkeyboards/mach3/keyboard.json index 126845a37d..383f4a738e 100644 --- a/keyboards/machkeyboards/mach3/keyboard.json +++ b/keyboards/machkeyboards/mach3/keyboard.json @@ -26,8 +26,7 @@ "levels": 5, "breathing": true }, - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "layouts": { "LAYOUT_3x3": { "layout": [ diff --git a/keyboards/macroflow_original/keymaps/default/keymap.c b/keyboards/macroflow_original/keymaps/default/keymap.c index 76ef39bf5a..22ea8c0ce9 100644 --- a/keyboards/macroflow_original/keymaps/default/keymap.c +++ b/keyboards/macroflow_original/keymaps/default/keymap.c @@ -89,7 +89,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { #if defined(ENCODER_MAP_ENABLE) const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { - [0] = { ENCODER_CCW_CW(KC_MS_WH_UP, KC_MS_WH_DOWN) }, + [0] = { ENCODER_CCW_CW(MS_WHLU, MS_WHLD) }, [1] = { ENCODER_CCW_CW(_______, _______) }, [2] = { ENCODER_CCW_CW(_______, _______) }, [3] = { ENCODER_CCW_CW(_______, _______) }, diff --git a/keyboards/magic_force/mf17/keyboard.json b/keyboards/magic_force/mf17/keyboard.json index 10469f63c6..c0f0e6bd57 100644 --- a/keyboards/magic_force/mf17/keyboard.json +++ b/keyboards/magic_force/mf17/keyboard.json @@ -12,10 +12,14 @@ }, "usb": { "device_version": "1.0.0", - "force_nkro": true, "vid": "0x3A54", "pid": "0x4F5D" }, + "host": { + "default": { + "nkro": true + } + }, "features": { "bootmagic": true, "extrakey": true, diff --git a/keyboards/magic_force/mf34/keyboard.json b/keyboards/magic_force/mf34/keyboard.json index 44d1a4ec92..9acae04b27 100644 --- a/keyboards/magic_force/mf34/keyboard.json +++ b/keyboards/magic_force/mf34/keyboard.json @@ -5,8 +5,12 @@ "usb": { "vid": "0x1A53", "pid": "0x4F51", - "device_version": "1.0.2", - "force_nkro": true + "device_version": "1.0.2" + }, + "host": { + "default": { + "nkro": true + } }, "indicators": { "num_lock": "B15" diff --git a/keyboards/makeymakey/keymaps/default/keymap.c b/keyboards/makeymakey/keymaps/default/keymap.c index 1c3e6399fb..0216e2cd14 100644 --- a/keyboards/makeymakey/keymaps/default/keymap.c +++ b/keyboards/makeymakey/keymaps/default/keymap.c @@ -33,9 +33,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [0] = LAYOUT( - KC_UP, KC_DOWN, KC_LEFT, KC_RGHT, KC_SPC, KC_BTN1, + KC_UP, KC_DOWN, KC_LEFT, KC_RGHT, KC_SPC, MS_BTN1, KC_W, KC_A, KC_S, KC_D, KC_F, KC_G, - KC_MS_U, KC_MS_D, KC_MS_L, KC_MS_R, KC_BTN1, KC_BTN2 + MS_UP, MS_DOWN, MS_LEFT, MS_RGHT, MS_BTN1, MS_BTN2 ) }; diff --git a/keyboards/makrosu/keyboard.json b/keyboards/makrosu/keyboard.json index e79a03f475..1e83c20aa7 100644 --- a/keyboards/makrosu/keyboard.json +++ b/keyboards/makrosu/keyboard.json @@ -34,8 +34,7 @@ "bootmagic": { "matrix": [0, 5] }, - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/manta60/config.h b/keyboards/manta60/config.h index 3f0a8cf4e1..01a48cb684 100644 --- a/keyboards/manta60/config.h +++ b/keyboards/manta60/config.h @@ -17,8 +17,6 @@ along with this program. If not, see . #pragma once -#define SELECT_SOFT_SERIAL_SPEED 1 - # ifndef IOS_DEVICE_ENABLE # define RGBLIGHT_VAL_STEP 16 # define RGBLIGHT_LIMIT_VAL 128 /* The maximum brightness level */ diff --git a/keyboards/manta60/keyboard.json b/keyboards/manta60/keyboard.json index 007f015379..84af2a2752 100644 --- a/keyboards/manta60/keyboard.json +++ b/keyboards/manta60/keyboard.json @@ -53,8 +53,7 @@ "ws2812": { "pin": "D3" }, - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/maple_computing/6ball/keyboard.json b/keyboards/maple_computing/6ball/keyboard.json index 335294e51e..f68f2ec8ba 100644 --- a/keyboards/maple_computing/6ball/keyboard.json +++ b/keyboards/maple_computing/6ball/keyboard.json @@ -38,8 +38,7 @@ "rows": ["F5"] }, "diode_direction": "COL2ROW", - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/maple_computing/christmas_tree/v2017/keyboard.json b/keyboards/maple_computing/christmas_tree/v2017/keyboard.json index d2ebc781d6..6682c574c9 100644 --- a/keyboards/maple_computing/christmas_tree/v2017/keyboard.json +++ b/keyboards/maple_computing/christmas_tree/v2017/keyboard.json @@ -8,8 +8,7 @@ "pid": "0x3070", "device_version": "20.1.7" }, - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "features": { "backlight": true, "bootmagic": false, diff --git a/keyboards/maple_computing/launchpad/keymaps/default_rgb/config.h b/keyboards/maple_computing/launchpad/keymaps/default_rgb/config.h deleted file mode 100644 index c50e010375..0000000000 --- a/keyboards/maple_computing/launchpad/keymaps/default_rgb/config.h +++ /dev/null @@ -1,18 +0,0 @@ -#pragma once - -/* Underlight Configuration */ -#define WS2812_DI_PIN F4 -#define RGBLIGHT_EFFECT_BREATHING -#define RGBLIGHT_EFFECT_RAINBOW_MOOD -#define RGBLIGHT_EFFECT_RAINBOW_SWIRL -#define RGBLIGHT_EFFECT_SNAKE -#define RGBLIGHT_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_COUNT 2 // Number of LEDs -#define RGBLIGHT_HUE_STEP 10 -#define RGBLIGHT_SAT_STEP 17 -#define RGBLIGHT_VAL_STEP 17 diff --git a/keyboards/maple_computing/launchpad/keymaps/default_rgb/keymap.c b/keyboards/maple_computing/launchpad/keymaps/default_rgb/keymap.c deleted file mode 100644 index 0b2335af98..0000000000 --- a/keyboards/maple_computing/launchpad/keymaps/default_rgb/keymap.c +++ /dev/null @@ -1,76 +0,0 @@ -// Below layout is based upon /u/That-Canadian's planck layout -#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. -enum layer_names { - _QWERTY, - _RGB, - _FUNC -}; - -// 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 - * ,-------------. - * | 1 | 2 | - * |------+------| - * | 3 | 4 | - * |------+------| - * | 5 | 6 | - * |------+------| - * | FUNC | RGB | - * `-------------' - */ - [_QWERTY] = LAYOUT( - KC_1, KC_2, - KC_3, KC_4, - KC_5, KC_6, - MO(_FUNC), TG(_RGB) - ), - - /* RGB - * ,-------------. - * | Mode-| Mode+| - * |------+------| - * | HUE- | HUE+ | - * |------+------| - * | SAT- | SAT+ | - * |------+------| - * |RGBTOG| | - * `-------------' - */ - [_RGB] = LAYOUT( - UG_PREV, UG_NEXT, - UG_HUED, UG_HUEU, - UG_SATD, UG_SATU, - UG_TOGG, KC_TRNS - ), - - /* Function - * ,-------------. - * | Q |CALDEL| - * |------+------| - * | A |TSKMGR| - * |------+------| - * | Z | X | - * |------+------| - * | | C | - * `-------------' - */ - [_FUNC] = LAYOUT( - KC_Q, CALTDEL, - KC_A, TSKMGR, - KC_Z, KC_X, - _______, KC_C - ) - -}; diff --git a/keyboards/maple_computing/launchpad/keymaps/default_rgb/readme.md b/keyboards/maple_computing/launchpad/keymaps/default_rgb/readme.md deleted file mode 100644 index 3f15ff9bc3..0000000000 --- a/keyboards/maple_computing/launchpad/keymaps/default_rgb/readme.md +++ /dev/null @@ -1,41 +0,0 @@ -# Launch Pad - -![Launch Pad](https://i.imgur.com/WVTe0Ku.png) - --=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- - -A budget-minded, 4-8 key macro-pad with built in legs, plate & case. - -Supports MX & Alps switches. 2x 1u or 1x 2u supported for each row. - -Supports 2u PCB-Mount stabilizers. - -Runs off of 1x Pro Micro & 8x diodes (1n4148). - -Optional "Reset" switch can be used on the PCB. - -A fantastic project for beginners to learn to solder, veteran's of the hobby who want to add an easy macro-pad to their collection, and everyone in between. - --=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- - -Make example for this keyboard (after setting up your build environment): - - make launchpad/rev1: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. - -# Under Glow - -![Underglow](https://i.imgur.com/3zFIOmu.jpg) - -SpaceCat now provides an underglow add-on kit. Please refer to the picture above for wiring. - -Make example for this keyboard (after setting up your build environment): - - make launchpad/rev1:default_rgb - --=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- - -Due to PCB tolerance issues outside of our control, the snap-apart legs included on the PCB may need extra padding to prevent a small amount of wobbling once placed properly. We have included small, clear, and semi-permanent "glue dots" in each order (PCB Only -and- Full Kit) to help with this. You may also use plastic wrap, tape, Elmer's glue, hot glue, rubber cement, etc. We advise against using anything more "permanent" in case you wish to make changes to your Launch Pad in the future. It is also best to attach legs after all of your soldering and building is finished, to get the most accurate feel for your Launch Pad. - --=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- diff --git a/keyboards/maple_computing/launchpad/keymaps/default_rgb/rules.mk b/keyboards/maple_computing/launchpad/keymaps/default_rgb/rules.mk deleted file mode 100644 index 1e3cebb145..0000000000 --- a/keyboards/maple_computing/launchpad/keymaps/default_rgb/rules.mk +++ /dev/null @@ -1 +0,0 @@ -RGBLIGHT_ENABLE = yes diff --git a/keyboards/maple_computing/launchpad/rev1/keyboard.json b/keyboards/maple_computing/launchpad/rev1/keyboard.json index 272a2eef6d..9f7a23c7c8 100644 --- a/keyboards/maple_computing/launchpad/rev1/keyboard.json +++ b/keyboards/maple_computing/launchpad/rev1/keyboard.json @@ -30,8 +30,7 @@ "rows": ["C6", "B1", "B3", "D7"] }, "diode_direction": "COL2ROW", - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "features": { "bootmagic": false, "mousekey": false, diff --git a/keyboards/maple_computing/minidox/keymaps/bepo/keymap.c b/keyboards/maple_computing/minidox/keymaps/bepo/keymap.c index 699822ffc0..587cd02c35 100644 --- a/keyboards/maple_computing/minidox/keymaps/bepo/keymap.c +++ b/keyboards/maple_computing/minidox/keymaps/bepo/keymap.c @@ -52,8 +52,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `------' `------' */ [_LOWER] = LAYOUT( - ALGR(BP_B), BP_EACU, ALGR(BP_P), ALGR(BP_O), BP_EGRV, KC_PGUP, KC_HOME, KC_UP, KC_END, KC_MS_WH_UP, - ALGR(BP_A), ALGR(BP_U), ALGR(BP_I), ALGR(BP_E), BP_DLR, KC_PGDN, KC_LEFT, KC_DOWN, KC_RIGHT, KC_MS_WH_DOWN, + ALGR(BP_B), BP_EACU, ALGR(BP_P), ALGR(BP_O), BP_EGRV, KC_PGUP, KC_HOME, KC_UP, KC_END, MS_WHLU, + ALGR(BP_A), ALGR(BP_U), ALGR(BP_I), ALGR(BP_E), BP_DLR, KC_PGDN, KC_LEFT, KC_DOWN, KC_RIGHT, MS_WHLD, BP_AGRV, KC_LALT, KC_LCTL, KC_LSFT, BP_CCED, _______, KC_LSFT, KC_LCTL, KC_LALT, _______, _______, _______, _______, _______, _______, _______ ), diff --git a/keyboards/maple_computing/minidox/rev1/keyboard.json b/keyboards/maple_computing/minidox/rev1/keyboard.json index 340a8bd39e..a11c2d94e6 100644 --- a/keyboards/maple_computing/minidox/rev1/keyboard.json +++ b/keyboards/maple_computing/minidox/rev1/keyboard.json @@ -18,8 +18,7 @@ "pin": "D0" } }, - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "features": { "bootmagic": false, "mousekey": true, diff --git a/keyboards/marcopad/keymaps/backlit/keymap.c b/keyboards/marcopad/keymaps/backlit/keymap.c index d70df8e6f7..8166cf67b6 100644 --- a/keyboards/marcopad/keymaps/backlit/keymap.c +++ b/keyboards/marcopad/keymaps/backlit/keymap.c @@ -31,14 +31,14 @@ const uint16_t PROGMEM value_down[] = {KC_P7, KC_P3, COMBO_END}; const uint16_t PROGMEM speed_up[] = {KC_P8, KC_P4, COMBO_END}; const uint16_t PROGMEM speed_down[] = {KC_P8, KC_P1, COMBO_END}; combo_t key_combos[] = { - COMBO(backlight_next, RGB_MODE_FORWARD), - COMBO(backlight_toggle, RGB_TOG), - COMBO(hue_up, RGB_HUI), - COMBO(hue_down, RGB_HUD), - COMBO(sat_up, RGB_SAI), - COMBO(sat_down, RGB_SAD), - COMBO(value_up, RGB_VAI), - COMBO(value_down, RGB_VAD), - COMBO(speed_up, RGB_SPI), - COMBO(speed_down, RGB_SPD) + COMBO(backlight_next, RM_NEXT), + COMBO(backlight_toggle, RM_TOGG), + COMBO(hue_up, RM_HUEU), + COMBO(hue_down, RM_HUED), + COMBO(sat_up, RM_SATU), + COMBO(sat_down, RM_SATD), + COMBO(value_up, RM_VALU), + COMBO(value_down, RM_VALD), + COMBO(speed_up, RM_SPDU), + COMBO(speed_down, RM_SPDD) }; diff --git a/keyboards/marksard/leftover30/keyboard.json b/keyboards/marksard/leftover30/keyboard.json index 1b1131d6fc..9983935f66 100644 --- a/keyboards/marksard/leftover30/keyboard.json +++ b/keyboards/marksard/leftover30/keyboard.json @@ -56,8 +56,7 @@ "ws2812": { "pin": "D3" }, - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "layouts": { "LAYOUT_all": { "layout": [ diff --git a/keyboards/marksard/leftover30/keymaps/default/keymap.c b/keyboards/marksard/leftover30/keymaps/default/keymap.c index dcad144ebb..08ee136e81 100644 --- a/keyboards/marksard/leftover30/keymaps/default/keymap.c +++ b/keyboards/marksard/leftover30/keymaps/default/keymap.c @@ -90,9 +90,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //,-----------------------------------------------------------------------------------------------------------. QK_BOOT, RGBRST, AG_NORM, AG_SWAP, XXXXXXX, KC_HOME, KC_PGDN, KC_PGUP, KC_END, KC_INS, KC_PSCR, //|--------+--------+--------+--------+--------+--------|--------+--------+--------+--------+--------+--------| - UG_TOGG, UG_HUEU, UG_SATU, UG_VALU, XXXXXXX, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, KC_NUM, + UG_TOGG, UG_HUEU, UG_SATU, UG_VALU, XXXXXXX, MS_LEFT, MS_DOWN, MS_UP, MS_RGHT, KC_NUM, //|--------+--------+--------+--------+--------+--------|--------+--------+--------+--------+--------+--------| - UG_NEXT, UG_HUED, UG_SATD, UG_VALD, XXXXXXX, KC_BTN1, KC_BTN2, XXXXXXX, XXXXXXX, KC_CAPS, + UG_NEXT, UG_HUED, UG_SATD, UG_VALD, XXXXXXX, MS_BTN1, MS_BTN2, XXXXXXX, XXXXXXX, KC_CAPS, //|--------+--------+--------+--------+--------+--------|--------+--------+--------+--------+--------+--------| _______, _______, _______, _______, KC_CAPS //`-----------------------------------------------------------------------------------------------------------' @@ -148,7 +148,7 @@ bool encoder_update_user(uint8_t index, bool clockwise) { } else if (IS_LAYER_ON(_RAISE)) { tap_code16((clockwise == true) ? S(KC_DOWN) : S(KC_UP)); } else { - tap_code((clockwise == true) ? KC_WH_D : KC_WH_U); + tap_code((clockwise == true) ? MS_WHLD : MS_WHLU); } } return true; diff --git a/keyboards/marksard/leftover30/keymaps/default_isoenter/keymap.c b/keyboards/marksard/leftover30/keymaps/default_isoenter/keymap.c index e340ba5e3e..2c15b3664f 100644 --- a/keyboards/marksard/leftover30/keymaps/default_isoenter/keymap.c +++ b/keyboards/marksard/leftover30/keymaps/default_isoenter/keymap.c @@ -90,9 +90,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //,-----------------------------------------------------------------------------------------------------------. QK_BOOT, RGBRST, AG_NORM, AG_SWAP, XXXXXXX, KC_HOME, KC_PGDN, KC_PGUP, KC_END, KC_INS, KC_PSCR, //|--------+--------+--------+--------+--------+--------|--------+--------+--------+--------+--------+--------| - UG_TOGG, UG_HUEU, UG_SATU, UG_VALU, XXXXXXX, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, KC_NUM, + UG_TOGG, UG_HUEU, UG_SATU, UG_VALU, XXXXXXX, MS_LEFT, MS_DOWN, MS_UP, MS_RGHT, KC_NUM, //|--------+--------+--------+--------+--------+--------|--------+--------+--------+--------+--------+--------| - UG_NEXT, UG_HUED, UG_SATD, UG_VALD, XXXXXXX, KC_BTN1, KC_BTN2, XXXXXXX, XXXXXXX, + UG_NEXT, UG_HUED, UG_SATD, UG_VALD, XXXXXXX, MS_BTN1, MS_BTN2, XXXXXXX, XXXXXXX, //|--------+--------+--------+--------+--------+--------|--------+--------+--------+--------+--------+--------| _______, _______, _______, _______, KC_CAPS //`-----------------------------------------------------------------------------------------------------------' @@ -148,7 +148,7 @@ bool encoder_update_user(uint8_t index, bool clockwise) { } else if (IS_LAYER_ON(_RAISE)) { tap_code16((clockwise == true) ? S(KC_DOWN) : S(KC_UP)); } else { - tap_code((clockwise == true) ? KC_WH_D : KC_WH_U); + tap_code((clockwise == true) ? MS_WHLD : MS_WHLU); } } return true; diff --git a/keyboards/marksard/rhymestone/keymaps/default/keymap.c b/keyboards/marksard/rhymestone/keymaps/default/keymap.c index f566ab99eb..fb78a5049d 100644 --- a/keyboards/marksard/rhymestone/keymaps/default/keymap.c +++ b/keyboards/marksard/rhymestone/keymaps/default/keymap.c @@ -80,9 +80,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //,---------------------------------------------------------------------------------------------------. QK_BOOT, RGBRST, AG_NORM, AG_SWAP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_INS, KC_PSCR, //|---------+---------+---------+---------+---------+---------+---------+---------+---------+---------| - UG_TOGG, UG_HUEU, UG_SATU, UG_VALU, XXXXXXX, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, KC_NUM, + UG_TOGG, UG_HUEU, UG_SATU, UG_VALU, XXXXXXX, MS_LEFT, MS_DOWN, MS_UP, MS_RGHT, KC_NUM, //|---------+---------+---------+---------+---------+---------+---------+---------+---------+---------| - UG_NEXT, UG_HUED, UG_SATD, UG_VALD, XXXXXXX, KC_BTN1, KC_BTN2, XXXXXXX, XXXXXXX, XXXXXXX, + UG_NEXT, UG_HUED, UG_SATD, UG_VALD, XXXXXXX, MS_BTN1, MS_BTN2, XXXXXXX, XXXXXXX, XXXXXXX, //`---------+---------+---------+---------+---------+---------+---------+---------+---------+---------' _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ //,---------------------------------------------------------------------------------------------------. diff --git a/keyboards/marksard/rhymestone/rev1/keyboard.json b/keyboards/marksard/rhymestone/rev1/keyboard.json index 3fe23d6d94..aaff1515e0 100644 --- a/keyboards/marksard/rhymestone/rev1/keyboard.json +++ b/keyboards/marksard/rhymestone/rev1/keyboard.json @@ -44,8 +44,7 @@ "static_gradient": true } }, - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "features": { "bootmagic": false, "mousekey": false, diff --git a/keyboards/marksard/treadstone32/keymaps/default/keymap.c b/keyboards/marksard/treadstone32/keymaps/default/keymap.c index 1373e819f8..93f2eaa91d 100644 --- a/keyboards/marksard/treadstone32/keymaps/default/keymap.c +++ b/keyboards/marksard/treadstone32/keymaps/default/keymap.c @@ -101,9 +101,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //,---------------------------------------------------------------------------------------------------. QK_BOOT, RGBRST, AG_NORM, AG_SWAP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_INS, KC_PSCR, //|---------+---------+---------+---------+---------+---------+---------+---------+---------+---------| - UG_TOGG, UG_HUEU, UG_SATU, UG_VALU, XXXXXXX, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, KC_NUM, + UG_TOGG, UG_HUEU, UG_SATU, UG_VALU, XXXXXXX, MS_LEFT, MS_DOWN, MS_UP, MS_RGHT, KC_NUM, //|---------+---------+---------+---------+---------+---------+---------+---------+---------+---------| - UG_NEXT, UG_HUED, UG_SATD, UG_VALD, XXXXXXX, KC_BTN1, KC_BTN2, XXXXXXX, XXXXXXX, XXXXXXX, + UG_NEXT, UG_HUED, UG_SATD, UG_VALD, XXXXXXX, MS_BTN1, MS_BTN2, XXXXXXX, XXXXXXX, XXXXXXX, //`---------+---------+---------+---------+---------+---------+---------+---------+---------+---------' _______, _______ // `---------|---------' diff --git a/keyboards/marksard/treadstone48/keymaps/default/keymap.c b/keyboards/marksard/treadstone48/keymaps/default/keymap.c index 276c8446cb..625894203e 100644 --- a/keyboards/marksard/treadstone48/keymaps/default/keymap.c +++ b/keyboards/marksard/treadstone48/keymaps/default/keymap.c @@ -84,13 +84,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_ADJUST] = LAYOUT_base( //,--------------------------------------------------------------------------------------------------------------------. - XXXXXXX, QK_BOOT, RGBRST, AG_NORM, AG_SWAP, XXXXXXX, XXXXXXX, KC_WH_L, KC_WH_U, KC_HOME, KC_PGUP, XXXXXXX, + XXXXXXX, QK_BOOT, RGBRST, AG_NORM, AG_SWAP, XXXXXXX, XXXXXXX, MS_WHLL, MS_WHLU, KC_HOME, KC_PGUP, XXXXXXX, //|--------+--------+--------+--------+--------+--------|--------+--------+--------+--------+--------+-----------------| - XXXXXXX, UG_TOGG, UG_HUEU, UG_SATU, UG_VALU, XXXXXXX, XXXXXXX, KC_WH_R, KC_WH_D, KC_END, KC_PGDN, XXXXXXX, + XXXXXXX, UG_TOGG, UG_HUEU, UG_SATU, UG_VALU, XXXXXXX, XXXXXXX, MS_WHLR, MS_WHLD, KC_END, KC_PGDN, XXXXXXX, //|--------+--------+--------+--------+--------+--------|--------+--------+--------+--------+--------+--------+--------| - _______, UG_NEXT, UG_HUED, UG_SATD, UG_VALD, XXXXXXX, XXXXXXX, XXXXXXX, KC_BTN1, KC_BTN2, XXXXXXX, KC_MS_U, + _______, UG_NEXT, UG_HUED, UG_SATD, UG_VALD, XXXXXXX, XXXXXXX, XXXXXXX, MS_BTN1, MS_BTN2, XXXXXXX, MS_UP, //|--------+--------+--------+--------+--------+--------|--------+--------+--------+--------+--------+--------+--------| - _______, _______, _______, _______, XXXXXXX, XXXXXXX, _______, XXXXXXX, KC_MS_L, KC_MS_D, KC_MS_R, + _______, _______, _______, _______, XXXXXXX, XXXXXXX, _______, XXXXXXX, MS_LEFT, MS_DOWN, MS_RGHT, //`-------------------------------------------------------------------------------------------------------------------' _______ // ExtraKey: This key is an extra key. REV1 is a split back space. REV2 is to the right of the arrow-up key. diff --git a/keyboards/marksard/treadstone48/rev1/keymaps/like_jis_rs/keymap.c b/keyboards/marksard/treadstone48/rev1/keymaps/like_jis_rs/keymap.c index f7e5a068b5..469cb94ee9 100644 --- a/keyboards/marksard/treadstone48/rev1/keymaps/like_jis_rs/keymap.c +++ b/keyboards/marksard/treadstone48/rev1/keymaps/like_jis_rs/keymap.c @@ -132,13 +132,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_ADJUST] = LAYOUT_rs( // Treadstone48 Rhymestone //,--------------------------------------------------------------------------------------------------------------------. --------------------------------------------. - XXXXXXX, QK_BOOT, RGBRST, AG_NORM, AG_SWAP, XXXXXXX, XXXXXXX, KC_WH_L, KC_WH_U, KC_HOME, KC_PGUP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, QK_BOOT, RGBRST, AG_NORM, AG_SWAP, XXXXXXX, XXXXXXX, MS_WHLL, MS_WHLU, KC_HOME, KC_PGUP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, //|--------+--------+--------+--------+--------+--------|--------+--------+--------+--------+--------+-----------------| --------+--------+--------+--------+--------| - XXXXXXX, UG_TOGG, UG_HUEU, UG_SATU, UG_VALU, XXXXXXX, XXXXXXX, KC_WH_R, KC_WH_D, KC_END, KC_PGDN, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, UG_TOGG, UG_HUEU, UG_SATU, UG_VALU, XXXXXXX, XXXXXXX, MS_WHLR, MS_WHLD, KC_END, KC_PGDN, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, //|--------+--------+--------+--------+--------+--------|--------+--------+--------+--------+--------+--------+--------| --------+--------+--------+--------+--------| - _______, UG_NEXT, UG_HUED, UG_SATD, UG_VALD, XXXXXXX, XXXXXXX, XXXXXXX, KC_BTN1, KC_BTN2, XXXXXXX, KC_MS_U, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + _______, UG_NEXT, UG_HUED, UG_SATD, UG_VALD, XXXXXXX, XXXXXXX, XXXXXXX, MS_BTN1, MS_BTN2, XXXXXXX, MS_UP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, //|--------+--------+--------+--------+--------+--------|--------+--------+--------+--------+--------+--------+--------| --------+--------+--------+--------+--------| - _______, _______, _______, _______, XXXXXXX, XXXXXXX, _______, XXXXXXX, KC_MS_L, KC_MS_D, KC_MS_R, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + _______, _______, _______, _______, XXXXXXX, XXXXXXX, _______, XXXXXXX, MS_LEFT, MS_DOWN, MS_RGHT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, //`--------------------------------------------------------------------------------------------------------------------' --------------------------------------------' _______ // ExtraKey: This key is an extra key. REV1 is a split back space. REV2 is to the right of the arrow-up key. diff --git a/keyboards/maxipad/promicro/keyboard.json b/keyboards/maxipad/promicro/keyboard.json index 1499162155..d48a1c9d11 100644 --- a/keyboards/maxipad/promicro/keyboard.json +++ b/keyboards/maxipad/promicro/keyboard.json @@ -4,6 +4,5 @@ "rows": ["B6", "B2", "B3", "B1", "F7"] }, "diode_direction": "COL2ROW", - "processor": "atmega32u4", - "bootloader": "caterina" + "development_board": "promicro" } diff --git a/keyboards/maxr1998/phoebe/keymaps/default/keymap.c b/keyboards/maxr1998/phoebe/keymaps/default/keymap.c index de5fe3a67c..3346f02ecd 100644 --- a/keyboards/maxr1998/phoebe/keymaps/default/keymap.c +++ b/keyboards/maxr1998/phoebe/keymaps/default/keymap.c @@ -50,7 +50,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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_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, SC_RSPC, - KC_LCTL, KC_LGUI, KC_LALT, KC_BTN1, KC_SC, KC_SPC, KC_ALGR, KC_FN, KC_LEFT, KC_DOWN, KC_RGHT + KC_LCTL, KC_LGUI, KC_LALT, MS_BTN1, KC_SC, KC_SPC, KC_ALGR, KC_FN, KC_LEFT, KC_DOWN, KC_RGHT ), /* Special characters @@ -92,7 +92,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, DE_UDIA, KC_F9, DE_ODIA, KC_PSCR, KC_DEL, QK_LOCK, DE_ADIA, DE_SS, _______, _______, G_1, _______, RGB_M_P, RGB_M_SW,RGB_M_SN,_______, _______, _______, _______, _______, _______, _______, _______, _______, UG_HUED, UG_TOGG, UG_HUEU, KC_PGUP, _______, - XXXXXXX, _______, XXXXXXX, KC_BTN2, XXXXXXX, _______, XXXXXXX, XXXXXXX, KC_HOME, KC_PGDN, KC_END + XXXXXXX, _______, XXXXXXX, MS_BTN2, XXXXXXX, _______, XXXXXXX, XXXXXXX, KC_HOME, KC_PGDN, KC_END ), /* Gaming diff --git a/keyboards/mechanickeys/undead60m/undead60m.c b/keyboards/mechanickeys/undead60m/undead60m.c index 995b56e544..8aad8342d3 100644 --- a/keyboards/mechanickeys/undead60m/undead60m.c +++ b/keyboards/mechanickeys/undead60m/undead60m.c @@ -28,9 +28,9 @@ bool encoder_update_kb(uint8_t index, bool clockwise) { break; case 1: /* Layer 2: Scroll */ if (clockwise) { - tap_code(KC_WH_U); + tap_code(MS_WHLU); } else { - tap_code(KC_WH_D); + tap_code(MS_WHLD); } break; case 2: /* Layer 3: Change Track */ diff --git a/keyboards/mechllama/g35/info.json b/keyboards/mechllama/g35/info.json index fab11db131..8c6489409e 100644 --- a/keyboards/mechllama/g35/info.json +++ b/keyboards/mechllama/g35/info.json @@ -13,8 +13,12 @@ }, "usb": { "vid": "0xCEEB", - "pid": "0x0035", - "force_nkro": true + "pid": "0x0035" + }, + "host": { + "default": { + "nkro": true + } }, "ws2812": { "pin": "F7" diff --git a/keyboards/mechstudio/chapter1/keymaps/default/keymap.c b/keyboards/mechstudio/chapter1/keymaps/default/keymap.c index 38508b2b03..79fb45f3db 100644 --- a/keyboards/mechstudio/chapter1/keymaps/default/keymap.c +++ b/keyboards/mechstudio/chapter1/keymaps/default/keymap.c @@ -27,6 +27,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { #if defined(ENCODER_MAP_ENABLE) const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { - [0] = {ENCODER_CCW_CW(KC_MS_WH_UP, KC_MS_WH_DOWN)} + [0] = {ENCODER_CCW_CW(MS_WHLU, MS_WHLD)} }; #endif diff --git a/keyboards/mechwild/bbs/keyboard.json b/keyboards/mechwild/bbs/keyboard.json index 8985c4526a..c8a57c8bc5 100644 --- a/keyboards/mechwild/bbs/keyboard.json +++ b/keyboards/mechwild/bbs/keyboard.json @@ -44,13 +44,17 @@ "url": "https://mechwild.com/product/bb-steno/", "usb": { "device_version": "1.1.0", - "force_nkro": true, "pid": "0x170E", "shared_endpoint": { "keyboard": true }, "vid": "0x6D77" }, + "host": { + "default": { + "nkro": true + } + }, "ws2812": { "driver": "pwm", "pin": "B9" diff --git a/keyboards/mechwild/mercutio/keyboard.json b/keyboards/mechwild/mercutio/keyboard.json index d0b7d51029..58ff0b216e 100644 --- a/keyboards/mechwild/mercutio/keyboard.json +++ b/keyboards/mechwild/mercutio/keyboard.json @@ -1,12 +1,14 @@ { - "keyboard_name": "Mercutio", "manufacturer": "MechWild", - "url": "mechwild.com", + "keyboard_name": "Mercutio", "maintainer": "kylemccreery", - "usb": { - "vid": "0x6D77", - "pid": "0x1703", - "device_version": "1.0.0" + "bootloader": "usbasploader", + "bootloader_instructions": "Hold down the BOOT button, then tap the RESET button.", + "diode_direction": "COL2ROW", + "encoder": { + "rotary": [ + {"pin_a": "B4", "pin_b": "B5"} + ] }, "features": { "bootmagic": true, @@ -20,26 +22,72 @@ "cols": ["B0", "D7", "D6", "D5", "B1", "B2", "B3"], "rows": ["D0", "D1", "D4", "C3", "C0", "C1", "C2"] }, - "diode_direction": "COL2ROW", - "encoder": { - "rotary": [ - {"pin_a": "B4", "pin_b": "B5"} - ] - }, + "processor": "atmega328p", "qmk": { - "tap_keycode_delay": 10, "locking": { "enabled": true, "resync": true - } + }, + "tap_keycode_delay": 10 + }, + "url": "https://mechwild.com", + "usb": { + "device_version": "1.0.0", + "pid": "0x1703", + "vid": "0x6D77" }, - "processor": "atmega328p", - "bootloader": "usbasploader", "layouts": { - "LAYOUT_all": { + "LAYOUT_625u_space": { "layout": [ - {"label": "Mute", "matrix": [4, 2], "x": 12, "y": 0}, - + {"label": "Mute", "matrix": [4, 2], "x": 12, "y": 0, "encoder": 0}, + {"label": "Tab", "matrix": [0, 0], "x": 0, "y": 1, "w": 1.5}, + {"label": "Q", "matrix": [0, 1], "x": 1.5, "y": 1}, + {"label": "W", "matrix": [0, 2], "x": 2.5, "y": 1}, + {"label": "E", "matrix": [0, 3], "x": 3.5, "y": 1}, + {"label": "R", "matrix": [0, 4], "x": 4.5, "y": 1}, + {"label": "T", "matrix": [0, 5], "x": 5.5, "y": 1}, + {"label": "Y", "matrix": [0, 6], "x": 6.5, "y": 1}, + {"label": "U", "matrix": [4, 6], "x": 7.5, "y": 1}, + {"label": "I", "matrix": [4, 5], "x": 8.5, "y": 1}, + {"label": "O", "matrix": [4, 4], "x": 9.5, "y": 1}, + {"label": "P", "matrix": [4, 3], "x": 10.5, "y": 1}, + {"label": "Backspace", "matrix": [5, 2], "x": 11.5, "y": 1, "w": 1.5}, + {"label": "Fn", "matrix": [1, 0], "x": 0, "y": 2, "w": 1.75}, + {"label": "A", "matrix": [1, 1], "x": 1.75, "y": 2}, + {"label": "S", "matrix": [1, 2], "x": 2.75, "y": 2}, + {"label": "D", "matrix": [1, 3], "x": 3.75, "y": 2}, + {"label": "F", "matrix": [1, 4], "x": 4.75, "y": 2}, + {"label": "G", "matrix": [1, 5], "x": 5.75, "y": 2}, + {"label": "H", "matrix": [1, 6], "x": 6.75, "y": 2}, + {"label": "J", "matrix": [5, 6], "x": 7.75, "y": 2}, + {"label": "K", "matrix": [5, 5], "x": 8.75, "y": 2}, + {"label": "L", "matrix": [5, 4], "x": 9.75, "y": 2}, + {"label": "'", "matrix": [4, 1], "x": 10.75, "y": 2}, + {"label": "Enter", "matrix": [5, 3], "x": 11.75, "y": 2, "w": 1.25}, + {"label": "Shift", "matrix": [2, 0], "x": 0, "y": 3, "w": 1.25}, + {"label": "/", "matrix": [2, 1], "x": 1.25, "y": 3}, + {"label": "Z", "matrix": [6, 1], "x": 2.25, "y": 3}, + {"label": "X", "matrix": [2, 3], "x": 3.25, "y": 3}, + {"label": "C", "matrix": [2, 4], "x": 4.25, "y": 3}, + {"label": "V", "matrix": [2, 5], "x": 5.25, "y": 3}, + {"label": "B", "matrix": [2, 6], "x": 6.25, "y": 3}, + {"label": "N", "matrix": [6, 6], "x": 7.25, "y": 3}, + {"label": "M", "matrix": [6, 5], "x": 8.25, "y": 3}, + {"label": ",", "matrix": [6, 4], "x": 9.25, "y": 3}, + {"label": ".", "matrix": [6, 3], "x": 10.25, "y": 3}, + {"label": "Shift", "matrix": [6, 2], "x": 11.25, "y": 3, "w": 1.75}, + {"label": "Ctrl", "matrix": [3, 0], "x": 0, "y": 4, "w": 1.25}, + {"label": "GUI", "matrix": [5, 1], "x": 1.25, "y": 4}, + {"label": "Alt", "matrix": [3, 1], "x": 2.25, "y": 4, "w": 1.25}, + {"label": "Space", "matrix": [3, 5], "x": 3.25, "y": 4, "w": 6.25}, + {"label": "Alt", "matrix": [3, 3], "x": 9.5, "y": 4, "w": 1.25}, + {"label": "Fn2", "matrix": [3, 2], "x": 10.75, "y": 4}, + {"label": "Ctrl", "matrix": [2, 2], "x": 11.75, "y": 4, "w": 1.25} + ] + }, + "LAYOUT_all": { + "layout": [ + {"label": "Mute", "matrix": [4, 2], "x": 12, "y": 0, "encoder": 0}, {"label": "Tab", "matrix": [0, 0], "x": 0, "y": 1, "w": 1.5}, {"label": "Q", "matrix": [0, 1], "x": 1.5, "y": 1}, {"label": "W", "matrix": [0, 2], "x": 2.5, "y": 1}, @@ -52,7 +100,6 @@ {"label": "O", "matrix": [4, 4], "x": 9.5, "y": 1}, {"label": "P", "matrix": [4, 3], "x": 10.5, "y": 1}, {"label": "Backspace", "matrix": [5, 2], "x": 11.5, "y": 1, "w": 1.5}, - {"label": "Fn", "matrix": [1, 0], "x": 0, "y": 2, "w": 1.75}, {"label": "A", "matrix": [1, 1], "x": 1.75, "y": 2}, {"label": "S", "matrix": [1, 2], "x": 2.75, "y": 2}, @@ -65,7 +112,6 @@ {"label": "L", "matrix": [5, 4], "x": 9.75, "y": 2}, {"label": "'", "matrix": [4, 1], "x": 10.75, "y": 2}, {"label": "Enter", "matrix": [5, 3], "x": 11.75, "y": 2, "w": 1.25}, - {"label": "Shift", "matrix": [2, 0], "x": 0, "y": 3, "w": 1.25}, {"label": "/", "matrix": [2, 1], "x": 1.25, "y": 3}, {"label": "Z", "matrix": [6, 1], "x": 2.25, "y": 3}, @@ -78,7 +124,6 @@ {"label": ",", "matrix": [6, 4], "x": 9.25, "y": 3}, {"label": ".", "matrix": [6, 3], "x": 10.25, "y": 3}, {"label": "Shift", "matrix": [6, 2], "x": 11.25, "y": 3, "w": 1.75}, - {"label": "Ctrl", "matrix": [3, 0], "x": 0, "y": 4, "w": 1.25}, {"label": "GUI", "matrix": [5, 1], "x": 1.25, "y": 4}, {"label": "Alt", "matrix": [3, 1], "x": 2.25, "y": 4, "w": 1.25}, @@ -90,10 +135,9 @@ {"label": "Ctrl", "matrix": [2, 2], "x": 11.75, "y": 4, "w": 1.25} ] }, - "LAYOUT_625u_space": { + "LAYOUT_full_enter": { "layout": [ - {"label": "Mute", "matrix": [4, 2], "x": 12, "y": 0}, - + {"label": "Mute", "matrix": [4, 2], "x": 12, "y": 0, "encoder": 0}, {"label": "Tab", "matrix": [0, 0], "x": 0, "y": 1, "w": 1.5}, {"label": "Q", "matrix": [0, 1], "x": 1.5, "y": 1}, {"label": "W", "matrix": [0, 2], "x": 2.5, "y": 1}, @@ -106,7 +150,6 @@ {"label": "O", "matrix": [4, 4], "x": 9.5, "y": 1}, {"label": "P", "matrix": [4, 3], "x": 10.5, "y": 1}, {"label": "Backspace", "matrix": [5, 2], "x": 11.5, "y": 1, "w": 1.5}, - {"label": "Fn", "matrix": [1, 0], "x": 0, "y": 2, "w": 1.75}, {"label": "A", "matrix": [1, 1], "x": 1.75, "y": 2}, {"label": "S", "matrix": [1, 2], "x": 2.75, "y": 2}, @@ -117,9 +160,56 @@ {"label": "J", "matrix": [5, 6], "x": 7.75, "y": 2}, {"label": "K", "matrix": [5, 5], "x": 8.75, "y": 2}, {"label": "L", "matrix": [5, 4], "x": 9.75, "y": 2}, - {"label": "'", "matrix": [4, 1], "x": 10.75, "y": 2}, - {"label": "Enter", "matrix": [5, 3], "x": 11.75, "y": 2, "w": 1.25}, - + {"label": "Enter", "matrix": [5, 3], "x": 10.75, "y": 2, "w": 2.25}, + {"label": "Shift", "matrix": [2, 0], "x": 0, "y": 3, "w": 1.25}, + {"label": "/", "matrix": [2, 1], "x": 1.25, "y": 3}, + {"label": "Z", "matrix": [6, 1], "x": 2.25, "y": 3}, + {"label": "X", "matrix": [2, 3], "x": 3.25, "y": 3}, + {"label": "C", "matrix": [2, 4], "x": 4.25, "y": 3}, + {"label": "V", "matrix": [2, 5], "x": 5.25, "y": 3}, + {"label": "B", "matrix": [2, 6], "x": 6.25, "y": 3}, + {"label": "N", "matrix": [6, 6], "x": 7.25, "y": 3}, + {"label": "M", "matrix": [6, 5], "x": 8.25, "y": 3}, + {"label": ",", "matrix": [6, 4], "x": 9.25, "y": 3}, + {"label": ".", "matrix": [6, 3], "x": 10.25, "y": 3}, + {"label": "Shift", "matrix": [6, 2], "x": 11.25, "y": 3, "w": 1.75}, + {"label": "Ctrl", "matrix": [3, 0], "x": 0, "y": 4, "w": 1.25}, + {"label": "GUI", "matrix": [5, 1], "x": 1.25, "y": 4}, + {"label": "Alt", "matrix": [3, 1], "x": 2.25, "y": 4, "w": 1.25}, + {"label": "Space", "matrix": [3, 4], "x": 3.5, "y": 4, "w": 2.25}, + {"label": "Space", "matrix": [3, 5], "x": 5.75, "y": 4}, + {"label": "Space", "matrix": [3, 6], "x": 6.75, "y": 4, "w": 2.75}, + {"label": "Alt", "matrix": [3, 3], "x": 9.5, "y": 4, "w": 1.25}, + {"label": "Fn2", "matrix": [3, 2], "x": 10.75, "y": 4}, + {"label": "Ctrl", "matrix": [2, 2], "x": 11.75, "y": 4, "w": 1.25} + ] + }, + "LAYOUT_full_enter_625u_space": { + "layout": [ + {"label": "Mute", "matrix": [4, 2], "x": 12, "y": 0, "encoder": 0}, + {"label": "Tab", "matrix": [0, 0], "x": 0, "y": 1, "w": 1.5}, + {"label": "Q", "matrix": [0, 1], "x": 1.5, "y": 1}, + {"label": "W", "matrix": [0, 2], "x": 2.5, "y": 1}, + {"label": "E", "matrix": [0, 3], "x": 3.5, "y": 1}, + {"label": "R", "matrix": [0, 4], "x": 4.5, "y": 1}, + {"label": "T", "matrix": [0, 5], "x": 5.5, "y": 1}, + {"label": "Y", "matrix": [0, 6], "x": 6.5, "y": 1}, + {"label": "U", "matrix": [4, 6], "x": 7.5, "y": 1}, + {"label": "I", "matrix": [4, 5], "x": 8.5, "y": 1}, + {"label": "O", "matrix": [4, 4], "x": 9.5, "y": 1}, + {"label": "P", "matrix": [4, 3], "x": 10.5, "y": 1}, + {"label": "Backspace", "matrix": [5, 2], "x": 11.5, "y": 1, "w": 1.5}, + {"label": "Fn", "matrix": [1, 0], "x": 0, "y": 2, "w": 1.75}, + {"label": "A", "matrix": [1, 1], "x": 1.75, "y": 2}, + {"label": "S", "matrix": [1, 2], "x": 2.75, "y": 2}, + {"label": "D", "matrix": [1, 3], "x": 3.75, "y": 2}, + {"label": "F", "matrix": [1, 4], "x": 4.75, "y": 2}, + {"label": "G", "matrix": [1, 5], "x": 5.75, "y": 2}, + {"label": "H", "matrix": [1, 6], "x": 6.75, "y": 2}, + {"label": "J", "matrix": [5, 6], "x": 7.75, "y": 2}, + {"label": "K", "matrix": [5, 5], "x": 8.75, "y": 2}, + {"label": "L", "matrix": [5, 4], "x": 9.75, "y": 2}, + {"label": "Enter", "matrix": [5, 3], "x": 10.75, "y": 2, "w": 2.25}, {"label": "Shift", "matrix": [2, 0], "x": 0, "y": 3, "w": 1.25}, {"label": "/", "matrix": [2, 1], "x": 1.25, "y": 3}, {"label": "Z", "matrix": [6, 1], "x": 2.25, "y": 3}, @@ -132,7 +222,6 @@ {"label": ",", "matrix": [6, 4], "x": 9.25, "y": 3}, {"label": ".", "matrix": [6, 3], "x": 10.25, "y": 3}, {"label": "Shift", "matrix": [6, 2], "x": 11.25, "y": 3, "w": 1.75}, - {"label": "Ctrl", "matrix": [3, 0], "x": 0, "y": 4, "w": 1.25}, {"label": "GUI", "matrix": [5, 1], "x": 1.25, "y": 4}, {"label": "Alt", "matrix": [3, 1], "x": 2.25, "y": 4}, @@ -141,6 +230,196 @@ {"label": "Fn2", "matrix": [3, 2], "x": 10.75, "y": 4}, {"label": "Ctrl", "matrix": [2, 2], "x": 11.75, "y": 4, "w": 1.25} ] + }, + "LAYOUT_full_enter_full_lshift_625u_space": { + "layout": [ + {"label": "Mute", "matrix": [4, 2], "x": 12, "y": 0, "encoder": 0}, + {"label": "Tab", "matrix": [0, 0], "x": 0, "y": 1, "w": 1.5}, + {"label": "Q", "matrix": [0, 1], "x": 1.5, "y": 1}, + {"label": "W", "matrix": [0, 2], "x": 2.5, "y": 1}, + {"label": "E", "matrix": [0, 3], "x": 3.5, "y": 1}, + {"label": "R", "matrix": [0, 4], "x": 4.5, "y": 1}, + {"label": "T", "matrix": [0, 5], "x": 5.5, "y": 1}, + {"label": "Y", "matrix": [0, 6], "x": 6.5, "y": 1}, + {"label": "U", "matrix": [4, 6], "x": 7.5, "y": 1}, + {"label": "I", "matrix": [4, 5], "x": 8.5, "y": 1}, + {"label": "O", "matrix": [4, 4], "x": 9.5, "y": 1}, + {"label": "P", "matrix": [4, 3], "x": 10.5, "y": 1}, + {"label": "Backspace", "matrix": [5, 2], "x": 11.5, "y": 1, "w": 1.5}, + {"label": "Fn", "matrix": [1, 0], "x": 0, "y": 2, "w": 1.75}, + {"label": "A", "matrix": [1, 1], "x": 1.75, "y": 2}, + {"label": "S", "matrix": [1, 2], "x": 2.75, "y": 2}, + {"label": "D", "matrix": [1, 3], "x": 3.75, "y": 2}, + {"label": "F", "matrix": [1, 4], "x": 4.75, "y": 2}, + {"label": "G", "matrix": [1, 5], "x": 5.75, "y": 2}, + {"label": "H", "matrix": [1, 6], "x": 6.75, "y": 2}, + {"label": "J", "matrix": [5, 6], "x": 7.75, "y": 2}, + {"label": "K", "matrix": [5, 5], "x": 8.75, "y": 2}, + {"label": "L", "matrix": [5, 4], "x": 9.75, "y": 2}, + {"label": "Enter", "matrix": [5, 3], "x": 10.75, "y": 2, "w": 2.25}, + {"label": "Shift", "matrix": [2, 0], "x": 0, "y": 3, "w": 2.25}, + {"label": "Z", "matrix": [6, 1], "x": 2.25, "y": 3}, + {"label": "X", "matrix": [2, 3], "x": 3.25, "y": 3}, + {"label": "C", "matrix": [2, 4], "x": 4.25, "y": 3}, + {"label": "V", "matrix": [2, 5], "x": 5.25, "y": 3}, + {"label": "B", "matrix": [2, 6], "x": 6.25, "y": 3}, + {"label": "N", "matrix": [6, 6], "x": 7.25, "y": 3}, + {"label": "M", "matrix": [6, 5], "x": 8.25, "y": 3}, + {"label": ",", "matrix": [6, 4], "x": 9.25, "y": 3}, + {"label": ".", "matrix": [6, 3], "x": 10.25, "y": 3}, + {"label": "Shift", "matrix": [6, 2], "x": 11.25, "y": 3, "w": 1.75}, + {"label": "Ctrl", "matrix": [3, 0], "x": 0, "y": 4, "w": 1.25}, + {"label": "GUI", "matrix": [5, 1], "x": 1.25, "y": 4}, + {"label": "Alt", "matrix": [3, 1], "x": 2.25, "y": 4, "w": 1.25}, + {"label": "Space", "matrix": [3, 5], "x": 3.25, "y": 4, "w": 6.25}, + {"label": "Alt", "matrix": [3, 3], "x": 9.5, "y": 4, "w": 1.25}, + {"label": "Fn2", "matrix": [3, 2], "x": 10.75, "y": 4}, + {"label": "Ctrl", "matrix": [2, 2], "x": 11.75, "y": 4, "w": 1.25} + ] + }, + "LAYOUT_full_lshift": { + "layout": [ + {"label": "Mute", "matrix": [4, 2], "x": 12, "y": 0, "encoder": 0}, + {"label": "Tab", "matrix": [0, 0], "x": 0, "y": 1, "w": 1.5}, + {"label": "Q", "matrix": [0, 1], "x": 1.5, "y": 1}, + {"label": "W", "matrix": [0, 2], "x": 2.5, "y": 1}, + {"label": "E", "matrix": [0, 3], "x": 3.5, "y": 1}, + {"label": "R", "matrix": [0, 4], "x": 4.5, "y": 1}, + {"label": "T", "matrix": [0, 5], "x": 5.5, "y": 1}, + {"label": "Y", "matrix": [0, 6], "x": 6.5, "y": 1}, + {"label": "U", "matrix": [4, 6], "x": 7.5, "y": 1}, + {"label": "I", "matrix": [4, 5], "x": 8.5, "y": 1}, + {"label": "O", "matrix": [4, 4], "x": 9.5, "y": 1}, + {"label": "P", "matrix": [4, 3], "x": 10.5, "y": 1}, + {"label": "Backspace", "matrix": [5, 2], "x": 11.5, "y": 1, "w": 1.5}, + {"label": "Fn", "matrix": [1, 0], "x": 0, "y": 2, "w": 1.75}, + {"label": "A", "matrix": [1, 1], "x": 1.75, "y": 2}, + {"label": "S", "matrix": [1, 2], "x": 2.75, "y": 2}, + {"label": "D", "matrix": [1, 3], "x": 3.75, "y": 2}, + {"label": "F", "matrix": [1, 4], "x": 4.75, "y": 2}, + {"label": "G", "matrix": [1, 5], "x": 5.75, "y": 2}, + {"label": "H", "matrix": [1, 6], "x": 6.75, "y": 2}, + {"label": "J", "matrix": [5, 6], "x": 7.75, "y": 2}, + {"label": "K", "matrix": [5, 5], "x": 8.75, "y": 2}, + {"label": "L", "matrix": [5, 4], "x": 9.75, "y": 2}, + {"label": "'", "matrix": [4, 1], "x": 10.75, "y": 2}, + {"label": "Enter", "matrix": [5, 3], "x": 11.75, "y": 2, "w": 1.25}, + {"label": "Shift", "matrix": [2, 0], "x": 0, "y": 3, "w": 2.25}, + {"label": "Z", "matrix": [6, 1], "x": 2.25, "y": 3}, + {"label": "X", "matrix": [2, 3], "x": 3.25, "y": 3}, + {"label": "C", "matrix": [2, 4], "x": 4.25, "y": 3}, + {"label": "V", "matrix": [2, 5], "x": 5.25, "y": 3}, + {"label": "B", "matrix": [2, 6], "x": 6.25, "y": 3}, + {"label": "N", "matrix": [6, 6], "x": 7.25, "y": 3}, + {"label": "M", "matrix": [6, 5], "x": 8.25, "y": 3}, + {"label": ",", "matrix": [6, 4], "x": 9.25, "y": 3}, + {"label": ".", "matrix": [6, 3], "x": 10.25, "y": 3}, + {"label": "Shift", "matrix": [6, 2], "x": 11.25, "y": 3, "w": 1.75}, + {"label": "Ctrl", "matrix": [3, 0], "x": 0, "y": 4, "w": 1.25}, + {"label": "GUI", "matrix": [5, 1], "x": 1.25, "y": 4}, + {"label": "Alt", "matrix": [3, 1], "x": 2.25, "y": 4, "w": 1.25}, + {"label": "Space", "matrix": [3, 4], "x": 3.5, "y": 4, "w": 2.25}, + {"label": "Space", "matrix": [3, 5], "x": 5.75, "y": 4}, + {"label": "Space", "matrix": [3, 6], "x": 6.75, "y": 4, "w": 2.75}, + {"label": "Alt", "matrix": [3, 3], "x": 9.5, "y": 4, "w": 1.25}, + {"label": "Fn2", "matrix": [3, 2], "x": 10.75, "y": 4}, + {"label": "Ctrl", "matrix": [2, 2], "x": 11.75, "y": 4, "w": 1.25} + ] + }, + "LAYOUT_full_lshift_625u_space": { + "layout": [ + {"label": "Mute", "matrix": [4, 2], "x": 12, "y": 0, "encoder": 0}, + {"label": "Tab", "matrix": [0, 0], "x": 0, "y": 1, "w": 1.5}, + {"label": "Q", "matrix": [0, 1], "x": 1.5, "y": 1}, + {"label": "W", "matrix": [0, 2], "x": 2.5, "y": 1}, + {"label": "E", "matrix": [0, 3], "x": 3.5, "y": 1}, + {"label": "R", "matrix": [0, 4], "x": 4.5, "y": 1}, + {"label": "T", "matrix": [0, 5], "x": 5.5, "y": 1}, + {"label": "Y", "matrix": [0, 6], "x": 6.5, "y": 1}, + {"label": "U", "matrix": [4, 6], "x": 7.5, "y": 1}, + {"label": "I", "matrix": [4, 5], "x": 8.5, "y": 1}, + {"label": "O", "matrix": [4, 4], "x": 9.5, "y": 1}, + {"label": "P", "matrix": [4, 3], "x": 10.5, "y": 1}, + {"label": "Backspace", "matrix": [5, 2], "x": 11.5, "y": 1, "w": 1.5}, + {"label": "Fn", "matrix": [1, 0], "x": 0, "y": 2, "w": 1.75}, + {"label": "A", "matrix": [1, 1], "x": 1.75, "y": 2}, + {"label": "S", "matrix": [1, 2], "x": 2.75, "y": 2}, + {"label": "D", "matrix": [1, 3], "x": 3.75, "y": 2}, + {"label": "F", "matrix": [1, 4], "x": 4.75, "y": 2}, + {"label": "G", "matrix": [1, 5], "x": 5.75, "y": 2}, + {"label": "H", "matrix": [1, 6], "x": 6.75, "y": 2}, + {"label": "J", "matrix": [5, 6], "x": 7.75, "y": 2}, + {"label": "K", "matrix": [5, 5], "x": 8.75, "y": 2}, + {"label": "L", "matrix": [5, 4], "x": 9.75, "y": 2}, + {"label": "'", "matrix": [4, 1], "x": 10.75, "y": 2}, + {"label": "Enter", "matrix": [5, 3], "x": 11.75, "y": 2, "w": 1.25}, + {"label": "Shift", "matrix": [2, 0], "x": 0, "y": 3, "w": 2.25}, + {"label": "Z", "matrix": [6, 1], "x": 2.25, "y": 3}, + {"label": "X", "matrix": [2, 3], "x": 3.25, "y": 3}, + {"label": "C", "matrix": [2, 4], "x": 4.25, "y": 3}, + {"label": "V", "matrix": [2, 5], "x": 5.25, "y": 3}, + {"label": "B", "matrix": [2, 6], "x": 6.25, "y": 3}, + {"label": "N", "matrix": [6, 6], "x": 7.25, "y": 3}, + {"label": "M", "matrix": [6, 5], "x": 8.25, "y": 3}, + {"label": ",", "matrix": [6, 4], "x": 9.25, "y": 3}, + {"label": ".", "matrix": [6, 3], "x": 10.25, "y": 3}, + {"label": "Shift", "matrix": [6, 2], "x": 11.25, "y": 3, "w": 1.75}, + {"label": "Ctrl", "matrix": [3, 0], "x": 0, "y": 4, "w": 1.25}, + {"label": "GUI", "matrix": [5, 1], "x": 1.25, "y": 4}, + {"label": "Alt", "matrix": [3, 1], "x": 2.25, "y": 4}, + {"label": "Space", "matrix": [3, 5], "x": 3.25, "y": 4, "w": 6.25}, + {"label": "Alt", "matrix": [3, 3], "x": 9.5, "y": 4, "w": 1.25}, + {"label": "Fn2", "matrix": [3, 2], "x": 10.75, "y": 4}, + {"label": "Ctrl", "matrix": [2, 2], "x": 11.75, "y": 4, "w": 1.25} + ] + }, + "LAYOUT_full_lshift_full_enter": { + "layout": [ + {"label": "Mute", "matrix": [4, 2], "x": 12, "y": 0, "encoder": 0}, + {"label": "Tab", "matrix": [0, 0], "x": 0, "y": 1, "w": 1.5}, + {"label": "Q", "matrix": [0, 1], "x": 1.5, "y": 1}, + {"label": "W", "matrix": [0, 2], "x": 2.5, "y": 1}, + {"label": "E", "matrix": [0, 3], "x": 3.5, "y": 1}, + {"label": "R", "matrix": [0, 4], "x": 4.5, "y": 1}, + {"label": "T", "matrix": [0, 5], "x": 5.5, "y": 1}, + {"label": "Y", "matrix": [0, 6], "x": 6.5, "y": 1}, + {"label": "U", "matrix": [4, 6], "x": 7.5, "y": 1}, + {"label": "I", "matrix": [4, 5], "x": 8.5, "y": 1}, + {"label": "O", "matrix": [4, 4], "x": 9.5, "y": 1}, + {"label": "P", "matrix": [4, 3], "x": 10.5, "y": 1}, + {"label": "Backspace", "matrix": [5, 2], "x": 11.5, "y": 1, "w": 1.5}, + {"label": "Fn", "matrix": [1, 0], "x": 0, "y": 2, "w": 1.75}, + {"label": "A", "matrix": [1, 1], "x": 1.75, "y": 2}, + {"label": "S", "matrix": [1, 2], "x": 2.75, "y": 2}, + {"label": "D", "matrix": [1, 3], "x": 3.75, "y": 2}, + {"label": "F", "matrix": [1, 4], "x": 4.75, "y": 2}, + {"label": "G", "matrix": [1, 5], "x": 5.75, "y": 2}, + {"label": "H", "matrix": [1, 6], "x": 6.75, "y": 2}, + {"label": "J", "matrix": [5, 6], "x": 7.75, "y": 2}, + {"label": "K", "matrix": [5, 5], "x": 8.75, "y": 2}, + {"label": "L", "matrix": [5, 4], "x": 9.75, "y": 2}, + {"label": "Enter", "matrix": [5, 3], "x": 10.75, "y": 2, "w": 2.25}, + {"label": "Shift", "matrix": [2, 0], "x": 0, "y": 3, "w": 2.25}, + {"label": "Z", "matrix": [6, 1], "x": 2.25, "y": 3}, + {"label": "X", "matrix": [2, 3], "x": 3.25, "y": 3}, + {"label": "C", "matrix": [2, 4], "x": 4.25, "y": 3}, + {"label": "V", "matrix": [2, 5], "x": 5.25, "y": 3}, + {"label": "B", "matrix": [2, 6], "x": 6.25, "y": 3}, + {"label": "N", "matrix": [6, 6], "x": 7.25, "y": 3}, + {"label": "M", "matrix": [6, 5], "x": 8.25, "y": 3}, + {"label": ",", "matrix": [6, 4], "x": 9.25, "y": 3}, + {"label": ".", "matrix": [6, 3], "x": 10.25, "y": 3}, + {"label": "Shift", "matrix": [6, 2], "x": 11.25, "y": 3, "w": 1.75}, + {"label": "Ctrl", "matrix": [3, 0], "x": 0, "y": 4, "w": 1.25}, + {"label": "GUI", "matrix": [5, 1], "x": 1.25, "y": 4}, + {"label": "Alt", "matrix": [3, 1], "x": 2.25, "y": 4, "w": 1.25}, + {"label": "Space", "matrix": [3, 4], "x": 3.5, "y": 4, "w": 2.25}, + {"label": "Space", "matrix": [3, 5], "x": 5.75, "y": 4}, + {"label": "Space", "matrix": [3, 6], "x": 6.75, "y": 4, "w": 2.75}, + {"label": "Alt", "matrix": [3, 3], "x": 9.5, "y": 4, "w": 1.25}, + {"label": "Fn2", "matrix": [3, 2], "x": 10.75, "y": 4}, + {"label": "Ctrl", "matrix": [2, 2], "x": 11.75, "y": 4, "w": 1.25} + ] } } } diff --git a/keyboards/mechwild/mercutio/keymaps/default/keymap.c b/keyboards/mechwild/mercutio/keymaps/default/keymap.c index 9d5d174c60..bf6b96b8be 100644 --- a/keyboards/mechwild/mercutio/keymaps/default/keymap.c +++ b/keyboards/mechwild/mercutio/keymaps/default/keymap.c @@ -26,24 +26,17 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_all( KC_TRNS, - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL, - KC_TRNS, KC_TRNS, KC_GRV, KC_BSLS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LBRC, KC_RBRC, KC_SCLN, KC_TRNS, KC_QUOT, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MINS, KC_EQL, KC_SLSH, KC_UP, - KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_TRNS, KC_END, KC_LEFT, KC_DOWN, KC_RIGHT ), + 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_TRNS, KC_TRNS, KC_GRV, KC_BSLS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LBRC, KC_RBRC, KC_SCLN, KC_TRNS, KC_QUOT, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MINS, KC_EQL, KC_SLSH, KC_UP, + KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_TRNS, KC_END, KC_LEFT, KC_DOWN, KC_RIGHT ), [2] = LAYOUT_all( 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_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_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ), - - [3] = LAYOUT_all( - KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ) + KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, 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_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ) }; #ifdef ENCODER_MAP_ENABLE @@ -51,6 +44,5 @@ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, [1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, [2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, - [3] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, }; #endif diff --git a/keyboards/mechwild/mercutio/keymaps/default_625u_space/keymap.c b/keyboards/mechwild/mercutio/keymaps/default_625u_space/keymap.c index a4cd13134c..b76479a5b9 100644 --- a/keyboards/mechwild/mercutio/keymaps/default_625u_space/keymap.c +++ b/keyboards/mechwild/mercutio/keymaps/default_625u_space/keymap.c @@ -36,13 +36,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______, KC_CAPS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______ ), - - [3] = LAYOUT_625u_space( - _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ) }; @@ -50,7 +43,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, [1] = { ENCODER_CCW_CW(_______, _______) }, - [2] = { ENCODER_CCW_CW(_______, _______) }, - [3] = { ENCODER_CCW_CW(_______, _______) }, + [2] = { ENCODER_CCW_CW(_______, _______) } }; #endif diff --git a/keyboards/mechwild/mokulua/mirrored/keyboard.json b/keyboards/mechwild/mokulua/mirrored/keyboard.json index dc66c0c53a..e76314f869 100644 --- a/keyboards/mechwild/mokulua/mirrored/keyboard.json +++ b/keyboards/mechwild/mokulua/mirrored/keyboard.json @@ -61,8 +61,7 @@ "ws2812": { "pin": "B6" }, - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "layout_aliases": { "LAYOUT_mirrored": "LAYOUT" }, diff --git a/keyboards/mechwild/mokulua/standard/keyboard.json b/keyboards/mechwild/mokulua/standard/keyboard.json index f3eccd921f..e9c81c7e6d 100644 --- a/keyboards/mechwild/mokulua/standard/keyboard.json +++ b/keyboards/mechwild/mokulua/standard/keyboard.json @@ -61,8 +61,7 @@ "ws2812": { "pin": "B6" }, - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "layout_aliases": { "LAYOUT_standard": "LAYOUT" }, diff --git a/keyboards/mechwild/murphpad/keyboard.json b/keyboards/mechwild/murphpad/keyboard.json index 8ab90bd937..a79810afd7 100644 --- a/keyboards/mechwild/murphpad/keyboard.json +++ b/keyboards/mechwild/murphpad/keyboard.json @@ -59,8 +59,7 @@ "ws2812": { "pin": "F4" }, - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/mechwild/puckbuddy/keymaps/default/keymap.c b/keyboards/mechwild/puckbuddy/keymaps/default/keymap.c index 2ef70b652a..0ad534e256 100644 --- a/keyboards/mechwild/puckbuddy/keymaps/default/keymap.c +++ b/keyboards/mechwild/puckbuddy/keymaps/default/keymap.c @@ -37,8 +37,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_MUTE, MO(_FN3), MO(_FN2), MO(_FN1), LGUI(KC_D), MO(_FN2), KC_HOME, MO(_FN3), KC_END, - KC_BTN3, DPI_FINE, - KC_BTN1, KC_BTN2, KC_BTN2, KC_BTN1 + MS_BTN3, DPI_FINE, + MS_BTN1, MS_BTN2, MS_BTN2, MS_BTN1 ), [_FN1] = LAYOUT( UG_TOGG, KC_TRNS, KC_TRNS, KC_TRNS, TAP_TOG, diff --git a/keyboards/mechwild/sugarglider/info.json b/keyboards/mechwild/sugarglider/info.json index 0b796f7c21..0df558b0b2 100644 --- a/keyboards/mechwild/sugarglider/info.json +++ b/keyboards/mechwild/sugarglider/info.json @@ -7,11 +7,15 @@ "vid": "0x6D77", "pid": "0x1710", "device_version": "0.2.0", - "force_nkro": true, "shared_endpoint": { "keyboard": true } }, + "host": { + "default": { + "nkro": true + } + }, "diode_direction": "COL2ROW", "dynamic_keymap": { "layer_count": 5 @@ -47,10 +51,10 @@ }, "encoder": { "rotary": [ - {"pin_a": "B0", "pin_b": "A2", "resolution": 4}, - {"pin_a": "B3", "pin_b": "A15", "resolution": 4}, - {"pin_a": "B9", "pin_b": "B8", "resolution": 4}, - {"pin_a": "C15", "pin_b": "C14", "resolution": 4} + {"pin_a": "B0", "pin_b": "A2"}, + {"pin_a": "B3", "pin_b": "A15"}, + {"pin_a": "B9", "pin_b": "B8"}, + {"pin_a": "C15", "pin_b": "C14"} ] }, "layouts": { diff --git a/keyboards/mechwild/sugarglider/keymaps/default/keymap.c b/keyboards/mechwild/sugarglider/keymaps/default/keymap.c index d723ba10a6..46818cf209 100644 --- a/keyboards/mechwild/sugarglider/keymaps/default/keymap.c +++ b/keyboards/mechwild/sugarglider/keymaps/default/keymap.c @@ -18,7 +18,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { QK_GESC, KC_Q, KC_W, KC_E, KC_R, KC_T, TAP_UP, 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_MUTE, TAP_DN, KC_H, KC_J, KC_K, KC_L, KC_QUOT, KC_ENT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, TG(_STENO), KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, - KC_MUTE, KC_LGUI, KC_LALT, TL_LOWR, KC_MS_BTN1, TAP_TOG, KC_MS_BTN2, TL_UPPR, KC_SPC, KC_RSFT, KC_MUTE + KC_MUTE, KC_LGUI, KC_LALT, TL_LOWR, MS_BTN1, TAP_TOG, MS_BTN2, TL_UPPR, KC_SPC, KC_RSFT, KC_MUTE ), [_LOWER] = LAYOUT( KC_TRNS, KC_1, KC_2, KC_3, KC_4, KC_5, DPI_UP, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL, @@ -54,7 +54,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { #if defined(ENCODER_MAP_ENABLE) const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { - [_QWERTY] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_PGUP, KC_PGDN), ENCODER_CCW_CW(KC_WH_U, KC_WH_D) }, + [_QWERTY] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_PGUP, KC_PGDN), ENCODER_CCW_CW(MS_WHLU, MS_WHLD) }, [_LOWER] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_LEFT, KC_RIGHT), ENCODER_CCW_CW(KC_HOME, KC_END), ENCODER_CCW_CW(DPI_UP, DPI_DN) }, [_RAISE] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_HOME, KC_END), ENCODER_CCW_CW(KC_LEFT, KC_RIGHT), ENCODER_CCW_CW(KC_HOME, KC_END) }, [_ADJUST] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_BRID, KC_BRIU), ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_BRID, KC_BRIU) }, diff --git a/keyboards/mechwild/sugarglider/rules.mk b/keyboards/mechwild/sugarglider/rules.mk index a01a95a868..73a141ac91 100644 --- a/keyboards/mechwild/sugarglider/rules.mk +++ b/keyboards/mechwild/sugarglider/rules.mk @@ -7,5 +7,3 @@ CUSTOM_MATRIX = lite VPATH += drivers/gpio SRC += mcp23018.c matrix.c I2C_DRIVER_REQUIRED = yes - -DEFAULT_FOLDER = mechwild/sugarglider/wide_oled diff --git a/keyboards/mechwild/sugarglider/sugarglider.c b/keyboards/mechwild/sugarglider/sugarglider.c index 086294470e..d2a199bb7c 100644 --- a/keyboards/mechwild/sugarglider/sugarglider.c +++ b/keyboards/mechwild/sugarglider/sugarglider.c @@ -97,9 +97,9 @@ bool encoder_update_kb(uint8_t index, bool clockwise) { break; case 3: if (clockwise) { - tap_code(KC_WH_U); + tap_code(MS_WHLU); } else { - tap_code(KC_WH_D); + tap_code(MS_WHLD); } break; } diff --git a/keyboards/mechwild/sugarglider/wide_oled/rules.mk b/keyboards/mechwild/sugarglider/wide_oled/rules.mk index 23e6cab873..a77f1a8af2 100644 --- a/keyboards/mechwild/sugarglider/wide_oled/rules.mk +++ b/keyboards/mechwild/sugarglider/wide_oled/rules.mk @@ -2,5 +2,3 @@ # change yes to no to disable # WIDE_OLED_ENABLE = yes - -DEFAULT_FOLDER = mechwild/sugarglider/wide_oled/f401 diff --git a/keyboards/mectechpad/config.h b/keyboards/mectechpad/config.h new file mode 100644 index 0000000000..283902350e --- /dev/null +++ b/keyboards/mectechpad/config.h @@ -0,0 +1,11 @@ +// Copyright 2025 Jack Sachinidhs (@jacksaxi) +// SPDX-License-Identifier: GPL-2.0-or-later +#pragma once +/* LED pin definitions */ +#define LED_PIN_LAYER_0 GP12 +#define LED_PIN_LAYER_1 GP11 +#define LED_PIN_LAYER_2 GP10 +#define LED_PIN_LAYER_3 GP9 + +/* matrix mask for direct pin switch */ +#define MATRIX_MASKED diff --git a/keyboards/mectechpad/keyboard.json b/keyboards/mectechpad/keyboard.json new file mode 100644 index 0000000000..93c1fbaefc --- /dev/null +++ b/keyboards/mectechpad/keyboard.json @@ -0,0 +1,40 @@ +{ + "manufacturer": "Printronics", + "keyboard_name": "Mectechpad", + "maintainer": "jacksaxi", + "bootloader": "rp2040", + "debounce": 15, + "diode_direction": "ROW2COL", + "features": { + "bootmagic": true, + "extrakey": true, + "mousekey": true + }, + "matrix_pins": { + "rows": ["GP13", "GP26", "GP15", "GP14"], + "cols": ["GP29", "GP28", "GP27"] + }, + "processor": "RP2040", + "url": "printronics.gr", + "usb": { + "device_version": "1.0.0", + "pid": "0x1A2B", + "vid": "0x3C4D" + }, + "layouts": { + "LAYOUT": { + "layout": [ + {"matrix": [0, 0], "x": 0, "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} + ] + } + } +} diff --git a/keyboards/mectechpad/keymaps/default/keymap.c b/keyboards/mectechpad/keymaps/default/keymap.c new file mode 100644 index 0000000000..7e19ec069f --- /dev/null +++ b/keyboards/mectechpad/keymaps/default/keymap.c @@ -0,0 +1,37 @@ +// Copyright 2025 Jack Sachinidhs (@jacksaxi) +// SPDX-License-Identifier: GPL-2.0-or-later +#include QMK_KEYBOARD_H + +enum layers { + _LAYER0, + _LAYER1, + _LAYER2, + _LAYER3 +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_LAYER0] = LAYOUT( + TO(_LAYER1), + KC_1, KC_2, KC_3, + KC_4, KC_5, KC_6, + KC_7, KC_8, KC_9 + ), + [_LAYER1] = LAYOUT( + TO(_LAYER2), + KC_Q, KC_W, KC_E, + KC_R, KC_T, KC_Y, + KC_U, KC_I, KC_O + ), + [_LAYER2] = LAYOUT( + TO(_LAYER3), + KC_A, KC_S, KC_D, + KC_F, KC_G, KC_H, + KC_J, KC_K, KC_L + ), + [_LAYER3] = LAYOUT( + TO(_LAYER0), + KC_Z, KC_X, KC_C, + KC_V, KC_B, KC_N, + KC_M, KC_COMM, KC_DOT + ) +}; diff --git a/keyboards/mectechpad/mectechpad.c b/keyboards/mectechpad/mectechpad.c new file mode 100644 index 0000000000..0aa520db1a --- /dev/null +++ b/keyboards/mectechpad/mectechpad.c @@ -0,0 +1,25 @@ +// Copyright 2025 Jack Sachinidhs (@jacksaxi) +// SPDX-License-Identifier: GPL-2.0-or-later +#include "quantum.h" + +void keyboard_post_init_kb(void) { + // Initialize LED pins + gpio_set_pin_output(LED_PIN_LAYER_0); + gpio_write_pin_low(LED_PIN_LAYER_0); + gpio_set_pin_output(LED_PIN_LAYER_1); + gpio_write_pin_low(LED_PIN_LAYER_1); + gpio_set_pin_output(LED_PIN_LAYER_2); + gpio_write_pin_low(LED_PIN_LAYER_2); + gpio_set_pin_output(LED_PIN_LAYER_3); + gpio_write_pin_low(LED_PIN_LAYER_3); + + keyboard_post_init_user(); +} + +// Update LEDs based on the current layer +void housekeeping_task_kb(void) { + gpio_write_pin(LED_PIN_LAYER_0, (get_highest_layer(layer_state) == 0)); + gpio_write_pin(LED_PIN_LAYER_1, (get_highest_layer(layer_state) == 1)); + gpio_write_pin(LED_PIN_LAYER_2, (get_highest_layer(layer_state) == 2)); + gpio_write_pin(LED_PIN_LAYER_3, (get_highest_layer(layer_state) == 3)); +} diff --git a/keyboards/mectechpad/readme.md b/keyboards/mectechpad/readme.md new file mode 100644 index 0000000000..515326baab --- /dev/null +++ b/keyboards/mectechpad/readme.md @@ -0,0 +1,25 @@ +# Mectechpad + +![Mectechpad](https://i.imgur.com/fNnLVLf.jpeg) + +* Keyboard Maintainer: [Jack Sachinidhs](https://github.com/jacksaxi) +* Hardware Supported: rp2040 +* Hardware Availability: [Printronics Website](https://printronics.gr) + +Make example for this keyboard (after setting up your build environment): + + make mectechpad:default + +Flashing example for this keyboard: + + make mectechpad: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 - 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/meow48/keyboard.json b/keyboards/meow48/keyboard.json index 7861555648..f3b1453547 100644 --- a/keyboards/meow48/keyboard.json +++ b/keyboards/meow48/keyboard.json @@ -43,8 +43,7 @@ "rows": ["D4", "C6", "D7", "E6", "B4", "B5", "F4", "F5"] }, "diode_direction": "COL2ROW", - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/merge/uc1/keyboard.json b/keyboards/merge/uc1/keyboard.json index 496b9a6b5f..4d0393399f 100644 --- a/keyboards/merge/uc1/keyboard.json +++ b/keyboards/merge/uc1/keyboard.json @@ -48,8 +48,7 @@ {"pin_a": "F5", "pin_b": "F6"} ] }, - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/miiiw/blackio83/rev_0100/keyboard.json b/keyboards/miiiw/blackio83/rev_0100/keyboard.json index e5cf747537..bc94408419 100644 --- a/keyboards/miiiw/blackio83/rev_0100/keyboard.json +++ b/keyboards/miiiw/blackio83/rev_0100/keyboard.json @@ -166,10 +166,14 @@ "url": "https://github.com/ArthurCyy", "usb": { "device_version": "0.0.1", - "force_nkro": true, "pid": "0x83A1", "vid": "0x3044" }, + "host": { + "default": { + "nkro": true + } + }, "ws2812": { "pin": "B15" }, diff --git a/keyboards/millipad/keyboard.json b/keyboards/millipad/keyboard.json index d2761b8b1b..e4e107c5a6 100644 --- a/keyboards/millipad/keyboard.json +++ b/keyboards/millipad/keyboard.json @@ -6,8 +6,12 @@ "usb": { "vid": "0xFEED", "pid": "0x1A1B", - "device_version": "0.0.1", - "force_nkro": true + "device_version": "0.0.1" + }, + "host": { + "default": { + "nkro": true + } }, "features": { "bootmagic": true, diff --git a/keyboards/minimacro5/keyboard.json b/keyboards/minimacro5/keyboard.json index 033bc1e85a..b868a3b058 100644 --- a/keyboards/minimacro5/keyboard.json +++ b/keyboards/minimacro5/keyboard.json @@ -34,8 +34,7 @@ {"pin_a": "C6", "pin_b": "E6", "resolution": 2} ] }, - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "features": { "bootmagic": false, "encoder": true, diff --git a/keyboards/mint60/keyboard.json b/keyboards/mint60/keyboard.json index 1bb54aebd9..9e581ce7b8 100644 --- a/keyboards/mint60/keyboard.json +++ b/keyboards/mint60/keyboard.json @@ -51,8 +51,7 @@ "ws2812": { "pin": "D3" }, - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/misonoworks/chocolatebar/keyboard.json b/keyboards/misonoworks/chocolatebar/keyboard.json index 75b10ae561..13bc64f16f 100644 --- a/keyboards/misonoworks/chocolatebar/keyboard.json +++ b/keyboards/misonoworks/chocolatebar/keyboard.json @@ -6,8 +6,12 @@ "usb": { "vid": "0x6D77", "pid": "0xC456", - "device_version": "0.0.1", - "force_nkro": true + "device_version": "0.0.1" + }, + "host": { + "default": { + "nkro": true + } }, "rgblight": { "led_count": 12, diff --git a/keyboards/misonoworks/karina/keyboard.json b/keyboards/misonoworks/karina/keyboard.json index 1266c07cea..ef2b7f7e6e 100644 --- a/keyboards/misonoworks/karina/keyboard.json +++ b/keyboards/misonoworks/karina/keyboard.json @@ -6,8 +6,12 @@ "usb": { "vid": "0xFEED", "pid": "0xC456", - "device_version": "0.0.1", - "force_nkro": true + "device_version": "0.0.1" + }, + "host": { + "default": { + "nkro": true + } }, "rgblight": { "led_count": 19, diff --git a/keyboards/mixi/keyboard.json b/keyboards/mixi/keyboard.json index a08d54b883..bde1eb6390 100644 --- a/keyboards/mixi/keyboard.json +++ b/keyboards/mixi/keyboard.json @@ -35,8 +35,7 @@ {"pin_a": "B1", "pin_b": "B3"} ] }, - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "features": { "bootmagic": false, "command": true, diff --git a/keyboards/mkbd65/README.md b/keyboards/mkbd65/README.md new file mode 100644 index 0000000000..817bde28b3 --- /dev/null +++ b/keyboards/mkbd65/README.md @@ -0,0 +1,41 @@ +![mkbd65](https://gitlab.com/mkbd65/qmk-firmware/-/raw/mkbd65/keyboards/mkbd65/mkbd65.png?inline=false) + +# mkbd65 + +A mobile keyboard addon for modern smartphones. + +- Keyboard Maintainer: [XenGi](https://xengi.de) +- Hardware Supported: [mkbd65 PCB](https://gitlab.com/mkbd65/pcb) +- Hardware Availability: - + +Flashing this keyboard with `en-us-intl` layout (after setting up your build environment): + +``` +qmk flash -kb mkbd65:rev1 -km en-us-intl +``` + +Available layouts: + + - en-us-intl (ansi) + - de (iso) + +You can find community provided layouts here: https://gitlab.com/mkbd65/community + +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). + +--- + +Copyright 2023 XenGi mkbd65@xengi.de @XenGi + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General 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/mkbd65/config.h b/keyboards/mkbd65/config.h new file mode 100644 index 0000000000..4b3907c132 --- /dev/null +++ b/keyboards/mkbd65/config.h @@ -0,0 +1,12 @@ +// Copyright 2023 XenGi +// SPDX-License-Identifier: GPL-2.0-or-later + +// optimize firmware +#undef LOCKING_SUPPORT_ENABLE +#undef LOCKING_RESYNC_ENABLE +#define LAYER_STATE_8BIT + +// disable features to save on code size +#define NO_ACTION_TAPPING +#define NO_ACTION_ONESHOT + diff --git a/keyboards/mkbd65/keymaps/ansi/README.md b/keyboards/mkbd65/keymaps/ansi/README.md new file mode 100644 index 0000000000..f68aaf41fc --- /dev/null +++ b/keyboards/mkbd65/keymaps/ansi/README.md @@ -0,0 +1,59 @@ +# The English US International keymap for mkbd65 rev0 by XenGi + +This is the default layout for the mkbd65 keyboard. You can use it as a reference for other layouts. + +It is based on the "English (intl., with AltGr dead keys)" layout. + +This is the key matrix (no label means the key from layer 0 will be used): + +``` +0: no mod +╔════╦════╦════╦════╦════╦════╦════╦════╦════╦════╦════╦═════════╗ +║ Esc║ 1 ║ 2 ║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║ 0 ║Backspace║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╦════╣ +║ q ║ w ║ e ║ r ║ t ║ y ║ u ║ i ║ o ║ p ║ [ ║ ] ║ \ ║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╩════╣ +║ a ║ s ║ d ║ f ║ g ║ h ║ j ║ k ║ l ║ ; ║ ' ║ Return ║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬═════════╣ +║ z ║ x ║ c ║ v ║ b ║ n ║ m ║ , ║ . ║ / ║ ▲ ║ Shift ║ +╠════╬════╬════╬════╬════╩════╩════╬════╬════╬════╬════╬════╦════╣ +║Ctrl║ Fn ║Shft║AltG║ Space ║ - ║ = ║ ◀ ║ ▼ ║ ▶ ║Ctrl║ +╚════╩════╩════╩════╩══════════════╩════╩════╩════╩════╩════╩════╝ +1: mod shift +╔════╦════╦════╦════╦════╦════╦════╦════╦════╦════╦════╦═════════╗ +║ ~ ║ ! ║ @ ║ # ║ $ ║ % ║ ^ ║ & ║ * ║ ( ║ ) ║ ║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╦════╣ +║ 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 ║ < ║ > ║ ? ║ ║░░░░░░░░░║ +╠════╬════╬════╬════╬════╩════╩════╬════╬════╬════╬════╬════╦════╣ +║ ║ ║░░░░║ ║ ║ _ ║ + ║ ║ ║ ║ ║ +╚════╩════╩════╩════╩══════════════╩════╩════╩════╩════╩════╩════╝ +2: mod altgr +╔════╦════╦════╦════╦════╦════╦════╦════╦════╦════╦════╦═════════╗ +║ ║ ¹ ║ ² ║ ³ ║ ║ € ║ ║ ║ ║ ║ ║ ║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╦════╣ +║ ä ║ ║ ║ ║ ║ ü ║ ║ ║ ║ ö ║ « ║ » ║ ¬ ║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╩════╣ +║ ║ ß ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬═════════╣ +║ ║ ║ ║ ║ ║ ║ µ ║ ║ ║ ¿ ║ ║ ║ +╠════╬════╬════╬════╬════╩════╩════╬════╬════╬════╬════╬════╦════╣ +║ ║ ║ ║░░░░║ ║ ║ ║ ║ ║ ║ ║ +╚════╩════╩════╩════╩══════════════╩════╩════╩════╩════╩════╩════╝ +3: mod fn +╔════╦════╦════╦════╦════╦════╦════╦════╦════╦════╦════╦═════════╗ +║ Esc║ F1 ║ F2 ║ F3 ║ F4 ║ F5 ║ F6 ║ F7 ║ F8 ║ F9 ║ F10║ Delete ║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╦════╣ +║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ F11║ F12║ ║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╩════╣ +║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ` ║ Super ║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬═════════╣ +║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║PgUp║ ║ +╠════╬════╬════╬════╬════╩════╩════╬════╬════╬════╬════╬════╦════╣ +║ ║░░░░║ ║ ║ Tab ║ ║ ║Pos1║PgDn║ End║ ║ +╚════╩════╩════╩════╩══════════════╩════╩════╩════╩════╩════╩════╝ +``` + diff --git a/keyboards/mkbd65/keymaps/ansi/keymap.c b/keyboards/mkbd65/keymaps/ansi/keymap.c new file mode 100644 index 0000000000..b023feab91 --- /dev/null +++ b/keyboards/mkbd65/keymaps/ansi/keymap.c @@ -0,0 +1,23 @@ +// Copyright 2023 XenGi (@XenGi) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H +#include "quantum.h" + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_ansi( /* Base layer */ + QK_GESC, 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_LBRC, KC_RBRC, 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_ENT, + 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, MO(1), KC_LSFT, OSM(MOD_RALT), KC_SPC, KC_MINS, KC_EQL, KC_LEFT, KC_DOWN, KC_RGHT, KC_RCTL + ), + + [1] = LAYOUT_ansi( /* Function layer */ + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_DEL, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_F11, KC_F12, KC_APP, + _______, _______, _______, _______, _______, _______, _______, _______, KC_MPLY, KC_MSTP, KC_GRV, KC_LGUI, + _______, _______, _______, _______, _______, _______, _______, KC_VOLD, KC_VOLU, KC_MUTE, KC_PGUP, _______, + _______, _______, _______, _______, KC_TAB, _______, _______, KC_HOME, KC_PGDN, KC_END, _______ + ) +}; diff --git a/keyboards/mkbd65/keymaps/de/README.md b/keyboards/mkbd65/keymaps/de/README.md new file mode 100644 index 0000000000..c37325f914 --- /dev/null +++ b/keyboards/mkbd65/keymaps/de/README.md @@ -0,0 +1,57 @@ +# The German keymap for mkbd65 rev1 by XenGi + +This is the german layout for the mkbd65 keyboard. You can use it as a reference for other ISO based layouts. + +This is the key matrix (no label means the key from layer 0 will be used): + +``` +0: no mod +╔════╦════╦════╦════╦════╦════╦════╦════╦════╦════╦════╦═════════╗ +║ Esc║ 1 ║ 2 ║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║ 0 ║Backspace║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╦════╣ +║ q ║ w ║ e ║ r ║ t ║ z ║ u ║ i ║ o ║ p ║ ü ║ + ║ ║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╣ Ret║ +║ a ║ s ║ d ║ f ║ g ║ h ║ j ║ k ║ l ║ ö ║ ä ║ # ║ ║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╣ +║ y ║ x ║ c ║ v ║ b ║ n ║ m ║ , ║ . ║ - ║ ▲ ║ < ║Shft║ +╠════╬════╬════╬════╬════╩════╩════╬════╬════╬════╬════╬════╬════╣ +║Ctrl║ Fn ║Shft║AltG║ Space ║ ß ║ ´ ║ ◀ ║ ▼ ║ ▶ ║Ctrl║ +╚════╩════╩════╩════╩══════════════╩════╩════╩════╩════╩════╩════╝ +1: mod shift +╔════╦════╦════╦════╦════╦════╦════╦════╦════╦════╦════╦═════════╗ +║ ° ║ ! ║ " ║ § ║ $ ║ % ║ & ║ / ║ ( ║ ) ║ = ║ ║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╦════╣ +║ 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 ║ ; ║ : ║ _ ║ ║ > ║░░░░║ +╠════╬════╬════╬════╬════╩════╩════╬════╬════╬════╬════╬════╬════╣ +║ ║ ║░░░░║ ║ ║ ? ║ ` ║ ║ ║ ║ ║ +╚════╩════╩════╩════╩══════════════╩════╩════╩════╩════╩════╩════╝ +2: mod altgr +╔════╦════╦════╦════╦════╦════╦════╦════╦════╦════╦════╦═════════╗ +║ ║ ¹ ║ ² ║ ³ ║ ║ ║ ║ { ║ [ ║ ] ║ } ║ ║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╦════╣ +║ @ ║ ║ € ║ ║ ║ ║ ║ ║ ║ ║ ║ ~ ║ ║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╣ ║ +║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╣ +║ ║ ║ ║ ║ ║ ║ µ ║ ║ ║ ║ ║ | ║ ║ +╠════╬════╬════╬════╬════╩════╩════╬════╬════╬════╬════╬════╬════╣ +║ ║ ║ ║░░░░║ ║ \ ║ ║ ║ ║ ║ ║ +╚════╩════╩════╩════╩══════════════╩════╩════╩════╩════╩════╩════╝ +3: mod fn +╔════╦════╦════╦════╦════╦════╦════╦════╦════╦════╦════╦═════════╗ +║ Esc║ F1 ║ F2 ║ F3 ║ F4 ║ F5 ║ F6 ║ F7 ║ F8 ║ F9 ║ F10║ Delete ║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╦════╣ +║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ F11║ F12║ ║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╣Supr║ +║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ^ ║ ║ ║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╣ +║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║PgUp║ ║ ║ +╠════╬════╬════╬════╬════╩════╩════╬════╬════╬════╬════╬════╬════╣ +║ ║░░░░║ ║ ║ Tab ║ ║ ║Pos1║PgDn║ End║ ║ +╚════╩════╩════╩════╩══════════════╩════╩════╩════╩════╩════╩════╝ +``` + diff --git a/keyboards/mkbd65/keymaps/de/keymap.c b/keyboards/mkbd65/keymaps/de/keymap.c new file mode 100644 index 0000000000..6ba90e876f --- /dev/null +++ b/keyboards/mkbd65/keymaps/de/keymap.c @@ -0,0 +1,23 @@ +// Copyright 2023 XenGi (@XenGi) +// 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] = { + [0] = LAYOUT( /* Base layer */ + QK_GESC, DE_1, DE_2, DE_3, DE_4, DE_5, DE_6, DE_7, DE_8, DE_9, DE_0, KC_BSPC, KC_BSPC, + DE_Q, DE_W, DE_E, DE_R, DE_T, DE_Z, DE_U, DE_I, DE_O, DE_P, DE_UDIA, DE_PLUS, KC_ENT, + DE_A, DE_S, DE_D, DE_F, DE_G, DE_H, DE_J, DE_K, DE_L, DE_ODIA, DE_ADIA, DE_HASH, KC_ENT, + DE_Y, DE_X, DE_C, DE_V, DE_B, DE_N, DE_M, DE_COMM, DE_DOT, DE_MINS, KC_UP, DE_LABK, KC_RSFT, + KC_LCTL, MO(1), KC_LSFT, OSM(MOD_RALT), KC_SPC, KC_SPC, KC_SPC, DE_SS, DE_ACUT, KC_LEFT, KC_DOWN, KC_RGHT, KC_RCTL + ), + + [1] = LAYOUT( /* Function layer */ + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_DEL, KC_DEL, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_F11, KC_F12, KC_APP, + _______, _______, _______, _______, _______, _______, _______, _______, KC_MPLY, KC_MSTP, KC_GRV, KC_LGUI, KC_LGUI, + _______, _______, _______, _______, _______, _______, _______, KC_VOLD, KC_VOLU, KC_MUTE, KC_PGUP, _______, _______, + _______, _______, _______, _______, KC_TAB, KC_TAB, KC_TAB, _______, _______, KC_HOME, KC_PGDN, KC_END, _______ + ) +}; diff --git a/keyboards/mkbd65/keymaps/en_us_intl/README.md b/keyboards/mkbd65/keymaps/en_us_intl/README.md new file mode 100644 index 0000000000..f68aaf41fc --- /dev/null +++ b/keyboards/mkbd65/keymaps/en_us_intl/README.md @@ -0,0 +1,59 @@ +# The English US International keymap for mkbd65 rev0 by XenGi + +This is the default layout for the mkbd65 keyboard. You can use it as a reference for other layouts. + +It is based on the "English (intl., with AltGr dead keys)" layout. + +This is the key matrix (no label means the key from layer 0 will be used): + +``` +0: no mod +╔════╦════╦════╦════╦════╦════╦════╦════╦════╦════╦════╦═════════╗ +║ Esc║ 1 ║ 2 ║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║ 0 ║Backspace║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╦════╣ +║ q ║ w ║ e ║ r ║ t ║ y ║ u ║ i ║ o ║ p ║ [ ║ ] ║ \ ║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╩════╣ +║ a ║ s ║ d ║ f ║ g ║ h ║ j ║ k ║ l ║ ; ║ ' ║ Return ║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬═════════╣ +║ z ║ x ║ c ║ v ║ b ║ n ║ m ║ , ║ . ║ / ║ ▲ ║ Shift ║ +╠════╬════╬════╬════╬════╩════╩════╬════╬════╬════╬════╬════╦════╣ +║Ctrl║ Fn ║Shft║AltG║ Space ║ - ║ = ║ ◀ ║ ▼ ║ ▶ ║Ctrl║ +╚════╩════╩════╩════╩══════════════╩════╩════╩════╩════╩════╩════╝ +1: mod shift +╔════╦════╦════╦════╦════╦════╦════╦════╦════╦════╦════╦═════════╗ +║ ~ ║ ! ║ @ ║ # ║ $ ║ % ║ ^ ║ & ║ * ║ ( ║ ) ║ ║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╦════╣ +║ 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 ║ < ║ > ║ ? ║ ║░░░░░░░░░║ +╠════╬════╬════╬════╬════╩════╩════╬════╬════╬════╬════╬════╦════╣ +║ ║ ║░░░░║ ║ ║ _ ║ + ║ ║ ║ ║ ║ +╚════╩════╩════╩════╩══════════════╩════╩════╩════╩════╩════╩════╝ +2: mod altgr +╔════╦════╦════╦════╦════╦════╦════╦════╦════╦════╦════╦═════════╗ +║ ║ ¹ ║ ² ║ ³ ║ ║ € ║ ║ ║ ║ ║ ║ ║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╦════╣ +║ ä ║ ║ ║ ║ ║ ü ║ ║ ║ ║ ö ║ « ║ » ║ ¬ ║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╩════╣ +║ ║ ß ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬═════════╣ +║ ║ ║ ║ ║ ║ ║ µ ║ ║ ║ ¿ ║ ║ ║ +╠════╬════╬════╬════╬════╩════╩════╬════╬════╬════╬════╬════╦════╣ +║ ║ ║ ║░░░░║ ║ ║ ║ ║ ║ ║ ║ +╚════╩════╩════╩════╩══════════════╩════╩════╩════╩════╩════╩════╝ +3: mod fn +╔════╦════╦════╦════╦════╦════╦════╦════╦════╦════╦════╦═════════╗ +║ Esc║ F1 ║ F2 ║ F3 ║ F4 ║ F5 ║ F6 ║ F7 ║ F8 ║ F9 ║ F10║ Delete ║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╦════╣ +║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ F11║ F12║ ║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╩════╣ +║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ` ║ Super ║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬═════════╣ +║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║PgUp║ ║ +╠════╬════╬════╬════╬════╩════╩════╬════╬════╬════╬════╬════╦════╣ +║ ║░░░░║ ║ ║ Tab ║ ║ ║Pos1║PgDn║ End║ ║ +╚════╩════╩════╩════╩══════════════╩════╩════╩════╩════╩════╩════╝ +``` + diff --git a/keyboards/mkbd65/keymaps/en_us_intl/keymap.c b/keyboards/mkbd65/keymaps/en_us_intl/keymap.c new file mode 100644 index 0000000000..96d7855ff8 --- /dev/null +++ b/keyboards/mkbd65/keymaps/en_us_intl/keymap.c @@ -0,0 +1,22 @@ +// Copyright 2023 XenGi (@XenGi) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_all( /* Base layer */ + QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, KC_BSPC, + KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, 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_ENT, KC_ENT, + 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_RSFT, + KC_LCTL, MO(1), KC_LSFT, OSM(MOD_RALT), KC_SPC, KC_SPC, KC_SPC, KC_MINS, KC_EQL, KC_LEFT, KC_DOWN, KC_RGHT, KC_RCTL + ), + + [1] = LAYOUT_all( /* Function layer */ + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_DEL, KC_DEL, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_F11, KC_F12, KC_APP, + _______, _______, _______, _______, _______, _______, _______, _______, KC_MPLY, KC_MSTP, KC_GRV, KC_LGUI, KC_LGUI, + _______, _______, _______, _______, _______, _______, _______, KC_VOLD, KC_VOLU, KC_MUTE, KC_PGUP, _______, _______, + _______, _______, _______, _______, KC_TAB, KC_TAB, KC_TAB, _______, _______, KC_HOME, KC_PGDN, KC_END, _______ + ) +}; diff --git a/keyboards/mkbd65/keymaps/iso/README.md b/keyboards/mkbd65/keymaps/iso/README.md new file mode 100644 index 0000000000..9a5f9b176f --- /dev/null +++ b/keyboards/mkbd65/keymaps/iso/README.md @@ -0,0 +1,55 @@ +# The iso-like keymap for mkbd65 rev0 + +It's actually just ANSI but with an upright `Enter` key. + +``` +0: no mod +╔════╦════╦════╦════╦════╦════╦════╦════╦════╦════╦════╦═════════╗ +║ Esc║ 1 ║ 2 ║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║ 0 ║Backspace║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╦════╣ +║ q ║ w ║ e ║ r ║ t ║ y ║ u ║ i ║ o ║ p ║ [ ║ ] ║ ║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╣ Ret║ +║ a ║ s ║ d ║ f ║ g ║ h ║ j ║ k ║ l ║ ; ║ ' ║ \ ║ ║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╩════╣ +║ z ║ x ║ c ║ v ║ b ║ n ║ m ║ , ║ . ║ / ║ ▲ ║ Shift ║ +╠════╬════╬════╬════╬════╩════╩════╬════╬════╬════╬════╬════╦════╣ +║Ctrl║ Fn ║Shft║AltG║ SPACE ║ - ║ = ║ ◀ ║ ▼ ║ ▶ ║Ctrl║ +╚════╩════╩════╩════╩══════════════╩════╩════╩════╩════╩════╩════╝ +1: mod shift +╔════╦════╦════╦════╦════╦════╦════╦════╦════╦════╦════╦═════════╗ +║ ~ ║ ! ║ @ ║ # ║ $ ║ % ║ ^ ║ & ║ * ║ ( ║ ) ║Backspace║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╦════╣ +║ Q ║ W ║ E ║ R ║ T ║ Y ║ U ║ I ║ O ║ P ║ { ║ } ║ ║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╣ Ret║ +║ A ║ S ║ D ║ F ║ G ║ H ║ J ║ K ║ L ║ : ║ " ║ | ║ ║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╩════╣ +║ Z ║ X ║ C ║ V ║ B ║ N ║ M ║ < ║ > ║ ? ║ ▲ ║░░░░░░░░░║ +╠════╬════╬════╬════╬════╩════╩════╬════╬════╬════╬════╬════╦════╣ +║Ctrl║ Fn ║░░░░║AltG║ SPACE ║ _ ║ + ║ ◀ ║ ▼ ║ ▶ ║Ctrl║ +╚════╩════╩════╩════╩══════════════╩════╩════╩════╩════╩════╩════╝ +2: mod alt +╔════╦════╦════╦════╦════╦════╦════╦════╦════╦════╦════╦═════════╗ +║ ║ ¹ ║ ² ║ ³ ║ ║ € ║ ║ ║ ║ ║ ║Backspace║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╦════╣ +║ ä ║ ║ ║ ║ ║ ü ║ ║ ║ ║ ö ║ « ║ » ║ ║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╣ Ret║ +║ ║ ß ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ¬ ║ ║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╩════╣ +║ ║ ║ ║ ║ ║ ║ µ ║ ║ ║ ¿ ║ ▲ ║ Shift ║ +╠════╬════╬════╬════╬════╩════╩════╬════╬════╬════╬════╬════╦════╣ +║Ctrl║ Fn ║Shft║░░░░║ SPACE ║ ║ ║ ◀ ║ ▼ ║ ▶ ║Ctrl║ +╚════╩════╩════╩════╩══════════════╩════╩════╩════╩════╩════╩════╝ +3: mod fn +╔════╦════╦════╦════╦════╦════╦════╦════╦════╦════╦════╦═════════╗ +║ Esc║ F1 ║ F2 ║ F3 ║ F4 ║ F5 ║ F6 ║ F7 ║ F8 ║ F9 ║ F10║ Delete ║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╦════╣ +║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ F11║ F12║ ║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╣Supr║ +║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╩════╣ +║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║PgUp║ Shift ║ +╠════╬════╬════╬════╬════╩════╩════╬════╬════╬════╬════╬════╦════╣ +║Ctrl║░░░░║Shft║AltG║ Tab ║ ║ ` ║Pos1║PgDn║ End║Ctrl║ +╚════╩════╩════╩════╩══════════════╩════╩════╩════╩════╩════╩════╝ +``` + diff --git a/keyboards/mkbd65/keymaps/iso/keymap.c b/keyboards/mkbd65/keymaps/iso/keymap.c new file mode 100644 index 0000000000..a7dd99463e --- /dev/null +++ b/keyboards/mkbd65/keymaps/iso/keymap.c @@ -0,0 +1,22 @@ +// Copyright 2023 XenGi (@XenGi) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_iso( /* Base layer */ + QK_GESC, 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_LBRC, KC_RBRC, + 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_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, MO(1), KC_LSFT, OSM(MOD_RALT), KC_SPC, KC_MINS, KC_EQL, KC_LEFT, KC_DOWN, KC_RGHT, KC_RCTL + ), + + [1] = LAYOUT_iso( /* Function layer */ + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_DEL, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_F11, KC_F12, + _______, _______, _______, _______, _______, _______, _______, _______, KC_MPLY, KC_MSTP, KC_GRV, KC_APP, KC_LGUI, + _______, _______, _______, _______, _______, _______, _______, KC_VOLD, KC_VOLU, KC_MUTE, KC_PGUP, _______, + _______, _______, _______, _______, KC_TAB, _______, _______, KC_HOME, KC_PGDN, KC_END, _______ + ), +}; diff --git a/keyboards/mkbd65/mkbd65.png b/keyboards/mkbd65/mkbd65.png new file mode 100644 index 0000000000..b873771c74 Binary files /dev/null and b/keyboards/mkbd65/mkbd65.png differ diff --git a/keyboards/mkbd65/rev0/keyboard.json b/keyboards/mkbd65/rev0/keyboard.json new file mode 100644 index 0000000000..35269aaa5c --- /dev/null +++ b/keyboards/mkbd65/rev0/keyboard.json @@ -0,0 +1,174 @@ +{ + "manufacturer": "XenGi", + "keyboard_name": "mkbd65", + "maintainer": "XenGi", + "bootloader": "atmel-dfu", + "bootloader_instructions": "Press the button marked RESET on the back of the PCB", + "bootmagic": { + "enabled": true, + "matrix": [0, 0] + }, + "build": { + "lto": true + }, + "debounce": 5, + "diode_direction": "ROW2COL", + "encoder": { + "enabled": false + }, + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true, + "rgb_matrix": false, + "rgblight": false + }, + "matrix_pins": { + "cols": ["D4", "D7", "B4", "B5", "B6", "C6", "C7", "F7", "F6", "F5", "F4", "F1", "F0"], + "rows": ["D5", "D3", "D2", "D1", "D0"] + }, + "processor": "atmega32u4", + "split": { + "enabled": false + }, + "tags": ["mobile", "65%"], + "url": "https://mkbd65.xengi.de", + "usb": { + "device_version": "0.0.1", + "pid": "0x4803", + "vid": "0x1209" + }, + "layouts": { + "LAYOUT_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": "Backspace", "matrix": [0, 11], "x": 11, "y": 0, "w": 2}, + {"label": "Q", "matrix": [1, 0], "x": 1, "y": 0}, + {"label": "W", "matrix": [1, 1], "x": 1, "y": 1}, + {"label": "E", "matrix": [1, 2], "x": 1, "y": 2}, + {"label": "R", "matrix": [1, 3], "x": 1, "y": 3}, + {"label": "T", "matrix": [1, 4], "x": 1, "y": 4}, + {"label": "Y", "matrix": [1, 5], "x": 1, "y": 5}, + {"label": "U", "matrix": [1, 6], "x": 1, "y": 6}, + {"label": "I", "matrix": [1, 7], "x": 1, "y": 7}, + {"label": "O", "matrix": [1, 8], "x": 1, "y": 8}, + {"label": "P", "matrix": [1, 9], "x": 1, "y": 9}, + {"label": "[", "matrix": [1, 10], "x": 1, "y": 10}, + {"label": "]", "matrix": [1, 11], "x": 1, "y": 11}, + {"label": "\\", "matrix": [1, 12], "x": 1, "y": 12}, + {"label": "A", "matrix": [2, 0], "x": 2, "y": 0}, + {"label": "S", "matrix": [2, 1], "x": 2, "y": 1}, + {"label": "D", "matrix": [2, 2], "x": 2, "y": 2}, + {"label": "F", "matrix": [2, 3], "x": 2, "y": 3}, + {"label": "G", "matrix": [2, 4], "x": 2, "y": 4}, + {"label": "H", "matrix": [2, 5], "x": 2, "y": 5}, + {"label": "J", "matrix": [2, 6], "x": 2, "y": 6}, + {"label": "K", "matrix": [2, 7], "x": 2, "y": 7}, + {"label": "L", "matrix": [2, 8], "x": 2, "y": 8}, + {"label": ";", "matrix": [2, 9], "x": 2, "y": 9}, + {"label": "'", "matrix": [2, 10], "x": 2, "y": 10}, + {"label": "Enter", "matrix": [2, 11], "x": 2, "y": 11, "w": 2}, + {"label": "Z", "matrix": [3, 0], "x": 3, "y": 0}, + {"label": "X", "matrix": [3, 1], "x": 3, "y": 1}, + {"label": "C", "matrix": [3, 2], "x": 3, "y": 2}, + {"label": "V", "matrix": [3, 3], "x": 3, "y": 3}, + {"label": "B", "matrix": [3, 4], "x": 3, "y": 4}, + {"label": "N", "matrix": [3, 5], "x": 3, "y": 5}, + {"label": "M", "matrix": [3, 6], "x": 3, "y": 6}, + {"label": ",", "matrix": [3, 7], "x": 3, "y": 7}, + {"label": ".", "matrix": [3, 8], "x": 3, "y": 8}, + {"label": "/", "matrix": [3, 9], "x": 3, "y": 9}, + {"label": "Up", "matrix": [3, 10], "x": 3, "y": 10}, + {"label": "ShiftR", "matrix": [3, 11], "x": 3, "y": 11, "w": 2}, + {"label": "CtrlL", "matrix": [4, 0], "x": 4, "y": 0}, + {"label": "Fn", "matrix": [4, 1], "x": 4, "y": 1}, + {"label": "ShiftL", "matrix": [4, 2], "x": 4, "y": 2}, + {"label": "Alt", "matrix": [4, 3], "x": 4, "y": 3}, + {"label": "Space", "matrix": [4, 4], "x": 4, "y": 4, "w": 3}, + {"label": "-", "matrix": [4, 7], "x": 4, "y": 7}, + {"label": "=", "matrix": [4, 8], "x": 4, "y": 8}, + {"label": "Left", "matrix": [4, 9], "x": 4, "y": 9}, + {"label": "Down", "matrix": [4, 10], "x": 4, "y": 10}, + {"label": "Right", "matrix": [4, 11], "x": 4, "y": 11}, + {"label": "CtrlR", "matrix": [4, 12], "x": 4, "y": 12} + ] + }, + "LAYOUT_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": "Backspace", "matrix": [0, 11], "x": 11, "y": 0, "w": 2}, + {"label": "Q", "matrix": [1, 0], "x": 1, "y": 0}, + {"label": "W", "matrix": [1, 1], "x": 1, "y": 1}, + {"label": "E", "matrix": [1, 2], "x": 1, "y": 2}, + {"label": "R", "matrix": [1, 3], "x": 1, "y": 3}, + {"label": "T", "matrix": [1, 4], "x": 1, "y": 4}, + {"label": "Y", "matrix": [1, 5], "x": 1, "y": 5}, + {"label": "U", "matrix": [1, 6], "x": 1, "y": 6}, + {"label": "I", "matrix": [1, 7], "x": 1, "y": 7}, + {"label": "O", "matrix": [1, 8], "x": 1, "y": 8}, + {"label": "P", "matrix": [1, 9], "x": 1, "y": 9}, + {"label": "[", "matrix": [1, 10], "x": 1, "y": 10}, + {"label": "]", "matrix": [1, 11], "x": 1, "y": 11}, + {"label": "A", "matrix": [2, 0], "x": 2, "y": 0}, + {"label": "S", "matrix": [2, 1], "x": 2, "y": 1}, + {"label": "D", "matrix": [2, 2], "x": 2, "y": 2}, + {"label": "F", "matrix": [2, 3], "x": 2, "y": 3}, + {"label": "G", "matrix": [2, 4], "x": 2, "y": 4}, + {"label": "H", "matrix": [2, 5], "x": 2, "y": 5}, + {"label": "J", "matrix": [2, 6], "x": 2, "y": 6}, + {"label": "K", "matrix": [2, 7], "x": 2, "y": 7}, + {"label": "L", "matrix": [2, 8], "x": 2, "y": 8}, + {"label": ";", "matrix": [2, 9], "x": 2, "y": 9}, + {"label": "'", "matrix": [2, 10], "x": 2, "y": 10}, + {"label": "\\", "matrix": [2, 11], "x": 2, "y": 11}, + {"label": "Enter", "matrix": [1, 12], "x": 1, "y": 12, "h": 2}, + {"label": "Z", "matrix": [3, 0], "x": 3, "y": 0}, + {"label": "X", "matrix": [3, 1], "x": 3, "y": 1}, + {"label": "C", "matrix": [3, 2], "x": 3, "y": 2}, + {"label": "V", "matrix": [3, 3], "x": 3, "y": 3}, + {"label": "B", "matrix": [3, 4], "x": 3, "y": 4}, + {"label": "N", "matrix": [3, 5], "x": 3, "y": 5}, + {"label": "M", "matrix": [3, 6], "x": 3, "y": 6}, + {"label": ",", "matrix": [3, 7], "x": 3, "y": 7}, + {"label": ".", "matrix": [3, 8], "x": 3, "y": 8}, + {"label": "/", "matrix": [3, 9], "x": 3, "y": 9}, + {"label": "Up", "matrix": [3, 10], "x": 3, "y": 10}, + {"label": "ShiftR", "matrix": [3, 11], "x": 3, "y": 11, "w": 2}, + {"label": "CtrlL", "matrix": [4, 0], "x": 4, "y": 0}, + {"label": "Fn", "matrix": [4, 1], "x": 4, "y": 1}, + {"label": "ShiftL", "matrix": [4, 2], "x": 4, "y": 2}, + {"label": "Alt", "matrix": [4, 3], "x": 4, "y": 3}, + {"label": "Space", "matrix": [4, 4], "x": 4, "y": 4, "w": 3}, + {"label": "-", "matrix": [4, 7], "x": 4, "y": 7}, + {"label": "=", "matrix": [4, 8], "x": 4, "y": 8}, + {"label": "Left", "matrix": [4, 9], "x": 4, "y": 9}, + {"label": "Down", "matrix": [4, 10], "x": 4, "y": 10}, + {"label": "Right", "matrix": [4, 11], "x": 4, "y": 11}, + {"label": "CtrlR", "matrix": [4, 12], "x": 4, "y": 12} + ] + } + } +} \ No newline at end of file diff --git a/keyboards/mkbd65/rev0/mkbd65.c b/keyboards/mkbd65/rev0/mkbd65.c new file mode 100644 index 0000000000..2cde260fa0 --- /dev/null +++ b/keyboards/mkbd65/rev0/mkbd65.c @@ -0,0 +1,6 @@ +// Copyright 2023 XenGi (@XenGi) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "mkbd65.h" +#include "quantum.h" + diff --git a/keyboards/mkbd65/rev0/mkbd65.h b/keyboards/mkbd65/rev0/mkbd65.h new file mode 100644 index 0000000000..798a87ce44 --- /dev/null +++ b/keyboards/mkbd65/rev0/mkbd65.h @@ -0,0 +1,70 @@ +// Copyright 2023 XenGi (@XenGi) +// SPDX-License-Identifier: GPL-2.0-or-later + +#ifndef MKBD65_H +#define MKBD65_H + +/* LAYOUT_ansi + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ + * │ │ │ │ │ │ │ │ │ │ │ │ 2.0U │ + * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┬───┤ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┴───┤ + * │ │ │ │ │ │ │ │ │ │ │ │ 2.0U │ + * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───────┤ + * │ │ │ │ │ │ │ │ │ │ │ │ 2.0U │ + * ├───┼───┼───┼───┼───┴───┴───┼───┼───┼───┼───┼───┬───┤ + * │ │ │ │ │ 3.0U │ │ │ │ │ │ │ + * └───┴───┴───┴───┴───────────┴───┴───┴───┴───┴───┴───┘ + * This is a shortcut to help you visually see your layout. + * + * The first section contains all of the arguments representing the physical + * layout of the board and position of the keys. + * + * The second converts the arguments into a two-dimensional array which + * represents the switch matrix. + */ +#define LAYOUT_ansi( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K010, K011, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K110, K111, K112, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K210, K211, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K310, K311, \ + K40, K41, K42, K43, K44, K47, K48, K49, K410, K411, K412 \ +) \ +{ \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K010, K011, KC_NO }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K110, K111, K112 }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K210, K211, KC_NO }, \ + { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K310, K311, KC_NO }, \ + { K40, K41, K42, K43, K44, KC_NO, KC_NO, K47, K48, K49, K410, K411, K412 } \ +} + +/* LAYOUT_iso + * ╔═══╤═══╤═══╤═══╤═══╤═══╤═══╤═══╤═══╤═══╤═══╤═══════╗ + * ║ │ │ │ │ │ │ │ │ │ │ │ 2.0U ║ + * ╟───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┬───╢ + * ║ │ │ │ │ │ │ │ │ │ │ │ │ ║ + * ╟───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤ ║ + * ║ │ │ │ │ │ │ │ │ │ │ │ │ ║ + * ╟───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┴───╢ + * ║ │ │ │ │ │ │ │ │ │ │ │ 2.0U ║ + * ╟───┼───┼───┼───┼───┴───┴───┼───┼───┼───┼───┼───┬───╢ + * ║ │ │ │ │ 3.0U │ │ │ │ │ │ ║ + * ╚═══╧═══╧═══╧═══╧═══════════╧═══╧═══╧═══╧═══╧═══╧═══╝ + */ +#define LAYOUT_iso( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K010, K011, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K110, K111, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K210, K211, K212, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K310, K311, \ + K40, K41, K42, K43, K44, K47, K48, K49, K410, K411, K412 \ +) \ +{ \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K010, K011, KC_NO }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K110, K111, KC_NO }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K210, K211, K212 }, \ + { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K310, K311, KC_NO }, \ + { K40, K41, K42, K43, K44, KC_NO, KC_NO, K47, K48, K49, K410, K411, K412 } \ +} + +#endif diff --git a/keyboards/mkbd65/rev0/rules.mk b/keyboards/mkbd65/rev0/rules.mk new file mode 100644 index 0000000000..de2da8afe1 --- /dev/null +++ b/keyboards/mkbd65/rev0/rules.mk @@ -0,0 +1,4 @@ +F_CPU = 16000000 +ARCH = AVR8 +F_USB = $(F_CPU) +OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT diff --git a/keyboards/mkbd65/rev1/keyboard.json b/keyboards/mkbd65/rev1/keyboard.json new file mode 100644 index 0000000000..2329e8bc52 --- /dev/null +++ b/keyboards/mkbd65/rev1/keyboard.json @@ -0,0 +1,187 @@ +{ + "manufacturer": "XenGi", + "keyboard_name": "mkbd65", + "maintainer": "XenGi", + "bootloader": "atmel-dfu", + "diode_direction": "ROW2COL", + "debounce": 5, + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true, + "rgb_matrix": false, + "rgblight": false + }, + "bootmagic": { + "enabled": true, + "matrix": [0, 0] + }, + "matrix_pins": { + "cols": ["A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "B2", "B10", "B11"], + "rows": ["B12", "B13", "B14", "B15", "A8"] + }, + "processor": "atmega32u4", + "url": "https://mkbd65.xengi.de", + "bootloader_instructions": "Press the button marked RESET on the back of the PCB", + "tags": ["mobile", "65%"], + "usb": { + "device_version": "1.0.0", + "pid": "0x4803", + "vid": "0x1209" + }, + "build": { + "lto": true + }, + "layouts": { + "LAYOUT_ansi": { + "layout": [ + { "matrix": [0, 0], "x": 0, "y": 0, "label": "Esc" }, + { "matrix": [0, 1], "x": 1, "y": 0, "label": "1" }, + { "matrix": [0, 2], "x": 2, "y": 0, "label": "2" }, + { "matrix": [0, 3], "x": 3, "y": 0, "label": "3" }, + { "matrix": [0, 4], "x": 4, "y": 0, "label": "4" }, + { "matrix": [0, 5], "x": 5, "y": 0, "label": "5" }, + { "matrix": [0, 6], "x": 6, "y": 0, "label": "6" }, + { "matrix": [0, 7], "x": 7, "y": 0, "label": "7" }, + { "matrix": [0, 8], "x": 8, "y": 0, "label": "8" }, + { "matrix": [0, 9], "x": 9, "y": 0, "label": "9" }, + { "matrix": [0, 10], "x": 10, "y": 0, "label": "0" }, + { "matrix": [0, 11], "x": 11, "y": 0, "label": "Backspace" }, + { "matrix": [0, 12], "x": 12, "y": 0, "label": "Backspace" }, + + { "matrix": [1, 0], "x": 1, "y": 0, "label": "Q" }, + { "matrix": [1, 1], "x": 1, "y": 1, "label": "W" }, + { "matrix": [1, 2], "x": 1, "y": 2, "label": "E" }, + { "matrix": [1, 3], "x": 1, "y": 3, "label": "R" }, + { "matrix": [1, 4], "x": 1, "y": 4, "label": "T" }, + { "matrix": [1, 5], "x": 1, "y": 5, "label": "Y" }, + { "matrix": [1, 6], "x": 1, "y": 6, "label": "U" }, + { "matrix": [1, 7], "x": 1, "y": 7, "label": "I" }, + { "matrix": [1, 8], "x": 1, "y": 8, "label": "O" }, + { "matrix": [1, 9], "x": 1, "y": 9, "label": "P" }, + { "matrix": [1, 10], "x": 1, "y": 10, "label": "[" }, + { "matrix": [1, 11], "x": 1, "y": 11, "label": "]" }, + { "matrix": [1, 12], "x": 1, "y": 12, "label": "\\" }, + + { "matrix": [2, 0], "x": 2, "y": 0, "label": "A" }, + { "matrix": [2, 1], "x": 2, "y": 1, "label": "S" }, + { "matrix": [2, 2], "x": 2, "y": 2, "label": "D" }, + { "matrix": [2, 3], "x": 2, "y": 3, "label": "F" }, + { "matrix": [2, 4], "x": 2, "y": 4, "label": "G" }, + { "matrix": [2, 5], "x": 2, "y": 5, "label": "H" }, + { "matrix": [2, 6], "x": 2, "y": 6, "label": "J" }, + { "matrix": [2, 7], "x": 2, "y": 7, "label": "K" }, + { "matrix": [2, 8], "x": 2, "y": 8, "label": "L" }, + { "matrix": [2, 9], "x": 2, "y": 9, "label": ";" }, + { "matrix": [2, 10], "x": 2, "y": 10, "label": "'" }, + { "matrix": [2, 11], "x": 2, "y": 11, "label": "Enter" }, + { "matrix": [2, 12], "x": 2, "y": 12, "label": "Enter" }, + + { "matrix": [3, 0], "x": 3, "y": 0, "label": "Z" }, + { "matrix": [3, 1], "x": 3, "y": 1, "label": "X" }, + { "matrix": [3, 2], "x": 3, "y": 2, "label": "C" }, + { "matrix": [3, 3], "x": 3, "y": 3, "label": "V" }, + { "matrix": [3, 4], "x": 3, "y": 4, "label": "B" }, + { "matrix": [3, 5], "x": 3, "y": 5, "label": "N" }, + { "matrix": [3, 6], "x": 3, "y": 6, "label": "M" }, + { "matrix": [3, 7], "x": 3, "y": 7, "label": "," }, + { "matrix": [3, 8], "x": 3, "y": 8, "label": "." }, + { "matrix": [3, 9], "x": 3, "y": 9, "label": "/" }, + { "matrix": [3, 10], "x": 3, "y": 10, "label": "Up" }, + { "matrix": [3, 11], "x": 3, "y": 11, "w": 2, "label": "RShift" }, + { "matrix": [3, 12], "x": 3, "y": 11, "w": 2, "label": "RShift" }, + + { "matrix": [4, 0], "x": 4, "y": 0, "label": "LCtrl" }, + { "matrix": [4, 1], "x": 4, "y": 1, "label": "Fn" }, + { "matrix": [4, 2], "x": 4, "y": 2, "label": "LShift" }, + { "matrix": [4, 3], "x": 4, "y": 3, "label": "Alt" }, + { "matrix": [4, 4], "x": 4, "y": 4, "label": "Space" }, + { "matrix": [4, 5], "x": 4, "y": 5, "label": "Space" }, + { "matrix": [4, 6], "x": 4, "y": 6, "label": "Space" }, + { "matrix": [4, 7], "x": 4, "y": 7, "label": "-" }, + { "matrix": [4, 8], "x": 4, "y": 8, "label": "=" }, + { "matrix": [4, 9], "x": 4, "y": 9, "label": "Left" }, + { "matrix": [4, 10], "x": 4, "y": 10, "label": "Down" }, + { "matrix": [4, 11], "x": 4, "y": 11, "label": "Right" }, + { "matrix": [4, 12], "x": 4, "y": 12, "label": "RCtrl" } + ] + }, + "LAYOUT_iso": { + "layout": [ + { "matrix": [0, 0], "x": 0, "y": 0, "label": "Esc" }, + { "matrix": [0, 1], "x": 1, "y": 0, "label": "1" }, + { "matrix": [0, 2], "x": 2, "y": 0, "label": "2" }, + { "matrix": [0, 3], "x": 3, "y": 0, "label": "3" }, + { "matrix": [0, 4], "x": 4, "y": 0, "label": "4" }, + { "matrix": [0, 5], "x": 5, "y": 0, "label": "5" }, + { "matrix": [0, 6], "x": 6, "y": 0, "label": "6" }, + { "matrix": [0, 7], "x": 7, "y": 0, "label": "7" }, + { "matrix": [0, 8], "x": 8, "y": 0, "label": "8" }, + { "matrix": [0, 9], "x": 9, "y": 0, "label": "9" }, + { "matrix": [0, 10], "x": 10, "y": 0, "label": "0" }, + { "matrix": [0, 11], "x": 11, "y": 0, "label": "Backspace" }, + { "matrix": [0, 12], "x": 12, "y": 0, "label": "Backspace" }, + + { "matrix": [1, 0], "x": 1, "y": 0, "label": "Q" }, + { "matrix": [1, 1], "x": 1, "y": 1, "label": "W" }, + { "matrix": [1, 2], "x": 1, "y": 2, "label": "E" }, + { "matrix": [1, 3], "x": 1, "y": 3, "label": "R" }, + { "matrix": [1, 4], "x": 1, "y": 4, "label": "T" }, + { "matrix": [1, 5], "x": 1, "y": 5, "label": "Y" }, + { "matrix": [1, 6], "x": 1, "y": 6, "label": "U" }, + { "matrix": [1, 7], "x": 1, "y": 7, "label": "I" }, + { "matrix": [1, 8], "x": 1, "y": 8, "label": "O" }, + { "matrix": [1, 9], "x": 1, "y": 9, "label": "P" }, + { "matrix": [1, 10], "x": 1, "y": 10, "label": "[" }, + { "matrix": [1, 11], "x": 1, "y": 11, "label": "]" }, + { "matrix": [1, 12], "x": 1, "y": 12, "label": "Enter" }, + + { "matrix": [2, 0], "x": 2, "y": 0, "label": "A" }, + { "matrix": [2, 1], "x": 2, "y": 1, "label": "S" }, + { "matrix": [2, 2], "x": 2, "y": 2, "label": "D" }, + { "matrix": [2, 3], "x": 2, "y": 3, "label": "F" }, + { "matrix": [2, 4], "x": 2, "y": 4, "label": "G" }, + { "matrix": [2, 5], "x": 2, "y": 5, "label": "H" }, + { "matrix": [2, 6], "x": 2, "y": 6, "label": "J" }, + { "matrix": [2, 7], "x": 2, "y": 7, "label": "K" }, + { "matrix": [2, 8], "x": 2, "y": 8, "label": "L" }, + { "matrix": [2, 9], "x": 2, "y": 9, "label": ";" }, + { "matrix": [2, 10], "x": 2, "y": 10, "label": "'" }, + { "matrix": [2, 11], "x": 2, "y": 11, "label": "\\" }, + { "matrix": [2, 12], "x": 2, "y": 12, "label": "Enter" }, + + { "matrix": [3, 0], "x": 3, "y": 0, "label": "Z" }, + { "matrix": [3, 1], "x": 3, "y": 1, "label": "X" }, + { "matrix": [3, 2], "x": 3, "y": 2, "label": "C" }, + { "matrix": [3, 3], "x": 3, "y": 3, "label": "V" }, + { "matrix": [3, 4], "x": 3, "y": 4, "label": "B" }, + { "matrix": [3, 5], "x": 3, "y": 5, "label": "N" }, + { "matrix": [3, 6], "x": 3, "y": 6, "label": "M" }, + { "matrix": [3, 7], "x": 3, "y": 7, "label": "," }, + { "matrix": [3, 8], "x": 3, "y": 8, "label": "." }, + { "matrix": [3, 9], "x": 3, "y": 9, "label": "/" }, + { "matrix": [3, 10], "x": 3, "y": 10, "label": "Up" }, + { "matrix": [3, 11], "x": 3, "y": 11, "label": "RShift" }, + { "matrix": [3, 12], "x": 3, "y": 12, "label": "RShift" }, + + { "matrix": [4, 0], "x": 4, "y": 0, "label": "LCtrl" }, + { "matrix": [4, 1], "x": 4, "y": 1, "label": "Fn" }, + { "matrix": [4, 2], "x": 4, "y": 2, "label": "LShift" }, + { "matrix": [4, 3], "x": 4, "y": 3, "label": "Alt" }, + { "matrix": [4, 4], "x": 4, "y": 4, "label": "Space" }, + { "matrix": [4, 5], "x": 4, "y": 5, "label": "Space" }, + { "matrix": [4, 6], "x": 4, "y": 6, "label": "Space" }, + { "matrix": [4, 7], "x": 4, "y": 7, "label": "-" }, + { "matrix": [4, 8], "x": 4, "y": 8, "label": "=" }, + { "matrix": [4, 9], "x": 4, "y": 9, "label": "Left" }, + { "matrix": [4, 10], "x": 4, "y": 10, "label": "Down" }, + { "matrix": [4, 11], "x": 4, "y": 11, "label": "Right" }, + { "matrix": [4, 12], "x": 4, "y": 12, "label": "RCtrl" } + ] + } + } +} + diff --git a/keyboards/mkbd65/rev1/mkbd65.c b/keyboards/mkbd65/rev1/mkbd65.c new file mode 100644 index 0000000000..baca6508d4 --- /dev/null +++ b/keyboards/mkbd65/rev1/mkbd65.c @@ -0,0 +1,4 @@ +// Copyright 2023 XenGi (@XenGi) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "mkbd65.h" diff --git a/keyboards/mkbd65/rev1/mkbd65.h b/keyboards/mkbd65/rev1/mkbd65.h new file mode 100644 index 0000000000..759166bbcf --- /dev/null +++ b/keyboards/mkbd65/rev1/mkbd65.h @@ -0,0 +1,44 @@ +// Copyright 2023 XenGi (@XenGi) +// SPDX-License-Identifier: GPL-2.0-or-later + +#ifndef MKBD65_H +#define MKBD65_H + +#include "quantum.h" + +/* LAYOUT + * ╔═══╤═══╤═══╤═══╤═══╤═══╤═══╤═══╤═══╤═══╤═══╤═══╤═══╗ + * ║ │ │ │ │ │ │ │ │ │ │ │ │ ║ + * ╟───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───╢ + * ║ │ │ │ │ │ │ │ │ │ │ │ │ ║ + * ╟───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───╢ + * ║ │ │ │ │ │ │ │ │ │ │ │ │ ║ + * ╟───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───╢ + * ║ │ │ │ │ │ │ │ │ │ │ │ │ ║ + * ╟───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───╢ + * ║ │ │ │ │ │ │ │ │ │ │ │ │ ║ + * ╚═══╧═══╧═══╧═══╧═══╧═══╧═══╧═══╧═══╧═══╧═══╧═══╧═══╝ + * This is a shortcut to help you visually see your layout. + * + * The first section contains all of the arguments representing the physical + * layout of the board and position of the keys. + * + * The second converts the arguments into a two-dimensional array which + * represents the switch matrix. + */ +#define LAYOUT_all( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K010, K011, K012, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K110, K111, K112, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K210, K211, K212, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K310, K311, K312, \ + K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K410, K411, K412 \ +) \ +{ \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K010, K011, K012 }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K110, K111, K112 }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K210, K211, K212 }, \ + { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K310, K311, K312 }, \ + { K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K410, K411, K412 } \ +} + +#endif diff --git a/keyboards/mkbd65/rev1/rules.mk b/keyboards/mkbd65/rev1/rules.mk new file mode 100644 index 0000000000..e5116166cc --- /dev/null +++ b/keyboards/mkbd65/rev1/rules.mk @@ -0,0 +1,2 @@ +MCU = STM32F072 +BOOTLOADER = stm32-dfu diff --git a/keyboards/mkbd65/rules.mk b/keyboards/mkbd65/rules.mk new file mode 100644 index 0000000000..3287da9fbd --- /dev/null +++ b/keyboards/mkbd65/rules.mk @@ -0,0 +1,19 @@ +# AVR MCU Options +F_CPU = 16000000 +ARCH = AVR8 +F_USB = $(F_CPU) +OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT + +# Feature Options +MAGIC_ENABLE = no +AUDIO_ENABLE = no +KEY_OVERRIDE_ENABLE = no +LEADER_ENABLE = no +MIDI_ENABLE = no +UNICODE_ENABLE = no +BLUETOOTH_ENABLE = no +MUSIC_ENABLE = no +SPACE_CADET_ENABLE = no +GRAVE_ESC_ENABLE = yes +AVR_USE_MINIMAL_PRINTF = yes + diff --git a/keyboards/ml/gas75/keyboard.json b/keyboards/ml/gas75/keyboard.json index b7736884fc..280735eb14 100644 --- a/keyboards/ml/gas75/keyboard.json +++ b/keyboards/ml/gas75/keyboard.json @@ -6,8 +6,12 @@ "usb": { "vid": "0xC0B0", "pid": "0x6060", - "device_version": "0.0.1", - "force_nkro": true + "device_version": "0.0.1" + }, + "host": { + "default": { + "nkro": true + } }, "rgb_matrix": { "animations": { diff --git a/keyboards/mlego/m65/keymaps/default/keymap.c b/keyboards/mlego/m65/keymaps/default/keymap.c index 6ff4b5dc70..52ead0ab36 100644 --- a/keyboards/mlego/m65/keymaps/default/keymap.c +++ b/keyboards/mlego/m65/keymaps/default/keymap.c @@ -15,17 +15,17 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_LWR] = LAYOUT_ortho_5x13( KC_GRV , KC_MUTE, KC_VOLU, KC_VOLD, KC_MPRV, KC_MPLY, KC_MNXT, G(KC_P), KC_SLEP, KC_WAKE, KC_PSCR, KC_DEL , KC_EQL , - KC_BTN3, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ , - KC_BTN2, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ , - _______, KC_BTN1, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MS_U, _______ , - _______, KC_BTN4, _______, _______, _______, _______, _______, _______, _______, _______, KC_MS_L, KC_MS_D, KC_MS_R), + MS_BTN3, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ , + MS_BTN2, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ , + _______, MS_BTN1, _______, _______, _______, _______, _______, _______, _______, _______, _______, MS_UP , _______ , + _______, MS_BTN4, _______, _______, _______, _______, _______, _______, _______, _______, MS_LEFT, MS_DOWN, MS_RGHT), [_RSE] = LAYOUT_ortho_5x13( KC_ESC , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ , KC_CAPS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ , - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_WH_U, _______ , - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_WH_L, KC_WH_D, KC_WH_R), + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, MS_WHLU, _______ , + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, MS_WHLL, MS_WHLD, MS_WHLR), [_ADJ] = LAYOUT_ortho_5x13( UG_NEXT, UG_PREV , A(KC_F2), _______, _______, _______, _______, _______, _______, _______, _______, RGB_M_T , RGB_M_SW, diff --git a/keyboards/mlego/m65/keymaps/uk/keymap.c b/keyboards/mlego/m65/keymaps/uk/keymap.c index f708346239..06d5dd5bf2 100644 --- a/keyboards/mlego/m65/keymaps/uk/keymap.c +++ b/keyboards/mlego/m65/keymaps/uk/keymap.c @@ -185,10 +185,10 @@ MS - mouse directions */ [_LWR] = LAYOUT_ortho_5x13( KC_GRV , KC_MUTE, KC_VOLU, KC_VOLD, KC_MPRV, KC_MPLY, KC_MNXT, G(KC_P), KC_SLEP, KC_WAKE, KC_PSCR, KC_DEL, UK_EQL, - KC_BTN3,UP(lq,lQ),UP(lw,lW),UP(le,lE),UP(lr,lR),UP(lt,lT),UP(ly,lY),UP(lu,lU),UP(li,lI), UP(lo,lO), UP(lp,lP), _______, _______, - KC_BTN2,UP(la,lA),UP(ls,lS),UP(ld,lD),UP(lf,lF),UP(lg,lG),UP(lh,lH),UP(lj,lJ),UP(lk,lK), UP(ll,lL),UP(ll1,lL1), UP(lk1,lK1), _______, - _______, KC_BTN1,UP(lz,lZ),UP(lx,lX),UP(lc,lC),UP(lv,lV),UP(lb,lB),UP(ln,lN),UP(lm,lM),UP(lc1,lC1),UP(lp1,lP1), KC_MS_U, UP(lq1,lQ1), - _______, KC_BTN4, _______, _______, _______, _______, _______, _______, _______, _______, KC_MS_L, KC_MS_D, KC_MS_R), + MS_BTN3,UP(lq,lQ),UP(lw,lW),UP(le,lE),UP(lr,lR),UP(lt,lT),UP(ly,lY),UP(lu,lU),UP(li,lI), UP(lo,lO), UP(lp,lP), _______, _______, + MS_BTN2,UP(la,lA),UP(ls,lS),UP(ld,lD),UP(lf,lF),UP(lg,lG),UP(lh,lH),UP(lj,lJ),UP(lk,lK), UP(ll,lL),UP(ll1,lL1), UP(lk1,lK1), _______, + _______, MS_BTN1,UP(lz,lZ),UP(lx,lX),UP(lc,lC),UP(lv,lV),UP(lb,lB),UP(ln,lN),UP(lm,lM),UP(lc1,lC1),UP(lp1,lP1), MS_UP, UP(lq1,lQ1), + _______, MS_BTN4, _______, _______, _______, _______, _______, _______, _______, _______, MS_LEFT, MS_DOWN, MS_RGHT), /* lower layer @@ -221,8 +221,8 @@ raise layer shifted KC_ESC , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 , _______,UP(ra1,rA1), _______, _______, _______,UP(rt,rT), _______, _______,UP(ri,rI), _______, _______, _______, _______ , KC_CAPS, UP(ra,rA), UP(rs,rS), _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ , - _______, KC_F20 , _______, _______,UP(rc,rC), _______, _______, _______, _______, _______, _______, KC_WH_U, _______ , - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_WH_L, KC_WH_D, KC_WH_R), + _______, KC_F20 , _______, _______,UP(rc,rC), _______, _______, _______, _______, _______, _______, MS_WHLU, _______ , + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, MS_WHLL, MS_WHLD, MS_WHLR), /* adj layer * ┌───┬────┬───┬───┬───┬───┬───┬───┬───┬───┬───┬────┬────┐ diff --git a/keyboards/mmkeyboard/class60/soldered/keyboard.json b/keyboards/mmkeyboard/class60/soldered/keyboard.json index cb28da366c..8615129e83 100644 --- a/keyboards/mmkeyboard/class60/soldered/keyboard.json +++ b/keyboards/mmkeyboard/class60/soldered/keyboard.json @@ -36,10 +36,14 @@ "url": "https://www.mmkeyboard.com/products/mm-class60-retro-custom-mechanical-keyboard", "usb": { "device_version": "0.0.1", - "force_nkro": true, "pid": "0x3876", "vid": "0x4F66" }, + "host": { + "default": { + "nkro": true + } + }, "community_layouts": [ "60_ansi", "60_ansi_split_bs_rshift", diff --git a/keyboards/mmkzoo65/keyboard.json b/keyboards/mmkzoo65/keyboard.json index fdd5f50b60..3d752d6d5d 100644 --- a/keyboards/mmkzoo65/keyboard.json +++ b/keyboards/mmkzoo65/keyboard.json @@ -6,9 +6,13 @@ "vid": "0x7BA1", "pid": "0x6505", "device_version": "0.0.1", - "force_nkro": true, "polling_interval": 2 }, + "host": { + "default": { + "nkro": true + } + }, "features": { "bootmagic": true, "extrakey": true, diff --git a/keyboards/molecule/keymaps/default/keymap.c b/keyboards/molecule/keymaps/default/keymap.c index 9030ba98d1..4b4fbd4eca 100755 --- a/keyboards/molecule/keymaps/default/keymap.c +++ b/keyboards/molecule/keymaps/default/keymap.c @@ -41,8 +41,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_LOWER] = LAYOUT( KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, - KC_F2, KC_F3, KC_WH_U, KC_F4, KC_F5, KC_F6, KC_F7, KC_UP, KC_F8, KC_F9, - KC_F1, KC_BTN2, KC_WH_D, KC_BTN1, KC_F11, KC_F12, KC_LEFT, KC_DOWN, KC_RGHT, KC_F10, + KC_F2, KC_F3, MS_WHLU, KC_F4, KC_F5, KC_F6, KC_F7, KC_UP, KC_F8, KC_F9, + KC_F1, MS_BTN2, MS_WHLD, MS_BTN1, KC_F11, KC_F12, KC_LEFT, KC_DOWN, KC_RGHT, KC_F10, KC_LCTL, KC_LSFT, KC_LALT, KC_SPC, KC_ENT, KC_RGUI, KC_RSFT, KC_RCTL, KC_TRNS, MO(4) ), diff --git a/keyboards/momoka_ergo/config.h b/keyboards/momoka_ergo/config.h index dbd81b1213..6a401e3906 100644 --- a/keyboards/momoka_ergo/config.h +++ b/keyboards/momoka_ergo/config.h @@ -17,7 +17,5 @@ along with this program. If not, see . #pragma once -#define SELECT_SOFT_SERIAL_SPEED 5 - #define SPLIT_USB_DETECT #define EE_HANDS diff --git a/keyboards/momoka_ergo/keyboard.json b/keyboards/momoka_ergo/keyboard.json index 3b2ba6664f..3430932625 100644 --- a/keyboards/momoka_ergo/keyboard.json +++ b/keyboards/momoka_ergo/keyboard.json @@ -28,7 +28,8 @@ "split": { "enabled": true, "serial": { - "pin": "D1" + "pin": "D1", + "speed": 5 } }, "rgblight": { diff --git a/keyboards/monsgeek/m1/keyboard.json b/keyboards/monsgeek/m1/keyboard.json index 4cca5c8686..7a7d1308ce 100644 --- a/keyboards/monsgeek/m1/keyboard.json +++ b/keyboards/monsgeek/m1/keyboard.json @@ -3,12 +3,16 @@ "manufacturer": "MonsGeek", "maintainer": "jonylee@hfd", "usb": { - "force_nkro": true, "vid": "0xFFFE", "pid": "0x0005", "device_version": "1.1.0", "suspend_wakeup_delay": 400 }, + "host": { + "default": { + "nkro": true + } + }, "processor": "WB32FQ95", "bootloader": "wb32-dfu", "features": { diff --git a/keyboards/monsgeek/m1/keymaps/default/keymap.c b/keyboards/monsgeek/m1/keymaps/default/keymap.c index 5cc4c0b3c3..df13a0c953 100644 --- a/keyboards/monsgeek/m1/keymaps/default/keymap.c +++ b/keyboards/monsgeek/m1/keymaps/default/keymap.c @@ -50,7 +50,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [WIN_FN] = LAYOUT_all( /* WASD/↑←↓→ */ _______, KC_MYCM, KC_MAIL, KC_WSCH, KC_WHOM, KC_MSEL, KC_MPLY, KC_MPRV, KC_MNXT, _______, _______, _______, _______, _______, RM_NEXT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RM_SPDD, RM_SPDU, _______, _______, - _______, _______,TG(WIN_W),_______, _______, _______, _______, _______, KC_INS, DF(MAC_B),KC_PSCR,_______, _______, RM_NEXT, _______, + _______, _______,TG(WIN_W),_______, _______, _______, _______, _______, KC_INS, PDF(MAC_B),KC_PSCR,_______, _______, RM_NEXT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RM_TOGG, _______, _______, RM_NEXT, RM_HUEU, _______, _______, _______, _______, _______, KC_CALC, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, RM_VALU, _______, _______, GU_TOGG, _______, _______, _______, _______, _______, RM_SATD, RM_VALD, RM_SATU), @@ -74,7 +74,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [MAC_FN] = LAYOUT_all( /* FN */ _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, RM_NEXT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RM_SPDD, RM_SPDU, _______, _______, - _______, _______,TG(MAC_W),_______, _______, _______, _______, _______, KC_INS, DF(WIN_B),KC_PSCR,_______, _______, RM_NEXT, _______, + _______, _______,TG(MAC_W),_______, _______, _______, _______, _______, KC_INS, PDF(WIN_B),KC_PSCR,_______, _______, RM_NEXT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RM_TOGG, _______, _______, RM_NEXT, RM_HUEU, _______, _______, _______, _______, _______, KC_CALC, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, RM_VALU, _______, _______, _______, _______, _______, _______, _______, _______, RM_SATD, RM_VALD, RM_SATU) diff --git a/keyboards/monsgeek/m1/m1.c b/keyboards/monsgeek/m1/m1.c index 2f7365e562..6466b55412 100644 --- a/keyboards/monsgeek/m1/m1.c +++ b/keyboards/monsgeek/m1/m1.c @@ -15,7 +15,7 @@ */ #include "quantum.h" - +// clang-format off #ifdef RGB_MATRIX_ENABLE const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { /* Refer to SNLED27351 manual for these locations @@ -165,34 +165,13 @@ bool rgb_matrix_indicators_advanced_kb(uint8_t led_min, uint8_t led_max) { } #endif -enum __layers { - WIN_B, - WIN_W, - WIN_FN, - MAC_B, - MAC_W, - MAC_FN -}; +// clang-format on 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); - layer_state_set(1<event.pressed) { - set_single_persistent_default_layer(MAC_B); - layer_state_set(1<event.pressed) { switch (rgb_matrix_get_flags()) { diff --git a/keyboards/monsgeek/m3/keyboard.json b/keyboards/monsgeek/m3/keyboard.json index 9d2ea18c9d..f3d318176b 100644 --- a/keyboards/monsgeek/m3/keyboard.json +++ b/keyboards/monsgeek/m3/keyboard.json @@ -6,8 +6,12 @@ "vid": "0xFFFE", "pid": "0x0009", "device_version": "1.0.5", - "suspend_wakeup_delay": 400, - "force_nkro": true + "suspend_wakeup_delay": 400 + }, + "host": { + "default": { + "nkro": true + } }, "processor": "WB32FQ95", "bootloader": "wb32-dfu", diff --git a/keyboards/monsgeek/m3/keymaps/default/keymap.c b/keyboards/monsgeek/m3/keymaps/default/keymap.c index 58f69628bf..c92d31da39 100644 --- a/keyboards/monsgeek/m3/keymaps/default/keymap.c +++ b/keyboards/monsgeek/m3/keymaps/default/keymap.c @@ -48,7 +48,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [WIN_FN] = LAYOUT_tkl_ansi( /* FN */ _______, KC_MYCM, KC_MAIL, KC_WSCH, KC_WHOM, KC_MSEL, KC_MPLY, KC_MPRV, KC_MNXT, _______,_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RM_SPDD, RM_SPDU, _______, _______, _______, _______, - _______, _______,TG(WIN_W),_______, _______, _______, _______, _______, _______, DF(MAC_B),_______,_______, _______, RM_NEXT, _______, _______, _______, + _______, _______,TG(WIN_W),_______, _______, _______, _______, _______, _______, PDF(MAC_B),_______,_______, _______, RM_NEXT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RM_TOGG, _______, _______, RM_HUEU, _______, _______, _______, KC_CALC, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, RM_VALU, _______, GU_TOGG, _______, _______, _______, _______, _______, _______, RM_SATD, RM_VALD, RM_SATU), @@ -71,7 +71,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [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, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RM_SPDD, RM_SPDU, _______, _______, _______, _______, - _______, _______,TG(MAC_W),_______, _______, _______, _______, _______, _______, DF(WIN_B),_______,_______, _______, RM_NEXT, _______, _______, _______, + _______, _______,TG(MAC_W),_______, _______, _______, _______, _______, _______, PDF(WIN_B),_______,_______, _______, RM_NEXT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RM_TOGG, _______, _______, RM_HUEU, _______, _______, _______, KC_CALC, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, RM_VALU, _______, _______, _______, _______, _______, _______, _______, _______, RM_SATD, RM_VALD, RM_SATU) diff --git a/keyboards/monsgeek/m3/m3.c b/keyboards/monsgeek/m3/m3.c index bf5e038b3d..0b26ef90a6 100644 --- a/keyboards/monsgeek/m3/m3.c +++ b/keyboards/monsgeek/m3/m3.c @@ -126,22 +126,14 @@ const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { #endif // RGB_MATRIX_ENABLE // clang-format on -enum __layers { - WIN_B, - WIN_W, - WIN_FN, - MAC_B, - MAC_W, - MAC_FN, -}; -void matrix_init_kb(void) { +void keyboard_post_init_kb(void) { gpio_set_pin_output(LED_MAC_OS_PIN); // LDE2 MAC\WIN gpio_write_pin_low(LED_MAC_OS_PIN); gpio_set_pin_output(LED_WIN_LOCK_PIN); // LED3 Win Lock gpio_write_pin_low(LED_WIN_LOCK_PIN); - matrix_init_user(); + keyboard_post_init_user(); } void housekeeping_task_kb(void){ @@ -154,23 +146,6 @@ bool process_record_kb(uint16_t keycode, keyrecord_t* 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); - } - return false; - case GU_TOGG: - if (record->event.pressed) { - gpio_write_pin(LED_WIN_LOCK_PIN, !keymap_config.no_gui); - } - return true; case QK_RGB_MATRIX_TOGGLE: if (record->event.pressed) { switch (rgb_matrix_get_flags()) { diff --git a/keyboards/monsgeek/m5/keyboard.json b/keyboards/monsgeek/m5/keyboard.json index 92d6add3fe..f439830f8a 100644 --- a/keyboards/monsgeek/m5/keyboard.json +++ b/keyboards/monsgeek/m5/keyboard.json @@ -6,8 +6,12 @@ "vid": "0xFFFE", "pid": "0x000A", "device_version": "1.0.4", - "suspend_wakeup_delay": 400, - "force_nkro": true + "suspend_wakeup_delay": 400 + }, + "host": { + "default": { + "nkro": true + } }, "processor": "WB32FQ95", "bootloader": "wb32-dfu", diff --git a/keyboards/monsgeek/m6/keyboard.json b/keyboards/monsgeek/m6/keyboard.json index afe38eb0da..bcc14da2e4 100644 --- a/keyboards/monsgeek/m6/keyboard.json +++ b/keyboards/monsgeek/m6/keyboard.json @@ -3,12 +3,16 @@ "manufacturer": "MonsGeek", "maintainer": "jonylee@hfd", "usb": { - "force_nkro": true, "vid": "0xFFFE", "pid": "0x0011", "device_version": "1.0.0", "suspend_wakeup_delay": 400 }, + "host": { + "default": { + "nkro": true + } + }, "processor": "WB32FQ95", "bootloader": "wb32-dfu", "features": { diff --git a/keyboards/montsinger/rewind/keyboard.json b/keyboards/montsinger/rewind/keyboard.json index ddb6ab6496..46468d4c67 100644 --- a/keyboards/montsinger/rewind/keyboard.json +++ b/keyboards/montsinger/rewind/keyboard.json @@ -27,8 +27,7 @@ "rows": ["B5", "B4", "D2", "D3", "B2"] }, "diode_direction": "ROW2COL", - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "layouts": { "LAYOUT_ortho_5x10": { "layout": [ diff --git a/keyboards/moon/config.h b/keyboards/moon/config.h index ca4c770a3b..1e95dc2b8f 100644 --- a/keyboards/moon/config.h +++ b/keyboards/moon/config.h @@ -1,23 +1,7 @@ -/* -Copyright 2019 Mathias Andersson - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General 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 2019 Mathias Andersson +// SPDX-License-Identifier: GPL-2.0-or-later #pragma once - -/* key matrix size */ +// key matrix size #define MATRIX_ROWS 8 #define MATRIX_COLS 11 diff --git a/keyboards/moon/keyboard.json b/keyboards/moon/keyboard.json index 76d2c08f7e..ea3d34b650 100644 --- a/keyboards/moon/keyboard.json +++ b/keyboards/moon/keyboard.json @@ -9,13 +9,11 @@ "device_version": "0.0.1" }, "features": { - "bootmagic": false, - "mousekey": true, + "backlight": true, + "bootmagic": true, "extrakey": true, - "console": true, - "command": true, - "nkro": true, - "backlight": true + "mousekey": true, + "nkro": true }, "qmk": { "locking": { diff --git a/keyboards/moon/keymaps/default/keymap.c b/keyboards/moon/keymaps/default/keymap.c index fd1956a4dc..73dc65dc9a 100644 --- a/keyboards/moon/keymaps/default/keymap.c +++ b/keyboards/moon/keymaps/default/keymap.c @@ -1,3 +1,5 @@ +// Copyright 2019 Mathias Andersson +// SPDX-License-Identifier: GPL-2.0-or-later #include QMK_KEYBOARD_H // clang-format off diff --git a/keyboards/moon/keymaps/default_tkl_ansi/keymap.c b/keyboards/moon/keymaps/default_tkl_ansi/keymap.c index b0244eccee..ee22951fcd 100644 --- a/keyboards/moon/keymaps/default_tkl_ansi/keymap.c +++ b/keyboards/moon/keymaps/default_tkl_ansi/keymap.c @@ -1,3 +1,5 @@ +// Copyright 2019 Mathias Andersson +// SPDX-License-Identifier: GPL-2.0-or-later #include QMK_KEYBOARD_H // clang-format off diff --git a/keyboards/moon/keymaps/default_tkl_ansi_wkl/keymap.c b/keyboards/moon/keymaps/default_tkl_ansi_wkl/keymap.c index 7fd641a93f..1b41519cc9 100644 --- a/keyboards/moon/keymaps/default_tkl_ansi_wkl/keymap.c +++ b/keyboards/moon/keymaps/default_tkl_ansi_wkl/keymap.c @@ -1,3 +1,5 @@ +// Copyright 2019 Mathias Andersson +// SPDX-License-Identifier: GPL-2.0-or-later #include QMK_KEYBOARD_H // clang-format off diff --git a/keyboards/moon/keymaps/default_tkl_iso/keymap.c b/keyboards/moon/keymaps/default_tkl_iso/keymap.c index b4d9a9b60c..316ed8d5ba 100644 --- a/keyboards/moon/keymaps/default_tkl_iso/keymap.c +++ b/keyboards/moon/keymaps/default_tkl_iso/keymap.c @@ -1,3 +1,5 @@ +// Copyright 2019 Mathias Andersson +// SPDX-License-Identifier: GPL-2.0-or-later #include QMK_KEYBOARD_H // clang-format off diff --git a/keyboards/moon/keymaps/default_tkl_iso_wkl/keymap.c b/keyboards/moon/keymaps/default_tkl_iso_wkl/keymap.c index 1224d9f02e..6637515e3e 100644 --- a/keyboards/moon/keymaps/default_tkl_iso_wkl/keymap.c +++ b/keyboards/moon/keymaps/default_tkl_iso_wkl/keymap.c @@ -1,3 +1,5 @@ +// Copyright 2019 Mathias Andersson +// SPDX-License-Identifier: GPL-2.0-or-later #include QMK_KEYBOARD_H // clang-format off diff --git a/keyboards/moon/matrix.c b/keyboards/moon/matrix.c index 1cb9590e9f..0f72cf3740 100644 --- a/keyboards/moon/matrix.c +++ b/keyboards/moon/matrix.c @@ -1,26 +1,8 @@ -/* -Copyright 2012-2019 Jun Wako, Jack Humbert, Yiancar, Mathias Andersson - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ -#include "wait.h" -#include "print.h" -#include "debug.h" -#include "util.h" +// Copyright 2019 Mathias Andersson +// SPDX-License-Identifier: GPL-2.0-or-later #include "matrix.h" -#include "debounce.h" #include "pca9555.h" +#include "wait.h" /* * IC1 (PCA9555) IC2 (PCA9555) @@ -70,56 +52,6 @@ along with this program. If not, see . #define PORT1_COLS_MASK 0b00111111 #define COLS_MASK 0b0000011111111111 -#if (MATRIX_COLS <= 8) -# define print_matrix_header() print("\nr/c 01234567\n") -# define print_matrix_row(row) print_bin_reverse8(matrix_get_row(row)) -# define ROW_SHIFTER ((uint8_t)1) -#elif (MATRIX_COLS <= 16) -# define print_matrix_header() print("\nr/c 0123456789ABCDEF\n") -# define print_matrix_row(row) print_bin_reverse16(matrix_get_row(row)) -# define ROW_SHIFTER ((uint16_t)1) -#elif (MATRIX_COLS <= 32) -# define print_matrix_header() print("\nr/c 0123456789ABCDEF0123456789ABCDEF\n") -# define print_matrix_row(row) print_bin_reverse32(matrix_get_row(row)) -# define ROW_SHIFTER ((uint32_t)1) -#endif - -/* matrix state(1:on, 0:off) */ -static matrix_row_t raw_matrix[MATRIX_ROWS]; // raw values -static matrix_row_t matrix[MATRIX_ROWS]; // debounced values - -__attribute__((weak)) void matrix_init_kb(void) { matrix_init_user(); } - -__attribute__((weak)) void matrix_scan_kb(void) { matrix_scan_user(); } - -__attribute__((weak)) void matrix_init_user(void) {} - -__attribute__((weak)) void matrix_scan_user(void) {} - -inline uint8_t matrix_rows(void) { return MATRIX_ROWS; } - -inline uint8_t matrix_cols(void) { return MATRIX_COLS; } - -inline bool matrix_is_on(uint8_t row, uint8_t col) { return (matrix[row] & ((matrix_row_t)1 << col)); } - -inline matrix_row_t matrix_get_row(uint8_t row) { return matrix[row]; } - -void matrix_print(void) { - print_matrix_header(); - - for (uint8_t row = 0; row < MATRIX_ROWS; row++) { - print_hex8(row); - print(": "); - print_matrix_row(row); - print("\n"); - } -} - -static void init_i2c(void) { - pca9555_init(IC1); - pca9555_init(IC2); -} - static void init_pins(void) { // init cols - IC2 port0 & IC2 port1 input pca9555_set_config(IC2, PCA9555_PORT0, ALL_INPUT); @@ -158,45 +90,28 @@ static bool read_cols_on_row(matrix_row_t current_matrix[], uint8_t current_row) // Clear data in matrix row current_matrix[current_row] = 0; - // Select row and wait for row selecton to stabilize + // Select row and wait for row selection to stabilize select_row(current_row); wait_us(30); - current_matrix[current_row] |= read_cols(); + current_matrix[current_row] = read_cols(); // No need to unselect as `select_row` sets all the pins. return (last_row_value != current_matrix[current_row]); } -void matrix_init(void) { - // initialize i2c - init_i2c(); +void matrix_init_custom(void) { + pca9555_init(IC1); + pca9555_init(IC2); - // initialize key pins init_pins(); - - // initialize matrix state: all keys off - for (uint8_t i = 0; i < MATRIX_ROWS; i++) { - raw_matrix[i] = 0; - matrix[i] = 0; - } - - debounce_init(MATRIX_ROWS); - - matrix_init_kb(); } -uint8_t matrix_scan(void) { +bool matrix_scan_custom(matrix_row_t current_matrix[]) { bool changed = false; - for (uint8_t current_row = 0; current_row < MATRIX_ROWS; current_row++) { - changed |= read_cols_on_row(raw_matrix, current_row); + changed |= read_cols_on_row(current_matrix, current_row); } - - debounce(raw_matrix, matrix, MATRIX_ROWS, changed); - - matrix_scan_kb(); - - return (uint8_t)changed; + return changed; } diff --git a/keyboards/moon/rules.mk b/keyboards/moon/rules.mk index aee52dfee1..e11c65db02 100644 --- a/keyboards/moon/rules.mk +++ b/keyboards/moon/rules.mk @@ -1,5 +1,5 @@ # custom matrix setup -CUSTOM_MATRIX = yes +CUSTOM_MATRIX = lite VPATH += drivers/gpio SRC += pca9555.c matrix.c diff --git a/keyboards/morizon/keyboard.json b/keyboards/morizon/keyboard.json index 13999e5753..1b3dba08d4 100644 --- a/keyboards/morizon/keyboard.json +++ b/keyboards/morizon/keyboard.json @@ -26,8 +26,7 @@ "rows": ["D3", "D2", "D1", "D0", "D4", "C6", "D7", "E6", "B4", "B5"] }, "diode_direction": "COL2ROW", - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/mountainblocks/mb17/keyboard.json b/keyboards/mountainblocks/mb17/keyboard.json index 9103f7775f..d8ef466def 100644 --- a/keyboards/mountainblocks/mb17/keyboard.json +++ b/keyboards/mountainblocks/mb17/keyboard.json @@ -26,8 +26,7 @@ "rows": ["F4", "B1", "B3", "B2", "B6"] }, "diode_direction": "COL2ROW", - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "layouts": { "LAYOUT_numpad_5x4": { "layout": [ diff --git a/keyboards/mss_studio/m63_rgb/keyboard.json b/keyboards/mss_studio/m63_rgb/keyboard.json index 16a4c5295f..b798df21dd 100644 --- a/keyboards/mss_studio/m63_rgb/keyboard.json +++ b/keyboards/mss_studio/m63_rgb/keyboard.json @@ -5,8 +5,12 @@ "usb": { "vid": "0x4D4B", "pid": "0x6063", - "device_version": "0.0.1", - "force_nkro": true + "device_version": "0.0.1" + }, + "host": { + "default": { + "nkro": true + } }, "ws2812": { "pin": "B15" diff --git a/keyboards/mss_studio/m64_rgb/keyboard.json b/keyboards/mss_studio/m64_rgb/keyboard.json index 5b53cd58c7..083afec8c7 100644 --- a/keyboards/mss_studio/m64_rgb/keyboard.json +++ b/keyboards/mss_studio/m64_rgb/keyboard.json @@ -5,8 +5,12 @@ "usb": { "vid": "0x4D4B", "pid": "0x6064", - "device_version": "0.0.1", - "force_nkro": true + "device_version": "0.0.1" + }, + "host": { + "default": { + "nkro": true + } }, "ws2812": { "pin": "B15" diff --git a/keyboards/mt/mt40/keymaps/default/keymap.c b/keyboards/mt/mt40/keymaps/default/keymap.c index 22e13e662a..0880037a9b 100644 --- a/keyboards/mt/mt40/keymaps/default/keymap.c +++ b/keyboards/mt/mt40/keymaps/default/keymap.c @@ -64,9 +64,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, OOOOOOO, _______, _______, _______, _______, _______, _______, _______), [4] = LAYOUT_planck_mit( - _______, _______, _______, _______, _______, _______, _______, KC_ACL0, KC_ACL1, KC_ACL2, _______, _______, - KC_PSCR, KC_INS, KC_MUTE, KC_VOLD, KC_VOLU, _______, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, _______, _______, - KC_CAPS, _______, KC_MPLY, KC_MRWD, KC_MFFD, _______, _______, _______, KC_BTN1, KC_BTN2, _______, _______, + _______, _______, _______, _______, _______, _______, _______, MS_ACL0, MS_ACL1, MS_ACL2, _______, _______, + KC_PSCR, KC_INS, KC_MUTE, KC_VOLD, KC_VOLU, _______, MS_LEFT, MS_DOWN, MS_UP, MS_RGHT, _______, _______, + KC_CAPS, _______, KC_MPLY, KC_MRWD, KC_MFFD, _______, _______, _______, MS_BTN1, MS_BTN2, _______, _______, _______, _______, _______, _______, _______, _______, _______, OOOOOOO, _______, _______, _______), diff --git a/keyboards/mwstudio/alicekk/keyboard.json b/keyboards/mwstudio/alicekk/keyboard.json index 355437f953..fe76ec123d 100644 --- a/keyboards/mwstudio/alicekk/keyboard.json +++ b/keyboards/mwstudio/alicekk/keyboard.json @@ -4,8 +4,12 @@ "usb": { "vid": "0x7BA1", "pid": "0x3201", - "device_version": "0.0.1", - "force_nkro": true + "device_version": "0.0.1" + }, + "host": { + "default": { + "nkro": true + } }, "features": { "bootmagic": true, diff --git a/keyboards/mwstudio/mw660/keyboard.json b/keyboards/mwstudio/mw660/keyboard.json index bf0cd6781c..385abb1828 100644 --- a/keyboards/mwstudio/mw660/keyboard.json +++ b/keyboards/mwstudio/mw660/keyboard.json @@ -25,8 +25,12 @@ "usb": { "device_version": "1.0.0", "pid": "0x6601", - "vid": "0x7BA1", - "force_nkro": true + "vid": "0x7BA1" + }, + "host": { + "default": { + "nkro": true + } }, "layouts": { "LAYOUT": { diff --git a/keyboards/nacly/sodium42/keyboard.json b/keyboards/nacly/sodium42/keyboard.json index a1d7b65ab3..97b6a837c5 100644 --- a/keyboards/nacly/sodium42/keyboard.json +++ b/keyboards/nacly/sodium42/keyboard.json @@ -35,8 +35,7 @@ "pin": "D3" } }, - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/nacly/sodium50/keyboard.json b/keyboards/nacly/sodium50/keyboard.json index e41495755f..dd1604c480 100644 --- a/keyboards/nacly/sodium50/keyboard.json +++ b/keyboards/nacly/sodium50/keyboard.json @@ -35,8 +35,7 @@ "pin": "D3" } }, - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/nacly/sodium62/keyboard.json b/keyboards/nacly/sodium62/keyboard.json index ab16bf45fa..64cb488159 100644 --- a/keyboards/nacly/sodium62/keyboard.json +++ b/keyboards/nacly/sodium62/keyboard.json @@ -36,8 +36,7 @@ "pin": "D3" } }, - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/nacly/splitreus62/keyboard.json b/keyboards/nacly/splitreus62/keyboard.json index d356578690..567cb6d6db 100644 --- a/keyboards/nacly/splitreus62/keyboard.json +++ b/keyboards/nacly/splitreus62/keyboard.json @@ -42,8 +42,7 @@ "ws2812": { "pin": "B1" }, - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/nacly/ua62/keyboard.json b/keyboards/nacly/ua62/keyboard.json index 0bf01308f5..85fbbd431c 100644 --- a/keyboards/nacly/ua62/keyboard.json +++ b/keyboards/nacly/ua62/keyboard.json @@ -26,8 +26,7 @@ "rows": ["D3", "D2", "D1", "D0", "D4"] }, "diode_direction": "ROW2COL", - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/newgame40/keyboard.json b/keyboards/newgame40/keyboard.json index ad59f2bcd0..62c567cb40 100644 --- a/keyboards/newgame40/keyboard.json +++ b/keyboards/newgame40/keyboard.json @@ -39,8 +39,7 @@ "ws2812": { "pin": "F6" }, - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "community_layouts": ["ortho_4x10"], "layouts": { "LAYOUT_ortho_4x10": { diff --git a/keyboards/nightly_boards/n9/keyboard.json b/keyboards/nightly_boards/n9/keyboard.json index e3d8a3be84..f99ff31258 100644 --- a/keyboards/nightly_boards/n9/keyboard.json +++ b/keyboards/nightly_boards/n9/keyboard.json @@ -46,8 +46,7 @@ "ws2812": { "pin": "F5" }, - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/nightly_boards/ph_arisu/keyboard.json b/keyboards/nightly_boards/ph_arisu/keyboard.json index afcbdd905a..7d64536c1a 100644 --- a/keyboards/nightly_boards/ph_arisu/keyboard.json +++ b/keyboards/nightly_boards/ph_arisu/keyboard.json @@ -25,8 +25,7 @@ "rows": ["D3", "D2", "D1", "D0", "D4", "C6", "D7", "E6", "B4", "B5"] }, "diode_direction": "COL2ROW", - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/novelkeys/nk65/config.h b/keyboards/novelkeys/nk65/config.h index 97350e34b4..75c5c8638c 100755 --- a/keyboards/novelkeys/nk65/config.h +++ b/keyboards/novelkeys/nk65/config.h @@ -1,89 +1,6 @@ -/* -Copyright 2019 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 . -*/ - +// Copyright 2019 Yiancar +// SPDX-License-Identifier: GPL-2.0-or-later #pragma once -/* Backlight options */ - -#define RGB_BACKLIGHT_ENABLED 1 - -#define RGB_BACKLIGHT_NK65 - -// they aren't really used if RGB_BACKLIGHT_HS60 defined -#define RGB_BACKLIGHT_USE_SPLIT_BACKSPACE 0 -#define RGB_BACKLIGHT_USE_SPLIT_LEFT_SHIFT 0 -#define RGB_BACKLIGHT_USE_SPLIT_RIGHT_SHIFT 0 -#define RGB_BACKLIGHT_USE_7U_SPACEBAR 0 -#define RGB_BACKLIGHT_USE_ISO_ENTER 0 -#define RGB_BACKLIGHT_DISABLE_HHKB_BLOCKER_LEDS 0 - -// disable backlight when USB suspended (PC sleep/hibernate/shutdown) -#define RGB_BACKLIGHT_DISABLE_WHEN_USB_SUSPENDED 0 - -// disable backlight after timeout in minutes, 0 = no timeout -#define RGB_BACKLIGHT_DISABLE_AFTER_TIMEOUT 0 - -// the default brightness -#define RGB_BACKLIGHT_BRIGHTNESS 255 - -// the default effect (RGB test) -#define RGB_BACKLIGHT_EFFECT 6 - -// the default effect speed (0-3) -#define RGB_BACKLIGHT_EFFECT_SPEED 0 - -// the default color1 and color2 -#define RGB_BACKLIGHT_COLOR_1 { .h = 0, .s = 255 } -#define RGB_BACKLIGHT_COLOR_2 { .h = 127, .s = 255 } - #define IS31FL3733_I2C_ADDRESS_1 IS31FL3733_I2C_ADDRESS_GND_GND #define IS31FL3733_I2C_ADDRESS_2 IS31FL3733_I2C_ADDRESS_GND_SDA -#define IS31FL3733_LED_COUNT 128 - -// These define which keys in the matrix are alphas/mods -// Used for backlight effects so colors are different for -// alphas vs. mods -// Each value is for a row, bit 0 is column 0 -// Alpha=0 Mod=1 -#define RGB_BACKLIGHT_ALPHAS_MODS_ROW_0 0b0110000000000001 -#define RGB_BACKLIGHT_ALPHAS_MODS_ROW_1 0b0100000000000001 -#define RGB_BACKLIGHT_ALPHAS_MODS_ROW_2 0b0110000000000001 -#define RGB_BACKLIGHT_ALPHAS_MODS_ROW_3 0b0111000000000001 -#define RGB_BACKLIGHT_ALPHAS_MODS_ROW_4 0b0111111000000111 - -#define RGB_BACKLIGHT_CAPS_LOCK_INDICATOR { .color = { .h = 0, .s = 0 }, .index = 255 } -#define RGB_BACKLIGHT_LAYER_1_INDICATOR { .color = { .h = 0, .s = 0 }, .index = 255 } -#define RGB_BACKLIGHT_LAYER_2_INDICATOR { .color = { .h = 0, .s = 0 }, .index = 255 } -#define RGB_BACKLIGHT_LAYER_3_INDICATOR { .color = { .h = 0, .s = 0 }, .index = 255 } - -// Backlight config starts after VIA's EEPROM usage, -// dynamic keymaps start after this. -#define VIA_EEPROM_CUSTOM_CONFIG_SIZE 32 - -/* Custom EEPROM start addressing. This is to support - * both 128kb and 256kb versions of F303. - * Register 0x1FFFF7CC holds the size of the flash memory. - */ -#ifndef FLASHSIZE_BASE -# define FLASHSIZE_BASE ((uint32_t)0x1FFFF7CCU) /*!< FLASH Size register base address */ -#endif -#define FEE_MCU_FLASH_SIZE_IGNORE_CHECK -#define FEE_MCU_FLASH_SIZE \ -({ \ - uint16_t (*flash_size) = (uint16_t*)FLASHSIZE_BASE; \ - *flash_size; \ -}) diff --git a/keyboards/novelkeys/nk65/halconf.h b/keyboards/novelkeys/nk65/halconf.h index e6d7e3c2ed..481d19c467 100644 --- a/keyboards/novelkeys/nk65/halconf.h +++ b/keyboards/novelkeys/nk65/halconf.h @@ -1,33 +1,7 @@ -/* 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 . - */ - -/* - * This file was auto-generated by: - * `qmk chibios-confmigrate -i keyboards/nk65/halconf.h -r platforms/chibios/QMK_PROTON_C/configs/halconf.h` - */ - +// Copyright 2019 Yiancar +// SPDX-License-Identifier: GPL-2.0-or-later #pragma once -#define HAL_USE_PWM FALSE - -#define HAL_USE_SPI FALSE - -#define PAL_USE_CALLBACKS FALSE - -#define PAL_USE_WAIT FALSE +#define HAL_USE_I2C TRUE #include_next - diff --git a/keyboards/novelkeys/nk65/info.json b/keyboards/novelkeys/nk65/info.json index ae02d3ac05..63c8af9faf 100755 --- a/keyboards/novelkeys/nk65/info.json +++ b/keyboards/novelkeys/nk65/info.json @@ -11,11 +11,133 @@ "bootmagic": true, "extrakey": true, "mousekey": true, + "rgb_matrix": true, "nkro": true }, "processor": "STM32F303", "bootloader": "stm32-dfu", - "board": "QMK_PROTON_C", + "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": [2, 12], "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, 9], "x": 146, "y": 56 }, + { "flags": 4, "matrix": [4, 10], "x": 160, "y": 56 }, + { "flags": 4, "matrix": [4, 11], "x": 174, "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": 1, "x": 224, "y": 0 }, + { "flags": 1, "x": 224, "y": 5 }, + { "flags": 1, "x": 224, "y": 10 } + ] + }, "community_layouts": ["65_ansi"], "layouts": { "LAYOUT_65_ansi": { diff --git a/keyboards/novelkeys/nk65/keymaps/default/keymap.c b/keyboards/novelkeys/nk65/keymaps/default/keymap.c index 3a043cbfe7..95a1d7f367 100755 --- a/keyboards/novelkeys/nk65/keymaps/default/keymap.c +++ b/keyboards/novelkeys/nk65/keymaps/default/keymap.c @@ -1,46 +1,21 @@ -/* Copyright 2019 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 . - */ +// Copyright 2019 Yiancar +// 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( /* Base */ - QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_HOME, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), + [0] = LAYOUT_65_ansi( /* Base */ + QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_HOME, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), -[1] = LAYOUT_65_ansi( /* FN */ - KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, S1_DEC, S1_INC, S2_DEC, S2_INC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, EF_DEC, EF_INC, H1_DEC, H1_INC, H2_DEC, H2_INC, BR_DEC, BR_INC, ES_DEC, ES_INC, KC_TRNS, KC_TRNS, KC_TRNS, - KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), - -[2] = LAYOUT_65_ansi( /* Empty for dynamic keymaps */ - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), - -[3] = LAYOUT_65_ansi( /* Empty for dynamic keymaps */ - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), + [1] = LAYOUT_65_ansi( /* FN */ + KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, + _______, RM_TOGG, _______, _______, RM_SATD, RM_SATU, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RM_PREV, RM_NEXT, RM_HUED, RM_HUEU, _______, _______, RM_VALD, RM_VALU, RM_SPDD, RM_SPDU, _______, _______, _______, + KC_VOLU, KC_VOLD, KC_MUTE, _______, _______, _______, _______, _______, _______, _______ + ) }; diff --git a/keyboards/novelkeys/nk65/keymaps/default/readme.md b/keyboards/novelkeys/nk65/keymaps/default/readme.md deleted file mode 100755 index 27bcd0501d..0000000000 --- a/keyboards/novelkeys/nk65/keymaps/default/readme.md +++ /dev/null @@ -1,6 +0,0 @@ -The default keymap for NK65. VIA support disabled. -========================================================= - -![Layout image](https://i.imgur.com/DL0CjJO.png) - -Default layer is normal ANSI 65% \ No newline at end of file diff --git a/keyboards/novelkeys/nk65/mcuconf.h b/keyboards/novelkeys/nk65/mcuconf.h index f37f37c179..9024dd88ab 100644 --- a/keyboards/novelkeys/nk65/mcuconf.h +++ b/keyboards/novelkeys/nk65/mcuconf.h @@ -1,43 +1,8 @@ -/* 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 . - */ - -/* - * This file was auto-generated by: - * `qmk chibios-confmigrate -i keyboards/nk65/mcuconf.h -r platforms/chibios/QMK_PROTON_C/configs/mcuconf.h` - */ - +// Copyright 2019 Yiancar +// SPDX-License-Identifier: GPL-2.0-or-later #pragma once #include_next -#undef STM32_GPT_USE_TIM4 -#define STM32_GPT_USE_TIM4 TRUE - -#undef STM32_GPT_USE_TIM15 -#define STM32_GPT_USE_TIM15 FALSE - -#undef STM32_PWM_USE_TIM3 -#define STM32_PWM_USE_TIM3 FALSE - -#undef STM32_PWM_USE_TIM4 -#define STM32_PWM_USE_TIM4 FALSE - -#undef STM32_SERIAL_USE_USART2 -#define STM32_SERIAL_USE_USART2 FALSE - -#undef STM32_SPI_USE_SPI2 -#define STM32_SPI_USE_SPI2 FALSE - +#undef STM32_I2C_USE_I2C1 +#define STM32_I2C_USE_I2C1 TRUE diff --git a/keyboards/novelkeys/nk65/nk65.c b/keyboards/novelkeys/nk65/nk65.c index dd0a94a8e6..16750481cb 100755 --- a/keyboards/novelkeys/nk65/nk65.c +++ b/keyboards/novelkeys/nk65/nk65.c @@ -1,26 +1,8 @@ -/* Copyright 2019 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 . - */ -#ifndef RGB_BACKLIGHT_NK65 -#error RGB_BACKLIGHT_NK65 not defined, recheck config.h -#endif +// Copyright 2019 Yiancar +// SPDX-License-Identifier: GPL-2.0-or-later +#include "quantum.h" -#include "nk65.h" -#include "drivers/led/issi/is31fl3733.h" - -#if defined(RGB_MATRIX_ENABLE) || defined(RGB_BACKLIGHT_NK65) +#if defined(RGB_MATRIX_ENABLE) const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT] = { /* Refer to IS31 manual for these locations * driver @@ -28,135 +10,79 @@ const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT] = { * | | G location * | | | B location * | | | | */ - {0, SW2_CS1, SW1_CS1, SW3_CS1}, //LA1 - {0, SW5_CS1, SW4_CS1, SW6_CS1}, //LA2 - {0, SW8_CS1, SW7_CS1, SW9_CS1}, //LA3 - {0, SW11_CS1, SW10_CS1, SW12_CS1}, //LA4 - {0, SW2_CS2, SW1_CS2, SW3_CS2}, //LA5 - {0, SW5_CS2, SW4_CS2, SW6_CS2}, //LA6 - {0, SW8_CS2, SW7_CS2, SW9_CS2}, //LA7 - {0, SW11_CS2, SW10_CS2, SW12_CS2}, //LA8 - {0, SW2_CS3, SW1_CS3, SW3_CS3}, //LA9 - {0, SW5_CS3, SW4_CS3, SW6_CS3}, //LA10 - {0, SW8_CS3, SW7_CS3, SW9_CS3}, //LA11 - {0, SW11_CS3, SW10_CS3, SW12_CS3}, //LA12 - {0, SW2_CS4, SW1_CS4, SW3_CS4}, //LA13 - {0, SW5_CS4, SW4_CS4, SW6_CS4}, //LA14 - {0, SW8_CS4, SW7_CS4, SW9_CS4}, //LA15 - {0, SW11_CS4, SW10_CS4, SW12_CS4}, //LA16 - {0, SW2_CS5, SW1_CS5, SW3_CS5}, //LA17 - {0, SW5_CS5, SW4_CS5, SW6_CS5}, //LA18 - {0, SW8_CS5, SW7_CS5, SW9_CS5}, //LA19 - {0, SW11_CS5, SW10_CS5, SW12_CS5}, //LA20 - {0, SW2_CS6, SW1_CS6, SW3_CS6}, //LA21 - {0, SW5_CS6, SW4_CS6, SW6_CS6}, //LA22 - {0, SW8_CS6, SW7_CS6, SW9_CS6}, //LA23 - {0, SW11_CS6, SW10_CS6, SW12_CS6}, //LA24 - {0, SW2_CS7, SW1_CS7, SW3_CS7}, //LA25 - {0, SW5_CS7, SW4_CS7, SW6_CS7}, //LA26 - {0, SW8_CS7, SW7_CS7, SW9_CS7}, //LA27 - {0, SW11_CS7, SW10_CS7, SW12_CS7}, //LA28 - {0, SW2_CS8, SW1_CS8, SW3_CS8}, //LA29 - {0, SW5_CS8, SW4_CS8, SW6_CS8}, //LA30 - {0, SW8_CS8, SW7_CS8, SW9_CS8}, //LA31 - {0, SW11_CS8, SW10_CS8, SW12_CS8}, //LA32 - {0, SW2_CS9, SW1_CS9, SW3_CS9}, //LA33 - {0, SW5_CS9, SW4_CS9, SW6_CS9}, //LA34 - {0, SW8_CS9, SW7_CS9, SW9_CS9}, //LA35 - {0, SW11_CS9, SW10_CS9, SW12_CS9}, //LA36 - {0, SW2_CS10, SW1_CS10, SW3_CS10}, //LA37 - {0, SW5_CS10, SW4_CS10, SW6_CS10}, //LA38 - {0, SW8_CS10, SW7_CS10, SW9_CS10}, //LA39 - {0, SW11_CS10, SW10_CS10, SW12_CS10}, //LA40 - {0, SW2_CS11, SW1_CS11, SW3_CS11}, //LA41 - {0, SW5_CS11, SW4_CS11, SW6_CS11}, //LA42 - {0, SW8_CS11, SW7_CS11, SW9_CS11}, //LA43 - {0, SW11_CS11, SW10_CS11, SW12_CS11}, //LA44 - {0, SW2_CS12, SW1_CS12, SW3_CS12}, //LA45 - {0, SW5_CS12, SW4_CS12, SW6_CS12}, //LA46 - {0, SW8_CS12, SW7_CS12, SW9_CS12}, //LA47 - {0, SW11_CS12, SW10_CS12, SW12_CS12}, //LA48 - {0, SW2_CS13, SW1_CS13, SW3_CS13}, //LA49 - {0, SW5_CS13, SW4_CS13, SW6_CS13}, //LA50 - {0, SW8_CS13, SW7_CS13, SW9_CS13}, //LA51 - {0, SW11_CS13, SW10_CS13, SW12_CS13}, //LA52 - {0, SW2_CS14, SW1_CS14, SW3_CS14}, //LA53 - {0, SW5_CS14, SW4_CS14, SW6_CS14}, //LA54 - {0, SW8_CS14, SW7_CS14, SW9_CS14}, //LA55 - {0, SW11_CS14, SW10_CS14, SW12_CS14}, //LA56 - {0, SW2_CS15, SW1_CS15, SW3_CS15}, //LA57 - {0, SW5_CS15, SW4_CS15, SW6_CS15}, //LA58 - {0, SW8_CS15, SW7_CS15, SW9_CS15}, //LA59 - {0, SW11_CS15, SW10_CS15, SW12_CS15}, //LA60 - {0, SW2_CS16, SW1_CS16, SW3_CS16}, //LA61 - {0, SW5_CS16, SW4_CS16, SW6_CS16}, //LA62 - {0, SW8_CS16, SW7_CS16, SW9_CS16}, //LA63 - {0, SW11_CS16, SW10_CS16, SW12_CS16}, //LA64 + {0, SW2_CS1, SW1_CS1, SW3_CS1}, //LA1 - esc + {0, SW2_CS2, SW1_CS2, SW3_CS2}, //LA5 - 1 + {0, SW2_CS3, SW1_CS3, SW3_CS3}, //LA9 - 2 + {0, SW2_CS4, SW1_CS4, SW3_CS4}, //LA13 - 3 + {0, SW2_CS5, SW1_CS5, SW3_CS5}, //LA17 - 4 + {0, SW2_CS6, SW1_CS6, SW3_CS6}, //LA21 - 5 + {0, SW2_CS7, SW1_CS7, SW3_CS7}, //LA25 - 6 + {0, SW2_CS8, SW1_CS8, SW3_CS8}, //LA29 - 7 + {0, SW2_CS9, SW1_CS9, SW3_CS9}, //LA33 - 8 + {0, SW2_CS10, SW1_CS10, SW3_CS10}, //LA37 - 9 + {0, SW2_CS11, SW1_CS11, SW3_CS11}, //LA41 - 0 + {0, SW2_CS12, SW1_CS12, SW3_CS12}, //LA45 - - + {0, SW2_CS13, SW1_CS13, SW3_CS13}, //LA49 - = + {0, SW2_CS14, SW1_CS14, SW3_CS14}, //LA53 - bspace + {1, SW2_CS1, SW1_CS1, SW3_CS1}, //LB1 - home + {0, SW5_CS1, SW4_CS1, SW6_CS1}, //LA2 - tab + {0, SW5_CS2, SW4_CS2, SW6_CS2}, //LA6 - q + {0, SW5_CS3, SW4_CS3, SW6_CS3}, //LA10 - w + {0, SW5_CS4, SW4_CS4, SW6_CS4}, //LA14 - e + {0, SW5_CS5, SW4_CS5, SW6_CS5}, //LA18 - r + {0, SW5_CS6, SW4_CS6, SW6_CS6}, //LA22 - t + {0, SW5_CS7, SW4_CS7, SW6_CS7}, //LA26 - y + {0, SW5_CS8, SW4_CS8, SW6_CS8}, //LA30 - u + {0, SW5_CS9, SW4_CS9, SW6_CS9}, //LA34 - i + {0, SW5_CS10, SW4_CS10, SW6_CS10}, //LA38 - o + {0, SW5_CS11, SW4_CS11, SW6_CS11}, //LA42 - p + {0, SW5_CS12, SW4_CS12, SW6_CS12}, //LA46 - [ + {0, SW5_CS13, SW4_CS13, SW6_CS13}, //LA50 - ] + {0, SW5_CS14, SW4_CS14, SW6_CS14}, //LA54 - | + {1, SW5_CS1, SW4_CS1, SW6_CS1}, //LB2 - pgup + {0, SW8_CS1, SW7_CS1, SW9_CS1}, //LA3 - caps + {0, SW8_CS2, SW7_CS2, SW9_CS2}, //LA7 - a + {0, SW8_CS3, SW7_CS3, SW9_CS3}, //LA11 - s + {0, SW8_CS4, SW7_CS4, SW9_CS4}, //LA15 - d + {0, SW8_CS5, SW7_CS5, SW9_CS5}, //LA19 - f + {0, SW8_CS6, SW7_CS6, SW9_CS6}, //LA23 - g + {0, SW8_CS7, SW7_CS7, SW9_CS7}, //LA27 - h + {0, SW8_CS8, SW7_CS8, SW9_CS8}, //LA31 - j + {0, SW8_CS9, SW7_CS9, SW9_CS9}, //LA35 - k + {0, SW8_CS10, SW7_CS10, SW9_CS10}, //LA39 - l + {0, SW8_CS11, SW7_CS11, SW9_CS11}, //LA43 - ; + {0, SW8_CS12, SW7_CS12, SW9_CS12}, //LA47 - ' + {0, SW8_CS14, SW7_CS14, SW9_CS14}, //LA55 - ent + {1, SW2_CS2, SW1_CS2, SW3_CS2}, //LB5 - pgdn + {0, SW11_CS1, SW10_CS1, SW12_CS1}, //LA4 - lshft + {0, SW11_CS2, SW10_CS2, SW12_CS2}, //LA8 - z + {0, SW11_CS3, SW10_CS3, SW12_CS3}, //LA12 - x + {0, SW11_CS4, SW10_CS4, SW12_CS4}, //LA16 - c + {0, SW11_CS5, SW10_CS5, SW12_CS5}, //LA20 - v + {0, SW11_CS6, SW10_CS6, SW12_CS6}, //LA24 - b + {0, SW11_CS7, SW10_CS7, SW12_CS7}, //LA28 - n + {0, SW11_CS8, SW10_CS8, SW12_CS8}, //LA32 - m + {0, SW11_CS9, SW10_CS9, SW12_CS9}, //LA36 - < + {0, SW11_CS10, SW10_CS10, SW12_CS10}, //LA40 - > + {0, SW11_CS11, SW10_CS11, SW12_CS11}, //LA44 - ? + {0, SW8_CS13, SW7_CS13, SW9_CS13}, //LA51 - rshift + {0, SW11_CS13, SW10_CS13, SW12_CS13}, //LA52 - up + {1, SW8_CS1, SW7_CS1, SW9_CS1}, //LB3 - end + {0, SW2_CS15, SW1_CS15, SW3_CS15}, //LA57 - lctrl + {0, SW5_CS15, SW4_CS15, SW6_CS15}, //LA58 - lgui + {0, SW8_CS15, SW7_CS15, SW9_CS15}, //LA59 - lalt + {0, SW11_CS15, SW10_CS15, SW12_CS15}, //LA60 space + {0, SW11_CS12, SW10_CS12, SW12_CS12}, //LA48 - ralt + {0, SW5_CS16, SW4_CS16, SW6_CS16}, //LA62 - fn + {0, SW8_CS16, SW7_CS16, SW9_CS16}, //LA63 - rctrl + {0, SW11_CS16, SW10_CS16, SW12_CS16}, //LA64 - left + {0, SW11_CS14, SW10_CS14, SW12_CS14}, //LA56 - down + {1, SW11_CS1, SW10_CS1, SW12_CS1}, //LB4 - right - {1, SW2_CS1, SW1_CS1, SW3_CS1}, //LB1 - {1, SW5_CS1, SW4_CS1, SW6_CS1}, //LB2 - {1, SW8_CS1, SW7_CS1, SW9_CS1}, //LB3 - {1, SW11_CS1, SW10_CS1, SW12_CS1}, //LB4 - {1, SW2_CS2, SW1_CS2, SW3_CS2}, //LB5 - {1, SW5_CS2, SW4_CS2, SW6_CS2}, //LB6 - {1, SW8_CS2, SW7_CS2, SW9_CS2}, //LB7 - {1, SW11_CS2, SW10_CS2, SW12_CS2}, //LB8 - {1, SW2_CS3, SW1_CS3, SW3_CS3}, //LB9 - {1, SW5_CS3, SW4_CS3, SW6_CS3}, //LB10 - {1, SW8_CS3, SW7_CS3, SW9_CS3}, //LB11 - {1, SW11_CS3, SW10_CS3, SW12_CS3}, //LB12 - {1, SW2_CS4, SW1_CS4, SW3_CS4}, //LB13 - {1, SW5_CS4, SW4_CS4, SW6_CS4}, //LB14 - {1, SW8_CS4, SW7_CS4, SW9_CS4}, //LB15 - {1, SW11_CS4, SW10_CS4, SW12_CS4}, //LB16 - {1, SW2_CS5, SW1_CS5, SW3_CS5}, //LB17 - {1, SW5_CS5, SW4_CS5, SW6_CS5}, //LB18 - {1, SW8_CS5, SW7_CS5, SW9_CS5}, //LB19 - {1, SW11_CS5, SW10_CS5, SW12_CS5}, //LB20 - {1, SW2_CS6, SW1_CS6, SW3_CS6}, //LB21 - {1, SW5_CS6, SW4_CS6, SW6_CS6}, //LB22 - {1, SW8_CS6, SW7_CS6, SW9_CS6}, //LB23 - {1, SW11_CS6, SW10_CS6, SW12_CS6}, //LB24 - {1, SW2_CS7, SW1_CS7, SW3_CS7}, //LB25 - {1, SW5_CS7, SW4_CS7, SW6_CS7}, //LB26 - {1, SW8_CS7, SW7_CS7, SW9_CS7}, //LB27 - {1, SW11_CS7, SW10_CS7, SW12_CS7}, //LB28 - {1, SW2_CS8, SW1_CS8, SW3_CS8}, //LB29 - {1, SW5_CS8, SW4_CS8, SW6_CS8}, //LB30 - {1, SW8_CS8, SW7_CS8, SW9_CS8}, //LB31 - {1, SW11_CS8, SW10_CS8, SW12_CS8}, //LB32 - {1, SW2_CS9, SW1_CS9, SW3_CS9}, //LB33 - {1, SW5_CS9, SW4_CS9, SW6_CS9}, //LB34 - {1, SW8_CS9, SW7_CS9, SW9_CS9}, //LB35 - {1, SW11_CS9, SW10_CS9, SW12_CS9}, //LB36 - {1, SW2_CS10, SW1_CS10, SW3_CS10}, //LB37 - {1, SW5_CS10, SW4_CS10, SW6_CS10}, //LB38 - {1, SW8_CS10, SW7_CS10, SW9_CS10}, //LB39 - {1, SW11_CS10, SW10_CS10, SW12_CS10}, //LB40 - {1, SW2_CS11, SW1_CS11, SW3_CS11}, //LB41 - {1, SW5_CS11, SW4_CS11, SW6_CS11}, //LB42 - {1, SW8_CS11, SW7_CS11, SW9_CS11}, //LB43 - {1, SW11_CS11, SW10_CS11, SW12_CS11}, //LB44 - {1, SW2_CS12, SW1_CS12, SW3_CS12}, //LB45 - {1, SW5_CS12, SW4_CS12, SW6_CS12}, //LB46 - {1, SW8_CS12, SW7_CS12, SW9_CS12}, //LB47 - {1, SW11_CS12, SW10_CS12, SW12_CS12}, //LB48 - {1, SW2_CS13, SW1_CS13, SW3_CS13}, //LB49 - {1, SW5_CS13, SW4_CS13, SW6_CS13}, //LB50 - {1, SW8_CS13, SW7_CS13, SW9_CS13}, //LB51 - {1, SW11_CS13, SW10_CS13, SW12_CS13}, //LB52 - {1, SW2_CS14, SW1_CS14, SW3_CS14}, //LB53 - {1, SW5_CS14, SW4_CS14, SW6_CS14}, //LB54 - {1, SW8_CS14, SW7_CS14, SW9_CS14}, //LB55 - {1, SW11_CS14, SW10_CS14, SW12_CS14}, //LB56 - {1, SW2_CS15, SW1_CS15, SW3_CS15}, //LB57 - {1, SW5_CS15, SW4_CS15, SW6_CS15}, //LB58 - {1, SW8_CS15, SW7_CS15, SW9_CS15}, //LB59 - {1, SW11_CS15, SW10_CS15, SW12_CS15}, //LB60 - {1, SW2_CS16, SW1_CS16, SW3_CS16}, //LB61 - {1, SW5_CS16, SW4_CS16, SW6_CS16}, //LB62 - {1, SW8_CS16, SW7_CS16, SW9_CS16}, //LB63 - {1, SW11_CS16, SW10_CS16, SW12_CS16}, //LB64 + // Mapped with "dead" locations so each indicator is logically separate + {1, SW2_CS3, SW7_CS2, SW3_CS3}, //LB7 - top indi + {1, SW5_CS2, SW10_CS2, SW6_CS2}, //LB6 - mid indi + {1, SW11_CS2, SW4_CS2, SW12_CS2}, //LB6 - bot indi }; #endif @@ -165,26 +91,29 @@ const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT] = { * Middle LED is blue and red. LED driver 2 RGB 6 Red and Blue channel * Bottom LED is red only LED driver 2 RGB 6 Green channel. */ -void led_update_ports(led_t led_state) { - if (led_state.caps_lock) { - is31fl3733_set_color( 7+64-1, 0, 255, 0 ); +bool rgb_matrix_indicators_kb(void) { + if (!rgb_matrix_indicators_user()) { + return false; + } + + if (host_keyboard_led_state().caps_lock) { + rgb_matrix_set_color(68, RGB_WHITE); //0, 0xFF, 0); } else { - is31fl3733_set_color( 7+64-1, 0, 0, 0 ); + rgb_matrix_set_color(68, RGB_OFF); } -} -__attribute__((weak)) layer_state_t layer_state_set_user(layer_state_t state) { - uint8_t R = 0; - uint8_t G = 0; - uint8_t B = 0; + layer_state_t state = layer_state|default_layer_state; if (state & (1UL << 1)) { - R = 255; - B = 255; - } - if (state & (1UL << 2)) { - G = 255; + rgb_matrix_set_color(69, RGB_WHITE); // 0xFF, 0, 0xFF); + } else { + rgb_matrix_set_color(69, RGB_OFF); } - is31fl3733_set_color( 6+64-1, R, G, B ); - return state; + if (state & (1UL << 2)) { + rgb_matrix_set_color(70, RGB_WHITE); //0, 0xFF, 0); + } else { + rgb_matrix_set_color(70, RGB_OFF); + } + + return true; } diff --git a/keyboards/novelkeys/nk65/nk65.h b/keyboards/novelkeys/nk65/nk65.h deleted file mode 100755 index c75541be93..0000000000 --- a/keyboards/novelkeys/nk65/nk65.h +++ /dev/null @@ -1,20 +0,0 @@ -/* Copyright 2019 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 . - */ -#pragma once - -#include "quantum.h" -#include "../wilba_tech/wt_rgb_backlight_keycodes.h" -#include "via.h" diff --git a/keyboards/novelkeys/nk65/readme.md b/keyboards/novelkeys/nk65/readme.md index 38f66500b9..5e30f54b31 100755 --- a/keyboards/novelkeys/nk65/readme.md +++ b/keyboards/novelkeys/nk65/readme.md @@ -1,39 +1,29 @@ -NK65 -========= +# NK65 ![NK65](https://i.imgur.com/EXNbVpL.jpg) +> NOTE: For PCBs with revision v1.4 or later please use nk65/v1_4 in the make command. + This is a standard fixed layout 65% PCB. It supports VIA and full per-key RGB. -Keyboard Maintainer: [Yiancar](http://yiancar-designs.com/) and on [GitHub](https://github.com/yiancar) -Hardware Supported: A 65% keyboard with STM32F303CC -Hardware Availability: https://novelkeys.xyz/ - -Due to the RGB implementation, the NK65 is currently not compatible with community layouts. - -NOTE: For PCBs with revision v1.4 or later please use nk65/v1_4 in the make command. - -## Instructions - -### Build +* Keyboard Maintainer: [Yiancar](http://yiancar-designs.com/) and on [GitHub](https://github.com/yiancar) +* Hardware Supported: A 65% keyboard with STM32F303CC +* Hardware Availability: https://novelkeys.xyz/ Make example for this keyboard (after setting up your build environment): - make novelkeys/nk65:via + make novelkeys/nk65/v1:default + +Flashing example for this keyboard: + + make novelkeys/nk65/v1: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). -### Reset +## Bootloader -- Unplug -- Hold Escape -- Plug In -- Unplug -- Release Escape +Enter the bootloader in 3 ways: -### Flash - -- Unplug -- Hold Escape -- Plug In -- Flash using QMK Toolbox or dfu-util (`make nk65::dfu-util`) +* **Bootmagic reset**: Hold down 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/novelkeys/nk65/rules.mk b/keyboards/novelkeys/nk65/rules.mk deleted file mode 100755 index c0d789a5a6..0000000000 --- a/keyboards/novelkeys/nk65/rules.mk +++ /dev/null @@ -1,15 +0,0 @@ -# Do not put the microcontroller into power saving mode -# when we get USB suspend event. We want it to keep updating -# backlight effects. -NO_SUSPEND_POWER_DOWN = yes - -CIE1931_CURVE = yes -I2C_DRIVER_REQUIRED = yes - -# project specific files -SRC = keyboards/wilba_tech/wt_main.c \ - keyboards/wilba_tech/wt_rgb_backlight.c \ - drivers/led/issi/is31fl3733.c \ - quantum/color.c - -DEFAULT_FOLDER = novelkeys/nk65/base diff --git a/keyboards/novelkeys/nk65/base/keyboard.json b/keyboards/novelkeys/nk65/v1/keyboard.json similarity index 100% rename from keyboards/novelkeys/nk65/base/keyboard.json rename to keyboards/novelkeys/nk65/v1/keyboard.json diff --git a/keyboards/novelkeys/nk65/v1_4/readme.md b/keyboards/novelkeys/nk65/v1_4/readme.md index 399919a8be..11f581ff31 100755 --- a/keyboards/novelkeys/nk65/v1_4/readme.md +++ b/keyboards/novelkeys/nk65/v1_4/readme.md @@ -1,39 +1,29 @@ -NK65 V1.4 -========= +# NK65 V1.4 ![NK65](https://i.imgur.com/EXNbVpL.jpg) -NOTE: Please use this directory only if you have revision 1.4 PCB or later. +> NOTE: Please use this directory only if you have revision 1.4 PCB or later. This is a standard fixed layout 65% PCB. It supports VIA and full per-key RGB. -Keyboard Maintainer: [Yiancar](http://yiancar-designs.com/) and on [GitHub](https://github.com/yiancar) -Hardware Supported: A 65% keyboard with STM32F303CC -Hardware Availability: https://novelkeys.xyz/ - -Due to the RGB implementation, the NK65 is currently not compatible with community layouts. - -## Instructions - -### Build +* Keyboard Maintainer: [Yiancar](http://yiancar-designs.com/) and on [GitHub](https://github.com/yiancar) +* Hardware Supported: A 65% keyboard with STM32F303CC +* Hardware Availability: https://novelkeys.xyz/ Make example for this keyboard (after setting up your build environment): - make nk65/v1_4:via + make novelkeys/nk65/v1_4:default + +Flashing example for this keyboard: + + make novelkeys/nk65/v1_4: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). -### Reset +## Bootloader -- Unplug -- Hold Escape -- Plug In -- Unplug -- Release Escape +Enter the bootloader in 3 ways: -### Flash - -- Unplug -- Hold Escape -- Plug In -- Flash using QMK Toolbox or dfu-util (`make nk65/v1_4::dfu-util`) +* **Bootmagic reset**: Hold down 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/np12/keyboard.json b/keyboards/np12/keyboard.json index 435f2db3b7..d12307f117 100644 --- a/keyboards/np12/keyboard.json +++ b/keyboards/np12/keyboard.json @@ -25,8 +25,7 @@ {"pin_a": "F4", "pin_b": "F5"} ] }, - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/numatreus/keyboard.json b/keyboards/numatreus/keyboard.json index 3441a769e1..5a9df0f429 100644 --- a/keyboards/numatreus/keyboard.json +++ b/keyboards/numatreus/keyboard.json @@ -33,8 +33,7 @@ "led_count": 6, "max_brightness": 200 }, - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/numatreus/keymaps/like_jis/keymap.c b/keyboards/numatreus/keymaps/like_jis/keymap.c index 6fc526610a..1b3838bf6b 100644 --- a/keyboards/numatreus/keymaps/like_jis/keymap.c +++ b/keyboards/numatreus/keymaps/like_jis/keymap.c @@ -112,13 +112,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_ADJUST] = LAYOUT( //,----------------------------------. ,----------------------------------. - QK_BOOT, RGBRST, AG_NORM, AG_SWAP, KC_CAPS, XXXXXXX, KC_WH_L, KC_WH_U, KC_HOME, KC_PGUP, + QK_BOOT, RGBRST, AG_NORM, AG_SWAP, KC_CAPS, XXXXXXX, MS_WHLL, MS_WHLU, KC_HOME, KC_PGUP, //|------+------+------+------+------| |------+------+------+------+------| - UG_TOGG, UG_HUEU, UG_SATU, UG_VALU, KC_SCRL, XXXXXXX, KC_WH_R, KC_WH_D, KC_END, KC_PGDN, + UG_TOGG, UG_HUEU, UG_SATU, UG_VALU, KC_SCRL, XXXXXXX, MS_WHLR, MS_WHLD, KC_END, KC_PGDN, //|------+------+------+------+------| |------+------+------+------+------| - UG_NEXT, UG_HUED, UG_SATD, UG_VALD, KC_NUM, XXXXXXX, KC_BTN1, KC_BTN2, KC_MS_U, XXXXXXX, + UG_NEXT, UG_HUED, UG_SATD, UG_VALD, KC_NUM, XXXXXXX, MS_BTN1, MS_BTN2, MS_UP, XXXXXXX, //|------+------+------+------+------|------+------+------+------+------+------+------| - KC_LSFT, 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_LSFT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MS_LEFT, MS_DOWN, MS_RGHT //|------+------+------+------+-------------+------+------+------+------+------+------| ) }; diff --git a/keyboards/obosob/arch_36/keyboard.json b/keyboards/obosob/arch_36/keyboard.json index 791c08d3f1..661d335daa 100644 --- a/keyboards/obosob/arch_36/keyboard.json +++ b/keyboards/obosob/arch_36/keyboard.json @@ -34,8 +34,7 @@ "ws2812": { "pin": "D3" }, - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "community_layouts": ["split_3x5_3"], "layouts": { "LAYOUT_split_3x5_3": { diff --git a/keyboards/obosob/steal_this_keyboard/keyboard.json b/keyboards/obosob/steal_this_keyboard/keyboard.json index 4865f54283..60abd1ecf9 100644 --- a/keyboards/obosob/steal_this_keyboard/keyboard.json +++ b/keyboards/obosob/steal_this_keyboard/keyboard.json @@ -8,8 +8,7 @@ "pid": "0x50AD", "device_version": "0.0.1" }, - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "features": { "bootmagic": false, "extrakey": true, diff --git a/keyboards/obosob/steal_this_keyboard/keymaps/default/keymap.c b/keyboards/obosob/steal_this_keyboard/keymaps/default/keymap.c index 2d20fafe30..2a8f615201 100644 --- a/keyboards/obosob/steal_this_keyboard/keymaps/default/keymap.c +++ b/keyboards/obosob/steal_this_keyboard/keymaps/default/keymap.c @@ -43,9 +43,9 @@ KC_Z, MT_X, MT_C, KC_V, KC_B, KC_N, KC_M, MT_COMM, MT_DOT, KC_P0, KC_BSPC, MT_SPC, KC_P1 ), [1] = LAYOUT_split_3x5_2( -_______, _______, _______, _______, _______, _______, KC_BTN1, KC_WH_U, KC_BTN2, _______, -_______, KC_BTN2, XXXXXXX, KC_BTN1, _______, _______, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, -_______, _______, _______, _______, _______, _______, KC_WH_L, KC_WH_D, KC_WH_R, _______, +_______, _______, _______, _______, _______, _______, MS_BTN1, MS_WHLU, MS_BTN2, _______, +_______, MS_BTN2, XXXXXXX, MS_BTN1, _______, _______, MS_LEFT, MS_DOWN, MS_UP, MS_RGHT, +_______, _______, _______, _______, _______, _______, MS_WHLL, MS_WHLD, MS_WHLR, _______, _______, _______, _______, _______ ), [2] = LAYOUT_split_3x5_2( diff --git a/keyboards/ocean/addon/keyboard.json b/keyboards/ocean/addon/keyboard.json index 0793a7082a..671c04cba0 100644 --- a/keyboards/ocean/addon/keyboard.json +++ b/keyboards/ocean/addon/keyboard.json @@ -19,8 +19,7 @@ "rows": ["C6", "D7", "E6", "B4", "B5"] }, "diode_direction": "ROW2COL", - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/ocean/gin_v2/keyboard.json b/keyboards/ocean/gin_v2/keyboard.json index d20aa5916f..08a7f29b8c 100644 --- a/keyboards/ocean/gin_v2/keyboard.json +++ b/keyboards/ocean/gin_v2/keyboard.json @@ -18,8 +18,7 @@ "rows": ["D1", "D0", "D4", "C6", "D7", "E6", "B4", "B5"] }, "diode_direction": "ROW2COL", - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/ocean/slamz/keyboard.json b/keyboards/ocean/slamz/keyboard.json index cf3ed54426..65bc91eebe 100644 --- a/keyboards/ocean/slamz/keyboard.json +++ b/keyboards/ocean/slamz/keyboard.json @@ -18,8 +18,7 @@ "rows": ["D2", "D1", "D0", "D4"] }, "diode_direction": "ROW2COL", - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/ocean/stealth/keyboard.json b/keyboards/ocean/stealth/keyboard.json index a15d2fffac..0f0070de63 100644 --- a/keyboards/ocean/stealth/keyboard.json +++ b/keyboards/ocean/stealth/keyboard.json @@ -18,8 +18,7 @@ "rows": ["D1"] }, "diode_direction": "ROW2COL", - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/ocean/sus/keyboard.json b/keyboards/ocean/sus/keyboard.json index 3ac426f6aa..ebbb247035 100644 --- a/keyboards/ocean/sus/keyboard.json +++ b/keyboards/ocean/sus/keyboard.json @@ -19,8 +19,7 @@ "rows": ["B5", "B4", "E6", "D7"] }, "diode_direction": "ROW2COL", - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "layouts": { "LAYOUT_ortho_4x3": { "layout": [ diff --git a/keyboards/ocean/wang_ergo/keyboard.json b/keyboards/ocean/wang_ergo/keyboard.json index d552028bc6..e32f21d802 100644 --- a/keyboards/ocean/wang_ergo/keyboard.json +++ b/keyboards/ocean/wang_ergo/keyboard.json @@ -18,8 +18,7 @@ "rows": ["F4", "F5", "F6", "F7"] }, "diode_direction": "ROW2COL", - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "layout_aliases": { "LAYOUT": "LAYOUT_all" }, diff --git a/keyboards/ocean/wang_v2/keyboard.json b/keyboards/ocean/wang_v2/keyboard.json index 79ef6b3697..e64345db2f 100644 --- a/keyboards/ocean/wang_v2/keyboard.json +++ b/keyboards/ocean/wang_v2/keyboard.json @@ -18,8 +18,7 @@ "rows": ["F4", "F5", "F6", "F7"] }, "diode_direction": "ROW2COL", - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/ocean/yuri/keyboard.json b/keyboards/ocean/yuri/keyboard.json index aeb4cd895d..fee89b9de7 100644 --- a/keyboards/ocean/yuri/keyboard.json +++ b/keyboards/ocean/yuri/keyboard.json @@ -19,8 +19,7 @@ "rows": ["F4", "F5", "F6", "F7"] }, "diode_direction": "ROW2COL", - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/oddball/keymaps/default/keymap.c b/keyboards/oddball/keymaps/default/keymap.c index 2d1c7ee049..7df7f9c152 100644 --- a/keyboards/oddball/keymaps/default/keymap.c +++ b/keyboards/oddball/keymaps/default/keymap.c @@ -32,9 +32,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_LOWER] = LAYOUT( - KC_DEL, KC_EXLM, KC_AT, KC_LCBR, KC_RCBR, KC_BTN3, KC_DQUO, KC_7, KC_8, KC_9, KC_ASTR, KC_UNDS, - KC_SCROLL, KC_HASH, KC_DLR, KC_LPRN, KC_RPRN, KC_BTN2, KC_QUOT, KC_4, KC_5, KC_6, KC_PLUS, KC_ENT, - _______, KC_PERC, KC_CIRC, KC_LBRC, KC_RBRC, KC_BTN1, KC_0, KC_1, KC_2, KC_3, KC_MINS, _______, + KC_DEL, KC_EXLM, KC_AT, KC_LCBR, KC_RCBR, MS_BTN3, KC_DQUO, KC_7, KC_8, KC_9, KC_ASTR, KC_UNDS, + KC_SCROLL, KC_HASH, KC_DLR, KC_LPRN, KC_RPRN, MS_BTN2, KC_QUOT, KC_4, KC_5, KC_6, KC_PLUS, KC_ENT, + _______, KC_PERC, KC_CIRC, KC_LBRC, KC_RBRC, MS_BTN1, KC_0, KC_1, KC_2, KC_3, KC_MINS, _______, _______, _______, _______, _______ ), diff --git a/keyboards/oddball/keymaps/pmw3360/keymap.c b/keyboards/oddball/keymaps/pmw3360/keymap.c index 2d1c7ee049..7df7f9c152 100644 --- a/keyboards/oddball/keymaps/pmw3360/keymap.c +++ b/keyboards/oddball/keymaps/pmw3360/keymap.c @@ -32,9 +32,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_LOWER] = LAYOUT( - KC_DEL, KC_EXLM, KC_AT, KC_LCBR, KC_RCBR, KC_BTN3, KC_DQUO, KC_7, KC_8, KC_9, KC_ASTR, KC_UNDS, - KC_SCROLL, KC_HASH, KC_DLR, KC_LPRN, KC_RPRN, KC_BTN2, KC_QUOT, KC_4, KC_5, KC_6, KC_PLUS, KC_ENT, - _______, KC_PERC, KC_CIRC, KC_LBRC, KC_RBRC, KC_BTN1, KC_0, KC_1, KC_2, KC_3, KC_MINS, _______, + KC_DEL, KC_EXLM, KC_AT, KC_LCBR, KC_RCBR, MS_BTN3, KC_DQUO, KC_7, KC_8, KC_9, KC_ASTR, KC_UNDS, + KC_SCROLL, KC_HASH, KC_DLR, KC_LPRN, KC_RPRN, MS_BTN2, KC_QUOT, KC_4, KC_5, KC_6, KC_PLUS, KC_ENT, + _______, KC_PERC, KC_CIRC, KC_LBRC, KC_RBRC, MS_BTN1, KC_0, KC_1, KC_2, KC_3, KC_MINS, _______, _______, _______, _______, _______ ), diff --git a/keyboards/oddball/oddball.c b/keyboards/oddball/oddball.c index bbc3b3f2e4..aa74b07475 100644 --- a/keyboards/oddball/oddball.c +++ b/keyboards/oddball/oddball.c @@ -107,23 +107,23 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) { // handle mouse drag and scroll switch (keycode) { - case KC_BTN1: + case MS_BTN1: on_mouse_button(MOUSE_BTN1, record); return false; - case KC_BTN2: + case MS_BTN2: on_mouse_button(MOUSE_BTN2, record); return false; - case KC_BTN3: + case MS_BTN3: on_mouse_button(MOUSE_BTN3, record); return false; - case KC_BTN4: + case MS_BTN4: on_mouse_button(MOUSE_BTN4, record); return false; - case KC_BTN5: + case MS_BTN5: on_mouse_button(MOUSE_BTN5, record); return false; diff --git a/keyboards/om60/keyboard.json b/keyboards/om60/keyboard.json index 08eb898b01..d91f28f8af 100644 --- a/keyboards/om60/keyboard.json +++ b/keyboards/om60/keyboard.json @@ -49,8 +49,7 @@ "ws2812": { "pin": "D3" }, - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/omkbd/ergodash/info.json b/keyboards/omkbd/ergodash/info.json index 306a3970bb..18138dd692 100644 --- a/keyboards/omkbd/ergodash/info.json +++ b/keyboards/omkbd/ergodash/info.json @@ -1,6 +1,5 @@ { - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "split": { "enabled": true } diff --git a/keyboards/omkbd/ergodash/mini/config.h b/keyboards/omkbd/ergodash/mini/config.h index 12b408ff56..373c238afd 100644 --- a/keyboards/omkbd/ergodash/mini/config.h +++ b/keyboards/omkbd/ergodash/mini/config.h @@ -19,13 +19,3 @@ along with this program. If not, see . #pragma once #define AUDIO_PIN C6 - -#define SELECT_SOFT_SERIAL_SPEED 1 -/*Sets the protocol speed when using serial communication*/ -//Speeds: -//0: about 189kbps (Experimental only) -//1: about 137kbps (default) -//2: about 75kbps -//3: about 39kbps -//4: about 26kbps -//5: about 20kbps diff --git a/keyboards/omkbd/ergodash/rev1/config.h b/keyboards/omkbd/ergodash/rev1/config.h index 12b408ff56..373c238afd 100644 --- a/keyboards/omkbd/ergodash/rev1/config.h +++ b/keyboards/omkbd/ergodash/rev1/config.h @@ -19,13 +19,3 @@ along with this program. If not, see . #pragma once #define AUDIO_PIN C6 - -#define SELECT_SOFT_SERIAL_SPEED 1 -/*Sets the protocol speed when using serial communication*/ -//Speeds: -//0: about 189kbps (Experimental only) -//1: about 137kbps (default) -//2: about 75kbps -//3: about 39kbps -//4: about 26kbps -//5: about 20kbps diff --git a/keyboards/omkbd/runner3680/3x6/config.h b/keyboards/omkbd/runner3680/3x6/config.h deleted file mode 100644 index 2b0210d2be..0000000000 --- a/keyboards/omkbd/runner3680/3x6/config.h +++ /dev/null @@ -1,27 +0,0 @@ -/* Copyright 2019 omkbd - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - -#define SELECT_SOFT_SERIAL_SPEED 1 -/*Sets the protocol speed when using serial communication*/ -//Speeds: -//0: about 189kbps (Experimental only) -//1: about 137kbps (default) -//2: about 75kbps -//3: about 39kbps -//4: about 26kbps -//5: about 20kbps diff --git a/keyboards/omkbd/runner3680/3x7/config.h b/keyboards/omkbd/runner3680/3x7/config.h deleted file mode 100644 index 2b0210d2be..0000000000 --- a/keyboards/omkbd/runner3680/3x7/config.h +++ /dev/null @@ -1,27 +0,0 @@ -/* Copyright 2019 omkbd - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - -#define SELECT_SOFT_SERIAL_SPEED 1 -/*Sets the protocol speed when using serial communication*/ -//Speeds: -//0: about 189kbps (Experimental only) -//1: about 137kbps (default) -//2: about 75kbps -//3: about 39kbps -//4: about 26kbps -//5: about 20kbps diff --git a/keyboards/omkbd/runner3680/3x8/config.h b/keyboards/omkbd/runner3680/3x8/config.h deleted file mode 100644 index 2b0210d2be..0000000000 --- a/keyboards/omkbd/runner3680/3x8/config.h +++ /dev/null @@ -1,27 +0,0 @@ -/* Copyright 2019 omkbd - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - -#define SELECT_SOFT_SERIAL_SPEED 1 -/*Sets the protocol speed when using serial communication*/ -//Speeds: -//0: about 189kbps (Experimental only) -//1: about 137kbps (default) -//2: about 75kbps -//3: about 39kbps -//4: about 26kbps -//5: about 20kbps diff --git a/keyboards/omkbd/runner3680/4x6/config.h b/keyboards/omkbd/runner3680/4x6/config.h deleted file mode 100644 index 2b0210d2be..0000000000 --- a/keyboards/omkbd/runner3680/4x6/config.h +++ /dev/null @@ -1,27 +0,0 @@ -/* Copyright 2019 omkbd - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - -#define SELECT_SOFT_SERIAL_SPEED 1 -/*Sets the protocol speed when using serial communication*/ -//Speeds: -//0: about 189kbps (Experimental only) -//1: about 137kbps (default) -//2: about 75kbps -//3: about 39kbps -//4: about 26kbps -//5: about 20kbps diff --git a/keyboards/omkbd/runner3680/4x7/config.h b/keyboards/omkbd/runner3680/4x7/config.h deleted file mode 100644 index 2b0210d2be..0000000000 --- a/keyboards/omkbd/runner3680/4x7/config.h +++ /dev/null @@ -1,27 +0,0 @@ -/* Copyright 2019 omkbd - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - -#define SELECT_SOFT_SERIAL_SPEED 1 -/*Sets the protocol speed when using serial communication*/ -//Speeds: -//0: about 189kbps (Experimental only) -//1: about 137kbps (default) -//2: about 75kbps -//3: about 39kbps -//4: about 26kbps -//5: about 20kbps diff --git a/keyboards/omkbd/runner3680/4x8/config.h b/keyboards/omkbd/runner3680/4x8/config.h deleted file mode 100644 index 2b0210d2be..0000000000 --- a/keyboards/omkbd/runner3680/4x8/config.h +++ /dev/null @@ -1,27 +0,0 @@ -/* Copyright 2019 omkbd - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - -#define SELECT_SOFT_SERIAL_SPEED 1 -/*Sets the protocol speed when using serial communication*/ -//Speeds: -//0: about 189kbps (Experimental only) -//1: about 137kbps (default) -//2: about 75kbps -//3: about 39kbps -//4: about 26kbps -//5: about 20kbps diff --git a/keyboards/omkbd/runner3680/5x6/config.h b/keyboards/omkbd/runner3680/5x6/config.h deleted file mode 100644 index 2b0210d2be..0000000000 --- a/keyboards/omkbd/runner3680/5x6/config.h +++ /dev/null @@ -1,27 +0,0 @@ -/* Copyright 2019 omkbd - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - -#define SELECT_SOFT_SERIAL_SPEED 1 -/*Sets the protocol speed when using serial communication*/ -//Speeds: -//0: about 189kbps (Experimental only) -//1: about 137kbps (default) -//2: about 75kbps -//3: about 39kbps -//4: about 26kbps -//5: about 20kbps diff --git a/keyboards/omkbd/runner3680/5x6_5x8/config.h b/keyboards/omkbd/runner3680/5x6_5x8/config.h deleted file mode 100644 index b6f3f5ff86..0000000000 --- a/keyboards/omkbd/runner3680/5x6_5x8/config.h +++ /dev/null @@ -1,27 +0,0 @@ -/* Copyright 2021 omkbd - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - -#define SELECT_SOFT_SERIAL_SPEED 1 -/*Sets the protocol speed when using serial communication*/ -//Speeds: -//0: about 189kbps (Experimental only) -//1: about 137kbps (default) -//2: about 75kbps -//3: about 39kbps -//4: about 26kbps -//5: about 20kbps diff --git a/keyboards/omkbd/runner3680/5x7/config.h b/keyboards/omkbd/runner3680/5x7/config.h deleted file mode 100644 index 2b0210d2be..0000000000 --- a/keyboards/omkbd/runner3680/5x7/config.h +++ /dev/null @@ -1,27 +0,0 @@ -/* Copyright 2019 omkbd - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - -#define SELECT_SOFT_SERIAL_SPEED 1 -/*Sets the protocol speed when using serial communication*/ -//Speeds: -//0: about 189kbps (Experimental only) -//1: about 137kbps (default) -//2: about 75kbps -//3: about 39kbps -//4: about 26kbps -//5: about 20kbps diff --git a/keyboards/omkbd/runner3680/5x8/config.h b/keyboards/omkbd/runner3680/5x8/config.h deleted file mode 100644 index 2b0210d2be..0000000000 --- a/keyboards/omkbd/runner3680/5x8/config.h +++ /dev/null @@ -1,27 +0,0 @@ -/* Copyright 2019 omkbd - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - -#define SELECT_SOFT_SERIAL_SPEED 1 -/*Sets the protocol speed when using serial communication*/ -//Speeds: -//0: about 189kbps (Experimental only) -//1: about 137kbps (default) -//2: about 75kbps -//3: about 39kbps -//4: about 26kbps -//5: about 20kbps diff --git a/keyboards/omkbd/runner3680/info.json b/keyboards/omkbd/runner3680/info.json index c626b2e3b4..e06cb1243c 100644 --- a/keyboards/omkbd/runner3680/info.json +++ b/keyboards/omkbd/runner3680/info.json @@ -1,6 +1,5 @@ { - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "features": { "bootmagic": false, "extrakey": false, diff --git a/keyboards/omnikeyish/keyboard.json b/keyboards/omnikeyish/keyboard.json index 82363b10bf..2a607dc852 100644 --- a/keyboards/omnikeyish/keyboard.json +++ b/keyboards/omnikeyish/keyboard.json @@ -6,8 +6,12 @@ "usb": { "vid": "0xFEED", "pid": "0x0666", - "device_version": "13.3.7", - "force_nkro": true + "device_version": "13.3.7" + }, + "host": { + "default": { + "nkro": true + } }, "features": { "bootmagic": true, diff --git a/keyboards/opendeck/32/info.json b/keyboards/opendeck/32/info.json index 4d340985d3..3a75fd163b 100644 --- a/keyboards/opendeck/32/info.json +++ b/keyboards/opendeck/32/info.json @@ -4,7 +4,11 @@ "usb": { "vid": "0x4345", "pid": "0x2EC0", - "device_version": "0.0.1", - "force_nkro": true + "device_version": "0.0.1" + }, + "host": { + "default": { + "nkro": true + } } } diff --git a/keyboards/org60/keymaps/default/keymap.c b/keyboards/org60/keymaps/default/keymap.c index 666f61ca83..0cd34ec9d5 100644 --- a/keyboards/org60/keymaps/default/keymap.c +++ b/keyboards/org60/keymaps/default/keymap.c @@ -13,7 +13,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // 1: Function Layer 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_NO, KC_NO, - KC_NO, KC_WH_U, KC_UP, KC_WH_D, KC_BSPC,KC_HOME,KC_CALC,KC_NO, KC_INS, KC_NO, KC_PSCR, KC_SCRL, KC_PAUS, KC_DEL, + KC_NO, MS_WHLU, KC_UP, MS_WHLD, KC_BSPC,KC_HOME,KC_CALC,KC_NO, KC_INS, KC_NO, KC_PSCR, KC_SCRL, KC_PAUS, KC_DEL, KC_NO, KC_LEFT, KC_DOWN, KC_RIGHT,KC_DEL, KC_END, KC_PGDN,KC_NO, KC_NO, KC_NO, KC_HOME, KC_PGUP, KC_NO, KC_ENT, KC_LSFT, KC_NO, KC_NO, KC_APP, BL_STEP,KC_NO, KC_NO, KC_VOLD,KC_VOLU,KC_MUTE, KC_END, KC_RSFT, KC_NO ,KC_PGUP, KC_INS, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RGUI, MO(1), KC_HOME, KC_PGDN,KC_END), diff --git a/keyboards/orthodox/rev1/keyboard.json b/keyboards/orthodox/rev1/keyboard.json index 0444009f2b..bd08fc19d2 100644 --- a/keyboards/orthodox/rev1/keyboard.json +++ b/keyboards/orthodox/rev1/keyboard.json @@ -17,8 +17,7 @@ "pin": "D0" } }, - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/orthodox/rev3/keyboard.json b/keyboards/orthodox/rev3/keyboard.json index 61d8281f55..411df12f98 100644 --- a/keyboards/orthodox/rev3/keyboard.json +++ b/keyboards/orthodox/rev3/keyboard.json @@ -17,8 +17,7 @@ "pin": "D0" } }, - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/owlab/jelly_epoch/hotswap/keyboard.json b/keyboards/owlab/jelly_epoch/hotswap/keyboard.json index 8fcea8034d..b6a519f686 100644 --- a/keyboards/owlab/jelly_epoch/hotswap/keyboard.json +++ b/keyboards/owlab/jelly_epoch/hotswap/keyboard.json @@ -6,8 +6,12 @@ "usb": { "vid": "0x4F53", "pid": "0x4A4C", - "device_version": "0.0.1", - "force_nkro": true + "device_version": "0.0.1" + }, + "host": { + "default": { + "nkro": true + } }, "features": { "bootmagic": true, diff --git a/keyboards/owlab/jelly_epoch/soldered/keyboard.json b/keyboards/owlab/jelly_epoch/soldered/keyboard.json index 2d807c58a9..b8c83b8c41 100644 --- a/keyboards/owlab/jelly_epoch/soldered/keyboard.json +++ b/keyboards/owlab/jelly_epoch/soldered/keyboard.json @@ -6,8 +6,12 @@ "usb": { "vid": "0x4F53", "pid": "0x4A53", - "device_version": "0.0.1", - "force_nkro": true + "device_version": "0.0.1" + }, + "host": { + "default": { + "nkro": true + } }, "features": { "bootmagic": true, diff --git a/keyboards/owlab/spring/keyboard.json b/keyboards/owlab/spring/keyboard.json index 1789f4ebb1..2a8d1e2d9b 100644 --- a/keyboards/owlab/spring/keyboard.json +++ b/keyboards/owlab/spring/keyboard.json @@ -5,8 +5,12 @@ "usb": { "vid": "0x4F53", "pid": "0x5350", - "device_version": "0.0.1", - "force_nkro": true + "device_version": "0.0.1" + }, + "host": { + "default": { + "nkro": true + } }, "features": { "bootmagic": true, diff --git a/keyboards/owlab/suit80/ansi/keyboard.json b/keyboards/owlab/suit80/ansi/keyboard.json index fe0f1b6e4b..b01ec347d3 100644 --- a/keyboards/owlab/suit80/ansi/keyboard.json +++ b/keyboards/owlab/suit80/ansi/keyboard.json @@ -5,8 +5,12 @@ "usb": { "vid": "0x4F53", "pid": "0x5355", - "device_version": "0.0.1", - "force_nkro": true + "device_version": "0.0.1" + }, + "host": { + "default": { + "nkro": true + } }, "features": { "bootmagic": true, diff --git a/keyboards/owlab/suit80/iso/keyboard.json b/keyboards/owlab/suit80/iso/keyboard.json index 2d9fcde472..a2814b0942 100644 --- a/keyboards/owlab/suit80/iso/keyboard.json +++ b/keyboards/owlab/suit80/iso/keyboard.json @@ -5,8 +5,12 @@ "usb": { "vid": "0x4F53", "pid": "0x5349", - "device_version": "0.0.1", - "force_nkro": true + "device_version": "0.0.1" + }, + "host": { + "default": { + "nkro": true + } }, "features": { "bootmagic": true, diff --git a/keyboards/owlab/voice65/hotswap/keyboard.json b/keyboards/owlab/voice65/hotswap/keyboard.json index f153efbde2..79ca2a57ed 100644 --- a/keyboards/owlab/voice65/hotswap/keyboard.json +++ b/keyboards/owlab/voice65/hotswap/keyboard.json @@ -6,8 +6,12 @@ "usb": { "vid": "0x4F53", "pid": "0x564F", - "device_version": "0.0.1", - "force_nkro": true + "device_version": "0.0.1" + }, + "host": { + "default": { + "nkro": true + } }, "rgb_matrix": { "animations": { diff --git a/keyboards/owlab/voice65/hotswap/keymaps/default/keymap.c b/keyboards/owlab/voice65/hotswap/keymaps/default/keymap.c index d189bc66f6..de2738e648 100644 --- a/keyboards/owlab/voice65/hotswap/keymaps/default/keymap.c +++ b/keyboards/owlab/voice65/hotswap/keymaps/default/keymap.c @@ -43,7 +43,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [3] = LAYOUT_65_ansi_blocker( KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_WH_U, KC_WH_D, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, MS_WHLU, MS_WHLD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ) @@ -53,7 +53,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, [1] = { ENCODER_CCW_CW(KC_PGUP, KC_PGDN) }, - [2] = { ENCODER_CCW_CW(KC_WH_U, KC_WH_D) }, + [2] = { ENCODER_CCW_CW(MS_WHLU, MS_WHLD) }, [3] = { ENCODER_CCW_CW(_______, _______) }, }; #endif diff --git a/keyboards/owlab/voice65/soldered/keyboard.json b/keyboards/owlab/voice65/soldered/keyboard.json index 932c32d2fd..edd79a064f 100644 --- a/keyboards/owlab/voice65/soldered/keyboard.json +++ b/keyboards/owlab/voice65/soldered/keyboard.json @@ -6,8 +6,12 @@ "usb": { "vid": "0x4F53", "pid": "0x5657", - "device_version": "0.0.1", - "force_nkro": true + "device_version": "0.0.1" + }, + "host": { + "default": { + "nkro": true + } }, "rgb_matrix": { "animations": { diff --git a/keyboards/owlab/voice65/soldered/keymaps/default/keymap.c b/keyboards/owlab/voice65/soldered/keymaps/default/keymap.c index fc92357cf5..70d22ceba9 100644 --- a/keyboards/owlab/voice65/soldered/keymaps/default/keymap.c +++ b/keyboards/owlab/voice65/soldered/keymaps/default/keymap.c @@ -43,7 +43,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [3] = LAYOUT_65_ansi_blocker( KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_WH_U, KC_WH_D, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, MS_WHLU, MS_WHLD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ) @@ -53,7 +53,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, [1] = { ENCODER_CCW_CW(KC_PGUP, KC_PGDN) }, - [2] = { ENCODER_CCW_CW(KC_WH_U, KC_WH_D) }, + [2] = { ENCODER_CCW_CW(MS_WHLU, MS_WHLD) }, [3] = { ENCODER_CCW_CW(_______, _______) }, }; #endif diff --git a/keyboards/p3d/spacey/keymaps/default/keymap.c b/keyboards/p3d/spacey/keymaps/default/keymap.c index 19bc5323b8..031728b37d 100644 --- a/keyboards/p3d/spacey/keymaps/default/keymap.c +++ b/keyboards/p3d/spacey/keymaps/default/keymap.c @@ -33,8 +33,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_FN] = 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_BSPC, KC_ESC, KC_TAB, KC_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_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_ENT, KC_MS_U, - KC_LSFT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_MS_L, KC_MS_D, KC_MS_R, + KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_ENT, MS_UP, + KC_LSFT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MS_LEFT, MS_DOWN, MS_RGHT, KC_LCTL, KC_LGUI, KC_NO, KC_LALT, KC_SPC, KC_BSPC, KC_RALT, KC_APP, KC_RGUI, KC_RCTL ) }; diff --git a/keyboards/p3d/synapse/synapse.c b/keyboards/p3d/synapse/synapse.c index 0b532eaab6..c851e47f6b 100644 --- a/keyboards/p3d/synapse/synapse.c +++ b/keyboards/p3d/synapse/synapse.c @@ -20,9 +20,9 @@ bool encoder_update_kb(uint8_t index, bool clockwise) { if (!encoder_update_user(index, clockwise)) { return false; } if (index == 1) { /* left encoder*/ if (clockwise){ - tap_code(KC_WH_U); + tap_code(MS_WHLU); } else { - tap_code(KC_WH_D); + tap_code(MS_WHLD); } } else if (index == 0) { /* right encoder */ if (clockwise){ diff --git a/keyboards/pabile/p18/keyboard.json b/keyboards/pabile/p18/keyboard.json index bf3380038a..12b7006680 100644 --- a/keyboards/pabile/p18/keyboard.json +++ b/keyboards/pabile/p18/keyboard.json @@ -27,8 +27,7 @@ {"pin_a": "F6", "pin_b": "F5"} ] }, - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/pabile/p18/keymaps/default/keymap.c b/keyboards/pabile/p18/keymaps/default/keymap.c index 0223a450cd..8d93db1097 100644 --- a/keyboards/pabile/p18/keymaps/default/keymap.c +++ b/keyboards/pabile/p18/keymaps/default/keymap.c @@ -19,9 +19,9 @@ bool encoder_update_user(uint8_t index, bool clockwise) { } } else if (index == 1) { /* Second encoder */ if (clockwise) { - tap_code(KC_WH_U); /*mouse wheel up*/ + tap_code(MS_WHLU); /*mouse wheel up*/ } else { - tap_code(KC_WH_D); /*mouse wheel down*/ + tap_code(MS_WHLD); /*mouse wheel down*/ } } return true; diff --git a/keyboards/pabile/p20/ver1/keyboard.json b/keyboards/pabile/p20/ver1/keyboard.json index 3e3a16a6d9..2cc5fed1ee 100644 --- a/keyboards/pabile/p20/ver1/keyboard.json +++ b/keyboards/pabile/p20/ver1/keyboard.json @@ -22,8 +22,7 @@ {"pin_a": "F7", "pin_b": "B1"} ] }, - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "layouts": { "LAYOUT_numpad_5x4": { "layout": [ diff --git a/keyboards/pabile/p20/ver1/keymaps/default/keymap.c b/keyboards/pabile/p20/ver1/keymaps/default/keymap.c index a844e2c8a1..03b32323a4 100644 --- a/keyboards/pabile/p20/ver1/keymaps/default/keymap.c +++ b/keyboards/pabile/p20/ver1/keymaps/default/keymap.c @@ -15,18 +15,18 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_RPRN, KC_NO, KC_PSLS, KC_NO), [2] = LAYOUT_ortho_5x4( KC_NUM, KC_NO, KC_NO, KC_NO, - KC_BTN1, KC_MS_U, KC_BTN2, KC_NO, - KC_MS_L, KC_MS_D, KC_MS_R, KC_TAB, - KC_WH_U, KC_NO, KC_WH_D, KC_NO, + MS_BTN1, MS_UP, MS_BTN2, KC_NO, + MS_LEFT, MS_DOWN, MS_RGHT, KC_TAB, + MS_WHLU, KC_NO, MS_WHLD, KC_NO, KC_NO, KC_NO, KC_DEL, KC_ESC) }; bool encoder_update_user(uint8_t index, bool clockwise) { if (index == 0) { /* First encoder */ if (clockwise) { - tap_code(KC_WH_U); /*mouse wheel up*/ + tap_code(MS_WHLU); /*mouse wheel up*/ } else { - tap_code(KC_WH_D); /*mouse wheel down */ + tap_code(MS_WHLD); /*mouse wheel down */ } } else if (index == 1) { /* Second encoder */ if (clockwise) { diff --git a/keyboards/pabile/p20/ver2/keyboard.json b/keyboards/pabile/p20/ver2/keyboard.json index cdacbf3aec..b82959af7a 100644 --- a/keyboards/pabile/p20/ver2/keyboard.json +++ b/keyboards/pabile/p20/ver2/keyboard.json @@ -15,8 +15,7 @@ "rows": ["C6", "D7", "E6", "B4", "B5"] }, "diode_direction": "COL2ROW", - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "layouts": { "LAYOUT_numpad_5x4": { "layout": [ diff --git a/keyboards/pabile/p40/keyboard.json b/keyboards/pabile/p40/keyboard.json index fbe4896687..de4eca82ac 100644 --- a/keyboards/pabile/p40/keyboard.json +++ b/keyboards/pabile/p40/keyboard.json @@ -20,8 +20,7 @@ "rows": ["F6", "B3", "B2", "B6"] }, "diode_direction": "COL2ROW", - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "community_layouts": ["ortho_4x10"], "layouts": { "LAYOUT_ortho_4x10": { diff --git a/keyboards/pabile/p40/keymaps/default/keymap.c b/keyboards/pabile/p40/keymaps/default/keymap.c index d607deb73c..f0f25eef0c 100644 --- a/keyboards/pabile/p40/keymaps/default/keymap.c +++ b/keyboards/pabile/p40/keymaps/default/keymap.c @@ -22,8 +22,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_END, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_BSPC, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO), [4] = LAYOUT_ortho_4x10( - KC_ESC, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_BTN1, KC_MS_U, KC_BTN2, KC_DEL, - KC_TAB, KC_NO, KC_NO, KC_NO, KC_NO, KC_WH_U, KC_MS_L, KC_MS_D, KC_MS_R, KC_NO, - KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_WH_D, KC_NO, KC_NO, KC_NO, KC_NO, + KC_ESC, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, MS_BTN1, MS_UP, MS_BTN2, KC_DEL, + KC_TAB, KC_NO, KC_NO, KC_NO, KC_NO, MS_WHLU, MS_LEFT, MS_DOWN, MS_RGHT, KC_NO, + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, MS_WHLD, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_BSPC, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO) }; diff --git a/keyboards/pabile/p40_ortho/keyboard.json b/keyboards/pabile/p40_ortho/keyboard.json index 3e5d9ea504..838c58235c 100644 --- a/keyboards/pabile/p40_ortho/keyboard.json +++ b/keyboards/pabile/p40_ortho/keyboard.json @@ -19,8 +19,7 @@ "rows": ["D1", "D0", "F4", "F5"] }, "diode_direction": "COL2ROW", - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "layouts": { "LAYOUT_ortho_4x10": { "layout": [ diff --git a/keyboards/pabile/p40_ortho/keymaps/default/keymap.c b/keyboards/pabile/p40_ortho/keymaps/default/keymap.c index 891d2b5735..74614bbb34 100644 --- a/keyboards/pabile/p40_ortho/keymaps/default/keymap.c +++ b/keyboards/pabile/p40_ortho/keymaps/default/keymap.c @@ -39,8 +39,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_END, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_BSPC, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO), [4] = LAYOUT_ortho_4x10( - KC_ESC, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_BTN1, KC_MS_U, KC_BTN2, KC_DEL, - KC_TAB, KC_NO, KC_NO, KC_NO, KC_NO, KC_WH_U, KC_MS_L, KC_MS_D, KC_MS_R, KC_NO, - KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_WH_D, KC_NO, KC_NO, KC_NO, KC_NO, + KC_ESC, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, MS_BTN1, MS_UP, MS_BTN2, KC_DEL, + KC_TAB, KC_NO, KC_NO, KC_NO, KC_NO, MS_WHLU, MS_LEFT, MS_DOWN, MS_RGHT, KC_NO, + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, MS_WHLD, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_BSPC, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO) }; diff --git a/keyboards/pabile/p42/keyboard.json b/keyboards/pabile/p42/keyboard.json index 42c8964332..8311becdfc 100644 --- a/keyboards/pabile/p42/keyboard.json +++ b/keyboards/pabile/p42/keyboard.json @@ -20,8 +20,7 @@ "rows": ["D1", "D0", "D4", "C6"] }, "diode_direction": "COL2ROW", - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/pabile/p42/keymaps/default/keymap.c b/keyboards/pabile/p42/keymaps/default/keymap.c index ef4bad015b..b69f8719b4 100644 --- a/keyboards/pabile/p42/keymaps/default/keymap.c +++ b/keyboards/pabile/p42/keymaps/default/keymap.c @@ -22,8 +22,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_END, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_BSPC, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS), [4] = LAYOUT( - KC_ESC, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_BTN1, KC_MS_U, KC_BTN2, KC_DEL, - KC_TAB, KC_NO, KC_NO, KC_NO, KC_NO, KC_WH_U, KC_MS_L, KC_MS_D, KC_MS_R, KC_NO, - KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_WH_D, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, + KC_ESC, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, MS_BTN1, MS_UP, MS_BTN2, KC_DEL, + KC_TAB, KC_NO, KC_NO, KC_NO, KC_NO, MS_WHLU, MS_LEFT, MS_DOWN, MS_RGHT, KC_NO, + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, MS_WHLD, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_BSPC, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS) }; diff --git a/keyboards/palette1202/keymaps/default/keymap.c b/keyboards/palette1202/keymaps/default/keymap.c index 0f49e46661..905b800cd6 100644 --- a/keyboards/palette1202/keymaps/default/keymap.c +++ b/keyboards/palette1202/keymaps/default/keymap.c @@ -50,7 +50,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [MAC_CS_2] = LAYOUT( MO(SETTING), KC_ESC, KC_G, KC_R, LGUI(KC_GRV), _______, LGUI(KC_D), KC_K, KC_F, LGUI(KC_S), - KC_LALT, KC_I, SGUI(KC_Z), KC_H + KC_LALT, KC_I, LSG(KC_Z), KC_H ), // Photoshop [MAC_PS_1] = LAYOUT( @@ -61,7 +61,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [MAC_PS_2] = LAYOUT( MO(SETTING), KC_ESC, KC_G, KC_R, KC_ESC, _______, LGUI(KC_D), KC_V, LGUI(KC_T), LGUI(KC_S), - KC_LALT, KC_I, SGUI(KC_Z), KC_H + KC_LALT, KC_I, LSG(KC_Z), KC_H ), // Windows @@ -97,7 +97,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [IOS_CS_2] = LAYOUT( MO(SETTING), KC_ESC, KC_G, KC_R, LGUI(KC_EQL), _______, LGUI(KC_D), KC_K, KC_F, LGUI(KC_S), - KC_LALT, KC_I, SGUI(KC_Z), KC_H + KC_LALT, KC_I, LSG(KC_Z), KC_H ), [SETTING] = LAYOUT( _______, IOS_CS, Win_CS, Mac_CS, KC_NO, diff --git a/keyboards/peej/tripel/info.json b/keyboards/peej/tripel/info.json index 7a5c12461a..e716e20cfe 100644 --- a/keyboards/peej/tripel/info.json +++ b/keyboards/peej/tripel/info.json @@ -20,6 +20,5 @@ "rows": ["C6", "D4", "D0", "B4", "E6", "D7", "D1", "D2", "D3"] }, "diode_direction": "COL2ROW", - "processor": "atmega32u4", - "bootloader": "caterina" + "development_board": "promicro" } diff --git a/keyboards/peranekofactory/tone/rev1/keyboard.json b/keyboards/peranekofactory/tone/rev1/keyboard.json index fb7b41b27a..9e9f7013c2 100644 --- a/keyboards/peranekofactory/tone/rev1/keyboard.json +++ b/keyboards/peranekofactory/tone/rev1/keyboard.json @@ -27,8 +27,7 @@ }, "tap_keycode_delay": 100 }, - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "matrix_pins": { "direct": [ ["D4", "C6", "D7", "E6", "F6", "F7", "B1", "B3"] diff --git a/keyboards/peranekofactory/tone/rev2/keyboard.json b/keyboards/peranekofactory/tone/rev2/keyboard.json index fb7b41b27a..9e9f7013c2 100644 --- a/keyboards/peranekofactory/tone/rev2/keyboard.json +++ b/keyboards/peranekofactory/tone/rev2/keyboard.json @@ -27,8 +27,7 @@ }, "tap_keycode_delay": 100 }, - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "matrix_pins": { "direct": [ ["D4", "C6", "D7", "E6", "F6", "F7", "B1", "B3"] diff --git a/keyboards/phentech/rpk_001/keyboard.json b/keyboards/phentech/rpk_001/keyboard.json index ce822295b2..df92139874 100644 --- a/keyboards/phentech/rpk_001/keyboard.json +++ b/keyboards/phentech/rpk_001/keyboard.json @@ -8,9 +8,13 @@ "device_version": "1.0.0", "vid": "0xAC12", "pid": "0x2236", - "force_nkro": true, "suspend_wakeup_delay": 1000 }, + "host": { + "default": { + "nkro": true + } + }, "diode_direction": "ROW2COL", "eeprom": { "driver": "wear_leveling", diff --git a/keyboards/phoenix/keymaps/default/keymap.c b/keyboards/phoenix/keymaps/default/keymap.c index 909e1dbb60..8191c0af26 100644 --- a/keyboards/phoenix/keymaps/default/keymap.c +++ b/keyboards/phoenix/keymaps/default/keymap.c @@ -116,13 +116,13 @@ 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_BTN1, KC_TRNS, KC_TRNS, + MS_BTN1, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_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_MS_L, KC_MS_D, KC_MS_R, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, MS_UP, KC_TRNS, KC_TRNS, KC_TRNS, + MS_LEFT, MS_DOWN, MS_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), diff --git a/keyboards/pica40/rev1/keyboard.json b/keyboards/pica40/rev1/keyboard.json index 85c2221a13..a616a2e497 100644 --- a/keyboards/pica40/rev1/keyboard.json +++ b/keyboards/pica40/rev1/keyboard.json @@ -1,6 +1,5 @@ { - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "diode_direction": "COL2ROW", "matrix_pins": { "cols": ["D2", "B5", "B4", "E6", "D7"], diff --git a/keyboards/pica40/rev2/keyboard.json b/keyboards/pica40/rev2/keyboard.json index 7fd2094706..3c753af26a 100644 --- a/keyboards/pica40/rev2/keyboard.json +++ b/keyboards/pica40/rev2/keyboard.json @@ -46,7 +46,7 @@ }, "encoder": { "rotary": [ - {"pin_a": "GP7", "pin_b": "GP7", "resolution": 4} + {"pin_a": "GP7", "pin_b": "GP7"} ] }, "usb": { diff --git a/keyboards/pimentoso/paddino02/rev1/keyboard.json b/keyboards/pimentoso/paddino02/rev1/keyboard.json index b0fddff9d3..30ac2a9a06 100644 --- a/keyboards/pimentoso/paddino02/rev1/keyboard.json +++ b/keyboards/pimentoso/paddino02/rev1/keyboard.json @@ -24,8 +24,7 @@ "rows": ["D1", "D0", "D4"] }, "diode_direction": "ROW2COL", - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/pimentoso/paddino02/rev1/keymaps/default/keymap.c b/keyboards/pimentoso/paddino02/rev1/keymaps/default/keymap.c index 343ae043b4..364224b77b 100755 --- a/keyboards/pimentoso/paddino02/rev1/keymaps/default/keymap.c +++ b/keyboards/pimentoso/paddino02/rev1/keymaps/default/keymap.c @@ -3,7 +3,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { LAYOUT( - KC_ESC, KC_BTN1, KC_UP, KC_BTN2, + KC_ESC, MS_BTN1, KC_UP, MS_BTN2, KC_LSFT, KC_LEFT, KC_DOWN, KC_RGHT, MO(1), KC_SPC), diff --git a/keyboards/pimentoso/paddino02/rev2/left/keyboard.json b/keyboards/pimentoso/paddino02/rev2/left/keyboard.json index f89552220d..ff9687b2b1 100644 --- a/keyboards/pimentoso/paddino02/rev2/left/keyboard.json +++ b/keyboards/pimentoso/paddino02/rev2/left/keyboard.json @@ -24,8 +24,7 @@ "rows": ["D0", "D4", "D1"] }, "diode_direction": "COL2ROW", - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/pimentoso/paddino02/rev2/left/keymaps/default/keymap.c b/keyboards/pimentoso/paddino02/rev2/left/keymaps/default/keymap.c index 343ae043b4..364224b77b 100755 --- a/keyboards/pimentoso/paddino02/rev2/left/keymaps/default/keymap.c +++ b/keyboards/pimentoso/paddino02/rev2/left/keymaps/default/keymap.c @@ -3,7 +3,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { LAYOUT( - KC_ESC, KC_BTN1, KC_UP, KC_BTN2, + KC_ESC, MS_BTN1, KC_UP, MS_BTN2, KC_LSFT, KC_LEFT, KC_DOWN, KC_RGHT, MO(1), KC_SPC), diff --git a/keyboards/pimentoso/paddino02/rev2/right/keyboard.json b/keyboards/pimentoso/paddino02/rev2/right/keyboard.json index 1148564a05..006eca8794 100644 --- a/keyboards/pimentoso/paddino02/rev2/right/keyboard.json +++ b/keyboards/pimentoso/paddino02/rev2/right/keyboard.json @@ -24,8 +24,7 @@ "rows": ["F4", "F6", "F5"] }, "diode_direction": "COL2ROW", - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/pimentoso/paddino02/rev2/right/keymaps/default/keymap.c b/keyboards/pimentoso/paddino02/rev2/right/keymaps/default/keymap.c index 0cc38837d3..7e624fcf66 100755 --- a/keyboards/pimentoso/paddino02/rev2/right/keymaps/default/keymap.c +++ b/keyboards/pimentoso/paddino02/rev2/right/keymaps/default/keymap.c @@ -3,7 +3,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { LAYOUT( - KC_ESC, KC_BTN2, KC_UP, KC_BTN1, + KC_ESC, MS_BTN2, KC_UP, MS_BTN1, KC_LSFT, KC_RGHT, KC_DOWN, KC_LEFT, MO(1), KC_SPC), diff --git a/keyboards/pimentoso/touhoupad/keyboard.json b/keyboards/pimentoso/touhoupad/keyboard.json index fed01eb5a6..5407d49e59 100644 --- a/keyboards/pimentoso/touhoupad/keyboard.json +++ b/keyboards/pimentoso/touhoupad/keyboard.json @@ -35,8 +35,7 @@ "rows": ["D4"] }, "diode_direction": "COL2ROW", - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/pinky/3/keyboard.json b/keyboards/pinky/3/keyboard.json index f02b6c72d0..9ca44c26f3 100644 --- a/keyboards/pinky/3/keyboard.json +++ b/keyboards/pinky/3/keyboard.json @@ -17,8 +17,7 @@ "pin": "D2" } }, - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "layout_aliases": { "LAYOUT": "LAYOUT_split_3x7_4" }, diff --git a/keyboards/pinky/4/keyboard.json b/keyboards/pinky/4/keyboard.json index 68b1dcb14c..bc651638ac 100644 --- a/keyboards/pinky/4/keyboard.json +++ b/keyboards/pinky/4/keyboard.json @@ -17,8 +17,7 @@ "pin": "D2" } }, - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "layout_aliases": { "LAYOUT": "LAYOUT_split_4x7_4" }, diff --git a/keyboards/planck/keymaps/default/keymap.c b/keyboards/planck/keymaps/default/keymap.c index c08e58653a..a56cee0549 100644 --- a/keyboards/planck/keymaps/default/keymap.c +++ b/keyboards/planck/keymaps/default/keymap.c @@ -258,13 +258,13 @@ bool encoder_update_user(uint8_t index, bool clockwise) { } else { if (clockwise) { #ifdef MOUSEKEY_ENABLE - tap_code(KC_MS_WH_DOWN); + tap_code(MS_WHLD); #else tap_code(KC_PGDN); #endif } else { #ifdef MOUSEKEY_ENABLE - tap_code(KC_MS_WH_UP); + tap_code(MS_WHLU); #else tap_code(KC_PGUP); #endif diff --git a/keyboards/ploopyco/madromys/keymaps/default/keymap.c b/keyboards/ploopyco/madromys/keymaps/default/keymap.c index bc8265b39d..a4e46efc87 100644 --- a/keyboards/ploopyco/madromys/keymaps/default/keymap.c +++ b/keyboards/ploopyco/madromys/keymaps/default/keymap.c @@ -18,5 +18,5 @@ #include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT( KC_BTN4, KC_BTN5, DRAG_SCROLL, KC_BTN2, KC_BTN1, KC_BTN3 ) + [0] = LAYOUT( MS_BTN4, MS_BTN5, DRAG_SCROLL, MS_BTN2, MS_BTN1, MS_BTN3 ) }; diff --git a/keyboards/ploopyco/mouse/keymaps/default/keymap.c b/keyboards/ploopyco/mouse/keymaps/default/keymap.c index 29d81b8061..d2ed79a774 100644 --- a/keyboards/ploopyco/mouse/keymaps/default/keymap.c +++ b/keyboards/ploopyco/mouse/keymaps/default/keymap.c @@ -19,5 +19,5 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [0] = LAYOUT(/* Base */ - C(KC_C), KC_BTN1, KC_BTN3, KC_BTN2, C(KC_V), KC_BTN4, KC_BTN5, DPI_CONFIG) + C(KC_C), MS_BTN1, MS_BTN3, MS_BTN2, C(KC_V), MS_BTN4, MS_BTN5, DPI_CONFIG) }; diff --git a/keyboards/ploopyco/ploopyco.c b/keyboards/ploopyco/ploopyco.c index 57f2a26b8c..642696be0f 100644 --- a/keyboards/ploopyco/ploopyco.c +++ b/keyboards/ploopyco/ploopyco.c @@ -80,7 +80,7 @@ bool encoder_update_kb(uint8_t index, bool clockwise) { return false; } # ifdef MOUSEKEY_ENABLE - tap_code(clockwise ? KC_WH_U : KC_WH_D); + tap_code(clockwise ? MS_WHLU : MS_WHLD); # else report_mouse_t mouse_report = pointing_device_get_report(); mouse_report.v = clockwise ? 1 : -1; @@ -139,6 +139,7 @@ void cycle_dpi(void) { } report_mouse_t pointing_device_task_kb(report_mouse_t mouse_report) { + mouse_report = pointing_device_task_user(mouse_report); if (is_drag_scroll) { scroll_accumulated_h += (float)mouse_report.x / PLOOPY_DRAGSCROLL_DIVISOR_H; scroll_accumulated_v += (float)mouse_report.y / PLOOPY_DRAGSCROLL_DIVISOR_V; @@ -163,7 +164,7 @@ report_mouse_t pointing_device_task_kb(report_mouse_t mouse_report) { mouse_report.y = 0; } - return pointing_device_task_user(mouse_report); + return mouse_report; } bool process_record_kb(uint16_t keycode, keyrecord_t* record) { diff --git a/keyboards/ploopyco/trackball/keymaps/default/keymap.c b/keyboards/ploopyco/trackball/keymaps/default/keymap.c index 83a4a16847..e330a2efff 100644 --- a/keyboards/ploopyco/trackball/keymaps/default/keymap.c +++ b/keyboards/ploopyco/trackball/keymaps/default/keymap.c @@ -19,7 +19,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [0] = LAYOUT( /* Base */ - KC_BTN1, KC_BTN3, KC_BTN2, - KC_BTN4, KC_BTN5 + MS_BTN1, MS_BTN3, MS_BTN2, + MS_BTN4, MS_BTN5 ), }; diff --git a/keyboards/ploopyco/trackball_mini/keymaps/default/keymap.c b/keyboards/ploopyco/trackball_mini/keymaps/default/keymap.c index 3659076bec..ac51e8b89a 100644 --- a/keyboards/ploopyco/trackball_mini/keymaps/default/keymap.c +++ b/keyboards/ploopyco/trackball_mini/keymaps/default/keymap.c @@ -20,7 +20,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [0] = LAYOUT( /* Base */ - KC_BTN1, KC_BTN3, KC_BTN2, - KC_BTN4, KC_BTN5 + MS_BTN1, MS_BTN3, MS_BTN2, + MS_BTN4, MS_BTN5 ), }; diff --git a/keyboards/ploopyco/trackball_thumb/keymaps/default/keymap.c b/keyboards/ploopyco/trackball_thumb/keymaps/default/keymap.c index 8729deabc1..eb50542ce4 100644 --- a/keyboards/ploopyco/trackball_thumb/keymaps/default/keymap.c +++ b/keyboards/ploopyco/trackball_thumb/keymaps/default/keymap.c @@ -19,7 +19,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [0] = LAYOUT( /* Base */ - KC_BTN4, KC_BTN1, KC_BTN3, KC_BTN2, KC_BTN5, + MS_BTN4, MS_BTN1, MS_BTN3, MS_BTN2, MS_BTN5, DPI_CONFIG ), }; diff --git a/keyboards/pluckey/keymaps/default/keymap.c b/keyboards/pluckey/keymaps/default/keymap.c index 787bb192b2..604215b3c6 100644 --- a/keyboards/pluckey/keymaps/default/keymap.c +++ b/keyboards/pluckey/keymaps/default/keymap.c @@ -51,15 +51,15 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_RAISE] = LAYOUT_all( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, _______, _______, _______, - _______, _______, _______, KC_VOLU, _______, _______, KC_LPRN, KC_RPRN, _______, KC_BTN4, KC_UP, KC_BTN5, _______, _______, + _______, _______, _______, KC_VOLU, _______, _______, KC_LPRN, KC_RPRN, _______, MS_BTN4, KC_UP, MS_BTN5, _______, _______, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, KC_LPRN, KC_RPRN, KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, KC_END, _______, _______, _______, _______, KC_VOLD, _______, _______, M_ARROW, KC_PGUP, KC_PGDN, _______, _______, _______, KC_PGDN, _______, _______, _______, _______, _______, MO_ADJU, _______, KC_DEL, _______, _______, MO_CURR, _______, _______ ), [_ADJUST] = LAYOUT_all( KC_SLEP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_WH_U, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_WH_L, KC_WH_D, KC_WH_R, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, MS_WHLU, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, MS_WHLL, MS_WHLD, MS_WHLR, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_CLR, _______, _______, _______, _______, _______ ) diff --git a/keyboards/pluckey/keymaps/default_ergo/keymap.c b/keyboards/pluckey/keymaps/default_ergo/keymap.c index 313b118b8a..5fe90e9fbb 100644 --- a/keyboards/pluckey/keymaps/default_ergo/keymap.c +++ b/keyboards/pluckey/keymaps/default_ergo/keymap.c @@ -51,15 +51,15 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_RAISE] = LAYOUT_ergo( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, _______, _______, _______, - _______, _______, _______, KC_VOLU, _______, _______, KC_LPRN, KC_RPRN, _______, KC_BTN4, KC_UP, KC_BTN5, _______, _______, + _______, _______, _______, KC_VOLU, _______, _______, KC_LPRN, KC_RPRN, _______, MS_BTN4, KC_UP, MS_BTN5, _______, _______, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, KC_END, _______, _______, _______, _______, KC_VOLD, _______, _______, M_ARROW, KC_PGUP, KC_PGDN, _______, _______, _______, KC_PGDN, _______, _______, _______, _______, _______, MO_ADJU, _______, KC_DEL, _______, _______, MO_CURR, _______, _______ ), [_ADJUST] = LAYOUT_ergo( KC_SLEP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_WH_U, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, KC_WH_L, KC_WH_D, KC_WH_R, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, MS_WHLU, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, MS_WHLL, MS_WHLD, MS_WHLR, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_CLR, _______, _______, _______, _______, _______ ) diff --git a/keyboards/pluckey/pluckey.c b/keyboards/pluckey/pluckey.c index d9215b9339..db801c8b81 100644 --- a/keyboards/pluckey/pluckey.c +++ b/keyboards/pluckey/pluckey.c @@ -28,9 +28,9 @@ bool encoder_update_kb(uint8_t index, bool clockwise) { } else if (index == 1) { if (clockwise) { - tap_code(KC_WH_U); + tap_code(MS_WHLU); } else { - tap_code(KC_WH_D); + tap_code(MS_WHLD); } } return true; diff --git a/keyboards/plum47/keyboard.json b/keyboards/plum47/keyboard.json index 2c6e009300..00efab2c28 100644 --- a/keyboards/plum47/keyboard.json +++ b/keyboards/plum47/keyboard.json @@ -2,7 +2,7 @@ "manufacturer": "Masayuki Takagi", "keyboard_name": "plum47", "maintainer": "awh-tokyo", - "bootloader": "caterina", + "development_board": "promicro", "diode_direction": "COL2ROW", "features": { "bootmagic": true, @@ -14,7 +14,6 @@ "cols": ["F4", "F5", "F6", "F7", "B1", "B3", "B2", "B6", "B5", "B4", "E6", "D7"], "rows": ["D1", "D0", "D4", "C6"] }, - "processor": "atmega32u4", "url": "ihttps://github.com/takagi/plum47_buildguide", "usb": { "device_version": "1.0.0", diff --git a/keyboards/polycarbdiet/s20/keyboard.json b/keyboards/polycarbdiet/s20/keyboard.json index e8b180b860..327debdb7d 100644 --- a/keyboards/polycarbdiet/s20/keyboard.json +++ b/keyboards/polycarbdiet/s20/keyboard.json @@ -5,8 +5,12 @@ "usb": { "vid": "0x5040", "pid": "0x7320", - "device_version": "0.0.1", - "force_nkro": true + "device_version": "0.0.1" + }, + "host": { + "default": { + "nkro": true + } }, "features": { "backlight": true, diff --git a/keyboards/proteus67/keymaps/default/keymap.c b/keyboards/proteus67/keymaps/default/keymap.c index 225476b40c..710ae56a90 100644 --- a/keyboards/proteus67/keymaps/default/keymap.c +++ b/keyboards/proteus67/keymaps/default/keymap.c @@ -18,8 +18,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_LAYERB] = LAYOUT_ortho_5x14( UG_TOGG , UG_HUEU ,UG_HUED ,UG_SATU , UG_SATD , UG_VALU , UG_VALD , RGB_M_P , RGB_M_B , RGB_M_R , RGB_M_SW , 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_BTN1 , KC_MS_U , 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_MS_L , KC_MS_D , KC_MS_R , KC_SCLN,KC_QUOT , + KC_TRNS , KC_TRNS, KC_TRNS ,KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , MS_BTN1 , MS_UP , MS_BTN2 , KC_TRNS ,KC_TRNS, + KC_TRNS, KC_TRNS ,KC_TRNS ,KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , MS_LEFT , MS_DOWN , MS_RGHT , KC_SCLN,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_NUBS, KC_TRNS, KC_TRNS , KC_TRNS ,KC_TRNS,KC_TRNS, KC_TRNS , UG_PREV, KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS ), diff --git a/keyboards/prototypist/oceanographer/keymaps/default/keymap.c b/keyboards/prototypist/oceanographer/keymaps/default/keymap.c index 83b907f9a4..ceeb224927 100644 --- a/keyboards/prototypist/oceanographer/keymaps/default/keymap.c +++ b/keyboards/prototypist/oceanographer/keymaps/default/keymap.c @@ -43,7 +43,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { [_QWERTY] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU)}, [_FN1] = { ENCODER_CCW_CW(UG_VALD, UG_VALU)}, - [_FN2] = { ENCODER_CCW_CW(KC_MS_WH_DOWN, KC_MS_WH_UP)}, + [_FN2] = { ENCODER_CCW_CW(MS_WHLD, MS_WHLU)}, [_FN3] = { ENCODER_CCW_CW(KC_LEFT, KC_RIGHT)} }; #endif diff --git a/keyboards/prototypist/oceanographer/keymaps/default_625/keymap.c b/keyboards/prototypist/oceanographer/keymaps/default_625/keymap.c index 94e8e936f8..185ce52c9b 100644 --- a/keyboards/prototypist/oceanographer/keymaps/default_625/keymap.c +++ b/keyboards/prototypist/oceanographer/keymaps/default_625/keymap.c @@ -43,7 +43,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { [_QWERTY] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU)}, [_FN1] = { ENCODER_CCW_CW(UG_VALD, UG_VALU)}, - [_FN2] = { ENCODER_CCW_CW(KC_MS_WH_DOWN, KC_MS_WH_UP)}, + [_FN2] = { ENCODER_CCW_CW(MS_WHLD, MS_WHLU)}, [_FN3] = { ENCODER_CCW_CW(KC_LEFT, KC_RIGHT)} }; #endif diff --git a/keyboards/prototypist/oceanographer/keymaps/split_225_2/keymap.c b/keyboards/prototypist/oceanographer/keymaps/split_225_2/keymap.c index cc7c155752..0a1d1558dd 100644 --- a/keyboards/prototypist/oceanographer/keymaps/split_225_2/keymap.c +++ b/keyboards/prototypist/oceanographer/keymaps/split_225_2/keymap.c @@ -43,7 +43,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { [_QWERTY] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU)}, [_FN1] = { ENCODER_CCW_CW(UG_VALD, UG_VALU)}, - [_FN2] = { ENCODER_CCW_CW(KC_MS_WH_DOWN, KC_MS_WH_UP)}, + [_FN2] = { ENCODER_CCW_CW(MS_WHLD, MS_WHLU)}, [_FN3] = { ENCODER_CCW_CW(KC_LEFT, KC_RIGHT)} }; #endif diff --git a/keyboards/psuieee/pluto12/keyboard.json b/keyboards/psuieee/pluto12/keyboard.json index 02db5bc0a1..815c3b5949 100644 --- a/keyboards/psuieee/pluto12/keyboard.json +++ b/keyboards/psuieee/pluto12/keyboard.json @@ -31,8 +31,7 @@ {"pin_a": "B6", "pin_b": "B2"} ] }, - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/pteron36/keyboard.json b/keyboards/pteron36/keyboard.json index 783e1e8db0..5daca888e9 100644 --- a/keyboards/pteron36/keyboard.json +++ b/keyboards/pteron36/keyboard.json @@ -54,8 +54,7 @@ "ws2812": { "pin": "B6" }, - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "community_layouts": ["split_3x5_3"], "layouts": { "LAYOUT_split_3x5_3": { diff --git a/keyboards/qck75/v1/v1.c b/keyboards/qck75/v1/v1.c index 5e512b292c..d7756fe06d 100644 --- a/keyboards/qck75/v1/v1.c +++ b/keyboards/qck75/v1/v1.c @@ -26,16 +26,16 @@ bool encoder_update_kb(uint8_t index, bool clockwise) { break; case THIRD: if (clockwise) { - tap_code(KC_MS_R); + tap_code(MS_RGHT); } else { - tap_code(KC_MS_L); + tap_code(MS_LEFT); } break; case FOURTH: if (clockwise) { - tap_code(KC_MS_U); + tap_code(MS_UP); } else { - tap_code(KC_MS_D); + tap_code(MS_DOWN); } break; } diff --git a/keyboards/qpockets/eggman/keymaps/default/keymap.c b/keyboards/qpockets/eggman/keymaps/default/keymap.c index 079272d918..60b70837fb 100644 --- a/keyboards/qpockets/eggman/keymaps/default/keymap.c +++ b/keyboards/qpockets/eggman/keymaps/default/keymap.c @@ -63,9 +63,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { bool encoder_update_user(uint8_t index, bool clockwise) { if (index == 0) { /* left encoder */ if (clockwise) { - tap_code(KC_WH_U); + tap_code(MS_WHLU); } else { - tap_code(KC_WH_D); + tap_code(MS_WHLD); } } else if (index == 1) { /* right encoder */ if (clockwise) { diff --git a/keyboards/qpockets/space_space/rev1/keymaps/big_space/keymap.c b/keyboards/qpockets/space_space/rev1/keymaps/big_space/keymap.c index 1bbdd632e8..1b88459606 100644 --- a/keyboards/qpockets/space_space/rev1/keymaps/big_space/keymap.c +++ b/keyboards/qpockets/space_space/rev1/keymaps/big_space/keymap.c @@ -85,9 +85,9 @@ bool encoder_update_user(uint8_t index, bool clockwise) { default: if (clockwise){ - tap_code(KC_WH_U); + tap_code(MS_WHLU); } else{ - tap_code(KC_WH_D); + tap_code(MS_WHLD); } break; } diff --git a/keyboards/qpockets/space_space/rev1/keymaps/default/keymap.c b/keyboards/qpockets/space_space/rev1/keymaps/default/keymap.c index 19390f665c..f872606d07 100644 --- a/keyboards/qpockets/space_space/rev1/keymaps/default/keymap.c +++ b/keyboards/qpockets/space_space/rev1/keymaps/default/keymap.c @@ -87,9 +87,9 @@ bool encoder_update_user(uint8_t index, bool clockwise) { default: if (clockwise){ - tap_code(KC_WH_U); + tap_code(MS_WHLU); } else{ - tap_code(KC_WH_D); + tap_code(MS_WHLD); } break; } diff --git a/keyboards/qpockets/space_space/rev2/rev2.c b/keyboards/qpockets/space_space/rev2/rev2.c index e6053afb75..04581833ff 100644 --- a/keyboards/qpockets/space_space/rev2/rev2.c +++ b/keyboards/qpockets/space_space/rev2/rev2.c @@ -20,9 +20,9 @@ bool encoder_update_kb(uint8_t index, bool clockwise) { if (!encoder_update_user(index, clockwise)) { return false; } if (index == 1) { /* left encoder*/ if (clockwise){ - tap_code(KC_WH_U); + tap_code(MS_WHLU); } else { - tap_code(KC_WH_D); + tap_code(MS_WHLD); } } else if (index == 0) { /* right encoder */ if (clockwise){ diff --git a/keyboards/qpockets/wanten/keymaps/2u_bars/keymap.c b/keyboards/qpockets/wanten/keymaps/2u_bars/keymap.c index 3322fc8923..de67171c2e 100644 --- a/keyboards/qpockets/wanten/keymaps/2u_bars/keymap.c +++ b/keyboards/qpockets/wanten/keymaps/2u_bars/keymap.c @@ -78,9 +78,9 @@ bool encoder_update_user(uint8_t index, bool clockwise) { } } else if (index == 1) { /* center encoder */ if (clockwise) { - tap_code(KC_WH_U); + tap_code(MS_WHLU); } else { - tap_code(KC_WH_D); + tap_code(MS_WHLD); } } return true; diff --git a/keyboards/qpockets/wanten/keymaps/625_bar/keymap.c b/keyboards/qpockets/wanten/keymaps/625_bar/keymap.c index 1bd1be2f66..fc5dab3b77 100644 --- a/keyboards/qpockets/wanten/keymaps/625_bar/keymap.c +++ b/keyboards/qpockets/wanten/keymaps/625_bar/keymap.c @@ -78,9 +78,9 @@ bool encoder_update_user(uint8_t index, bool clockwise) { } } else if (index == 1) { /* center encoder */ if (clockwise) { - tap_code(KC_WH_D); + tap_code(MS_WHLD); } else { - tap_code(KC_WH_U); + tap_code(MS_WHLU); } } return true; diff --git a/keyboards/qpockets/wanten/keymaps/default/keymap.c b/keyboards/qpockets/wanten/keymaps/default/keymap.c index 248974a7eb..386a8d982d 100644 --- a/keyboards/qpockets/wanten/keymaps/default/keymap.c +++ b/keyboards/qpockets/wanten/keymaps/default/keymap.c @@ -78,9 +78,9 @@ bool encoder_update_user(uint8_t index, bool clockwise) { } } else if (index == 1) { /* center encoder */ if (clockwise) { - tap_code(KC_WH_U); + tap_code(MS_WHLU); } else { - tap_code(KC_WH_D); + tap_code(MS_WHLD); } } return true; diff --git a/keyboards/qvex/lynepad/keymaps/default/keymap.c b/keyboards/qvex/lynepad/keymaps/default/keymap.c index 142f295de6..a4c3030f22 100644 --- a/keyboards/qvex/lynepad/keymaps/default/keymap.c +++ b/keyboards/qvex/lynepad/keymaps/default/keymap.c @@ -24,9 +24,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |----------------------------| */ [0] = LAYOUT( - KC_MS_BTN4, KC_MS_BTN2, KC_MS_UP, KC_MS_BTN1, - KC_MS_BTN5, KC_MS_LEFT, KC_MS_DOWN, KC_MS_RIGHT, - KC_MS_ACCEL0, KC_MS_ACCEL1, KC_MS_ACCEL2 + MS_BTN4, MS_BTN2, MS_UP, MS_BTN1, + MS_BTN5, MS_LEFT, MS_DOWN, MS_RGHT, + MS_ACL0, MS_ACL1, MS_ACL2 ) }; @@ -41,9 +41,9 @@ bool encoder_update_user(uint8_t index, bool clockwise) { } } else if (index == 1) { /* Second encoder */ if (clockwise) { - tap_code(KC_MS_WH_UP); + tap_code(MS_WHLU); } else { - tap_code(KC_MS_WH_DOWN); + tap_code(MS_WHLD); } } return true; @@ -76,10 +76,10 @@ void matrix_scan_user(void) { } if (enc2Center != enc2CenterPrev) { if (enc2Center < ENC_TILT_THRESHOLD) { - register_code16(KC_MS_BTN3); + register_code16(MS_BTN3); } else { - unregister_code16(KC_MS_BTN3); + unregister_code16(MS_BTN3); } /* * Encoder sets ALL values when center is pressed so bail out at this point diff --git a/keyboards/qwertykeys/qk65/hotswap/keyboard.json b/keyboards/qwertykeys/qk65/hotswap/keyboard.json index 3aa8597626..2cdfe33ba3 100644 --- a/keyboards/qwertykeys/qk65/hotswap/keyboard.json +++ b/keyboards/qwertykeys/qk65/hotswap/keyboard.json @@ -5,8 +5,12 @@ "usb": { "vid": "0x4F53", "pid": "0x514B", - "device_version": "0.0.1", - "force_nkro": true + "device_version": "0.0.1" + }, + "host": { + "default": { + "nkro": true + } }, "features": { "bootmagic": true, diff --git a/keyboards/qwertykeys/qk65/solder/keyboard.json b/keyboards/qwertykeys/qk65/solder/keyboard.json index 0d02ba7a91..63afc40994 100644 --- a/keyboards/qwertykeys/qk65/solder/keyboard.json +++ b/keyboards/qwertykeys/qk65/solder/keyboard.json @@ -5,8 +5,12 @@ "usb": { "vid": "0x4F53", "pid": "0x5153", - "device_version": "0.0.1", - "force_nkro": true + "device_version": "0.0.1" + }, + "host": { + "default": { + "nkro": true + } }, "features": { "bootmagic": true, diff --git a/keyboards/qwertyydox/keymaps/default/keymap.c b/keyboards/qwertyydox/keymaps/default/keymap.c index 49d45b9c5f..69e1d5c31c 100644 --- a/keyboards/qwertyydox/keymaps/default/keymap.c +++ b/keyboards/qwertyydox/keymaps/default/keymap.c @@ -42,11 +42,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_NAV] = LAYOUT( //,--------+--------+--------+--------+--------+--------+--------. ,--------+--------+--------+--------+--------+--------+--------. - KC_ESC, KC_NO, KC_ACL0, KC_ACL1, KC_ACL2, KC_WH_L, KC_WH_R, KC_ESC, KC_NO, KC_UP, KC_PSLS, KC_PAST, KC_PMNS, KC_PPLS, + KC_ESC, KC_NO, MS_ACL0, MS_ACL1, MS_ACL2, MS_WHLL, MS_WHLR, KC_ESC, KC_NO, KC_UP, KC_PSLS, KC_PAST, KC_PMNS, KC_PPLS, //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - KC_NO, KC_Z, KC_X, KC_C, KC_V, KC_WH_U, KC_NO, KC_LEFT, KC_DOWN, KC_RGHT, KC_NO, KC_NO, KC_NO, + KC_NO, KC_Z, KC_X, KC_C, KC_V, MS_WHLU, KC_NO, KC_LEFT, KC_DOWN, KC_RGHT, KC_NO, KC_NO, KC_NO, //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - KC_INS, KC_HOME, KC_PGUP, KC_BTN1, KC_BTN2, KC_WH_D, KC_MS_L, KC_MS_U, KC_MS_D, KC_MS_R, KC_NO, KC_NO, + KC_INS, KC_HOME, KC_PGUP, MS_BTN1, MS_BTN2, MS_WHLD, MS_LEFT, MS_UP, MS_DOWN, MS_RGHT, KC_NO, KC_NO, //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| KC_DEL, KC_END, KC_PGDN, nav, KC_LCTL, KC_SPC, TO(0), TO(1), KC_LSFT, KC_BSPC, KC_NO, KC_NO, KC_NO, QK_BOOT //`--------+--------+--------+--------+--------+--------+--------/ \--------+--------+--------+--------+--------+--------+--------' diff --git a/keyboards/rainkeebs/rainkeeb/keyboard.json b/keyboards/rainkeebs/rainkeeb/keyboard.json index 2d4a2ac5b9..b14ea45dde 100644 --- a/keyboards/rainkeebs/rainkeeb/keyboard.json +++ b/keyboards/rainkeebs/rainkeeb/keyboard.json @@ -32,8 +32,7 @@ {"pin_a": "B2", "pin_b": "B6"} ] }, - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/rainkeebs/rainkeeb/keymaps/default/keymap.c b/keyboards/rainkeebs/rainkeeb/keymaps/default/keymap.c index 914d1113b1..bcc7ea0f88 100644 --- a/keyboards/rainkeebs/rainkeeb/keymaps/default/keymap.c +++ b/keyboards/rainkeebs/rainkeeb/keymaps/default/keymap.c @@ -62,16 +62,16 @@ bool encoder_update_user(uint8_t index, bool clockwise) { break; case _RAISE: if (clockwise) { - tap_code(KC_MS_WH_DOWN); + tap_code(MS_WHLD); } else { - tap_code(KC_MS_WH_UP); + tap_code(MS_WHLU); } break; case _ADJUST: if (clockwise) { - tap_code(KC_MS_WH_RIGHT); + tap_code(MS_WHLR); } else { - tap_code(KC_MS_WH_LEFT); + tap_code(MS_WHLL); } break; case _GAME: diff --git a/keyboards/rainkeebs/trailmix/keymaps/default/keymap.c b/keyboards/rainkeebs/trailmix/keymaps/default/keymap.c index 77418f9cd6..7c3fcb3ce0 100644 --- a/keyboards/rainkeebs/trailmix/keymaps/default/keymap.c +++ b/keyboards/rainkeebs/trailmix/keymaps/default/keymap.c @@ -58,9 +58,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { #if defined(ENCODER_MAP_ENABLE) const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { - [_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_MS_WH_UP, KC_MS_WH_DOWN)}, + [_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(MS_WHLU, MS_WHLD)}, [_LOWER] = {ENCODER_CCW_CW(KC_PGDN, KC_PGUP), ENCODER_CCW_CW(KC_HOME, KC_END)}, - [_RAISE] = {ENCODER_CCW_CW(KC_MPRV, KC_MNXT), ENCODER_CCW_CW(KC_WH_L, KC_WH_R)}, - [_ADJUST] = {ENCODER_CCW_CW(KC_MS_LEFT, KC_MS_RIGHT), ENCODER_CCW_CW(KC_MS_UP, KC_MS_DOWN)}, + [_RAISE] = {ENCODER_CCW_CW(KC_MPRV, KC_MNXT), ENCODER_CCW_CW(MS_WHLL, MS_WHLR)}, + [_ADJUST] = {ENCODER_CCW_CW(MS_LEFT, MS_RGHT), ENCODER_CCW_CW(MS_UP, MS_DOWN)}, }; #endif diff --git a/keyboards/rainkeebs/trailmix/trailmix.c b/keyboards/rainkeebs/trailmix/trailmix.c index 105d988dad..954c72f2c8 100644 --- a/keyboards/rainkeebs/trailmix/trailmix.c +++ b/keyboards/rainkeebs/trailmix/trailmix.c @@ -34,9 +34,9 @@ bool encoder_update_kb(uint8_t index, bool clockwise) { } } else if (index == 1) { if (clockwise) { - tap_code(KC_MS_WH_DOWN); + tap_code(MS_WHLD); } else { - tap_code(KC_MS_WH_UP); + tap_code(MS_WHLU); } } break; @@ -49,9 +49,9 @@ bool encoder_update_kb(uint8_t index, bool clockwise) { } } else if (index == 1) { if (clockwise) { - tap_code(KC_WH_R); + tap_code(MS_WHLR); } else { - tap_code(KC_WH_L); + tap_code(MS_WHLL); } } break; @@ -73,15 +73,15 @@ bool encoder_update_kb(uint8_t index, bool clockwise) { case _ADJUST: if (index == 0) { if (clockwise) { - tap_code(KC_MS_RIGHT); + tap_code(MS_RGHT); } else { - tap_code(KC_MS_LEFT); + tap_code(MS_LEFT); } } else if (index == 1) { if (clockwise) { - tap_code(KC_MS_DOWN); + tap_code(MS_DOWN); } else { - tap_code(KC_MS_UP); + tap_code(MS_UP); } } break; diff --git a/keyboards/rart/rart4x4/keyboard.json b/keyboards/rart/rart4x4/keyboard.json index a18e4a4606..13d7ca3345 100644 --- a/keyboards/rart/rart4x4/keyboard.json +++ b/keyboards/rart/rart4x4/keyboard.json @@ -54,8 +54,7 @@ {"pin_a": "D7", "pin_b": "E6"} ] }, - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "community_layouts": ["ortho_4x4"], "layouts": { "LAYOUT_ortho_4x4": { diff --git a/keyboards/rart/rart4x4/keymaps/default/keymap.c b/keyboards/rart/rart4x4/keymaps/default/keymap.c index e57b87a35f..9f16aff6ed 100644 --- a/keyboards/rart/rart4x4/keymaps/default/keymap.c +++ b/keyboards/rart/rart4x4/keymaps/default/keymap.c @@ -43,9 +43,9 @@ bool encoder_update_user(uint8_t index, bool clockwise) { } } else if (index == 1) { /* Second encoder */ if (clockwise) { - tap_code(KC_WH_D); + tap_code(MS_WHLD); } else { - tap_code(KC_WH_U); + tap_code(MS_WHLU); } } return true; diff --git a/keyboards/rart/rart67m/keyboard.json b/keyboards/rart/rart67m/keyboard.json index bade7834fd..a9ab73ce57 100644 --- a/keyboards/rart/rart67m/keyboard.json +++ b/keyboards/rart/rart67m/keyboard.json @@ -26,8 +26,7 @@ "rows": ["D3", "D2", "D4", "F6", "B3", "B4", "B2", "B5"] }, "diode_direction": "COL2ROW", - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "layout_aliases": { "LAYOUT_all": "LAYOUT" }, diff --git a/keyboards/rart/rartlite/keyboard.json b/keyboards/rart/rartlite/keyboard.json index df9180d622..48325bf391 100644 --- a/keyboards/rart/rartlite/keyboard.json +++ b/keyboards/rart/rartlite/keyboard.json @@ -29,8 +29,7 @@ "num_lock": "F6", "on_state": 0 }, - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "layouts": { "LAYOUT_right_numpad": { "layout": [ diff --git a/keyboards/rart/rartpad/keyboard.json b/keyboards/rart/rartpad/keyboard.json index cc3f7120d2..70195fc4bf 100644 --- a/keyboards/rart/rartpad/keyboard.json +++ b/keyboards/rart/rartpad/keyboard.json @@ -57,8 +57,7 @@ "twinkle": true } }, - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "community_layouts": ["ortho_5x4", "numpad_5x4"], "layouts": { "LAYOUT_ortho_5x4": { diff --git a/keyboards/rart/rartpad/keymaps/default/keymap.c b/keyboards/rart/rartpad/keymaps/default/keymap.c index 342b280c57..8b177bba5c 100644 --- a/keyboards/rart/rartpad/keymaps/default/keymap.c +++ b/keyboards/rart/rartpad/keymaps/default/keymap.c @@ -45,9 +45,9 @@ bool encoder_update_user(uint8_t index, bool clockwise) { } } else if (index == 1) { /* Second encoder */ if (clockwise) { - tap_code(KC_WH_D); + tap_code(MS_WHLD); } else { - tap_code(KC_WH_U); + tap_code(MS_WHLU); } } return true; diff --git a/keyboards/rate/pistachio/info.json b/keyboards/rate/pistachio/info.json index 7136860260..0e65b68f98 100644 --- a/keyboards/rate/pistachio/info.json +++ b/keyboards/rate/pistachio/info.json @@ -5,8 +5,12 @@ "usb": { "vid": "0x5255", "pid": "0xD0C2", - "device_version": "0.0.1", - "force_nkro": true + "device_version": "0.0.1" + }, + "host": { + "default": { + "nkro": true + } }, "processor": "atmega32u4", "bootloader": "caterina" diff --git a/keyboards/rate/pistachio/keymaps/default/keymap.c b/keyboards/rate/pistachio/keymaps/default/keymap.c index a8cd297ce8..3d7d8fb636 100644 --- a/keyboards/rate/pistachio/keymaps/default/keymap.c +++ b/keyboards/rate/pistachio/keymaps/default/keymap.c @@ -34,7 +34,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_MPLY, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, JP_AT, JP_LBRC, KC_HOME, KC_MUTE, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, JP_SCLN, JP_COLN, JP_RBRC, KC_ENT, KC_END, KC_VOLU, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, JP_COMM, JP_DOT, JP_SLSH, JP_BSLS, KC_RSFT, KC_PGUP, - KC_VOLD, KC_LCTL, KC_LGUI, KC_LALT, KC_ENT, JP_MHEN, LT(_FN,KC_SPC), LT(_FN,KC_SPC), JP_HENK, KC_BTN1, KC_INS, KC_RALT, KC_APP, KC_RCTL, KC_PGDN + KC_VOLD, KC_LCTL, KC_LGUI, KC_LALT, KC_ENT, JP_MHEN, LT(_FN,KC_SPC), LT(_FN,KC_SPC), JP_HENK, MS_BTN1, KC_INS, KC_RALT, KC_APP, KC_RCTL, KC_PGDN ), [_FN] = LAYOUT( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/rate/pistachio_mp/keyboard.json b/keyboards/rate/pistachio_mp/keyboard.json index 71e3244523..299dc5c3a8 100644 --- a/keyboards/rate/pistachio_mp/keyboard.json +++ b/keyboards/rate/pistachio_mp/keyboard.json @@ -5,8 +5,12 @@ "usb": { "vid": "0x5255", "pid": "0xE212", - "device_version": "0.0.1", - "force_nkro": true + "device_version": "0.0.1" + }, + "host": { + "default": { + "nkro": true + } }, "rgblight": { "hue_steps": 10, @@ -39,8 +43,7 @@ {"pin_a": "F4", "pin_b": "F5"} ] }, - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/recompile_keys/choco60/rev1/keyboard.json b/keyboards/recompile_keys/choco60/rev1/keyboard.json index 4e5a8903bd..6c0b363011 100644 --- a/keyboards/recompile_keys/choco60/rev1/keyboard.json +++ b/keyboards/recompile_keys/choco60/rev1/keyboard.json @@ -19,6 +19,5 @@ "pin": "D3" } }, - "processor": "atmega32u4", - "bootloader": "caterina" + "development_board": "promicro" } diff --git a/keyboards/recompile_keys/cocoa40/keyboard.json b/keyboards/recompile_keys/cocoa40/keyboard.json index 9fad026ea7..a576e54551 100644 --- a/keyboards/recompile_keys/cocoa40/keyboard.json +++ b/keyboards/recompile_keys/cocoa40/keyboard.json @@ -28,8 +28,7 @@ "pin": "D2" } }, - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/recompile_keys/nomu30/keymaps/center_sprit/keymap.c b/keyboards/recompile_keys/nomu30/keymaps/center_sprit/keymap.c index 16d320f045..98167fa2d3 100644 --- a/keyboards/recompile_keys/nomu30/keymaps/center_sprit/keymap.c +++ b/keyboards/recompile_keys/nomu30/keymaps/center_sprit/keymap.c @@ -93,9 +93,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //,-------------------------------------------------------------------------------------------------------------. QK_BOOT, RGBRST, AG_NORM, AG_SWAP, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, //|---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------| - _______, UG_TOGG, UG_HUEU, UG_SATU, UG_VALU, XXXXXXX, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, XXXXXXX, + _______, UG_TOGG, UG_HUEU, UG_SATU, UG_VALU, XXXXXXX, MS_LEFT, MS_DOWN, MS_UP, MS_RGHT, XXXXXXX, //|---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------| - UG_NEXT, UG_HUED, UG_SATD, UG_VALD, XXXXXXX, _______, KC_BTN1, KC_BTN2, XXXXXXX + UG_NEXT, UG_HUED, UG_SATD, UG_VALD, XXXXXXX, _______, MS_BTN1, MS_BTN2, XXXXXXX //`---------+---------+---------+---------+---------+---------+---------+---------+---------' ) }; diff --git a/keyboards/recompile_keys/nomu30/keymaps/center_sprit/readme.md b/keyboards/recompile_keys/nomu30/keymaps/center_sprit/readme.md index 34a3ec1fbe..bc468beb37 100644 --- a/keyboards/recompile_keys/nomu30/keymaps/center_sprit/readme.md +++ b/keyboards/recompile_keys/nomu30/keymaps/center_sprit/readme.md @@ -59,9 +59,9 @@ At first, Move to Lower layer with long push. After that Adjust key with long pu //,-------------------------------------------------------------------------------------------------------------. QK_BOOT, RGBRST, AG_NORM, AG_SWAP, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, //|---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------| - _______, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, XXXXXXX, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, XXXXXXX, + _______, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, XXXXXXX, MS_LEFT, MS_DOWN, MS_UP, MS_RGHT, XXXXXXX, //|---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------| - RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, XXXXXXX, _______, KC_BTN1, KC_BTN2, XXXXXXX + RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, XXXXXXX, _______, MS_BTN1, MS_BTN2, XXXXXXX //`---------+---------+---------+---------+---------+---------+---------+---------+---------' ) diff --git a/keyboards/recompile_keys/nomu30/rev1/keyboard.json b/keyboards/recompile_keys/nomu30/rev1/keyboard.json index 01afb9fe7d..8865eb0535 100644 --- a/keyboards/recompile_keys/nomu30/rev1/keyboard.json +++ b/keyboards/recompile_keys/nomu30/rev1/keyboard.json @@ -10,6 +10,5 @@ "rows": ["D1", "D0", "D4"] }, "diode_direction": "COL2ROW", - "processor": "atmega32u4", - "bootloader": "caterina" + "development_board": "promicro" } diff --git a/keyboards/rect44/keyboard.json b/keyboards/rect44/keyboard.json index c863bec9a3..7e0202cde7 100644 --- a/keyboards/rect44/keyboard.json +++ b/keyboards/rect44/keyboard.json @@ -37,8 +37,7 @@ "rows": ["D3", "D2", "F5", "F4"] }, "diode_direction": "COL2ROW", - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "layouts": { "LAYOUT_all": { "layout": [ diff --git a/keyboards/redox/keymaps/default/keymap.c b/keyboards/redox/keymaps/default/keymap.c index d69a5d5cdd..2636144025 100644 --- a/keyboards/redox/keymaps/default/keymap.c +++ b/keyboards/redox/keymaps/default/keymap.c @@ -70,13 +70,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐ _______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______ ,_______ ,_______ ,_______ ,_______ ,_______ , //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - XXXXXXX ,XXXXXXX ,KC_MS_U ,XXXXXXX ,KC_WH_U ,XXXXXXX ,_______ , _______ ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , + XXXXXXX ,XXXXXXX ,MS_UP ,XXXXXXX ,MS_WHLU ,XXXXXXX ,_______ , _______ ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - XXXXXXX ,KC_MS_L ,KC_MS_D ,KC_MS_R ,KC_WH_D ,XXXXXXX ,_______ , _______ ,KC_LEFT ,KC_DOWN ,KC_UP ,KC_RIGHT,XXXXXXX ,XXXXXXX , + XXXXXXX ,MS_LEFT ,MS_DOWN ,MS_RGHT ,MS_WHLD ,XXXXXXX ,_______ , _______ ,KC_LEFT ,KC_DOWN ,KC_UP ,KC_RIGHT,XXXXXXX ,XXXXXXX , //├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,_______ ,_______ , _______ ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , //├────────┼────────┼────────┼────────┼────┬───┴────┬───┼────────┼────────┤ ├────────┼────────┼───┬────┴───┬────┼────────┼────────┼────────┼────────┤ - XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , KC_BTN1 , KC_BTN2 ,_______ , _______ ,_______ , XXXXXXX , XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX + XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , MS_BTN1 , MS_BTN2 ,_______ , _______ ,_______ , XXXXXXX , XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX //└────────┴────────┴────────┴────────┘ └────────┘ └────────┴────────┘ └────────┴────────┘ └────────┘ └────────┴────────┴────────┴────────┘ ), diff --git a/keyboards/redox/rev1/proton_c/config.h b/keyboards/redox/rev1/proton_c/config.h index 4d28bd2f4a..b151d2b29e 100644 --- a/keyboards/redox/rev1/proton_c/config.h +++ b/keyboards/redox/rev1/proton_c/config.h @@ -13,13 +13,6 @@ #define SERIAL_USART_PIN_SWAP // Swap TX and RX pins if keyboard is master halve. // Check if this feature is necessary with your keyboard design and available on the mcu. -#define SELECT_SOFT_SERIAL_SPEED 1 // or 0, 2, 3, 4, 5 - // 0: 460800 baud - // 1: 230400 baud (default) - // 2: 115200 baud - // 3: 57600 baud - // 4: 38400 baud - // 5: 19200 baud #define SERIAL_USART_DRIVER SD1 // USART driver of TX and RX pin. default: SD1 #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 diff --git a/keyboards/redox/rules.mk b/keyboards/redox/rules.mk index a2f52752e0..4df55cd220 100644 --- a/keyboards/redox/rules.mk +++ b/keyboards/redox/rules.mk @@ -1,5 +1,3 @@ -DEFAULT_FOLDER = redox/rev1/base - # Disable unsupported hardware AUDIO_SUPPORTED = no BACKLIGHT_SUPPORTED = no diff --git a/keyboards/redox_media/keyboard.json b/keyboards/redox_media/keyboard.json index dba5657ea2..145d9116ca 100644 --- a/keyboards/redox_media/keyboard.json +++ b/keyboards/redox_media/keyboard.json @@ -36,8 +36,7 @@ "pin": "D0" } }, - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/redox_media/redox_media.c b/keyboards/redox_media/redox_media.c index e3a83c6c2d..ffc2f11a6c 100644 --- a/keyboards/redox_media/redox_media.c +++ b/keyboards/redox_media/redox_media.c @@ -29,9 +29,9 @@ bool encoder_update_kb(uint8_t index, bool clockwise) { } } else if (index == 1) { /* Second encoder */ if (clockwise) { - tap_code(KC_WH_D); + tap_code(MS_WHLD); } else { - tap_code(KC_WH_U); + tap_code(MS_WHLU); } } return true; diff --git a/keyboards/reviung/reviung34/keyboard.json b/keyboards/reviung/reviung34/keyboard.json index 7495b7cc9d..d7e6fe422a 100755 --- a/keyboards/reviung/reviung34/keyboard.json +++ b/keyboards/reviung/reviung34/keyboard.json @@ -26,8 +26,7 @@ "rows": ["F4", "F5", "F6", "F7"] }, "diode_direction": "COL2ROW", - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "community_layouts": [ "split_3x5_2" ], diff --git a/keyboards/reviung/reviung39/keyboard.json b/keyboards/reviung/reviung39/keyboard.json index e18c1c163e..b57100d1eb 100644 --- a/keyboards/reviung/reviung39/keyboard.json +++ b/keyboards/reviung/reviung39/keyboard.json @@ -49,8 +49,7 @@ "rows": ["F4", "F5", "F6", "F7", "B1", "B3", "B2"] }, "diode_direction": "COL2ROW", - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "layout_aliases": { "LAYOUT_reviung39": "LAYOUT" }, diff --git a/keyboards/reviung/reviung41/keyboard.json b/keyboards/reviung/reviung41/keyboard.json index b44827c3d2..f0ad524da2 100644 --- a/keyboards/reviung/reviung41/keyboard.json +++ b/keyboards/reviung/reviung41/keyboard.json @@ -49,8 +49,7 @@ "rows": ["F4", "F5", "F6", "F7", "B1", "B3", "B2"] }, "diode_direction": "COL2ROW", - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "layout_aliases": { "LAYOUT_reviung41": "LAYOUT" }, diff --git a/keyboards/reviung/reviung5/keyboard.json b/keyboards/reviung/reviung5/keyboard.json index 7e7101c0ab..014cbb288a 100644 --- a/keyboards/reviung/reviung5/keyboard.json +++ b/keyboards/reviung/reviung5/keyboard.json @@ -53,8 +53,7 @@ {"pin_a": "D0", "pin_b": "D1"} ] }, - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "layout_aliases": { "LAYOUT_reviung5": "LAYOUT" }, diff --git a/keyboards/reviung/reviung5/keymaps/default_lre/keymap.c b/keyboards/reviung/reviung5/keymaps/default_lre/keymap.c index 4a73d57a6a..e53eccf645 100644 --- a/keyboards/reviung/reviung5/keymaps/default_lre/keymap.c +++ b/keyboards/reviung/reviung5/keymaps/default_lre/keymap.c @@ -34,7 +34,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { bool encoder_update_user(uint8_t index, bool clockwise) { if (index == 0) { if (IS_LAYER_ON(_LOWER)) { - tap_code16((clockwise == true) ? KC_WH_D : KC_WH_U); + tap_code16((clockwise == true) ? MS_WHLD : MS_WHLU); } else { tap_code((clockwise == true) ? KC_VOLD : KC_VOLU); } diff --git a/keyboards/reviung/reviung5/keymaps/default_rre/keymap.c b/keyboards/reviung/reviung5/keymaps/default_rre/keymap.c index ec684c6a2f..4d7f666952 100644 --- a/keyboards/reviung/reviung5/keymaps/default_rre/keymap.c +++ b/keyboards/reviung/reviung5/keymaps/default_rre/keymap.c @@ -34,7 +34,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { bool encoder_update_user(uint8_t index, bool clockwise) { if (index == 0) { if (IS_LAYER_ON(_LOWER)) { - tap_code16((clockwise == true) ? KC_WH_D : KC_WH_U); + tap_code16((clockwise == true) ? MS_WHLD : MS_WHLU); } else { tap_code((clockwise == true) ? KC_VOLD : KC_VOLU); } diff --git a/keyboards/reviung/reviung53/keyboard.json b/keyboards/reviung/reviung53/keyboard.json index 15f896e7d4..0468912f82 100644 --- a/keyboards/reviung/reviung53/keyboard.json +++ b/keyboards/reviung/reviung53/keyboard.json @@ -47,8 +47,7 @@ "rows": ["D0", "D4", "C6", "D7", "E6", "B4", "B5"] }, "diode_direction": "COL2ROW", - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "layout_aliases": { "LAYOUT_reviung53": "LAYOUT" }, diff --git a/keyboards/rgbkb/zen/rev1/keyboard.json b/keyboards/rgbkb/zen/rev1/keyboard.json index b35381f607..94164016bb 100644 --- a/keyboards/rgbkb/zen/rev1/keyboard.json +++ b/keyboards/rgbkb/zen/rev1/keyboard.json @@ -38,8 +38,7 @@ "ws2812": { "pin": "D1" }, - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/rgbkb/zen/rev2/keyboard.json b/keyboards/rgbkb/zen/rev2/keyboard.json index 917274f186..d34fd7afb1 100644 --- a/keyboards/rgbkb/zen/rev2/keyboard.json +++ b/keyboards/rgbkb/zen/rev2/keyboard.json @@ -56,8 +56,7 @@ "ws2812": { "pin": "B6" }, - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/rocketboard_16/keycode_lookup.c b/keyboards/rocketboard_16/keycode_lookup.c index a29808d04d..a765968bc3 100644 --- a/keyboards/rocketboard_16/keycode_lookup.c +++ b/keyboards/rocketboard_16/keycode_lookup.c @@ -254,22 +254,22 @@ lookup_table_t lookup_table[333] = {"KC_RSFT", KC_RSFT}, {"KC_RALT", KC_RALT}, {"KC_RGUI", KC_RGUI}, - {"KC_MS_UP", KC_MS_UP}, - {"KC_MS_DOWN", KC_MS_DOWN}, - {"KC_MS_LEFT", KC_MS_LEFT}, - {"KC_MS_RIGHT", KC_MS_RIGHT}, - {"KC_MS_BTN1", KC_MS_BTN1}, - {"KC_MS_BTN2", KC_MS_BTN2}, - {"KC_MS_BTN3", KC_MS_BTN3}, - {"KC_MS_BTN4", KC_MS_BTN4}, - {"KC_MS_BTN5", KC_MS_BTN5}, - {"KC_MS_WH_UP", KC_MS_WH_UP}, - {"KC_MS_WH_DOWN", KC_MS_WH_DOWN}, - {"KC_MS_WH_LEFT", KC_MS_WH_LEFT}, - {"KC_MS_WH_RIGHT", KC_MS_WH_RIGHT}, - {"KC_MS_ACCEL0", KC_MS_ACCEL0}, - {"KC_MS_ACCEL1", KC_MS_ACCEL1}, - {"KC_MS_ACCEL2", KC_MS_ACCEL2}, + {"MS_UP", MS_UP}, + {"MS_DOWN", MS_DOWN}, + {"MS_LEFT", MS_LEFT}, + {"MS_RGHT", MS_RGHT}, + {"MS_BTN1", MS_BTN1}, + {"MS_BTN2", MS_BTN2}, + {"MS_BTN3", MS_BTN3}, + {"MS_BTN4", MS_BTN4}, + {"MS_BTN5", MS_BTN5}, + {"MS_WHLU", MS_WHLU}, + {"MS_WHLD", MS_WHLD}, + {"MS_WHLL", MS_WHLL}, + {"MS_WHLR", MS_WHLR}, + {"MS_ACL0", MS_ACL0}, + {"MS_ACL1", MS_ACL1}, + {"MS_ACL2", MS_ACL2}, {"KC_EXLM", KC_EXLM}, {"KC_AT", KC_AT}, {"KC_HASH", KC_HASH}, diff --git a/keyboards/rominronin/katana60/rev1/keymaps/colemak/keymap.c b/keyboards/rominronin/katana60/rev1/keymaps/colemak/keymap.c index 29e9ddf825..34607fd5ed 100644 --- a/keyboards/rominronin/katana60/rev1/keymaps/colemak/keymap.c +++ b/keyboards/rominronin/katana60/rev1/keymaps/colemak/keymap.c @@ -42,10 +42,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [NUMB] = LAYOUT( _______, _______, _______, _______, _______, _______, _______, DF(0), KC_PSLS, KC_PAST, KC_PMNS, _______, _______, _______, _______, - _______, _______, _______, KC_MS_U, _______, _______, _______, KC_7, KC_8, KC_9, KC_PPLS, _______, _______, _______, - _______, KC_BTN2, KC_MS_L, KC_MS_D, KC_MS_R, _______, _______, KC_4, KC_5, KC_6, KC_PPLS, _______, _______, _______, - _______, _______, KC_ACL0, KC_ACL1, KC_ACL2, _______, _______, _______, KC_1, KC_2, KC_3, KC_PENT, _______, _______, _______, - _______, _______, _______, _______, KC_BTN1, _______, KC_P0, KC_PDOT, KC_PENT, _______, _______, _______ + _______, _______, _______, MS_UP, _______, _______, _______, KC_7, KC_8, KC_9, KC_PPLS, _______, _______, _______, + _______, MS_BTN2, MS_LEFT, MS_DOWN, MS_RGHT, _______, _______, KC_4, KC_5, KC_6, KC_PPLS, _______, _______, _______, + _______, _______, MS_ACL0, MS_ACL1, MS_ACL2, _______, _______, _______, KC_1, KC_2, KC_3, KC_PENT, _______, _______, _______, + _______, _______, _______, _______, MS_BTN1, _______, KC_P0, KC_PDOT, KC_PENT, _______, _______, _______ ), [SYMB] = 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, @@ -56,8 +56,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [CURS] = LAYOUT( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, KC_WH_U, _______, _______, _______, _______, _______, _______, K_PRVWD, KC_UP, K_NXTWD, _______, _______, - _______, KC_LCTL, KC_WH_D, KC_LSFT, _______, _______, _______, _______, KC_BSPC, KC_LEFT, KC_DOWN, KC_RIGHT,KC_DEL, _______, + _______, _______, MS_WHLU, _______, _______, _______, _______, _______, _______, K_PRVWD, KC_UP, K_NXTWD, _______, _______, + _______, KC_LCTL, MS_WHLD, KC_LSFT, _______, _______, _______, _______, KC_BSPC, KC_LEFT, KC_DOWN, KC_RIGHT,KC_DEL, _______, _______, UNDO, CUT, COPY, PASTE, _______, _______, _______, _______, _______, K_LSTRT, _______, K_LEND, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ) diff --git a/keyboards/rominronin/katana60/rev1/keymaps/default/keymap.c b/keyboards/rominronin/katana60/rev1/keymaps/default/keymap.c index 20ed993ade..1da40aa611 100644 --- a/keyboards/rominronin/katana60/rev1/keymaps/default/keymap.c +++ b/keyboards/rominronin/katana60/rev1/keymaps/default/keymap.c @@ -42,10 +42,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [NUMB] = LAYOUT( _______, _______, _______, _______, _______, _______, _______, DF(0), KC_PSLS, KC_PAST, KC_PMNS, _______, _______, _______, _______, - _______, _______, _______, KC_MS_U, _______, _______, _______, KC_7, KC_8, KC_9, KC_PPLS, _______, _______, _______, - _______, KC_BTN2, KC_MS_L, KC_MS_D, KC_MS_R, _______, _______, KC_4, KC_5, KC_6, KC_PPLS, _______, _______, _______, - _______, _______, KC_ACL0, KC_ACL1, KC_ACL2, _______, _______, _______, KC_1, KC_2, KC_3, KC_PENT, _______, _______, _______, - _______, _______, _______, _______, KC_BTN1, _______, KC_P0, KC_PDOT, KC_PENT, _______, _______, _______ + _______, _______, _______, MS_UP, _______, _______, _______, KC_7, KC_8, KC_9, KC_PPLS, _______, _______, _______, + _______, MS_BTN2, MS_LEFT, MS_DOWN, MS_RGHT, _______, _______, KC_4, KC_5, KC_6, KC_PPLS, _______, _______, _______, + _______, _______, MS_ACL0, MS_ACL1, MS_ACL2, _______, _______, _______, KC_1, KC_2, KC_3, KC_PENT, _______, _______, _______, + _______, _______, _______, _______, MS_BTN1, _______, KC_P0, KC_PDOT, KC_PENT, _______, _______, _______ ), [SYMB] = 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, @@ -56,8 +56,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [CURS] = LAYOUT( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, KC_WH_U, _______, _______, _______, _______, _______, _______, K_PRVWD, KC_UP, K_NXTWD, _______, _______, - _______, KC_LCTL, KC_WH_D, KC_LSFT, _______, _______, _______, _______, KC_BSPC, KC_LEFT, KC_DOWN, KC_RIGHT,KC_DEL, _______, + _______, _______, MS_WHLU, _______, _______, _______, _______, _______, _______, K_PRVWD, KC_UP, K_NXTWD, _______, _______, + _______, KC_LCTL, MS_WHLD, KC_LSFT, _______, _______, _______, _______, KC_BSPC, KC_LEFT, KC_DOWN, KC_RIGHT,KC_DEL, _______, _______, UNDO, CUT, COPY, PASTE, _______, _______, _______, _______, _______, K_LSTRT, _______, K_LEND, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ) diff --git a/keyboards/rominronin/katana60/rev2/keymaps/default/keymap.c b/keyboards/rominronin/katana60/rev2/keymaps/default/keymap.c index ee057c5c11..0964f0ebab 100644 --- a/keyboards/rominronin/katana60/rev2/keymaps/default/keymap.c +++ b/keyboards/rominronin/katana60/rev2/keymaps/default/keymap.c @@ -43,9 +43,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [NUMB] = LAYOUT_1_a( _______, _______, _______, _______, _______, _______, _______, DF(0), _______, _______, KC_PEQL, KC_PSLS, KC_PAST, _______, _______, - _______, _______, _______, KC_MS_U, _______, _______, _______, _______, _______, KC_P7, KC_P8, KC_P9, KC_PMNS, _______, - _______, KC_BTN2, KC_MS_L, KC_MS_D, KC_MS_R, _______, _______, _______, _______, KC_P4, KC_P5, KC_P6, KC_PPLS, _______, - _______, _______, KC_ACL0, KC_ACL1, KC_ACL2, _______, _______, _______, _______, _______, KC_P1, KC_P2, KC_P3, KC_PENT, _______, + _______, _______, _______, MS_UP, _______, _______, _______, _______, _______, KC_P7, KC_P8, KC_P9, KC_PMNS, _______, + _______, MS_BTN2, MS_LEFT, MS_DOWN, MS_RGHT, _______, _______, _______, _______, KC_P4, KC_P5, KC_P6, KC_PPLS, _______, + _______, _______, MS_ACL0, MS_ACL1, MS_ACL2, _______, _______, _______, _______, _______, KC_P1, KC_P2, KC_P3, KC_PENT, _______, _______, _______, _______, _______, _______, KC_P0, _______, _______, KC_PDOT, KC_PENT, _______, _______ ), [SYMB] = LAYOUT_1_a( diff --git a/keyboards/rose75/keyboard.json b/keyboards/rose75/keyboard.json index 1c756d3fdd..09d0b7af19 100644 --- a/keyboards/rose75/keyboard.json +++ b/keyboards/rose75/keyboard.json @@ -28,10 +28,14 @@ "url": "https://github.com/Smollchungus", "usb": { "device_version": "0.0.1", - "force_nkro": true, "pid": "0x7503", "vid": "0x5363" }, + "host": { + "default": { + "nkro": true + } + }, "ws2812": { "driver": "vendor", "pin": "GP29" diff --git a/keyboards/rpiguy9907/southpaw66/keyboard.json b/keyboards/rpiguy9907/southpaw66/keyboard.json index c751ee6d8e..980d217806 100644 --- a/keyboards/rpiguy9907/southpaw66/keyboard.json +++ b/keyboards/rpiguy9907/southpaw66/keyboard.json @@ -35,8 +35,7 @@ "tapping": { "term": 400 }, - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/runes/skjoldr/keyboard.json b/keyboards/runes/skjoldr/keyboard.json index ff3476697e..b48cb2a1d9 100644 --- a/keyboards/runes/skjoldr/keyboard.json +++ b/keyboards/runes/skjoldr/keyboard.json @@ -6,8 +6,12 @@ "usb": { "vid": "0x726E", "pid": "0x736B", - "device_version": "0.0.1", - "force_nkro": true + "device_version": "0.0.1" + }, + "host": { + "default": { + "nkro": true + } }, "features": { "bootmagic": true, diff --git a/keyboards/runes/vaengr/keyboard.json b/keyboards/runes/vaengr/keyboard.json index dce2c7a228..1910f37f0d 100644 --- a/keyboards/runes/vaengr/keyboard.json +++ b/keyboards/runes/vaengr/keyboard.json @@ -6,8 +6,12 @@ "usb": { "vid": "0x726E", "pid": "0x7661", - "device_version": "0.0.1", - "force_nkro": true + "device_version": "0.0.1" + }, + "host": { + "default": { + "nkro": true + } }, "rgblight": { "hue_steps": 10, diff --git a/keyboards/rura66/rev1/keyboard.json b/keyboards/rura66/rev1/keyboard.json index cb9ad6f29a..3dc41aabd4 100644 --- a/keyboards/rura66/rev1/keyboard.json +++ b/keyboards/rura66/rev1/keyboard.json @@ -55,8 +55,7 @@ "ws2812": { "pin": "D3" }, - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/ryanbaekr/rb1/keyboard.json b/keyboards/ryanbaekr/rb1/keyboard.json index a7222869e0..8b1b1a5a82 100644 --- a/keyboards/ryanbaekr/rb1/keyboard.json +++ b/keyboards/ryanbaekr/rb1/keyboard.json @@ -7,8 +7,7 @@ "pid": "0x0001", "device_version": "0.0.3" }, - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "features": { "bootmagic": true, "extrakey": true, diff --git a/keyboards/ryanskidmore/rskeys100/keyboard.json b/keyboards/ryanskidmore/rskeys100/keyboard.json index 27eae84a6e..b62d870aba 100644 --- a/keyboards/ryanskidmore/rskeys100/keyboard.json +++ b/keyboards/ryanskidmore/rskeys100/keyboard.json @@ -4,8 +4,12 @@ "usb": { "vid": "0x7273", "pid": "0x0064", - "device_version": "0.0.1", - "force_nkro": true + "device_version": "0.0.1" + }, + "host": { + "default": { + "nkro": true + } }, "features": { "bootmagic": true, diff --git a/keyboards/salicylic_acid3/nafuda/keymaps/default/keymap.c b/keyboards/salicylic_acid3/nafuda/keymaps/default/keymap.c index 21889f2fe6..9c2917fac1 100644 --- a/keyboards/salicylic_acid3/nafuda/keymaps/default/keymap.c +++ b/keyboards/salicylic_acid3/nafuda/keymaps/default/keymap.c @@ -33,9 +33,9 @@ LT(_ADJUST, KC_BSPC), KC_UP,TG(_BROWSER), //|-------------------------------------------| TG(_MOUSE), //|---------------+---------------+-----------| - KC_BTN1, KC_MS_U, KC_BTN2, + MS_BTN1, MS_UP, MS_BTN2, //|---------------+---------------+-----------| - KC_MS_L, KC_MS_D, KC_MS_R + MS_LEFT, MS_DOWN, MS_RGHT //|-------------------------------------------| ), @@ -43,9 +43,9 @@ LT(_ADJUST, KC_BSPC), KC_UP,TG(_BROWSER), //|-------------------------------------------| LCTL(KC_W), //|---------------+---------------+-----------| - LCTL(LSFT(KC_T)), KC_WH_U,TG(_BROWSER), + LCTL(LSFT(KC_T)), MS_WHLU,TG(_BROWSER), //|---------------+---------------+-----------| - LCTL(LSFT(KC_TAB)), KC_WH_D,LCTL(KC_TAB) + LCTL(LSFT(KC_TAB)), MS_WHLD,LCTL(KC_TAB) //|-------------------------------------------| ), diff --git a/keyboards/salicylic_acid3/naked48/keymaps/default_with_nafuda/keymap.c b/keyboards/salicylic_acid3/naked48/keymaps/default_with_nafuda/keymap.c index 6dd300f9db..4c5b7656d1 100644 --- a/keyboards/salicylic_acid3/naked48/keymaps/default_with_nafuda/keymap.c +++ b/keyboards/salicylic_acid3/naked48/keymaps/default_with_nafuda/keymap.c @@ -43,9 +43,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //,-----------------------------------------------------| |-----------------------------------------------------. |--------------------------| KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, TG(_MOUSE), //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |--------+--------+--------| - 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_BTN1, KC_MS_U, KC_BTN2, + KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, MS_BTN1, MS_UP, MS_BTN2, //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |--------+--------+--------| - 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_MS_L, KC_MS_D, KC_MS_R, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT, MS_LEFT, MS_DOWN, MS_RGHT, //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| |--------------------------| MO(_ADJUST),KC_LCTL, KC_LALT, KC_LGUI,MO(_LOWER),KC_SPC,KC_SPC,MO(_RAISE), KC_LEFT, KC_DOWN, KC_UP,KC_RIGHT //`------------------------------------------------------------------------------------------------------------' @@ -55,9 +55,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //,-----------------------------------------------------| |-----------------------------------------------------. |--------------------------| KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, LCTL(KC_W), //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |--------+--------+--------| - KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,LCTL(LSFT(KC_T)),KC_WH_U,TG(_BROWSER), + KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,LCTL(LSFT(KC_T)),MS_WHLU,TG(_BROWSER), //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |--------+--------+--------| - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT,LCTL(LSFT(KC_TAB)), KC_WH_D,LCTL(KC_TAB), + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT,LCTL(LSFT(KC_TAB)), MS_WHLD,LCTL(KC_TAB), //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| |--------------------------| MO(_ADJUST),KC_LCTL, KC_LALT, KC_LGUI,MO(_LOWER),KC_SPC,KC_SPC,MO(_RAISE), KC_LEFT, KC_DOWN, KC_UP,KC_RIGHT //`------------------------------------------------------------------------------------------------------------' diff --git a/keyboards/salicylic_acid3/naked60/keymaps/default/keymap.c b/keyboards/salicylic_acid3/naked60/keymaps/default/keymap.c index ffc5a0ad62..7c0f96a076 100644 --- a/keyboards/salicylic_acid3/naked60/keymaps/default/keymap.c +++ b/keyboards/salicylic_acid3/naked60/keymaps/default/keymap.c @@ -80,9 +80,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //,-----------------------------------------------------| |-----------------------------------------------------. TG(_FLOCK), 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, KC_BTN1, KC_MS_U, KC_BTN2, XXXXXXX,LALT(KC_PSCR), + _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, MS_BTN1, MS_UP, MS_BTN2, XXXXXXX,LALT(KC_PSCR), //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MS_L, KC_MS_D, KC_MS_R, XXXXXXX, KC_PSCR, + _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, MS_LEFT, MS_DOWN, MS_RGHT, XXXXXXX, KC_PSCR, //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,LCA(KC_DEL), //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| diff --git a/keyboards/salicylic_acid3/naked60/keymaps/default_with_nafuda/keymap.c b/keyboards/salicylic_acid3/naked60/keymaps/default_with_nafuda/keymap.c index 89c44f87a6..0db21f9bdc 100644 --- a/keyboards/salicylic_acid3/naked60/keymaps/default_with_nafuda/keymap.c +++ b/keyboards/salicylic_acid3/naked60/keymaps/default_with_nafuda/keymap.c @@ -55,9 +55,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //,-----------------------------------------------------| |-----------------------------------------------------. |--------------------------| KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, TG(_MOUSE), //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |--------+--------+--------| - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_BTN1, KC_MS_U, KC_BTN2, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, MS_BTN1, MS_UP, MS_BTN2, //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |--------+--------+--------| - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MS_L, KC_MS_D, KC_MS_R, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, MS_LEFT, MS_DOWN, MS_RGHT, //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |--------------------------| _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| @@ -69,9 +69,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //,-----------------------------------------------------| |-----------------------------------------------------. |--------------------------| _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, LCTL(KC_W), //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |--------+--------+--------| - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,LCTL(LSFT(KC_T)),KC_WH_U,TG(_BROWSER), + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,LCTL(LSFT(KC_T)),MS_WHLU,TG(_BROWSER), //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |--------+--------+--------| - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,LCTL(LSFT(KC_TAB)), KC_WH_D,LCTL(KC_TAB), + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,LCTL(LSFT(KC_TAB)), MS_WHLD,LCTL(KC_TAB), //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |--------------------------| _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| @@ -111,9 +111,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //,-----------------------------------------------------| |-----------------------------------------------------. |--------------------------| TG(_FLOCK), KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, UG_VALD, //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |--------+--------+--------| - _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_BTN1, KC_MS_U, KC_BTN2, XXXXXXX,LALT(KC_PSCR), _ADJUST, UG_SATD, UG_VALU, + _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, MS_BTN1, MS_UP, MS_BTN2, XXXXXXX,LALT(KC_PSCR), _ADJUST, UG_SATD, UG_VALU, //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |--------+--------+--------| - _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MS_L, KC_MS_D, KC_MS_R, XXXXXXX, KC_PSCR, UG_NEXT, UG_TOGG, UG_SATU, + _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, MS_LEFT, MS_DOWN, MS_RGHT, XXXXXXX, KC_PSCR, UG_NEXT, UG_TOGG, UG_SATU, //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |--------------------------| _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,LCA(KC_DEL), //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| diff --git a/keyboards/salicylic_acid3/naked60/keymaps/default_with_setta21/keymap.c b/keyboards/salicylic_acid3/naked60/keymaps/default_with_setta21/keymap.c index 81c1c63541..07d2111b88 100644 --- a/keyboards/salicylic_acid3/naked60/keymaps/default_with_setta21/keymap.c +++ b/keyboards/salicylic_acid3/naked60/keymaps/default_with_setta21/keymap.c @@ -86,9 +86,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //,-----------------------------------------------------| |-----------------------------------------------------. |-----------------------------------------------| TG(_FLOCK), KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______,UG_VALD,UG_HUED,UG_SATD,XXXXXXX,_______, //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |-------+-------+-------+-------+-------+-------| - _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_BTN1, KC_MS_U, KC_BTN2, XXXXXXX,LALT(KC_PSCR), UG_VALU,UG_HUEU,UG_SATU,XXXXXXX,_______, + _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, MS_BTN1, MS_UP, MS_BTN2, XXXXXXX,LALT(KC_PSCR), UG_VALU,UG_HUEU,UG_SATU,XXXXXXX,_______, //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |-------+-------+-------+-------+-------+-------| - _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MS_L, KC_MS_D, KC_MS_R, XXXXXXX, KC_PSCR, _______,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,_______, + _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, MS_LEFT, MS_DOWN, MS_RGHT, XXXXXXX, KC_PSCR, _______,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,_______, //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |---------------+---------------+-------+-------| _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,LCA(KC_DEL), UG_NEXT, UG_TOGG,_______,_______, //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| |-----------------------------------------------| diff --git a/keyboards/sawnsprojects/bunnygirl65/keyboard.json b/keyboards/sawnsprojects/bunnygirl65/keyboard.json index 3fab84c557..b23f41e7d7 100644 --- a/keyboards/sawnsprojects/bunnygirl65/keyboard.json +++ b/keyboards/sawnsprojects/bunnygirl65/keyboard.json @@ -17,10 +17,14 @@ "processor": "STM32F072", "usb": { "device_version": "1.0.0", - "force_nkro": true, "pid": "0x00A2", "vid": "0x5350" }, + "host": { + "default": { + "nkro": true + } + }, "community_layouts": ["65_ansi_blocker_tsangan", "65_ansi_blocker_tsangan_split_bs"], "layouts": { "LAYOUT_65_ansi_blocker_tsangan": { diff --git a/keyboards/sawnsprojects/okayu/info.json b/keyboards/sawnsprojects/okayu/info.json index 14c8f20c35..21c5e899ce 100644 --- a/keyboards/sawnsprojects/okayu/info.json +++ b/keyboards/sawnsprojects/okayu/info.json @@ -5,8 +5,12 @@ "usb": { "vid": "0x5350", "pid": "0x00A1", - "device_version": "1.0.0", - "force_nkro": true + "device_version": "1.0.0" + }, + "host": { + "default": { + "nkro": true + } }, "features": { "bootmagic": true, diff --git a/keyboards/sekigon/grs_70ec/matrix.c b/keyboards/sekigon/grs_70ec/matrix.c index 926ed6f813..718423e57b 100644 --- a/keyboards/sekigon/grs_70ec/matrix.c +++ b/keyboards/sekigon/grs_70ec/matrix.c @@ -40,7 +40,7 @@ extern matrix_row_t raw_matrix[MATRIX_ROWS]; // raw values extern matrix_row_t matrix[MATRIX_ROWS]; // debounced values // row offsets for each hand -uint8_t thisHand, thatHand; +static uint8_t thisHand, thatHand; // user-defined overridable functions __attribute__((weak)) void matrix_slave_scan_user(void) {} diff --git a/keyboards/sergiopoverony/creator_pro/keymaps/default/keymap.c b/keyboards/sergiopoverony/creator_pro/keymaps/default/keymap.c index d29621929b..11ee5a85d7 100644 --- a/keyboards/sergiopoverony/creator_pro/keymaps/default/keymap.c +++ b/keyboards/sergiopoverony/creator_pro/keymaps/default/keymap.c @@ -39,9 +39,9 @@ bool encoder_update_user(uint8_t index, bool clockwise) { case _RED: if (clockwise) { - tap_code(KC_MS_WH_UP); + tap_code(MS_WHLU); } else { - tap_code(KC_MS_WH_DOWN); + tap_code(MS_WHLD); } break; diff --git a/keyboards/shuguet/shu89/keymaps/default/keymap.json b/keyboards/shuguet/shu89/keymaps/default/keymap.json index 1725f3438e..12cdccf3db 100644 --- a/keyboards/shuguet/shu89/keymaps/default/keymap.json +++ b/keyboards/shuguet/shu89/keymaps/default/keymap.json @@ -13,8 +13,8 @@ ], [ "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", "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", "RGB_TOG" , "KC_TRNS", "KC_TRNS" , "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "RM_VALU", "RM_VALD", "KC_TRNS", "KC_TRNS" , "KC_TRNS", "KC_TRNS", "KC_TRNS" , "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "RM_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_VOLU", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_MPLY", "KC_MPLY", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_MPRV", "KC_VOLD", "KC_MNXT" diff --git a/keyboards/signum/3_0/keymaps/default/keymap.c b/keyboards/signum/3_0/keymaps/default/keymap.c index 27f79e7692..76a349f713 100644 --- a/keyboards/signum/3_0/keymaps/default/keymap.c +++ b/keyboards/signum/3_0/keymaps/default/keymap.c @@ -750,9 +750,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * ------------------------------------------------- */ LAYOUT_ortho_4x12( - KC_TRNS, KC_ACL1, KC_NO, KC_NO, KC_NO, KC_NO, KC_WH_U, KC_WH_L, KC_MS_U, KC_WH_R, KC_NO, KC_NO, - KC_TRNS, KC_ACL2, KC_BTN2, KC_BTN3, KC_BTN1, KC_BTN1, KC_MS_L, KC_MS_L, KC_MS_D, KC_MS_R, KC_NO, KC_NO, - KC_TRNS, KC_ACL0, KC_NO, KC_NO, KC_NO, KC_NO, KC_WH_D, KC_NO, KC_MS_D, KC_NO, KC_NO, KC_TRNS, + KC_TRNS, MS_ACL1, KC_NO, KC_NO, KC_NO, KC_NO, MS_WHLU, MS_WHLL, MS_UP, MS_WHLR, KC_NO, KC_NO, + KC_TRNS, MS_ACL2, MS_BTN2, MS_BTN3, MS_BTN1, MS_BTN1, MS_LEFT, MS_LEFT, MS_DOWN, MS_RGHT, KC_NO, KC_NO, + KC_TRNS, MS_ACL0, KC_NO, KC_NO, KC_NO, KC_NO, MS_WHLD, KC_NO, MS_DOWN, KC_NO, KC_NO, KC_TRNS, TG(6), 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/signum/3_0/keymaps/default/layout.py b/keyboards/signum/3_0/keymaps/default/layout.py index 4691985d29..b7c07eb6a4 100644 --- a/keyboards/signum/3_0/keymaps/default/layout.py +++ b/keyboards/signum/3_0/keymaps/default/layout.py @@ -380,12 +380,12 @@ qmk_dict = { # Layer Switching missing, Lx -> MO(x), Tx -> TG(x) "qwertz": "DF(0)", "neo": "DF(2)", # Mouse Keys - "^ Mouse": "KC_MS_U", "v Mouse": "KC_MS_D", "< Mouse": "KC_MS_L", - "> Mouse": "KC_MS_R", "Mouse 1": "KC_BTN1", "Mouse 2": "KC_BTN2", - "Mouse 3": "KC_BTN3", "Mouse 4": "KC_BTN4", "Mouse 5": "KC_BTN5", - "^ Wheel": "KC_WH_U", "v Wheel": "KC_WH_D", "< Wheel": "KC_WH_L", - "> Wheel": "KC_WH_R", "acc0": "KC_ACL0", "acc1": "KC_ACL1", - "acc2": "KC_ACL2", + "^ Mouse": "MS_UP", "v Mouse": "MS_DOWN", "< Mouse": "MS_LEFT", + "> Mouse": "MS_RGHT", "Mouse 1": "MS_BTN1", "Mouse 2": "MS_BTN2", + "Mouse 3": "MS_BTN3", "Mouse 4": "MS_BTN4", "Mouse 5": "MS_BTN5", + "^ Wheel": "MS_WHLU", "v Wheel": "MS_WHLD", "< Wheel": "MS_WHLL", + "> Wheel": "MS_WHLR", "acc0": "MS_ACL0", "acc1": "MS_ACL1", + "acc2": "MS_ACL2", # Modifiers missinng, add entry for each specific application # Mod-Tap Keys missing, add entry for each specific application "_Sh_swp": "LSFT_T(SH_TOGG)", diff --git a/keyboards/silakka54/keyboard.json b/keyboards/silakka54/keyboard.json index f04b67d3aa..e621a10b37 100644 --- a/keyboards/silakka54/keyboard.json +++ b/keyboards/silakka54/keyboard.json @@ -40,12 +40,12 @@ {"matrix": [0, 4], "x": 4, "y": 0}, {"matrix": [0, 5], "x": 5, "y": 0}, - {"matrix": [5, 5], "x": 0, "y": 5}, - {"matrix": [5, 4], "x": 1, "y": 5}, - {"matrix": [5, 3], "x": 2, "y": 5}, - {"matrix": [5, 2], "x": 3, "y": 5}, - {"matrix": [5, 1], "x": 4, "y": 5}, - {"matrix": [5, 0], "x": 5, "y": 5}, + {"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}, @@ -55,12 +55,12 @@ {"matrix": [1, 4], "x": 4, "y": 1}, {"matrix": [1, 5], "x": 5, "y": 1}, - {"matrix": [6, 5], "x": 0, "y": 6}, - {"matrix": [6, 4], "x": 1, "y": 6}, - {"matrix": [6, 3], "x": 2, "y": 6}, - {"matrix": [6, 2], "x": 3, "y": 6}, - {"matrix": [6, 1], "x": 4, "y": 6}, - {"matrix": [6, 0], "x": 5, "y": 6}, + {"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}, @@ -69,12 +69,12 @@ {"matrix": [2, 4], "x": 4, "y": 2}, {"matrix": [2, 5], "x": 5, "y": 2}, - {"matrix": [7, 5], "x": 0, "y": 7}, - {"matrix": [7, 4], "x": 1, "y": 7}, - {"matrix": [7, 3], "x": 2, "y": 7}, - {"matrix": [7, 2], "x": 3, "y": 7}, - {"matrix": [7, 1], "x": 4, "y": 7}, - {"matrix": [7, 0], "x": 5, "y": 7}, + {"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}, @@ -83,22 +83,20 @@ {"matrix": [3, 4], "x": 4, "y": 3}, {"matrix": [3, 5], "x": 5, "y": 3}, - {"matrix": [8, 5], "x": 0, "y": 9}, - {"matrix": [8, 4], "x": 1, "y": 9}, - {"matrix": [8, 3], "x": 2, "y": 9}, - {"matrix": [8, 2], "x": 3, "y": 9}, - {"matrix": [8, 1], "x": 4, "y": 9}, - {"matrix": [8, 0], "x": 5, "y": 9}, + {"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, 3], "x": 3, "y": 4}, {"matrix": [4, 4], "x": 4, "y": 4}, {"matrix": [4, 5], "x": 5, "y": 4}, - {"matrix": [9, 5], "x": 3, "y": 9}, - {"matrix": [9, 4], "x": 4, "y": 9}, - {"matrix": [9, 3], "x": 5, "y": 9} - - + {"matrix": [9, 5], "x": 7, "y": 4}, + {"matrix": [9, 4], "x": 8, "y": 4}, + {"matrix": [9, 3], "x": 9, "y": 4} ] } } diff --git a/keyboards/sirius/uni660/rev2/rules.mk b/keyboards/sirius/uni660/rev2/rules.mk index c03b052c56..18d234d62a 100644 --- a/keyboards/sirius/uni660/rev2/rules.mk +++ b/keyboards/sirius/uni660/rev2/rules.mk @@ -3,5 +3,3 @@ CUSTOM_MATRIX = lite # project specific files SRC += matrix.c UART_DRIVER_REQUIRED = yes - -DEFAULT_FOLDER = sirius/uni660/rev2/ansi diff --git a/keyboards/sixkeyboard/keyboard.json b/keyboards/sixkeyboard/keyboard.json index 5c29dee16f..ca846affb3 100644 --- a/keyboards/sixkeyboard/keyboard.json +++ b/keyboards/sixkeyboard/keyboard.json @@ -5,8 +5,12 @@ "usb": { "vid": "0x746B", "pid": "0x736B", - "device_version": "0.0.1", - "force_nkro": true + "device_version": "0.0.1" + }, + "host": { + "default": { + "nkro": true + } }, "features": { "bootmagic": false, diff --git a/keyboards/skmt/15k/keyboard.json b/keyboards/skmt/15k/keyboard.json index d09f3fb989..2cfb05bae6 100644 --- a/keyboards/skmt/15k/keyboard.json +++ b/keyboards/skmt/15k/keyboard.json @@ -23,8 +23,12 @@ "usb": { "device_version": "1.1.0", "pid": "0x3488", - "vid": "0xFEFE", - "force_nkro": true + "vid": "0xFEFE" + }, + "host": { + "default": { + "nkro": true + } }, "layouts": { "LAYOUT_default": { diff --git a/keyboards/skyloong/gk61/v1/keyboard.json b/keyboards/skyloong/gk61/v1/keyboard.json index 68fda1220f..e6ce09ae7f 100644 --- a/keyboards/skyloong/gk61/v1/keyboard.json +++ b/keyboards/skyloong/gk61/v1/keyboard.json @@ -119,8 +119,12 @@ "vid": "0x1EA7", "device_version": "1.0.0", "pid": "0x6061", - "max_power": 380, - "force_nkro": true + "max_power": 380 + }, + "host": { + "default": { + "nkro": true + } }, "community_layouts": ["60_ansi"], "layouts": { diff --git a/keyboards/sneakbox/m4m5/keyboard.json b/keyboards/sneakbox/m4m5/keyboard.json new file mode 100644 index 0000000000..ba56a6c85d --- /dev/null +++ b/keyboards/sneakbox/m4m5/keyboard.json @@ -0,0 +1,203 @@ +{ + "manufacturer": "Sneakbox", + "keyboard_name": "M4 & M5", + "maintainer": "mujimanic", + "bootloader": "atmel-dfu", + "bootmagic": { + "matrix": [2, 0] + }, + "build": { + "lto": true + }, + "diode_direction": "COL2ROW", + "encoder": { + "rotary": [ + {"pin_a": "D3", "pin_b": "D2"} + ] + }, + "features": { + "bootmagic": true, + "encoder": true, + "extrakey": true, + "mousekey": true, + "nkro": true, + "rgblight": true + }, + "indicators": { + "caps_lock": "D6", + "num_lock": "D4", + "scroll_lock": "D7" + }, + "matrix_pins": { + "cols": ["F0", "D0", "C7", "C6", "B6", "B5", "B4", "D1"], + "rows": ["F1", "E6", "F4", "B1", "F5", "B2", "F6", "B3", "F7", "B7"] + }, + "processor": "atmega32u4", + "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": 16 + }, + "url": "https://sneakbox.design", + "usb": { + "device_version": "0.0.1", + "pid": "0x0005", + "vid": "0x5342" + }, + "ws2812": { + "pin": "D5" + }, + "layouts": { + "LAYOUT_alice": { + "layout": [ + {"matrix": [2, 0], "x": 0, "y": 0}, + {"matrix": [0, 0], "x": 1.25, "y": 0}, + {"matrix": [0, 1], "x": 2.25, "y": 0}, + {"matrix": [0, 2], "x": 3.25, "y": 0}, + {"matrix": [0, 3], "x": 4.25, "y": 0}, + {"matrix": [0, 4], "x": 5.25, "y": 0}, + {"matrix": [0, 5], "x": 6.25, "y": 0}, + {"matrix": [0, 6], "x": 7.25, "y": 0}, + {"matrix": [1, 0], "x": 10.25, "y": 0}, + {"matrix": [1, 1], "x": 11.25, "y": 0}, + {"matrix": [1, 2], "x": 12.25, "y": 0}, + {"matrix": [1, 3], "x": 13.25, "y": 0}, + {"matrix": [1, 4], "x": 14.25, "y": 0}, + {"matrix": [1, 5], "x": 15.25, "y": 0}, + {"matrix": [1, 6], "x": 16.25, "y": 0, "w": 2}, + {"matrix": [4, 0], "x": 0, "y": 1}, + {"matrix": [2, 1], "x": 1.25, "y": 1, "w": 1.5}, + {"matrix": [2, 2], "x": 2.75, "y": 1}, + {"matrix": [2, 3], "x": 3.75, "y": 1}, + {"matrix": [2, 4], "x": 4.75, "y": 1}, + {"matrix": [2, 5], "x": 5.75, "y": 1}, + {"matrix": [2, 6], "x": 6.75, "y": 1}, + {"matrix": [3, 0], "x": 9.75, "y": 1}, + {"matrix": [3, 1], "x": 10.75, "y": 1}, + {"matrix": [3, 2], "x": 11.75, "y": 1}, + {"matrix": [3, 3], "x": 12.75, "y": 1}, + {"matrix": [3, 4], "x": 13.75, "y": 1}, + {"matrix": [3, 5], "x": 14.75, "y": 1}, + {"matrix": [3, 6], "x": 15.75, "y": 1}, + {"matrix": [3, 7], "x": 16.75, "y": 1, "w": 1.5}, + {"matrix": [6, 0], "x": 0, "y": 2}, + {"matrix": [4, 1], "x": 1.25, "y": 2, "w": 1.75}, + {"matrix": [4, 2], "x": 3, "y": 2}, + {"matrix": [4, 3], "x": 4, "y": 2}, + {"matrix": [4, 4], "x": 5, "y": 2}, + {"matrix": [4, 5], "x": 6, "y": 2}, + {"matrix": [4, 6], "x": 7, "y": 2}, + {"matrix": [5, 0], "x": 10, "y": 2}, + {"matrix": [5, 1], "x": 11, "y": 2}, + {"matrix": [5, 2], "x": 12, "y": 2}, + {"matrix": [5, 3], "x": 13, "y": 2}, + {"matrix": [5, 4], "x": 14, "y": 2}, + {"matrix": [5, 5], "x": 15, "y": 2}, + {"matrix": [5, 6], "x": 16, "y": 2, "w": 2.25}, + {"matrix": [6, 1], "x": 1.25, "y": 3, "w": 2.25}, + {"matrix": [6, 2], "x": 3.5, "y": 3}, + {"matrix": [6, 3], "x": 4.5, "y": 3}, + {"matrix": [6, 4], "x": 5.5, "y": 3}, + {"matrix": [6, 5], "x": 6.5, "y": 3}, + {"matrix": [6, 6], "x": 7.5, "y": 3}, + {"matrix": [7, 0], "x": 9.5, "y": 3}, + {"matrix": [7, 1], "x": 10.5, "y": 3}, + {"matrix": [7, 2], "x": 11.5, "y": 3}, + {"matrix": [7, 3], "x": 12.5, "y": 3}, + {"matrix": [7, 4], "x": 13.5, "y": 3}, + {"matrix": [7, 5], "x": 14.5, "y": 3}, + {"matrix": [7, 6], "x": 15.5, "y": 3, "w": 1.75}, + {"matrix": [7, 7], "x": 17.25, "y": 3}, + {"matrix": [8, 1], "x": 1.25, "y": 4, "w": 1.5}, + {"matrix": [8, 3], "x": 4, "y": 4, "w": 1.5}, + {"matrix": [8, 5], "x": 5.5, "y": 4, "w": 2.25}, + {"matrix": [8, 6], "x": 7.75, "y": 4}, + {"matrix": [9, 1], "x": 9.75, "y": 4, "w": 1.25}, + {"matrix": [9, 2], "x": 11, "y": 4, "w": 1.5}, + {"matrix": [9, 3], "x": 12.5, "y": 4, "w": 1.5}, + {"matrix": [9, 7], "x": 16.75, "y": 4, "w": 1.5} + ] + }, + "LAYOUT_alice_split_bs": { + "layout": [ + {"matrix": [2, 0], "x": 0, "y": 0}, + {"matrix": [0, 0], "x": 1.25, "y": 0}, + {"matrix": [0, 1], "x": 2.25, "y": 0}, + {"matrix": [0, 2], "x": 3.25, "y": 0}, + {"matrix": [0, 3], "x": 4.25, "y": 0}, + {"matrix": [0, 4], "x": 5.25, "y": 0}, + {"matrix": [0, 5], "x": 6.25, "y": 0}, + {"matrix": [0, 6], "x": 7.25, "y": 0}, + {"matrix": [1, 0], "x": 10.25, "y": 0}, + {"matrix": [1, 1], "x": 11.25, "y": 0}, + {"matrix": [1, 2], "x": 12.25, "y": 0}, + {"matrix": [1, 3], "x": 13.25, "y": 0}, + {"matrix": [1, 4], "x": 14.25, "y": 0}, + {"matrix": [1, 5], "x": 15.25, "y": 0}, + {"matrix": [1, 6], "x": 16.25, "y": 0}, + {"matrix": [1, 7], "x": 17.25, "y": 0}, + {"matrix": [4, 0], "x": 0, "y": 1}, + {"matrix": [2, 1], "x": 1.25, "y": 1, "w": 1.5}, + {"matrix": [2, 2], "x": 2.75, "y": 1}, + {"matrix": [2, 3], "x": 3.75, "y": 1}, + {"matrix": [2, 4], "x": 4.75, "y": 1}, + {"matrix": [2, 5], "x": 5.75, "y": 1}, + {"matrix": [2, 6], "x": 6.75, "y": 1}, + {"matrix": [3, 0], "x": 9.75, "y": 1}, + {"matrix": [3, 1], "x": 10.75, "y": 1}, + {"matrix": [3, 2], "x": 11.75, "y": 1}, + {"matrix": [3, 3], "x": 12.75, "y": 1}, + {"matrix": [3, 4], "x": 13.75, "y": 1}, + {"matrix": [3, 5], "x": 14.75, "y": 1}, + {"matrix": [3, 6], "x": 15.75, "y": 1}, + {"matrix": [3, 7], "x": 16.75, "y": 1, "w": 1.5}, + {"matrix": [6, 0], "x": 0, "y": 2}, + {"matrix": [4, 1], "x": 1.25, "y": 2, "w": 1.75}, + {"matrix": [4, 2], "x": 3, "y": 2}, + {"matrix": [4, 3], "x": 4, "y": 2}, + {"matrix": [4, 4], "x": 5, "y": 2}, + {"matrix": [4, 5], "x": 6, "y": 2}, + {"matrix": [4, 6], "x": 7, "y": 2}, + {"matrix": [5, 0], "x": 10, "y": 2}, + {"matrix": [5, 1], "x": 11, "y": 2}, + {"matrix": [5, 2], "x": 12, "y": 2}, + {"matrix": [5, 3], "x": 13, "y": 2}, + {"matrix": [5, 4], "x": 14, "y": 2}, + {"matrix": [5, 5], "x": 15, "y": 2}, + {"matrix": [5, 6], "x": 16, "y": 2, "w": 2.25}, + {"matrix": [6, 1], "x": 1.25, "y": 3, "w": 2.25}, + {"matrix": [6, 2], "x": 3.5, "y": 3}, + {"matrix": [6, 3], "x": 4.5, "y": 3}, + {"matrix": [6, 4], "x": 5.5, "y": 3}, + {"matrix": [6, 5], "x": 6.5, "y": 3}, + {"matrix": [6, 6], "x": 7.5, "y": 3}, + {"matrix": [7, 0], "x": 9.5, "y": 3}, + {"matrix": [7, 1], "x": 10.5, "y": 3}, + {"matrix": [7, 2], "x": 11.5, "y": 3}, + {"matrix": [7, 3], "x": 12.5, "y": 3}, + {"matrix": [7, 4], "x": 13.5, "y": 3}, + {"matrix": [7, 5], "x": 14.5, "y": 3}, + {"matrix": [7, 6], "x": 15.5, "y": 3, "w": 1.75}, + {"matrix": [7, 7], "x": 17.25, "y": 3}, + {"matrix": [8, 1], "x": 1.25, "y": 4, "w": 1.5}, + {"matrix": [8, 3], "x": 4, "y": 4, "w": 1.5}, + {"matrix": [8, 5], "x": 5.5, "y": 4, "w": 2.25}, + {"matrix": [8, 6], "x": 7.75, "y": 4}, + {"matrix": [9, 1], "x": 9.75, "y": 4, "w": 1.25}, + {"matrix": [9, 2], "x": 11, "y": 4, "w": 1.5}, + {"matrix": [9, 3], "x": 12.5, "y": 4, "w": 1.5}, + {"matrix": [9, 7], "x": 16.75, "y": 4, "w": 1.5} + ] + } + } +} diff --git a/keyboards/sneakbox/m4m5/keymaps/alice/keymap.c b/keyboards/sneakbox/m4m5/keymaps/alice/keymap.c new file mode 100644 index 0000000000..113ebfd8b6 --- /dev/null +++ b/keyboards/sneakbox/m4m5/keymaps/alice/keymap.c @@ -0,0 +1,32 @@ +// Copyright 2023 Bryan Ong +// 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] = LAYOUT_alice( + KC_ESC, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, + KC_PGUP, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, + KC_PGDN, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_LGUI, + KC_LCTL, KC_LALT, KC_SPC, LT(_FN, KC_SPC), KC_SPC, KC_SPC, KC_RALT, KC_RCTL), + [_FN] = LAYOUT_alice( + 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_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, UG_PREV, UG_NEXT, UG_TOGG, + QK_BOOT, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, UG_VALD, UG_VALU, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, UG_SATD, UG_SATU, KC_TRNS, UG_HUEU, + 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] = { + [_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU)}, + [_FN] = { ENCODER_CCW_CW(_______, _______)} +}; +#endif diff --git a/keyboards/sneakbox/m4m5/keymaps/default/keymap.c b/keyboards/sneakbox/m4m5/keymaps/default/keymap.c new file mode 100644 index 0000000000..938f073837 --- /dev/null +++ b/keyboards/sneakbox/m4m5/keymaps/default/keymap.c @@ -0,0 +1,32 @@ +// Copyright 2023 Bryan Ong +// 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] = LAYOUT_alice_split_bs( + 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_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, + KC_PGDN, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_LGUI, + KC_LCTL, KC_LALT, KC_SPC, LT(_FN, KC_SPC), KC_SPC, KC_SPC, KC_RALT, KC_RCTL), + [_FN] = LAYOUT_alice_split_bs( + 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_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, UG_PREV, UG_NEXT, UG_TOGG, + QK_BOOT, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, UG_VALD, UG_VALU, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, UG_SATD, UG_SATU, KC_TRNS, UG_HUEU, + 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] = { + [_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU)}, + [_FN] = { ENCODER_CCW_CW(_______, _______)} +}; +#endif diff --git a/keyboards/sneakbox/m4m5/readme.md b/keyboards/sneakbox/m4m5/readme.md new file mode 100644 index 0000000000..4be06dbf98 --- /dev/null +++ b/keyboards/sneakbox/m4m5/readme.md @@ -0,0 +1,27 @@ +# Sneakbox M4 & M5 PCB + +![Sneakbox M4 & M5 PCB](https://i.imgur.com/hVLal1m.jpeg) + +An Alice-compatible PCB with hotswap with pushbutton rotary encoder socket placed at the top left key position. This PCB is the successor to the AliceCloneRGB PCB and features RGB underglow lighting along with revised hardware components such as an additional spacebar key in the right spacebar cluster. M4M5 firmware covers two physical PCBs for the MGA project (M4 PCB and M5 PCB) namely for the MGA V3 keyboard (which uses either PCB). + +* Keyboard Maintainer: [mujimanic](https://github.com/mujimanic) +* Hardware Supported: Any Alice-layout case. +* Hardware Availability: [sneakbox.design](https://sneakbox.com/products/m4-alice-pcbs-for-mga-cases) + +Make example for this keyboard (after setting up your build environment): + + make sneakbox/m4m5:default + +Flashing example for this keyboard: + + make sneakbox/m4m5: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 in the nevigation cluster (Escape key) and plug in the keyboard +* **Physical reset button**: Briefly press the small metal button on the back of the PCB +* **Keycode in layout**: Press and hold the key next to the right split spacebar (to the right of the spacebar) and then press the End key (located on the bottom of the three-key navigation cluster) diff --git a/keyboards/sofle_pico/config.h b/keyboards/sofle_pico/config.h new file mode 100644 index 0000000000..f4f34171fa --- /dev/null +++ b/keyboards/sofle_pico/config.h @@ -0,0 +1,23 @@ +// Copyright 2024 Ryan Neff (@JellyTitan) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +/* Use full duplex communication (TRRS) */ +#define SERIAL_USART_FULL_DUPLEX +#define SERIAL_USART_TX_PIN GP16 +#define SERIAL_USART_RX_PIN GP17 +/* Swap TX and RX pins if keyboard is master half. Only available on some MCU's. This _is_ available on the RP2040 */ +#define SERIAL_USART_PIN_SWAP + +/* I2C for OLEDs */ +#define I2C_DRIVER I2CD1 +#define I2C1_SDA_PIN GP6 +#define I2C1_SCL_PIN GP7 + +#define OLED_DISPLAY_128X64 +#define OLED_TIMEOUT 30000 + +#define ENCODER_MAP_KEY_DELAY 10 + +#define RGB_MATRIX_TYPING_HEATMAP_DECREASE_DELAY_MS 50 diff --git a/keyboards/sofle_pico/halconf.h b/keyboards/sofle_pico/halconf.h new file mode 100644 index 0000000000..ed969d9afc --- /dev/null +++ b/keyboards/sofle_pico/halconf.h @@ -0,0 +1,7 @@ +// Copyright 2024 Ryan Neff (@JellyTitan) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#define HAL_USE_I2C TRUE +#include_next diff --git a/keyboards/sofle_pico/keyboard.json b/keyboards/sofle_pico/keyboard.json new file mode 100644 index 0000000000..c57c4e8f9e --- /dev/null +++ b/keyboards/sofle_pico/keyboard.json @@ -0,0 +1,239 @@ +{ + "manufacturer": "Ryan Neff", + "keyboard_name": "Sofle Pico", + "maintainer": "Ryan Neff ", + "bootloader": "rp2040", + "bootloader_instructions": "Hold the BOOT button while plugging in the usb cable", + "diode_direction": "COL2ROW", + "encoder": { + "rotary": [ + {"pin_a": "GP14", "pin_b": "GP15"} + ] + }, + "features": { + "bootmagic": true, + "encoder": true, + "extrakey": true, + "mousekey": true, + "nkro": true, + "oled": true, + "rgb_matrix": true + }, + "matrix_pins": { + "cols": ["GP1", "GP2", "GP3", "GP4", "GP5", "GP8"], + "rows": ["GP9", "GP10", "GP11", "GP12", "GP13"] + }, + "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 + }, + "default": { + "animation": "cycle_out_in_dual", + "speed": 16 + }, + "driver": "ws2812", + "layout": [ + {"matrix": [0, 5], "x": 95, "y": 7, "flags": 4}, + {"matrix": [1, 5], "x": 95, "y": 21, "flags": 4}, + {"matrix": [2, 5], "x": 95, "y": 36, "flags": 4}, + {"matrix": [3, 5], "x": 95, "y": 50, "flags": 4}, + {"matrix": [4, 4], "x": 115, "y": 64, "flags": 4}, + {"matrix": [4, 3], "x": 95, "y": 64, "flags": 4}, + {"matrix": [4, 2], "x": 76, "y": 62, "flags": 4}, + {"matrix": [3, 4], "x": 76, "y": 48, "flags": 4}, + {"matrix": [2, 4], "x": 76, "y": 33, "flags": 4}, + {"matrix": [1, 4], "x": 76, "y": 19, "flags": 4}, + {"matrix": [0, 4], "x": 76, "y": 5, "flags": 4}, + {"matrix": [0, 3], "x": 57, "y": 3, "flags": 4}, + {"matrix": [1, 3], "x": 57, "y": 17, "flags": 4}, + {"matrix": [2, 3], "x": 57, "y": 31, "flags": 4}, + {"matrix": [3, 3], "x": 57, "y": 46, "flags": 4}, + {"matrix": [4, 1], "x": 57, "y": 62, "flags": 4}, + {"matrix": [4, 0], "x": 38, "y": 64, "flags": 4}, + {"matrix": [3, 2], "x": 38, "y": 48, "flags": 4}, + {"matrix": [2, 2], "x": 38, "y": 33, "flags": 4}, + {"matrix": [1, 2], "x": 38, "y": 19, "flags": 4}, + {"matrix": [0, 2], "x": 38, "y": 5, "flags": 4}, + {"matrix": [0, 1], "x": 19, "y": 7, "flags": 4}, + {"matrix": [1, 1], "x": 19, "y": 21, "flags": 4}, + {"matrix": [2, 1], "x": 19, "y": 36, "flags": 4}, + {"matrix": [3, 1], "x": 19, "y": 50, "flags": 4}, + {"matrix": [3, 0], "x": 0, "y": 50, "flags": 4}, + {"matrix": [2, 0], "x": 0, "y": 36, "flags": 4}, + {"matrix": [1, 0], "x": 0, "y": 21, "flags": 4}, + {"matrix": [0, 0], "x": 0, "y": 7, "flags": 4}, + {"matrix": [5, 5], "x": 129, "y": 7, "flags": 4}, + {"matrix": [6, 5], "x": 129, "y": 21, "flags": 4}, + {"matrix": [7, 5], "x": 129, "y": 36, "flags": 4}, + {"matrix": [8, 5], "x": 129, "y": 50, "flags": 4}, + {"matrix": [9, 4], "x": 119, "y": 64, "flags": 4}, + {"matrix": [9, 3], "x": 129, "y": 64, "flags": 4}, + {"matrix": [9, 2], "x": 148, "y": 62, "flags": 4}, + {"matrix": [8, 4], "x": 148, "y": 48, "flags": 4}, + {"matrix": [7, 4], "x": 148, "y": 33, "flags": 4}, + {"matrix": [6, 4], "x": 148, "y": 19, "flags": 4}, + {"matrix": [5, 4], "x": 148, "y": 5, "flags": 4}, + {"matrix": [5, 3], "x": 167, "y": 3, "flags": 4}, + {"matrix": [6, 3], "x": 167, "y": 17, "flags": 4}, + {"matrix": [7, 3], "x": 167, "y": 31, "flags": 4}, + {"matrix": [8, 3], "x": 167, "y": 46, "flags": 4}, + {"matrix": [9, 1], "x": 167, "y": 62, "flags": 4}, + {"matrix": [9, 0], "x": 186, "y": 64, "flags": 4}, + {"matrix": [8, 2], "x": 186, "y": 48, "flags": 4}, + {"matrix": [7, 2], "x": 186, "y": 33, "flags": 4}, + {"matrix": [6, 2], "x": 186, "y": 19, "flags": 4}, + {"matrix": [5, 2], "x": 186, "y": 5, "flags": 4}, + {"matrix": [5, 1], "x": 209, "y": 7, "flags": 4}, + {"matrix": [6, 1], "x": 209, "y": 21, "flags": 4}, + {"matrix": [7, 1], "x": 209, "y": 36, "flags": 4}, + {"matrix": [8, 1], "x": 209, "y": 50, "flags": 4}, + {"matrix": [8, 0], "x": 224, "y": 50, "flags": 4}, + {"matrix": [7, 0], "x": 224, "y": 36, "flags": 4}, + {"matrix": [6, 0], "x": 224, "y": 21, "flags": 4}, + {"matrix": [5, 0], "x": 224, "y": 7, "flags": 4} + ], + "max_brightness": 127, + "sleep": true, + "split_count": [29, 29] + }, + "split": { + "bootmagic": { + "matrix": [5, 0] + }, + "enabled": true, + "encoder": { + "right": { + "rotary": [ + {"pin_a": "GP14", "pin_b": "GP15"} + ] + } + }, + "serial": { + "driver": "vendor" + }, + "transport": { + "sync": { + "layer_state": true, + "matrix_state": true + } + } + }, + "tags": ["ortho", "split", "rgb", "encoder", "OLED", "128x64", "tenting_puck"], + "url": "https://github.com/JellyTitan/Sofle-Pico", + "usb": { + "device_version": "3.5.4", + "pid": "0x5350", + "vid": "0x4A54" + }, + "ws2812": { + "driver": "vendor", + "pin": "GP0" + }, + "layouts": { + "LAYOUT": { + "layout": [ + {"label": "`", "matrix": [0, 0], "x": 0, "y": 0.7}, + {"label": "1", "matrix": [0, 1], "x": 1, "y": 0.7}, + {"label": "2", "matrix": [0, 2], "x": 2, "y": 0.3}, + {"label": "3", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "4", "matrix": [0, 4], "x": 4, "y": 0.3}, + {"label": "5", "matrix": [0, 5], "x": 5, "y": 0.45}, + {"label": "6", "matrix": [5, 5], "x": 9, "y": 0.45}, + {"label": "7", "matrix": [5, 4], "x": 10, "y": 0.3}, + {"label": "8", "matrix": [5, 3], "x": 11, "y": 0}, + {"label": "9", "matrix": [5, 2], "x": 12, "y": 0.3}, + {"label": "0", "matrix": [5, 1], "x": 13, "y": 0.7}, + {"label": "`", "matrix": [5, 0], "x": 14, "y": 0.7}, + {"label": "Esc", "matrix": [1, 0], "x": 0, "y": 1.7}, + {"label": "Q", "matrix": [1, 1], "x": 1, "y": 1.7}, + {"label": "W", "matrix": [1, 2], "x": 2, "y": 1.3}, + {"label": "E", "matrix": [1, 3], "x": 3, "y": 1}, + {"label": "R", "matrix": [1, 4], "x": 4, "y": 1.3}, + {"label": "T", "matrix": [1, 5], "x": 5, "y": 1.45}, + {"label": "Y", "matrix": [6, 5], "x": 9, "y": 1.45}, + {"label": "U", "matrix": [6, 4], "x": 10, "y": 1.3}, + {"label": "I", "matrix": [6, 3], "x": 11, "y": 1}, + {"label": "O", "matrix": [6, 2], "x": 12, "y": 1.3}, + {"label": "P", "matrix": [6, 1], "x": 13, "y": 1.7}, + {"label": "Bspc", "matrix": [6, 0], "x": 14, "y": 1.7}, + {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 2.7}, + {"label": "A", "matrix": [2, 1], "x": 1, "y": 2.7}, + {"label": "S", "matrix": [2, 2], "x": 2, "y": 2.3}, + {"label": "D", "matrix": [2, 3], "x": 3, "y": 2}, + {"label": "F", "matrix": [2, 4], "x": 4, "y": 2.3}, + {"label": "G", "matrix": [2, 5], "x": 5, "y": 2.45}, + {"label": "H", "matrix": [7, 5], "x": 9, "y": 2.45}, + {"label": "J", "matrix": [7, 4], "x": 10, "y": 2.3}, + {"label": "K", "matrix": [7, 3], "x": 11, "y": 2}, + {"label": "L", "matrix": [7, 2], "x": 12, "y": 2.3}, + {"label": ";", "matrix": [7, 1], "x": 13, "y": 2.7}, + {"label": "'", "matrix": [7, 0], "x": 14, "y": 2.7}, + {"label": "LShift", "matrix": [3, 0], "x": 0, "y": 3.7}, + {"label": "Z", "matrix": [3, 1], "x": 1, "y": 3.7}, + {"label": "X", "matrix": [3, 2], "x": 2, "y": 3.3}, + {"label": "C", "matrix": [3, 3], "x": 3, "y": 3}, + {"label": "V", "matrix": [3, 4], "x": 4, "y": 3.3}, + {"label": "B", "matrix": [3, 5], "x": 5, "y": 3.45}, + {"label": "Mute", "matrix": [4, 5], "x": 6.2, "y": 3.45}, + {"label": "Pause", "matrix": [9, 5], "x": 7.8, "y": 3.45}, + {"label": "N", "matrix": [8, 5], "x": 9, "y": 3.45}, + {"label": "M", "matrix": [8, 4], "x": 10, "y": 3.3}, + {"label": ",", "matrix": [8, 3], "x": 11, "y": 3}, + {"label": ".", "matrix": [8, 2], "x": 12, "y": 3.3}, + {"label": "/", "matrix": [8, 1], "x": 13, "y": 3.7}, + {"label": "RShift", "matrix": [8, 0], "x": 14, "y": 3.7}, + {"label": "LCtrl", "matrix": [4, 0], "x": 2, "y": 4.3}, + {"label": "LGUI", "matrix": [4, 1], "x": 3, "y": 4}, + {"label": "LCmnd", "matrix": [4, 2], "x": 4, "y": 4.3}, + {"label": "LAlt", "matrix": [4, 3], "x": 5.1, "y": 4.5, "h": 1.5}, + {"label": "Enter", "matrix": [4, 4], "x": 6.1, "y": 4.5, "h": 1.5}, + {"label": "Space", "matrix": [9, 4], "x": 7.9, "y": 4.5, "h": 1.5}, + {"label": "RAlt", "matrix": [9, 3], "x": 8.9, "y": 4.5, "h": 1.5}, + {"label": "RCmnd", "matrix": [9, 2], "x": 10, "y": 4.3}, + {"label": "RGui", "matrix": [9, 1], "x": 11, "y": 4}, + {"label": "RCtrl", "matrix": [9, 0], "x": 12, "y": 4.3} + ] + } + } +} diff --git a/keyboards/sofle_pico/keymaps/default/keymap.c b/keyboards/sofle_pico/keymaps/default/keymap.c new file mode 100644 index 0000000000..a09f32fc37 --- /dev/null +++ b/keyboards/sofle_pico/keymaps/default/keymap.c @@ -0,0 +1,53 @@ +// Copyright 2024 Ryan Neff (@JellyTitan) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +enum sofle_layers { + _QWERTY, + _LOWER, + _RAISE, + _ADJUST, +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + // clang-format off + [_QWERTY] = LAYOUT( + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_GRV, + KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, + KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_MUTE, XXXXXXX, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, + KC_LGUI, KC_LALT, KC_LCTL, TL_LOWR, KC_ENT, KC_SPC , TL_UPPR, KC_RCTL, 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_F12, + _______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_PIPE, + _______, KC_EQL, KC_MINS, KC_PLUS, KC_LCBR, KC_RCBR, _______, _______, KC_LBRC, KC_RBRC, KC_SCLN, KC_COLN, KC_BSLS, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + [_RAISE] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, KC_INS, KC_PSCR, KC_APP, XXXXXXX, XXXXXXX, KC_PGUP, XXXXXXX, KC_UP , XXXXXXX, XXXXXXX, KC_BSPC, + _______, KC_LALT, KC_LCTL, KC_LSFT, XXXXXXX, KC_CAPS, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, KC_DEL , KC_BSPC, + _______, C(KC_Z), C(KC_X), C(KC_C), C(KC_V), XXXXXXX, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + [_ADJUST] = LAYOUT( + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RM_TOGG, RM_VALU, RM_VALD, XXXXXXX, XXXXXXX, XXXXXXX, + QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, CG_TOGG, XXXXXXX, RM_NEXT, RM_PREV, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, CG_TOGG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_VOLD, KC_MUTE, KC_VOLU, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MPRV, KC_MPLY, KC_MNXT, XXXXXXX, XXXXXXX, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ) + // 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(KC_PGUP, KC_PGDN)}, + [2] = {ENCODER_CCW_CW(_______, _______)}, + [3] = {ENCODER_CCW_CW(_______, _______)}, +}; +#endif diff --git a/keyboards/sofle_pico/keymaps/default/readme.md b/keyboards/sofle_pico/keymaps/default/readme.md new file mode 100644 index 0000000000..a15159d07c --- /dev/null +++ b/keyboards/sofle_pico/keymaps/default/readme.md @@ -0,0 +1,10 @@ +![SofleKeyboard default keymap](https://i.imgur.com/MZxVvm9.png) +![SofleKeyboard adjust layer](https://i.imgur.com/f5sKy0I.png) + + +# Default keymap for Sofle Pico Keyboard + +Adapted from the classic Sofle Keyboard by Josef Adamcik. +Simplified to serve as a starting point for further customizations. +Layout in [Keyboard Layout Editor](http://www.keyboard-layout-editor.com/#/gists/76efb423a46cbbea75465cb468eef7ff) +Left encoder controls volume up/down/mute. Right encoder PGUP/PGDOWN. diff --git a/keyboards/sofle_pico/keymaps/default/rules.mk b/keyboards/sofle_pico/keymaps/default/rules.mk new file mode 100644 index 0000000000..7c9bf212a6 --- /dev/null +++ b/keyboards/sofle_pico/keymaps/default/rules.mk @@ -0,0 +1 @@ +TRI_LAYER_ENABLE = yes diff --git a/keyboards/sofle_pico/readme.md b/keyboards/sofle_pico/readme.md new file mode 100644 index 0000000000..34498d0c1b --- /dev/null +++ b/keyboards/sofle_pico/readme.md @@ -0,0 +1,31 @@ +# Sofle Pico Keyboard + +![Sofle Pico](https://i.imgur.com/9VBj3T5.jpeg) +![Sofle Pico PCB](https://i.imgur.com/8SDTm4h.jpeg) +Sofle Pico is a 60% Raspberry Pi Pico powered split keyboard boasting a 4x6 layout with an aggressive columnar stagger. It has 5 "thumb" keys on either side, support for 2-4 rotary encoders, per-key RGB lighting, 128x64 OLEDs and a tenting puck mount. + +- Keyboard Maintainer: [Ryan Neff](https://github.com/JellyTitan) +- Hardware Supported: Sofle Pico PCB v3.5.x, Raspberry Pi Pico +- Hardware Availability: [PCB, Case, Parts List](https://github.com/JellyTitan/Sofle-Pico) + +Remember you have to flash both halves of the keyboard for it to work! + +Make example for this keyboard (after setting up your build environment): + + make sofle_pico:default + +Flashing example for this keyboard: + + make sofle_pico: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** (works after you have flashed once): Hold down the top far corner key while plugging in the keyboard (`~` left half, `-` right half). This will also clear the EEPROM. +- **Physical reset button**: Hold the `BOOT` button on the Pico and press the `RST` button on the Pico, release the the `RST` button before the `BOOT` button. +- **Keycode in layout**: In the default layout, the `Bootloader` keycode is above home row pinky on the right side's adjust layer. + +Once you enter the bootloader, the keyboard will show up as a USB device on your computer, you could drag and drop a `.uf2` firmware file to flash it. diff --git a/keyboards/sofle_pico/sofle_pico.c b/keyboards/sofle_pico/sofle_pico.c new file mode 100644 index 0000000000..b237dfc599 --- /dev/null +++ b/keyboards/sofle_pico/sofle_pico.c @@ -0,0 +1,32 @@ +// Copyright 2024 Ryan Neff (@JellyTitan) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "quantum.h" + +#ifdef OLED_ENABLE + +oled_rotation_t oled_init_kb(oled_rotation_t rotation) { + return OLED_ROTATION_90; +} + +static void render_logo(void) { + static const char PROGMEM sofle_pico_logo[] = { + 0x00, 0x00, 0x00, 0x00, 0xc0, 0xe0, 0xe0, 0xf0, 0xf0, 0xf0, 0x70, 0xf0, 0xf0, 0xe0, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xf0, 0xf8, 0xfc, 0x3c, 0x3c, 0x3c, 0x7c, 0xf8, 0xf8, 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, 0x0f, 0x1f, 0x3f, 0x3f, 0x3f, 0x7c, 0x78, 0xf8, 0xf8, 0xf0, 0xe0, 0x00, 0x00, 0xc0, 0xf0, 0xf8, 0xfc, 0x3c, 0x1c, 0x1e, 0x1e, 0x3c, 0xfc, 0xf8, 0xf0, 0xc0, 0x00, 0x1c, 0x1c, 0xff, 0xff, 0xff, 0xff, 0x1c, 0x1c, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xc0, 0xf0, 0xf8, 0xfc, 0xfc, 0xce, 0xce, 0xce, 0xdc, 0xfc, 0xfc, 0xf8, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x1e, 0x1e, 0x1e, 0x3c, 0x3c, 0x3c, 0x3e, 0x1f, 0x1f, 0x0f, 0x07, 0x01, 0x00, 0x01, 0x07, + 0x0f, 0x1f, 0x1e, 0x3c, 0x3c, 0x3c, 0x1e, 0x1f, 0x0f, 0x07, 0x03, 0x00, 0x00, 0x00, 0x1f, 0x1f, 0x1f, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x1f, 0x1f, 0x1f, 0x00, 0x00, 0x01, 0x07, 0x0f, 0x1f, 0x1f, 0x3c, 0x38, 0x38, 0x3c, 0x1c, 0x1c, 0x0c, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xfe, 0x06, 0x06, 0x06, 0x0e, 0x9e, 0xfc, 0xf8, 0x00, 0x00, 0x8e, 0x8e, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0xff, 0xff, 0x07, 0x07, 0x07, 0x07, 0x03, 0x03, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x7c, 0xfe, 0xff, 0x83, 0x01, 0x01, 0x01, 0x83, 0x83, 0x00, 0x00, 0x7e, 0xff, 0xc7, 0x83, 0x01, 0x01, 0x01, + 0x83, 0xff, 0xff, 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, 0x80, 0xc0, 0xc3, 0xe3, 0xe0, 0xe0, 0xe0, 0xf0, 0x70, 0x70, 0x70, 0x70, 0x30, 0x33, 0x73, 0xe0, 0x60, 0xe0, 0xe0, 0xc0, 0xc1, 0x83, 0x03, 0x03, 0x03, 0x03, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x03, 0x03, 0x03, 0x03, 0x03, 0x01, 0x80, 0xc0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0x70, 0x30, 0x70, 0x70, 0x70, 0x70, 0x70, 0xf0, 0xe0, 0xe0, 0xe0, 0xc0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x1f, 0xff, 0xf8, 0xd0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x20, 0x20, 0x40, 0xc0, 0x80, 0x00, 0x01, 0x87, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0xff, 0xff, 0x03, 0x01, 0x00, 0x80, 0xc0, 0x40, 0x20, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, + 0xf0, 0xf8, 0x7f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x07, 0x0f, 0x1c, 0x1c, 0x38, 0x78, 0x60, 0x60, 0x60, 0x60, 0x60, 0x70, 0x38, 0x39, 0xdf, 0xef, 0xf7, 0x7b, 0x39, 0x1c, 0x1c, 0x0e, 0x0e, 0x06, 0x06, 0x06, 0x06, 0x06, 0x0e, 0x0e, 0x1e, 0x1c, 0x3c, 0x79, 0xfb, 0xf7, 0xef, 0x9f, 0x38, 0x30, 0x70, 0x60, 0x60, 0x60, 0x60, 0x70, 0x38, 0x3c, 0x1c, 0x0f, 0x0f, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xe0, 0xf8, 0xfc, 0x7e, 0x7f, 0xff, 0xff, 0xe3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc1, 0xff, 0x7f, 0x7f, 0x3f, 0x7c, 0xf8, 0xf0, 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, 0x7f, 0xff, 0x81, 0x00, 0x00, 0x00, 0x00, 0x01, 0xcf, 0xff, 0xfe, 0x7c, 0x78, 0x78, 0x38, 0x30, 0x30, 0x30, 0x30, 0x30, 0x38, 0x78, 0x78, 0x7c, 0xfe, 0xff, 0xff, 0x01, 0x00, 0x00, 0x00, 0x00, 0x80, 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, 0x01, 0x03, 0x07, 0x0f, 0x0e, 0x1e, 0x3f, 0x7f, 0xf1, 0xe0, 0xc0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0xc0, 0xe1, 0xf3, 0x7f, 0x3f, 0x1f, 0x0f, 0x07, 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, 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, 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, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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(sofle_pico_logo, sizeof(sofle_pico_logo)); +} + +bool oled_task_kb(void) { + if (!oled_task_user()) { + return false; + } + render_logo(); + return false; +} + +#endif diff --git a/keyboards/spleeb/config.h b/keyboards/spleeb/config.h index 64a1fb09ba..e71f0dc007 100644 --- a/keyboards/spleeb/config.h +++ b/keyboards/spleeb/config.h @@ -28,5 +28,4 @@ #endif // OLED_ENABLE #define RP2040_BOOTLOADER_DOUBLE_TAP_RESET -#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_LED GP17 #define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 1000U diff --git a/keyboards/spleeb/keyboard.json b/keyboards/spleeb/keyboard.json index 56b0bc83b0..3b55785ee9 100644 --- a/keyboards/spleeb/keyboard.json +++ b/keyboards/spleeb/keyboard.json @@ -18,7 +18,6 @@ "rows": ["GP5", "GP6", "GP7", "GP8", "GP9"] }, "processor": "RP2040", - "board": "QMK_PM2040", "secure": { "idle_timeout": 60000, "unlock_sequence": [ diff --git a/keyboards/splitkb/aurora/sweep/keymaps/default/keymap.json b/keyboards/splitkb/aurora/sweep/keymaps/default/keymap.json index 885faaf858..12ec8170fc 100644 --- a/keyboards/splitkb/aurora/sweep/keymaps/default/keymap.json +++ b/keyboards/splitkb/aurora/sweep/keymaps/default/keymap.json @@ -11,9 +11,9 @@ "KC_P0" , "KC_BSPC" , "LT(7,KC_SPC)" , "KC_P1" ], [ - "RM_TOGG" , "RM_NEXT" , "RM_HUEU" , "RM_SATU" , "RM_VALU" , "RM_SPDU" , "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" , "RM_PREV" , "RM_HUED" , "RM_SATD" , "RM_VALD" , "RM_SPDD" , "KC_WH_L" , "KC_WH_D" , "KC_WH_R" , "KC_TRNS", + "RM_TOGG" , "RM_NEXT" , "RM_HUEU" , "RM_SATU" , "RM_VALU" , "RM_SPDU" , "MS_BTN1" , "MS_WHLU" , "MS_BTN2" , "KC_TRNS", + "KC_TRNS" , "MS_BTN2" , "KC_NO" , "MS_BTN1" , "KC_TRNS" , "KC_TRNS" , "MS_LEFT" , "MS_DOWN" , "MS_UP" , "MS_RGHT", + "KC_TRNS" , "RM_PREV" , "RM_HUED" , "RM_SATD" , "RM_VALD" , "RM_SPDD" , "MS_WHLL" , "MS_WHLD" , "MS_WHLR" , "KC_TRNS", "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS" ], [ diff --git a/keyboards/splitkb/elora/rev1/myriad.c b/keyboards/splitkb/elora/rev1/myriad.c index 8bb6054df9..0263821b81 100644 --- a/keyboards/splitkb/elora/rev1/myriad.c +++ b/keyboards/splitkb/elora/rev1/myriad.c @@ -9,10 +9,10 @@ #include "analog.h" typedef struct __attribute__((__packed__)) { - char magic_numbers[3]; - uint8_t version_major; - uint8_t version_minor; - uint8_t version_patch; + char magic_numbers[3]; + uint8_t version_major; + uint8_t version_minor; + uint8_t version_patch; uint32_t checksum; uint16_t payload_length; } myriad_header_t; @@ -20,34 +20,36 @@ typedef struct __attribute__((__packed__)) { typedef struct __attribute__((__packed__)) { uint16_t vendor_id; uint16_t product_id; - uint8_t revision; + uint8_t revision; } identity_record_t; static bool myriad_reader(uint8_t *data, uint16_t length) { - const uint8_t eeprom_address = 0x50; // 1010 000 - NOT shifted for R/W bit - const uint16_t i2c_timeout = 100; // in milliseconds + const uint8_t eeprom_address = 0x50; // 1010 000 - NOT shifted for R/W bit + const uint16_t i2c_timeout = 100; // in milliseconds - uint8_t num_pages = (length / 256) + 1; + uint8_t num_pages = (length / 256) + 1; uint8_t last_page_size = length % 256; for (int i = 0; i < num_pages; i++) { - uint8_t reg = 0; // We always start on a page boundary, so this is always zero + uint8_t reg = 0; // We always start on a page boundary, so this is always zero uint16_t read_length; if (i == num_pages - 1) { read_length = last_page_size; } else { read_length = 256; } - i2c_status_t s = i2c_read_register((eeprom_address + i) << 1, reg, &(data[i*256]), read_length, i2c_timeout); - if (s != I2C_STATUS_SUCCESS) { return false; } + i2c_status_t s = i2c_read_register((eeprom_address + i) << 1, reg, &(data[i * 256]), read_length, i2c_timeout); + if (s != I2C_STATUS_SUCCESS) { + return false; + } } return true; } static bool verify_header(myriad_header_t *header) { - char magic_numbers[] = {'M', 'Y', 'R'}; - uint8_t version_major = 1; - uint16_t version_minor = 0; + char magic_numbers[] = {'M', 'Y', 'R'}; + uint8_t version_major = 1; + uint16_t version_minor = 0; for (int i = 0; i < sizeof(magic_numbers); i++) { // Check that the header starts with 'MYR', indicating that this is indeed a Myriad card. @@ -82,16 +84,15 @@ static bool verify_checksum(uint8_t *data, uint16_t length, uint32_t checksum) { const uint32_t MOD_ADLER = 65521; uint32_t a = 1, b = 0; - size_t index; - + size_t index; + // Process each byte of the data in order - for (index = 0; index < length; ++index) - { + for (index = 0; index < length; ++index) { a = (a + data[index]) % MOD_ADLER; b = (b + a) % MOD_ADLER; } uint32_t calculated = ((b << 16) | a); - + return calculated == checksum; } @@ -108,9 +109,9 @@ static int16_t locate_entry(uint8_t entry_type, uint8_t entry_data_length, uint8 while (offset < maximum) { if (data[offset] == entry_type) { // Type matches! - if (data[offset+1] == entry_data_length) { + if (data[offset + 1] == entry_data_length) { // We found what we are looking for, so return payload reference. - return offset+2; + return offset + 2; } else { // The entry is the wrong length? return -2; @@ -118,7 +119,7 @@ static int16_t locate_entry(uint8_t entry_type, uint8_t entry_data_length, uint8 } else { // No type match, so skip this one // We skip the type byte, the length byte, and any potential data (with length stored in the length byte) - offset += 2 + data[offset+1]; + offset += 2 + data[offset + 1]; } } @@ -127,13 +128,15 @@ static int16_t locate_entry(uint8_t entry_type, uint8_t entry_data_length, uint8 } static bool read_card_identity(uint8_t *data, uint16_t length, identity_record_t *record) { - const uint8_t identity_type = 0x01; + const uint8_t identity_type = 0x01; const uint8_t entry_data_length = sizeof(identity_record_t); - int16_t result = locate_entry(identity_type, entry_data_length, data, 0, length); - if (result < 0) { return false; } + int16_t result = locate_entry(identity_type, entry_data_length, data, 0, length); + if (result < 0) { + return false; + } for (int i = 0; i < sizeof(identity_record_t); i++) { - ((uint8_t*)record)[i] = data[result + i]; + ((uint8_t *)record)[i] = data[result + i]; } return true; } @@ -141,27 +144,37 @@ static bool read_card_identity(uint8_t *data, uint16_t length, identity_record_t static myriad_card_t _detect_myriad(void) { gpio_set_pin_input(MYRIAD_PRESENT); wait_ms(100); - // The pin has an external pull-up, and a Myriad card shorts it to ground. - #ifndef MYRIAD_OVERRIDE_PRESENCE +// The pin has an external pull-up, and a Myriad card shorts it to ground. +#ifndef MYRIAD_OVERRIDE_PRESENCE if (gpio_read_pin(MYRIAD_PRESENT)) { return NONE; } - #endif +#endif // Attempt to read header myriad_header_t header; - if (!myriad_reader((uint8_t*)&header, sizeof(header))) { return INVALID; } - if (!verify_header(&header)) { return INVALID; } + if (!myriad_reader((uint8_t *)&header, sizeof(header))) { + return INVALID; + } + if (!verify_header(&header)) { + return INVALID; + } // Now that we have determined that the header is valid // and we know the payload length, read the entire thing - uint8_t data[2048]; // Guaranteed to be large enough. - uint16_t data_size = sizeof(header)+header.payload_length; - if (!myriad_reader(data, data_size)) { return INVALID; } - if (!verify_checksum(data, data_size, header.checksum)) { return INVALID; } + uint8_t data[2048]; // Guaranteed to be large enough. + uint16_t data_size = sizeof(header) + header.payload_length; + if (!myriad_reader(data, data_size)) { + return INVALID; + } + if (!verify_checksum(data, data_size, header.checksum)) { + return INVALID; + } identity_record_t identity; - if (!read_card_identity(data, data_size, &identity)) { return INVALID; } + if (!read_card_identity(data, data_size, &identity)) { + return INVALID; + } if (identity.vendor_id == 0x0001 && identity.product_id == 0x0001) { return SKB_ENCODER; @@ -201,7 +214,7 @@ static void myr_encoder_init(void) { } static uint16_t myr_joystick_timer; -static void myr_joystick_init(void) { +static void myr_joystick_init(void) { gpio_set_pin_input_high(MYRIAD_GPIO1); // Press myr_joystick_timer = timer_read(); @@ -235,7 +248,7 @@ static myriad_card_t myriad_card_init(void) { bool myriad_hook_matrix(matrix_row_t current_matrix[]) { myriad_card_t card = myriad_card_init(); - uint8_t word = 0; + uint8_t word = 0; if (card == SKB_SWITCHES) { word |= ((!gpio_read_pin(MYRIAD_GPIO3)) & 1) << 0; @@ -252,7 +265,7 @@ bool myriad_hook_matrix(matrix_row_t current_matrix[]) { // 5 bytes of on-board keys, so we are the 6th bool matrix_has_changed = current_matrix[5] ^ word; - current_matrix[5] = word; + current_matrix[5] = word; return matrix_has_changed; } @@ -261,16 +274,20 @@ static pin_t encoders_pad_a[NUM_ENCODERS_MAX_PER_SIDE]; static pin_t encoders_pad_b[NUM_ENCODERS_MAX_PER_SIDE]; uint8_t myriad_hook_encoder(uint8_t index, bool pad_b) { - if (myriad_card_init() != SKB_ENCODER) { return 0; } + if (myriad_card_init() != SKB_ENCODER) { + return 0; + } // 3 onboard encoders, so we are number 4 - pin_t pin = pad_b ? encoders_pad_b[index] : encoders_pad_a[index]; + pin_t pin = pad_b ? encoders_pad_b[index] : encoders_pad_a[index]; encoders_pad_a[3] = MYRIAD_GPIO2; encoders_pad_b[3] = MYRIAD_GPIO3; return gpio_read_pin(pin) ? 1 : 0; } report_mouse_t pointing_device_driver_get_report(report_mouse_t mouse_report) { - if (myriad_card_init() != SKB_JOYSTICK) { return mouse_report; } + if (myriad_card_init() != SKB_JOYSTICK) { + return mouse_report; + } if (timer_elapsed(myr_joystick_timer) < 10) { wait_ms(2); @@ -286,10 +303,10 @@ report_mouse_t pointing_device_driver_get_report(report_mouse_t mouse_report) { // Create a dead zone in the middle where the mouse doesn't move const int16_t dead_zone = 10; - if ((y < 0 && y > -1*dead_zone) || (y > 0 && y < dead_zone)) { + if ((y < 0 && y > -1 * dead_zone) || (y > 0 && y < dead_zone)) { y = 0; } - if ((x < 0 && x > -1*dead_zone) || (x > 0 && x < dead_zone)) { + if ((x < 0 && x > -1 * dead_zone) || (x > 0 && x < dead_zone)) { x = 0; } @@ -298,10 +315,18 @@ report_mouse_t pointing_device_driver_get_report(report_mouse_t mouse_report) { y = abs(y) * y / 5000; // Clamp final value to make sure we don't under/overflow - if (y < -127) { y = -127; } - if (y > 127) { y = 127; } - if (x < -127) { x = -127; } - if (x > 127) { x = 127; } + if (y < -127) { + y = -127; + } + if (y > 127) { + y = 127; + } + if (x < -127) { + x = -127; + } + if (x > 127) { + x = 127; + } mouse_report.x = x; mouse_report.y = y; @@ -309,7 +334,8 @@ report_mouse_t pointing_device_driver_get_report(report_mouse_t mouse_report) { return mouse_report; } -void pointing_device_driver_init(void) { +bool pointing_device_driver_init(void) { gpio_set_pin_input(MYRIAD_ADC1); // Y gpio_set_pin_input(MYRIAD_ADC2); // X + return true; } \ No newline at end of file diff --git a/keyboards/splitkb/halcyon/ferris/keymaps/default/keymap.json b/keyboards/splitkb/halcyon/ferris/keymaps/default/keymap.json index 95748c743f..df28d96b42 100644 --- a/keyboards/splitkb/halcyon/ferris/keymaps/default/keymap.json +++ b/keyboards/splitkb/halcyon/ferris/keymaps/default/keymap.json @@ -11,9 +11,9 @@ "KC_P0" , "KC_BSPC" , "LT(7,KC_SPC)" , "KC_P1" ], [ - "RM_TOGG" , "RM_NEXT" , "RM_HUEU" , "RM_SATU" , "RM_VALU" , "RM_SPDU" , "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" , "RM_PREV" , "RM_HUED" , "RM_SATD" , "RM_VALD" , "RM_SPDD" , "KC_WH_L" , "KC_WH_D" , "KC_WH_R" , "KC_TRNS", + "RM_TOGG" , "RM_NEXT" , "RM_HUEU" , "RM_SATU" , "RM_VALU" , "RM_SPDU" , "MS_BTN1" , "MS_WHLU" , "MS_BTN2" , "KC_TRNS", + "KC_TRNS" , "MS_BTN2" , "KC_NO" , "MS_BTN1" , "KC_TRNS" , "KC_TRNS" , "MS_LEFT" , "MS_DOWN" , "MS_UP" , "MS_RGHT", + "KC_TRNS" , "RM_PREV" , "RM_HUED" , "RM_SATD" , "RM_VALD" , "RM_SPDD" , "MS_WHLL" , "MS_WHLD" , "MS_WHLR" , "KC_TRNS", "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS" ], [ diff --git a/keyboards/stardustn0/keyboard.json b/keyboards/stardustn0/keyboard.json new file mode 100644 index 0000000000..a13d0169a6 --- /dev/null +++ b/keyboards/stardustn0/keyboard.json @@ -0,0 +1,124 @@ +{ + "manufacturer": "Stars", + "keyboard_name": "StarDustN0", + "maintainer": "navidyt", + "bootloader": "rp2040", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "matrix_pins": { + "cols": ["GP8","GP11","GP19","GP18","GP17","GP16"], + "rows": ["GP3","GP9","GP13","GP14","GP15"] + }, + "processor": "RP2040", + "usb": { + "device_version": "1.0.0", + "pid": "0x0000", + "vid": "0x4E54" + }, + + "split": { + "enabled": true, + "matrix_pins": { + "right": { + "cols": ["GP15","GP14","GP13","GP12","GP20","GP26"], + "rows": ["GP28","GP22","GP18","GP17","GP16"] + } + }, + "usb_detect": { + "timeout": 2500 + }, + "serial": { + "driver":"vendor", + "pin":"GP1" + }, + "handedness":{ + "pin":"GP2" + }, + "transport": { + "watchdog": true + } + }, + "indicators":{ + "caps_lock" : "GP25" + }, + "layouts": { + "LAYOUT_split_4x6_4": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0.9}, + {"matrix": [0, 1], "x": 1, "y": 0.9}, + {"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}, + + {"matrix": [5, 0], "x": 11, "y": 0.4}, + {"matrix": [5, 1], "x": 12, "y": 0.2}, + {"matrix": [5, 2], "x": 13, "y": 0}, + {"matrix": [5, 3], "x": 14, "y": 0.2}, + {"matrix": [5, 4], "x": 15, "y": 0.9}, + {"matrix": [5, 5], "x": 16, "y": 0.9}, + + + {"matrix": [1, 0], "x": 0, "y": 1.9}, + {"matrix": [1, 1], "x": 1, "y": 1.9}, + {"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}, + + {"matrix": [6, 0], "x": 11, "y": 1.4}, + {"matrix": [6, 1], "x": 12, "y": 1.2}, + {"matrix": [6, 2], "x": 13, "y": 1}, + {"matrix": [6, 3], "x": 14, "y": 1.2}, + {"matrix": [6, 4], "x": 15, "y": 1.9}, + {"matrix": [6, 5], "x": 16, "y": 1.9}, + + + {"matrix": [2, 0], "x": 0, "y": 2.9}, + {"matrix": [2, 1], "x": 1, "y": 2.9}, + {"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}, + + {"matrix": [7, 0], "x": 11, "y": 2.4}, + {"matrix": [7, 1], "x": 12, "y": 2.2}, + {"matrix": [7, 2], "x": 13, "y": 2}, + {"matrix": [7, 3], "x": 14, "y": 2.2}, + {"matrix": [7, 4], "x": 15, "y": 2.9}, + {"matrix": [7, 5], "x": 16, "y": 2.9}, + + + {"matrix": [3, 0], "x": 0, "y": 3.9}, + {"matrix": [3, 1], "x": 1, "y": 3.9}, + {"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": [8, 0], "x": 11, "y": 3.4}, + {"matrix": [8, 1], "x": 12, "y": 3.2}, + {"matrix": [8, 2], "x": 13, "y": 3}, + {"matrix": [8, 3], "x": 14, "y": 3.2}, + {"matrix": [8, 4], "x": 15, "y": 3.9}, + {"matrix": [8, 5], "x": 16, "y": 3.9}, + + + {"matrix": [4, 2], "x": 4, "y": 3.5}, + {"matrix": [4, 3], "x": 5, "y": 3.5}, + {"matrix": [4, 4], "x": 6, "y": 3.5}, + {"matrix": [4, 5], "x": 7, "y": 3.5}, + + {"matrix": [9, 0], "x": 8, "y": 3.5}, + {"matrix": [9, 1], "x": 9, "y": 3.5}, + {"matrix": [9, 2], "x": 10, "y": 3.5}, + {"matrix": [9, 3], "x": 11, "y": 3.5} + ] + } + } +} diff --git a/keyboards/stardustn0/keymaps/default/keymap.c b/keyboards/stardustn0/keymaps/default/keymap.c new file mode 100644 index 0000000000..21547811e8 --- /dev/null +++ b/keyboards/stardustn0/keymaps/default/keymap.c @@ -0,0 +1,51 @@ +// 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 │ 1 │ 2 │ 3 │ 4 │ 5 │ │ 6 │ 7 │ 8 │ 9 │ 0 │ BSPC│ +// ├─────┼────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┼─────┤ +// │ TAB │ Q │ W │ E │ R │ T │ │ Y │ U │ I │ O │ P │ BSLS│ +// ├─────┼────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┼─────┤ +// │LSFT │ A │ S │ D │ F │ G │ │ H │ J │ K │ L │QUOT│ ENT │ +// ├─────┼────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┼─────┤ +// │LCTL │ Z │ X │ C │ V │ B │ │ N │ M │COMM│DOT │SLSH│RSFT │ +// └─────┴────┴────┴────┴────┴────┘ └────┴────┴────┴────┴────┴─────┘ +// ┌─────┬─────┬─────┬────┐ ┌─────┬─────┬─────┬─────┐ +// │ LGUI│MO(1)│ SPC │LALT│ │LEFT │DOWN │ UP │RIGHT│ +// └─────┴─────┴─────┴────┘ └─────┴─────┴─────┴─────┘ +// +// +// ┌─────┬────┬────┬────┬────┬────┐ ┌────┬────┬────┬────┬────┬─────┐ +// │ GRV │ F1 │ F2 │ F3 │ F4 │ F5 │ │ F6 │ F7 │ F8 │ F9 │ F10│ DEL │ +// ├─────┼────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┼─────┤ +// │CAPS │NO │NO │NO │NO │NO │ │MINS│ EQL│LBRC│RBRC│ F11│ F12 │ +// ├─────┼────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┼─────┤ +// │LSFT │NO │NO │NO │NO │NO │ │ NO │ NO │ NO │ NO │SCLN│ NO │ +// ├─────┼────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┼─────┤ +// │LCTL │NO │NO │NO │NO │NO │ │ NO │ NO │ NO │ NO │ NO │RSFT │ +// └─────┴────┴────┴────┴────┴────┘ └────┴────┴────┴────┴────┴─────┘ +// ┌────┬────┬────┬────┐ ┌────┬────┬────┬────┐ +// │ NO │ NO │ NO │LALT│ │HOME│PGDN│PGUP│ END│ +// └────┴────┴────┴────┘ └────┴────┴────┴────┘ + + + [0] = LAYOUT_split_4x6_4( + 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_LSFT, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_QUOT, KC_ENT, + 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_LGUI, MO(1), KC_SPC, KC_LALT, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT + ), + [1] = LAYOUT_split_4x6_4( + 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_CAPS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_F11, KC_F12, + KC_LSFT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_SCLN, KC_NO, + KC_LCTL, 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_TRNS, KC_NO, KC_LALT, KC_HOME, KC_PGDN, KC_PGUP, KC_END + ) +}; diff --git a/keyboards/stardustn0/readme.md b/keyboards/stardustn0/readme.md new file mode 100644 index 0000000000..5a658e9b48 --- /dev/null +++ b/keyboards/stardustn0/readme.md @@ -0,0 +1,25 @@ +# stardustn0 + +![stardustn0](https://i.imgur.com/9SWMHH4.jpeg) + +This project is a custom-built split ergonomic mechanical keyboard, using two Raspberry Pi Pico microcontrollers. + +* Keyboard Maintainer: [navidyt](https://github.com/navidyt) +* Hardware Supported: Raspberry Pi Pico, MX switches, Gateron hot-swap sockets, 1N4148 diodes, generic USB-C breakout board + +Make example for this keyboard (after setting up your build environment): + + make stardustn0:default + +Flashing example for this keyboard: + + make stardustn0:default:flash + +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). + +## Bootloader + +Enter the bootloader in 3 ways: +* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard +* **Physical reset button**: Briefly press the reset button on the pico while connecting USB +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/stenokeyboards/the_uni/pro_micro/keyboard.json b/keyboards/stenokeyboards/the_uni/pro_micro/keyboard.json index 9cbed0feb9..770fbbb0e9 100644 --- a/keyboards/stenokeyboards/the_uni/pro_micro/keyboard.json +++ b/keyboards/stenokeyboards/the_uni/pro_micro/keyboard.json @@ -1,7 +1,11 @@ { "usb": { - "device_version": "0.0.1", - "force_nkro": true + "device_version": "0.0.1" + }, + "host": { + "default": { + "nkro": true + } }, "features": { "bootmagic": true, diff --git a/keyboards/stenokeyboards/the_uni/rp_2040/keyboard.json b/keyboards/stenokeyboards/the_uni/rp_2040/keyboard.json index e1753f2b84..6ec92ce422 100644 --- a/keyboards/stenokeyboards/the_uni/rp_2040/keyboard.json +++ b/keyboards/stenokeyboards/the_uni/rp_2040/keyboard.json @@ -1,7 +1,11 @@ { "usb": { - "device_version": "0.0.4", - "force_nkro": true + "device_version": "0.0.4" + }, + "host": { + "default": { + "nkro": true + } }, "features": { "bootmagic": true, diff --git a/keyboards/stenokeyboards/the_uni/usb_c/keyboard.json b/keyboards/stenokeyboards/the_uni/usb_c/keyboard.json index 81639fe32b..2cf1e4e324 100644 --- a/keyboards/stenokeyboards/the_uni/usb_c/keyboard.json +++ b/keyboards/stenokeyboards/the_uni/usb_c/keyboard.json @@ -1,7 +1,11 @@ { "usb": { - "device_version": "0.0.3", - "force_nkro": true + "device_version": "0.0.3" + }, + "host": { + "default": { + "nkro": true + } }, "features": { "bootmagic": true, diff --git a/keyboards/stront/keyboard.json b/keyboards/stront/keyboard.json index 250d5b56e1..6e83ffa50d 100644 --- a/keyboards/stront/keyboard.json +++ b/keyboards/stront/keyboard.json @@ -75,11 +75,7 @@ }, "encoder": { "rotary": [ - { - "pin_a": "GP7", - "pin_b": "GP8", - "resolution": 4 - } + {"pin_a": "GP7", "pin_b": "GP8"} ] }, "features": { diff --git a/keyboards/synthlabs/060/keyboard.json b/keyboards/synthlabs/060/keyboard.json index e251201a51..4183232dd1 100644 --- a/keyboards/synthlabs/060/keyboard.json +++ b/keyboards/synthlabs/060/keyboard.json @@ -23,8 +23,12 @@ "usb": { "vid": "0x534E", "pid": "0x3630", - "device_version": "0.0.1", - "force_nkro": true + "device_version": "0.0.1" + }, + "host": { + "default": { + "nkro": true + } }, "rgb_matrix": { "animations": { diff --git a/keyboards/synthlabs/065/keyboard.json b/keyboards/synthlabs/065/keyboard.json index ea862c6f01..1cd9e03a6a 100644 --- a/keyboards/synthlabs/065/keyboard.json +++ b/keyboards/synthlabs/065/keyboard.json @@ -152,10 +152,14 @@ "url": "http://065.synthlabs.io", "usb": { "device_version": "0.0.1", - "force_nkro": true, "pid": "0x3635", "vid": "0x534E" }, + "host": { + "default": { + "nkro": true + } + }, "ws2812": { "driver": "vendor", "pin": "GP18" diff --git a/keyboards/synthlabs/solo/keyboard.json b/keyboards/synthlabs/solo/keyboard.json index 6640202474..09c83cec76 100644 --- a/keyboards/synthlabs/solo/keyboard.json +++ b/keyboards/synthlabs/solo/keyboard.json @@ -22,8 +22,12 @@ "usb": { "vid": "0x534E", "pid": "0x3031", - "device_version": "0.0.1", - "force_nkro": true + "device_version": "0.0.1" + }, + "host": { + "default": { + "nkro": true + } }, "encoder": { "rotary": [ diff --git a/keyboards/system76/launch_1/launch_1.c b/keyboards/system76/launch_1/launch_1.c index c01fb7b01d..2cff70076e 100644 --- a/keyboards/system76/launch_1/launch_1.c +++ b/keyboards/system76/launch_1/launch_1.c @@ -124,7 +124,7 @@ void system76_ec_rgb_layer(layer_state_t layer_state); void system76_ec_unlock(void); bool system76_ec_is_unlocked(void); -rgb_config_t layer_rgb[DYNAMIC_KEYMAP_LAYER_COUNT]; +extern rgb_config_t layer_rgb[DYNAMIC_KEYMAP_LAYER_COUNT]; void matrix_init_kb(void) { usb_mux_init(); diff --git a/keyboards/system76/launch_1/rgb_matrix_kb.inc b/keyboards/system76/launch_1/rgb_matrix_kb.inc index abde7aae19..6ac7970ccd 100644 --- a/keyboards/system76/launch_1/rgb_matrix_kb.inc +++ b/keyboards/system76/launch_1/rgb_matrix_kb.inc @@ -69,7 +69,7 @@ static bool active_keys(effect_params_t* params) { return led_max < RGB_MATRIX_LED_COUNT; } -rgb_t raw_rgb_data[RGB_MATRIX_LED_COUNT] = {0}; +extern rgb_t raw_rgb_data[RGB_MATRIX_LED_COUNT]; static uint8_t normalize_component(uint8_t component) { uint16_t x = (uint16_t)component; diff --git a/keyboards/system76/system76_ec.c b/keyboards/system76/system76_ec.c index cce60a5dea..db0401a7d4 100644 --- a/keyboards/system76/system76_ec.c +++ b/keyboards/system76/system76_ec.c @@ -135,7 +135,7 @@ static enum rgb_matrix_effects mode_map[] = { _Static_assert(sizeof(mode_map) == MODE_LAST, "mode_map_length"); -rgb_t raw_rgb_data[RGB_MATRIX_LED_COUNT]; +rgb_t raw_rgb_data[RGB_MATRIX_LED_COUNT] = {0}; // clang-format off rgb_config_t layer_rgb[DYNAMIC_KEYMAP_LAYER_COUNT] = { diff --git a/keyboards/tacworks/tac_k1/keyboard.json b/keyboards/tacworks/tac_k1/keyboard.json index f1875ec180..63cde4777f 100644 --- a/keyboards/tacworks/tac_k1/keyboard.json +++ b/keyboards/tacworks/tac_k1/keyboard.json @@ -29,11 +29,15 @@ "url": "https://tacworks.store", "usb": { "device_version": "1.0.0", - "force_nkro": true, "pid": "0xE431", "suspend_wakeup_delay": 1000, "vid": "0x342D" }, + "host": { + "default": { + "nkro": true + } + }, "community_layouts": [ "65_ansi_blocker", "65_ansi_blocker_split_bs", diff --git a/keyboards/tada68/keymaps/default/keymap.c b/keyboards/tada68/keymaps/default/keymap.c index fcc37aff6c..f4fa3a95d3 100755 --- a/keyboards/tada68/keymaps/default/keymap.c +++ b/keyboards/tada68/keymaps/default/keymap.c @@ -46,7 +46,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, KC_F1, 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_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_END, - _______, _______, _______, BL_DOWN, BL_TOGG, BL_UP, _______, KC_VOLD, KC_VOLU, KC_MUTE, _______, KC_BTN1, KC_MS_U, KC_BTN2, - _______, _______, _______, _______, _______, _______, _______, KC_MS_L, KC_MS_D, KC_MS_R + _______, _______, _______, BL_DOWN, BL_TOGG, BL_UP, _______, KC_VOLD, KC_VOLU, KC_MUTE, _______, MS_BTN1, MS_UP, MS_BTN2, + _______, _______, _______, _______, _______, _______, _______, MS_LEFT, MS_DOWN, MS_RGHT ), }; diff --git a/keyboards/tada68/keymaps/rgb/keymap.c b/keyboards/tada68/keymaps/rgb/keymap.c index 0f2186b0b3..7f57c9ddfb 100755 --- a/keyboards/tada68/keymaps/rgb/keymap.c +++ b/keyboards/tada68/keymaps/rgb/keymap.c @@ -45,6 +45,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, KC_F1 ,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_UP,_______,_______, UG_TOGG,UG_NEXT,UG_HUEU,UG_HUED,UG_SATU,UG_SATD,UG_VALU,UG_VALD, _______,KC_HOME, _______,KC_LEFT,KC_DOWN,KC_RIGHT,_______,_______,_______,_______,_______,_______,_______,_______, _______,KC_END, - _______,_______,_______,BL_DOWN,BL_TOGG,BL_UP, _______,KC_VOLD,KC_VOLU,KC_MUTE,_______,KC_BTN1, KC_MS_U, KC_BTN2, - _______,_______,_______, _______, _______,_______,_______,KC_MS_L,KC_MS_D, KC_MS_R), + _______,_______,_______,BL_DOWN,BL_TOGG,BL_UP, _______,KC_VOLD,KC_VOLU,KC_MUTE,_______,MS_BTN1, MS_UP, MS_BTN2, + _______,_______,_______, _______, _______,_______,_______,MS_LEFT,MS_DOWN, MS_RGHT), }; diff --git a/keyboards/takashicompany/baumkuchen/baumkuchen.c b/keyboards/takashicompany/baumkuchen/baumkuchen.c index 7d4f26b73e..e7cc85f091 100644 --- a/keyboards/takashicompany/baumkuchen/baumkuchen.c +++ b/keyboards/takashicompany/baumkuchen/baumkuchen.c @@ -10,9 +10,9 @@ bool encoder_update_kb(uint8_t index, bool clockwise) { } if (clockwise) { - tap_code(KC_WH_D); + tap_code(MS_WHLD); } else { - tap_code(KC_WH_U); + tap_code(MS_WHLU); } return true; diff --git a/keyboards/takashicompany/center_enter/keymaps/default/keymap.c b/keyboards/takashicompany/center_enter/keymaps/default/keymap.c index 82fafc41c7..a6d9ab43a6 100644 --- a/keyboards/takashicompany/center_enter/keymaps/default/keymap.c +++ b/keyboards/takashicompany/center_enter/keymaps/default/keymap.c @@ -88,9 +88,9 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { bool encoder_update_user(uint8_t index, bool clockwise) { if (clockwise) { - tap_code(KC_MS_WH_UP); + tap_code(MS_WHLU); } else { - tap_code(KC_MS_WH_DOWN); + tap_code(MS_WHLD); } return true; diff --git a/keyboards/takashicompany/compacx/compacx.c b/keyboards/takashicompany/compacx/compacx.c index 5a63210c5b..5f4a262273 100644 --- a/keyboards/takashicompany/compacx/compacx.c +++ b/keyboards/takashicompany/compacx/compacx.c @@ -19,9 +19,9 @@ bool encoder_update_kb(uint8_t index, bool clockwise) { if (!encoder_update_user(index, clockwise)) { return false; } if (!clockwise) { - tap_code(KC_MS_WH_UP); + tap_code(MS_WHLU); } else { - tap_code(KC_MS_WH_DOWN); + tap_code(MS_WHLD); } return true; diff --git a/keyboards/takashicompany/dogtag/keymaps/default/keymap.c b/keyboards/takashicompany/dogtag/keymaps/default/keymap.c index c109ee4093..9c966137e7 100644 --- a/keyboards/takashicompany/dogtag/keymaps/default/keymap.c +++ b/keyboards/takashicompany/dogtag/keymaps/default/keymap.c @@ -29,7 +29,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { #ifdef ENCODER_MAP_ENABLE const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { - [0] = { ENCODER_CCW_CW(KC_MS_WH_UP, KC_MS_WH_DOWN), ENCODER_CCW_CW(KC_MS_WH_UP, KC_MS_WH_DOWN) }, + [0] = { ENCODER_CCW_CW(MS_WHLU, MS_WHLD), ENCODER_CCW_CW(MS_WHLU, MS_WHLD) }, [1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, }; #endif diff --git a/keyboards/takashicompany/goat51/keymaps/default/keymap.c b/keyboards/takashicompany/goat51/keymaps/default/keymap.c index 39267f596c..71d623c91f 100644 --- a/keyboards/takashicompany/goat51/keymaps/default/keymap.c +++ b/keyboards/takashicompany/goat51/keymaps/default/keymap.c @@ -114,9 +114,9 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { bool encoder_update_user(uint8_t index, bool clockwise) { if (clockwise) { - tap_code(KC_MS_WH_DOWN); + tap_code(MS_WHLD); } else { - tap_code(KC_MS_WH_UP); + tap_code(MS_WHLU); } return true; diff --git a/keyboards/takashicompany/jourkey/keymaps/default/keymap.c b/keyboards/takashicompany/jourkey/keymaps/default/keymap.c index fa642bc6e2..62650eb777 100644 --- a/keyboards/takashicompany/jourkey/keymaps/default/keymap.c +++ b/keyboards/takashicompany/jourkey/keymaps/default/keymap.c @@ -13,6 +13,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { #if defined(ENCODER_MAP_ENABLE) const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { - [0] = { ENCODER_CCW_CW(KC_MS_WH_UP, KC_MS_WH_DOWN) } + [0] = { ENCODER_CCW_CW(MS_WHLU, MS_WHLD) } }; #endif diff --git a/keyboards/takashicompany/palmbrain/config.h b/keyboards/takashicompany/palmbrain/config.h new file mode 100644 index 0000000000..d9d98bf85f --- /dev/null +++ b/keyboards/takashicompany/palmbrain/config.h @@ -0,0 +1,6 @@ +// Copyright 2025 takashicompany (@takashicompany) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#define EE_HANDS diff --git a/keyboards/takashicompany/palmbrain/keyboard.json b/keyboards/takashicompany/palmbrain/keyboard.json new file mode 100644 index 0000000000..830b202bed --- /dev/null +++ b/keyboards/takashicompany/palmbrain/keyboard.json @@ -0,0 +1,80 @@ +{ + "manufacturer": "takashicompany", + "keyboard_name": "Palmbrain", + "maintainer": "takashicompany", + "development_board": "promicro", + "dynamic_keymap": { + "layer_count": 12 + }, + "features": { + "bootmagic": true, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "matrix_pins": { + "direct": [ + ["F5", "D1", "F6", "E6", "F7", "F4", "D0", "C6", "B4", "B1", "D3", "D4", "D7", "B5", "B3", "B2", "B6"] + ] + }, + "split": { + "enabled": true, + "matrix_pins": { + "right": { + "direct": [ + ["F7", "E6", "F6", "D1", "F5", "B1", "B4", "C6", "D0", "F4", "B3", "B5", "D7", "D4", "D3", "B6", "B2"] + ] + } + }, + "serial": { + "pin": "D2" + } + }, + "url": "https://github.com/takashicompany/palmbrain", + "usb": { + "device_version": "1.0.0", + "pid": "0x0066", + "vid": "0x7463" + }, + "community_layouts": ["split_3x5_2"], + "layouts": { + "LAYOUT_split_3x5_2": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0.45}, + {"matrix": [0, 1], "x": 0.9, "y": 0.225}, + {"matrix": [0, 2], "x": 1.8, "y": 0}, + {"matrix": [0, 3], "x": 2.7, "y": 0.225}, + {"matrix": [0, 4], "x": 3.6, "y": 0.45}, + {"matrix": [1, 0], "x": 7.2, "y": 0.45}, + {"matrix": [1, 1], "x": 8.1, "y": 0.225}, + {"matrix": [1, 2], "x": 9, "y": 0}, + {"matrix": [1, 3], "x": 9.9, "y": 0.225}, + {"matrix": [1, 4], "x": 10.8, "y": 0.45}, + {"matrix": [0, 5], "x": 0, "y": 1.35}, + {"matrix": [0, 6], "x": 0.9, "y": 1.125}, + {"matrix": [0, 7], "x": 1.8, "y": 0.9}, + {"matrix": [0, 8], "x": 2.7, "y": 1.125}, + {"matrix": [0, 9], "x": 3.6, "y": 1.35}, + {"matrix": [1, 5], "x": 7.2, "y": 1.35}, + {"matrix": [1, 6], "x": 8.1, "y": 1.125}, + {"matrix": [1, 7], "x": 9, "y": 0.9}, + {"matrix": [1, 8], "x": 9.9, "y": 1.125}, + {"matrix": [1, 9], "x": 10.8, "y": 1.35}, + {"matrix": [0, 10], "x": 0, "y": 2.25}, + {"matrix": [0, 11], "x": 0.9, "y": 2.025}, + {"matrix": [0, 12], "x": 1.8, "y": 1.8}, + {"matrix": [0, 13], "x": 2.7, "y": 2.025}, + {"matrix": [0, 14], "x": 3.6, "y": 2.25}, + {"matrix": [1, 10], "x": 7.2, "y": 2.25}, + {"matrix": [1, 11], "x": 8.1, "y": 2.025}, + {"matrix": [1, 12], "x": 9, "y": 1.8}, + {"matrix": [1, 13], "x": 9.9, "y": 2.025}, + {"matrix": [1, 14], "x": 10.8, "y": 2.25}, + {"matrix": [0, 15], "x": 3.6, "y": 3.375}, + {"matrix": [0, 16], "x": 4.5, "y": 3.375}, + {"matrix": [1, 15], "x": 6.3, "y": 3.375}, + {"matrix": [1, 16], "x": 7.2, "y": 3.375} + ] + } + } +} diff --git a/keyboards/takashicompany/palmbrain/keymaps/default/keymap.c b/keyboards/takashicompany/palmbrain/keymaps/default/keymap.c new file mode 100644 index 0000000000..fede7140e2 --- /dev/null +++ b/keyboards/takashicompany/palmbrain/keymaps/default/keymap.c @@ -0,0 +1,49 @@ +// Copyright 2025 takashicompany (@takashicompany) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [0] = LAYOUT_split_3x5_2( + LT(4, KC_Q), KC_W, KC_E, LT(3, KC_R), KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, + KC_A, KC_S, LT(4, KC_D), KC_F, KC_G, KC_H, KC_J, LT(3, KC_K), KC_L, KC_ENT, + LSFT_T(KC_Z), LGUI_T(KC_X), KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, LCTL_T(KC_DOT), KC_BSPC, + LALT_T(KC_LNG2), LSFT_T(KC_TAB), LT(2, KC_SPC), LT(1, KC_LNG1) + ), + + [1] = LAYOUT_split_3x5_2( + KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, + LCTL_T(KC_EQL), KC_LBRC, KC_SLSH, KC_MINS, KC_INT1, KC_SCLN, KC_QUOT, KC_RBRC, KC_NUHS, KC_INT3, + LSFT_T(KC_PLUS), KC_LCBR, KC_QUES, KC_UNDS, LSFT(KC_INT1), KC_COLN, KC_DQUO, KC_RCBR, LSFT(KC_NUHS), LSFT(KC_INT3), + 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_LPRN, LGUI(KC_INT3), + KC_PLUS, KC_LCBR, KC_QUES, KC_UNDS, LSFT(KC_INT1), KC_COLN, KC_DQUO, KC_RCBR, LSFT(KC_NUHS), LSFT(KC_INT3), + KC_LSFT, KC_LGUI, KC_LALT, KC_LNG2, KC_LSFT, KC_SPC, KC_LNG1, KC_TRNS, KC_TRNS, KC_DEL, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + + [3] = LAYOUT_split_3x5_2( + KC_ESC, KC_TAB, KC_UP, KC_NO, KC_NO, KC_NO, KC_NO, KC_UP, KC_NO, KC_NO, + KC_LCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_NO, KC_NO, KC_LEFT, KC_DOWN, KC_RGHT, KC_NO, + KC_LSFT, KC_LGUI, KC_LALT, KC_LNG2, KC_TRNS, KC_NO, KC_LNG1, KC_NO, KC_NO, KC_DEL, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + + [4] = LAYOUT_split_3x5_2( + KC_NO, KC_TAB, KC_NO, KC_NO, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, + KC_NO, KC_NO, KC_NO, KC_NO, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, + KC_LSFT, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, MO(5), KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + + [5] = LAYOUT_split_3x5_2( + UG_TOGG, UG_NEXT, UG_HUEU, UG_SATU, UG_VALU, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, KC_NO, QK_BOOT, KC_NO, KC_NO, KC_NO, KC_NO, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ) +}; diff --git a/keyboards/takashicompany/palmbrain/readme.md b/keyboards/takashicompany/palmbrain/readme.md new file mode 100644 index 0000000000..ac41ca488a --- /dev/null +++ b/keyboards/takashicompany/palmbrain/readme.md @@ -0,0 +1,31 @@ +# Palmbrain + +![takashicompany/Palmbrain](https://i.imgur.com/Og9lYip.jpeg) + +Palmbrain is a 34-key split keyboard with a key pitch of 17 mm (0.9 u). +It can be equipped with BLE Micro Pro and is also compatible with wireless connectivity. + +Palmbrainは17mm(0.9u)のキーピッチを採用した34キーの分割型のキーボードです。 +BLE Micro Proを搭載することが可能で、無線化にも対応しています。 + +* Keyboard Maintainer: [takashicompany](https://github.com/takashicompany) +* Hardware Supported: PCB, Pro Micro development board. +* Hardware Availability: https://github.com/takashicompany/palmbrain + +Make example for this keyboard (after setting up your build environment): + + make takashicompany/palmbrain:default + +Flashing example for this keyboard: + + make takashicompany/palmbrain:default:flash + +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). + +## Bootloader + +Enter the bootloader in 3 ways: + +* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard +* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/takashicompany/palmslave/keymaps/default/keymap.c b/keyboards/takashicompany/palmslave/keymaps/default/keymap.c index 02747c0881..294aa9fde0 100644 --- a/keyboards/takashicompany/palmslave/keymaps/default/keymap.c +++ b/keyboards/takashicompany/palmslave/keymaps/default/keymap.c @@ -6,8 +6,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [0] = LAYOUT( - LT(7, KC_Q), KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, - KC_A, KC_S, LT(6, KC_D), KC_F, KC_G, KC_H, KC_J, LT(6, KC_K), KC_L, KC_ENT, + LT(4, KC_Q), KC_W, KC_E, LT(3, 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, LT(3, KC_K), KC_L, KC_ENT, LSFT_T(KC_Z), LGUI_T(KC_X), KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, LCTL_T(KC_DOT), KC_BSPC, KC_LCTL, KC_LGUI, LALT_T(KC_LNG2), LSFT_T(KC_TAB), LT(2, KC_SPC), LT(1, KC_LNG1), KC_RGUI, KC_RCTL ), @@ -27,44 +27,30 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [3] = LAYOUT( - LT(7, KC_Q), KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, - KC_A, KC_S, LT(6, KC_D), KC_F, KC_G, KC_H, KC_J, LT(6, KC_K), KC_L, KC_ENT, - LSFT_T(KC_Z), LGUI_T(KC_X), KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, LCTL_T(KC_DOT), KC_BSPC, - KC_LCTL, KC_LGUI, LALT_T(KC_LNG2), LSFT_T(KC_TAB), LT(5, KC_SPC), LT(4, KC_LNG1), KC_RGUI, KC_RCTL - ), - - [4] = LAYOUT( - KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, - KC_CIRC, KC_AT, KC_SLSH, KC_MINS, KC_UNDS, KC_SCLN, KC_COLN, KC_LBRC, KC_RBRC, KC_INT3, - LT(5, KC_TILD), KC_GRV, KC_QUES, KC_EQL, KC_UNDS, KC_PLUS, KC_ASTR, KC_LCBR, KC_RCBR, KC_PIPE, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS - ), - - [5] = LAYOUT( - KC_EXLM, KC_DQUO, KC_HASH, KC_DLR, KC_PERC, KC_AMPR, KC_QUOT, KC_LPRN, KC_RPRN, KC_BSLS, - KC_TILD, KC_GRV, KC_QUES, KC_EQL, KC_UNDS, KC_PLUS, KC_ASTR, KC_LCBR, KC_RCBR, KC_PIPE, - KC_LSFT, KC_LGUI, KC_LALT, KC_LNG2, KC_LSFT, KC_SPC, KC_LNG1, KC_TRNS, KC_TRNS, KC_DEL, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS - ), - - [6] = LAYOUT( - KC_ESC, KC_TAB, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_UP, KC_NO, KC_NO, - KC_LCTL, KC_TRNS, KC_QUES, KC_EXLM, KC_NO, KC_NO, KC_LEFT, KC_DOWN, KC_RGHT, KC_NO, + KC_ESC, KC_TAB, KC_UP, KC_NO, KC_NO, KC_NO, KC_NO, KC_UP, KC_NO, KC_NO, + KC_LCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_NO, KC_NO, KC_LEFT, KC_DOWN, KC_RGHT, KC_NO, KC_LSFT, KC_LGUI, KC_LALT, KC_LNG2, KC_TRNS, KC_NO, KC_LNG1, KC_NO, KC_NO, KC_DEL, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ), - [7] = LAYOUT( + [4] = LAYOUT( KC_NO, KC_TAB, KC_NO, KC_NO, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_NO, KC_NO, KC_NO, KC_NO, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, - KC_LSFT, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, MO(8), MO(9), + KC_LSFT, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, MO(5), MO(6), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ), - [8] = LAYOUT( - UG_TOGG, UG_NEXT, UG_HUEU, UG_SATU, UG_VALU, KC_NO, KC_NO, KC_NO, DF(0), DF(3), + [5] = LAYOUT( + UG_TOGG, UG_NEXT, UG_HUEU, UG_SATU, UG_VALU, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW, RGB_M_SN, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RGB_M_K, RGB_M_X, RGB_M_G, KC_NO, KC_NO, QK_BOOT, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + + [6] = 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 ) }; diff --git a/keyboards/takashicompany/qoolee/keymaps/default/keymap.c b/keyboards/takashicompany/qoolee/keymaps/default/keymap.c index 04595e49c1..7c6f68ee5e 100644 --- a/keyboards/takashicompany/qoolee/keymaps/default/keymap.c +++ b/keyboards/takashicompany/qoolee/keymaps/default/keymap.c @@ -69,9 +69,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { bool encoder_update_user(uint8_t index, bool clockwise) { if (clockwise) { - tap_code(KC_MS_WH_UP); + tap_code(MS_WHLU); } else { - tap_code(KC_MS_WH_DOWN); + tap_code(MS_WHLD); } return true; diff --git a/keyboards/takashicompany/spreadwriter/keymaps/default/keymap.c b/keyboards/takashicompany/spreadwriter/keymaps/default/keymap.c index 83572b124b..5858e9d8b1 100644 --- a/keyboards/takashicompany/spreadwriter/keymaps/default/keymap.c +++ b/keyboards/takashicompany/spreadwriter/keymaps/default/keymap.c @@ -81,9 +81,9 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { bool encoder_update_user(uint8_t index, bool clockwise) { if (clockwise) { - tap_code(KC_MS_WH_DOWN); + tap_code(MS_WHLD); } else { - tap_code(KC_MS_WH_UP); + tap_code(MS_WHLU); } return false; } diff --git a/keyboards/teleport/native/info.json b/keyboards/teleport/native/info.json index 08432fbf14..b1cb06c942 100644 --- a/keyboards/teleport/native/info.json +++ b/keyboards/teleport/native/info.json @@ -7,8 +7,12 @@ "processor": "STM32F411", "usb": { "vid": "0x7470", - "device_version": "1.0.0", - "force_nkro": true + "device_version": "1.0.0" + }, + "host": { + "default": { + "nkro": true + } }, "rgb_matrix": { "animations": { diff --git a/keyboards/thumbsup/keymaps/default/keymap.c b/keyboards/thumbsup/keymaps/default/keymap.c index 04a16a5081..e9fb913248 100644 --- a/keyboards/thumbsup/keymaps/default/keymap.c +++ b/keyboards/thumbsup/keymaps/default/keymap.c @@ -98,9 +98,9 @@ without separate thumbcluster. * `-------------------------------------------------------' */ [_CURSORRGHT] = LAYOUT( - _______, KC_BRK, KC_WH_D, KC_MS_U, KC_WH_U, KC_DEL, KC_PGUP, KC_HOME, KC_UP, KC_END, KC_GRV, KC_DEL, - KC_ENT, LCTL(KC_A), KC_MS_L, KC_MS_D, KC_MS_R, XXXXXXX, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, XXXXXXX, _______, - _______, LCTL(KC_Z), LSFT(KC_DEL), LCTL(KC_INS), LSFT(KC_INS), XXXXXXX, KC_INS, KC_BTN1, KC_BTN3, KC_BTN2, XXXXXXX, _______, + _______, KC_BRK, MS_WHLD, MS_UP, MS_WHLU, KC_DEL, KC_PGUP, KC_HOME, KC_UP, KC_END, KC_GRV, KC_DEL, + KC_ENT, LCTL(KC_A), MS_LEFT, MS_DOWN, MS_RGHT, XXXXXXX, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, XXXXXXX, _______, + _______, LCTL(KC_Z), LSFT(KC_DEL), LCTL(KC_INS), LSFT(KC_INS), XXXXXXX, KC_INS, MS_BTN1, MS_BTN3, MS_BTN2, XXXXXXX, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), @@ -118,9 +118,9 @@ without separate thumbcluster. * `-------------------------------------------------------' */ [_CURSORLEFT] = LAYOUT( - _______, KC_BRK, KC_HOME, KC_UP, KC_END, KC_PGUP, KC_DEL, KC_WH_U, KC_MS_U, KC_WH_D, KC_GRV, KC_DEL, - KC_ENT, LCTL(KC_A), KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, XXXXXXX, KC_MS_L, KC_MS_D, KC_MS_R, XXXXXXX, _______, - _______, XXXXXXX, KC_BTN2, KC_BTN3, KC_BTN1, KC_INS, XXXXXXX, LCTL(KC_DEL), LCTL(KC_INS), LSFT(KC_INS), XXXXXXX, _______, + _______, KC_BRK, KC_HOME, KC_UP, KC_END, KC_PGUP, KC_DEL, MS_WHLU, MS_UP, MS_WHLD, KC_GRV, KC_DEL, + KC_ENT, LCTL(KC_A), KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, XXXXXXX, MS_LEFT, MS_DOWN, MS_RGHT, XXXXXXX, _______, + _______, XXXXXXX, MS_BTN2, MS_BTN3, MS_BTN1, KC_INS, XXXXXXX, LCTL(KC_DEL), LCTL(KC_INS), LSFT(KC_INS), XXXXXXX, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), diff --git a/keyboards/tkw/grandiceps/config.h b/keyboards/tkw/grandiceps/config.h index a02e14f91f..04c41e2a11 100644 --- a/keyboards/tkw/grandiceps/config.h +++ b/keyboards/tkw/grandiceps/config.h @@ -15,8 +15,6 @@ */ #pragma once -#define SELECT_SOFT_SERIAL_SPEED 1 - #define WS2812_PWM_DRIVER PWMD3 #define WS2812_PWM_CHANNEL 4 #define WS2812_PWM_PAL_MODE 2 diff --git a/keyboards/toffee_studio/blueberry/keymaps/default/keymap.c b/keyboards/toffee_studio/blueberry/keymaps/default/keymap.c index ee26853885..11bc271ea1 100644 --- a/keyboards/toffee_studio/blueberry/keymaps/default/keymap.c +++ b/keyboards/toffee_studio/blueberry/keymaps/default/keymap.c @@ -28,9 +28,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT( KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_BSPC, KC_DEL, - _______, KC_BTN1, KC_MS_U, KC_BTN2, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, UG_SPDU, - KC_WH_U, KC_MS_L, KC_MS_D, KC_MS_R, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENTER, UG_SPDD, - KC_WH_D, KC_BSLS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMMA, KC_DOT, KC_SLSH, KC_RSFT, UG_VALU, UG_TOGG, + _______, MS_BTN1, MS_UP, MS_BTN2, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, UG_SPDU, + MS_WHLU, MS_LEFT, MS_DOWN, MS_RGHT, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENTER, UG_SPDD, + MS_WHLD, KC_BSLS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMMA, KC_DOT, KC_SLSH, KC_RSFT, UG_VALU, UG_TOGG, _______, _______, _______, KC_SPC, MO(2), _______, UG_PREV, UG_VALD, UG_NEXT ), diff --git a/keyboards/tominabox1/le_chiffre/keymaps/default/keymap.c b/keyboards/tominabox1/le_chiffre/keymaps/default/keymap.c index 291f98a60e..756eb06506 100644 --- a/keyboards/tominabox1/le_chiffre/keymaps/default/keymap.c +++ b/keyboards/tominabox1/le_chiffre/keymaps/default/keymap.c @@ -59,7 +59,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { #if defined(ENCODER_MAP_ENABLE) const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { [_BASE] = {ENCODER_CCW_CW(KC_MNXT, KC_MPRV) }, - [_NUM_SYM] = { ENCODER_CCW_CW(KC_WH_D, KC_WH_U) }, + [_NUM_SYM] = { ENCODER_CCW_CW(MS_WHLD, MS_WHLU) }, [_NAV] = { ENCODER_CCW_CW(KC_PGDN, KC_PGUP) } }; #endif diff --git a/keyboards/treasure/type30/hotswap/keyboard.json b/keyboards/treasure/type30/hotswap/keyboard.json new file mode 100644 index 0000000000..54b7c6d6a7 --- /dev/null +++ b/keyboards/treasure/type30/hotswap/keyboard.json @@ -0,0 +1,121 @@ +{ + "manufacturer": "TREASURE", + "keyboard_name": "TYPE30", + "maintainer": "TREASURE", + "bootloader": "atmel-dfu", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "extrakey": true, + "nkro": true, + "rgb_matrix": true + }, + + "matrix_pins": { + "cols": ["B5", "B6", "B7", "C7", "C6", "C4", "D4", "D5", "D6", "B0", "B1", "B2"], + "rows": ["D2", "C5", "B3"] + }, + "processor": "atmega32u2", + "rgb_matrix": { + "animations": { + "gradient_up_down": true, + "gradient_left_right": true + }, + "driver": "ws2812", + "default": { + "speed": 40, + "animation": "gradient_left_right" + }, + "layout": [ + { "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": 60, "y": 0, "flags": 4 }, + { "matrix": [0, 4], "x": 80, "y": 0, "flags": 4 }, + { "matrix": [0, 5], "x": 100, "y": 0, "flags": 4 }, + { "matrix": [0, 6], "x": 120, "y": 0, "flags": 4 }, + { "matrix": [0, 7], "x": 140, "y": 0, "flags": 4 }, + { "matrix": [0, 8], "x": 160, "y": 0, "flags": 4 }, + { "matrix": [0, 9], "x": 180, "y": 0, "flags": 4 }, + { "matrix": [0,10], "x": 200, "y": 0, "flags": 4 }, + { "matrix": [0,11], "x": 220, "y": 0, "flags": 4 }, + { "matrix": [1, 0], "x": 0, "y": 32, "flags": 4 }, + { "matrix": [1, 1], "x": 20, "y": 32, "flags": 4 }, + { "matrix": [1, 2], "x": 40, "y": 32, "flags": 4 }, + { "matrix": [1, 3], "x": 60, "y": 32, "flags": 4 }, + { "matrix": [1, 4], "x": 80, "y": 32, "flags": 4 }, + { "matrix": [1, 5], "x": 100, "y": 32, "flags": 4 }, + { "matrix": [1, 6], "x": 120, "y": 32, "flags": 4 }, + { "matrix": [1, 7], "x": 140, "y": 32, "flags": 4 }, + { "matrix": [1, 8], "x": 160, "y": 32, "flags": 4 }, + { "matrix": [1, 9], "x": 180, "y": 32, "flags": 4 }, + { "matrix": [1,10], "x": 200, "y": 32, "flags": 4 }, + { "matrix": [1,11], "x": 220, "y": 32, "flags": 4 }, + { "matrix": [2, 0], "x": 0, "y": 64, "flags": 4 }, + { "matrix": [2, 1], "x": 20, "y": 64, "flags": 4 }, + { "matrix": [2, 2], "x": 40, "y": 64, "flags": 4 }, + { "matrix": [2, 3], "x": 60, "y": 64, "flags": 4 }, + { "matrix": [2, 4], "x": 80, "y": 64, "flags": 4 }, + { "matrix": [2, 5], "x": 100, "y": 64, "flags": 4 }, + { "matrix": [2, 6], "x": 120, "y": 64, "flags": 4 }, + { "matrix": [2, 7], "x": 140, "y": 64, "flags": 4 }, + { "matrix": [2, 8], "x": 160, "y": 64, "flags": 4 }, + { "matrix": [2, 9], "x": 180, "y": 64, "flags": 4 }, + { "matrix": [2,10], "x": 200, "y": 64, "flags": 4 }, + { "matrix": [2,11], "x": 220, "y": 64, "flags": 4 } + ], + "max_brightness": 180, + "sleep": true + }, + "url": "http://treasuretypes.com", + "usb": { + "device_version": "1.0.1", + "pid": "0x3330", + "vid": "0x5452" + }, + "ws2812": { + "pin": "B4" + }, + "layouts": { + "LAYOUT_ortho_3x12": { + "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} + ] + } + } +} diff --git a/keyboards/treasure/type30/hotswap/keymaps/default/keymap.c b/keyboards/treasure/type30/hotswap/keymaps/default/keymap.c new file mode 100644 index 0000000000..24ae38af89 --- /dev/null +++ b/keyboards/treasure/type30/hotswap/keymaps/default/keymap.c @@ -0,0 +1,19 @@ +// Copyright 2023 QMK +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + // Base + [0] = LAYOUT_ortho_3x12( + 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_LSFT, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, MO(1), KC_SPC, + KC_LCTL, KC_LALT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_RGUI, KC_UP, KC_DOWN + ), + // Fn + [1] = LAYOUT_ortho_3x12( + KC_TAB, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL, + _______, S(KC_EQL), KC_MINS, KC_SLSH, KC_PAST, KC_LBRC, KC_RBRC, KC_BSLS, KC_SCLN, KC_QUOT, _______, KC_ENT, + _______, _______, KC_EQL, RM_TOGG, RM_HUEU, RM_NEXT, KC_GRV, KC_COMM, KC_DOT, _______, KC_LEFT, KC_RIGHT + ) +}; diff --git a/keyboards/treasure/type30/hotswap/readme.md b/keyboards/treasure/type30/hotswap/readme.md new file mode 100644 index 0000000000..33b95d5495 --- /dev/null +++ b/keyboards/treasure/type30/hotswap/readme.md @@ -0,0 +1,23 @@ +# Treasure TYPE-30 + +* Keyboard Maintainer: [Treasure](https://www,treasuretypes.com) +* Hardware Supported: Treasure TYPE-30 Hotswap PCB +* Hardware Availability: [Treasure Store](http://treasuretypes.com) + +Make example for this keyboard (after setting up your build environment): + + make treasure/type30/hotswap:default + +Flashing example for this keyboard: + + make treasure/type30/hotswap:default:flash + +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). + +## Bootloader + +Enter the bootloader in 3 ways: + +* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard +* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/trnthsn/e8ghtyneo/e8ghtyneo.c b/keyboards/trnthsn/e8ghtyneo/e8ghtyneo.c new file mode 100644 index 0000000000..b1af2c63a8 --- /dev/null +++ b/keyboards/trnthsn/e8ghtyneo/e8ghtyneo.c @@ -0,0 +1,24 @@ +// Copyright 2025 QMK +// SPDX-License-Identifier: GPL-2.0-or-later +#include "quantum.h" + +#if defined(RGBLIGHT_ENABLE) && defined(RGBLIGHT_LAYERS) +const rgblight_segment_t PROGMEM my_capslock_layer[] = RGBLIGHT_LAYER_SEGMENTS( + {0,4, HSV_GREEN} +); +const rgblight_segment_t* const PROGMEM my_rgb_layers[] = RGBLIGHT_LAYERS_LIST( + my_capslock_layer +); + +void keyboard_post_init_kb(void) { + 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; +} +#endif diff --git a/keyboards/trnthsn/e8ghtyneo/info.json b/keyboards/trnthsn/e8ghtyneo/info.json index e81c5fbb22..6bd6d5ca66 100644 --- a/keyboards/trnthsn/e8ghtyneo/info.json +++ b/keyboards/trnthsn/e8ghtyneo/info.json @@ -10,8 +10,8 @@ "nkro": true }, "matrix_pins": { - "cols": ["A9", "A8", "B14", "B12", "B11", "B10", "B0", "A7", "A6", "A4", "A3", "A2", "A1", "A0", "C13", "B9", "B7"], - "rows": ["B8", "A10", "B1", "A5", "C15", "C14"] + "cols": ["A9", "A8", "B14", "B12", "B11", "B10", "B0", "A7", "A6", "A5", "A3", "A2", "A1", "A0", "C13", "B9", "B7"], + "rows": ["B8", "A10", "B1", "A4", "C15", "C14"] }, "rgblight": { "animations": { @@ -28,6 +28,9 @@ "default": { "animation": "rainbow_mood" }, + "layers": { + "enabled": true, + }, "led_count": 4, "sleep": true }, diff --git a/keyboards/trnthsn/s6xtyfs/info.json b/keyboards/trnthsn/s6xtyfs/info.json index 132c1a4e97..2599ff2504 100644 --- a/keyboards/trnthsn/s6xtyfs/info.json +++ b/keyboards/trnthsn/s6xtyfs/info.json @@ -39,7 +39,6 @@ "led_count": 28, "sleep": true }, - "url": "", "usb": { "device_version": "1.0.0", "pid": "0x3666", diff --git a/keyboards/trnthsn/tyson60/config.h b/keyboards/trnthsn/tyson60/config.h new file mode 100644 index 0000000000..8ab8c1a85f --- /dev/null +++ b/keyboards/trnthsn/tyson60/config.h @@ -0,0 +1,9 @@ +// Copyright 2025 Tyson.Keebs +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#define WS2812_SPI_DRIVER SPID2 +#define WS2812_SPI_MOSI_PAL_MODE 0 +#define WS2812_SPI_SCK_PAL_MODE 0 +#define WS2812_SPI_SCK_PIN B13 diff --git a/keyboards/trnthsn/tyson60/halconf.h b/keyboards/trnthsn/tyson60/halconf.h new file mode 100644 index 0000000000..7056539285 --- /dev/null +++ b/keyboards/trnthsn/tyson60/halconf.h @@ -0,0 +1,7 @@ +// Copyright 2025 Tyson.Keebs +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#define HAL_USE_SPI TRUE +#include_next diff --git a/keyboards/trnthsn/tyson60/info.json b/keyboards/trnthsn/tyson60/info.json new file mode 100644 index 0000000000..6f4df15d99 --- /dev/null +++ b/keyboards/trnthsn/tyson60/info.json @@ -0,0 +1,114 @@ +{ + "manufacturer": "Tyson.Keebs", + "keyboard_name": "Tyson60", + "maintainer": "trnthsn", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "extrakey": true, + "mousekey": true, + "nkro": true, + "rgblight": true + }, + "indicators": { + "caps_lock": "B4" + }, + "matrix_pins": { + "cols": ["A10", "A9", "A8", "B14", "B12", "B10", "B1", "B0", "A15", "B5", "C15", "C14", "C13", "B9"], + "rows": ["B8", "B7", "B6", "B11", "A6"] + }, + "rgblight": { + "animations": { + "alternating": true, + "breathing": true, + "christmas": true, + "knight": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "static_gradient": true, + "twinkle": true + }, + "led_count": 30, + "sleep": true + }, + "usb": { + "device_version": "0.0.1", + "pid": "0x5336", + "vid": "0x5453" + }, + "ws2812": { + "driver": "spi", + "pin": "B15" + }, + "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": [2, 12], "x": 13, "y": 0}, + {"matrix": [0, 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": [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, "w": 1.75}, + {"matrix": [3, 12], "x": 13, "y": 3}, + {"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, "w": 1}, + {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, + {"matrix": [4, 7], "x": 4, "y": 4, "w": 7}, + {"matrix": [4, 10], "x": 11, "y": 4}, + {"matrix": [4, 11], "x": 12, "y": 4}, + {"matrix": [4, 12], "x": 13, "y": 4}, + {"matrix": [4, 13], "x": 14, "y": 4} + ] + } + } +} diff --git a/keyboards/trnthsn/tyson60/keymaps/default/keymap.c b/keyboards/trnthsn/tyson60/keymaps/default/keymap.c new file mode 100644 index 0000000000..30786c4b60 --- /dev/null +++ b/keyboards/trnthsn/tyson60/keymaps/default/keymap.c @@ -0,0 +1,40 @@ +// Copyright 2025 Tyson.Keebs +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + // ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ + // │Esc│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │Bsp│Bsp│ + // ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤ + // │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │ + // ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ + // │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ Enter │ + // ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴┬───┬───┤ + // │ Shift │ Z │ X │ C │ V │ B │ N │ M │ , │ . │Shift │↑ │/ │ + // ├─────┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴──┬───┼───┼───┤ + // │Ctrl │GUI│ Alt │ │Fn │← │↓ │→ │ + // └─────┴───┴─────┴───────────────────────────┴───┴───┴───┴───┘ + + [0] = LAYOUT( + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, + KC_TAB, KC_Q, KC_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_RSFT, KC_UP, KC_SLSH, + 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_INS, KC_DEL, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + MO(2) , _______, _______, _______, _______, _______, _______, UG_TOGG, UG_NEXT, UG_VALD, UG_VALU, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______ + ), + [2] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______ + ) +}; diff --git a/keyboards/trnthsn/tyson60/mcuconf.h b/keyboards/trnthsn/tyson60/mcuconf.h new file mode 100644 index 0000000000..d131af9fdf --- /dev/null +++ b/keyboards/trnthsn/tyson60/mcuconf.h @@ -0,0 +1,9 @@ +// Copyright 2025 Tyson.Keebs +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#include_next + +#undef STM32_SPI_USE_SPI2 +#define STM32_SPI_USE_SPI2 TRUE diff --git a/keyboards/trnthsn/tyson60/readme.md b/keyboards/trnthsn/tyson60/readme.md new file mode 100644 index 0000000000..d38c012aad --- /dev/null +++ b/keyboards/trnthsn/tyson60/readme.md @@ -0,0 +1,27 @@ +# Tyson60 + +![trnthsn/tyson60](https://live.staticflickr.com/65535/54831948531_6b41780afe_b.jpg) + +Tyson60 PCB, 60% keyboard PCB. + +* Keyboard Maintainer: [Trnthsn](https://github.com/trnthsn) +* Hardware Supported: STM32, Tyson60 +* Hardware Availability: [ThanhSon.Mech](https://www.facebook.com/ThanhSon.mech) + +Make example for this keyboard (after setting up your build environment): + + make trnthsn/tyson60/stm32f103:default + +Flashing example for this keyboard: + + make trnthsn/tyson60/stm32f103: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/trnthsn/tyson60/stm32f072/keyboard.json b/keyboards/trnthsn/tyson60/stm32f072/keyboard.json new file mode 100644 index 0000000000..b5d728b1cd --- /dev/null +++ b/keyboards/trnthsn/tyson60/stm32f072/keyboard.json @@ -0,0 +1,4 @@ +{ + "processor": "STM32F072", + "bootloader": "stm32-dfu", +} diff --git a/keyboards/trnthsn/tyson60/stm32f103/keyboard.json b/keyboards/trnthsn/tyson60/stm32f103/keyboard.json new file mode 100644 index 0000000000..5b2b6bc7d9 --- /dev/null +++ b/keyboards/trnthsn/tyson60/stm32f103/keyboard.json @@ -0,0 +1,4 @@ +{ + "processor": "STM32F103", + "bootloader": "uf2boot", +} diff --git a/keyboards/trnthsn/tyson65/config.h b/keyboards/trnthsn/tyson65/config.h new file mode 100644 index 0000000000..8ab8c1a85f --- /dev/null +++ b/keyboards/trnthsn/tyson65/config.h @@ -0,0 +1,9 @@ +// Copyright 2025 Tyson.Keebs +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#define WS2812_SPI_DRIVER SPID2 +#define WS2812_SPI_MOSI_PAL_MODE 0 +#define WS2812_SPI_SCK_PAL_MODE 0 +#define WS2812_SPI_SCK_PIN B13 diff --git a/keyboards/trnthsn/tyson65/halconf.h b/keyboards/trnthsn/tyson65/halconf.h new file mode 100644 index 0000000000..7056539285 --- /dev/null +++ b/keyboards/trnthsn/tyson65/halconf.h @@ -0,0 +1,7 @@ +// Copyright 2025 Tyson.Keebs +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#define HAL_USE_SPI TRUE +#include_next diff --git a/keyboards/trnthsn/tyson65/info.json b/keyboards/trnthsn/tyson65/info.json new file mode 100644 index 0000000000..1828c6f832 --- /dev/null +++ b/keyboards/trnthsn/tyson65/info.json @@ -0,0 +1,353 @@ +{ + "manufacturer": "Tyson.Keebs", + "keyboard_name": "Tyson65", + "maintainer": "trnthsn", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "extrakey": true, + "mousekey": true, + "nkro": true, + "rgblight": true + }, + "matrix_pins": { + "cols": ["A10", "A9", "A8", "B14", "B12", "B11", "B10", "B1", "A15", "B8", "B7", "B6", "B5", "B4", "B3"], + "rows": ["B0", "A7", "A6", "B9", "A4"] + }, + "rgblight": { + "animations": { + "alternating": true, + "breathing": true, + "christmas": true, + "knight": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "static_gradient": true, + "twinkle": true + }, + "default": { + "animation": "rainbow_swirl" + }, + "led_count": 30, + "sleep": true + }, + "ws2812": { + "pin": "B15", + "driver": "spi" + }, + "indicators": { + "caps_lock": "A5" + }, + "usb": { + "vid": "0x5453", + "pid": "0x6533", + "device_version": "0.0.1" + }, + "layout_aliases": { + "LAYOUT_all": "LAYOUT_65_ansi_blocker_tsangan_split_bs" + }, + "community_layouts": ["65_ansi_blocker_tsangan", "65_ansi_blocker_tsangan_split_bs", "65_iso_blocker_tsangan", "65_iso_blocker_tsangan_split_bs"], + "layouts": { + "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, 7], "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": [2, 12], "x": 13, "y": 0}, + {"matrix": [0, 13], "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, 7], "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": { + "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, 7], "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": [2, 12], "x": 13, "y": 0}, + {"matrix": [0, 13], "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, 7], "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/trnthsn/tyson65/keymaps/default/keymap.c b/keyboards/trnthsn/tyson65/keymaps/default/keymap.c new file mode 100644 index 0000000000..b84bab6b63 --- /dev/null +++ b/keyboards/trnthsn/tyson65/keymaps/default/keymap.c @@ -0,0 +1,41 @@ +// Copyright 2025 Tyson.Keebs +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + // ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ + // │Esc│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │Bsp│Bsp│Del│ + // ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┼───┤ + // │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │PgU│ + // ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤ + // │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ Enter │PgD│ + // ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤ + // │ Shift │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ Shift│ ↑ │End│ + // ├─────┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴───┴┬─┬───┼───┼───┤ + // │Ctrl │GUI│ Alt │ │ Fn │ │ ← │ ↓ │ → │ + // └─────┴───┴─────┴───────────────────────────┴─────┘ └───┴───┴───┘ + + + [0] = LAYOUT_all( + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_DEL, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT_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, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, UG_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, + MO(2) , _______, _______, _______, _______, _______, _______, UG_NEXT, UG_VALD, UG_VALU, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______ + ), + [2] = LAYOUT_all( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______ + ), +}; diff --git a/keyboards/trnthsn/tyson65/mcuconf.h b/keyboards/trnthsn/tyson65/mcuconf.h new file mode 100644 index 0000000000..d131af9fdf --- /dev/null +++ b/keyboards/trnthsn/tyson65/mcuconf.h @@ -0,0 +1,9 @@ +// Copyright 2025 Tyson.Keebs +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#include_next + +#undef STM32_SPI_USE_SPI2 +#define STM32_SPI_USE_SPI2 TRUE diff --git a/keyboards/trnthsn/tyson65/readme.md b/keyboards/trnthsn/tyson65/readme.md new file mode 100644 index 0000000000..b22bf95d18 --- /dev/null +++ b/keyboards/trnthsn/tyson65/readme.md @@ -0,0 +1,28 @@ +# Tyson65 + +![trnthsn/tyson65](https://live.staticflickr.com/65535/54831930681_bf79fb1761_c.jpg) + +A 65% keyboard PCB compatible with various keyboard cases. Supports a middle USB Type-C connector, 5 JST SH1.0 and 2 JST ZH1.25 positions for a daughter board. + +* Keyboard Maintainer: [Trnthsn](https://github.com/trnthsn) +* Hardware Supported: STM32, Tyson65 +* Hardware Availability: [ThanhSon.Mech](https://www.facebook.com/ThanhSon.mech) + +Make example for this keyboard (after setting up your build environment): + + make trnthsn/tyson65/stm32f103:default + +Flashing example for this keyboard: + + make trnthsn/tyson65/stm32f103: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/trnthsn/tyson65/stm32f072/keyboard.json b/keyboards/trnthsn/tyson65/stm32f072/keyboard.json new file mode 100644 index 0000000000..8bba6f5d5d --- /dev/null +++ b/keyboards/trnthsn/tyson65/stm32f072/keyboard.json @@ -0,0 +1,4 @@ +{ + "processor": "STM32F072", + "bootloader": "stm32-dfu" +} diff --git a/keyboards/trnthsn/tyson65/stm32f103/keyboard.json b/keyboards/trnthsn/tyson65/stm32f103/keyboard.json new file mode 100644 index 0000000000..4dc77604c4 --- /dev/null +++ b/keyboards/trnthsn/tyson65/stm32f103/keyboard.json @@ -0,0 +1,4 @@ +{ + "processor": "STM32F103", + "bootloader": "uf2boot" +} diff --git a/keyboards/tunks/ergo33/keymaps/default/keymap.c b/keyboards/tunks/ergo33/keymaps/default/keymap.c index 8f646f08ca..58e7b8ec27 100644 --- a/keyboards/tunks/ergo33/keymaps/default/keymap.c +++ b/keyboards/tunks/ergo33/keymaps/default/keymap.c @@ -49,9 +49,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { bool encoder_update_user(uint8_t index, bool clockwise) { if (index == 0) { if (clockwise) { - tap_code(KC_MS_WH_DOWN); + tap_code(MS_WHLD); } else { - tap_code(KC_MS_WH_UP); + tap_code(MS_WHLU); } } return true; diff --git a/keyboards/tweetydabird/lotus58/elite_c/keyboard.json b/keyboards/tweetydabird/lotus58/elite_c/keyboard.json deleted file mode 100644 index 2a4c4a21bc..0000000000 --- a/keyboards/tweetydabird/lotus58/elite_c/keyboard.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "build": { - "lto": true - }, - "development_board": "elite_c", - "pin_compatible": "elite_c", - "encoder": { - "rotary": [ - {"pin_a": "F5", "pin_b": "F4", "resolution": 2} - ] - }, - "matrix_pins": { - "cols": ["B1", "B2", "B3", "B6", "F7", "F6"], - "rows": ["D4", "C6", "D7", "E6", "B4"] - }, - "split": { - "encoder": { - "right": { - "rotary": [ - {"pin_a": "F4", "pin_b": "F5", "resolution": 2} - ] - } - }, - "handedness": { - "pin": "B5" - }, - "serial": { - "pin": "D2" - } - }, - "ws2812": { - "pin": "D3" - } -} diff --git a/keyboards/tweetydabird/lotus58/info.json b/keyboards/tweetydabird/lotus58/keyboard.json similarity index 52% rename from keyboards/tweetydabird/lotus58/info.json rename to keyboards/tweetydabird/lotus58/keyboard.json index 7becd3ae26..a74506ab29 100644 --- a/keyboards/tweetydabird/lotus58/info.json +++ b/keyboards/tweetydabird/lotus58/keyboard.json @@ -3,7 +3,16 @@ "keyboard_name": "Lotus 58 Glow", "maintainer": "TweetyDaBird", "bootloader_instructions": "Short marked pads on PCB, or hold top-outer key when plugging in each hand.", + "build": { + "lto": true + }, + "development_board": "promicro", "diode_direction": "COL2ROW", + "encoder": { + "rotary": [ + {"pin_a": "F5", "pin_b": "F4", "resolution": 2} + ] + }, "features": { "bootmagic": true, "encoder": true, @@ -11,17 +20,94 @@ "mousekey": true, "nkro": true, "oled": true, - "rgblight": true, + "rgb_matrix": true, "tri_layer": true }, - "rgblight": { + "host": { "default": { - "val": 87 - }, - "led_count": 70, + "nkro": true + } + }, + "matrix_pins": { + "cols": ["B1", "B2", "B3", "B6", "F7", "F6"], + "rows": ["D4", "C6", "D7", "E6", "B4"] + }, + "rgb_matrix": { + "driver": "ws2812", + "layout": [ + {"matrix": [0, 5], "x": 72, "y": 4, "flags": 4}, + {"x": 65, "y": 4, "flags": 2}, + {"matrix": [0, 4], "x": 58, "y": 2, "flags": 4}, + {"matrix": [0, 3], "x": 43, "y": 0, "flags": 4}, + {"x": 36, "y": 4, "flags": 2}, + {"matrix": [0, 2], "x": 29, "y": 2, "flags": 4}, + {"matrix": [0, 1], "x": 14, "y": 6, "flags": 4}, + {"x": 7, "y": 4, "flags": 2}, + {"matrix": [0, 0], "x": 0, "y": 8, "flags": 4}, + {"matrix": [1, 0], "x": 0, "y": 23, "flags": 4}, + {"matrix": [1, 1], "x": 14, "y": 21, "flags": 4}, + {"matrix": [1, 2], "x": 29, "y": 17, "flags": 4}, + {"matrix": [1, 3], "x": 43, "y": 15, "flags": 4}, + {"matrix": [1, 4], "x": 58, "y": 17, "flags": 4}, + {"matrix": [1, 5], "x": 72, "y": 19, "flags": 4}, + {"matrix": [2, 5], "x": 72, "y": 34, "flags": 4}, + {"matrix": [2, 4], "x": 58, "y": 32, "flags": 4}, + {"matrix": [2, 3], "x": 43, "y": 30, "flags": 4}, + {"matrix": [2, 2], "x": 29, "y": 32, "flags": 4}, + {"matrix": [2, 1], "x": 14, "y": 36, "flags": 4}, + {"matrix": [2, 0], "x": 0, "y": 38, "flags": 4}, + {"matrix": [3, 0], "x": 0, "y": 53, "flags": 4}, + {"x": 7, "y": 52, "flags": 2}, + {"matrix": [3, 1], "x": 14, "y": 51, "flags": 4}, + {"matrix": [3, 2], "x": 29, "y": 47, "flags": 4}, + {"matrix": [3, 3], "x": 43, "y": 45, "flags": 4}, + {"matrix": [3, 4], "x": 58, "y": 47, "flags": 4}, + {"matrix": [3, 5], "x": 72, "y": 49, "flags": 4}, + {"x": 79, "y": 45, "flags": 2}, + {"matrix": [4, 5], "x": 87, "y": 41, "flags": 4}, + {"matrix": [4, 4], "x": 87, "y": 64, "flags": 4}, + {"matrix": [4, 3], "x": 65, "y": 64, "flags": 4}, + {"matrix": [4, 2], "x": 51, "y": 62, "flags": 4}, + {"x": 43, "y": 62, "flags": 2}, + {"matrix": [4, 1], "x": 36, "y": 62, "flags": 4}, + {"matrix": [5, 5], "x": 152, "y": 4, "flags": 4}, + {"x": 159, "y": 4, "flags": 2}, + {"matrix": [5, 4], "x": 166, "y": 2, "flags": 4}, + {"matrix": [5, 3], "x": 181, "y": 0, "flags": 4}, + {"x": 188, "y": 4, "flags": 2}, + {"matrix": [5, 2], "x": 195, "y": 2, "flags": 4}, + {"matrix": [5, 1], "x": 210, "y": 6, "flags": 4}, + {"x": 217, "y": 4, "flags": 2}, + {"matrix": [5, 0], "x": 224, "y": 8, "flags": 4}, + {"matrix": [6, 0], "x": 224, "y": 23, "flags": 4}, + {"matrix": [6, 1], "x": 210, "y": 21, "flags": 4}, + {"matrix": [6, 2], "x": 195, "y": 17, "flags": 4}, + {"matrix": [6, 3], "x": 181, "y": 15, "flags": 4}, + {"matrix": [6, 4], "x": 166, "y": 17, "flags": 4}, + {"matrix": [6, 5], "x": 152, "y": 19, "flags": 4}, + {"matrix": [7, 5], "x": 152, "y": 34, "flags": 4}, + {"matrix": [7, 4], "x": 166, "y": 32, "flags": 4}, + {"matrix": [7, 3], "x": 181, "y": 30, "flags": 4}, + {"matrix": [7, 2], "x": 195, "y": 32, "flags": 4}, + {"matrix": [7, 1], "x": 210, "y": 36, "flags": 4}, + {"matrix": [7, 0], "x": 224, "y": 38, "flags": 4}, + {"matrix": [8, 0], "x": 224, "y": 53, "flags": 4}, + {"x": 217, "y": 52, "flags": 2}, + {"matrix": [8, 1], "x": 210, "y": 51, "flags": 4}, + {"matrix": [8, 2], "x": 195, "y": 47, "flags": 4}, + {"matrix": [8, 3], "x": 181, "y": 45, "flags": 4}, + {"matrix": [8, 4], "x": 166, "y": 47, "flags": 4}, + {"matrix": [8, 5], "x": 152, "y": 49, "flags": 4}, + {"x": 159, "y": 45, "flags": 2}, + {"matrix": [9, 5], "x": 137, "y": 41, "flags": 4}, + {"matrix": [9, 4], "x": 137, "y": 64, "flags": 4}, + {"matrix": [9, 3], "x": 159, "y": 64, "flags": 4}, + {"matrix": [9, 2], "x": 173, "y": 62, "flags": 4}, + {"x": 180, "y": 62, "flags": 2}, + {"matrix": [9, 1], "x": 188, "y": 62, "flags": 4} + ], "max_brightness": 175, "sleep": true, - "split": true, "split_count": [35, 35] }, "split": { @@ -29,6 +115,19 @@ "matrix": [5, 0] }, "enabled": true, + "encoder": { + "right": { + "rotary": [ + {"pin_a": "F4", "pin_b": "F5", "resolution": 2} + ] + } + }, + "handedness": { + "pin": "B5" + }, + "serial": { + "pin": "D2" + }, "transport": { "sync": { "indicators": true, @@ -45,10 +144,12 @@ "url": "https://lectronz.com/stores/tweetys-wild-thinking", "usb": { "device_version": "1.2.3", - "force_nkro": true, "pid": "0x23B0", "vid": "0xFEED" }, + "ws2812": { + "pin": "D3" + }, "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/tweetydabird/lotus58/nanoboot/keyboard.json b/keyboards/tweetydabird/lotus58/nanoboot/keyboard.json deleted file mode 100644 index 85f37a265c..0000000000 --- a/keyboards/tweetydabird/lotus58/nanoboot/keyboard.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "build": { - "lto": true - }, - "pin_compatible": "promicro", - "processor": "atmega32u4", - "encoder": { - "rotary": [ - {"pin_a": "F5", "pin_b": "F4", "resolution": 2} - ] - }, - "matrix_pins": { - "cols": ["B1", "B2", "B3", "B6", "F7", "F6"], - "rows": ["D4", "C6", "D7", "E6", "B4"] - }, - "split": { - "encoder": { - "right": { - "rotary": [ - {"pin_a": "F4", "pin_b": "F5", "resolution": 2} - ] - } - }, - "handedness": { - "pin": "B5" - }, - "serial": { - "pin": "D2" - } - }, - "ws2812": { - "pin": "D3" - } -} diff --git a/keyboards/tweetydabird/lotus58/nanoboot/rules.mk b/keyboards/tweetydabird/lotus58/nanoboot/rules.mk deleted file mode 100644 index 1d937578bd..0000000000 --- a/keyboards/tweetydabird/lotus58/nanoboot/rules.mk +++ /dev/null @@ -1,2 +0,0 @@ -BOOTLOADER = qmk-hid -BOOTLOADER_SIZE = 512 diff --git a/keyboards/tweetydabird/lotus58/promicro/keyboard.json b/keyboards/tweetydabird/lotus58/promicro/keyboard.json deleted file mode 100644 index 83532c8ee2..0000000000 --- a/keyboards/tweetydabird/lotus58/promicro/keyboard.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "build": { - "lto": true - }, - "development_board": "promicro", - "encoder": { - "rotary": [ - {"pin_a": "F5", "pin_b": "F4", "resolution": 2} - ] - }, - "matrix_pins": { - "cols": ["B1", "B2", "B3", "B6", "F7", "F6"], - "rows": ["D4", "C6", "D7", "E6", "B4"] - }, - "split": { - "encoder": { - "right": { - "rotary": [ - {"pin_a": "F4", "pin_b": "F5", "resolution": 2} - ] - } - }, - "handedness": { - "pin": "B5" - }, - "serial": { - "pin": "D2" - } - }, - "ws2812": { - "pin": "D3" - } -} diff --git a/keyboards/tweetydabird/lotus58/readme.md b/keyboards/tweetydabird/lotus58/readme.md index 57a89a9b03..637706f2ab 100644 --- a/keyboards/tweetydabird/lotus58/readme.md +++ b/keyboards/tweetydabird/lotus58/readme.md @@ -9,22 +9,13 @@ * Hardware Availability: [Lectronz Store](https://lectronz.com/stores/tweetys-wild-thinking) * Hardware Design: [GitHub](https://github.com/TweetyDaBird/Lotus58) - -#### This keyboard firmware contains three different versions, all for the same PCB/hardware, but depending on your choice of controller/bootloader. - - -* promicro - This uses the default Caterina bootloader. -* elite_c - This uses the Atmel-DFU bootloader. -* nanoBoot - A tiny 512 byte bootloader giving far more usable memory for features (can be used on both Elite C and Pro Micro). - - Make example for this keyboard (after setting up your build environment): - make tweetydabird/lotus58/promicro:default + make tweetydabird/lotus58:default Flashing example for this keyboard: - make tweetydabird/lotus58/elite_c:default:flash + make tweetydabird/lotus58: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/tweetydabird/lotus58/rp2040_ce/config.h b/keyboards/tweetydabird/lotus58/rp2040_ce/config.h deleted file mode 100644 index e4a23b7d7f..0000000000 --- a/keyboards/tweetydabird/lotus58/rp2040_ce/config.h +++ /dev/null @@ -1,9 +0,0 @@ -// Copyright 2024 Markus Knutsson (@TweetyDaBird) -// SPDX-License-Identifier: GPL-2.0-or-later -#pragma once - -#define SERIAL_PIO_USE_PIO1 // Force the usage of PIO1 peripheral, by default the Serial implementation uses the PIO0 peripheral - -#define I2C_DRIVER I2CD1 -#define I2C1_SDA_PIN GP2 -#define I2C1_SCL_PIN GP3 diff --git a/keyboards/tweetydabird/lotus58/rp2040_ce/halconf.h b/keyboards/tweetydabird/lotus58/rp2040_ce/halconf.h deleted file mode 100644 index 2e098f5113..0000000000 --- a/keyboards/tweetydabird/lotus58/rp2040_ce/halconf.h +++ /dev/null @@ -1,21 +0,0 @@ -/* Copyright 2022 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_I2C TRUE - -#include_next diff --git a/keyboards/tweetydabird/lotus58/rp2040_ce/keyboard.json b/keyboards/tweetydabird/lotus58/rp2040_ce/keyboard.json deleted file mode 100644 index 07fb343974..0000000000 --- a/keyboards/tweetydabird/lotus58/rp2040_ce/keyboard.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "development_board": "promicro_rp2040", - "encoder": { - "rotary": [ - {"pin_a": "GP28", "pin_b": "GP29", "resolution": 2} - ] - }, - "matrix_pins": { - "cols": ["GP22", "GP23", "GP20", "GP21", "GP26", "GP27"], - "rows": ["GP4", "GP5", "GP6", "GP7", "GP8"] - }, - "split": { - "encoder": { - "right": { - "rotary": [ - {"pin_a": "GP29", "pin_b": "GP28", "resolution": 2} - ] - } - }, - "serial": { - "driver": "vendor", - "pin": "GP1" - }, - "handedness": { - "pin": "GP9" - } - }, - "ws2812": { - "driver": "vendor", - "pin": "GP0" - } -} diff --git a/keyboards/tweetydabird/lotus58/rp2040_ce/mcuconf.h b/keyboards/tweetydabird/lotus58/rp2040_ce/mcuconf.h deleted file mode 100644 index 2ae39bf675..0000000000 --- a/keyboards/tweetydabird/lotus58/rp2040_ce/mcuconf.h +++ /dev/null @@ -1,22 +0,0 @@ -/* Copyright 2022 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 RP_I2C_USE_I2C1 -#define RP_I2C_USE_I2C1 TRUE diff --git a/keyboards/tzarc/djinn/config.h b/keyboards/tzarc/djinn/config.h index 24357b6a35..717ce4ee50 100644 --- a/keyboards/tzarc/djinn/config.h +++ b/keyboards/tzarc/djinn/config.h @@ -50,3 +50,5 @@ #ifndef STARTUP_SONG # define STARTUP_SONG SONG(STARTUP_SOUND) #endif // STARTUP_SONG + +#define RGB_MATRIX_MODE_NAME_ENABLE diff --git a/keyboards/tzarc/djinn/graphics/theme_djinn_default.c b/keyboards/tzarc/djinn/graphics/theme_djinn_default.c index 739a0817b0..03535587c4 100644 --- a/keyboards/tzarc/djinn/graphics/theme_djinn_default.c +++ b/keyboards/tzarc/djinn/graphics/theme_djinn_default.c @@ -30,55 +30,6 @@ static painter_image_handle_t lock_scrl_on; static painter_image_handle_t lock_scrl_off; static painter_font_handle_t thintel; -//---------------------------------------------------------- -// RGB Matrix naming -#if defined(RGB_MATRIX_ENABLE) -# include - -# if defined(RGB_MATRIX_EFFECT) -# undef RGB_MATRIX_EFFECT -# endif // defined(RGB_MATRIX_EFFECT) - -# define RGB_MATRIX_EFFECT(x) RGB_MATRIX_EFFECT_##x, -enum { - RGB_MATRIX_EFFECT_NONE, -# include "rgb_matrix_effects.inc" -# ifdef RGB_MATRIX_CUSTOM_KB -# include "rgb_matrix_kb.inc" -# endif -# ifdef RGB_MATRIX_CUSTOM_USER -# include "rgb_matrix_user.inc" -# endif -# if defined(COMMUNITY_MODULES_ENABLE) && __has_include("rgb_matrix_community_modules.inc") -# include "rgb_matrix_community_modules.inc" -# endif -# undef RGB_MATRIX_EFFECT -}; - -# define RGB_MATRIX_EFFECT(x) \ - case RGB_MATRIX_EFFECT_##x: \ - return #x; -const char *rgb_matrix_name(uint8_t effect) { - switch (effect) { - case RGB_MATRIX_EFFECT_NONE: - return "NONE"; -# include "rgb_matrix_effects.inc" -# ifdef RGB_MATRIX_CUSTOM_KB -# include "rgb_matrix_kb.inc" -# endif -# ifdef RGB_MATRIX_CUSTOM_USER -# include "rgb_matrix_user.inc" -# endif -# if defined(COMMUNITY_MODULES_ENABLE) && __has_include("rgb_matrix_community_modules.inc") -# include "rgb_matrix_community_modules.inc" -# endif -# undef RGB_MATRIX_EFFECT - default: - return "UNKNOWN"; - } -} -#endif // defined(RGB_MATRIX_ENABLE) - //---------------------------------------------------------- // UI Initialisation void keyboard_post_init_display(void) { @@ -163,7 +114,7 @@ void draw_ui_user(bool force_redraw) { if (hue_redraw || rgb_effect_redraw) { static int max_rgb_xpos = 0; xpos = 16; - snprintf(buf, sizeof(buf), "rgb: %s", rgb_matrix_name(curr_effect)); + snprintf(buf, sizeof(buf), "rgb: %s", rgb_matrix_get_mode_name(curr_effect)); for (int i = 5; i < sizeof(buf); ++i) { if (buf[i] == 0) diff --git a/keyboards/tzarc/djinn/keymaps/default/keymap.c b/keyboards/tzarc/djinn/keymaps/default/keymap.c index b63e1624c7..2c6fb9e1db 100644 --- a/keyboards/tzarc/djinn/keymaps/default/keymap.c +++ b/keyboards/tzarc/djinn/keymaps/default/keymap.c @@ -63,10 +63,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // clang-format off 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(RM_HUED, RM_HUEU), ENCODER_CCW_CW(RM_SATD, RM_SATU) }, - [_RAISE] = { ENCODER_CCW_CW(RM_VALD, RM_VALU), ENCODER_CCW_CW(RM_SPDD, RM_SPDU) }, - [_ADJUST] = { ENCODER_CCW_CW(RM_PREV, RM_NEXT), ENCODER_CCW_CW(KC_LEFT, KC_RIGHT) }, + [_QWERTY] = { ENCODER_CCW_CW(MS_WHLU, MS_WHLD), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [_LOWER] = { ENCODER_CCW_CW(RM_HUED, RM_HUEU), ENCODER_CCW_CW(RM_SATD, RM_SATU) }, + [_RAISE] = { ENCODER_CCW_CW(RM_VALD, RM_VALU), ENCODER_CCW_CW(RM_SPDD, RM_SPDU) }, + [_ADJUST] = { ENCODER_CCW_CW(RM_PREV, RM_NEXT), ENCODER_CCW_CW(KC_LEFT, KC_RIGHT) }, }; // clang-format on diff --git a/keyboards/tzarc/djinn/rules.mk b/keyboards/tzarc/djinn/rules.mk index d5060d9814..91dc4fe478 100644 --- a/keyboards/tzarc/djinn/rules.mk +++ b/keyboards/tzarc/djinn/rules.mk @@ -8,5 +8,3 @@ SRC += \ djinn_portscan_matrix.c \ djinn_split_sync.c \ djinn_usbpd.c - -DEFAULT_FOLDER = tzarc/djinn/rev2 diff --git a/keyboards/tzarc/ghoul/rules.mk b/keyboards/tzarc/ghoul/rules.mk index 4bf96d9824..a9abdfe116 100644 --- a/keyboards/tzarc/ghoul/rules.mk +++ b/keyboards/tzarc/ghoul/rules.mk @@ -1,6 +1,4 @@ CUSTOM_MATRIX = lite QUANTUM_PAINTER_DRIVERS = ssd1351_spi -DEFAULT_FOLDER = tzarc/ghoul/rev1/stm32 - ANALOG_DRIVER_REQUIRED = yes diff --git a/keyboards/unikeyboard/diverge3/config.h b/keyboards/unikeyboard/diverge3/config.h index bdd2b7cbb2..c77a4f1d16 100644 --- a/keyboards/unikeyboard/diverge3/config.h +++ b/keyboards/unikeyboard/diverge3/config.h @@ -17,10 +17,6 @@ along with this program. If not, see . #pragma once -#ifndef SELECT_SOFT_SERIAL_SPEED -#define SELECT_SOFT_SERIAL_SPEED 3 -#endif - /* If defined, GRAVE_ESC will always act as ESC when CTRL is held. * This is useful for the Windows task manager shortcut (ctrl+shift+esc). */ diff --git a/keyboards/unikeyboard/diverge3/keyboard.json b/keyboards/unikeyboard/diverge3/keyboard.json index 187e5dead0..6a4813d115 100644 --- a/keyboards/unikeyboard/diverge3/keyboard.json +++ b/keyboards/unikeyboard/diverge3/keyboard.json @@ -34,7 +34,8 @@ "split": { "enabled": true, "serial": { - "pin": "D0" + "pin": "D0", + "speed": 3 } }, "development_board": "promicro", diff --git a/keyboards/varanidae/keymaps/ansi/keymap.c b/keyboards/varanidae/keymaps/ansi/keymap.c index c020bd6718..94ebf62048 100644 --- a/keyboards/varanidae/keymaps/ansi/keymap.c +++ b/keyboards/varanidae/keymaps/ansi/keymap.c @@ -19,7 +19,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [0] = LAYOUT_ansi( - KC_BTN3, KC_F16, KC_F17, KC_F18, KC_F19, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_F14, KC_F15, + MS_BTN3, KC_F16, KC_F17, KC_F18, KC_F19, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_F14, KC_F15, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24, KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_PSLS, KC_P7, KC_P8, KC_P9, KC_HOME, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PAST, KC_P4, KC_P5, KC_P6, KC_END, KC_LALT, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, @@ -30,6 +30,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { #ifdef ENCODER_MAP_ENABLE const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { - [0] = { ENCODER_CCW_CW(KC_WH_U, KC_WH_D) } + [0] = { ENCODER_CCW_CW(MS_WHLU, MS_WHLD) } }; #endif diff --git a/keyboards/varanidae/keymaps/ansi_split_bs_rshift/keymap.c b/keyboards/varanidae/keymaps/ansi_split_bs_rshift/keymap.c index becb812071..fdc0d4c526 100644 --- a/keyboards/varanidae/keymaps/ansi_split_bs_rshift/keymap.c +++ b/keyboards/varanidae/keymaps/ansi_split_bs_rshift/keymap.c @@ -19,7 +19,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [0] = LAYOUT_ansi_split_bs_rshift( - KC_BTN3, KC_F16, KC_F17, KC_F18, KC_F19, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_F14, KC_F15, + MS_BTN3, KC_F16, KC_F17, KC_F18, KC_F19, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_F14, KC_F15, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24, KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_DEL, KC_BSPC, KC_PSLS, KC_P7, KC_P8, KC_P9, KC_HOME, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PAST, KC_P4, KC_P5, KC_P6, KC_END, KC_LALT, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, @@ -30,6 +30,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { #ifdef ENCODER_MAP_ENABLE const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { - [0] = { ENCODER_CCW_CW(KC_WH_U, KC_WH_D) } + [0] = { ENCODER_CCW_CW(MS_WHLU, MS_WHLD) } }; #endif diff --git a/keyboards/varanidae/keymaps/default/keymap.c b/keyboards/varanidae/keymaps/default/keymap.c index 4c43532108..fff5411754 100644 --- a/keyboards/varanidae/keymaps/default/keymap.c +++ b/keyboards/varanidae/keymaps/default/keymap.c @@ -19,7 +19,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [0] = LAYOUT_all( - KC_BTN3, KC_F16, KC_F17, KC_F18, KC_F19, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_F14, KC_F15, + MS_BTN3, KC_F16, KC_F17, KC_F18, KC_F19, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_F14, KC_F15, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24, KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_DEL, KC_BSPC, KC_PSLS, KC_P7, KC_P8, KC_P9, KC_HOME, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_PAST, KC_P4, KC_P5, KC_P6, KC_END, KC_LALT, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, @@ -30,6 +30,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { #ifdef ENCODER_MAP_ENABLE const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { - [0] = { ENCODER_CCW_CW(KC_WH_U, KC_WH_D) } + [0] = { ENCODER_CCW_CW(MS_WHLU, MS_WHLD) } }; #endif diff --git a/keyboards/varanidae/keymaps/iso/keymap.c b/keyboards/varanidae/keymaps/iso/keymap.c index b1f1b0c9a4..0de8eb6c23 100644 --- a/keyboards/varanidae/keymaps/iso/keymap.c +++ b/keyboards/varanidae/keymaps/iso/keymap.c @@ -19,7 +19,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [0] = LAYOUT_iso( - KC_BTN3, KC_F16, KC_F17, KC_F18, KC_F19, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_F14, KC_F15, + MS_BTN3, KC_F16, KC_F17, KC_F18, KC_F19, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_F14, KC_F15, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24, KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_PSLS, KC_P7, KC_P8, KC_P9, KC_HOME, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_PAST, KC_P4, KC_P5, KC_P6, KC_END, KC_LALT, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, @@ -30,6 +30,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { #ifdef ENCODER_MAP_ENABLE const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { - [0] = { ENCODER_CCW_CW(KC_WH_U, KC_WH_D) } + [0] = { ENCODER_CCW_CW(MS_WHLU, MS_WHLD) } }; #endif diff --git a/keyboards/varanidae/keymaps/iso_split_bs_rshift/keymap.c b/keyboards/varanidae/keymaps/iso_split_bs_rshift/keymap.c index 7324f62877..5d53eccab9 100644 --- a/keyboards/varanidae/keymaps/iso_split_bs_rshift/keymap.c +++ b/keyboards/varanidae/keymaps/iso_split_bs_rshift/keymap.c @@ -19,7 +19,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [0] = LAYOUT_iso_split_bs_rshift( - KC_BTN3, KC_F16, KC_F17, KC_F18, KC_F19, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_F14, KC_F15, + MS_BTN3, KC_F16, KC_F17, KC_F18, KC_F19, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_F14, KC_F15, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24, KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_DEL, KC_BSPC, KC_PSLS, KC_P7, KC_P8, KC_P9, KC_HOME, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_PAST, KC_P4, KC_P5, KC_P6, KC_END, KC_LALT, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, @@ -30,6 +30,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { #ifdef ENCODER_MAP_ENABLE const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { - [0] = { ENCODER_CCW_CW(KC_WH_U, KC_WH_D) } + [0] = { ENCODER_CCW_CW(MS_WHLU, MS_WHLD) } }; #endif diff --git a/keyboards/vertex/angle65/keyboard.json b/keyboards/vertex/angle65/keyboard.json index 3047d82dfa..6e0a6525ba 100644 --- a/keyboards/vertex/angle65/keyboard.json +++ b/keyboards/vertex/angle65/keyboard.json @@ -5,8 +5,12 @@ "usb": { "vid": "0x9954", "pid": "0x9970", - "device_version": "0.0.1", - "force_nkro": true + "device_version": "0.0.1" + }, + "host": { + "default": { + "nkro": true + } }, "features": { "bootmagic": false, diff --git a/keyboards/vertex/arc60/keyboard.json b/keyboards/vertex/arc60/keyboard.json index 7bca331f44..b370e699ec 100644 --- a/keyboards/vertex/arc60/keyboard.json +++ b/keyboards/vertex/arc60/keyboard.json @@ -5,8 +5,12 @@ "usb": { "vid": "0x8354", "pid": "0x8370", - "device_version": "0.0.1", - "force_nkro": true + "device_version": "0.0.1" + }, + "host": { + "default": { + "nkro": true + } }, "features": { "bootmagic": false, diff --git a/keyboards/vertex/arc60h/keyboard.json b/keyboards/vertex/arc60h/keyboard.json index 684bbb9538..0fc6f642a3 100644 --- a/keyboards/vertex/arc60h/keyboard.json +++ b/keyboards/vertex/arc60h/keyboard.json @@ -5,8 +5,12 @@ "usb": { "vid": "0x7374", "pid": "0x9770", - "device_version": "0.0.1", - "force_nkro": true + "device_version": "0.0.1" + }, + "host": { + "default": { + "nkro": true + } }, "indicators": { "caps_lock": "C13", diff --git a/keyboards/vertex/cycle8/keyboard.json b/keyboards/vertex/cycle8/keyboard.json index d00ef3eb49..d1a341df20 100644 --- a/keyboards/vertex/cycle8/keyboard.json +++ b/keyboards/vertex/cycle8/keyboard.json @@ -5,8 +5,12 @@ "usb": { "vid": "0x8A94", "pid": "0x8F70", - "device_version": "0.0.1", - "force_nkro": true + "device_version": "0.0.1" + }, + "host": { + "default": { + "nkro": true + } }, "features": { "bootmagic": true, diff --git a/keyboards/vertex/t75/keyboard.json b/keyboards/vertex/t75/keyboard.json index 32e85cf8b4..824659e827 100644 --- a/keyboards/vertex/t75/keyboard.json +++ b/keyboards/vertex/t75/keyboard.json @@ -20,10 +20,14 @@ "processor": "STM32F103", "usb": { "device_version": "0.0.1", - "force_nkro": true, "pid": "0x3006", "vid": "0x28E9" }, + "host": { + "default": { + "nkro": true + } + }, "layouts": { "LAYOUT": { "layout": [ @@ -99,15 +103,15 @@ {"matrix": [4, 11], "x": 12.25, "y": 4, "w": 1.75}, {"matrix": [4, 12], "x": 14, "y": 4}, {"matrix": [4, 13], "x": 15, "y": 4}, - {"matrix": [5, 0], "x": 0, "y": 4, "w": 1.25}, - {"matrix": [5, 1], "x": 1.25, "y": 4, "w": 1.25}, - {"matrix": [5, 2], "x": 2.5, "y": 4, "w": 1.25}, - {"matrix": [5, 5], "x": 3.75, "y": 4, "w": 6.25}, - {"matrix": [5, 9], "x": 10, "y": 4, "w": 1.25}, - {"matrix": [5, 10], "x": 11.25, "y": 4, "w": 1.25}, - {"matrix": [5, 11], "x": 13, "y": 4}, - {"matrix": [5, 12], "x": 14, "y": 4}, - {"matrix": [5, 13], "x": 15, "y": 4} + {"matrix": [5, 0], "x": 0, "y": 5, "w": 1.25}, + {"matrix": [5, 1], "x": 1.25, "y": 5, "w": 1.25}, + {"matrix": [5, 2], "x": 2.5, "y": 5, "w": 1.25}, + {"matrix": [5, 5], "x": 3.75, "y": 5, "w": 6.25}, + {"matrix": [5, 9], "x": 10, "y": 5, "w": 1.25}, + {"matrix": [5, 10], "x": 11.25, "y": 5, "w": 1.25}, + {"matrix": [5, 11], "x": 13, "y": 5}, + {"matrix": [5, 12], "x": 14, "y": 5}, + {"matrix": [5, 13], "x": 15, "y": 5} ] } } diff --git a/keyboards/viktus/at101_bh/keyboard.json b/keyboards/viktus/at101_bh/keyboard.json index de7498964e..ca37ecedeb 100644 --- a/keyboards/viktus/at101_bh/keyboard.json +++ b/keyboards/viktus/at101_bh/keyboard.json @@ -6,8 +6,12 @@ "usb": { "vid": "0xFEED", "pid": "0x6060", - "device_version": "0.0.1", - "force_nkro": true + "device_version": "0.0.1" + }, + "host": { + "default": { + "nkro": true + } }, "features": { "bootmagic": true, diff --git a/keyboards/viktus/omnikey_bh/keyboard.json b/keyboards/viktus/omnikey_bh/keyboard.json index 8128a30b25..6bceb1e0db 100644 --- a/keyboards/viktus/omnikey_bh/keyboard.json +++ b/keyboards/viktus/omnikey_bh/keyboard.json @@ -5,8 +5,12 @@ "usb": { "vid": "0xFEED", "pid": "0x6060", - "device_version": "0.0.1", - "force_nkro": true + "device_version": "0.0.1" + }, + "host": { + "default": { + "nkro": true + } }, "features": { "bootmagic": true, diff --git a/keyboards/viktus/z150_bh/keyboard.json b/keyboards/viktus/z150_bh/keyboard.json index 29bba7b8ab..912ee03bab 100644 --- a/keyboards/viktus/z150_bh/keyboard.json +++ b/keyboards/viktus/z150_bh/keyboard.json @@ -5,8 +5,12 @@ "usb": { "vid": "0xFEED", "pid": "0x6060", - "device_version": "0.0.1", - "force_nkro": true + "device_version": "0.0.1" + }, + "host": { + "default": { + "nkro": true + } }, "features": { "bootmagic": true, diff --git a/keyboards/waterfowl/waterfowl.c b/keyboards/waterfowl/waterfowl.c index fb30fd0078..9d9b0bf467 100644 --- a/keyboards/waterfowl/waterfowl.c +++ b/keyboards/waterfowl/waterfowl.c @@ -23,9 +23,9 @@ bool encoder_update_kb(uint8_t index, bool clockwise) { } if (index == 0) { // Left roller if (clockwise) { - tap_code(KC_MS_WH_DOWN); + tap_code(MS_WHLD); } else { - tap_code(KC_MS_WH_UP); + tap_code(MS_WHLU); } } else if (index == 1) { // Left encoder if (clockwise) { @@ -35,9 +35,9 @@ bool encoder_update_kb(uint8_t index, bool clockwise) { } } else if (index == 2) { // Right roller if (clockwise) { - tap_code16(S(KC_MS_WH_DOWN)); + tap_code16(S(MS_WHLD)); } else { - tap_code16(S(KC_MS_WH_UP)); + tap_code16(S(MS_WHLU)); } } else if (index == 3) { // Right encoder if (clockwise) { diff --git a/keyboards/whirlwind_fx_element/config.h b/keyboards/whirlwind_fx_element/config.h new file mode 100644 index 0000000000..606163cf10 --- /dev/null +++ b/keyboards/whirlwind_fx_element/config.h @@ -0,0 +1,7 @@ +// Copyright 2023 WhirlwindFX +// Copyright 2023 aedanmills +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#define IS31FL3741_I2C_ADDRESS_1 IS31FL3741_I2C_ADDRESS_GND diff --git a/keyboards/whirlwind_fx_element/halconf.h b/keyboards/whirlwind_fx_element/halconf.h new file mode 100644 index 0000000000..75e92dea90 --- /dev/null +++ b/keyboards/whirlwind_fx_element/halconf.h @@ -0,0 +1,9 @@ +// Copyright 2023 WhirlwindFX +// Copyright 2023 aedanmills +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#define HAL_USE_I2C TRUE + +#include_next diff --git a/keyboards/whirlwind_fx_element/keyboard.json b/keyboards/whirlwind_fx_element/keyboard.json new file mode 100644 index 0000000000..f01c5859da --- /dev/null +++ b/keyboards/whirlwind_fx_element/keyboard.json @@ -0,0 +1,302 @@ +{ + "manufacturer": "WhirlwindFX", + "keyboard_name": "Element", + "maintainer": "aedanmills", + "bootloader": "stm32-dfu", + "diode_direction": "ROW2COL", + "features": { + "bootmagic": true, + "extrakey": true, + "nkro": true, + "rgb_matrix": true + }, + "matrix_pins": { + "rows": [ "B0", "B1", "B2", "B3", "B12", "B13", "B14", "B15" ], + "cols": [ "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "A8", "A9", "A10", "A13", "A14" ] + }, + "processor": "STM32F303", + "url": "https://www.whirlwindfx.com/products/element", + "usb": { + "vid": "0x0483", + "pid": "0xA33E", + "device_version": "1.0.6" + }, + "indicators": { + "caps_lock": "B9", + "num_lock": "B8", + "scroll_lock": "B10", + "on_state": 0 + }, + "community_layouts": ["fullsize_ansi"], + "layouts": { + "LAYOUT_fullsize_ansi": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 2, "y": 0}, + {"matrix": [0, 2], "x": 3, "y": 0}, + {"matrix": [0, 3], "x": 4, "y": 0}, + {"matrix": [0, 4], "x": 5, "y": 0}, + {"matrix": [0, 5], "x": 6.5, "y": 0}, + {"matrix": [0, 6], "x": 7.5, "y": 0}, + {"matrix": [0, 7], "x": 8.5, "y": 0}, + {"matrix": [0, 8], "x": 9.5, "y": 0}, + {"matrix": [0, 9], "x": 11, "y": 0}, + {"matrix": [0, 10], "x": 12, "y": 0}, + {"matrix": [0, 11], "x": 13, "y": 0}, + {"matrix": [0, 12], "x": 14, "y": 0}, + {"matrix": [1, 0], "x": 15.25, "y": 0}, + {"matrix": [1, 1], "x": 16.25, "y": 0}, + {"matrix": [1, 2], "x": 17.25, "y": 0}, + {"matrix": [1, 3], "x": 0, "y": 1.25}, + {"matrix": [1, 4], "x": 1, "y": 1.25}, + {"matrix": [1, 5], "x": 2, "y": 1.25}, + {"matrix": [1, 6], "x": 3, "y": 1.25}, + {"matrix": [1, 7], "x": 4, "y": 1.25}, + {"matrix": [1, 8], "x": 5, "y": 1.25}, + {"matrix": [1, 9], "x": 6, "y": 1.25}, + {"matrix": [1, 10], "x": 7, "y": 1.25}, + {"matrix": [1, 11], "x": 8, "y": 1.25}, + {"matrix": [1, 12], "x": 9, "y": 1.25}, + {"matrix": [2, 0], "x": 10, "y": 1.25}, + {"matrix": [2, 1], "x": 11, "y": 1.25}, + {"matrix": [2, 2], "x": 12, "y": 1.25}, + {"matrix": [2, 3], "x": 13, "y": 1.25, "w": 2}, + {"matrix": [2, 4], "x": 15.25, "y": 1.25}, + {"matrix": [2, 5], "x": 16.25, "y": 1.25}, + {"matrix": [2, 6], "x": 17.25, "y": 1.25}, + {"matrix": [2, 7], "x": 18.5, "y": 1.25}, + {"matrix": [2, 8], "x": 19.5, "y": 1.25}, + {"matrix": [2, 9], "x": 20.5, "y": 1.25}, + {"matrix": [2, 10], "x": 21.5, "y": 1.25}, + {"matrix": [2, 11], "x": 0, "y": 2.25, "w": 1.5}, + {"matrix": [2, 12], "x": 1.5, "y": 2.25}, + {"matrix": [3, 0], "x": 2.5, "y": 2.25}, + {"matrix": [3, 1], "x": 3.5, "y": 2.25}, + {"matrix": [3, 2], "x": 4.5, "y": 2.25}, + {"matrix": [3, 3], "x": 5.5, "y": 2.25}, + {"matrix": [3, 4], "x": 6.5, "y": 2.25}, + {"matrix": [3, 5], "x": 7.5, "y": 2.25}, + {"matrix": [3, 6], "x": 8.5, "y": 2.25}, + {"matrix": [3, 7], "x": 9.5, "y": 2.25}, + {"matrix": [3, 8], "x": 10.5, "y": 2.25}, + {"matrix": [3, 9], "x": 11.5, "y": 2.25}, + {"matrix": [3, 10], "x": 12.5, "y": 2.25}, + {"matrix": [3, 11], "x": 13.5, "y": 2.25, "w": 1.5}, + {"matrix": [3, 12], "x": 15.25, "y": 2.25}, + {"matrix": [4, 0], "x": 16.25, "y": 2.25}, + {"matrix": [4, 1], "x": 17.25, "y": 2.25}, + {"matrix": [4, 2], "x": 18.5, "y": 2.25}, + {"matrix": [4, 3], "x": 19.5, "y": 2.25}, + {"matrix": [4, 4], "x": 20.5, "y": 2.25}, + {"matrix": [5, 8], "x": 21.5, "y": 2.25, "h": 2}, + {"matrix": [4, 5], "x": 0, "y": 3.25, "w": 1.75}, + {"matrix": [4, 6], "x": 1.75, "y": 3.25}, + {"matrix": [4, 7], "x": 2.75, "y": 3.25}, + {"matrix": [4, 8], "x": 3.75, "y": 3.25}, + {"matrix": [4, 9], "x": 4.75, "y": 3.25}, + {"matrix": [4, 10], "x": 5.75, "y": 3.25}, + {"matrix": [4, 11], "x": 6.75, "y": 3.25}, + {"matrix": [4, 12], "x": 7.75, "y": 3.25}, + {"matrix": [5, 0], "x": 8.75, "y": 3.25}, + {"matrix": [5, 1], "x": 9.75, "y": 3.25}, + {"matrix": [5, 2], "x": 10.75, "y": 3.25}, + {"matrix": [5, 3], "x": 11.75, "y": 3.25}, + {"matrix": [5, 4], "x": 12.75, "y": 3.25, "w": 2.25}, + {"matrix": [5, 5], "x": 18.5, "y": 3.25}, + {"matrix": [5, 6], "x": 19.5, "y": 3.25}, + {"matrix": [5, 7], "x": 20.5, "y": 3.25}, + {"matrix": [5, 9], "x": 0, "y": 4.25, "w": 2.25}, + {"matrix": [5, 10], "x": 2.25, "y": 4.25}, + {"matrix": [5, 11], "x": 3.25, "y": 4.25}, + {"matrix": [5, 12], "x": 4.25, "y": 4.25}, + {"matrix": [6, 0], "x": 5.25, "y": 4.25}, + {"matrix": [6, 1], "x": 6.25, "y": 4.25}, + {"matrix": [6, 2], "x": 7.25, "y": 4.25}, + {"matrix": [6, 3], "x": 8.25, "y": 4.25}, + {"matrix": [6, 4], "x": 9.25, "y": 4.25}, + {"matrix": [6, 5], "x": 10.25, "y": 4.25}, + {"matrix": [6, 6], "x": 11.25, "y": 4.25}, + {"matrix": [6, 7], "x": 12.25, "y": 4.25, "w": 2.75}, + {"matrix": [6, 8], "x": 16.25, "y": 4.25}, + {"matrix": [6, 9], "x": 18.5, "y": 4.25}, + {"matrix": [6, 10], "x": 19.5, "y": 4.25}, + {"matrix": [6, 11], "x": 20.5, "y": 4.25}, + {"matrix": [6, 12], "x": 21.5, "y": 4.25, "h": 2}, + {"matrix": [7, 0], "x": 0, "y": 5.25, "w": 1.25}, + {"matrix": [7, 1], "x": 1.25, "y": 5.25, "w": 1.25}, + {"matrix": [7, 2], "x": 2.5, "y": 5.25, "w": 1.25}, + {"matrix": [7, 3], "x": 3.75, "y": 5.25, "w": 6.25}, + {"matrix": [7, 4], "x": 10, "y": 5.25, "w": 1.25}, + {"matrix": [7, 5], "x": 11.25, "y": 5.25, "w": 1.25}, + {"matrix": [7, 6], "x": 12.5, "y": 5.25, "w": 1.25}, + {"matrix": [7, 7], "x": 13.75, "y": 5.25, "w": 1.25}, + {"matrix": [7, 8], "x": 15.25, "y": 5.25}, + {"matrix": [7, 9], "x": 16.25, "y": 5.25}, + {"matrix": [7, 10], "x": 17.25, "y": 5.25}, + {"matrix": [7, 11], "x": 18.5, "y": 5.25, "w": 2}, + {"matrix": [7, 12], "x": 20.5, "y": 5.25} + ] + } + }, + "rgb_matrix": { + "driver": "is31fl3741", + "max_brightness": 200, + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0, "flags": 4}, + {"matrix": [0, 1], "x": 21, "y": 0, "flags": 4}, + {"matrix": [0, 2], "x": 31, "y": 0, "flags": 4}, + {"matrix": [0, 3], "x": 42, "y": 0, "flags": 4}, + {"matrix": [0, 4], "x": 52, "y": 0, "flags": 4}, + {"matrix": [0, 5], "x": 68, "y": 0, "flags": 4}, + {"matrix": [0, 6], "x": 78, "y": 0, "flags": 4}, + {"matrix": [0, 7], "x": 89, "y": 0, "flags": 4}, + {"matrix": [0, 8], "x": 99, "y": 0, "flags": 4}, + {"matrix": [0, 9], "x": 115, "y": 0, "flags": 4}, + {"matrix": [0, 10], "x": 125, "y": 0, "flags": 4}, + {"matrix": [0, 11], "x": 136, "y": 0, "flags": 4}, + {"matrix": [0, 12], "x": 146, "y": 0, "flags": 4}, + {"matrix": [1, 0], "x": 159, "y": 0, "flags": 4}, + {"matrix": [1, 1], "x": 169, "y": 0, "flags": 4}, + {"matrix": [1, 2], "x": 180, "y": 0, "flags": 4}, + + {"matrix": [1, 3], "x": 0, "y": 15, "flags": 4}, + {"matrix": [1, 4], "x": 10, "y": 15, "flags": 4}, + {"matrix": [1, 5], "x": 21, "y": 15, "flags": 4}, + {"matrix": [1, 6], "x": 31, "y": 15, "flags": 4}, + {"matrix": [1, 7], "x": 42, "y": 15, "flags": 4}, + {"matrix": [1, 8], "x": 52, "y": 15, "flags": 4}, + {"matrix": [1, 9], "x": 63, "y": 15, "flags": 4}, + {"matrix": [1, 10], "x": 73, "y": 15, "flags": 4}, + {"matrix": [1, 11], "x": 83, "y": 15, "flags": 4}, + {"matrix": [1, 12], "x": 94, "y": 15, "flags": 4}, + {"matrix": [2, 0], "x": 104, "y": 15, "flags": 4}, + {"matrix": [2, 1], "x": 115, "y": 15, "flags": 4}, + {"matrix": [2, 2], "x": 125, "y": 15, "flags": 4}, + {"matrix": [2, 3], "x": 141, "y": 15, "flags": 4}, + {"matrix": [2, 4], "x": 159, "y": 15, "flags": 4}, + {"matrix": [2, 5], "x": 169, "y": 15, "flags": 4}, + {"matrix": [2, 6], "x": 180, "y": 15, "flags": 4}, + {"matrix": [2, 7], "x": 193, "y": 15, "flags": 4}, + {"matrix": [2, 8], "x": 203, "y": 15, "flags": 4}, + {"matrix": [2, 9], "x": 214, "y": 15, "flags": 4}, + {"matrix": [2, 10], "x": 224, "y": 15, "flags": 4}, + + {"matrix": [2, 11], "x": 3, "y": 27, "flags": 4}, + {"matrix": [2, 12], "x": 16, "y": 27, "flags": 4}, + {"matrix": [3, 0], "x": 26, "y": 27, "flags": 4}, + {"matrix": [3, 1], "x": 36, "y": 27, "flags": 4}, + {"matrix": [3, 2], "x": 47, "y": 27, "flags": 4}, + {"matrix": [3, 3], "x": 57, "y": 27, "flags": 4}, + {"matrix": [3, 4], "x": 68, "y": 27, "flags": 4}, + {"matrix": [3, 5], "x": 78, "y": 27, "flags": 4}, + {"matrix": [3, 6], "x": 89, "y": 27, "flags": 4}, + {"matrix": [3, 7], "x": 99, "y": 27, "flags": 4}, + {"matrix": [3, 8], "x": 109, "y": 27, "flags": 4}, + {"matrix": [3, 9], "x": 120, "y": 27, "flags": 4}, + {"matrix": [3, 10], "x": 130, "y": 27, "flags": 4}, + {"matrix": [3, 11], "x": 143, "y": 27, "flags": 4}, + {"matrix": [3, 12], "x": 159, "y": 27, "flags": 4}, + {"matrix": [4, 0], "x": 169, "y": 27, "flags": 4}, + {"matrix": [4, 1], "x": 180, "y": 27, "flags": 4}, + {"matrix": [4, 2], "x": 193, "y": 27, "flags": 4}, + {"matrix": [4, 3], "x": 203, "y": 27, "flags": 4}, + {"matrix": [4, 4], "x": 214, "y": 27, "flags": 4}, + + {"matrix": [4, 5], "x": 4, "y": 40, "flags": 4}, + {"matrix": [4, 6], "x": 18, "y": 40, "flags": 4}, + {"matrix": [4, 7], "x": 29, "y": 40, "flags": 4}, + {"matrix": [4, 8], "x": 39, "y": 40, "flags": 4}, + {"matrix": [4, 9], "x": 50, "y": 40, "flags": 4}, + {"matrix": [4, 10], "x": 60, "y": 40, "flags": 4}, + {"matrix": [4, 11], "x": 70, "y": 40, "flags": 4}, + {"matrix": [4, 12], "x": 81, "y": 40, "flags": 4}, + {"matrix": [5, 0], "x": 91, "y": 40, "flags": 4}, + {"matrix": [5, 1], "x": 102, "y": 40, "flags": 4}, + {"matrix": [5, 2], "x": 112, "y": 40, "flags": 4}, + {"matrix": [5, 3], "x": 123, "y": 40, "flags": 4}, + {"matrix": [5, 4], "x": 139, "y": 40, "flags": 4}, + {"matrix": [5, 5], "x": 193, "y": 40, "flags": 4}, + {"matrix": [5, 6], "x": 203, "y": 40, "flags": 4}, + {"matrix": [5, 7], "x": 214, "y": 40, "flags": 4}, + {"matrix": [5, 8], "x": 224, "y": 34, "flags": 4}, + + {"matrix": [5, 9], "x": 7, "y": 52, "flags": 4}, + {"matrix": [5, 10], "x": 23, "y": 52, "flags": 4}, + {"matrix": [5, 11], "x": 34, "y": 52, "flags": 4}, + {"matrix": [5, 12], "x": 44, "y": 52, "flags": 4}, + {"matrix": [6, 0], "x": 55, "y": 52, "flags": 4}, + {"matrix": [6, 1], "x": 65, "y": 52, "flags": 4}, + {"matrix": [6, 2], "x": 76, "y": 52, "flags": 4}, + {"matrix": [6, 3], "x": 86, "y": 52, "flags": 4}, + {"matrix": [6, 4], "x": 96, "y": 52, "flags": 4}, + {"matrix": [6, 5], "x": 107, "y": 52, "flags": 4}, + {"matrix": [6, 6], "x": 117, "y": 52, "flags": 4}, + {"matrix": [6, 7], "x": 137, "y": 52, "flags": 4}, + {"matrix": [6, 8], "x": 169, "y": 52, "flags": 4}, + {"matrix": [6, 9], "x": 193, "y": 52, "flags": 4}, + {"matrix": [6, 10], "x": 203, "y": 52, "flags": 4}, + {"matrix": [6, 11], "x": 214, "y": 52, "flags": 4}, + {"matrix": [6, 12], "x": 224, "y": 58, "flags": 4}, + + {"matrix": [7, 0], "x": 1, "y": 64, "flags": 4}, + {"matrix": [7, 1], "x": 14, "y": 64, "flags": 4}, + {"matrix": [7, 2], "x": 27, "y": 64, "flags": 4}, + {"matrix": [7, 3], "x": 66, "y": 64, "flags": 4}, + {"matrix": [7, 4], "x": 105, "y": 64, "flags": 4}, + {"matrix": [7, 5], "x": 118, "y": 64, "flags": 4}, + {"matrix": [7, 6], "x": 131, "y": 64, "flags": 4}, + {"matrix": [7, 7], "x": 145, "y": 64, "flags": 4}, + {"matrix": [7, 8], "x": 159, "y": 64, "flags": 4}, + {"matrix": [7, 9], "x": 169, "y": 64, "flags": 4}, + {"matrix": [7, 10], "x": 180, "y": 64, "flags": 4}, + {"matrix": [7, 11], "x": 198, "y": 64, "flags": 4}, + {"matrix": [7, 12], "x": 214, "y": 64, "flags": 4} + ], + "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_flow": true, + "pixel_rain": true, + "typing_heatmap": true, + "digital_rain": true, + "solid_reactive_simple": true, + "solid_reactive": true, + "solid_reactive_wide": true, + "solid_reactive_cross": true, + "solid_reactive_nexus": true, + "splash": true, + "multisplash": true, + "solid_splash": true + }, + "default": { + "val": 128 + }, + "led_process_limit": 4, + "led_flush_limit": 26, + "sleep": true + } +} diff --git a/keyboards/whirlwind_fx_element/keymaps/default/keymap.c b/keyboards/whirlwind_fx_element/keymaps/default/keymap.c new file mode 100644 index 0000000000..36690aca28 --- /dev/null +++ b/keyboards/whirlwind_fx_element/keymaps/default/keymap.c @@ -0,0 +1,42 @@ +// Copyright 2023 WhirlwindFX +// Copyright 2023 aedanmills +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* + * ┌───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┐ + * │Esc│ │F1 │F2 │F3 │F4 │ │F5 │F6 │F7 │F8 │ │F9 │F10│F11│F12│ │PSc│Scr│Pse│ + * └───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┘ + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ ┌───┬───┬───┐ ┌───┬───┬───┬───┐ + * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ Backsp│ │Ins│Hom│PgU│ │Num│ / │ * │ - │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┼───┼───┤ ├───┼───┼───┼───┤ + * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │ │Del│End│PgD│ │ 7 │ 8 │ 9 │ │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ └───┴───┴───┘ ├───┼───┼───┤ + │ + * │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ Enter │ │ 4 │ 5 │ 6 │ │ + * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤ ┌───┐ ├───┼───┼───┼───┤ + * │ Shift │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ Shift │ │ ↑ │ │ 1 │ 2 │ 3 │ │ + * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ ┌───┼───┼───┐ ├───┴───┼───┤Ent│ + * │Ctrl│GUI │Alt │ │ Alt│ FN │Menu│Ctrl│ │ ← │ ↓ │ → │ │ 0 │ . │ │ + * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ └───┴───┴───┘ └───────┴───┴───┘ + */ + [0] = 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, MO(1), KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT + ), + [1] = LAYOUT_fullsize_ansi( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_BRID, KC_BRIU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, 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, RM_VALD, RM_VALU, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RM_SPDU, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RM_PREV, RM_SPDD, RM_NEXT, KC_TRNS, KC_TRNS + ) +}; diff --git a/keyboards/whirlwind_fx_element/mcuconf.h b/keyboards/whirlwind_fx_element/mcuconf.h new file mode 100644 index 0000000000..c89f7275d4 --- /dev/null +++ b/keyboards/whirlwind_fx_element/mcuconf.h @@ -0,0 +1,10 @@ +// Copyright 2023 WhirlwindFX +// Copyright 2023 aedanmills +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#include_next + +#undef STM32_I2C_USE_I2C1 +#define STM32_I2C_USE_I2C1 TRUE diff --git a/keyboards/whirlwind_fx_element/readme.md b/keyboards/whirlwind_fx_element/readme.md new file mode 100644 index 0000000000..362b984772 --- /dev/null +++ b/keyboards/whirlwind_fx_element/readme.md @@ -0,0 +1,31 @@ +# WhirlwindFX ElementV2 + +![WhirlwindFX ElementV2](https://i.imgur.com/Etso6Ni.png) + +A full-size (100%) mechanical keyboard with RGB lighting. + +* Keyboard Maintainer: [Aedan Mills](https://github.com/aedanmills) +* Hardware Supported: WhirlwindFX ElementV2 +* Hardware Availability: [WhirlwindFX](https://www.whirlwindfx.com/products/element) + +Make example for this keyboard (after setting up your build environment): + + make whirlwind_fx_element:default + +Flashing example for this keyboard: + + make whirlwind_fx_element:default:flash + +## Bootloader + +Enter the bootloader by pressing and holding the reset button on the back of the PCB while plugging in the keyboard. You will have to remove the key caps to access the screws to disassemble the keyboard and access the button. + +Don't forget to backup the original firmware before proceeding by using the following dfu-util command with the keyboard in bootloader mode: + + dfu-util --list # Check that the keyboard is listed in DFU mode + dfu-util -a 0 -U backup.bin -s 0x08000000 # Save backup as backup.bin + +After flashing with QMK, BootMagic can be used to enter the bootloader by holding 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/whirlwind_fx_element/whirlwind_fx_element.c b/keyboards/whirlwind_fx_element/whirlwind_fx_element.c new file mode 100644 index 0000000000..6f17dbda2f --- /dev/null +++ b/keyboards/whirlwind_fx_element/whirlwind_fx_element.c @@ -0,0 +1,119 @@ +// Copyright 2023 WhirlwindFX +// Copyright 2023 aedanmills +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +#ifdef RGB_MATRIX_ENABLE +const is31fl3741_led_t PROGMEM g_is31fl3741_leds[IS31FL3741_LED_COUNT] = { + {0, SW1_CS2, SW1_CS3, SW1_CS1}, + {0, SW1_CS5, SW1_CS6, SW1_CS4}, + {0, SW1_CS8, SW1_CS9, SW1_CS7}, + {0, SW1_CS11, SW1_CS12, SW1_CS10}, + {0, SW1_CS14, SW1_CS15, SW1_CS13}, + {0, SW1_CS17, SW1_CS18, SW1_CS16}, + {0, SW1_CS20, SW1_CS21, SW1_CS19}, + {0, SW1_CS23, SW1_CS24, SW1_CS22}, + {0, SW1_CS26, SW1_CS27, SW1_CS25}, + {0, SW1_CS29, SW1_CS30, SW1_CS28}, + {0, SW1_CS32, SW1_CS33, SW1_CS31}, + {0, SW1_CS35, SW1_CS36, SW1_CS34}, + {0, SW1_CS38, SW1_CS39, SW1_CS37}, + {0, SW2_CS2, SW2_CS3, SW2_CS1}, + {0, SW2_CS5, SW2_CS6, SW2_CS4}, + {0, SW2_CS8, SW2_CS9, SW2_CS7}, + {0, SW2_CS11, SW2_CS12, SW2_CS10}, + {0, SW2_CS14, SW2_CS15, SW2_CS13}, + {0, SW2_CS17, SW2_CS18, SW2_CS16}, + {0, SW2_CS20, SW2_CS21, SW2_CS19}, + {0, SW2_CS23, SW2_CS24, SW2_CS22}, + {0, SW2_CS26, SW2_CS27, SW2_CS25}, + {0, SW2_CS29, SW2_CS30, SW2_CS28}, + {0, SW2_CS32, SW2_CS33, SW2_CS31}, + {0, SW2_CS35, SW2_CS36, SW2_CS34}, + {0, SW2_CS38, SW2_CS39, SW2_CS37}, + {0, SW3_CS2, SW3_CS3, SW3_CS1}, + {0, SW3_CS5, SW3_CS6, SW3_CS4}, + {0, SW3_CS8, SW3_CS9, SW3_CS7}, + {0, SW3_CS11, SW3_CS12, SW3_CS10}, + {0, SW3_CS14, SW3_CS15, SW3_CS13}, + {0, SW3_CS17, SW3_CS18, SW3_CS16}, + {0, SW3_CS20, SW3_CS21, SW3_CS19}, + {0, SW3_CS23, SW3_CS24, SW3_CS22}, + {0, SW3_CS26, SW3_CS27, SW3_CS25}, + {0, SW3_CS29, SW3_CS30, SW3_CS28}, + {0, SW3_CS32, SW3_CS33, SW3_CS31}, + {0, SW3_CS35, SW3_CS36, SW3_CS34}, + {0, SW3_CS38, SW3_CS39, SW3_CS37}, + {0, SW4_CS2, SW4_CS3, SW4_CS1}, + {0, SW4_CS5, SW4_CS6, SW4_CS4}, + {0, SW4_CS8, SW4_CS9, SW4_CS7}, + {0, SW4_CS11, SW4_CS12, SW4_CS10}, + {0, SW4_CS14, SW4_CS15, SW4_CS13}, + {0, SW4_CS17, SW4_CS18, SW4_CS16}, + {0, SW4_CS20, SW4_CS21, SW4_CS19}, + {0, SW4_CS23, SW4_CS24, SW4_CS22}, + {0, SW4_CS26, SW4_CS27, SW4_CS25}, + {0, SW4_CS29, SW4_CS30, SW4_CS28}, + {0, SW4_CS32, SW4_CS33, SW4_CS31}, + {0, SW4_CS35, SW4_CS36, SW4_CS34}, + {0, SW4_CS38, SW4_CS39, SW4_CS37}, + {0, SW5_CS2, SW5_CS3, SW5_CS1}, + {0, SW5_CS5, SW5_CS6, SW5_CS4}, + {0, SW5_CS8, SW5_CS9, SW5_CS7}, + {0, SW5_CS11, SW5_CS12, SW5_CS10}, + {0, SW5_CS14, SW5_CS15, SW5_CS13}, + {0, SW5_CS17, SW5_CS18, SW5_CS16}, + {0, SW5_CS20, SW5_CS21, SW5_CS19}, + {0, SW5_CS23, SW5_CS24, SW5_CS22}, + {0, SW5_CS26, SW5_CS27, SW5_CS25}, + {0, SW5_CS29, SW5_CS30, SW5_CS28}, + {0, SW5_CS32, SW5_CS33, SW5_CS31}, + {0, SW5_CS35, SW5_CS36, SW5_CS34}, + {0, SW5_CS38, SW5_CS39, SW5_CS37}, + {0, SW6_CS2, SW6_CS3, SW6_CS1}, + {0, SW6_CS5, SW6_CS6, SW6_CS4}, + {0, SW6_CS8, SW6_CS9, SW6_CS7}, + {0, SW6_CS11, SW6_CS12, SW6_CS10}, + {0, SW6_CS14, SW6_CS15, SW6_CS13}, + {0, SW6_CS17, SW6_CS18, SW6_CS16}, + {0, SW6_CS20, SW6_CS21, SW6_CS19}, + {0, SW6_CS23, SW6_CS24, SW6_CS22}, + {0, SW6_CS26, SW6_CS27, SW6_CS25}, + {0, SW6_CS29, SW6_CS30, SW6_CS28}, + {0, SW6_CS32, SW6_CS33, SW6_CS31}, + {0, SW6_CS35, SW6_CS36, SW6_CS34}, + {0, SW6_CS38, SW6_CS39, SW6_CS37}, + {0, SW7_CS2, SW7_CS3, SW7_CS1}, + {0, SW7_CS5, SW7_CS6, SW7_CS4}, + {0, SW7_CS8, SW7_CS9, SW7_CS7}, + {0, SW7_CS11, SW7_CS12, SW7_CS10}, + {0, SW7_CS14, SW7_CS15, SW7_CS13}, + {0, SW7_CS17, SW7_CS18, SW7_CS16}, + {0, SW7_CS20, SW7_CS21, SW7_CS19}, + {0, SW7_CS23, SW7_CS24, SW7_CS22}, + {0, SW7_CS26, SW7_CS27, SW7_CS25}, + {0, SW7_CS29, SW7_CS30, SW7_CS28}, + {0, SW7_CS32, SW7_CS33, SW7_CS31}, + {0, SW7_CS35, SW7_CS36, SW7_CS34}, + {0, SW7_CS38, SW7_CS39, SW7_CS37}, + {0, SW8_CS2, SW8_CS3, SW8_CS1}, + {0, SW8_CS5, SW8_CS6, SW8_CS4}, + {0, SW8_CS8, SW8_CS9, SW8_CS7}, + {0, SW8_CS11, SW8_CS12, SW8_CS10}, + {0, SW8_CS14, SW8_CS15, SW8_CS13}, + {0, SW8_CS17, SW8_CS18, SW8_CS16}, + {0, SW8_CS20, SW8_CS21, SW8_CS19}, + {0, SW8_CS23, SW8_CS24, SW8_CS22}, + {0, SW8_CS26, SW8_CS27, SW8_CS25}, + {0, SW8_CS29, SW8_CS30, SW8_CS28}, + {0, SW8_CS32, SW8_CS33, SW8_CS31}, + {0, SW8_CS35, SW8_CS36, SW8_CS34}, + {0, SW8_CS38, SW8_CS39, SW8_CS37} +}; +#endif +void keyboard_pre_init_kb(void) { + gpio_set_pin_output(B11); // Required for indicators to work correctly + + keyboard_pre_init_user(); +} diff --git a/keyboards/willoucom/keypad/keyboard.json b/keyboards/willoucom/keypad/keyboard.json index 1d070ea4e2..9b4717e63f 100644 --- a/keyboards/willoucom/keypad/keyboard.json +++ b/keyboards/willoucom/keypad/keyboard.json @@ -22,10 +22,14 @@ }, "usb": { "device_version": "1.0.0", - "force_nkro": true, "pid": "0x4B50", "vid": "0x574A" }, + "host": { + "default": { + "nkro": true + } + }, "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/winry/winry25tc/keyboard.json b/keyboards/winry/winry25tc/keyboard.json index c2682daa9a..ebe3d0cc77 100644 --- a/keyboards/winry/winry25tc/keyboard.json +++ b/keyboards/winry/winry25tc/keyboard.json @@ -3,8 +3,8 @@ "manufacturer": "SpiderIsland", "maintainer": "qmk", "usb": { - "vid": "0xFEED", - "pid": "0x0000", + "vid": "0xF1F1", + "pid": "0x0025", "device_version": "0.0.1" }, "ws2812": { diff --git a/keyboards/wolf/frogpad/keymaps/default/keymap.c b/keyboards/wolf/frogpad/keymaps/default/keymap.c index adc4cf77e8..236afeab06 100644 --- a/keyboards/wolf/frogpad/keymaps/default/keymap.c +++ b/keyboards/wolf/frogpad/keymaps/default/keymap.c @@ -42,7 +42,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { #if defined(ENCODER_MAP_ENABLE) const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { - [_LAYER0] = { ENCODER_CCW_CW(KC_MS_WH_UP, KC_MS_WH_DOWN), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, - [_LAYER1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) } + [_LAYER0] = { ENCODER_CCW_CW(MS_WHLU, MS_WHLD), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [_LAYER1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) } }; #endif \ No newline at end of file diff --git a/keyboards/work_louder/micro/micro.c b/keyboards/work_louder/micro/micro.c index 07ab92f7a7..f88ac8bb45 100644 --- a/keyboards/work_louder/micro/micro.c +++ b/keyboards/work_louder/micro/micro.c @@ -39,9 +39,9 @@ bool encoder_update_kb(uint8_t index, bool clockwise) { } } else if (index == 1) { if (clockwise) { - tap_code_delay(KC_WH_U, 10); + tap_code_delay(MS_WHLU, 10); } else { - tap_code_delay(KC_WH_D, 10); + tap_code_delay(MS_WHLD, 10); } } return true; diff --git a/keyboards/work_louder/rgb_functions.c b/keyboards/work_louder/rgb_functions.c index b0d89d8511..1ea9afc42a 100644 --- a/keyboards/work_louder/rgb_functions.c +++ b/keyboards/work_louder/rgb_functions.c @@ -25,6 +25,7 @@ #define ws2812_set_color ws2812_rgb_set_color #define ws2812_set_color_all ws2812_rgb_set_color_all #define ws2812_flush ws2812_rgb_flush +#define ws2812_leds ws2812_rgb_leds #include "ws2812_bitbang.c" diff --git a/keyboards/wuque/tata80/wk/keyboard.json b/keyboards/wuque/tata80/wk/keyboard.json index 5b5b1fe50e..a5ae56720b 100644 --- a/keyboards/wuque/tata80/wk/keyboard.json +++ b/keyboards/wuque/tata80/wk/keyboard.json @@ -6,8 +6,12 @@ "usb": { "vid": "0x2365", "pid": "0x0168", - "device_version": "0.0.1", - "force_nkro": true + "device_version": "0.0.1" + }, + "host": { + "default": { + "nkro": true + } }, "features": { "bootmagic": true, diff --git a/keyboards/wuque/tata80/wkl/keyboard.json b/keyboards/wuque/tata80/wkl/keyboard.json index d8633e99f9..3eee37ef19 100644 --- a/keyboards/wuque/tata80/wkl/keyboard.json +++ b/keyboards/wuque/tata80/wkl/keyboard.json @@ -6,8 +6,12 @@ "usb": { "vid": "0x2365", "pid": "0x0169", - "device_version": "0.0.1", - "force_nkro": true + "device_version": "0.0.1" + }, + "host": { + "default": { + "nkro": true + } }, "features": { "bootmagic": true, diff --git a/keyboards/xdboards/recon/recon.c b/keyboards/xdboards/recon/recon.c index 708c9d894c..823f3df7bf 100644 --- a/keyboards/xdboards/recon/recon.c +++ b/keyboards/xdboards/recon/recon.c @@ -101,13 +101,13 @@ bool encoder_update_kb(uint8_t index, bool clockwise) { // Page up/Page down if (clockwise) { #ifdef MOUSEKEY_ENABLE - tap_code(KC_WH_U); + tap_code(MS_WHLU); #else tap_code(KC_PGUP); #endif } else { #ifdef MOUSEKEY_ENABLE - tap_code(KC_WH_D); + tap_code(MS_WHLD); #else tap_code(KC_PGDN); #endif diff --git a/keyboards/xelus/dharma/keyboard.json b/keyboards/xelus/dharma/keyboard.json index adedaedba4..373db3f84e 100644 --- a/keyboards/xelus/dharma/keyboard.json +++ b/keyboards/xelus/dharma/keyboard.json @@ -5,8 +5,12 @@ "usb": { "vid": "0x5845", "pid": "0xDAAA", - "device_version": "0.0.1", - "force_nkro": true + "device_version": "0.0.1" + }, + "host": { + "default": { + "nkro": true + } }, "features": { "bootmagic": true, diff --git a/keyboards/xelus/pachi/rgb/rev1/keyboard.json b/keyboards/xelus/pachi/rgb/rev1/keyboard.json index a27bcae0fc..59d335d6e7 100644 --- a/keyboards/xelus/pachi/rgb/rev1/keyboard.json +++ b/keyboards/xelus/pachi/rgb/rev1/keyboard.json @@ -5,8 +5,12 @@ "usb": { "vid": "0x5845", "pid": "0x5052", - "device_version": "0.0.1", - "force_nkro": true + "device_version": "0.0.1" + }, + "host": { + "default": { + "nkro": true + } }, "rgb_matrix": { "animations": { diff --git a/keyboards/xelus/rs108/keyboard.json b/keyboards/xelus/rs108/keyboard.json index c524ae09ed..b1964e0577 100644 --- a/keyboards/xelus/rs108/keyboard.json +++ b/keyboards/xelus/rs108/keyboard.json @@ -6,11 +6,15 @@ "vid": "0x5845", "pid": "0x5208", "device_version": "0.0.2", - "force_nkro": true, "shared_endpoint": { "keyboard": true } }, + "host": { + "default": { + "nkro": true + } + }, "features": { "bootmagic": true, "console": true, diff --git a/keyboards/xelus/rs60/rev1/keyboard.json b/keyboards/xelus/rs60/rev1/keyboard.json index 4f894056f6..c8a1afa790 100644 --- a/keyboards/xelus/rs60/rev1/keyboard.json +++ b/keyboards/xelus/rs60/rev1/keyboard.json @@ -1,7 +1,11 @@ { "usb": { - "device_version": "0.1.0", - "force_nkro": true + "device_version": "0.1.0" + }, + "host": { + "default": { + "nkro": true + } }, "features": { "bootmagic": true, diff --git a/keyboards/xelus/rs60/rev2_0/keyboard.json b/keyboards/xelus/rs60/rev2_0/keyboard.json index e5506e0040..1ec1e71d42 100644 --- a/keyboards/xelus/rs60/rev2_0/keyboard.json +++ b/keyboards/xelus/rs60/rev2_0/keyboard.json @@ -1,11 +1,15 @@ { "usb": { "device_version": "0.2.0", - "force_nkro": true, "shared_endpoint": { "keyboard": true } }, + "host": { + "default": { + "nkro": true + } + }, "features": { "bootmagic": true, "console": true, diff --git a/keyboards/xelus/rs60/rev2_1/keyboard.json b/keyboards/xelus/rs60/rev2_1/keyboard.json index c116abc30b..86f3c2fa3d 100644 --- a/keyboards/xelus/rs60/rev2_1/keyboard.json +++ b/keyboards/xelus/rs60/rev2_1/keyboard.json @@ -1,11 +1,15 @@ { "usb": { "device_version": "0.2.1", - "force_nkro": true, "shared_endpoint": { "keyboard": true } }, + "host": { + "default": { + "nkro": true + } + }, "features": { "bootmagic": true, "console": true, diff --git a/keyboards/xiudi/xd60/keymaps/ansi_split_bs_rshift_space/keymap.c b/keyboards/xiudi/xd60/keymaps/ansi_split_bs_rshift_space/keymap.c index ad54ef0c86..e3a54e714e 100644 --- a/keyboards/xiudi/xd60/keymaps/ansi_split_bs_rshift_space/keymap.c +++ b/keyboards/xiudi/xd60/keymaps/ansi_split_bs_rshift_space/keymap.c @@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [1] = LAYOUT_60_ansi_split_bs_rshift_space( 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_NO, KC_WH_U, KC_UP, KC_WH_D, KC_BSPC,KC_HOME,KC_CALC,KC_NO, KC_INS, KC_NO, KC_PSCR, KC_SCRL, KC_PAUS, KC_DEL, + KC_NO, MS_WHLU, KC_UP, MS_WHLD, KC_BSPC,KC_HOME,KC_CALC,KC_NO, KC_INS, KC_NO, KC_PSCR, KC_SCRL, KC_PAUS, KC_DEL, KC_NO, KC_LEFT, KC_DOWN, KC_RIGHT,KC_DEL, KC_END, KC_PGDN,KC_NO, KC_NO, KC_NO, KC_HOME, KC_PGUP, KC_NO, KC_ENT, KC_LSFT, KC_NO, KC_NO, KC_APP, BL_STEP,KC_NO, KC_NO, KC_VOLD,KC_VOLU,KC_MUTE, KC_END, KC_PGDN, KC_RSFT, KC_PGUP, KC_INS, KC_LCTL, KC_LGUI, KC_LALT, KC_LSFT, KC_SPC, KC_ESC, KC_RGUI, MO(1), KC_HOME, KC_PGDN, KC_END diff --git a/keyboards/xiudi/xd60/keymaps/default/keymap.c b/keyboards/xiudi/xd60/keymaps/default/keymap.c index af133d9b3a..f6dce2c5c7 100644 --- a/keyboards/xiudi/xd60/keymaps/default/keymap.c +++ b/keyboards/xiudi/xd60/keymaps/default/keymap.c @@ -13,7 +13,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // 1: Function Layer 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_F13, KC_F14, - KC_NO, KC_WH_U, KC_UP, KC_WH_D, KC_BSPC,KC_HOME,KC_CALC,KC_NO, KC_INS, KC_NO, KC_PSCR, KC_SCRL, KC_PAUS, KC_DEL, + KC_NO, MS_WHLU, KC_UP, MS_WHLD, KC_BSPC,KC_HOME,KC_CALC,KC_NO, KC_INS, KC_NO, KC_PSCR, KC_SCRL, KC_PAUS, KC_DEL, KC_NO, KC_LEFT, KC_DOWN, KC_RIGHT,KC_DEL, KC_END, KC_PGDN,KC_NO, KC_NO, KC_NO, KC_HOME, KC_PGUP, KC_NO, KC_ENT, KC_LSFT, KC_NO, KC_NO, KC_APP, BL_STEP,KC_NO, KC_NO, KC_VOLD,KC_VOLU,KC_MUTE, KC_END, KC_PGDN, KC_RSFT, KC_PGUP, KC_INS, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RGUI, MO(1), KC_HOME, KC_PGDN, KC_END), diff --git a/keyboards/yandrstudio/zhou65/keyboard.json b/keyboards/yandrstudio/zhou65/keyboard.json index 6e65bacea2..0766bd3eca 100644 --- a/keyboards/yandrstudio/zhou65/keyboard.json +++ b/keyboards/yandrstudio/zhou65/keyboard.json @@ -2,8 +2,12 @@ "keyboard_name": "zhou65", "usb": { "pid": "0xAAAD", - "device_version": "1.0.0", - "force_nkro": true + "device_version": "1.0.0" + }, + "host": { + "default": { + "nkro": true + } }, "features": { "bootmagic": true, diff --git a/keyboards/yanghu/unicorne/keymaps/default/keymap.c b/keyboards/yanghu/unicorne/keymaps/default/keymap.c index 48e3b9a343..590f4a16ba 100644 --- a/keyboards/yanghu/unicorne/keymaps/default/keymap.c +++ b/keyboards/yanghu/unicorne/keymaps/default/keymap.c @@ -59,13 +59,13 @@ bool encoder_update_user(uint8_t index, bool clockwise) { if (index == 0) { if (clockwise) { #ifdef MOUSEKEY_ENABLE - tap_code(KC_MS_WH_DOWN); + tap_code(MS_WHLD); #else tap_code(KC_PGDN); #endif } else { #ifdef MOUSEKEY_ENABLE - tap_code(KC_MS_WH_UP); + tap_code(MS_WHLU); #else tap_code(KC_PGUP); #endif diff --git a/keyboards/ydkb/grape/keymaps/default/keymap.c b/keyboards/ydkb/grape/keymaps/default/keymap.c index 62a9e55433..d468c44028 100644 --- a/keyboards/ydkb/grape/keymaps/default/keymap.c +++ b/keyboards/ydkb/grape/keymaps/default/keymap.c @@ -24,6 +24,6 @@ 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_P0, KC_P0, KC_PDOT, KC_PENT, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_F13, KC_F14, KC_F15, KC_LSFT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RSFT, KC_UP, KC_F16, KC_F17, KC_F18, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_BTN1, KC_BTN2 + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, MS_BTN1, MS_BTN2 ) }; diff --git a/keyboards/ymdk/yd60mq/keymaps/iso/keymap.c b/keyboards/ymdk/yd60mq/keymaps/iso/keymap.c index 9c437680df..310549c07d 100644 --- a/keyboards/ymdk/yd60mq/keymaps/iso/keymap.c +++ b/keyboards/ymdk/yd60mq/keymaps/iso/keymap.c @@ -19,8 +19,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //,: Function Layer [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, - XXXXXXX, KC_BTN1, KC_MS_U, KC_BTN2, KC_WH_U, XXXXXXX, XXXXXXX, XXXXXXX, KC_UP, XXXXXXX, KC_PGUP, KC_HOME, KC_PSCR, - KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_D, UG_HUEU, UG_SATU, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_END, XXXXXXX, KC_MNXT, + XXXXXXX, MS_BTN1, MS_UP, MS_BTN2, MS_WHLU, XXXXXXX, XXXXXXX, XXXXXXX, KC_UP, XXXXXXX, KC_PGUP, KC_HOME, KC_PSCR, + KC_TRNS, MS_LEFT, MS_DOWN, MS_RGHT, MS_WHLD, UG_HUEU, UG_SATU, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_END, XXXXXXX, KC_MNXT, KC_TRNS, UG_NEXT, UG_PREV, UG_VALU, UG_VALD, UG_HUED, UG_SATD, XXXXXXX, KC_MUTE, KC_VOLD, KC_VOLU, KC_MPLY, KC_MPRV, KC_TRNS, KC_TRNS, KC_TRNS, UG_TOGG, UG_SPDU, UG_SPDD, XXXXXXX, KC_TRNS ) diff --git a/keyboards/yushakobo/navpad/10/keymaps/default/keymap.c b/keyboards/yushakobo/navpad/10/keymaps/default/keymap.c index a0c62cc4ce..c0e194aeda 100644 --- a/keyboards/yushakobo/navpad/10/keymaps/default/keymap.c +++ b/keyboards/yushakobo/navpad/10/keymaps/default/keymap.c @@ -29,9 +29,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { QK_BOOT, EE_CLR, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NUM, KC_QUOT, KC_PEQL, KC_NO, KC_CAPS, KC_NUM, KC_SCRL, S(KC_9), KC_UP, S(KC_0), S(KC_SPC), - KC_LEFT, KC_BTN3, KC_RGHT, S(KC_SPC), + KC_LEFT, MS_BTN3, KC_RGHT, S(KC_SPC), KC_TRNS, S(KC_ENT), KC_TRNS, KC_BSPC, KC_DOWN, KC_DEL, KC_TRNS, - KC_BTN1, KC_ENT, S(KC_SPC),LT(2,KC_SPC),KC_SPC, KC_COMM, KC_TRNS + MS_BTN1, KC_ENT, S(KC_SPC),LT(2,KC_SPC),KC_SPC, KC_COMM, KC_TRNS ), [_FN2] =LAYOUT ( diff --git a/keyboards/yushakobo/navpad/10/keymaps/default/readme.md b/keyboards/yushakobo/navpad/10/keymaps/default/readme.md index b9cf727e24..42e3df9506 100644 --- a/keyboards/yushakobo/navpad/10/keymaps/default/readme.md +++ b/keyboards/yushakobo/navpad/10/keymaps/default/readme.md @@ -25,11 +25,11 @@ |----------+----------+----------+----------+-----------+----------+---------------| | KC_CAPS | KC_NUM | KC_SCRL | S(KC_9) | KC_UP | S(KC_0) | S(KC_SPC) | `--------------------------------+----------+-----------+----------+---------------| - | KC_LEFT | KC_BTN3 | KC_RGHT | S(KC_SPC) | + | KC_LEFT | MS_BTN3 | KC_RGHT | S(KC_SPC) | ,--------------------------------+----------+-----------+----------+---------------| | KC_TRNS | S(KC_ENT)| KC_TRNS | KC_BSPC | KC_DOWN | KC_DEL | KC_TRNS | |----------+----------+----------+----------+-----------+----------+---------------| - | KC_BTN1 | KC_ENT |S(KC_SPC)|LT(2,KC_SPC)|KC_SPC | KC_COMM | KC_TRNS | + | MS_BTN1 | KC_ENT |S(KC_SPC)|LT(2,KC_SPC)|KC_SPC | KC_COMM | KC_TRNS | '----------------------------------------------------------------------------------` ``` ### FN2 layer diff --git a/keyboards/yushakobo/navpad/10_helix_r/keymaps/default/keymap.c b/keyboards/yushakobo/navpad/10_helix_r/keymaps/default/keymap.c index 5c5d1110a1..18c34677d0 100644 --- a/keyboards/yushakobo/navpad/10_helix_r/keymaps/default/keymap.c +++ b/keyboards/yushakobo/navpad/10_helix_r/keymaps/default/keymap.c @@ -31,9 +31,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { QK_BOOT, EE_CLR, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NUM, KC_QUOT, KC_PEQL, KC_NO, KC_1, KC_2, KC_3, KC_4, KC_5, KC_DEL, KC_CAPS, KC_NUM, KC_SCRL, S(KC_9), KC_UP, S(KC_0), S(KC_SPC), KC_Q, KC_W, KC_E, KC_R, KC_T, KC_BSPC, - KC_LEFT, KC_BTN3, KC_RGHT, S(KC_SPC), KC_A, KC_S, KC_D, KC_F, KC_G, KC_QUOT, + KC_LEFT, MS_BTN3, KC_RGHT, S(KC_SPC), KC_A, KC_S, KC_D, KC_F, KC_G, KC_QUOT, KC_TRNS, S(KC_ENT), KC_TRNS, KC_BSPC, KC_DOWN, KC_DEL, KC_TRNS, KC_RBRC, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_ENT, - KC_BTN1, KC_ENT, S(KC_SPC),LT(2,KC_SPC),KC_SPC, KC_COMM, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT + MS_BTN1, KC_ENT, S(KC_SPC),LT(2,KC_SPC),KC_SPC, KC_COMM, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT ), [_FN2] =LAYOUT ( diff --git a/keyboards/yushakobo/navpad/10_helix_r/keymaps/default/readme.md b/keyboards/yushakobo/navpad/10_helix_r/keymaps/default/readme.md index 48eeee421f..f18c01d8ef 100644 --- a/keyboards/yushakobo/navpad/10_helix_r/keymaps/default/readme.md +++ b/keyboards/yushakobo/navpad/10_helix_r/keymaps/default/readme.md @@ -25,11 +25,11 @@ `--------------------------------+----------+-----------+----------+---------------| |------------+----------+-----------+-----------+-----------+-----------| | KC_CAPS | KC_NUM | KC_SCRL | S(KC_9) | KC_UP | S(KC_0) | S(KC_SPC) | | KC_Q | KC_W | KC_E | KC_R | KC_T | KC_BSPC | `--------------------------------+----------+-----------+----------+---------------| |------------+----------+-----------+-----------+-----------+-----------| - | KC_LEFT | KC_BTN3 | KC_RGHT | S(KC_SPC) | | KC_A | KC_S | KC_D | KC_F | KC_G | KC_QUOT | + | KC_LEFT | MS_BTN3 | KC_RGHT | S(KC_SPC) | | KC_A | KC_S | KC_D | KC_F | KC_G | KC_QUOT | ,--------------------------------+----------+-----------+----------+---------------| ,-------------+------------+----------+-----------+-----------+-----------+-----------| | KC_TRNS | S(KC_ENT)| KC_TRNS | KC_BSPC | KC_DOWN | KC_DEL | KC_TRNS | | KC_RBRC | KC_Z | KC_X | KC_C | KC_V | KC_B | KC_ENT | |----------+----------+----------+----------+-----------+----------+---------------| |-------------+------------+----------+-----------+-----------+-----------+-----------| - | KC_BTN1 | KC_ENT |S(KC_SPC)|LT(2,KC_SPC)|KC_SPC | KC_COMM | KC_TRNS | | KC_TRNS | KC_TRNS | KC_NO | KC_LEFT | KC_DOWN | KC_UP | KC_RGHT | + | MS_BTN1 | KC_ENT |S(KC_SPC)|LT(2,KC_SPC)|KC_SPC | KC_COMM | KC_TRNS | | KC_TRNS | KC_TRNS | KC_NO | KC_LEFT | KC_DOWN | KC_UP | KC_RGHT | '----------------------------------------------------------------------------------` '-------------------------------------------------------------------------------------` ``` ### FN2 layer diff --git a/keyboards/yushakobo/quick17/keymaps/default/keymap.c b/keyboards/yushakobo/quick17/keymaps/default/keymap.c index 80e1b04ca5..8b3cd6fff1 100644 --- a/keyboards/yushakobo/quick17/keymaps/default/keymap.c +++ b/keyboards/yushakobo/quick17/keymaps/default/keymap.c @@ -33,7 +33,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LSFT,KC_X, KC_V, KC_B, LT(2,KC_SPC),LCTL(KC_S) ), [_EDIT2] = LAYOUT( - KC_ESC, KC_Q, KC_BTN3,KC_INS, KC_ENT, KC_DEL, + KC_ESC, KC_Q, MS_BTN3,KC_INS, KC_ENT, KC_DEL, KC_LCTL,KC_LBRC,KC_RBRC,KC_PGDN,KC_PGUP,LCTL(KC_Y), KC_LSFT,TO(3), RM_TOGG,TO(0), _______,KC_NO ), @@ -92,9 +92,9 @@ bool encoder_update_user(uint8_t index, bool clockwise){ } } else { // IS_LAYER_ON(_CONTROL) if (clockwise) { - tap_code(KC_WH_U); + tap_code(MS_WHLU); } else { - tap_code(KC_WH_D); + tap_code(MS_WHLD); } } } diff --git a/keyboards/helix/pico/qmk_conf/config.h b/keyboards/zeix/singa/rubrehaku/config.h similarity index 72% rename from keyboards/helix/pico/qmk_conf/config.h rename to keyboards/zeix/singa/rubrehaku/config.h index 15b3392895..e47dae35e6 100644 --- a/keyboards/helix/pico/qmk_conf/config.h +++ b/keyboards/zeix/singa/rubrehaku/config.h @@ -1,14 +1,10 @@ /* -This is the c configuration file for the keymap - -Copyright 2012 Jun Wako -Copyright 2015 Jack Humbert +Copyright 2024 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 @@ -20,9 +16,5 @@ 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 +#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET +#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 500U diff --git a/keyboards/zeix/singa/rubrehaku/keyboard.json b/keyboards/zeix/singa/rubrehaku/keyboard.json new file mode 100644 index 0000000000..3dbed82aab --- /dev/null +++ b/keyboards/zeix/singa/rubrehaku/keyboard.json @@ -0,0 +1,694 @@ +{ + "manufacturer": "KLC", + "keyboard_name": "Rubrehaku", + "maintainer": "itsme-zeix", + "bootloader": "rp2040", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "extrakey": true, + "mousekey": true, + "nkro": true, + "rgblight": true + }, + "indicators": { + "caps_lock": "GP29" + }, + "matrix_pins": { + "cols": ["GP7", "GP6", "GP5", "GP4", "GP3", "GP2", "GP1", "GP0"], + "rows": ["GP27", "GP28", "GP10", "GP11", "GP18", "GP19", "GP23", "GP24", "GP25", "GP26"] + }, + "processor": "RP2040", + "rgblight": { + "animations": { + "alternating": true, + "breathing": true, + "christmas": true, + "knight": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "static_gradient": true, + "twinkle": true + }, + "default": { + "hue": 210, + "sat": 100, + "val": 8 + }, + "driver": "ws2812", + "led_count": 16, + "sleep": true + }, + "url": "https://klc-playground.com", + "usb": { + "device_version": "0.0.1", + "pid": "0x8889", + "vid": "0x4C27" + }, + "ws2812": { + "driver": "vendor", + "pin": "GP20" + }, + "layouts": { + "LAYOUT_all": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [1, 0], "x": 1, "y": 0}, + {"matrix": [0, 1], "x": 2, "y": 0}, + {"matrix": [1, 1], "x": 3, "y": 0}, + {"matrix": [0, 2], "x": 4, "y": 0}, + {"matrix": [1, 2], "x": 5, "y": 0}, + {"matrix": [0, 3], "x": 6, "y": 0}, + {"matrix": [1, 3], "x": 7, "y": 0}, + {"matrix": [0, 4], "x": 8, "y": 0}, + {"matrix": [1, 4], "x": 9, "y": 0}, + {"matrix": [0, 5], "x": 10, "y": 0}, + {"matrix": [1, 5], "x": 11, "y": 0}, + {"matrix": [0, 6], "x": 12, "y": 0}, + {"matrix": [1, 6], "x": 13, "y": 0}, + {"matrix": [0, 7], "x": 14, "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, 6], "x": 13.5, "y": 1, "w": 1.5}, + {"matrix": [3, 7], "x": 15, "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}, + {"matrix": [5, 6], "x": 13.75, "y": 2, "w": 1.25}, + {"matrix": [5, 7], "x": 15, "y": 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, 6], "x": 14, "y": 3}, + {"matrix": [7, 7], "x": 15, "y": 3}, + {"matrix": [8, 0], "x": 0, "y": 4, "w": 1.25}, + {"matrix": [9, 0], "x": 1.25, "y": 4, "w": 1.25}, + {"matrix": [8, 1], "x": 2.5, "y": 4, "w": 1.25}, + {"matrix": [9, 2], "x": 3.75, "y": 4, "w": 2.75}, + {"matrix": [8, 3], "x": 6.5, "y": 4, "w": 1.25}, + {"matrix": [9, 4], "x": 7.75, "y": 4, "w": 2.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": 13, "y": 4}, + {"matrix": [9, 6], "x": 14, "y": 4}, + {"matrix": [9, 7], "x": 15, "y": 4} + ] + }, + "LAYOUT_ansi": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [1, 0], "x": 1, "y": 0}, + {"matrix": [0, 1], "x": 2, "y": 0}, + {"matrix": [1, 1], "x": 3, "y": 0}, + {"matrix": [0, 2], "x": 4, "y": 0}, + {"matrix": [1, 2], "x": 5, "y": 0}, + {"matrix": [0, 3], "x": 6, "y": 0}, + {"matrix": [1, 3], "x": 7, "y": 0}, + {"matrix": [0, 4], "x": 8, "y": 0}, + {"matrix": [1, 4], "x": 9, "y": 0}, + {"matrix": [0, 5], "x": 10, "y": 0}, + {"matrix": [1, 5], "x": 11, "y": 0}, + {"matrix": [0, 6], "x": 12, "y": 0}, + {"matrix": [0, 7], "x": 13, "y": 0, "w": 2}, + {"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, 6], "x": 13.5, "y": 1, "w": 1.5}, + {"matrix": [3, 7], "x": 15, "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": [5, 6], "x": 12.75, "y": 2, "w": 2.25}, + {"matrix": [5, 7], "x": 15, "y": 2}, + {"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, 6], "x": 14, "y": 3}, + {"matrix": [7, 7], "x": 15, "y": 3}, + {"matrix": [8, 0], "x": 0, "y": 4, "w": 1.25}, + {"matrix": [9, 0], "x": 1.25, "y": 4, "w": 1.25}, + {"matrix": [8, 1], "x": 2.5, "y": 4, "w": 1.25}, + {"matrix": [8, 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": 13, "y": 4}, + {"matrix": [9, 6], "x": 14, "y": 4}, + {"matrix": [9, 7], "x": 15, "y": 4} + ] + }, + "LAYOUT_ansi_split_bs": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [1, 0], "x": 1, "y": 0}, + {"matrix": [0, 1], "x": 2, "y": 0}, + {"matrix": [1, 1], "x": 3, "y": 0}, + {"matrix": [0, 2], "x": 4, "y": 0}, + {"matrix": [1, 2], "x": 5, "y": 0}, + {"matrix": [0, 3], "x": 6, "y": 0}, + {"matrix": [1, 3], "x": 7, "y": 0}, + {"matrix": [0, 4], "x": 8, "y": 0}, + {"matrix": [1, 4], "x": 9, "y": 0}, + {"matrix": [0, 5], "x": 10, "y": 0}, + {"matrix": [1, 5], "x": 11, "y": 0}, + {"matrix": [0, 6], "x": 12, "y": 0}, + {"matrix": [1, 6], "x": 13, "y": 0}, + {"matrix": [0, 7], "x": 14, "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, 6], "x": 13.5, "y": 1, "w": 1.5}, + {"matrix": [3, 7], "x": 15, "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": [5, 6], "x": 12.75, "y": 2, "w": 2.25}, + {"matrix": [5, 7], "x": 15, "y": 2}, + {"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, 6], "x": 14, "y": 3}, + {"matrix": [7, 7], "x": 15, "y": 3}, + {"matrix": [8, 0], "x": 0, "y": 4, "w": 1.25}, + {"matrix": [9, 0], "x": 1.25, "y": 4, "w": 1.25}, + {"matrix": [8, 1], "x": 2.5, "y": 4, "w": 1.25}, + {"matrix": [8, 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": 13, "y": 4}, + {"matrix": [9, 6], "x": 14, "y": 4}, + {"matrix": [9, 7], "x": 15, "y": 4} + ] + }, + "LAYOUT_ansi_tsangan": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [1, 0], "x": 1, "y": 0}, + {"matrix": [0, 1], "x": 2, "y": 0}, + {"matrix": [1, 1], "x": 3, "y": 0}, + {"matrix": [0, 2], "x": 4, "y": 0}, + {"matrix": [1, 2], "x": 5, "y": 0}, + {"matrix": [0, 3], "x": 6, "y": 0}, + {"matrix": [1, 3], "x": 7, "y": 0}, + {"matrix": [0, 4], "x": 8, "y": 0}, + {"matrix": [1, 4], "x": 9, "y": 0}, + {"matrix": [0, 5], "x": 10, "y": 0}, + {"matrix": [1, 5], "x": 11, "y": 0}, + {"matrix": [0, 6], "x": 12, "y": 0}, + {"matrix": [0, 7], "x": 13, "y": 0, "w": 2}, + {"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, 6], "x": 13.5, "y": 1, "w": 1.5}, + {"matrix": [3, 7], "x": 15, "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": [5, 6], "x": 12.75, "y": 2, "w": 2.25}, + {"matrix": [5, 7], "x": 15, "y": 2}, + {"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, 6], "x": 14, "y": 3}, + {"matrix": [7, 7], "x": 15, "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": [8, 3], "x": 4, "y": 4, "w": 7}, + {"matrix": [8, 5], "x": 11, "y": 4, "w": 1.5}, + {"matrix": [8, 6], "x": 13, "y": 4}, + {"matrix": [9, 6], "x": 14, "y": 4}, + {"matrix": [9, 7], "x": 15, "y": 4} + ] + }, + "LAYOUT_ansi_tsangan_split_bs": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [1, 0], "x": 1, "y": 0}, + {"matrix": [0, 1], "x": 2, "y": 0}, + {"matrix": [1, 1], "x": 3, "y": 0}, + {"matrix": [0, 2], "x": 4, "y": 0}, + {"matrix": [1, 2], "x": 5, "y": 0}, + {"matrix": [0, 3], "x": 6, "y": 0}, + {"matrix": [1, 3], "x": 7, "y": 0}, + {"matrix": [0, 4], "x": 8, "y": 0}, + {"matrix": [1, 4], "x": 9, "y": 0}, + {"matrix": [0, 5], "x": 10, "y": 0}, + {"matrix": [1, 5], "x": 11, "y": 0}, + {"matrix": [0, 6], "x": 12, "y": 0}, + {"matrix": [1, 6], "x": 13, "y": 0}, + {"matrix": [0, 7], "x": 14, "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, 6], "x": 13.5, "y": 1, "w": 1.5}, + {"matrix": [3, 7], "x": 15, "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": [5, 6], "x": 12.75, "y": 2, "w": 2.25}, + {"matrix": [5, 7], "x": 15, "y": 2}, + {"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, 6], "x": 14, "y": 3}, + {"matrix": [7, 7], "x": 15, "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": [8, 3], "x": 4, "y": 4, "w": 7}, + {"matrix": [8, 5], "x": 11, "y": 4, "w": 1.5}, + {"matrix": [8, 6], "x": 13, "y": 4}, + {"matrix": [9, 6], "x": 14, "y": 4}, + {"matrix": [9, 7], "x": 15, "y": 4} + ] + }, + "LAYOUT_iso": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [1, 0], "x": 1, "y": 0}, + {"matrix": [0, 1], "x": 2, "y": 0}, + {"matrix": [1, 1], "x": 3, "y": 0}, + {"matrix": [0, 2], "x": 4, "y": 0}, + {"matrix": [1, 2], "x": 5, "y": 0}, + {"matrix": [0, 3], "x": 6, "y": 0}, + {"matrix": [1, 3], "x": 7, "y": 0}, + {"matrix": [0, 4], "x": 8, "y": 0}, + {"matrix": [1, 4], "x": 9, "y": 0}, + {"matrix": [0, 5], "x": 10, "y": 0}, + {"matrix": [1, 5], "x": 11, "y": 0}, + {"matrix": [0, 6], "x": 12, "y": 0}, + {"matrix": [0, 7], "x": 13, "y": 0, "w": 2}, + {"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": 15, "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}, + {"matrix": [5, 6], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + {"matrix": [5, 7], "x": 15, "y": 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, 6], "x": 14, "y": 3}, + {"matrix": [7, 7], "x": 15, "y": 3}, + {"matrix": [8, 0], "x": 0, "y": 4, "w": 1.25}, + {"matrix": [9, 0], "x": 1.25, "y": 4, "w": 1.25}, + {"matrix": [8, 1], "x": 2.5, "y": 4, "w": 1.25}, + {"matrix": [8, 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": 13, "y": 4}, + {"matrix": [9, 6], "x": 14, "y": 4}, + {"matrix": [9, 7], "x": 15, "y": 4} + ] + }, + "LAYOUT_iso_split_bs": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [1, 0], "x": 1, "y": 0}, + {"matrix": [0, 1], "x": 2, "y": 0}, + {"matrix": [1, 1], "x": 3, "y": 0}, + {"matrix": [0, 2], "x": 4, "y": 0}, + {"matrix": [1, 2], "x": 5, "y": 0}, + {"matrix": [0, 3], "x": 6, "y": 0}, + {"matrix": [1, 3], "x": 7, "y": 0}, + {"matrix": [0, 4], "x": 8, "y": 0}, + {"matrix": [1, 4], "x": 9, "y": 0}, + {"matrix": [0, 5], "x": 10, "y": 0}, + {"matrix": [1, 5], "x": 11, "y": 0}, + {"matrix": [0, 6], "x": 12, "y": 0}, + {"matrix": [1, 6], "x": 13, "y": 0}, + {"matrix": [0, 7], "x": 14, "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": 15, "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}, + {"matrix": [5, 6], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + {"matrix": [5, 7], "x": 15, "y": 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, 6], "x": 14, "y": 3}, + {"matrix": [7, 7], "x": 15, "y": 3}, + {"matrix": [8, 0], "x": 0, "y": 4, "w": 1.25}, + {"matrix": [9, 0], "x": 1.25, "y": 4, "w": 1.25}, + {"matrix": [8, 1], "x": 2.5, "y": 4, "w": 1.25}, + {"matrix": [8, 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": 13, "y": 4}, + {"matrix": [9, 6], "x": 14, "y": 4}, + {"matrix": [9, 7], "x": 15, "y": 4} + ] + }, + "LAYOUT_iso_tsangan": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [1, 0], "x": 1, "y": 0}, + {"matrix": [0, 1], "x": 2, "y": 0}, + {"matrix": [1, 1], "x": 3, "y": 0}, + {"matrix": [0, 2], "x": 4, "y": 0}, + {"matrix": [1, 2], "x": 5, "y": 0}, + {"matrix": [0, 3], "x": 6, "y": 0}, + {"matrix": [1, 3], "x": 7, "y": 0}, + {"matrix": [0, 4], "x": 8, "y": 0}, + {"matrix": [1, 4], "x": 9, "y": 0}, + {"matrix": [0, 5], "x": 10, "y": 0}, + {"matrix": [1, 5], "x": 11, "y": 0}, + {"matrix": [0, 6], "x": 12, "y": 0}, + {"matrix": [0, 7], "x": 13, "y": 0, "w": 2}, + {"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": 15, "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}, + {"matrix": [5, 6], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + {"matrix": [5, 7], "x": 15, "y": 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, 6], "x": 14, "y": 3}, + {"matrix": [7, 7], "x": 15, "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": [8, 3], "x": 4, "y": 4, "w": 7}, + {"matrix": [8, 5], "x": 11, "y": 4, "w": 1.5}, + {"matrix": [8, 6], "x": 13, "y": 4}, + {"matrix": [9, 6], "x": 14, "y": 4}, + {"matrix": [9, 7], "x": 15, "y": 4} + ] + }, + "LAYOUT_iso_tsangan_split_bs": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [1, 0], "x": 1, "y": 0}, + {"matrix": [0, 1], "x": 2, "y": 0}, + {"matrix": [1, 1], "x": 3, "y": 0}, + {"matrix": [0, 2], "x": 4, "y": 0}, + {"matrix": [1, 2], "x": 5, "y": 0}, + {"matrix": [0, 3], "x": 6, "y": 0}, + {"matrix": [1, 3], "x": 7, "y": 0}, + {"matrix": [0, 4], "x": 8, "y": 0}, + {"matrix": [1, 4], "x": 9, "y": 0}, + {"matrix": [0, 5], "x": 10, "y": 0}, + {"matrix": [1, 5], "x": 11, "y": 0}, + {"matrix": [0, 6], "x": 12, "y": 0}, + {"matrix": [1, 6], "x": 13, "y": 0}, + {"matrix": [0, 7], "x": 14, "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": 15, "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}, + {"matrix": [5, 6], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + {"matrix": [5, 7], "x": 15, "y": 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, 6], "x": 14, "y": 3}, + {"matrix": [7, 7], "x": 15, "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": [8, 3], "x": 4, "y": 4, "w": 7}, + {"matrix": [8, 5], "x": 11, "y": 4, "w": 1.5}, + {"matrix": [8, 6], "x": 13, "y": 4}, + {"matrix": [9, 6], "x": 14, "y": 4}, + {"matrix": [9, 7], "x": 15, "y": 4} + ] + } + } +} diff --git a/keyboards/zeix/singa/rubrehaku/keymaps/default/keymap.c b/keyboards/zeix/singa/rubrehaku/keymaps/default/keymap.c new file mode 100644 index 0000000000..17e226b98c --- /dev/null +++ b/keyboards/zeix/singa/rubrehaku/keymaps/default/keymap.c @@ -0,0 +1,35 @@ +/* +Copyright 2024 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_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_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, MO(1), + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT + ), + +[1] = LAYOUT_all( + KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_DEL, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), +}; diff --git a/keyboards/zeix/singa/rubrehaku/matrix_diagram.md b/keyboards/zeix/singa/rubrehaku/matrix_diagram.md new file mode 100644 index 0000000000..cd11c0070a --- /dev/null +++ b/keyboards/zeix/singa/rubrehaku/matrix_diagram.md @@ -0,0 +1,30 @@ +# Matrix Diagram for Rubrehaku + +``` + ┌───┬───┐ + Split Backspace │16 │07 │ + └───┴───┘ +┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ +│00 │10 │01 │11 │02 │12 │03 │13 │04 │14 │05 │15 │06 │07 │ +├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┐ ┌─────┐ +│20 │30 │21 │31 │22 │32 │23 │33 │24 │34 │25 │35 │26 │36 │37 │ │ │ +├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤ ┌──┴┐56 │ ISO Enter +│40 │50 │41 │51 │42 │52 │43 │53 │44 │54 │45 │55 │56 │57 │ │46 │ │ +├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤ └───┴────┘ +│60 │61 │71 │62 │72 │63 │73 │64 │74 │65 │75 │66 │76 │77 │ +├─────┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴───┴┬─┬───┼───┼───┤ +│80 │90 │81 │83 │95 │ │86 │96 │97 │ +└─────┴───┴─────┴───────────────────────────┴─────┘ └───┴───┴───┘ +┌────┬───┐ +│60 │70 │ Split Left Shift +└────┴───┘ +┌────┬────┬────┬────────────────────────┬────┬────┐ +│80 │90 │81 │83 │85 │95 │ 6.25u +└────┴────┴────┴────────────────────────┴────┴────┘ +┌────┬────┬────┬───────────┬────┬───────┬────┬────┐ +│80 │90 │81 │92 │83 │94 │85 │95 │ Split Space (Left 2.75u) +└────┴────┴────┴───────────┴────┴───────┴────┴────┘ +┌────┬────┬────┬───────┬────┬───────────┬────┬────┐ +│80 │90 │81 │92 │83 │94 │85 │95 │ Split Space (Left 2.25u) +└────┴────┴────┴───────┴────┴───────────┴────┴────┘ +``` diff --git a/keyboards/zeix/singa/rubrehaku/readme.md b/keyboards/zeix/singa/rubrehaku/readme.md new file mode 100644 index 0000000000..f7fcc1f871 --- /dev/null +++ b/keyboards/zeix/singa/rubrehaku/readme.md @@ -0,0 +1,27 @@ +# SINGA Rubrehaku (PCB designed by Zeix) + +![Layout Compatibility](https://i.imgur.com/jTkWkJd.png) + +65% PCB designed to support Rubrehaku + +* Keyboard Maintainer: [Zeix](https://github.com/itsme-zeix) +* Hardware Supported: KLC x SINGA x Rubrehose Rubrehaku +* Hardware Availability: https://klc-playground.com/ + +Make example for this keyboard (after setting up your build environment): + + make zeix/singa/rubrehaku:default + +Flashing example for this keyboard: + + make zeix/singa/rubrehaku: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`. diff --git a/keyboards/zsa/moonlander/keymaps/default/keymap.c b/keyboards/zsa/moonlander/keymaps/default/keymap.c index 338e8e4f97..899b2d559b 100644 --- a/keyboards/zsa/moonlander/keymaps/default/keymap.c +++ b/keyboards/zsa/moonlander/keymaps/default/keymap.c @@ -53,10 +53,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [MDIA] = LAYOUT( LED_LEVEL,_______,_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, - _______, _______, _______, KC_MS_U, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, KC_MS_L, KC_MS_D, KC_MS_R, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPLY, + _______, _______, _______, MS_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, MS_LEFT, MS_DOWN, MS_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPLY, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_MNXT, _______, _______, - _______, _______, _______, KC_BTN1, KC_BTN2, _______, _______, KC_VOLU, KC_VOLD, KC_MUTE, _______, _______, + _______, _______, _______, MS_BTN1, MS_BTN2, _______, _______, KC_VOLU, KC_VOLD, KC_MUTE, _______, _______, _______, _______, _______, _______, _______, _______ ), }; diff --git a/keyboards/zvecr/split_blackpill/config.h b/keyboards/zvecr/split_blackpill/config.h index efc3bbe66a..59582a9726 100644 --- a/keyboards/zvecr/split_blackpill/config.h +++ b/keyboards/zvecr/split_blackpill/config.h @@ -2,8 +2,6 @@ // SPDX-License-Identifier: GPL-2.0-or-later #pragma once -#define SELECT_SOFT_SERIAL_SPEED 0 - #define WS2812_PWM_DRIVER PWMD3 #define WS2812_PWM_CHANNEL 1 #define WS2812_PWM_DMA_STREAM STM32_DMA1_STREAM3 diff --git a/keyboards/zvecr/split_blackpill/keyboard.json b/keyboards/zvecr/split_blackpill/keyboard.json index 407314b71a..2884b790d7 100644 --- a/keyboards/zvecr/split_blackpill/keyboard.json +++ b/keyboards/zvecr/split_blackpill/keyboard.json @@ -27,7 +27,8 @@ }, "serial": { "driver": "usart", - "pin": "B6" + "pin": "B6", + "speed": 0 }, "bootmagic": { "matrix": [4, 0] diff --git a/keyboards/zvecr/zv48/config.h b/keyboards/zvecr/zv48/config.h index 9e8c2656a9..ab9ca3355b 100644 --- a/keyboards/zvecr/zv48/config.h +++ b/keyboards/zvecr/zv48/config.h @@ -3,7 +3,6 @@ #pragma once -//#define SELECT_SOFT_SERIAL_SPEED 0 #define SERIAL_USART_SPEED 921600 #define WS2812_PWM_DRIVER PWMD3 diff --git a/layouts/default/ortho_5x13/default_ortho_5x13/keymap.c b/layouts/default/ortho_5x13/default_ortho_5x13/keymap.c index 11958f3700..1ab20cdc25 100644 --- a/layouts/default/ortho_5x13/default_ortho_5x13/keymap.c +++ b/layouts/default/ortho_5x13/default_ortho_5x13/keymap.c @@ -26,16 +26,16 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [1] = LAYOUT_ortho_5x13( KC_GRV , KC_MUTE, KC_VOLU, KC_VOLD, KC_MPRV, KC_MPLY, KC_MNXT, G(KC_P), KC_SLEP, KC_WAKE, KC_PSCR, KC_DEL , KC_EQL , - KC_BTN3, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ , - KC_BTN2, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ , - _______, KC_BTN1, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MS_U, _______ , - _______, KC_BTN4, _______, _______, _______, _______, _______, _______, _______, _______, KC_MS_L, KC_MS_D, KC_MS_R + MS_BTN3, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ , + MS_BTN2, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ , + _______, MS_BTN1, _______, _______, _______, _______, _______, _______, _______, _______, _______, MS_UP, _______ , + _______, MS_BTN4, _______, _______, _______, _______, _______, _______, _______, _______, MS_LEFT, MS_DOWN, MS_RGHT ), [2] = LAYOUT_ortho_5x13( KC_ESC , 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_RBT, _______, _______, _______, _______, _______, _______, _______, _______ , KC_CAPS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ , - _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, KC_WH_U, _______ , - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_WH_L, KC_WH_D, KC_WH_R + _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, MS_WHLU, _______ , + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, MS_WHLL, MS_WHLD, MS_WHLR ), }; diff --git a/layouts/default/ortho_6x13/default_ortho_6x13/keymap.c b/layouts/default/ortho_6x13/default_ortho_6x13/keymap.c index 2fa8f2acce..013b3ba987 100644 --- a/layouts/default/ortho_6x13/default_ortho_6x13/keymap.c +++ b/layouts/default/ortho_6x13/default_ortho_6x13/keymap.c @@ -30,17 +30,17 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_ortho_6x13( KC_GRV , KC_MUTE, KC_VOLU, KC_VOLD, KC_MPRV, KC_MPLY, KC_MNXT, G(KC_P), KC_SLEP, KC_WAKE, KC_PSCR, _______, _______ , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ , - KC_BTN3, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ , - KC_BTN2, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ , - _______, KC_BTN1, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MS_U, _______ , - _______, KC_BTN4, _______, _______, _______, _______, _______, _______, _______, _______, KC_MS_L, KC_MS_D, KC_MS_R + MS_BTN3, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ , + MS_BTN2, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ , + _______, MS_BTN1, _______, _______, _______, _______, _______, _______, _______, _______, _______, MS_UP, _______ , + _______, MS_BTN4, _______, _______, _______, _______, _______, _______, _______, _______, MS_LEFT, MS_DOWN, MS_RGHT ), [2] = LAYOUT_ortho_6x13( KC_ESC , 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_RBT, _______, _______, _______, _______, _______, _______, _______, _______ , KC_CAPS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ , - _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, KC_WH_U, _______ , - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_WH_L, KC_WH_D, KC_WH_R + _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, MS_WHLU, _______ , + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, MS_WHLL, MS_WHLD, MS_WHLR ), }; diff --git a/lib/python/qmk/cli/ci/validate_aliases.py b/lib/python/qmk/cli/ci/validate_aliases.py index 7f781d4397..4f2fe6c941 100644 --- a/lib/python/qmk/cli/ci/validate_aliases.py +++ b/lib/python/qmk/cli/ci/validate_aliases.py @@ -2,7 +2,7 @@ """ from milc import cli -from qmk.keyboard import resolve_keyboard, keyboard_folder, keyboard_alias_definitions +from qmk.keyboard import keyboard_folder, keyboard_alias_definitions def _safe_keyboard_folder(target): @@ -17,10 +17,6 @@ def _target_keyboard_exists(target): if not target: return False - # If the target directory existed but there was no rules.mk or rules.mk was incorrectly parsed, then we can't build it. - if not resolve_keyboard(target): - return False - # If the target directory exists but it itself has an invalid alias or invalid rules.mk, then we can't build it either. if not _safe_keyboard_folder(target): return False @@ -29,6 +25,21 @@ def _target_keyboard_exists(target): return True +def _alias_not_self(alias): + """Check if alias points to itself, either directly or within a circular reference + """ + aliases = keyboard_alias_definitions() + + found = set() + while alias in aliases: + found.add(alias) + alias = aliases[alias].get('target', alias) + if alias in found: + return False + + return True + + @cli.subcommand('Validates the list of keyboard aliases.', hidden=True) def ci_validate_aliases(cli): aliases = keyboard_alias_definitions() @@ -36,7 +47,11 @@ def ci_validate_aliases(cli): success = True for alias in aliases.keys(): target = aliases[alias].get('target', None) - if not _target_keyboard_exists(target): + if not _alias_not_self(alias): + cli.log.error(f'Keyboard alias {alias} should not point to itself') + success = False + + elif not _target_keyboard_exists(target): cli.log.error(f'Keyboard alias {alias} has a target that doesn\'t exist: {target}') success = False diff --git a/lib/python/qmk/cli/generate/config_h.py b/lib/python/qmk/cli/generate/config_h.py index d613f7b92c..d6d0299291 100755 --- a/lib/python/qmk/cli/generate/config_h.py +++ b/lib/python/qmk/cli/generate/config_h.py @@ -72,19 +72,6 @@ def generate_matrix_size(kb_info_json, config_h_lines): config_h_lines.append(generate_define('MATRIX_ROWS', kb_info_json['matrix_size']['rows'])) -def generate_matrix_masked(kb_info_json, config_h_lines): - """"Enable matrix mask if required""" - mask_required = False - - if 'matrix_grid' in kb_info_json.get('dip_switch', {}): - mask_required = True - if 'matrix_grid' in kb_info_json.get('split', {}).get('handedness', {}): - mask_required = True - - if mask_required: - config_h_lines.append(generate_define('MATRIX_MASKED')) - - def generate_config_items(kb_info_json, config_h_lines): """Iterate through the info_config map to generate basic config values. """ @@ -202,8 +189,6 @@ def generate_config_h(cli): generate_matrix_size(kb_info_json, config_h_lines) - generate_matrix_masked(kb_info_json, config_h_lines) - if 'matrix_pins' in kb_info_json: config_h_lines.append(matrix_pins(kb_info_json['matrix_pins'])) diff --git a/lib/python/qmk/cli/info.py b/lib/python/qmk/cli/info.py index 5925b57258..26f7f0269d 100755 --- a/lib/python/qmk/cli/info.py +++ b/lib/python/qmk/cli/info.py @@ -102,6 +102,48 @@ def show_matrix(kb_info_json, title_caps=True): print(render_layout(kb_info_json['layouts'][layout_name]['layout'], cli.config.info.ascii, labels)) +def show_leds(kb_info_json, title_caps=True): + """Render LED indices per key, using the keyboard's key layout geometry. + + We build a map from (row, col) -> LED index using rgb_matrix/led_matrix layout, + then label each key with its LED index. Keys without an associated LED are left blank. + """ + # Prefer rgb_matrix, fall back to led_matrix + led_feature = None + for feature in ['rgb_matrix', 'led_matrix']: + if 'layout' in kb_info_json.get(feature, {}): + led_feature = feature + break + + if not led_feature: + cli.echo('{fg_yellow}No rgb_matrix/led_matrix layout found to derive LED indices.{fg_reset}') + return + + # Build mapping from matrix position -> LED indices for faster lookup later + by_matrix = {} + for idx, led in enumerate(kb_info_json[led_feature]['layout']): + if 'matrix' in led: + led_key = tuple(led.get('matrix')) + by_matrix[led_key] = idx + + # For each keyboard layout (e.g., LAYOUT), render keys labeled with LED index (or blank) + for layout_name, layout in kb_info_json['layouts'].items(): + labels = [] + for key in layout['layout']: + led_key = tuple(key.get('matrix')) + label = str(by_matrix[led_key]) if led_key in by_matrix else '' + + labels.append(label) + + # Header + if title_caps: + cli.echo('{fg_blue}LED indices for "%s"{fg_reset}:', layout_name) + else: + cli.echo('{fg_blue}leds_%s{fg_reset}:', layout_name) + + print(render_layout(kb_info_json['layouts'][layout_name]['layout'], cli.config.info.ascii, labels)) + + def print_friendly_output(kb_info_json): """Print the info.json in a friendly text format. """ @@ -169,6 +211,7 @@ def print_parsed_rules_mk(keyboard_name): @cli.argument('-km', '--keymap', help='Keymap to show info for (Optional).') @cli.argument('-l', '--layouts', action='store_true', help='Render the layouts.') @cli.argument('-m', '--matrix', action='store_true', help='Render the layouts with matrix information.') +@cli.argument('-L', '--leds', action='store_true', help='Render the LED layout with LED indices (rgb_matrix/led_matrix).') @cli.argument('-f', '--format', default='friendly', arg_only=True, help='Format to display the data in (friendly, text, json) (Default: friendly).') @cli.argument('--ascii', action='store_true', default=not UNICODE_SUPPORT, help='Render layout box drawings in ASCII only.') @cli.argument('-r', '--rules-mk', action='store_true', help='Render the parsed values of the keyboard\'s rules.mk file.') @@ -227,5 +270,8 @@ def info(cli): if cli.config.info.matrix: show_matrix(kb_info_json, title_caps) + if cli.config.info.leds: + show_leds(kb_info_json, title_caps) + if cli.config.info.keymap: show_keymap(kb_info_json, title_caps) diff --git a/lib/python/qmk/cli/list/keyboards.py b/lib/python/qmk/cli/list/keyboards.py index 405b9210e4..8b6c451673 100644 --- a/lib/python/qmk/cli/list/keyboards.py +++ b/lib/python/qmk/cli/list/keyboards.py @@ -5,10 +5,9 @@ from milc import cli import qmk.keyboard -@cli.argument('--no-resolve-defaults', arg_only=True, action='store_false', help='Ignore any "DEFAULT_FOLDER" within keyboards rules.mk') @cli.subcommand("List the keyboards currently defined within QMK") def list_keyboards(cli): """List the keyboards currently defined within QMK """ - for keyboard_name in qmk.keyboard.list_keyboards(cli.args.no_resolve_defaults): + for keyboard_name in qmk.keyboard.list_keyboards(): print(keyboard_name) diff --git a/lib/python/qmk/cli/mass_compile.py b/lib/python/qmk/cli/mass_compile.py index 4c4669d451..e71280f482 100755 --- a/lib/python/qmk/cli/mass_compile.py +++ b/lib/python/qmk/cli/mass_compile.py @@ -16,7 +16,7 @@ from qmk.build_targets import BuildTarget, JsonKeymapBuildTarget from qmk.util import maybe_exit_config -def mass_compile_targets(targets: List[BuildTarget], clean: bool, dry_run: bool, no_temp: bool, parallel: int, **env): +def mass_compile_targets(targets: List[BuildTarget], clean: bool, dry_run: bool, no_temp: bool, parallel: int, print_failures: bool, **env): if len(targets) == 0: return @@ -37,6 +37,30 @@ def mass_compile_targets(targets: List[BuildTarget], clean: bool, dry_run: bool, builddir.mkdir(parents=True, exist_ok=True) with open(makefile, "w") as f: + # yapf: disable + f.write( + f"""\ +# This file is auto-generated by qmk mass-compile +# Do not edit this file directly. +all: print_failures +.PHONY: all_targets print_failures +print_failures: all_targets +"""# noqa + ) + if print_failures: + f.write( + f"""\ + @for f in $$(ls .build/failed.log.{os.getpid()}.* 2>/dev/null | sort); do \\ + echo; \\ + echo "======================================================================================"; \\ + echo "Failed build log: $$f"; \\ + echo "------------------------------------------------------"; \\ + cat $$f; \\ + echo "------------------------------------------------------"; \\ + done +"""# noqa + ) + # yapf: enable for target in sorted(targets, key=lambda t: (t.keyboard, t.keymap)): keyboard_name = target.keyboard keymap_name = target.keymap @@ -58,7 +82,7 @@ def mass_compile_targets(targets: List[BuildTarget], clean: bool, dry_run: bool, f.write( f"""\ .PHONY: {target_filename}{target_suffix}_binary -all: {target_filename}{target_suffix}_binary +all_targets: {target_filename}{target_suffix}_binary {target_filename}{target_suffix}_binary: @rm -f "{build_log}" || true @echo "Compiling QMK Firmware for target: '{keyboard_name}:{keymap_name}'..." >>"{build_log}" @@ -98,6 +122,7 @@ all: {target_filename}{target_suffix}_binary @cli.argument('-j', '--parallel', type=int, default=1, help="Set the number of parallel make jobs; 0 means unlimited.") @cli.argument('-c', '--clean', arg_only=True, action='store_true', help="Remove object files before compiling.") @cli.argument('-n', '--dry-run', arg_only=True, action='store_true', help="Don't actually build, just show the commands to be run.") +@cli.argument('-p', '--print-failures', arg_only=True, action='store_true', help="Print failed builds.") @cli.argument( '-f', '--filter', @@ -123,4 +148,4 @@ def mass_compile(cli): else: targets = search_keymap_targets([('all', cli.config.mass_compile.keymap)], cli.args.filter) - return mass_compile_targets(targets, cli.args.clean, cli.args.dry_run, cli.args.no_temp, cli.config.mass_compile.parallel, **build_environment(cli.args.env)) + return mass_compile_targets(targets, cli.args.clean, cli.args.dry_run, cli.args.no_temp, cli.config.mass_compile.parallel, cli.args.print_failures, **build_environment(cli.args.env)) diff --git a/lib/python/qmk/cli/migrate.py b/lib/python/qmk/cli/migrate.py index 0bab5c1949..d0f195d737 100644 --- a/lib/python/qmk/cli/migrate.py +++ b/lib/python/qmk/cli/migrate.py @@ -6,14 +6,14 @@ from dotty_dict import dotty from milc import cli -from qmk.keyboard import keyboard_completer, keyboard_folder, resolve_keyboard +from qmk.keyboard import keyboard_completer, keyboard_folder from qmk.info import info_json, find_info_json from qmk.json_encoders import InfoJSONEncoder from qmk.json_schema import json_load def _candidate_files(keyboard): - kb_dir = Path(resolve_keyboard(keyboard)) + kb_dir = Path(keyboard) cur_dir = Path('keyboards') files = [] diff --git a/lib/python/qmk/cli/resolve_alias.py b/lib/python/qmk/cli/resolve_alias.py index b9ffb46618..dff2242b28 100644 --- a/lib/python/qmk/cli/resolve_alias.py +++ b/lib/python/qmk/cli/resolve_alias.py @@ -5,7 +5,7 @@ from milc import cli @cli.argument('--allow-unknown', arg_only=True, action='store_true', help="Return original if rule is not a valid keyboard.") @cli.argument('keyboard', arg_only=True, help='The keyboard\'s name') -@cli.subcommand('Resolve DEFAULT_FOLDER and any keyboard_aliases for provided rule') +@cli.subcommand('Resolve any keyboard_aliases for provided rule') def resolve_alias(cli): try: print(keyboard_folder(cli.args.keyboard)) diff --git a/lib/python/qmk/cli/userspace/compile.py b/lib/python/qmk/cli/userspace/compile.py index f164ca2ef1..64fa3ed0c9 100644 --- a/lib/python/qmk/cli/userspace/compile.py +++ b/lib/python/qmk/cli/userspace/compile.py @@ -20,6 +20,7 @@ def _extra_arg_setter(target, extra_args): @cli.argument('-j', '--parallel', type=int, default=1, help="Set the number of parallel make jobs; 0 means unlimited.") @cli.argument('-c', '--clean', arg_only=True, action='store_true', help="Remove object files before compiling.") @cli.argument('-n', '--dry-run', arg_only=True, action='store_true', help="Don't actually build, just show the commands to be run.") +@cli.argument('-p', '--print-failures', arg_only=True, action='store_true', help="Print failed builds.") @cli.argument('-e', '--env', arg_only=True, action='append', default=[], help="Set a variable to be passed to make. May be passed multiple times.") @cli.subcommand('Compiles the build targets specified in userspace `qmk.json`.') def userspace_compile(cli): @@ -42,4 +43,4 @@ def userspace_compile(cli): if len(keyboard_keymap_targets) > 0: build_targets.extend(search_keymap_targets(keyboard_keymap_targets)) - return mass_compile_targets(list(set(build_targets)), cli.args.clean, cli.args.dry_run, cli.config.userspace_compile.no_temp, cli.config.userspace_compile.parallel, **build_environment(cli.args.env)) + return mass_compile_targets(list(set(build_targets)), cli.args.clean, cli.args.dry_run, cli.config.userspace_compile.no_temp, cli.config.userspace_compile.parallel, cli.args.print_failures, **build_environment(cli.args.env)) diff --git a/lib/python/qmk/flashers.py b/lib/python/qmk/flashers.py index 2cca4941d3..22d9133d65 100644 --- a/lib/python/qmk/flashers.py +++ b/lib/python/qmk/flashers.py @@ -96,7 +96,7 @@ def _find_bootloader(): details = 'halfkay' else: details = 'qmk-hid' - elif bl in {'apm32-dfu', 'gd32v-dfu', 'kiibohd', 'stm32-dfu'}: + elif bl in {'apm32-dfu', 'at32-dfu', 'gd32v-dfu', 'kiibohd', 'stm32-dfu'}: details = (vid, pid) else: details = None @@ -176,7 +176,7 @@ def _flash_dfu_util(details, file): # kiibohd elif details[0] == '1c11' and details[1] == 'b007': cli.run(['dfu-util', '-a', '0', '-d', f'{details[0]}:{details[1]}', '-D', file], capture_output=False) - # STM32, APM32, or GD32V DFU + # STM32, APM32, AT32, or GD32V DFU else: cli.run(['dfu-util', '-a', '0', '-d', f'{details[0]}:{details[1]}', '-s', '0x08000000:leave', '-D', file], capture_output=False) @@ -226,7 +226,7 @@ def flasher(mcu, file): return (True, "Please make sure 'teensy_loader_cli' or 'hid_bootloader_cli' is available on your system.") else: return (True, "Specifying the MCU with '-m' is necessary for HalfKay/HID bootloaders!") - elif bl in {'apm32-dfu', 'gd32v-dfu', 'kiibohd', 'stm32-dfu'}: + elif bl in {'apm32-dfu', 'at32-dfu', 'gd32v-dfu', 'kiibohd', 'stm32-dfu'}: _flash_dfu_util(details, file) elif bl == 'wb32-dfu': if _flash_wb32_dfu_updater(file): diff --git a/lib/python/qmk/info.py b/lib/python/qmk/info.py index d95fd3d799..f63228b2bc 100644 --- a/lib/python/qmk/info.py +++ b/lib/python/qmk/info.py @@ -223,12 +223,6 @@ def _validate(keyboard, info_data): def info_json(keyboard, force_layout=None): """Generate the info.json data for a specific keyboard. """ - cur_dir = Path('keyboards') - root_rules_mk = parse_rules_mk_file(cur_dir / keyboard / 'rules.mk') - - if 'DEFAULT_FOLDER' in root_rules_mk: - keyboard = root_rules_mk['DEFAULT_FOLDER'] - info_data = { 'keyboard_name': str(keyboard), 'keyboard_folder': str(keyboard), @@ -260,6 +254,7 @@ def info_json(keyboard, force_layout=None): # Ensure that we have various calculated values info_data = _matrix_size(info_data) info_data = _joystick_axis_count(info_data) + info_data = _matrix_masked(info_data) # Merge in data from info_data = _extract_led_config(info_data, str(keyboard)) @@ -482,6 +477,9 @@ def _extract_split_serial(info_data, config_c): if 'soft_serial_pin' in split: split['serial'] = split.get('serial', {}) split['serial']['pin'] = split.pop('soft_serial_pin') + if 'soft_serial_speed' in split: + split['serial'] = split.get('serial', {}) + split['serial']['speed'] = split.pop('soft_serial_speed') def _extract_split_transport(info_data, config_c): @@ -836,6 +834,25 @@ def _joystick_axis_count(info_data): return info_data +def _matrix_masked(info_data): + """"Add info_data['matrix_pins.masked'] if required""" + mask_required = False + + if 'matrix_grid' in info_data.get('dip_switch', {}): + mask_required = True + if 'matrix_grid' in info_data.get('split', {}).get('handedness', {}): + mask_required = True + + if mask_required: + if 'masked' not in info_data.get('matrix_pins', {}): + if 'matrix_pins' not in info_data: + info_data['matrix_pins'] = {} + + info_data['matrix_pins']['masked'] = True + + return info_data + + def _check_matrix(info_data): """Check the matrix to ensure that row/column count is consistent. """ @@ -1005,11 +1022,6 @@ def find_info_json(keyboard): keyboard_parent = keyboard_path.parent info_jsons = [keyboard_path / 'info.json', keyboard_path / 'keyboard.json'] - # Add DEFAULT_FOLDER before parents, if present - rules = rules_mk(keyboard) - if 'DEFAULT_FOLDER' in rules: - info_jsons.append(Path(rules['DEFAULT_FOLDER']) / 'info.json') - # Add in parent folders for least specific for _ in range(5): if keyboard_parent == base_path: diff --git a/lib/python/qmk/keyboard.py b/lib/python/qmk/keyboard.py index fcf5b5b158..254dc62309 100644 --- a/lib/python/qmk/keyboard.py +++ b/lib/python/qmk/keyboard.py @@ -99,8 +99,6 @@ def find_keyboard_from_dir(): keymap_index = len(current_path.parts) - current_path.parts.index('keymaps') - 1 current_path = current_path.parents[keymap_index] - current_path = resolve_keyboard(current_path) - if qmk.path.is_keyboard(current_path): return str(current_path) @@ -121,7 +119,7 @@ def find_readme(keyboard): def keyboard_folder(keyboard): """Returns the actual keyboard folder. - This checks aliases and DEFAULT_FOLDER to resolve the actual path for a keyboard. + This checks aliases to resolve the actual path for a keyboard. """ aliases = keyboard_alias_definitions() @@ -131,8 +129,6 @@ def keyboard_folder(keyboard): if keyboard == last_keyboard: break - keyboard = resolve_keyboard(keyboard) - if not qmk.path.is_keyboard(keyboard): raise ValueError(f'Invalid keyboard: {keyboard}') @@ -158,7 +154,7 @@ def keyboard_aliases(keyboard): def keyboard_folder_or_all(keyboard): """Returns the actual keyboard folder. - This checks aliases and DEFAULT_FOLDER to resolve the actual path for a keyboard. + This checks aliases to resolve the actual path for a keyboard. If the supplied argument is "all", it returns an AllKeyboards object. """ if keyboard == 'all': @@ -179,32 +175,18 @@ def keyboard_completer(prefix, action, parser, parsed_args): return list_keyboards() -def list_keyboards(resolve_defaults=True): - """Returns a list of all keyboards - optionally processing any DEFAULT_FOLDER. +def list_keyboards(): + """Returns a list of all keyboards """ # We avoid pathlib here because this is performance critical code. - paths = [] - for marker in ['rules.mk', 'keyboard.json']: - kb_wildcard = os.path.join(base_path, "**", marker) - paths += [path for path in glob(kb_wildcard, recursive=True) if os.path.sep + 'keymaps' + os.path.sep not in path] + kb_wildcard = os.path.join(base_path, "**", 'keyboard.json') + paths = [path for path in glob(kb_wildcard, recursive=True) if os.path.sep + 'keymaps' + os.path.sep not in path] found = map(_find_name, paths) - if resolve_defaults: - found = map(resolve_keyboard, found) return sorted(set(found)) -@lru_cache(maxsize=None) -def resolve_keyboard(keyboard): - cur_dir = Path('keyboards') - rules = parse_rules_mk_file(cur_dir / keyboard / 'rules.mk') - while 'DEFAULT_FOLDER' in rules and keyboard != rules['DEFAULT_FOLDER']: - keyboard = rules['DEFAULT_FOLDER'] - rules = parse_rules_mk_file(cur_dir / keyboard / 'rules.mk') - return keyboard - - def config_h(keyboard): """Parses all the config.h files for a keyboard. @@ -216,7 +198,7 @@ def config_h(keyboard): """ config = {} cur_dir = Path('keyboards') - keyboard = Path(resolve_keyboard(keyboard)) + keyboard = Path(keyboard) for dir in keyboard.parts: cur_dir = cur_dir / dir @@ -235,7 +217,7 @@ def rules_mk(keyboard): a dictionary representing the content of the entire rules.mk tree for a keyboard """ cur_dir = Path('keyboards') - keyboard = Path(resolve_keyboard(keyboard)) + keyboard = Path(keyboard) rules = parse_rules_mk_file(cur_dir / keyboard / 'rules.mk') for i, dir in enumerate(keyboard.parts): diff --git a/lib/python/qmk/keymap.py b/lib/python/qmk/keymap.py index b7138aa4a1..4cf07f59d6 100644 --- a/lib/python/qmk/keymap.py +++ b/lib/python/qmk/keymap.py @@ -343,24 +343,21 @@ def locate_keymap(keyboard, keymap, force_layout=None): # Check the keyboard folder first, last match wins keymap_path = '' - search_dirs = [QMK_FIRMWARE] - keyboard_dirs = [keyboard_folder(keyboard)] + search_conf = {QMK_FIRMWARE: [keyboard_folder(keyboard)]} if HAS_QMK_USERSPACE: # When we've got userspace, check there _last_ as we want them to override anything in the main repo. - search_dirs.append(QMK_USERSPACE) # We also want to search for any aliases as QMK's folder structure may have changed, with an alias, but the user # hasn't updated their keymap location yet. - keyboard_dirs.extend(keyboard_aliases(keyboard)) - keyboard_dirs = list(set(keyboard_dirs)) + search_conf[QMK_USERSPACE] = list(set([keyboard_folder(keyboard), *keyboard_aliases(keyboard)])) - for search_dir in search_dirs: + for search_dir, keyboard_dirs in search_conf.items(): for keyboard_dir in keyboard_dirs: checked_dirs = '' - for dir in keyboard_dir.split('/'): + for folder_name in keyboard_dir.split('/'): if checked_dirs: - checked_dirs = '/'.join((checked_dirs, dir)) + checked_dirs = '/'.join((checked_dirs, folder_name)) else: - checked_dirs = dir + checked_dirs = folder_name keymap_dir = Path(search_dir) / Path('keyboards') / checked_dirs / 'keymaps' diff --git a/lib/python/qmk/path.py b/lib/python/qmk/path.py index c47ed18362..1739689adf 100644 --- a/lib/python/qmk/path.py +++ b/lib/python/qmk/path.py @@ -21,11 +21,9 @@ def is_keyboard(keyboard_name): if Path(keyboard_name).is_absolute(): return False - keyboard_path = QMK_FIRMWARE / 'keyboards' / keyboard_name - rules_mk = keyboard_path / 'rules.mk' - keyboard_json = keyboard_path / 'keyboard.json' + keyboard_json = QMK_FIRMWARE / 'keyboards' / keyboard_name / 'keyboard.json' - return rules_mk.exists() or keyboard_json.exists() + return keyboard_json.exists() def under_qmk_firmware(path=Path(os.environ['ORIG_CWD'])): diff --git a/platforms/chibios/boards/QMK_BLOK/configs/config.h b/platforms/chibios/boards/QMK_BLOK/configs/config.h index 834dc497d3..26fe7cddc7 100644 --- a/platforms/chibios/boards/QMK_BLOK/configs/config.h +++ b/platforms/chibios/boards/QMK_BLOK/configs/config.h @@ -17,6 +17,23 @@ # define I2C1_SCL_PIN D0 #endif +/**====================== + ** SPI Driver + *========================**/ + +#ifndef SPI_DRIVER +# define SPI_DRIVER SPID0 +#endif +#ifndef SPI_SCK_PIN +# define SPI_SCK_PIN B1 +#endif +#ifndef SPI_MISO_PIN +# define SPI_MISO_PIN B3 +#endif +#ifndef SPI_MOSI_PIN +# define SPI_MOSI_PIN B2 +#endif + /**====================== ** UART Driver *========================**/ diff --git a/platforms/chibios/boards/QMK_PM2040/configs/config.h b/platforms/chibios/boards/QMK_PM2040/configs/config.h index f8b46b7fe4..5ba030a556 100644 --- a/platforms/chibios/boards/QMK_PM2040/configs/config.h +++ b/platforms/chibios/boards/QMK_PM2040/configs/config.h @@ -17,6 +17,22 @@ # define I2C1_SCL_PIN D0 #endif +/**====================== + ** SPI Driver + *========================**/ +#ifndef SPI_DRIVER +# define SPI_DRIVER SPID0 +#endif +#ifndef SPI_SCK_PIN +# define SPI_SCK_PIN B1 +#endif +#ifndef SPI_MISO_PIN +# define SPI_MISO_PIN B3 +#endif +#ifndef SPI_MOSI_PIN +# define SPI_MOSI_PIN B2 +#endif + /**====================== ** UART Driver *========================**/ diff --git a/platforms/chibios/boards/STEMCELL/configs/config.h b/platforms/chibios/boards/STEMCELL/configs/config.h index 82f6c63636..ab10432e4e 100644 --- a/platforms/chibios/boards/STEMCELL/configs/config.h +++ b/platforms/chibios/boards/STEMCELL/configs/config.h @@ -27,3 +27,18 @@ # define SERIAL_USART_DRIVER SD2 #endif +/**====================== + ** SPI Driver + *========================**/ +#ifndef SPI_DRIVER +# define SPI_DRIVER SPID1 +#endif +#ifndef SPI_SCK_PIN +# define SPI_SCK_PIN B1 +#endif +#ifndef SPI_MISO_PIN +# define SPI_MISO_PIN B3 +#endif +#ifndef SPI_MOSI_PIN +# define SPI_MOSI_PIN B2 +#endif diff --git a/platforms/chibios/boards/STEMCELL/configs/mcuconf.h b/platforms/chibios/boards/STEMCELL/configs/mcuconf.h index db239854aa..d4b870f8e4 100644 --- a/platforms/chibios/boards/STEMCELL/configs/mcuconf.h +++ b/platforms/chibios/boards/STEMCELL/configs/mcuconf.h @@ -196,7 +196,7 @@ /* * SPI driver system settings. */ -#define STM32_SPI_USE_SPI1 FALSE +#define STM32_SPI_USE_SPI1 TRUE #define STM32_SPI_USE_SPI2 FALSE #define STM32_SPI_USE_SPI3 FALSE #define STM32_SPI_SPI1_RX_DMA_STREAM STM32_DMA_STREAM_ID(2, 0) diff --git a/platforms/progmem.h b/platforms/progmem.h index 3a7a169682..6c4ebcaa01 100644 --- a/platforms/progmem.h +++ b/platforms/progmem.h @@ -7,6 +7,7 @@ # define PROGMEM # define PSTR(x) x # define PGM_P const char* +# define memcmp_P(s1, s2, n) memcmp(s1, s2, n) # define memcpy_P(dest, src, n) memcpy(dest, src, n) # define pgm_read_byte(address_short) *((uint8_t*)(address_short)) # define pgm_read_word(address_short) *((uint16_t*)(address_short)) diff --git a/quantum/audio/audio.c b/quantum/audio/audio.c index 4e223f0c9a..461ec89544 100644 --- a/quantum/audio/audio.c +++ b/quantum/audio/audio.c @@ -183,6 +183,25 @@ void audio_init(void) { #endif } +void audio_task(void) { +#ifdef AUDIO_INIT_DELAY + // startup song potentially needs to be run a little bit + // after keyboard startup, or else they will not work correctly + // because of interaction with the USB device state, which + // may still be in flux... + static bool delayed_tasks_run = false; + static uint16_t delayed_task_timer = 0; + if (!delayed_tasks_run) { + if (!delayed_task_timer) { + delayed_task_timer = timer_read(); + } else if (timer_elapsed(delayed_task_timer) > 300) { + audio_startup(); + delayed_tasks_run = true; + } + } +#endif +} + void audio_startup(void) { if (audio_config.enable) { PLAY_SONG(startup_song); @@ -371,8 +390,9 @@ void audio_play_melody(float (*np)[][2], uint16_t n_count, bool n_repeat) { melody_current_note_duration = audio_duration_to_ms((*notes_pointer)[current_note][1]); } -float click[2][2]; -void audio_play_click(uint16_t delay, float pitch, uint16_t duration) { +void audio_play_click(uint16_t delay, float pitch, uint16_t duration) { + static float click[2][2]; + uint16_t duration_tone = audio_ms_to_duration(duration); uint16_t duration_delay = audio_ms_to_duration(delay); diff --git a/quantum/audio/audio.h b/quantum/audio/audio.h index 647744a686..a41814d0f8 100644 --- a/quantum/audio/audio.h +++ b/quantum/audio/audio.h @@ -69,7 +69,11 @@ void eeconfig_update_audio_current(void); * @post audio system (and hardware) initialized and ready to play tones */ void audio_init(void); -void audio_startup(void); + +/** + * \brief Handle various subsystem background tasks. + */ +void audio_task(void); /** * @brief en-/disable audio output, save this choice to the eeprom diff --git a/drivers/battery/battery.c b/quantum/battery/battery.c similarity index 100% rename from drivers/battery/battery.c rename to quantum/battery/battery.c diff --git a/drivers/battery/battery.h b/quantum/battery/battery.h similarity index 100% rename from drivers/battery/battery.h rename to quantum/battery/battery.h diff --git a/quantum/battery/tests/battery_tests.cpp b/quantum/battery/tests/battery_tests.cpp new file mode 100644 index 0000000000..ee011be8a8 --- /dev/null +++ b/quantum/battery/tests/battery_tests.cpp @@ -0,0 +1,97 @@ +// Copyright 2025 QMK +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "gtest/gtest.h" +#include "gmock/gmock.h" + +using testing::_; + +class BatteryDriverMock { + public: + virtual ~BatteryDriverMock() {} + + // mock methods + MOCK_METHOD0(battery_driver_init, void(void)); + MOCK_METHOD0(battery_driver_sample_percent, uint8_t(void)); + MOCK_METHOD1(battery_percent_changed_kb, void(uint8_t)); +}; + +class BatteryTest : public ::testing::Test { + public: + BatteryTest() { + _batteryDriverMock.reset(new ::testing::NiceMock()); + } + virtual ~BatteryTest() { + _batteryDriverMock.reset(); + } + + static std::unique_ptr _batteryDriverMock; +}; + +std::unique_ptr BatteryTest::_batteryDriverMock; + +extern "C" { +#include "quantum/battery/battery.h" +#include "timer.h" + +void advance_time(uint32_t ms); + +void battery_driver_init(void) { + if (BatteryTest::_batteryDriverMock) { + BatteryTest::_batteryDriverMock->battery_driver_init(); + } +} + +uint8_t battery_driver_sample_percent(void) { + if (BatteryTest::_batteryDriverMock) { + return BatteryTest::_batteryDriverMock->battery_driver_sample_percent(); + } + return 255; +} + +void battery_percent_changed_kb(uint8_t level) { + if (BatteryTest::_batteryDriverMock) { + BatteryTest::_batteryDriverMock->battery_percent_changed_kb(level); + } +} +} + +TEST_F(BatteryTest, TestInit) { + // init driver and initial sample + EXPECT_CALL(*_batteryDriverMock, battery_driver_init()).Times(1); + EXPECT_CALL(*_batteryDriverMock, battery_driver_sample_percent()).Times(1); + + battery_init(); +} + +TEST_F(BatteryTest, TestSampleCached) { + // sample before timeout + EXPECT_CALL(*_batteryDriverMock, battery_driver_sample_percent()).Times(0); + + advance_time(1); + battery_task(); +} + +TEST_F(BatteryTest, TestSampleNotCached) { + // sample after timeout + EXPECT_CALL(*_batteryDriverMock, battery_driver_sample_percent()).Times(1); + + advance_time(60000); + battery_task(); +} + +TEST_F(BatteryTest, TestGet) { + // sample does not directly sample + EXPECT_CALL(*_batteryDriverMock, battery_driver_sample_percent()).Times(0); + + battery_get_percent(); +} + +TEST_F(BatteryTest, TestChanged) { + // callbacks on value changed + EXPECT_CALL(*_batteryDriverMock, battery_percent_changed_kb(_)).Times(1); + + battery_task(); + advance_time(60000); + battery_task(); +} diff --git a/quantum/battery/tests/rules.mk b/quantum/battery/tests/rules.mk new file mode 100644 index 0000000000..86980f1020 --- /dev/null +++ b/quantum/battery/tests/rules.mk @@ -0,0 +1,7 @@ +VPATH += $(DRIVER_PATH)/battery + +battery_SRC := \ + $(PLATFORM_PATH)/timer.c \ + $(PLATFORM_PATH)/$(PLATFORM_KEY)/timer.c \ + $(QUANTUM_PATH)/battery/battery.c \ + $(QUANTUM_PATH)/battery/tests/battery_tests.cpp \ diff --git a/quantum/battery/tests/testlist.mk b/quantum/battery/tests/testlist.mk new file mode 100644 index 0000000000..e91da865a0 --- /dev/null +++ b/quantum/battery/tests/testlist.mk @@ -0,0 +1,2 @@ +TEST_LIST += \ + battery \ diff --git a/quantum/command.c b/quantum/command.c index 998d9b9aa1..ea2fd68e2b 100644 --- a/quantum/command.c +++ b/quantum/command.c @@ -28,7 +28,6 @@ along with this program. If not, see . #include "action_layer.h" #include "action_util.h" #include "eeconfig.h" -#include "sleep_led.h" #include "led.h" #include "command.h" #include "quantum.h" @@ -39,6 +38,10 @@ along with this program. If not, see . # include "backlight.h" #endif +#ifdef SLEEP_LED_ENABLE +# include "sleep_led.h" +#endif + #if defined(MOUSEKEY_ENABLE) # include "mousekey.h" #endif diff --git a/quantum/keyboard.c b/quantum/keyboard.c index c1a6d444a5..173c696e2d 100644 --- a/quantum/keyboard.c +++ b/quantum/keyboard.c @@ -122,7 +122,7 @@ along with this program. If not, see . #ifdef SPLIT_KEYBOARD # include "split_util.h" #endif -#ifdef BATTERY_DRIVER +#ifdef BATTERY_ENABLE # include "battery.h" #endif #ifdef BLUETOOTH_ENABLE @@ -532,7 +532,7 @@ void keyboard_init(void) { // init after split init pointing_device_init(); #endif -#ifdef BATTERY_DRIVER +#ifdef BATTERY_ENABLE battery_init(); #endif #ifdef BLUETOOTH_ENABLE @@ -648,24 +648,8 @@ void quantum_task(void) { if (!is_keyboard_master()) return; #endif -#if defined(AUDIO_ENABLE) && defined(AUDIO_INIT_DELAY) - // There are some tasks that need to be run a little bit - // after keyboard startup, or else they will not work correctly - // because of interaction with the USB device state, which - // may still be in flux... - // - // At the moment the only feature that needs this is the - // startup song. - static bool delayed_tasks_run = false; - static uint16_t delayed_task_timer = 0; - if (!delayed_tasks_run) { - if (!delayed_task_timer) { - delayed_task_timer = timer_read(); - } else if (timer_elapsed(delayed_task_timer) > 300) { - audio_startup(); - delayed_tasks_run = true; - } - } +#ifdef AUDIO_ENABLE + audio_task(); #endif #if defined(AUDIO_ENABLE) && !defined(NO_MUSIC_MODE) @@ -795,7 +779,7 @@ void keyboard_task(void) { joystick_task(); #endif -#ifdef BATTERY_DRIVER +#ifdef BATTERY_ENABLE battery_task(); #endif diff --git a/quantum/keymap_extras/sendstring_lithuanian_qwerty.h b/quantum/keymap_extras/sendstring_lithuanian_qwerty.h index 676930e9d3..0c0bdc6a98 100644 --- a/quantum/keymap_extras/sendstring_lithuanian_qwerty.h +++ b/quantum/keymap_extras/sendstring_lithuanian_qwerty.h @@ -54,13 +54,13 @@ const uint8_t ascii_to_keycode_lut[128] PROGMEM = { XXXXXXX, XXXXXXX, XXXXXXX, KC_ESC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, // ! " # $ % & ' - KC_SPC, LT_1, LT_QUOT, LT_3, LT_4, LT_5, LT_7, LT_QUOT, + KC_SPC, LT_AOGO, LT_QUOT, LT_EOGO, LT_EDOT, LT_IOGO, LT_UOGO, LT_QUOT, // ( ) * + , - . / - LT_9, LT_0, LT_8, LT_ZCAR, LT_COMM, LT_MINS, LT_DOT, LT_SLSH, + LT_9, LT_0, LT_UMAC, LT_ZCAR, LT_COMM, LT_MINS, LT_DOT, LT_SLSH, // 0 1 2 3 4 5 6 7 LT_0, LT_AOGO, LT_CCAR, LT_EOGO, LT_EDOT, LT_IOGO, LT_SCAR, LT_UOGO, // 8 9 : ; < = > ? - LT_UMAC, LT_9, LT_SCLN, LT_SCLN, LT_COMM, LT_PLUS, LT_DOT, LT_SLSH, + LT_UMAC, LT_9, LT_SCLN, LT_SCLN, LT_COMM, LT_ZCAR, LT_DOT, LT_SLSH, // @ A B C D E F G LT_CCAR, LT_A, LT_B, LT_C, LT_D, LT_E, LT_F, LT_G, // H I J K L M N O diff --git a/quantum/keymap_extras/sendstring_slovak.h b/quantum/keymap_extras/sendstring_slovak.h index a908773969..a2a545e412 100644 --- a/quantum/keymap_extras/sendstring_slovak.h +++ b/quantum/keymap_extras/sendstring_slovak.h @@ -108,13 +108,13 @@ const uint8_t ascii_to_keycode_lut[128] PROGMEM = { // P Q R S T U V W SK_P, SK_Q, SK_R, SK_S, SK_T, SK_U, SK_V, SK_W, // X Y Z [ \ ] ^ _ - SK_X, SK_Y, SK_Z, SK_F, SK_Q, SK_G, SK_3, SK_MINS, + SK_X, SK_Y, SK_Z, SK_F, SK_Q, SK_G, SK_SCAR, SK_MINS, // ` a b c d e f g - SK_7, SK_A, SK_B, SK_C, SK_D, SK_E, SK_F, SK_G, + SK_YACU, SK_A, SK_B, SK_C, SK_D, SK_E, SK_F, SK_G, // h i j k l m n o SK_H, SK_I, SK_J, SK_K, SK_L, SK_M, SK_N, SK_O, // p q r s t u v w SK_P, SK_Q, SK_R, SK_S, SK_T, SK_U, SK_V, SK_W, // x y z { | } ~ DEL - SK_X, SK_Y, SK_Z, SK_B, SK_W, SK_N, SK_1, KC_DEL + SK_X, SK_Y, SK_Z, SK_B, SK_W, SK_N, SK_PLUS, KC_DEL }; diff --git a/quantum/led_matrix/led_matrix.c b/quantum/led_matrix/led_matrix.c index 7a0e8a5ebb..9c8004cc17 100644 --- a/quantum/led_matrix/led_matrix.c +++ b/quantum/led_matrix/led_matrix.c @@ -107,7 +107,11 @@ void eeconfig_update_led_matrix_default(void) { void eeconfig_debug_led_matrix(void) { dprintf("led_matrix_eeconfig EEPROM\n"); dprintf("led_matrix_eeconfig.enable = %d\n", led_matrix_eeconfig.enable); +#ifdef LED_MATRIX_MODE_NAME_ENABLE + dprintf("led_matrix_eeconfig.mode = %d (%s)\n", led_matrix_eeconfig.mode, led_matrix_get_mode_name(led_matrix_eeconfig.mode)); +#else dprintf("led_matrix_eeconfig.mode = %d\n", led_matrix_eeconfig.mode); +#endif // LED_MATRIX_MODE_NAME_ENABLE dprintf("led_matrix_eeconfig.val = %d\n", led_matrix_eeconfig.val); dprintf("led_matrix_eeconfig.speed = %d\n", led_matrix_eeconfig.speed); dprintf("led_matrix_eeconfig.flags = %d\n", led_matrix_eeconfig.flags); @@ -525,7 +529,11 @@ void led_matrix_mode_eeprom_helper(uint8_t mode, bool write_to_eeprom) { } led_task_state = STARTING; eeconfig_flag_led_matrix(write_to_eeprom); - dprintf("led matrix mode [%s]: %u\n", (write_to_eeprom) ? "EEPROM" : "NOEEPROM", led_matrix_eeconfig.mode); +#ifdef LED_MATRIX_MODE_NAME_ENABLE + dprintf("led matrix mode [%s]: %u (%s)\n", (write_to_eeprom) ? "EEPROM" : "NOEEPROM", (unsigned)led_matrix_eeconfig.mode, led_matrix_get_mode_name(led_matrix_eeconfig.mode)); +#else + dprintf("led matrix mode [%s]: %u\n", (write_to_eeprom) ? "EEPROM" : "NOEEPROM", (unsigned)led_matrix_eeconfig.mode); +#endif // LED_MATRIX_MODE_NAME_ENABLE } void led_matrix_mode_noeeprom(uint8_t mode) { led_matrix_mode_eeprom_helper(mode, false); @@ -652,3 +660,48 @@ void led_matrix_set_flags(led_flags_t flags) { void led_matrix_set_flags_noeeprom(led_flags_t flags) { led_matrix_set_flags_eeprom_helper(flags, false); } + +// LED Matrix naming +#undef LED_MATRIX_EFFECT +#ifdef LED_MATRIX_MODE_NAME_ENABLE +const char *led_matrix_get_mode_name(uint8_t mode) { + switch (mode) { + case LED_MATRIX_NONE: + return "NONE"; + +# define LED_MATRIX_EFFECT(name, ...) \ + case LED_MATRIX_##name: \ + return #name; +# include "led_matrix_effects.inc" +# undef LED_MATRIX_EFFECT + +# ifdef COMMUNITY_MODULES_ENABLE +# define LED_MATRIX_EFFECT(name, ...) \ + case LED_MATRIX_COMMUNITY_MODULE_##name: \ + return #name; +# include "led_matrix_community_modules.inc" +# undef LED_MATRIX_EFFECT +# endif // COMMUNITY_MODULES_ENABLE + +# if defined(LED_MATRIX_CUSTOM_KB) || defined(LED_MATRIX_CUSTOM_USER) +# define LED_MATRIX_EFFECT(name, ...) \ + case LED_MATRIX_CUSTOM_##name: \ + return #name; + +# ifdef LED_MATRIX_CUSTOM_KB +# include "led_matrix_kb.inc" +# endif // LED_MATRIX_CUSTOM_KB + +# ifdef LED_MATRIX_CUSTOM_USER +# include "led_matrix_user.inc" +# endif // LED_MATRIX_CUSTOM_USER + +# undef LED_MATRIX_EFFECT +# endif // LED_MATRIX_CUSTOM_KB || LED_MATRIX_CUSTOM_USER + + default: + return "UNKNOWN"; + } +} +# undef LED_MATRIX_EFFECT +#endif // LED_MATRIX_MODE_NAME_ENABLE diff --git a/quantum/led_matrix/led_matrix.h b/quantum/led_matrix/led_matrix.h index 0dfe33ffab..9a49515ab2 100644 --- a/quantum/led_matrix/led_matrix.h +++ b/quantum/led_matrix/led_matrix.h @@ -184,6 +184,10 @@ led_flags_t led_matrix_get_flags(void); void led_matrix_set_flags(led_flags_t flags); void led_matrix_set_flags_noeeprom(led_flags_t flags); +#ifdef LED_MATRIX_MODE_NAME_ENABLE +const char *led_matrix_get_mode_name(uint8_t mode); +#endif // LED_MATRIX_MODE_NAME_ENABLE + static inline bool led_matrix_check_finished_leds(uint8_t led_idx) { #if defined(LED_MATRIX_SPLIT) if (is_keyboard_left()) { diff --git a/quantum/matrix.c b/quantum/matrix.c index a877fb4e41..167a70e5b6 100644 --- a/quantum/matrix.c +++ b/quantum/matrix.c @@ -25,10 +25,6 @@ along with this program. If not, see . #ifdef SPLIT_KEYBOARD # include "split_common/split_util.h" # include "split_common/transactions.h" - -# define ROWS_PER_HAND (MATRIX_ROWS / 2) -#else -# define ROWS_PER_HAND (MATRIX_ROWS) #endif #ifdef DIRECT_PINS_RIGHT @@ -52,13 +48,13 @@ along with this program. If not, see . #endif #ifdef DIRECT_PINS -static SPLIT_MUTABLE pin_t direct_pins[ROWS_PER_HAND][MATRIX_COLS] = DIRECT_PINS; +static SPLIT_MUTABLE pin_t direct_pins[MATRIX_ROWS_PER_HAND][MATRIX_COLS] = DIRECT_PINS; #elif (DIODE_DIRECTION == ROW2COL) || (DIODE_DIRECTION == COL2ROW) # ifdef MATRIX_ROW_PINS -static SPLIT_MUTABLE_ROW pin_t row_pins[ROWS_PER_HAND] = MATRIX_ROW_PINS; +static SPLIT_MUTABLE_ROW pin_t row_pins[MATRIX_ROWS_PER_HAND] = MATRIX_ROW_PINS; # endif // MATRIX_ROW_PINS # ifdef MATRIX_COL_PINS -static SPLIT_MUTABLE_COL pin_t col_pins[MATRIX_COLS] = MATRIX_COL_PINS; +static SPLIT_MUTABLE_COL pin_t col_pins[MATRIX_COLS] = MATRIX_COL_PINS; # endif // MATRIX_COL_PINS #endif @@ -109,7 +105,7 @@ static inline uint8_t readMatrixPin(pin_t pin) { #ifdef DIRECT_PINS __attribute__((weak)) void matrix_init_pins(void) { - for (int row = 0; row < ROWS_PER_HAND; row++) { + for (int row = 0; row < MATRIX_ROWS_PER_HAND; row++) { for (int col = 0; col < MATRIX_COLS; col++) { pin_t pin = direct_pins[row][col]; if (pin != NO_PIN) { @@ -158,7 +154,7 @@ static void unselect_row(uint8_t row) { } static void unselect_rows(void) { - for (uint8_t x = 0; x < ROWS_PER_HAND; x++) { + for (uint8_t x = 0; x < MATRIX_ROWS_PER_HAND; x++) { unselect_row(x); } } @@ -228,7 +224,7 @@ static void unselect_cols(void) { __attribute__((weak)) void matrix_init_pins(void) { unselect_cols(); - for (uint8_t x = 0; x < ROWS_PER_HAND; x++) { + for (uint8_t x = 0; x < MATRIX_ROWS_PER_HAND; x++) { if (row_pins[x] != NO_PIN) { gpio_atomic_set_pin_input_high(row_pins[x]); } @@ -245,7 +241,7 @@ __attribute__((weak)) void matrix_read_rows_on_col(matrix_row_t current_matrix[] matrix_output_select_delay(); // For each row... - for (uint8_t row_index = 0; row_index < ROWS_PER_HAND; row_index++) { + for (uint8_t row_index = 0; row_index < MATRIX_ROWS_PER_HAND; row_index++) { // Check row pin state if (readMatrixPin(row_pins[row_index]) == 0) { // Pin LO, set col bit @@ -275,16 +271,16 @@ void matrix_init(void) { // Set pinout for right half if pinout for that half is defined if (!isLeftHand) { # ifdef DIRECT_PINS_RIGHT - const pin_t direct_pins_right[ROWS_PER_HAND][MATRIX_COLS] = DIRECT_PINS_RIGHT; - for (uint8_t i = 0; i < ROWS_PER_HAND; i++) { + const pin_t direct_pins_right[MATRIX_ROWS_PER_HAND][MATRIX_COLS] = DIRECT_PINS_RIGHT; + for (uint8_t i = 0; i < MATRIX_ROWS_PER_HAND; i++) { for (uint8_t j = 0; j < MATRIX_COLS; j++) { direct_pins[i][j] = direct_pins_right[i][j]; } } # endif # ifdef MATRIX_ROW_PINS_RIGHT - const pin_t row_pins_right[ROWS_PER_HAND] = MATRIX_ROW_PINS_RIGHT; - for (uint8_t i = 0; i < ROWS_PER_HAND; i++) { + const pin_t row_pins_right[MATRIX_ROWS_PER_HAND] = MATRIX_ROW_PINS_RIGHT; + for (uint8_t i = 0; i < MATRIX_ROWS_PER_HAND; i++) { row_pins[i] = row_pins_right[i]; } # endif @@ -296,8 +292,8 @@ void matrix_init(void) { # endif } - thisHand = isLeftHand ? 0 : (ROWS_PER_HAND); - thatHand = ROWS_PER_HAND - thisHand; + thisHand = isLeftHand ? 0 : (MATRIX_ROWS_PER_HAND); + thatHand = MATRIX_ROWS_PER_HAND - thisHand; #endif // initialize key pins @@ -307,7 +303,7 @@ void matrix_init(void) { memset(matrix, 0, sizeof(matrix)); memset(raw_matrix, 0, sizeof(raw_matrix)); - debounce_init(ROWS_PER_HAND); + debounce_init(MATRIX_ROWS_PER_HAND); matrix_init_kb(); } @@ -325,7 +321,7 @@ uint8_t matrix_scan(void) { #if defined(DIRECT_PINS) || (DIODE_DIRECTION == COL2ROW) // Set row, read cols - for (uint8_t current_row = 0; current_row < ROWS_PER_HAND; current_row++) { + for (uint8_t current_row = 0; current_row < MATRIX_ROWS_PER_HAND; current_row++) { matrix_read_cols_on_row(curr_matrix, current_row); } #elif (DIODE_DIRECTION == ROW2COL) @@ -340,9 +336,9 @@ uint8_t matrix_scan(void) { if (changed) memcpy(raw_matrix, curr_matrix, sizeof(curr_matrix)); #ifdef SPLIT_KEYBOARD - changed = debounce(raw_matrix, matrix + thisHand, ROWS_PER_HAND, changed) | matrix_post_scan(); + changed = debounce(raw_matrix, matrix + thisHand, MATRIX_ROWS_PER_HAND, changed) | matrix_post_scan(); #else - changed = debounce(raw_matrix, matrix, ROWS_PER_HAND, changed); + changed = debounce(raw_matrix, matrix, MATRIX_ROWS_PER_HAND, changed); matrix_scan_kb(); #endif return (uint8_t)changed; diff --git a/quantum/matrix.h b/quantum/matrix.h index a5b628fc59..99f01aece2 100644 --- a/quantum/matrix.h +++ b/quantum/matrix.h @@ -35,6 +35,12 @@ typedef uint32_t matrix_row_t; # error "MATRIX_COLS: invalid value" #endif +#ifdef SPLIT_KEYBOARD +# define MATRIX_ROWS_PER_HAND (MATRIX_ROWS / 2) +#else +# define MATRIX_ROWS_PER_HAND (MATRIX_ROWS) +#endif + #define MATRIX_ROW_SHIFTER ((matrix_row_t)1) #ifdef __cplusplus diff --git a/quantum/matrix_common.c b/quantum/matrix_common.c index d02c527caa..b4a86fc483 100644 --- a/quantum/matrix_common.c +++ b/quantum/matrix_common.c @@ -8,10 +8,6 @@ # include "split_common/split_util.h" # include "split_common/transactions.h" # include - -# define ROWS_PER_HAND (MATRIX_ROWS / 2) -#else -# define ROWS_PER_HAND (MATRIX_ROWS) #endif #ifndef MATRIX_IO_DELAY @@ -95,8 +91,8 @@ void matrix_print(void) { bool matrix_post_scan(void) { bool changed = false; if (is_keyboard_master()) { - static bool last_connected = false; - matrix_row_t slave_matrix[ROWS_PER_HAND] = {0}; + static bool last_connected = false; + matrix_row_t slave_matrix[MATRIX_ROWS_PER_HAND] = {0}; if (transport_master_if_connected(matrix + thisHand, slave_matrix)) { changed = memcmp(matrix + thatHand, slave_matrix, sizeof(slave_matrix)) != 0; @@ -148,8 +144,8 @@ __attribute__((weak)) void matrix_slave_scan_user(void) {} __attribute__((weak)) void matrix_init(void) { #ifdef SPLIT_KEYBOARD - thisHand = isLeftHand ? 0 : (ROWS_PER_HAND); - thatHand = ROWS_PER_HAND - thisHand; + thisHand = isLeftHand ? 0 : (MATRIX_ROWS_PER_HAND); + thatHand = MATRIX_ROWS_PER_HAND - thisHand; #endif matrix_init_custom(); @@ -160,7 +156,7 @@ __attribute__((weak)) void matrix_init(void) { matrix[i] = 0; } - debounce_init(ROWS_PER_HAND); + debounce_init(MATRIX_ROWS_PER_HAND); matrix_init_kb(); } @@ -169,9 +165,9 @@ __attribute__((weak)) uint8_t matrix_scan(void) { bool changed = matrix_scan_custom(raw_matrix); #ifdef SPLIT_KEYBOARD - changed = debounce(raw_matrix, matrix + thisHand, ROWS_PER_HAND, changed) | matrix_post_scan(); + changed = debounce(raw_matrix, matrix + thisHand, MATRIX_ROWS_PER_HAND, changed) | matrix_post_scan(); #else - changed = debounce(raw_matrix, matrix, ROWS_PER_HAND, changed); + changed = debounce(raw_matrix, matrix, MATRIX_ROWS_PER_HAND, changed); matrix_scan_kb(); #endif diff --git a/quantum/painter/qp_comms.c b/quantum/painter/qp_comms.c index 63667783e1..402165b119 100644 --- a/quantum/painter/qp_comms.c +++ b/quantum/painter/qp_comms.c @@ -49,15 +49,15 @@ uint32_t qp_comms_send(painter_device_t device, const void *data, uint32_t byte_ //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // Comms APIs that use a D/C pin -void qp_comms_command(painter_device_t device, uint8_t cmd) { +bool qp_comms_command(painter_device_t device, uint8_t cmd) { painter_driver_t * driver = (painter_driver_t *)device; painter_comms_with_command_vtable_t *comms_vtable = (painter_comms_with_command_vtable_t *)driver->comms_vtable; - comms_vtable->send_command(device, cmd); + return comms_vtable->send_command(device, cmd); } -void qp_comms_command_databyte(painter_device_t device, uint8_t cmd, uint8_t data) { +bool qp_comms_command_databyte(painter_device_t device, uint8_t cmd, uint8_t data) { qp_comms_command(device, cmd); - qp_comms_send(device, &data, sizeof(data)); + return qp_comms_send(device, &data, sizeof(data)); } uint32_t qp_comms_command_databuf(painter_device_t device, uint8_t cmd, const void *data, uint32_t byte_count) { @@ -65,8 +65,8 @@ uint32_t qp_comms_command_databuf(painter_device_t device, uint8_t cmd, const vo return qp_comms_send(device, data, byte_count); } -void qp_comms_bulk_command_sequence(painter_device_t device, const uint8_t *sequence, size_t sequence_len) { +bool qp_comms_bulk_command_sequence(painter_device_t device, const uint8_t *sequence, size_t sequence_len) { painter_driver_t * driver = (painter_driver_t *)device; painter_comms_with_command_vtable_t *comms_vtable = (painter_comms_with_command_vtable_t *)driver->comms_vtable; - comms_vtable->bulk_command_sequence(device, sequence, sequence_len); + return comms_vtable->bulk_command_sequence(device, sequence, sequence_len); } diff --git a/quantum/painter/qp_comms.h b/quantum/painter/qp_comms.h index 8fbf25c201..dc5892b1bb 100644 --- a/quantum/painter/qp_comms.h +++ b/quantum/painter/qp_comms.h @@ -19,7 +19,7 @@ uint32_t qp_comms_send(painter_device_t device, const void* data, uint32_t byte_ //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // Comms APIs that use a D/C pin -void qp_comms_command(painter_device_t device, uint8_t cmd); -void qp_comms_command_databyte(painter_device_t device, uint8_t cmd, uint8_t data); +bool qp_comms_command(painter_device_t device, uint8_t cmd); +bool qp_comms_command_databyte(painter_device_t device, uint8_t cmd, uint8_t data); uint32_t qp_comms_command_databuf(painter_device_t device, uint8_t cmd, const void* data, uint32_t byte_count); -void qp_comms_bulk_command_sequence(painter_device_t device, const uint8_t* sequence, size_t sequence_len); +bool qp_comms_bulk_command_sequence(painter_device_t device, const uint8_t* sequence, size_t sequence_len); diff --git a/quantum/painter/qp_internal_driver.h b/quantum/painter/qp_internal_driver.h index 69da966f8c..5b6efe2c83 100644 --- a/quantum/painter/qp_internal_driver.h +++ b/quantum/painter/qp_internal_driver.h @@ -36,7 +36,7 @@ typedef struct painter_driver_vtable_t { typedef bool (*painter_driver_comms_init_func)(painter_device_t device); typedef bool (*painter_driver_comms_start_func)(painter_device_t device); -typedef void (*painter_driver_comms_stop_func)(painter_device_t device); +typedef bool (*painter_driver_comms_stop_func)(painter_device_t device); typedef uint32_t (*painter_driver_comms_send_func)(painter_device_t device, const void *data, uint32_t byte_count); typedef struct painter_comms_vtable_t { @@ -46,8 +46,8 @@ typedef struct painter_comms_vtable_t { painter_driver_comms_send_func comms_send; } painter_comms_vtable_t; -typedef void (*painter_driver_comms_send_command_func)(painter_device_t device, uint8_t cmd); -typedef void (*painter_driver_comms_bulk_command_sequence)(painter_device_t device, const uint8_t *sequence, size_t sequence_len); +typedef bool (*painter_driver_comms_send_command_func)(painter_device_t device, uint8_t cmd); +typedef bool (*painter_driver_comms_bulk_command_sequence)(painter_device_t device, const uint8_t *sequence, size_t sequence_len); typedef struct painter_comms_with_command_vtable_t { painter_comms_vtable_t base; // must be first, so this object can be cast from the painter_comms_vtable_t* type diff --git a/quantum/pointing_device/pointing_device.c b/quantum/pointing_device/pointing_device.c index 564c2d294c..fe88d5a1af 100644 --- a/quantum/pointing_device/pointing_device.c +++ b/quantum/pointing_device/pointing_device.c @@ -80,8 +80,10 @@ uint16_t pointing_device_get_shared_cpi(void) { #endif // defined(SPLIT_POINTING_ENABLE) -static report_mouse_t local_mouse_report = {}; -static bool pointing_device_force_send = false; +static report_mouse_t local_mouse_report = {}; +static bool pointing_device_force_send = false; +static pointing_device_status_t pointing_device_status = POINTING_DEVICE_STATUS_UNKNOWN; + #ifdef POINTING_DEVICE_HIRES_SCROLL_ENABLE static uint16_t hires_scroll_resolution; #endif @@ -90,7 +92,9 @@ static uint16_t hires_scroll_resolution; #define POINTING_DEVICE_DRIVER(name) POINTING_DEVICE_DRIVER_CONCAT(name) #ifdef POINTING_DEVICE_DRIVER_custom -__attribute__((weak)) void pointing_device_driver_init(void) {} +__attribute__((weak)) bool pointing_device_driver_init(void) { + return false; +} __attribute__((weak)) report_mouse_t pointing_device_driver_get_report(report_mouse_t mouse_report) { return mouse_report; } @@ -179,7 +183,11 @@ __attribute__((weak)) void pointing_device_init(void) { if ((POINTING_DEVICE_THIS_SIDE)) #endif { - pointing_device_driver->init(); + if (pointing_device_driver->init()) { + pointing_device_status = POINTING_DEVICE_STATUS_SUCCESS; + } else { + pointing_device_status = POINTING_DEVICE_STATUS_INIT_FAILED; + } #ifdef POINTING_DEVICE_MOTION_PIN # ifdef POINTING_DEVICE_MOTION_PIN_ACTIVE_LOW gpio_set_pin_input_high(POINTING_DEVICE_MOTION_PIN); @@ -200,6 +208,28 @@ __attribute__((weak)) void pointing_device_init(void) { pointing_device_init_user(); } +/** + * @brief Gets status of pointing device + * + * Returns current pointing device status + * @return pointing_device_status_t + */ +__attribute__((weak)) pointing_device_status_t pointing_device_get_status(void) { +#ifdef SPLIT_POINTING_ENABLE + // Assume target side is always good, split transaction checksum should stop additional reports being generated. + return POINTING_DEVICE_THIS_SIDE ? pointing_device_status : POINTING_DEVICE_STATUS_SUCCESS; +#else + return pointing_device_status; +#endif +} + +/** + * @brief Sets status of pointing device + */ +void pointing_device_set_status(pointing_device_status_t status) { + pointing_device_status = status; +} + /** * @brief Sends processed mouse report to host * @@ -281,6 +311,10 @@ __attribute__((weak)) bool pointing_device_task(void) { last_exec = timer_read32(); #endif + if (pointing_device_get_status() != POINTING_DEVICE_STATUS_SUCCESS) { + return false; + } + // Gather report info #ifdef POINTING_DEVICE_MOTION_PIN # if defined(SPLIT_POINTING_ENABLE) diff --git a/quantum/pointing_device/pointing_device.h b/quantum/pointing_device/pointing_device.h index e7a0819ed9..5dfb9ce196 100644 --- a/quantum/pointing_device/pointing_device.h +++ b/quantum/pointing_device/pointing_device.h @@ -23,7 +23,7 @@ along with this program. If not, see . #include "report.h" typedef struct { - void (*init)(void); + bool (*init)(void); report_mouse_t (*get_report)(report_mouse_t mouse_report); void (*set_cpi)(uint16_t); uint16_t (*get_cpi)(void); @@ -75,7 +75,7 @@ typedef struct { # include "drivers/sensors/pmw33xx_common.h" # define POINTING_DEVICE_MOTION_PIN_ACTIVE_LOW #else -void pointing_device_driver_init(void); +bool pointing_device_driver_init(void); report_mouse_t pointing_device_driver_get_report(report_mouse_t mouse_report); uint16_t pointing_device_driver_get_cpi(void); void pointing_device_driver_set_cpi(uint16_t cpi); @@ -92,6 +92,13 @@ typedef enum { POINTING_DEVICE_BUTTON8, } pointing_device_buttons_t; +typedef enum { + POINTING_DEVICE_STATUS_UNKNOWN, + POINTING_DEVICE_STATUS_INIT_FAILED, + POINTING_DEVICE_STATUS_FAILED, + POINTING_DEVICE_STATUS_SUCCESS, +} pointing_device_status_t; + #ifdef MOUSE_EXTENDED_REPORT typedef int32_t xy_clamp_range_t; #else @@ -107,13 +114,15 @@ typedef int16_t hv_clamp_range_t; #define CONSTRAIN_HID(amt) ((amt) < INT8_MIN ? INT8_MIN : ((amt) > INT8_MAX ? INT8_MAX : (amt))) #define CONSTRAIN_HID_XY(amt) ((amt) < MOUSE_REPORT_XY_MIN ? MOUSE_REPORT_XY_MIN : ((amt) > MOUSE_REPORT_XY_MAX ? MOUSE_REPORT_XY_MAX : (amt))) -void pointing_device_init(void); -bool pointing_device_task(void); -bool pointing_device_send(void); -report_mouse_t pointing_device_get_report(void); -void pointing_device_set_report(report_mouse_t mouse_report); -uint16_t pointing_device_get_cpi(void); -void pointing_device_set_cpi(uint16_t cpi); +void pointing_device_init(void); +bool pointing_device_task(void); +bool pointing_device_send(void); +report_mouse_t pointing_device_get_report(void); +void pointing_device_set_report(report_mouse_t mouse_report); +uint16_t pointing_device_get_cpi(void); +void pointing_device_set_cpi(uint16_t cpi); +pointing_device_status_t pointing_device_get_status(void); +void pointing_device_set_status(pointing_device_status_t status); void pointing_device_init_kb(void); void pointing_device_init_user(void); diff --git a/quantum/process_keycode/process_oneshot.c b/quantum/process_keycode/process_oneshot.c new file mode 100644 index 0000000000..6c43da1011 --- /dev/null +++ b/quantum/process_keycode/process_oneshot.c @@ -0,0 +1,25 @@ +// Copyright 2025 QMK +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "process_oneshot.h" +#include "action_util.h" + +bool process_oneshot(uint16_t keycode, keyrecord_t *record) { +#ifndef NO_ACTION_ONESHOT + if (record->event.pressed) { + switch (keycode) { + case QK_ONE_SHOT_TOGGLE: + oneshot_toggle(); + return false; + case QK_ONE_SHOT_ON: + oneshot_enable(); + return false; + case QK_ONE_SHOT_OFF: + oneshot_disable(); + return false; + } + } +#endif + + return true; +} diff --git a/quantum/process_keycode/process_oneshot.h b/quantum/process_keycode/process_oneshot.h new file mode 100644 index 0000000000..11445b9b38 --- /dev/null +++ b/quantum/process_keycode/process_oneshot.h @@ -0,0 +1,10 @@ +// Copyright 2025 QMK +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#include +#include +#include "action.h" + +bool process_oneshot(uint16_t keycode, keyrecord_t *record); diff --git a/quantum/process_keycode/process_quantum.c b/quantum/process_keycode/process_quantum.c new file mode 100644 index 0000000000..703e00755b --- /dev/null +++ b/quantum/process_keycode/process_quantum.c @@ -0,0 +1,76 @@ +// Copyright 2025 QMK +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "process_quantum.h" +#include "quantum.h" + +#ifdef ENABLE_COMPILE_KEYCODE +/** \brief Compiles the firmware, and adds the flash command based on keyboard bootloader + */ +static void send_make_command(void) { +# ifdef NO_ACTION_ONESHOT + const uint8_t temp_mod = mod_config(get_mods()); +# else + const uint8_t temp_mod = mod_config(get_mods() | get_oneshot_mods()); + clear_oneshot_mods(); +# endif + clear_mods(); + + SEND_STRING_DELAY("qmk", TAP_CODE_DELAY); + if (temp_mod & MOD_MASK_SHIFT) { // if shift is held, flash rather than compile + SEND_STRING_DELAY(" flash ", TAP_CODE_DELAY); + } else { + SEND_STRING_DELAY(" compile ", TAP_CODE_DELAY); + } +# if defined(CONVERTER_ENABLED) + SEND_STRING_DELAY("-kb " QMK_KEYBOARD " -km " QMK_KEYMAP " -e CONVERT_TO=" CONVERTER_TARGET SS_TAP(X_ENTER), TAP_CODE_DELAY); +# else + SEND_STRING_DELAY("-kb " QMK_KEYBOARD " -km " QMK_KEYMAP SS_TAP(X_ENTER), TAP_CODE_DELAY); +# endif + if (temp_mod & MOD_MASK_SHIFT && temp_mod & MOD_MASK_CTRL) { + reset_keyboard(); + } +} +#endif + +bool process_quantum(uint16_t keycode, keyrecord_t *record) { + if (record->event.pressed) { + switch (keycode) { +#ifndef NO_RESET + case QK_BOOTLOADER: + reset_keyboard(); + return false; + case QK_REBOOT: + soft_reset_keyboard(); + return false; +#endif +#ifndef NO_DEBUG + case QK_DEBUG_TOGGLE: + debug_enable ^= 1; + if (debug_enable) { + print("DEBUG: enabled.\n"); + } else { + print("DEBUG: disabled.\n"); + } + return false; +#endif + case QK_CLEAR_EEPROM: +#ifdef NO_RESET + eeconfig_init(); +#else + eeconfig_disable(); + soft_reset_keyboard(); +#endif + return false; +#ifdef ENABLE_COMPILE_KEYCODE + case QK_MAKE: + send_make_command(); + return false; +#endif + default: + break; + } + } + + return true; +} diff --git a/quantum/process_keycode/process_quantum.h b/quantum/process_keycode/process_quantum.h new file mode 100644 index 0000000000..5c2462be01 --- /dev/null +++ b/quantum/process_keycode/process_quantum.h @@ -0,0 +1,10 @@ +// Copyright 2025 QMK +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#include +#include +#include "action.h" + +bool process_quantum(uint16_t keycode, keyrecord_t *record); diff --git a/quantum/process_keycode/process_underglow.c b/quantum/process_keycode/process_underglow.c index b8d8989ef3..78006ee099 100644 --- a/quantum/process_keycode/process_underglow.c +++ b/quantum/process_keycode/process_underglow.c @@ -200,6 +200,11 @@ bool process_underglow(uint16_t keycode, keyrecord_t *record) { } #endif return false; +#ifdef VELOCIKEY_ENABLE + case QK_VELOCIKEY_TOGGLE: + velocikey_toggle(); + return false; +#endif } } diff --git a/quantum/quantum.c b/quantum/quantum.c index 0bb6ee0a91..09e5fe1dac 100644 --- a/quantum/quantum.c +++ b/quantum/quantum.c @@ -15,6 +15,11 @@ */ #include "quantum.h" +#include "process_quantum.h" + +#ifdef SLEEP_LED_ENABLE +# include "sleep_led.h" +#endif #ifdef BACKLIGHT_ENABLE # include "process_backlight.h" @@ -84,6 +89,10 @@ # include "process_layer_lock.h" #endif +#ifndef NO_ACTION_ONESHOT +# include "process_oneshot.h" +#endif + #ifdef AUDIO_ENABLE # ifndef GOODBYE_SONG # define GOODBYE_SONG SONG(GOODBYE_SOUND) @@ -174,10 +183,6 @@ __attribute__((weak)) bool pre_process_record_user(uint16_t keycode, keyrecord_t return true; } -__attribute__((weak)) bool process_action_kb(keyrecord_t *record) { - return true; -} - __attribute__((weak)) bool process_record_modules(uint16_t keycode, keyrecord_t *record) { return true; } @@ -292,9 +297,10 @@ void post_process_record_quantum(keyrecord_t *record) { post_process_record_kb(keycode, record); } -/* Core keycode function, hands off handling to other functions, - then processes internal quantum keycodes, and then processes - ACTIONs. */ +/** \brief Core keycode function + * + * Hands off handling to other quantum/process_keycode/ functions + */ bool process_record_quantum(keyrecord_t *record) { uint16_t keycode = get_record_keycode(record, true); @@ -439,85 +445,14 @@ bool process_record_quantum(keyrecord_t *record) { #ifdef CONNECTION_ENABLE process_connection(keycode, record) && #endif - true)) { +#ifndef NO_ACTION_ONESHOT + process_oneshot(keycode, record) && +#endif + process_quantum(keycode, record))) { return false; } - if (record->event.pressed) { - switch (keycode) { -#ifndef NO_RESET - case QK_BOOTLOADER: - reset_keyboard(); - return false; - case QK_REBOOT: - soft_reset_keyboard(); - return false; -#endif -#ifndef NO_DEBUG - case QK_DEBUG_TOGGLE: - debug_enable ^= 1; - if (debug_enable) { - print("DEBUG: enabled.\n"); - } else { - print("DEBUG: disabled.\n"); - } -#endif - return false; - case QK_CLEAR_EEPROM: -#ifdef NO_RESET - eeconfig_init(); -#else - eeconfig_disable(); - soft_reset_keyboard(); -#endif - return false; -#ifdef VELOCIKEY_ENABLE - case QK_VELOCIKEY_TOGGLE: - velocikey_toggle(); - return false; -#endif -#ifndef NO_ACTION_ONESHOT - case QK_ONE_SHOT_TOGGLE: - oneshot_toggle(); - break; - case QK_ONE_SHOT_ON: - oneshot_enable(); - break; - case QK_ONE_SHOT_OFF: - oneshot_disable(); - break; -#endif -#ifdef ENABLE_COMPILE_KEYCODE - case QK_MAKE: // Compiles the firmware, and adds the flash command based on keyboard bootloader - { -# ifdef NO_ACTION_ONESHOT - const uint8_t temp_mod = mod_config(get_mods()); -# else - const uint8_t temp_mod = mod_config(get_mods() | get_oneshot_mods()); - clear_oneshot_mods(); -# endif - clear_mods(); - - SEND_STRING_DELAY("qmk", TAP_CODE_DELAY); - if (temp_mod & MOD_MASK_SHIFT) { // if shift is held, flash rather than compile - SEND_STRING_DELAY(" flash ", TAP_CODE_DELAY); - } else { - SEND_STRING_DELAY(" compile ", TAP_CODE_DELAY); - } -# if defined(CONVERTER_ENABLED) - SEND_STRING_DELAY("-kb " QMK_KEYBOARD " -km " QMK_KEYMAP " -e CONVERT_TO=" CONVERTER_TARGET SS_TAP(X_ENTER), TAP_CODE_DELAY); -# else - SEND_STRING_DELAY("-kb " QMK_KEYBOARD " -km " QMK_KEYMAP SS_TAP(X_ENTER), TAP_CODE_DELAY); -# endif - if (temp_mod & MOD_MASK_SHIFT && temp_mod & MOD_MASK_CTRL) { - reset_keyboard(); - } - } -#endif - } - } - - return process_action_kb(record); + return true; } void set_single_default_layer(uint8_t default_layer) { @@ -556,6 +491,10 @@ void suspend_power_down_quantum(void) { backlight_level_noeeprom(0); # endif +# ifdef SLEEP_LED_ENABLE + sleep_led_enable(); +# endif + # ifdef LED_MATRIX_ENABLE led_matrix_task(); # endif @@ -602,6 +541,10 @@ __attribute__((weak)) void suspend_wakeup_init_quantum(void) { backlight_init(); #endif +#ifdef SLEEP_LED_ENABLE + sleep_led_disable(); +#endif + // Restore LED indicators led_wakeup(); diff --git a/quantum/quantum.h b/quantum/quantum.h index 3a994e9a03..176c8a292d 100644 --- a/quantum/quantum.h +++ b/quantum/quantum.h @@ -63,6 +63,10 @@ # include "bootmagic.h" #endif +#ifdef BATTERY_ENABLE +# include "battery.h" +#endif + #ifdef DEFERRED_EXEC_ENABLE # include "deferred_exec.h" #endif @@ -263,7 +267,6 @@ uint16_t get_event_keycode(keyevent_t event, bool update_layer_cache); bool pre_process_record_quantum(keyrecord_t *record); bool pre_process_record_kb(uint16_t keycode, keyrecord_t *record); bool pre_process_record_user(uint16_t keycode, keyrecord_t *record); -bool process_action_kb(keyrecord_t *record); bool process_record_kb(uint16_t keycode, keyrecord_t *record); bool process_record_user(uint16_t keycode, keyrecord_t *record); void post_process_record_kb(uint16_t keycode, keyrecord_t *record); diff --git a/quantum/quantum_keycodes.h b/quantum/quantum_keycodes.h index 515386756d..a1ae7ed0be 100644 --- a/quantum/quantum_keycodes.h +++ b/quantum/quantum_keycodes.h @@ -66,10 +66,6 @@ #define LCAG(kc) (QK_LCTL | QK_LALT | QK_LGUI | (kc)) #define LSAG(kc) (QK_LSFT | QK_LALT | QK_LGUI | (kc)) -#define SGUI(kc) LSG(kc) -#define SCMD(kc) LSG(kc) -#define SWIN(kc) LSG(kc) - #define RCTL(kc) (QK_RCTL | (kc)) #define RSFT(kc) (QK_RSFT | (kc)) #define RALT(kc) (QK_RALT | (kc)) @@ -90,8 +86,6 @@ #define RCAG(kc) (QK_RCTL | QK_RALT | QK_RGUI | (kc)) #define RSAG(kc) (QK_RSFT | QK_RALT | QK_RGUI | (kc)) -#define SAGR(kc) RSA(kc) - #define HYPR(kc) (QK_LCTL | QK_LSFT | QK_LALT | QK_LGUI | (kc)) #define MEH(kc) (QK_LCTL | QK_LSFT | QK_LALT | (kc)) @@ -206,10 +200,6 @@ #define LCAG_T(kc) MT(MOD_LCTL | MOD_LALT | MOD_LGUI, kc) #define LSAG_T(kc) MT(MOD_LSFT | MOD_LALT | MOD_LGUI, kc) -#define SGUI_T(kc) LSG_T(kc) -#define SCMD_T(kc) LSG_T(kc) -#define SWIN_T(kc) LSG_T(kc) - #define RCTL_T(kc) MT(MOD_RCTL, kc) #define RSFT_T(kc) MT(MOD_RSFT, kc) #define RALT_T(kc) MT(MOD_RALT, kc) @@ -230,11 +220,8 @@ #define RCAG_T(kc) MT(MOD_RCTL | MOD_RALT | MOD_RGUI, kc) #define RSAG_T(kc) MT(MOD_RSFT | MOD_RALT | MOD_RGUI, kc) -#define SAGR_T(kc) RSA_T(kc) - #define MEH_T(kc) MT(MOD_LCTL | MOD_LSFT | MOD_LALT, kc) #define HYPR_T(kc) MT(MOD_LCTL | MOD_LSFT | MOD_LALT | MOD_LGUI, kc) -#define ALL_T(kc) HYPR_T(kc) // Dedicated keycode versions for Hyper and Meh, if you want to use them as standalone keys rather than mod-tap #define KC_HYPR HYPR(KC_NO) diff --git a/quantum/quantum_keycodes_legacy.h b/quantum/quantum_keycodes_legacy.h index 55b0fc3596..e417591fe2 100644 --- a/quantum/quantum_keycodes_legacy.h +++ b/quantum/quantum_keycodes_legacy.h @@ -3,59 +3,17 @@ // clang-format off // Deprecated Quantum keycodes -#define RGB_TOG QK_UNDERGLOW_TOGGLE -#define RGB_MOD QK_UNDERGLOW_MODE_NEXT -#define RGB_MODE_FORWARD QK_UNDERGLOW_MODE_NEXT -#define RGB_RMOD QK_UNDERGLOW_MODE_PREVIOUS -#define RGB_MODE_REVERSE QK_UNDERGLOW_MODE_PREVIOUS -#define RGB_HUI QK_UNDERGLOW_HUE_UP -#define RGB_HUD QK_UNDERGLOW_HUE_DOWN -#define RGB_SAI QK_UNDERGLOW_SATURATION_UP -#define RGB_SAD QK_UNDERGLOW_SATURATION_DOWN -#define RGB_VAI QK_UNDERGLOW_VALUE_UP -#define RGB_VAD QK_UNDERGLOW_VALUE_DOWN -#define RGB_SPI QK_UNDERGLOW_SPEED_UP -#define RGB_SPD QK_UNDERGLOW_SPEED_DOWN - -#define KC_MS_UP QK_MOUSE_CURSOR_UP -#define KC_MS_U QK_MOUSE_CURSOR_UP -#define KC_MS_DOWN QK_MOUSE_CURSOR_DOWN -#define KC_MS_D QK_MOUSE_CURSOR_DOWN -#define KC_MS_LEFT QK_MOUSE_CURSOR_LEFT -#define KC_MS_L QK_MOUSE_CURSOR_LEFT -#define KC_MS_RIGHT QK_MOUSE_CURSOR_RIGHT -#define KC_MS_R QK_MOUSE_CURSOR_RIGHT -#define KC_MS_BTN1 QK_MOUSE_BUTTON_1 -#define KC_BTN1 QK_MOUSE_BUTTON_1 -#define KC_MS_BTN2 QK_MOUSE_BUTTON_2 -#define KC_BTN2 QK_MOUSE_BUTTON_2 -#define KC_MS_BTN3 QK_MOUSE_BUTTON_3 -#define KC_BTN3 QK_MOUSE_BUTTON_3 -#define KC_MS_BTN4 QK_MOUSE_BUTTON_4 -#define KC_BTN4 QK_MOUSE_BUTTON_4 -#define KC_MS_BTN5 QK_MOUSE_BUTTON_5 -#define KC_BTN5 QK_MOUSE_BUTTON_5 -#define KC_MS_BTN6 QK_MOUSE_BUTTON_6 -#define KC_BTN6 QK_MOUSE_BUTTON_6 -#define KC_MS_BTN7 QK_MOUSE_BUTTON_7 -#define KC_BTN7 QK_MOUSE_BUTTON_7 -#define KC_MS_BTN8 QK_MOUSE_BUTTON_8 -#define KC_BTN8 QK_MOUSE_BUTTON_8 -#define KC_MS_WH_UP QK_MOUSE_WHEEL_UP -#define KC_WH_U QK_MOUSE_WHEEL_UP -#define KC_MS_WH_DOWN QK_MOUSE_WHEEL_DOWN -#define KC_WH_D QK_MOUSE_WHEEL_DOWN -#define KC_MS_WH_LEFT QK_MOUSE_WHEEL_LEFT -#define KC_WH_L QK_MOUSE_WHEEL_LEFT -#define KC_MS_WH_RIGHT QK_MOUSE_WHEEL_RIGHT -#define KC_WH_R QK_MOUSE_WHEEL_RIGHT -#define KC_MS_ACCEL0 QK_MOUSE_ACCELERATION_0 -#define KC_ACL0 QK_MOUSE_ACCELERATION_0 -#define KC_MS_ACCEL1 QK_MOUSE_ACCELERATION_1 -#define KC_ACL1 QK_MOUSE_ACCELERATION_1 -#define KC_MS_ACCEL2 QK_MOUSE_ACCELERATION_2 -#define KC_ACL2 QK_MOUSE_ACCELERATION_2 - #define QK_OUTPUT_AUTO OU_AUTO #define C_S_T(kc) LCS_T(kc) +#define ALL_T(kc) HYPR_T(kc) + +#define SGUI(kc) LSG(kc) +#define SCMD(kc) LSG(kc) +#define SWIN(kc) LSG(kc) +#define SGUI_T(kc) LSG_T(kc) +#define SCMD_T(kc) LSG_T(kc) +#define SWIN_T(kc) LSG_T(kc) + +#define SAGR(kc) RSA(kc) +#define SAGR_T(kc) RSA_T(kc) diff --git a/quantum/rgb_matrix/animations/solid_reactive_anim.h b/quantum/rgb_matrix/animations/solid_reactive_anim.h index 67f568ca38..d11dda50c3 100644 --- a/quantum/rgb_matrix/animations/solid_reactive_anim.h +++ b/quantum/rgb_matrix/animations/solid_reactive_anim.h @@ -4,6 +4,7 @@ RGB_MATRIX_EFFECT(SOLID_REACTIVE) # ifdef RGB_MATRIX_CUSTOM_EFFECT_IMPLS static hsv_t SOLID_REACTIVE_math(hsv_t hsv, uint16_t offset) { + if (offset > 255) offset = 255; # ifdef RGB_MATRIX_SOLID_REACTIVE_GRADIENT_MODE hsv.h = scale16by8(g_rgb_timer, qadd8(rgb_matrix_config.speed, 8) >> 4); # endif diff --git a/quantum/rgb_matrix/animations/solid_reactive_simple_anim.h b/quantum/rgb_matrix/animations/solid_reactive_simple_anim.h index f20f1b1fb6..22ba42296f 100644 --- a/quantum/rgb_matrix/animations/solid_reactive_simple_anim.h +++ b/quantum/rgb_matrix/animations/solid_reactive_simple_anim.h @@ -4,6 +4,7 @@ RGB_MATRIX_EFFECT(SOLID_REACTIVE_SIMPLE) # ifdef RGB_MATRIX_CUSTOM_EFFECT_IMPLS static hsv_t SOLID_REACTIVE_SIMPLE_math(hsv_t hsv, uint16_t offset) { + if (offset > 255) offset = 255; # ifdef RGB_MATRIX_SOLID_REACTIVE_GRADIENT_MODE hsv.h = scale16by8(g_rgb_timer, qadd8(rgb_matrix_config.speed, 8) >> 4); # endif diff --git a/quantum/rgb_matrix/animations/starlight_smooth_anim.h b/quantum/rgb_matrix/animations/starlight_smooth_anim.h index a87c06f9df..5467ea0a59 100644 --- a/quantum/rgb_matrix/animations/starlight_smooth_anim.h +++ b/quantum/rgb_matrix/animations/starlight_smooth_anim.h @@ -9,7 +9,7 @@ static uint8_t phase_offsets[RGB_MATRIX_LED_COUNT]; hsv_t STARLIGHT_SMOOTH_math(hsv_t hsv, uint8_t i, uint8_t time) { if (phase_offsets[i] == 0) { - phase_offsets[i] = rand() % 255; + phase_offsets[i] = random8(); } hsv.v = scale8(abs8(sin8((time + phase_offsets[i]) / 2) - 128) * 2, hsv.v); return hsv; diff --git a/quantum/rgb_matrix/rgb_matrix.c b/quantum/rgb_matrix/rgb_matrix.c index 2679c48342..ab0aa17512 100644 --- a/quantum/rgb_matrix/rgb_matrix.c +++ b/quantum/rgb_matrix/rgb_matrix.c @@ -109,7 +109,11 @@ void eeconfig_update_rgb_matrix_default(void) { void eeconfig_debug_rgb_matrix(void) { dprintf("rgb_matrix_config EEPROM\n"); dprintf("rgb_matrix_config.enable = %d\n", rgb_matrix_config.enable); +#ifdef RGB_MATRIX_MODE_NAME_ENABLE + dprintf("rgb_matrix_config.mode = %d (%s)\n", rgb_matrix_config.mode, rgb_matrix_get_mode_name(rgb_matrix_config.mode)); +#else dprintf("rgb_matrix_config.mode = %d\n", rgb_matrix_config.mode); +#endif // RGB_MATRIX_MODE_NAME_ENABLE dprintf("rgb_matrix_config.hsv.h = %d\n", rgb_matrix_config.hsv.h); dprintf("rgb_matrix_config.hsv.s = %d\n", rgb_matrix_config.hsv.s); dprintf("rgb_matrix_config.hsv.v = %d\n", rgb_matrix_config.hsv.v); @@ -560,7 +564,11 @@ void rgb_matrix_mode_eeprom_helper(uint8_t mode, bool write_to_eeprom) { } rgb_task_state = STARTING; eeconfig_flag_rgb_matrix(write_to_eeprom); - dprintf("rgb matrix mode [%s]: %u\n", (write_to_eeprom) ? "EEPROM" : "NOEEPROM", rgb_matrix_config.mode); +#ifdef RGB_MATRIX_MODE_NAME_ENABLE + dprintf("rgb matrix mode [%s]: %u (%s)\n", (write_to_eeprom) ? "EEPROM" : "NOEEPROM", (unsigned)rgb_matrix_config.mode, rgb_matrix_get_mode_name(rgb_matrix_config.mode)); +#else + dprintf("rgb matrix mode [%s]: %u\n", (write_to_eeprom) ? "EEPROM" : "NOEEPROM", (unsigned)rgb_matrix_config.mode); +#endif // RGB_MATRIX_MODE_NAME_ENABLE } void rgb_matrix_mode_noeeprom(uint8_t mode) { rgb_matrix_mode_eeprom_helper(mode, false); @@ -738,3 +746,49 @@ void rgb_matrix_set_flags(led_flags_t flags) { void rgb_matrix_set_flags_noeeprom(led_flags_t flags) { rgb_matrix_set_flags_eeprom_helper(flags, false); } + +//---------------------------------------------------------- +// RGB Matrix naming +#undef RGB_MATRIX_EFFECT +#ifdef RGB_MATRIX_MODE_NAME_ENABLE +const char *rgb_matrix_get_mode_name(uint8_t mode) { + switch (mode) { + case RGB_MATRIX_NONE: + return "NONE"; + +# define RGB_MATRIX_EFFECT(name, ...) \ + case RGB_MATRIX_##name: \ + return #name; +# include "rgb_matrix_effects.inc" +# undef RGB_MATRIX_EFFECT + +# ifdef COMMUNITY_MODULES_ENABLE +# define RGB_MATRIX_EFFECT(name, ...) \ + case RGB_MATRIX_COMMUNITY_MODULE_##name: \ + return #name; +# include "rgb_matrix_community_modules.inc" +# undef RGB_MATRIX_EFFECT +# endif // COMMUNITY_MODULES_ENABLE + +# if defined(RGB_MATRIX_CUSTOM_KB) || defined(RGB_MATRIX_CUSTOM_USER) +# define RGB_MATRIX_EFFECT(name, ...) \ + case RGB_MATRIX_CUSTOM_##name: \ + return #name; + +# ifdef RGB_MATRIX_CUSTOM_KB +# include "rgb_matrix_kb.inc" +# endif // RGB_MATRIX_CUSTOM_KB + +# ifdef RGB_MATRIX_CUSTOM_USER +# include "rgb_matrix_user.inc" +# endif // RGB_MATRIX_CUSTOM_USER + +# undef RGB_MATRIX_EFFECT +# endif // RGB_MATRIX_CUSTOM_KB || RGB_MATRIX_CUSTOM_USER + + default: + return "UNKNOWN"; + } +} +# undef RGB_MATRIX_EFFECT +#endif // RGB_MATRIX_MODE_NAME_ENABLE diff --git a/quantum/rgb_matrix/rgb_matrix.h b/quantum/rgb_matrix/rgb_matrix.h index c6b302631e..a91dded4a8 100644 --- a/quantum/rgb_matrix/rgb_matrix.h +++ b/quantum/rgb_matrix/rgb_matrix.h @@ -220,6 +220,10 @@ void rgb_matrix_set_flags(led_flags_t flags); void rgb_matrix_set_flags_noeeprom(led_flags_t flags); void rgb_matrix_update_pwm_buffers(void); +#ifdef RGB_MATRIX_MODE_NAME_ENABLE +const char *rgb_matrix_get_mode_name(uint8_t mode); +#endif // RGB_MATRIX_MODE_NAME_ENABLE + #ifndef RGBLIGHT_ENABLE # define eeconfig_update_rgblight_current eeconfig_force_flush_rgb_matrix # define rgblight_reload_from_eeprom rgb_matrix_reload_from_eeprom diff --git a/quantum/via.c b/quantum/via.c index 3682b4ab2b..130ff74794 100644 --- a/quantum/via.c +++ b/quantum/via.c @@ -22,6 +22,10 @@ # error "DYNAMIC_KEYMAP_ENABLE is not enabled" #endif +#ifdef VIA_INSECURE +# pragma message "VIA_INSECURE is enabled - firmware is susceptible to keyloggers" +#endif + #include "via.h" #include "raw_hid.h" @@ -33,6 +37,10 @@ #include "version.h" // for QMK_BUILDDATE used in EEPROM magic #include "nvm_via.h" +#if defined(SECURE_ENABLE) +# include "secure.h" +#endif + #if defined(AUDIO_ENABLE) # include "audio.h" #endif @@ -318,7 +326,16 @@ void raw_hid_receive(uint8_t *data, uint8_t length) { uint8_t rows = 28 / ((MATRIX_COLS + 7) / 8); uint8_t i = 2; for (uint8_t row = 0; row < rows && row + offset < MATRIX_ROWS; row++) { +#if defined(VIA_INSECURE) matrix_row_t value = matrix_get_row(row + offset); +#elif defined(SECURE_ENABLE) + matrix_row_t value = 0; + if (secure_is_unlocked()) { + value = matrix_get_row(row + offset); + } +#else + matrix_row_t value = 0; +#endif #if (MATRIX_COLS > 24) command_data[i++] = (value >> 24) & 0xFF; #endif diff --git a/tests/pointing/test_pointing.cpp b/tests/pointing/test_pointing.cpp index d59d014925..6de6ad30f0 100644 --- a/tests/pointing/test_pointing.cpp +++ b/tests/pointing/test_pointing.cpp @@ -12,6 +12,26 @@ using testing::_; class Pointing : public TestFixture {}; class PointingButtonsViaMousekeysParametrized : public ::testing::WithParamInterface>, public Pointing {}; +TEST_F(Pointing, NoMovementOnInitFailure) { + TestDriver driver; + + pointing_device_set_status(POINTING_DEVICE_STATUS_INIT_FAILED); + pd_set_x(-50); + pd_set_y(100); + EXPECT_NO_MOUSE_REPORT(driver); + run_one_scan_loop(); + + pointing_device_set_status(POINTING_DEVICE_STATUS_SUCCESS); + EXPECT_MOUSE_REPORT(driver, (-50, 100, 0, 0, 0)); + run_one_scan_loop(); + + pd_clear_movement(); + // EXPECT_EMPTY_MOUSE_REPORT(driver); + run_one_scan_loop(); + + VERIFY_AND_CLEAR(driver); +} + TEST_F(Pointing, SendMouseIsNotCalledWithNoInput) { TestDriver driver; EXPECT_NO_MOUSE_REPORT(driver); @@ -111,7 +131,7 @@ TEST_F(Pointing, CorrectButtonIsReportedWhenPressed) { TEST_F(Pointing, CorrectButtonIsReportedWhenKeyPressed) { TestDriver driver; - auto key = KeymapKey(0, 0, 0, KC_MS_BTN1); + auto key = KeymapKey(0, 0, 0, QK_MOUSE_BUTTON_1); set_keymap({key}); EXPECT_MOUSE_REPORT(driver, (0, 0, 0, 0, 1)); diff --git a/tests/test_common/pointing_device_driver.c b/tests/test_common/pointing_device_driver.c index b64dbad506..42c7a814a4 100644 --- a/tests/test_common/pointing_device_driver.c +++ b/tests/test_common/pointing_device_driver.c @@ -22,8 +22,9 @@ typedef struct { static pd_config_t pd_config = {0}; -void pointing_device_driver_init(void) { +bool pointing_device_driver_init(void) { pd_set_init(true); + return pd_config.initiated; } report_mouse_t pointing_device_driver_get_report(report_mouse_t mouse_report) { diff --git a/tmk_core/protocol/chibios/chibios.c b/tmk_core/protocol/chibios/chibios.c index 19d8121e34..5720bc3c4c 100644 --- a/tmk_core/protocol/chibios/chibios.c +++ b/tmk_core/protocol/chibios/chibios.c @@ -40,9 +40,6 @@ # define EARLY_INIT_PERFORM_BOOTLOADER_JUMP FALSE #endif -#ifdef SLEEP_LED_ENABLE -# include "sleep_led.h" -#endif #ifdef MIDI_ENABLE # include "qmk_midi.h" #endif diff --git a/tmk_core/protocol/chibios/usb_main.c b/tmk_core/protocol/chibios/usb_main.c index f9d7f5c4d6..b798a8d1cb 100644 --- a/tmk_core/protocol/chibios/usb_main.c +++ b/tmk_core/protocol/chibios/usb_main.c @@ -21,10 +21,6 @@ #include "host.h" #include "suspend.h" #include "timer.h" -#ifdef SLEEP_LED_ENABLE -# include "sleep_led.h" -# include "led.h" -#endif #include "wait.h" #include "usb_endpoints.h" #include "usb_device_state.h" @@ -131,19 +127,11 @@ static inline bool usb_event_queue_dequeue(usbevent_t *event) { static inline void usb_event_suspend_handler(void) { usb_device_state_set_suspend(USB_DRIVER.configuration != 0, USB_DRIVER.configuration); -#ifdef SLEEP_LED_ENABLE - sleep_led_enable(); -#endif /* SLEEP_LED_ENABLE */ } static inline void usb_event_wakeup_handler(void) { suspend_wakeup_init(); usb_device_state_set_resume(USB_DRIVER.configuration != 0, USB_DRIVER.configuration); -#ifdef SLEEP_LED_ENABLE - sleep_led_disable(); - // NOTE: converters may not accept this - led_set(host_keyboard_leds()); -#endif /* SLEEP_LED_ENABLE */ } bool last_suspend_state = false; diff --git a/tmk_core/protocol/lufa/lufa.c b/tmk_core/protocol/lufa/lufa.c index d59468133c..e13f4b548e 100644 --- a/tmk_core/protocol/lufa/lufa.c +++ b/tmk_core/protocol/lufa/lufa.c @@ -44,9 +44,6 @@ #include "led.h" #include "sendchar.h" #include "debug.h" -#ifdef SLEEP_LED_ENABLE -# include "sleep_led.h" -#endif #include "suspend.h" #include "wait.h" @@ -278,10 +275,6 @@ void EVENT_USB_Device_Reset(void) { void EVENT_USB_Device_Suspend(void) { print("[S]"); usb_device_state_set_suspend(USB_Device_ConfigurationNumber != 0, USB_Device_ConfigurationNumber); - -#ifdef SLEEP_LED_ENABLE - sleep_led_enable(); -#endif } /** \brief Event USB Device Connect @@ -295,12 +288,6 @@ void EVENT_USB_Device_WakeUp(void) { #endif usb_device_state_set_resume(USB_DeviceState == DEVICE_STATE_Configured, USB_Device_ConfigurationNumber); - -#ifdef SLEEP_LED_ENABLE - sleep_led_disable(); - // NOTE: converters may not accept this - led_set(host_keyboard_leds()); -#endif } #ifdef CONSOLE_ENABLE diff --git a/tmk_core/protocol/report.c b/tmk_core/protocol/report.c index f68334adeb..8cae256cc6 100644 --- a/tmk_core/protocol/report.c +++ b/tmk_core/protocol/report.c @@ -62,7 +62,7 @@ uint8_t get_first_key(void) { /** \brief Checks if a key is pressed in the report * * Returns true if the keyboard_report reports that the key is pressed, otherwise false - * Note: The function doesn't support modifers currently, and it returns false for KC_NO + * Note: The function doesn't support modifiers currently, and it returns false for KC_NO */ bool is_key_pressed(uint8_t key) { if (key == KC_NO) { diff --git a/tmk_core/protocol/vusb/protocol.c b/tmk_core/protocol/vusb/protocol.c index 41ccf451fd..e2d0c4112e 100644 --- a/tmk_core/protocol/vusb/protocol.c +++ b/tmk_core/protocol/vusb/protocol.c @@ -27,10 +27,6 @@ #include "wait.h" #include "sendchar.h" -#ifdef SLEEP_LED_ENABLE -# include "sleep_led.h" -#endif - /* This is from main.c of USBaspLoader */ static void initForUsbConnectivity(void) { uint8_t i = 0; @@ -64,22 +60,6 @@ static inline void vusb_send_remote_wakeup(void) { bool vusb_suspended = false; -static inline void vusb_suspend(void) { -#ifdef SLEEP_LED_ENABLE - sleep_led_enable(); -#endif - - suspend_power_down(); -} - -static inline void vusb_wakeup(void) { - suspend_wakeup_init(); - -#ifdef SLEEP_LED_ENABLE - sleep_led_disable(); -#endif -} - /** \brief Setup USB * * FIXME: Needs doc @@ -133,7 +113,7 @@ void protocol_pre_task(void) { if (should_do_suspend()) { dprintln("suspending keyboard"); while (should_do_suspend()) { - vusb_suspend(); + suspend_power_down(); if (suspend_wakeup_condition()) { vusb_send_remote_wakeup(); @@ -148,7 +128,7 @@ void protocol_pre_task(void) { # endif } } - vusb_wakeup(); + suspend_wakeup_init(); } #endif } diff --git a/util/drivers.txt b/util/drivers.txt index e8ed7bdb0b..0490bfa4ab 100644 --- a/util/drivers.txt +++ b/util/drivers.txt @@ -5,6 +5,8 @@ # Use Windows Powershell and type [guid]::NewGuid() to generate guids winusb,STM32 Bootloader,0483,DF11,6d98a87f-4ecf-464d-89ed-8c684d857a75 winusb,APM32 Bootloader,314B,0106,9ff3cc31-6772-4a3f-a492-a80d91f7a853 +winusb,WB32 Bootloader,342D,DFA0,89b0fdf0-3d22-4408-8393-32147ba508ce +winusb,GD32V Bootloader,28E9,0189,e1421fd6-f799-4b6c-97e6-39e87d37f858 winusb,STM32duino Bootloader,1EAF,0003,746915ec-99d8-4a90-a722-3c85ba31e4fe libusbk,USBaspLoader,16C0,05DC,e69affdc-0ef0-427c-aefb-4e593c9d2724 winusb,Kiibohd DFU Bootloader,1C11,B007,aa5a3f86-b81e-4416-89ad-0c1ea1ed63af diff --git a/util/qmk_install.sh b/util/qmk_install.sh index 3f49bd255a..0829a917ee 100755 --- a/util/qmk_install.sh +++ b/util/qmk_install.sh @@ -24,7 +24,7 @@ case $(uname -a) in . "$QMK_FIRMWARE_UTIL_DIR/install/linux_shared.sh" case $(grep ID /etc/os-release) in - *arch*|*manjaro*) + *arch*|*manjaro*|*cachyos*) . "$QMK_FIRMWARE_UTIL_DIR/install/arch.sh";; *debian*|*ubuntu*) . "$QMK_FIRMWARE_UTIL_DIR/install/debian.sh";;