diff options
63 files changed, 1382 insertions, 166 deletions
diff --git a/.github/workflows/format.yml b/.github/workflows/format.yml index b6ce4063fe..a93fb3a488 100644 --- a/.github/workflows/format.yml +++ b/.github/workflows/format.yml @@ -27,16 +27,14 @@ jobs: run: | pip3 install -r requirements-dev.txt - - uses: trilom/file-changes-action@v1.2.4 + - name: Get changed files id: file_changes - with: - output: ' ' - fileOutput: ' ' + uses: tj-actions/changed-files@v34 - name: Run qmk formatters shell: 'bash {0}' run: | - cat ~/files_added.txt ~/files_modified.txt > ~/files_changed.txt + echo '${{ steps.file_changes.outputs.added_files}}' '${{ steps.file_changes.outputs.modified_files}}' > ~/files_changed.txt qmk format-c --core-only $(< ~/files_changed.txt) || true qmk format-python $(< ~/files_changed.txt) || true qmk format-text $(< ~/files_changed.txt) || true diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 5b8a45f26b..af656cf80f 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -19,21 +19,20 @@ jobs: - name: Install dependencies run: pip3 install -r requirements-dev.txt - - uses: trilom/file-changes-action@v1.2.4 + - name: Get changed files id: file_changes - with: - output: '\n' + uses: tj-actions/changed-files@v34 - name: Print info run: | git rev-parse --short HEAD echo ${{ github.event.pull_request.base.sha }} - echo '${{ steps.file_changes.outputs.files}}' + echo '${{ steps.file_changes.outputs.all_changed_files}}' - name: Run qmk lint shell: 'bash {0}' run: | - QMK_CHANGES=$(echo -e '${{ steps.file_changes.outputs.files}}') + QMK_CHANGES=$(echo -e '${{ steps.file_changes.outputs.all_changed_files}}' | sed 's/ /\n/g') QMK_KEYBOARDS=$(qmk list-keyboards) exit_code=0 diff --git a/data/mappings/info_config.hjson b/data/mappings/info_config.hjson index c1c01ff70f..8f7b34d41a 100644 --- a/data/mappings/info_config.hjson +++ b/data/mappings/info_config.hjson @@ -18,6 +18,10 @@ "BACKLIGHT_ON_STATE": {"info_key": "backlight.on_state", "value_type": "int"}, "BACKLIGHT_PIN": {"info_key": "backlight.pin"}, "BACKLIGHT_PINS": {"info_key": "backlight.pins", "value_type": "array"}, + "BOOTMAGIC_LITE_ROW": {"info_key": "bootmagic.matrix.0", "value_type": "int"}, + "BOOTMAGIC_LITE_COLUMN": {"info_key": "bootmagic.matrix.1", "value_type": "int"}, + "BOOTMAGIC_LITE_ROW_RIGHT": {"info_key": "split.bootmagic.matrix.0", "value_type": "int"}, + "BOOTMAGIC_LITE_COLUMN_RIGHT": {"info_key": "split.bootmagic.matrix.1", "value_type": "int"}, "BOTH_SHIFTS_TURNS_ON_CAPS_WORD": {"info_key": "caps_word.both_shifts_turns_on", "value_type": "bool"}, "CAPS_WORD_IDLE_TIMEOUT": {"info_key": "caps_word.idle_timeout", "value_type": "int"}, "COMBO_COUNT": {"info_key": "combo.count", "value_type": "int"}, @@ -122,7 +126,7 @@ "DEBOUNCING_DELAY": {"info_key": "_invalid.debouncing_delay", "invalid": true, "replace_with": "DEBOUNCE"}, "PREVENT_STUCK_MODIFIERS": {"info_key": "_invalid.prevent_stuck_mods", "invalid": true}, "UNUSED_PINS": {"info_key": "_invalid.unused_pins", "deprecated": true}, - "RGBLIGHT_ANIMATIONS": {"info_key": "rgblight.animations.all", "value_type": "bool", "deprecated": true}, + "RGBLIGHT_ANIMATIONS": {"info_key": "_invalid.rgblight.animations.all", "value_type": "bool", "invalid": true}, "QMK_KEYS_PER_SCAN": {"info_key": "qmk.keys_per_scan", "value_type": "int", "deprecated": true}, // USB params, need to mark as failure when specified in config.h, rather than deprecated diff --git a/data/mappings/info_rules.hjson b/data/mappings/info_rules.hjson index 2f8656c4bf..b020d0c813 100644 --- a/data/mappings/info_rules.hjson +++ b/data/mappings/info_rules.hjson @@ -12,6 +12,7 @@ // replace_with: use with a key marked deprecated or invalid to designate a replacement "BOARD": {"info_key": "board"}, "BOOTLOADER": {"info_key": "bootloader", "warn_duplicate": false}, + "BOOTMAGIC_ENABLE": {"info_key": "bootmagic.enabled", "value_type": "bool"}, "BLUETOOTH_DRIVER": {"info_key": "bluetooth.driver"}, "CAPS_WORD_ENABLE": {"info_key": "caps_word.enabled", "value_type": "bool"}, "DEBOUNCE_TYPE": {"info_key": "build.debounce_type"}, diff --git a/data/schemas/keyboard.jsonschema b/data/schemas/keyboard.jsonschema index 921726a5e9..5c0c23c2b1 100644 --- a/data/schemas/keyboard.jsonschema +++ b/data/schemas/keyboard.jsonschema @@ -131,6 +131,22 @@ } } }, + "bootmagic":{ + "type": "object", + "additionalProperties": false, + "properties": { + "enabled": {"type": "boolean"}, + "matrix": { + "type": "array", + "minItems": 2, + "maxItems": 2, + "items": { + "type": "integer", + "minimum": 0 + } + } + } + }, "board": { "type": "string", "minLength": 2, @@ -511,6 +527,21 @@ "additionalProperties": false, "properties": { "enabled": {"type": "boolean"}, + "bootmagic":{ + "type": "object", + "additionalProperties": false, + "properties": { + "matrix": { + "type": "array", + "minItems": 2, + "maxItems": 2, + "items": { + "type": "integer", + "minimum": 0 + } + } + } + }, "matrix_grid": { "type": "array", "items": {"$ref": "qmk.definitions.v1#/mcu_pin"} diff --git a/docs/ja/feature_grave_esc.md b/docs/ja/feature_grave_esc.md index 8c6680d74d..746e9e5d14 100644 --- a/docs/ja/feature_grave_esc.md +++ b/docs/ja/feature_grave_esc.md @@ -9,7 +9,7 @@ ## 使用法 -キーマップ内の `KC_GRAVE` キー (通常は`1` キーの左)を `KC_GESC` に置き換えます。ほとんどの場合、このキーは押された時に `KC_ESC` を出力します。ただし、Shift あるいは GUI を押したままにすると、代わりに `KC_GRV` を出力します。 +キーマップ内の `KC_GRAVE` キー (通常は`1` キーの左)を `QK_GESC` に置き換えます。ほとんどの場合、このキーは押された時に `KC_ESC` を出力します。ただし、Shift あるいは GUI を押したままにすると、代わりに `KC_GRV` を出力します。 ## OS に見えるもの @@ -19,7 +19,7 @@ | キー | エイリアス | 説明 | |---------|-----------|------------------------------------------------------------------| -| `KC_GESC` | `GRAVE_ESC` | 押された場合に Escape。Shift あるいは GUI が押されたままの場合は <code>`</code> | +| `QK_GESC` | `GRAVE_ESC` | 押された場合に Escape。Shift あるいは GUI が押されたままの場合は <code>`</code> | ### 注意事項 diff --git a/docs/newbs_building_firmware.md b/docs/newbs_building_firmware.md index 6163c6b02e..de9217e9f0 100644 --- a/docs/newbs_building_firmware.md +++ b/docs/newbs_building_firmware.md @@ -28,7 +28,7 @@ If you did not configure your environment, or you have multiple keyboards, you c Look at the output from that command, you should see something like this: - Ψ <github_username> keymap directory created in: /home/me/qmk_firmware/keyboards/clueboard/66/rev3/keymaps/<github_username> + Ψ Created a new keymap called <github_username> in: /home/me/qmk_firmware/keyboards/clueboard/66/rev3/keymaps/<github_username>. This is the location of your new `keymap.c` file. diff --git a/docs/reference_info_json.md b/docs/reference_info_json.md index d5469c835a..2da67668c0 100644 --- a/docs/reference_info_json.md +++ b/docs/reference_info_json.md @@ -333,3 +333,24 @@ Example: } } ``` + +## Bootmagic + +This section configures [Bootmagic Lite](feature_bootmagic.md) support. + +The following options can be configured: + +|Key |Description | +|---------|-----------------------------------------------------------------------------| +|`matrix` | A two item list describing the row and column location for the trigger key. | + +Example: + +```json +{ + "bootmagic": { + "enabled": true, + "matrix": [0, 0] + }, +} +```
\ No newline at end of file diff --git a/docs/zh-cn/feature_grave_esc.md b/docs/zh-cn/feature_grave_esc.md index f57dabeaff..1795a508ef 100644 --- a/docs/zh-cn/feature_grave_esc.md +++ b/docs/zh-cn/feature_grave_esc.md @@ -11,7 +11,7 @@ ## 使用方法 -在配列中使用 `KC_GESC` 替换 `KC_GRAVE` (一般都在`1`键左边)。默认点击会输出 `KC_ESC`,按下Shift或GUI键时,点击会输出 `KC_GRV` +在配列中使用 `QK_GESC` 替换 `KC_GRAVE` (一般都在`1`键左边)。默认点击会输出 `KC_ESC`,按下Shift或GUI键时,点击会输出 `KC_GRV` ## 操作系统视角 @@ -21,7 +21,7 @@ |键 |别名 |描述 | |---------|-----------|------------------------------------------------------------------| -|`KC_GESC`|`GRAVE_ESC`|单击输出Escape, 按住Shift或GUI时输出<code>`</code> | +|`QK_GESC`|`GRAVE_ESC`|单击输出Escape, 按住Shift或GUI时输出<code>`</code> | ### 须留意 diff --git a/keyboards/bioi/main.c b/keyboards/bioi/main.c index bba54dfab1..eb149eb7cd 100644 --- a/keyboards/bioi/main.c +++ b/keyboards/bioi/main.c @@ -56,7 +56,7 @@ extern keymap_config_t keymap_config; #include "virtser.h" #endif -#if (defined(RGB_MIDI) | defined(RGBLIGHT_ANIMATIONS)) & defined(RGBLIGHT_ENABLE) +#if defined(RGBLIGHT_ENABLE) #include "rgblight.h" #endif diff --git a/keyboards/cannonkeys/ortho60v2/config.h b/keyboards/cannonkeys/ortho60v2/config.h new file mode 100644 index 0000000000..2af75a1715 --- /dev/null +++ b/keyboards/cannonkeys/ortho60v2/config.h @@ -0,0 +1,23 @@ +/* +Copyright 2022 CannonKeys + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ +#pragma once + +#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET // Activates the double-tap behavior +#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 200U // Timeout window in ms in which the double tap can occur. + +#define BACKLIGHT_PWM_DRIVER PWMD6 +#define BACKLIGHT_PWM_CHANNEL RP2040_PWM_CHANNEL_A diff --git a/keyboards/cannonkeys/ortho60v2/halconf.h b/keyboards/cannonkeys/ortho60v2/halconf.h new file mode 100644 index 0000000000..cef26f106c --- /dev/null +++ b/keyboards/cannonkeys/ortho60v2/halconf.h @@ -0,0 +1,23 @@ + /* + * Copyright Andrew Kannan 2022 + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + + +#pragma once + +#define HAL_USE_PWM TRUE + +#include_next <halconf.h> diff --git a/keyboards/cannonkeys/ortho60v2/info.json b/keyboards/cannonkeys/ortho60v2/info.json new file mode 100644 index 0000000000..08f5321d84 --- /dev/null +++ b/keyboards/cannonkeys/ortho60v2/info.json @@ -0,0 +1,105 @@ +{ + "keyboard_name": "Ortho60 v2", + "maintainer": "awkannan", + "manufacturer": "CannonKeys", + "processor": "RP2040", + "bootloader": "rp2040", + "usb": { + "vid": "0xCA04", + "pid": "0x0019", + "device_version": "0.0.1" + }, + "url": "https://cannonkeys.com", + "diode_direction": "COL2ROW", + "matrix_pins": { + "cols": ["GP7", "GP6", "GP5", "GP4", "GP3", "GP2", "GP1", "GP0", "GP13", "GP24", "GP23", "GP22"], + "rows": ["GP27", "GP18", "GP19", "GP25", "GP26"] + }, + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true, + "backlight": true, + "encoder": true + }, + "encoder": { + "rotary": [ + { "pin_a": "GP28", "pin_b": "GP29" } + ] + }, + "backlight": { + "breathing": true, + "breathing_period": 5, + "levels": 15, + "pin": "GP12" + }, + "layouts": { + "LAYOUT_ortho_5x12": { + "layout": [ + { "label": "`", "matrix": [0, 0], "x": 0.0, "y": 0.0 }, + { "label": "1", "matrix": [0, 1], "x": 1.0, "y": 0.0 }, + { "label": "2", "matrix": [0, 2], "x": 2.0, "y": 0.0 }, + { "label": "3", "matrix": [0, 3], "x": 3.0, "y": 0.0 }, + { "label": "4", "matrix": [0, 4], "x": 4.0, "y": 0.0 }, + { "label": "5", "matrix": [0, 5], "x": 5.0, "y": 0.0 }, + { "label": "6", "matrix": [0, 6], "x": 6.0, "y": 0.0 }, + { "label": "7", "matrix": [0, 7], "x": 7.0, "y": 0.0 }, + { "label": "8", "matrix": [0, 8], "x": 8.0, "y": 0.0 }, + { "label": "9", "matrix": [0, 9], "x": 9.0, "y": 0.0 }, + { "label": "0", "matrix": [0, 10], "x": 10.0, "y": 0.0 }, + { "label": "Del", "matrix": [0, 11], "x": 11.0, "y": 0.0 }, + { "label": "Tab", "matrix": [1, 0], "x": 0.0, "y": 1.0 }, + { "label": "Q", "matrix": [1, 1], "x": 1.0, "y": 1.0 }, + { "label": "W", "matrix": [1, 2], "x": 2.0, "y": 1.0 }, + { "label": "E", "matrix": [1, 3], "x": 3.0, "y": 1.0 }, + { "label": "R", "matrix": [1, 4], "x": 4.0, "y": 1.0 }, + { "label": "T", "matrix": [1, 5], "x": 5.0, "y": 1.0 }, + { "label": "Y", "matrix": [1, 6], "x": 6.0, "y": 1.0 }, + { "label": "U", "matrix": [1, 7], "x": 7.0, "y": 1.0 }, + { "label": "I", "matrix": [1, 8], "x": 8.0, "y": 1.0 }, + { "label": "O", "matrix": [1, 9], "x": 9.0, "y": 1.0 }, + { "label": "P", "matrix": [1, 10], "x": 10.0, "y": 1.0 }, + { "label": "Back Space", "matrix": [1, 11], "x": 11.0, "y": 1.0 }, + { "label": "Esc", "matrix": [2, 0], "x": 0.0, "y": 2.0 }, + { "label": "A", "matrix": [2, 1], "x": 1.0, "y": 2.0 }, + { "label": "S", "matrix": [2, 2], "x": 2.0, "y": 2.0 }, + { "label": "D", "matrix": [2, 3], "x": 3.0, "y": 2.0 }, + { "label": "F", "matrix": [2, 4], "x": 4.0, "y": 2.0 }, + { "label": "G", "matrix": [2, 5], "x": 5.0, "y": 2.0 }, + { "label": "H", "matrix": [2, 6], "x": 6.0, "y": 2.0 }, + { "label": "J", "matrix": [2, 7], "x": 7.0, "y": 2.0 }, + { "label": "K", "matrix": [2, 8], "x": 8.0, "y": 2.0 }, + { "label": "L", "matrix": [2, 9], "x": 9.0, "y": 2.0 }, + { "label": ";", "matrix": [2, 10], "x": 10.0, "y": 2.0 }, + { "label": "'", "matrix": [2, 11], "x": 11.0, "y": 2.0 }, + { "label": "Shift", "matrix": [3, 0], "x": 0.0, "y": 3.0 }, + { "label": "Z", "matrix": [3, 1], "x": 1.0, "y": 3.0 }, + { "label": "X", "matrix": [3, 2], "x": 2.0, "y": 3.0 }, + { "label": "C", "matrix": [3, 3], "x": 3.0, "y": 3.0 }, + { "label": "V", "matrix": [3, 4], "x": 4.0, "y": 3.0 }, + { "label": "B", "matrix": [3, 5], "x": 5.0, "y": 3.0 }, + { "label": "N", "matrix": [3, 6], "x": 6.0, "y": 3.0 }, + { "label": "M", "matrix": [3, 7], "x": 7.0, "y": 3.0 }, + { "label": ",", "matrix": [3, 8], "x": 8.0, "y": 3.0 }, + { "label": ".", "matrix": [3, 9], "x": 9.0, "y": 3.0 }, + { "label": "/", "matrix": [3, 10], "x": 10.0, "y": 3.0 }, + { "label": "Return", "matrix": [3, 11], "x": 11.0, "y": 3.0 }, + { "matrix": [4, 0], "x": 0.0, "y": 4.0 }, + { "label": "Ctrl", "matrix": [4, 1], "x": 1.0, "y": 4.0 }, + { "label": "Alt", "matrix": [4, 2], "x": 2.0, "y": 4.0 }, + { "label": "Super", "matrix": [4, 3], "x": 3.0, "y": 4.0 }, + { "label": "Lower", "matrix": [4, 4], "x": 4.0, "y": 4.0 }, + { "matrix": [4, 5], "x": 5.0, "y": 4.0 }, + { "matrix": [4, 6], "x": 6.0, "y": 4.0 }, + { "label": "Raise", "matrix": [4, 7], "x": 7.0, "y": 4.0 }, + { "label": "←", "matrix": [4, 8], "x": 8.0, "y": 4.0 }, + { "label": "↓", "matrix": [4, 9], "x": 9.0, "y": 4.0 }, + { "label": "↑", "matrix": [4, 10], "x": 10.0, "y": 4.0 }, + { "label": "→", "matrix": [4, 11], "x": 11.0, "y": 4.0 } + ] + } + } +} diff --git a/keyboards/cannonkeys/ortho60v2/keymaps/default/keymap.c b/keyboards/cannonkeys/ortho60v2/keymaps/default/keymap.c new file mode 100644 index 0000000000..1f042bdd20 --- /dev/null +++ b/keyboards/cannonkeys/ortho60v2/keymaps/default/keymap.c @@ -0,0 +1,99 @@ +/* +Copyright 2012,2013 Jun Wako <wakojun@gmail.com> + +This program is free software: you can redistribute it an |