Skip to content

Commit

Permalink
teste
Browse files Browse the repository at this point in the history
Squashed commit of the following:

commit 441988e
Author: Ryan <fauxpark@gmail.com>
Date:   Sat Apr 8 20:50:50 2023 +1000

    Move `default` layouts to data driven (qmk#20349)

commit fd6449e
Author: Ryan <fauxpark@gmail.com>
Date:   Sat Apr 8 19:27:11 2023 +1000

    Move split space/backspace layouts to data driven (qmk#20356)

commit 41feebf
Author: Nick Brassel <nick@tzarc.org>
Date:   Sat Apr 8 19:24:33 2023 +1000

    Set up DEFAULT_FOLDER for primekb/meridian (qmk#20367)

commit 5220487
Author: Ryan <fauxpark@gmail.com>
Date:   Sat Apr 8 18:08:08 2023 +1000

    Move `RGB_MATRIX_DRIVER` to data driven (qmk#20350)

commit 10fc6c4
Merge: dbfbf6c 2c375e6
Author: Nick Brassel <nick@tzarc.org>
Date:   Sat Apr 8 11:03:04 2023 +1000

    Merge remote-tracking branch 'upstream/master' into develop

commit 2c375e6
Author: Drashna Jaelre <drashna@drashna.net>
Date:   Fri Apr 7 17:59:13 2023 -0700

    [Keyboard] Add audio support to Adafruit MacroPad RP2040 (qmk#20353)

commit dbfbf6c
Merge: 4aa2cd4 a5e68e5
Author: QMK Bot <hello@qmk.fm>
Date:   Fri Apr 7 22:12:38 2023 +0000

    Merge remote-tracking branch 'origin/master' into develop

commit a5e68e5
Author: Duncan Sutherland <75046609+dunk2k@users.noreply.github.com>
Date:   Fri Apr 7 23:11:56 2023 +0100

    Convertors documentation: Removed duplicate table entry (qmk#20360)

commit 4aa2cd4
Merge: 369c5a2 e9b36be
Author: QMK Bot <hello@qmk.fm>
Date:   Fri Apr 7 13:08:43 2023 +0000

    Merge remote-tracking branch 'origin/master' into develop

commit e9b36be
Author: Joel Challis <git@zvecr.com>
Date:   Fri Apr 7 14:07:59 2023 +0100

    Avoid generating empty ENCODER_RESOLUTION (qmk#20179)

commit 369c5a2
Author: Pablo Martínez <58857054+elpekenin@users.noreply.github.com>
Date:   Fri Apr 7 12:41:53 2023 +0200

    Add layer-cycle example (qmk#19069)

    Co-authored-by: Drashna Jaelre <drashna@live.com>

commit f076458
Merge: 5bc5140 df7b56e
Author: QMK Bot <hello@qmk.fm>
Date:   Fri Apr 7 08:38:54 2023 +0000

    Merge remote-tracking branch 'origin/master' into develop

commit df7b56e
Author: Nick Brassel <nick@tzarc.org>
Date:   Fri Apr 7 18:38:16 2023 +1000

    Fixup CI build variables. (qmk#20357)

commit 5bc5140
Merge: b84b62c 2e766a9
Author: QMK Bot <hello@qmk.fm>
Date:   Fri Apr 7 06:37:46 2023 +0000

    Merge remote-tracking branch 'origin/master' into develop

commit 2e766a9
Author: Nick Brassel <nick@tzarc.org>
Date:   Fri Apr 7 16:37:06 2023 +1000

    Add Discord webhook at end of each CI run. (qmk#20355)

commit b84b62c
Merge: 6334805 4ba3fdf
Author: QMK Bot <hello@qmk.fm>
Date:   Fri Apr 7 04:28:28 2023 +0000

    Merge remote-tracking branch 'origin/master' into develop

commit 4ba3fdf
Author: Albert Y <76888457+filterpaper@users.noreply.github.com>
Date:   Fri Apr 7 12:27:51 2023 +0800

    Move a_dux to data-driven (qmk#20043)

commit 6334805
Merge: 47966dc 655c24d
Author: QMK Bot <hello@qmk.fm>
Date:   Thu Apr 6 18:03:03 2023 +0000

    Merge remote-tracking branch 'origin/master' into develop

commit 655c24d
Author: lalalademaxiya1 <66767061+lalalademaxiya1@users.noreply.github.com>
Date:   Fri Apr 7 02:02:24 2023 +0800

    [Keyboard] Add Keychron Q11 (qmk#20125)

    Co-authored-by: Drashna Jaelre <drashna@live.com>
    Co-authored-by: adophoxia <100170946+adophoxia@users.noreply.github.com>
    Co-authored-by: Ryan <fauxpark@gmail.com>

commit 47966dc
Author: Ryan <fauxpark@gmail.com>
Date:   Thu Apr 6 18:00:54 2023 +1000

    Migrate `rgblight.pin` and `RGB_DI_PIN` to `ws2812.pin` (qmk#20303)

commit 71c22a1
Author: James McCleese <jmccleese@gmail.com>
Date:   Wed Apr 5 18:37:15 2023 -0500

    [Keyboard] Add 36-key layout for Beekeeb Piantor (qmk#20328)

    Co-authored-by: James McCleese <James.McCleese@nbcuni.com>

commit 73b376a
Author: Stefan Kerkmann <karlk90@pm.me>
Date:   Thu Apr 6 01:04:23 2023 +0200

    [Chore] Remove stray mod tap interrupt defines and per key functions (qmk#20347)

    * Remove stray defines and per key functions

    * Remove defunct get_ignore_mod_tap_interrupt declaration

commit 7115927
Author: Drashna Jaelre <drashna@drashna.net>
Date:   Wed Apr 5 15:36:08 2023 -0700

    [Bug] Fix compilation issue with Swap Hands and Encoder Map (qmk#20348)

commit 2e9997f
Merge: b1b8cd1 eab2b8f
Author: QMK Bot <hello@qmk.fm>
Date:   Wed Apr 5 22:35:13 2023 +0000

    Merge remote-tracking branch 'origin/master' into develop

commit eab2b8f
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date:   Wed Apr 5 23:34:35 2023 +0100

    Bump peter-evans/create-pull-request from 4 to 5 (qmk#20346)

    Bumps [peter-evans/create-pull-request](https://github.com/peter-evans/create-pull-request) from 4 to 5.
    - [Release notes](https://github.com/peter-evans/create-pull-request/releases)
    - [Commits](peter-evans/create-pull-request@v4...v5)

    ---
    updated-dependencies:
    - dependency-name: peter-evans/create-pull-request
      dependency-type: direct:production
      update-type: version-update:semver-major
    ...

    Signed-off-by: dependabot[bot] <support@github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

commit b1b8cd1
Author: Nick Brassel <nick@tzarc.org>
Date:   Thu Apr 6 08:10:40 2023 +1000

    Add basic profiler. (qmk#20238)

commit 8971311
Merge: b6c99ce d058091
Author: QMK Bot <hello@qmk.fm>
Date:   Wed Apr 5 18:36:25 2023 +0000

    Merge remote-tracking branch 'origin/master' into develop

commit d058091
Author: Luis Garcia <luis@bitjester.com>
Date:   Wed Apr 5 12:35:34 2023 -0600

    Add peterfalken userspace & keymaps (qmk#19897)

    Co-authored-by: Peter.Falken <luis.garcia@bitjester.com>

commit b6c99ce
Merge: f7c597b 596319c
Author: QMK Bot <hello@qmk.fm>
Date:   Wed Apr 5 18:29:11 2023 +0000

    Merge remote-tracking branch 'origin/master' into develop

commit 596319c
Author: Álvaro A. Volpato <alvaro.augusto.volpato@gmail.com>
Date:   Wed Apr 5 15:28:27 2023 -0300

    Add Iron160 I160-S and I160-H PCBs support (qmk#20077)

    Co-authored-by: Ryan <fauxpark@gmail.com>
    Co-authored-by: jack <0x6a73@protonmail.com>

commit f7c597b
Merge: cb87a23 4d17fe2
Author: QMK Bot <hello@qmk.fm>
Date:   Wed Apr 5 18:26:07 2023 +0000

    Merge remote-tracking branch 'origin/master' into develop

commit 4d17fe2
Author: DeskDaily <65656486+DeskDaily@users.noreply.github.com>
Date:   Thu Apr 6 02:25:21 2023 +0800

    [Keyboard] Add lxxt (qmk#19935)

    Co-authored-by: Neil Brian Ramirez <nightlykeyboards@gmail.com>
    Co-authored-by: Neil Brian Ramirez <nightlyboards@gmail.com>

commit cb87a23
Merge: 8bb4cba 1d045e8
Author: QMK Bot <hello@qmk.fm>
Date:   Wed Apr 5 08:07:10 2023 +0000

    Merge remote-tracking branch 'origin/master' into develop

commit 1d045e8
Author: Dane Skalski <daneski13@gmail.com>
Date:   Wed Apr 5 01:06:24 2023 -0700

    Add Junco Keyboard (qmk#19516)

commit 8bb4cba
Author: Ryan <fauxpark@gmail.com>
Date:   Wed Apr 5 15:53:45 2023 +1000

    Move TKL layouts to data driven (qmk#20337)

commit 09a2b70
Author: Ryan <fauxpark@gmail.com>
Date:   Wed Apr 5 15:50:56 2023 +1000

    Move Alice and Ergodox layouts to data driven (qmk#20340)

commit 6847dba
Author: Ryan <fauxpark@gmail.com>
Date:   Wed Apr 5 15:48:37 2023 +1000

    Move 75% and 96% layouts to data driven (qmk#20289)

commit 364c06d
Author: Ryan <fauxpark@gmail.com>
Date:   Wed Apr 5 15:46:59 2023 +1000

    Move small macropad-ish layouts to data driven (qmk#20341)

commit 06c5c02
Author: Nick Brassel <nick@tzarc.org>
Date:   Wed Apr 5 14:59:09 2023 +1000

    Disable specific warnings to mitigate compilation problems with `KEEP_INTERMEDIATES=yes`. (qmk#20339)

commit f1dbffe
Merge: 7bfc2a3 f7176f0
Author: QMK Bot <hello@qmk.fm>
Date:   Tue Apr 4 21:37:04 2023 +0000

    Merge remote-tracking branch 'origin/master' into develop

commit f7176f0
Author: Alex Miller <39163867+doesntfazer@users.noreply.github.com>
Date:   Tue Apr 4 17:36:23 2023 -0400

    [Keyboard] Add Budgy and Crowboard Keyboards (qmk#19141)

    Co-authored-by: jack <0x6a73@protonmail.com>
    Co-authored-by: Ryan <fauxpark@gmail.com>
    Co-authored-by: Drashna Jaelre <drashna@live.com>

commit 7bfc2a3
Author: Ryan <fauxpark@gmail.com>
Date:   Tue Apr 4 15:20:10 2023 +1000

    Move 65% layouts to data driven (qmk#20308)

commit 0e7acb7
Merge: 976317d 687883c
Author: QMK Bot <hello@qmk.fm>
Date:   Tue Apr 4 05:10:36 2023 +0000

    Merge remote-tracking branch 'origin/master' into develop

commit 687883c
Author: Nick Brassel <nick@tzarc.org>
Date:   Tue Apr 4 15:09:55 2023 +1000

    Resolve keyboard names for `qmk mass-compile`. (qmk#20335)

commit 976317d
Author: Ryan <fauxpark@gmail.com>
Date:   Tue Apr 4 14:39:20 2023 +1000

    Move fullsize layouts to data driven (qmk#20317)

commit b463ceb
Author: Ryan <fauxpark@gmail.com>
Date:   Tue Apr 4 14:29:50 2023 +1000

    Move TKL F13 and FRL layouts to data driven (qmk#20310)

commit 147d397
Author: adophoxia <100170946+adophoxia@users.noreply.github.com>
Date:   Mon Apr 3 20:26:54 2023 -0700

    Move Keychron Q0 and Q0 Plus data-driven configuration; `keychron` keymap `rules.mk` cleanup (qmk#20168)

    Co-authored-by: Nick Brassel <nick@tzarc.org>

commit c224cb9
Merge: 81f321d f56cf93
Author: QMK Bot <hello@qmk.fm>
Date:   Tue Apr 4 02:15:38 2023 +0000

    Merge remote-tracking branch 'origin/master' into develop

commit f56cf93
Author: Albert Y <76888457+filterpaper@users.noreply.github.com>
Date:   Tue Apr 4 10:15:00 2023 +0800

    Add debounce time description (qmk#20333)

commit 81f321d
Author: Ryan <fauxpark@gmail.com>
Date:   Tue Apr 4 10:15:35 2023 +1000

    `qmk info`: account for ISO enter when calculating layout X offset (qmk#20325)

commit 1dd2d1d
Merge: ae63c0f 1fd30b3
Author: Nick Brassel <nick@tzarc.org>
Date:   Tue Apr 4 09:20:23 2023 +1000

    Merge remote-tracking branch 'upstream/master' into develop

commit 1fd30b3
Author: Alex Paulescu <alex.paulescu@gmail.com>
Date:   Tue Apr 4 02:13:42 2023 +0300

    Manibus keyboard, update pinout (qmk#20309)

commit ae63c0f
Author: Pascal Getreuer <50221757+getreuer@users.noreply.github.com>
Date:   Mon Apr 3 16:11:26 2023 -0700

    [Core]  Caps Word "Invert on shift" option:  pressing Shift inverts the shift state. (qmk#20092)

    Co-authored-by: Nick Brassel <nick@tzarc.org>

commit 368fee9
Author: Purdea Andrei <andrei@purdea.ro>
Date:   Tue Apr 4 02:07:36 2023 +0300

    rp2040: *_PAL_MODE overridable for this platform too (qmk#20314)

    Co-authored-by: Sergey Vlasov <sigprof@gmail.com>

commit d783536
Merge: ce58f04 37f205e
Author: QMK Bot <hello@qmk.fm>
Date:   Mon Apr 3 23:07:16 2023 +0000

    Merge remote-tracking branch 'origin/master' into develop

commit 37f205e
Author: Albert Y <76888457+filterpaper@users.noreply.github.com>
Date:   Tue Apr 4 07:06:33 2023 +0800

    Use table for debounce algorithm description (qmk#20322)

commit ce58f04
Merge: ccc7921 26e0bfd
Author: QMK Bot <hello@qmk.fm>
Date:   Mon Apr 3 23:06:15 2023 +0000

    Merge remote-tracking branch 'origin/master' into develop

commit 26e0bfd
Author: blindassassin111 <38090555+blindassassin111@users.noreply.github.com>
Date:   Mon Apr 3 18:05:13 2023 -0500

    [keyboard] Adding OSAv2 numpad (qmk#20209)

    Co-authored-by: jack <0x6a73@protonmail.com>

commit ccc7921
Merge: ccda5d2 a434507
Author: QMK Bot <hello@qmk.fm>
Date:   Mon Apr 3 22:56:21 2023 +0000

    Merge remote-tracking branch 'origin/master' into develop

commit a434507
Author: Andrew Kannan <andrew.kannan@gmail.com>
Date:   Mon Apr 3 18:56:12 2023 -0400

    Add Ripple TKL Keyboard firmware (qmk#20301)

commit ee8c867
Author: Andrew Kannan <andrew.kannan@gmail.com>
Date:   Mon Apr 3 18:55:38 2023 -0400

    Add Ripple TKL Hotswap Firmware (qmk#20302)

    Co-authored-by: Less/Rikki <86894501+lesshonor@users.noreply.github.com>

commit ccda5d2
Author: ngs-ch <125195794+ngs-ch@users.noreply.github.com>
Date:   Tue Apr 4 07:48:51 2023 +0900

    Make "detected_host_os()" available on the SLAVE side of the split keyboard (qmk#19854)

    Co-authored-by: ngs.ch <ngs.ch>
    Co-authored-by: Drashna Jaelre <drashna@drashna.net>

commit d82c664
Author: CobraSock <128439817+CobraSock@users.noreply.github.com>
Date:   Mon Apr 3 15:46:00 2023 -0700

    Fixed split keyboard issue where custom LED indicators could activate incorrect LEDs (qmk#20203) (qmk#20204)

    Co-authored-by: N M <ninja.milkman@gmail.com>
    Fixed split keyboard issue where custom LED indicators could activate incorrect LEDs (qmk#20203)

commit b67bdf2
Merge: 49ac29f 246cf99
Author: QMK Bot <hello@qmk.fm>
Date:   Mon Apr 3 22:43:55 2023 +0000

    Merge remote-tracking branch 'origin/master' into develop

commit 246cf99
Author: Cameron Larsen <44081018+cameronjlarsen@users.noreply.github.com>
Date:   Mon Apr 3 15:43:12 2023 -0700

    Personal keymaps for crkbd and kyria (qmk#20009)

commit 49ac29f
Merge: c404e5e eb52984
Author: QMK Bot <hello@qmk.fm>
Date:   Mon Apr 3 20:18:58 2023 +0000

    Merge remote-tracking branch 'origin/master' into develop

commit eb52984
Author: Anjheos <69339386+Anjheos@users.noreply.github.com>
Date:   Mon Apr 3 13:18:08 2023 -0700

    Adding Oceanographer to QMK. (qmk#20324)

commit c404e5e
Merge: 36ab0c0 a5272a1
Author: QMK Bot <hello@qmk.fm>
Date:   Mon Apr 3 18:50:07 2023 +0000

    Merge remote-tracking branch 'origin/master' into develop

commit a5272a1
Author: Danny <nooges@users.noreply.github.com>
Date:   Mon Apr 3 14:49:21 2023 -0400

    Modify default encoder mappings, change PID, enable mousekeys (qmk#20329)

commit 36ab0c0
Author: jack <0x6A73@pm.me>
Date:   Mon Apr 3 10:18:17 2023 -0600

    Add core/fallback encoder behaviour (qmk#20320)

commit 7e48a4e
Author: Ryan <fauxpark@gmail.com>
Date:   Mon Apr 3 21:39:02 2023 +1000

    Fix API errors (qmk#20326)

commit bd4899f
Merge: fcf8b80 d06ce01
Author: fauxpark <fauxpark@gmail.com>
Date:   Mon Apr 3 20:59:24 2023 +1000

    Merge remote-tracking branch 'upstream/master' into develop

commit fcf8b80
Author: Stefan Kerkmann <karlk90@pm.me>
Date:   Mon Apr 3 10:33:45 2023 +0200

    [Core] Refactor `keyevent_t` for 1ms timing resolution (qmk#15847)

commit d06ce01
Author: Ryan <fauxpark@gmail.com>
Date:   Mon Apr 3 16:34:03 2023 +1000

    PR checklist: keyboard updates must go to `develop` (qmk#20323)

commit c58610b
Author: Purdea Andrei <andrei@purdea.ro>
Date:   Mon Apr 3 08:45:46 2023 +0300

    Data-driven updates to overnumpad controller keyboards (qmk#20259)

commit 12de029
Author: Julius Degesys <Julius.Degesys@gmail.com>
Date:   Mon Apr 3 01:42:14 2023 -0400

    Suggest `qmk list-keyboards` when testing build environment (qmk#19471)

    Co-authored-by: Joel Challis <git@zvecr.com>

commit 4992df5
Author: Lisa Ugray <lisa.ugray@gmail.com>
Date:   Mon Apr 3 01:39:52 2023 -0400

    Add an alternate layout definition for Keyboardio Model 01 (qmk#20245)

commit f3f0bf6
Author: studiokestra <74369928+studiokestra@users.noreply.github.com>
Date:   Sun Apr 2 23:37:43 2023 -0600

    Refactor Galatea (qmk#20011)

commit 8a5e8ed
Author: 4pplet <mail@4pplet.com>
Date:   Mon Apr 3 07:24:49 2023 +0200

    Adding Unextended Standard PCB (qmk#20190)

    Co-authored-by: Drashna Jaelre <drashna@live.com>
    Co-authored-by: 4pplet <4pplet@protonmail.com>
    Co-authored-by: 4pplet <stefan.ess@gmail.com>

commit fb6557a
Author: 3araht <69518343+3araht@users.noreply.github.com>
Date:   Mon Apr 3 14:12:11 2023 +0900

    New layer added to giabalanai keyboard (qmk#20118)
  • Loading branch information
freznel10 committed Apr 9, 2023
1 parent d555248 commit 49a7b5e
Show file tree
Hide file tree
Showing 4,712 changed files with 144,995 additions and 131,592 deletions.
The diff you're trying to view is too large. We only load the first 3000 changed files.
12 changes: 10 additions & 2 deletions .github/workflows/ci_builds.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,11 @@ on:

jobs:
ci_builds:
if: github.repository == 'qmk/qmk_firmware'
name: "CI Build"
runs-on: self-hosted
timeout-minutes: 1380

if: github.repository == 'qmk/qmk_firmware'

strategy:
fail-fast: false
matrix:
Expand Down Expand Up @@ -58,3 +57,12 @@ jobs:
*.hex
*.uf2
.build/failed.*
- name: 'CI Discord Notification'
if: always()
working-directory: util/ci/
env:
DISCORD_WEBHOOK: ${{ secrets.CI_DISCORD_WEBHOOK }}
run: |
python3 -m pip install -r requirements.txt
python3 ./discord-results.py --branch ${{ matrix.branch }} --keymap ${{ matrix.keymap }} --url ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
2 changes: 1 addition & 1 deletion .github/workflows/format_push.yml
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ jobs:
git config user.email 'hello@qmk.fm'
- name: Create Pull Request
uses: peter-evans/create-pull-request@v4
uses: peter-evans/create-pull-request@v5
if: ${{ github.repository == 'qmk/qmk_firmware'}}
with:
token: ${{ secrets.QMK_BOT_TOKEN }}
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/regen_push.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ jobs:
git config user.email 'hello@qmk.fm'
- name: Create Pull Request
uses: peter-evans/create-pull-request@v4
uses: peter-evans/create-pull-request@v5
if: ${{ github.repository == 'qmk/qmk_firmware'}}
with:
token: ${{ secrets.QMK_BOT_TOKEN }}
Expand Down
4 changes: 3 additions & 1 deletion data/mappings/info_config.hjson
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@
"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"},
"CAPS_WORD_INVERT_ON_SHIFT": {"info_key": "caps_word.invert_on_shift", "value_type": "bool"},
"COMBO_COUNT": {"info_key": "combo.count", "value_type": "int"},
"COMBO_TERM": {"info_key": "combo.term", "value_type": "int"},
"DEBOUNCE": {"info_key": "debounce", "value_type": "int"},
Expand Down Expand Up @@ -72,7 +73,6 @@
"PS2_DATA_PIN": {"info_key": "ps2.data_pin"},
"RETRO_TAPPING": {"info_key": "tapping.retro", "value_type": "bool"},
"RETRO_TAPPING_PER_KEY": {"info_key": "tapping.retro_per_key", "value_type": "bool"},
"RGB_DI_PIN": {"info_key": "rgblight.pin"},
"RGBLED_NUM": {"info_key": "rgblight.led_count", "value_type": "int"},
"RGBLED_SPLIT": {"info_key": "rgblight.split_count", "value_type": "array.int"},
"RGBLIGHT_LAYER_BLINK": {"info_key": "rgblight.layers.blink", "value_type": "bool"},
Expand Down Expand Up @@ -119,10 +119,12 @@
"USB_MAX_POWER_CONSUMPTION": {"info_key": "usb.max_power", "value_type": "int"},
"USB_POLLING_INTERVAL_MS": {"info_key": "usb.polling_interval", "value_type": "int"},
"USB_SUSPEND_WAKEUP_DELAY": {"info_key": "usb.suspend_wakeup_delay", "value_type": "int"},
"WS2812_DI_PIN": {"info_key": "ws2812.pin"},
"WS2812_I2C_ADDRESS": {"info_key": "ws2812.i2c_address", "value_type": "hex"},
"WS2812_I2C_TIMEOUT": {"info_key": "ws2812.i2c_timeout", "value_type": "int"},

// Items we want flagged in lint
"RGB_DI_PIN": {"info_key": "rgblight.pin", "invalid": true, "replace_with": "WS2812_DI_PIN or APA102_DI_PIN"},
"NO_ACTION_MACRO": {"info_key": "_invalid.no_action_macro", "invalid": true},
"NO_ACTION_FUNCTION": {"info_key": "_invalid.no_action_function", "invalid": true},
"DESCRIPTION": {"info_key": "_invalid.usb_description", "invalid": true},
Expand Down
9 changes: 7 additions & 2 deletions data/schemas/keyboard.jsonschema
Original file line number Diff line number Diff line change
Expand Up @@ -226,7 +226,8 @@
"enabled": {"type": "boolean"},
"both_shifts_turns_on": {"type": "boolean"},
"double_tap_shift_turns_on": {"type": "boolean"},
"idle_timeout": {"$ref": "qmk.definitions.v1#/unsigned_int"}
"idle_timeout": {"$ref": "qmk.definitions.v1#/unsigned_int"},
"invert_on_shift": {"type": "boolean"}
}
},
"combo": {
Expand Down Expand Up @@ -490,7 +491,10 @@
},
"led_count": {"$ref": "qmk.definitions.v1#/unsigned_int"},
"max_brightness": {"$ref": "qmk.definitions.v1#/unsigned_int_8"},
"pin": {"$ref": "qmk.definitions.v1#/mcu_pin"},
"pin": {
"$ref": "qmk.definitions.v1#/mcu_pin",
"$comment": "Deprecated: use ws2812.pin instead"
},
"rgbw": {"type": "boolean"},
"saturation_steps": {"$ref": "qmk.definitions.v1#/unsigned_int"},
"sleep": {"type": "boolean"},
Expand Down Expand Up @@ -713,6 +717,7 @@
"type": "string",
"enum": ["bitbang", "custom", "i2c", "pwm", "spi", "vendor"]
},
"pin": {"$ref": "qmk.definitions.v1#/mcu_pin"},
"i2c_address": {"$ref": "qmk.definitions.v1#/hex_number_2d"},
"i2c_timeout": {"$ref": "qmk.definitions.v1#/unsigned_int"}
}
Expand Down
4 changes: 2 additions & 2 deletions docs/config_options.md
Original file line number Diff line number Diff line change
Expand Up @@ -214,7 +214,7 @@ If you define these options you will enable the associated feature, which may in

## RGB Light Configuration

* `#define RGB_DI_PIN D7`
* `#define WS2812_DI_PIN D7`
* pin the DI on the WS2812 is hooked-up to
* `#define RGBLIGHT_LAYERS`
* Lets you define [lighting layers](feature_rgblight.md?id=lighting-layers) that can be toggled on or off. Great for showing the current keyboard layer or caps lock state.
Expand All @@ -230,7 +230,7 @@ If you define these options you will enable the associated feature, which may in
* `#define RGBLIGHT_SPLIT`
* Needed if both halves of the board have RGB LEDs wired directly to the RGB output pin on the controllers instead of passing the output of the left half to the input of the right half
* `#define RGBLED_SPLIT { 6, 6 }`
* number of LEDs connected that are directly wired to `RGB_DI_PIN` on each half of a split keyboard
* number of LEDs connected that are directly wired to the RGB pin on each half of a split keyboard
* First value indicates number of LEDs for left half, second value is for the right half
* When RGBLED_SPLIT is defined, RGBLIGHT_SPLIT is implicitly defined.
* `#define RGBLIGHT_HUE_STEP 12`
Expand Down
20 changes: 20 additions & 0 deletions docs/feature_caps_word.md
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,26 @@ by defining `IS_COMMAND()` in config.h:
## Customizing Caps Word :id=customizing-caps-word
### Invert on shift :id=invert-on-shift
By default, Caps Word turns off when Shift keys are pressed, considering them as
word-breaking. Alternatively with the `CAPS_WORD_INVERT_ON_SHIFT` option,
pressing the Shift key continues Caps Word and inverts the shift state. This
is convenient for uncapitalizing one or a few letters within a word, for
example with Caps Word on, typing "D, B, Shift+A, Shift+A, S" produces "DBaaS",
or typing "P, D, F, Shift+S" produces "PDFs".
Enable it by adding in config.h
```c
#define CAPS_WORD_INVERT_ON_SHIFT
```

This option works with regular Shift keys `KC_LSFT` and `KC_RSFT`, mod-tap Shift
keys, and one-shot Shift keys. Note that while Caps Word is on, one-shot Shift
keys behave like regular Shift keys, and have effect only while they are held.


### Idle timeout :id=idle-timeout

Caps Word turns off automatically if no keys are pressed for
Expand Down
1 change: 0 additions & 1 deletion docs/feature_converters.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@ Currently the following converters are available:
| `promicro` | `bit_c_pro` |
| `promicro` | `stemcell` |
| `promicro` | `bonsai_c4` |
| `promicro` | `elite_pi` |
| `promicro` | `rp2040_ce` |
| `promicro` | `elite_pi` |
| `promicro` | `helios` |
Expand Down
92 changes: 46 additions & 46 deletions docs/feature_debounce_type.md
Original file line number Diff line number Diff line change
Expand Up @@ -57,78 +57,78 @@ susceptible to noise, you must choose a debounce method that will also mitigate
if the scanning is slow, and you are using a timestamp-based algorithm, you might end up making a debouncing decision based on only two
sampled values, which will limit the noise-resistance of the algorithm.
* Currently all built-in debounce algorithms support timestamp-based debouncing only. In the future we might
implement cycles-based debouncing, and it will be selectable via a ```config.h``` macro.
implement cycles-based debouncing, and it will be selectable via a `config.h` macro.

2) Symmetric vs Asymmetric
* Symmetric - apply the same debouncing algorithm, to both key-up and key-down events.
* Recommended naming convention: ```sym_*```
* Recommended naming convention: `sym_*`
* Asymmetric - apply different debouncing algorithms to key-down and key-up events. E.g. Eager key-down, Defer key-up.
* Recommended naming convention: ```asym_*``` followed by details of the type of algorithm in use, in order, for key-down and then key-up
* Recommended naming convention: `asym_*` followed by details of the type of algorithm in use, in order, for key-down and then key-up

3) Eager vs Defer
* Eager - any key change is reported immediately. All further inputs for DEBOUNCE ms are ignored.
* Eager algorithms are not noise-resistant.
* Recommended naming conventions:
* ```sym_eager_*```
* ```asym_eager_*_*```: key-down is using eager algorithm
* ```asym_*_eager_*```: key-up is using eager algorithm
* `sym_eager_*`
* `asym_eager_*_*`: key-down is using eager algorithm
* `asym_*_eager_*`: key-up is using eager algorithm
* Defer - wait for no changes for DEBOUNCE ms before reporting change.
* Defer algorithms are noise-resistant
* Recommended naming conventions:
* ```sym_defer_*```
* ```asym_defer_*_*```: key-down is using defer algorithm
* ```asym_*_defer_*```: key-up is using defer algorithm
* `sym_defer_*`
* `asym_defer_*_*`: key-down is using defer algorithm
* `asym_*_defer_*`: key-up is using defer algorithm

4) Global vs Per-Key vs Per-Row
* Global - one timer for all keys. Any key change state affects global timer
* Recommended naming convention: ```*_g```
* Recommended naming convention: `*_g`
* Per-key - one timer per key
* Recommended naming convention: ```*_pk```
* Recommended naming convention: `*_pk`
* Per-row - one timer per row
* Recommended naming convention: ```*_pr```
* Recommended naming convention: `*_pr`
* Per-key and per-row algorithms consume more resources (in terms of performance,
and ram usage), but fast typists might prefer them over global.

## Debounce algorithms supported by QMK
## Supported Debounce Algorithms

QMK supports multiple debounce algorithms through its debounce API.
QMK supports multiple algorithms through its debounce API.

### Debounce selection
### Debounce Time

| DEBOUNCE_TYPE | Description | What else is needed |
| ------------- | --------------------------------------------------- | ----------------------------- |
| Not defined | Use the default algorithm, currently sym_defer_g | Nothing |
| custom | Use your own debounce code | ```SRC += debounce.c``` add your own debounce.c and implement necessary functions |
| Anything Else | Use another algorithm from quantum/debounce/* | Nothing |
Default debounce time is 5 milliseconds and it can be changed with the following line in `config.h`:
```
#define DEBOUNCE 10
```
?> Setting `DEBOUNCE` to `0` will disable this feature.

**Regarding split keyboards**:
The debounce code is compatible with split keyboards.
### Debounce Method

### Selecting an included debouncing method
Keyboards may select one of the already implemented debounce methods, by adding to ```rules.mk``` the following line:
Keyboards may select one of the core debounce methods by adding the following line into `rules.mk`:
```
DEBOUNCE_TYPE = <name of algorithm>
```
Where name of algorithm is one of:
* ```sym_defer_g``` - debouncing per keyboard. On any state change, a global timer is set. When ```DEBOUNCE``` milliseconds of no changes has occurred, all input changes are pushed.
* This is the current default algorithm. This is the highest performance algorithm with lowest memory usage, and it's also noise-resistant.
* ```sym_eager_pr``` - debouncing per row. On any state change, response is immediate, followed by locking the row ```DEBOUNCE``` milliseconds of no further input for that row.
For use in keyboards where refreshing ```NUM_KEYS``` 8-bit counters is computationally expensive / low scan rate, and fingers usually only hit one row at a time. This could be
appropriate for the ErgoDox models; the matrix is rotated 90°, and hence its "rows" are really columns, and each finger only hits a single "row" at a time in normal use.
* ```sym_eager_pk``` - debouncing per key. On any state change, response is immediate, followed by ```DEBOUNCE``` milliseconds of no further input for that key
* ```sym_defer_pr``` - debouncing per row. On any state change, a per-row timer is set. When ```DEBOUNCE``` milliseconds of no changes have occurred on that row, the entire row is pushed. Can improve responsiveness over `sym_defer_g` while being less susceptible than per-key debouncers to noise.
* ```sym_defer_pk``` - debouncing per key. On any state change, a per-key timer is set. When ```DEBOUNCE``` milliseconds of no changes have occurred on that key, the key status change is pushed.
* ```asym_eager_defer_pk``` - debouncing per key. On a key-down state change, response is immediate, followed by ```DEBOUNCE``` milliseconds of no further input for that key. On a key-up state change, a per-key timer is set. When ```DEBOUNCE``` milliseconds of no changes have occurred on that key, the key-up status change is pushed.

### A couple algorithms that could be implemented in the future:
* ```sym_defer_pr```
* ```sym_eager_g```

### Use your own debouncing code
You have the option to implement you own debouncing algorithm. To do this:
* Set ```DEBOUNCE_TYPE = custom``` in ```rules.mk```.
* Add ```SRC += debounce.c``` in ```rules.mk```
* Add your own ```debounce.c```. Look at current implementations in ```quantum/debounce``` for examples.
Name of algorithm is one of:

| Algorithm | Description |
| --------------------- | ----------- |
| `sym_defer_g` | Debouncing per keyboard. On any state change, a global timer is set. When `DEBOUNCE` milliseconds of no changes has occurred, all input changes are pushed. This is the highest performance algorithm with lowest memory usage and is noise-resistant. |
| `sym_defer_pr` | Debouncing per row. On any state change, a per-row timer is set. When `DEBOUNCE` milliseconds of no changes have occurred on that row, the entire row is pushed. This can improve responsiveness over `sym_defer_g` while being less susceptible to noise than per-key algorithm. |
| `sym_defer_pk` | Debouncing per key. On any state change, a per-key timer is set. When `DEBOUNCE` milliseconds of no changes have occurred on that key, the key status change is pushed. |
| `sym_eager_pr` | Debouncing per row. On any state change, response is immediate, followed by `DEBOUNCE` milliseconds of no further input for that row. |
| `sym_eager_pk` | Debouncing per key. On any state change, response is immediate, followed by `DEBOUNCE` milliseconds of no further input for that key. |
| `asym_eager_defer_pk` | Debouncing per key. On a key-down state change, response is immediate, followed by `DEBOUNCE` milliseconds of no further input for that key. On a key-up state change, a per-key timer is set. When `DEBOUNCE` milliseconds of no changes have occurred on that key, the key-up status change is pushed. |

?> `sym_defer_g` is the default if `DEBOUNCE_TYPE` is undefined.

?> `sym_eager_pr` is suitable for use in keyboards where refreshing `NUM_KEYS` 8-bit counters is computationally expensive or has low scan rate while fingers usually hit one row at a time. This could be appropriate for the ErgoDox models where the matrix is rotated 90°. Hence its "rows" are really columns and each finger only hits a single "row" at a time with normal usage.

### Implementing your own debouncing code

You have the option to implement you own debouncing algorithm with the following steps:

* Set `DEBOUNCE_TYPE = custom` in `rules.mk`.
* Add `SRC += debounce.c` in `rules.mk`
* Implement your own `debounce.c`. See `quantum/debounce` for examples.
* Debouncing occurs after every raw matrix scan.
* Use num_rows rather than MATRIX_ROWS, so that split keyboards are supported correctly.
* If the algorithm might be applicable to other keyboards, please consider adding it to ```quantum/debounce```
* Use num_rows instead of MATRIX_ROWS to support split keyboards correctly.
* If your custom algorithm is applicable to other keyboards, please consider making a pull request.
14 changes: 7 additions & 7 deletions docs/feature_encoders.md
Original file line number Diff line number Diff line change
Expand Up @@ -102,9 +102,9 @@ Using encoder mapping pumps events through the normal QMK keycode processing pip
## Callbacks
When not using `ENCODER_MAP_ENABLE = yes`, the callback functions can be inserted into your `<keyboard>.c`:
?> [**Default Behaviour**](https://github.com/qmk/qmk_firmware/blob/master/quantum/encoder.c#L79-#L98): all encoders installed will function as volume up (`KC_VOLU`) on clockwise rotation and volume down (`KC_VOLD`) on counter-clockwise rotation. If you do not wish to override this, no further configuration is necessary.
?> Those who are adding new keyboard support where encoders are enabled at the keyboard level should include basic encoder functionality at the keyboard level (`<keyboard>.c`) using the `encoder_update_kb()` function, that way it works for QMK Configuator users and exists in general.
If you would like the alter the default behaviour, and are not using `ENCODER_MAP_ENABLE = yes`, the callback functions can be inserted into your `<keyboard>.c`:
```c
bool encoder_update_kb(uint8_t index, bool clockwise) {
Expand All @@ -113,9 +113,9 @@ bool encoder_update_kb(uint8_t index, bool clockwise) {
}
if (index == 0) { /* First encoder */
if (clockwise) {
tap_code_delay(KC_VOLU, 10);
tap_code(KC_PGDN);
} else {
tap_code_delay(KC_VOLD, 10);
tap_code(KC_PGUP);
}
} else if (index == 1) { /* Second encoder */
if (clockwise) {
Expand All @@ -134,9 +134,9 @@ or `keymap.c`:
bool encoder_update_user(uint8_t index, bool clockwise) {
if (index == 0) { /* First encoder */
if (clockwise) {
tap_code_delay(KC_VOLU, 10);
tap_code(KC_PGDN);
} else {
tap_code_delay(KC_VOLD, 10);
tap_code(KC_PGUP);
}
} else if (index == 1) { /* Second encoder */
if (clockwise) {
Expand All @@ -149,7 +149,7 @@ bool encoder_update_user(uint8_t index, bool clockwise) {
}
```
!> If you return `true` in the keymap level `_user` function, it will allow the keyboard level encoder code to run on top of your own. Returning `false` will override the keyboard level function, if setup correctly. This is generally the safest option to avoid confusion.
!> If you return `true` in the keymap level `_user` function, it will allow the keyboard/core level encoder code to run on top of your own. Returning `false` will override the keyboard level function, if setup correctly. This is generally the safest option to avoid confusion.
## Hardware
Expand Down
Loading

0 comments on commit 49a7b5e

Please sign in to comment.