Commit Graph

2328 Commits (0b62a4ef7216ea71281047984c0a9ca84b84a1d4)

Author SHA1 Message Date
Drashna Jaelre 64b1ed4550
Fix Per Key LED Indicator Callbacks (#18450)
Co-authored-by: Dasky <32983009+daskygit@users.noreply.github.com>
Co-authored-by: Nick Brassel <nick@tzarc.org>
2022-10-04 15:24:22 -07:00
Stefan Kerkmann 996a9006d3
[Core] PWM Backlight for RP2040 (#17706) 2022-10-04 23:10:24 +02:00
QMK Bot 89e75f6230 Merge remote-tracking branch 'origin/master' into develop 2022-10-04 02:17:40 +00:00
mmccoyd 78c4907f34
[Docs] Clarify CAPS_WORD behaviors (#18137)
Co-authored-by: precondition <57645186+precondition@users.noreply.github.com>
Co-authored-by: mmccoyd <mmccoyd@cs.berkley.edu>
Co-authored-by: Drashna Jaelre <drashna@live.com>
2022-10-03 19:17:08 -07:00
QMK Bot a330217ccd Merge remote-tracking branch 'origin/master' into develop 2022-09-30 04:28:59 +00:00
James Young dc7d2692c6
Grammar Fix for PR Checklist (#18540)
* Grammar Fix for PR Checklist

* Update docs/pr_checklist.md

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

* Update docs/pr_checklist.md, take 2

Co-authored-by: Nick Brassel <nick@tzarc.org>
2022-09-30 05:28:12 +01:00
fauxpark dbb70871fc Merge remote-tracking branch 'upstream/master' into develop 2022-09-30 05:19:53 +10:00
Less/Rikki 00dc764f72
[docs] Improve documentation regarding info.json (#18508)
* docs: raise info.json awareness

* docs: note that DD migration is WIP
2022-09-29 13:08:45 -04:00
QMK Bot 3a10514e4f Merge remote-tracking branch 'origin/master' into develop 2022-09-29 15:02:27 +00:00
Markus Knutsson 961de3c205
Update reference_info_json.md (#18518)
* Update reference_info_json.md

* Update docs/reference_info_json.md

Co-authored-by: Ryan <fauxpark@gmail.com>

* Update docs/reference_info_json.md

Co-authored-by: Ryan <fauxpark@gmail.com>

* Update docs/reference_info_json.md

Co-authored-by: Ryan <fauxpark@gmail.com>

* Update docs/reference_info_json.md

Co-authored-by: Ryan <fauxpark@gmail.com>

* Update docs/reference_info_json.md

Co-authored-by: Ryan <fauxpark@gmail.com>

Co-authored-by: Ryan <fauxpark@gmail.com>
2022-09-29 11:01:34 -04:00
QMK Bot ee588049a9 Merge remote-tracking branch 'origin/master' into develop 2022-09-29 10:51:26 +00:00
DeflateAwning 51f2d27321
Fix typo (#18526) 2022-09-29 11:50:32 +01:00
QMK Bot 2079446452 Merge remote-tracking branch 'origin/master' into develop 2022-09-28 19:23:34 +00:00
Luis Carlos 269600f640
Update feature_tap_dance.md (#18509)
Fixed typo
2022-09-28 20:22:59 +01:00
Ryan be8907d634
Further refactoring of joystick feature (#18437) 2022-09-27 18:37:13 +10:00
Ryan ea2819b2c2
Change `{LED,RGB}_DISABLE_TIMEOUT` to `{LED,RGB}_MATRIX_TIMEOUT` (#18415) 2022-09-26 14:40:15 +10:00
Drashna Jael're 8478e96de6
Merge remote-tracking branch 'origin/master' into develop 2022-09-24 12:23:36 -07:00
Wes Lord 244f27ac27
Remove orphan custom functions reference in keymap docs (#18444) 2022-09-24 09:04:14 -07:00
Thomas 94d5fe6f90
Allow Active High for Pointing Device Motion Pin (#18404)
Needed by the Cirque Trackpad for motion detection
2022-09-24 08:44:14 -07:00
Alabastard-64 7c1797f52f
[Core] Pointing Device Automatic Mouse Layer (#17962)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Stefan Kerkmann <karlk90@pm.me>
2022-09-23 23:43:55 -07:00
Ryan 36c410592d
Change `DRIVER_LED_COUNT` to `{LED,RGB}_MATRIX_LED_COUNT` (#18399) 2022-09-23 22:46:23 +10:00
QMK Bot f28d899908 Merge remote-tracking branch 'origin/master' into develop 2022-09-21 21:01:00 +00:00
Drashna Jaelre ea80141f69
[Docs] Explicitly mention kb/user callbacks as boolean (#18448)
Co-authored-by: Ryan <fauxpark@gmail.com>
2022-09-21 14:00:25 -07:00
QMK Bot fc7f3f17e6 Merge remote-tracking branch 'origin/master' into develop 2022-09-21 11:09:23 +00:00
Nick Brassel b03a3d7047
Checklist clarification. (#18440) 2022-09-21 12:08:47 +01:00
QMK Bot 252810a72c Merge remote-tracking branch 'origin/master' into develop 2022-09-19 01:20:51 +00:00
coliss86 2c516fab29
[Docs] Extract 'Layer Change Code' and EEPROM (#18174)
* [Docs] Extract 'Layer Change Code' and EEPROM

* adjust wording

* Update docs/custom_quantum_functions.md

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

Co-authored-by: Joel Challis <git@zvecr.com>
2022-09-19 02:20:22 +01:00
Nick Brassel 1849897444
[QP] Add RGB565 surface. Docs clarification, cleanup, tabsification, and reordering. (#18396) 2022-09-19 07:30:08 +10:00
Joel Challis 1155140631
Add Elite-C to converters (#18309) 2022-09-18 20:30:27 +01:00
Drashna Jaelre fb29c0ae53
[Core] Add getreuer's Autocorrect feature to core (#15699)
Co-authored-by: Albert Y <76888457+filterpaper@users.noreply.github.com>
2022-09-17 17:50:54 +10:00
Joshua Diamond a26f1ddafa
Chromeos keycodes (#18212) 2022-09-17 15:48:09 +10:00
QMK Bot 13dab7f050 Merge remote-tracking branch 'origin/master' into develop 2022-09-15 00:04:32 +00:00
Joel Challis 01f31bf28e
[Docs] RESET -> QK_BOOT (#18365) 2022-09-15 01:03:55 +01:00
Thomas 55c637f28f
[Docs] Fix docs regarding cirque pinnacle attenuation (#18279) 2022-09-12 08:56:21 -07:00
Danny fb6e821541
Add Elite-Pi converter (#18236)
Co-authored-by: Joel Challis <git@zvecr.com>
2022-09-08 14:59:27 -04:00
Joshua Diamond a4d1d8b745
Resolve conflict merging master to develop (#18297)
* Discourage use of ENCODER_MAP at keyboard level (#18286)

* Discourage use of ENCODER_MAP at keyboard level

* Update docs/feature_encoders.md

Co-authored-by: Ryan <fauxpark@gmail.com>

Co-authored-by: Ryan <fauxpark@gmail.com>

* Fungo rev1: fix QMK Configurator key sequence (#18293)

* info.json: correct JSON syntax; friendly formatting

* info.json: fix key sequence

Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
2022-09-06 17:42:43 -04:00
Joel Challis 60cac6d938
Discourage use of ENCODER_MAP at keyboard level (#18286)
* Discourage use of ENCODER_MAP at keyboard level

* Update docs/feature_encoders.md

Co-authored-by: Ryan <fauxpark@gmail.com>

Co-authored-by: Ryan <fauxpark@gmail.com>
2022-09-06 18:08:48 +01:00
Ryan 8833b28361
Remove `UNICODE_KEY_OSX` and `UC_OSX` (#18290) 2022-09-06 18:07:08 +01:00
QMK Bot aa2e5fc6da Merge remote-tracking branch 'origin/master' into develop 2022-09-03 17:47:15 +00:00
coliss86 39e611794d
[Docs] Update 'Process Record' according to the code (#18209)
* [doc] Update 'Process Record' according to the code

* [doc] fix link
2022-09-03 13:46:42 -04:00
Joshua Diamond e4bf832368
Add unicode mode change callbacks (#18235) 2022-08-31 16:39:16 -07:00
Marek Kraus 0237ff0c62
[Core] Rework PS/2 driver selection (#17892)
* [Core] Rework PS/2 driver selection

Enabling and selecting PS/2 driver was using old approach,
so it was reworked to current approach, inspired by Serial
and WS2812 driver selections.

* [Keyboard] Update keyboards using PS/2 to use new PS/2 driver selection

* [Docs] Update PS/2 documentation to use new PS/2 driver selection

* Fix indentation

* [Core] Add PS2 to data driver

* Fix oversight in property name

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

* Add PS/2 pins to data driven mappings

Co-authored-by: Drashna Jaelre <drashna@live.com>
2022-08-31 09:16:07 +02:00
Jeff Epler 9632360caa
Use a macro to compute the size of arrays at compile time (#18044)
* Add ARRAY_SIZE and CEILING utility macros

* Apply a coccinelle patch to use ARRAY_SIZE

* fix up some straggling items

* Fix 'make test:secure'

* Enhance ARRAY_SIZE macro to reject acting on pointers

The previous definition would not produce a diagnostic for
```
int *p;
size_t num_elem = ARRAY_SIZE(p)
```
but the new one will.

* explicitly get definition of ARRAY_SIZE

* Convert to ARRAY_SIZE when const is involved

The following spatch finds additional instances where the array is
const and the division is by the size of the type, not the size of
the first element:
```
@ rule5a using "empty.iso" @
type T;
const T[] E;
@@

- (sizeof(E)/sizeof(T))
+ ARRAY_SIZE(E)

@ rule6a using "empty.iso" @
type T;
const T[] E;
@@

- sizeof(E)/sizeof(T)
+ ARRAY_SIZE(E)
```

* New instances of ARRAY_SIZE added since initial spatch run

* Use `ARRAY_SIZE` in docs (found by grep)

* Manually use ARRAY_SIZE

hs_set is expected to be the same size as uint16_t, though it's made
of two 8-bit integers

* Just like char, sizeof(uint8_t) is guaranteed to be 1

This is at least true on any plausible system where qmk is actually used.

Per my understanding it's universally true, assuming that uint8_t exists:
https://stackoverflow.com/questions/48655310/can-i-assume-that-sizeofuint8-t-1

* Run qmk-format on core C files touched in this branch

Co-authored-by: Stefan Kerkmann <karlk90@pm.me>
2022-08-30 10:20:04 +02:00
QMK Bot 2c5aa98143 Merge remote-tracking branch 'origin/master' into develop 2022-08-30 08:04:19 +00:00
precondition 6f2c173743
Expand on the differences between Caps Word and Caps Lock (#18139)
* Expand on the differences between Caps Word and Caps Lock

* Add the equiv default KC_ next to intl alias

* It's configurable so it's not a problem
2022-08-30 10:03:25 +02:00
Stefan Kerkmann e99ec28f5f
[Core] Introduce pointing device specific debug messages (#17663) 2022-08-29 19:16:49 +02:00
Nick Brassel d910e8df77
Use `TAP_CODE_DELAY` for encoder mapping by default (#18098) 2022-08-28 21:53:08 -07:00
Ryan d983251c10
Switch over MANUFACTURER and PRODUCT to string literals (#18183) 2022-08-28 09:59:40 -07:00
Nick Brassel 9b5b072255
2022q3 Changelog. (#18180)
Co-authored-by: Drashna Jaelre <drashna@live.com>
2022-08-28 14:20:52 +10:00
QMK Bot d942c03be6 Merge remote-tracking branch 'origin/master' into develop 2022-08-22 23:06:18 +00:00
Jesse 624d92e2f5
Update Tap Dance Example 4 (#18138)
break statements are missing from the switch for both registering and unregistering key codes. Neither have a default: case either. The code as exists in the repository right now does not compile. It does with this changes.
2022-08-23 00:05:35 +01:00
Erovia 5e2ffe7d8f
CLI: Teaching the CLI to flash binaries (#16584)
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Sergey Vlasov <sigprof@gmail.com>
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Nick Brassel <nick@tzarc.org>
2022-08-20 15:39:19 +10:00
QMK Bot 5ee482b110 Merge remote-tracking branch 'origin/master' into develop 2022-08-19 01:19:23 +00:00
Simon Hengel e6a1afb8f1
[Docs] Fix typo in data driven config docs (#18095) 2022-08-18 18:18:51 -07:00
QMK Bot 2ed2c88a08 Merge remote-tracking branch 'origin/master' into develop 2022-08-19 01:17:50 +00:00
~ aka goonf!sh 286dd6abe6
[Docs] Update list of "ARM-based ProMicro replacements" (#18083) 2022-08-18 18:17:20 -07:00
David Hoelscher a645301c82
Add Bonsai C4 converter (#17711) 2022-08-18 01:01:54 +01:00
QMK Bot cfab3e2d6e Merge remote-tracking branch 'origin/master' into develop 2022-08-17 02:37:10 +00:00
Albert Y a1f0208797
[Docs] Use layer number as example for COMBO_ONLY_FROM_LAYER (#18072)
Co-authored-by: Ryan <fauxpark@gmail.com>
2022-08-16 19:37:06 -07:00
QMK Bot 77150d00ac Merge remote-tracking branch 'origin/master' into develop 2022-08-16 18:42:23 +00:00
coliss86 837a57b3c5
Adjust the hierarchy of chapter `Deferred Execution` (#18075) 2022-08-16 11:41:31 -07:00
QMK Bot c5dc4b4d1d Merge remote-tracking branch 'origin/master' into develop 2022-08-16 17:02:38 +00:00
Tom Barnes 2f4ad40561
[Docs] update pr_checklist.md with info about data-driven (#18068)
* update pr_checklist with info about data-driven

Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
2022-08-16 18:01:56 +01:00
Chewxy 6fc7c03e95
Added emacs as an "operating system" for input mode. (#16949) 2022-08-14 20:24:52 +01:00
Mega Mind fce99f3875
[Controller] Added board config for custom controller STeMCell (#16287)
Co-authored-by: Mariappan Ramasamy <947300+Mariappan@users.noreply.github.com>
Co-authored-by: Mariappan Ramasamy <maari@basis-ai.com>
Co-authored-by: Sadek Baroudi <sadekbaroudi@gmail.com>
2022-08-14 21:27:26 +10:00
QMK Bot 2d40713567 Merge remote-tracking branch 'origin/master' into develop 2022-08-14 00:52:21 +00:00
Nick Brassel 86261bfd8e
Add texts for Discord Events to be created post-merge. (#17944) 2022-08-13 17:51:45 -07:00
QMK Bot 2363a3bc42 Merge remote-tracking branch 'origin/master' into develop 2022-08-14 00:33:31 +00:00
Tom Barnes 0d3e07a3db
[Docs] Suggest imgur images are edited to set size (#18031) 2022-08-13 17:32:30 -07:00
Jay Greco 4eeafbebab
Add Bit-C PRO converter (#17827) 2022-08-13 14:48:30 +01:00
Joel Challis fc7e9efd21
Improve importer workflow (#17707) 2022-08-13 14:39:56 +01:00
QMK Bot 06391314cd Merge remote-tracking branch 'origin/master' into develop 2022-08-13 00:27:58 +00:00
Albert Y 70c6b183df
[Docs] Refactor code examples (#18003) 2022-08-12 17:27:24 -07:00
Drashna Jaelre ccdba43e59
Create generic Pointing Device Pin defines (#17776) 2022-08-12 16:22:34 -07:00
Nick Brassel 154d35ac14
Remove `UNUSED_PINS` (#17931) 2022-08-06 23:23:35 +10:00
Stefan Kerkmann f27b617f36
[Core] Process all changed keys in one scan loop, deprecate `QMK_KEYS_PER_SCAN` (#15292) 2022-08-06 20:51:13 +10:00
QMK Bot 1d45c99355 Merge remote-tracking branch 'origin/master' into develop 2022-08-06 06:37:08 +00:00
Albert Y 64acbcb42a
[Docs] Building with GitHub Userspace (#16271) 2022-08-06 16:36:31 +10:00
Drashna Jaelre eb417b3aaf
Add deprecated check for RGBLIGHT_ANIMATIONS (#17832) 2022-08-04 11:05:53 -07:00
David Hoelscher 2bdd73f801
Add ST7735 driver to Quantum Painter (#17848) 2022-07-31 19:58:25 -07:00
Joel Challis c10c2575b8
Remove OLED driver Split Common warning (#17862) 2022-07-31 12:33:12 -07:00
Daniel Kao b03a7cef75
Fix POINTING_DEVICE_GESTURES_SCROLL_ENABLE typo (#17850)
* Fix typo for POINTING_DEVICE_GESTURES_SCROLL_ENABLE

Follow the name written in documentation which follows
POINTING_DEVICE_GESTURES_CURSOR_GLIDE_ENABLE

* Reword the blurb about POINTING_DEVICE_GESTURES_CURSOR_GLIDE_ENABLE in docs
2022-07-31 15:51:20 +01:00
Drzony 0b726a437b
Implement relative mode for Cirque trackpad (#17760) 2022-07-29 21:20:34 -07:00
precondition 95c1cc425e
Rename postprocess_steno_user → post_process_steno_user (#17823) 2022-07-28 21:51:01 -07:00
Drashna Jael're 3d98269652
Merge remote-tracking branch 'origin/master' into develop 2022-07-27 07:40:30 -07:00
Drashna Jaelre 8973835183
[Docs] Add information about WeAct Blackpill F411 (#16755)
* [Docs] Add information about WeAct Blackpill F411

* Add clarification for matrix pins

* Update documentation

* Tweak wording
2022-07-27 14:49:12 +01:00
Drashna Jaelre 5d898a3d34
[Docs] Updates to Pointing Device Docs (#17777) 2022-07-26 00:27:34 -07:00
Drashna Jaelre 683eeca2e2
[Docs] Fix custom debug function and sample output (#17790) 2022-07-25 23:07:15 +01:00
QMK Bot 336df3297e Merge remote-tracking branch 'origin/master' into develop 2022-07-24 23:01:36 +00:00
Drashna Jaelre c0763363db
[Docs] Fix tables in Audio driver document (#17780) 2022-07-25 00:00:51 +01:00
JayceFayne d02cefe613
implement `tap_code16_delay` (#17748) 2022-07-23 19:21:20 +01:00
jack a6f3194397
Add ability to enter bootloader mode from `QK_MAKE` (#17745) 2022-07-23 17:43:32 +01:00
Albert Y d510e80b89
Add Blok 2040 conversion (#17603) 2022-07-21 00:54:05 +01:00
Ben Fiedler 1db5272154
docs: fix default value of USB_SUSPEND_WAKEUP_DELAY (#17501)
Documents the change made in #12081
2022-07-20 17:43:41 +01:00
Drashna Jaelre 12eb6444c6
Add support for PAW3204 Optical Sensor (#17669)
Co-authored-by: gompa <gompa@h-bomb.nl>
Co-authored-by: Stefan Kerkmann <karlk90@pm.me>
2022-07-19 17:46:22 -07:00
Stefan Kerkmann a304a9b51e
Use correct angle tune range of +/-127 on PMW33XX (#17708)
...partially reverts 580bcff4f6 as the
datasheet doesn't claim that the angle tuning as limited to +/- 30
degrees.
2022-07-17 21:08:55 +02:00
Stefan Kerkmann 580bcff4f6
Use correct angle tune range of +/-30 on PMW33XX (#17693)
Co-authored-by: Daniel Kao <daniel.m.kao@gmail.com>

Co-authored-by: Daniel Kao <daniel.m.kao@gmail.com>
2022-07-16 11:33:18 +02:00
Albert Y 300dab7962
[Code] Add solid reactive gradient mode (#17228) 2022-07-14 12:22:53 +01:00
Stefan Kerkmann 3c58f98929
[Core] PMW33XX drivers overhaul (#17613)
* PMW33XX drivers overhaul

This combines the PMW3389 and PM3360 drivers as they only differ in the
firmware blobs and CPI get and set functions. The following changes have
been made:

* PMW3389 now gets the same multi-sensor feature that is already available on the
  PMW3360.

* Introduced a shared pmw33xx_report_t struct is now directly readable via SPI
  transactions instead of individual byte-sized reads, saving multiple
  copies and bitshift operations.

* pmw33(89/60)_get_report functions had unreachable branches in their motion
  detection logic these have been simplied as much as possible.

* The fast firmware upload option has been removed as this becomes obsolete by
  the newly introduced polled waiting functions for ChibiOS polled waiting

* PMW33(60/89)_SPI_LSBFIRST and PMW33(60/89)_SPI_MODE config options
  have been removed as they don't need to be configurable.

* All PMW3389 and PMW3360 defines have been unified to a PMW33XX prefix
  to reduce code duplication and make the defines interchangeable

* Adjust keyboards to PMW33XX naming scheme
2022-07-14 11:50:00 +02:00
Daniel Kao 5db705d054
Cirque trackpad features: circular scroll, inertial cursor (#17482) 2022-07-12 21:17:40 -07:00
James Young 36c2575658
Grammar fixes for docs/feature_converters.md (#17652) 2022-07-13 04:58:16 +01:00
QMK Bot 6bb2ed68a8 Merge remote-tracking branch 'origin/master' into develop 2022-07-13 03:51:07 +00:00
Drashna Jaelre 26954bbc28
[Docs] Add Encoder requirements to PR Checklist doc (#17634)
Co-authored-by: Nick Brassel <nick@tzarc.org>
2022-07-12 20:50:26 -07:00
zvecr 82f0263e41 Merge remote-tracking branch 'origin/master' into develop 2022-07-13 01:19:58 +01:00
Joel Challis 2a3dd95229
Add basic secure docs (#17577) 2022-07-13 00:06:19 +01:00
Joel Challis 345e19f691
Add converter docs (#17593) 2022-07-08 22:49:16 +01:00
Stefan Kerkmann 8224f62806
Make debounce() signal changes in the cooked matrix as return value (#17554) 2022-07-07 10:00:40 +02:00
QMK Bot d37db0c50c Merge remote-tracking branch 'origin/master' into develop 2022-07-03 23:41:36 +00:00
Joel Challis 8fa7b62011
Attempt to discourage manual MSYS install for new users (#17556) 2022-07-04 00:41:00 +01:00
Ryan ac5e6b6a3b
Tentative Teensy 3.5 support (#14420)
* Tentative Teensy 3.5 support

* Set firmware format to .hex for ARM Teensys

* Got to "device descriptor failed" by comparing with Teensy 3.6 code

* Drop down to 96MHz...

* Bump back up to 120MHz
2022-07-03 00:12:45 +10:00
QMK Bot 11299b337b Merge remote-tracking branch 'origin/master' into develop 2022-07-02 14:10:26 +00:00
Ryan 25033d5d9e
MSYS2 install: use MinGW python-qmk package (#17302)
* MSYS2 install: use MinGW python-qmk package

* Add missing flashers

* Note VC Redist for manual install

* VC Redist no longer needed
2022-07-02 15:08:05 +01:00
QMK Bot a6faf3bc9e Merge remote-tracking branch 'origin/master' into develop 2022-07-02 12:49:52 +00:00
CoffeeIsLife 0365f640af
Allow for RGB actions to take place on Keydown instead of Keyup (#16886)
* Allow for switch on keydown

* add docs
2022-07-02 22:49:49 +10:00
QMK Bot fcc14b8838 Merge remote-tracking branch 'origin/master' into develop 2022-07-02 12:49:19 +00:00
ripdog 4e35697e1a
Add note about qmk doctor in newbs_flashing.md (#15688)
Co-authored-by: Drashna Jaelre <drashna@live.com>
2022-07-02 22:48:44 +10:00
Ryan 3ecb0a80af
Feature-ify Send String (#17275) 2022-07-02 22:10:08 +10:00
Osamu Aoki 871eeae4ea
PoC: Swap Escape and Caps (#16336) 2022-07-02 22:08:48 +10:00
QMK Bot 08721b4125 Merge remote-tracking branch 'origin/master' into develop 2022-07-02 12:00:37 +00:00
jack ee26d3e77f
Add Zsh note for tab complete (#17226) 2022-07-02 21:59:59 +10:00
Joel Challis 59e28b8958
Add cli command to import keyboard|keymap|kbfirmware (#16668) 2022-07-02 21:50:09 +10:00
FREEWING.JP 9dc7b9d40c
Added Wait time to sending each Keys for Dynamic Macros function (#16800)
Co-authored-by: Joel Challis <git@zvecr.com>
2022-07-02 21:48:26 +10:00
QMK Bot 05074cbdf0 Merge remote-tracking branch 'origin/master' into develop 2022-07-02 11:27:40 +00:00
Josh Hinnebusch 096db8c8ca
Add LED backlight/indicator info to reference_info_json.md (#17010)
Co-authored-by: Joel Challis <git@zvecr.com>
2022-07-02 21:27:34 +10:00
Nick Brassel 5846b40f74
RP2040 emulated EEPROM. (#17519) 2022-07-02 15:18:50 +10:00
Nick Brassel b67ae67687
[QP] Add ILI9488 support. (#17438) 2022-07-02 13:20:45 +10:00
Stefan Kerkmann d717396708
[Core] Add Raspberry Pi RP2040 support (#14877)
* Disable RESET keycode because of naming conflicts

* Add Pico SDK as submodule

* Add RP2040 build support to QMK

* Adjust USB endpoint structs for RP2040

* Add RP2040 bootloader and double-tap reset routine

* Add generic and pro micro RP2040 boards

* Add RP2040 onekey keyboard

* Add WS2812 PIO DMA enabled driver and documentation

Supports regular and open-drain output configuration. RP2040 GPIOs are
sadly not 5V tolerant, so this is a bit use-less or needs extra hardware
or you take the risk to fry your hardware.

* Adjust SIO Driver for RP2040

* Adjust I2C Driver for RP2040

* Adjust SPI Driver for RP2040

* Add PIO serial driver and documentation

* Add general RP2040 documentation

* Apply suggestions from code review

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

Co-authored-by: Nick Brassel <nick@tzarc.org>
2022-06-30 13:19:27 +02:00
Nick Brassel 34e244cecf
Wear-leveling EEPROM drivers: `embedded_flash`, `spi_flash`, `legacy` (#17376) 2022-06-30 07:42:23 +10:00
ihatechoosingusernames 1204cbb7ea
Update feature_split_keyboard.md to add extra detail about left and right matrices. (#17492) 2022-06-29 18:39:37 +10:00
Thomas Kriechbaumer 01bc974365
improvements for Cirque Pinnacle trackpads (#17091) 2022-06-25 22:22:28 +02:00
precondition 3b9e186019
Do not enable PERMISSIVE_HOLD when TAPPING_TERM exceeds 500ms (#15674) 2022-06-24 12:40:09 +02:00
precondition 7060cb7b26
Refactor steno and add `STENO_PROTOCOL = [all|txbolt|geminipr]` (#17065)
* Refactor steno into STENO_ENABLE_[ALL|GEMINI|BOLT]

* Update stenography documentation

* STENO_ENABLE_TXBOLT → STENO_ENABLE_BOLT

TXBOLT is a better name but BOLT is more consistent with the
pre-existing TX Bolt related constants, which all drop the "TX " prefix

* Comments

* STENO_ENABLE_[GEMINI|BOLT|ALL] → STENO_PROTOCOL = [geminipr|txbolt|all]

* Add note on lacking V-USB support

* Clear chord at the end of the switch(mode){send_steno_chord} block

* Return true if NOEVENT

* update_chord_xxx → add_xxx_key_to_chord

* Enable the defines for all the protocols if STENO_PROTOCOL = all

* Mention how to use `steno_set_mode`

* Set the default steno protocol to "all"

This is done so that existing keymaps invoking `steno_set_mode` don't
all suddenly break

* Add data driver equivalents for stenography feature

* Document format of serial steno packets

(Thanks dnaq)

* Add missing comma
2022-06-23 20:43:24 +02:00
QMK Bot 32792826a8 Merge remote-tracking branch 'origin/master' into develop 2022-06-23 01:26:43 +00:00
David Kosorin 71472a1692
Update ref_functions.md (replaced deprecated `RESET`) (#17436) 2022-06-23 02:26:08 +01:00
Jamal Bouajjaj d3858585ac
Added global current to all other issi drivers who don't have it (#17448) 2022-06-23 02:16:39 +01:00
Kyle McCreery eac0f6d4c9
Cirque Attenuation Setting (#17342) 2022-06-22 21:59:37 +02:00
Dasky be42c5fb98
Fix RGB heatmap to use XY positions and use correct led limits (#17184)
* Fix RGB heatmap to use XY positions

* lower effect area limit and make configurable

* tidy up macro

* Fix triggering in both directions.

* add docs

* fix bug when decreasing value

* performance tweak
2022-06-21 10:53:34 -07:00
Joel Challis 1a400d8644
Allow encoder config from info.json (#17295) 2022-06-20 20:15:06 -07:00
QMK Bot 2fb24c0298 Merge remote-tracking branch 'origin/master' into develop 2022-06-21 00:53:03 +00:00
evils 0a45a19801
[Docs] clarify inner array of direct pin matrix (#17437) 2022-06-21 01:52:11 +01:00
Jamal Bouajjaj 2bddffeaec
IS31FL3737 Global Current Setting (#17420) 2022-06-19 14:32:37 -07:00
Albert Y c725b6bf89
[Core] Mouse key kinetic mode fix (#17176)
Co-authored-by: Drashna Jaelre <drashna@live.com>
2022-06-19 11:15:55 -07:00
QMK Bot 7f8886a1b7 Merge remote-tracking branch 'origin/master' into develop 2022-06-18 22:32:54 +00:00
coliss86 fd01feae4b
Add a note about using differents MCU family (#17416) 2022-06-19 08:32:22 +10:00
Drashna Jaelre 0da6562c4d
Make default layer size 16-bit (#15286)
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
2022-06-19 07:37:51 +10:00
Stefan Kerkmann fe680a8568
[Core] Split ChibiOS usart split driver in protocol and hardware driver part (#16669) 2022-06-18 08:04:17 +10:00
Stefan Kerkmann 6d67e9df4b
[Core] Allow usage of ChibiOS's SIO driver for split keyboards (#15907) 2022-06-17 22:06:44 +02:00
QMK Bot 2f4c7697a9 Merge remote-tracking branch 'origin/master' into develop 2022-06-14 10:16:16 +00:00
Nick Brassel 15dab01e6a
Inform people that things may not work. (#17391) 2022-06-14 20:15:01 +10:00
QMK Bot 84d3575fdb Merge remote-tracking branch 'origin/master' into develop 2022-06-14 10:13:29 +00:00
Tom Barnes 026d0e8bf1
Update feature_midi.md (#17390)
Add caveat about usb endpoints.
2022-06-14 11:12:52 +01:00
Jouke Witteveen 1706da9054
tap-dance: Restructure code and document in more detail (#16394) 2022-06-13 22:12:55 +02:00
Drashna Jaelre 0ab51ee29d
Add support for large Mouse Reports (#16371)
Co-authored-by: Sergey Vlasov <sigprof@gmail.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2022-06-08 18:39:16 -07:00
QMK Bot 8a6fd0dc7e Merge remote-tracking branch 'origin/master' into develop 2022-06-08 01:48:42 +00:00
JunZuloo 5f72d54299
Update other_vscode.md (#17317)
Bracket pair colorizer has been deprecated since it is now a native feature, and VIM Keymap no longer exists, so I removed those 2 links.
2022-06-08 02:47:57 +01:00
QMK Bot 6f82647e8d Merge remote-tracking branch 'origin/master' into develop 2022-06-06 22:30:38 +00:00
Travis Rigg b85c224b7c
docs: reflect systemd's change in language (#17322)
Like much of our field, systemd has renamed their `master` branch to `main`
2022-06-06 23:29:59 +01:00
Xelus22 af84772a5f
initial 24lc32a (#16990) 2022-06-04 01:53:24 +01:00
QMK Bot 38839a9105 Merge remote-tracking branch 'origin/master' into develop 2022-05-31 11:32:26 +00:00
Forrest Cahoon 8153b55e07
Add trailing parens to `get_oneshot_mods` in feature_advanced_keycodes.md (#17211) 2022-05-31 21:31:47 +10:00
Thomas Preisner bbab8eb993
Make bootloader_jump for dualbank STM32 respect STM32_BOOTLOADER_DUAL_BANK_DELAY (#17178) 2022-05-30 23:20:10 -07:00
Nick Brassel 8545473307
Removes terminal from QMK. (#17258) 2022-05-30 22:38:08 -07:00
trwnh 9e2fe4eff6
Make SPI Mode configurable and change default mode to 3 (#17263) 2022-05-31 15:28:55 +10:00
QMK Bot 6e4e50d5aa Merge remote-tracking branch 'origin/master' into develop 2022-05-30 22:06:28 +00:00
Dasky 25ec68c408
Fix docs typo (#17254) 2022-05-30 23:05:57 +01:00
Dasky 2de70e6f2d
Add uf2-split-* make targets. (#17257) 2022-05-31 08:04:50 +10:00
Nick Brassel 89a5d5aea0
Fixup command sequencing for master/develop. (#17227) 2022-05-29 09:07:11 +10:00
Nick Brassel d0af56da33
Breaking changes for 2022q2. (#17221) 2022-05-29 07:50:21 +10:00
zvecr de6360feca stub changelog 2022-05-24 01:55:34 +01:00
Joy Lee 1c7e8b9a9d
Added support for Wb32fq95 (#16871) 2022-05-23 15:57:24 +10:00
QMK Bot b5725c05bd Merge remote-tracking branch 'origin/master' into develop 2022-05-20 17:10:54 +00:00
James Young 2a544710d7
Small Markdown Patch for docs/feature_rgb_matrix.md (#17171) 2022-05-20 10:10:17 -07:00
QMK Bot 9fa106f76e Merge remote-tracking branch 'origin/master' into develop 2022-05-20 16:15:13 +00:00
jpe230 f296e1d1e2
[Docs] Align LED Matrix docs with RGB matrix docs (#17140) 2022-05-20 09:13:40 -07:00
QMK Bot f155db37d4 Merge remote-tracking branch 'origin/master' into develop 2022-05-20 16:09:04 +00:00
Kyle McCreery d5aab127d2
[Docs] Update Steno Keycode Table (#17155) 2022-05-20 09:09:00 -07:00
Joel Challis 40e33d03a8
Recommend pillow as part of manual MSYS install (#17133) 2022-05-17 21:50:48 +01:00
QMK Bot 37eee020ed Merge remote-tracking branch 'origin/master' into develop 2022-05-17 18:49:34 +00:00
Ryan d241e80533
Keymap FAQ updates (#17130) 2022-05-18 04:48:59 +10:00
QMK Bot 8b79f30cd5 Merge remote-tracking branch 'origin/master' into develop 2022-05-17 13:20:51 +00:00
durken1 dba5b730a3
Update pr_checklist.md (#17122) 2022-05-17 14:20:13 +01:00
Ryan 4a8bd7b9a5
Rename keymap_extras headers for consistency (#16939) 2022-05-15 21:27:01 +10:00
Drashna Jaelre f090881aeb
[Feature] Add support for multiple switchs/solenoids to Haptic Feedback engine (#15657) 2022-05-15 21:24:35 +10:00
QMK Bot a899c097ce Merge remote-tracking branch 'origin/master' into develop 2022-05-14 22:09:12 +00:00
Mateusz Ż 94755308e0
Fix anchors with <code> in table of content (#15169) 2022-05-14 23:08:32 +01:00
Pascal Getreuer 68b16bba68
[Core] Add Caps Word feature to core (#16588)
Co-authored-by: precondition <57645186+precondition@users.noreply.github.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
2022-05-14 16:00:32 +10:00
Drashna Jaelre 787a68948f
[Core] Add Reboot keycode to core (#15990) 2022-05-14 13:35:49 +10:00
QMK Bot fc52a30780 Merge remote-tracking branch 'origin/master' into develop 2022-04-27 23:12:15 +00:00
Ryan e99d6d582c
Add Ukrainian keymap header (#16947)
* Add Ukrainian keymap header

* Docs
2022-04-28 00:11:41 +01:00
Stefan Kerkmann b1681fb6a1
[Core] Allow usage of AVRs minimal printf library (#16266)
Co-authored-by: Sergey Vlasov <sigprof@gmail.com>
2022-04-22 18:13:31 +10:00
QMK Bot 05ab7453ec Merge remote-tracking branch 'origin/master' into develop 2022-04-22 07:38:00 +00:00
IskandarMa 83ce70c821
[Docs] zh-cn document translate: git parts (#15576)
Co-authored-by: peepeetee <43021794+peepeetee@users.noreply.github.com>
Co-authored-by: Dasky <32983009+daskygit@users.noreply.github.com>
2022-04-22 17:37:29 +10:00
QMK Bot 12d1eb0415 Merge remote-tracking branch 'origin/master' into develop 2022-04-20 17:11:12 +00:00
jpe230 81be7bb7b5
Fix i2c driver doc: Incorrect name (#16898) 2022-04-20 18:10:20 +01:00
uqs 690dc4bdaf
Add support for multiple sensors to pmw3360 (#15996) 2022-04-19 20:29:17 +10:00
QMK Bot d958329258 Merge remote-tracking branch 'origin/master' into develop 2022-04-17 00:37:07 +00:00
Albert Y a5a4597311
Refine LED indicator documentation (#16304) 2022-04-16 17:36:07 -07:00
Simon Arlott 5841c755ae
rgblight: Add functions to stop blinking one or all but one layer (#16859) 2022-04-17 00:02:32 +02:00
Albert Y e5918cf968
Heatmap incorrect matrix effect workaround (#16315) 2022-04-16 11:34:07 -07:00
Jouke Witteveen 8f585153c4
Add GET_TAPPING_TERM macro to reduce duplicate code (#16681)
* Add GET_TAPPING_TERM macro to reduce duplicate code

The macro gives the right tapping term depending on whether per-key
tapping terms and/or dynamic tapping terms are enabled. Unnecessary
function calls and variable resolution are avoided.

Fixes #16472.

* Use GET_TAPPING_TERM for Cirque trackpads

Co-authored-by: Stefan Kerkmann <karlk90@pm.me>
2022-04-16 11:24:09 -07:00
Nick Brassel 1f2b1dedcc
Quantum Painter (#10174)
* Install dependencies before executing unit tests.

* Split out UTF-8 decoder.

* Fixup python formatting rules.

* Add documentation for QGF/QFF and the RLE format used.

* Add CLI commands for converting images and fonts.

* Add stub rules.mk for QP.

* Add stream type.

* Add base driver and comms interfaces.

* Add support for SPI, SPI+D/C comms drivers.

* Include <qp.h> when enabled.

* Add base support for SPI+D/C+RST panels, as well as concrete implementation of ST7789.

* Add support for GC9A01.

* Add support for ILI9341.

* Add support for ILI9163.

* Add support for SSD1351.

* Implement qp_setpixel, including pixdata buffer management.

* Implement qp_line.

* Implement qp_rect.

* Implement qp_circle.

* Implement qp_ellipse.

* Implement palette interpolation.

* Allow for streams to work with either flash or RAM.

* Image loading.

* Font loading.

* QGF palette loading.

* Progressive decoder of pixel data supporting Raw+RLE, 1-,2-,4-,8-bpp monochrome and palette-based images.

* Image drawing.

* Animations.

* Font rendering.

* Check against 256 colours, dump out the loaded palette if debugging enabled.

* Fix build.

* AVR is not the intended audience.

* `qmk format-c`

* Generation fix.

* First batch of docs.

* More docs and examples.

* Review comments.

* Public API documentation.
2022-04-13 18:00:18 +10:00
Ryan c05e8afe45
Joystick feature updates (#16732)
* Joystick feature updates

* Move new functions to joystick.h

* Docs
2022-03-26 18:38:09 +00:00
QMK Bot 2957f60dc1 Merge remote-tracking branch 'origin/master' into develop 2022-03-24 20:14:36 +00:00
Erovia efc9c525b1
CLI: Add 'via2json' subcommand (#16468) 2022-03-24 21:13:40 +01:00
Simon dc9eb21332
add the ability to change the pwm frequency for the IS31FL3737B (#16718) 2022-03-24 18:08:22 +00:00
QMK Bot 5dcee0199e Merge remote-tracking branch 'origin/master' into develop 2022-03-19 16:38:09 +00:00
leviport 3502bbbd16
Fix typo in docs/ref_functions.md (#16690) 2022-03-19 16:37:35 +00:00
Ryan 9ee2effe8e
HD44780 driver rework (#16370) 2022-03-19 17:57:22 +11:00
Drashna Jaelre 02655690f4
[Core] Add compile/make macro to core (#15959)
* [Core] Add KC_MAKE keycode to core

fix linting

fix testing error

work around test idiocyncracies

fix more lint

something something stupid tests

add doc

* updates based on feedback

* Add bad names

* Fixup docs

* semantics but cleaner

Co-authored-by: precondition <57645186+precondition@users.noreply.github.com>

* Hide oneshot checks behind preprocessors

* Move no-compile option around

* Fix formatting

* make shift optional

* Make opt in

* fix formatting

* update send string function name

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

Co-authored-by: precondition <57645186+precondition@users.noreply.github.com>
Co-authored-by: Joel Challis <git@zvecr.com>
2022-03-17 21:19:34 +00:00
QMK Bot 037c5b5496 Merge remote-tracking branch 'origin/master' into develop 2022-03-15 08:31:53 +00:00
Albert Y 9aaf4a5a9b
Add split keyboard example for Bootmagic Lite (#16349)
* Add split keyboard example for bootmagic lite

* Add handedness link

* Edit sentence structure

* Apply suggested language correction
2022-03-15 01:31:17 -07:00
QMK Bot 9e39b99a0e Merge remote-tracking branch 'origin/master' into develop 2022-03-14 22:21:34 +00:00
ethsol a939adb55c
Sentence correction (#16650) 2022-03-14 22:20:50 +00:00
QMK Bot cc9a2aef0f Merge remote-tracking branch 'origin/master' into develop 2022-03-13 23:56:16 +00:00
Ryan dde4120a1e
ISP flashing guide: add instructions for flashing STM32duino bootloader (#16568) 2022-03-13 23:55:47 +00:00
QMK Bot 4281beb1de Merge remote-tracking branch 'origin/master' into develop 2022-03-12 12:42:55 +00:00
Thomas Kriechbaumer 86b123141b
docs: fix code sample (#16623) 2022-03-12 12:42:25 +00:00
QMK Bot 54658a3687 Merge remote-tracking branch 'origin/master' into develop 2022-03-10 20:49:07 +00:00
WJH 6c40b6856b
[Docs] Include ASCII diagram to explain tap-hold modes (#15873)
* [Docs] Include ASCII diagram to explain tap-hold modes

* [Docs]: add examples for Default mode for Tap Hold

* [Docs] fix some wrong explanation in tap_hold.md
2022-03-10 12:48:33 -08:00
Nick Brassel 8d5eacb7dd
Add support for encoder mapping. (#13286) 2022-03-09 19:29:00 +11:00
Nick Brassel 2f6751e48a
Asymmetric encoders, encoder tests. (#16068) 2022-03-08 16:58:05 +11:00
QMK Bot e71f8f89d2 Merge remote-tracking branch 'origin/master' into develop 2022-03-08 04:17:05 +00:00
ZiTe 0880850b15
[Bug] Rename has_mouse_report_changed parameters (#16417)
Fixes compilation issues when bluetooth is enabled, due to issues 
with cpp used by bluetooth code. 

Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
2022-03-07 20:16:35 -08:00
QMK Bot 7bc8046f9a Merge remote-tracking branch 'origin/master' into develop 2022-03-08 02:50:36 +00:00
peepeetee 8014fb14b6
Fix in-page links in reference_info_json.md (#16487) 2022-03-07 18:50:03 -08:00
Stefan Kerkmann 2bface8f89
Add flash target for UF2 bootloaders (#16525) 2022-03-07 08:59:06 -08:00
Ryan 75544d9127
Move Doxygen docs to subdirectory (#16561) 2022-03-07 11:22:22 +00:00
QMK Bot ab76e6ab59 Merge remote-tracking branch 'origin/master' into develop 2022-03-05 04:59:18 +00:00
kiilerix da6d6ce2e1
Some docs improvements (#15845)
* docs: clarify in "Keymap Overview" what LAYOUT is and isn't

It is not strictly necessary to use LAYOUT macros in keyboard.c, but it
is a convenient abstraction of hardware internals, allowing focus on the
physical keyboard layout.

From the C source point of view LAYOUT is macro with a parameter list,
which expands to a array of rows that each is an array with a keyboard
scancode for each column. A macro parameter list is not an array, and
even less a single array.

Perhaps no big deal, but also no reason to give incorrect hints.

* docs: update "Understanding QMK's Code" to current code structure introduced in 96e2b13d1d

This part of the documentation was no longer correct. I tried updating
it, mainly copy editing and using github links to latest release.

This is not trying to fix all problems, but just trying to fix some
problems while reusing much of the old phrases and structure.

* Update docs to use "qmk format-python"
2022-03-05 15:58:50 +11:00
Ryan ace0603f4f
Change data driven "str" type to represent a quoted string literal (#16516)
* Change data driven "str" type to represent a quoted string literal

* Update docs
2022-03-04 13:25:24 +00:00
Ryan f634fddd34
Remove `send_unicode_hex_string()` (#16518) 2022-03-04 11:04:45 +00:00
jels 61ba8efa3e
Update pr_checklist.md (#16484)
Update readme.md template link from https://github.com/qmk/qmk_firmware/blob/master/data/templates/avr/readme.md to https://github.com/qmk/qmk_firmware/blob/master/data/templates/keyboard/readme.md
2022-03-04 12:49:14 +11:00
jels e01307f265
Typo in squeezing_avr.md (#16506)
Fixed typo in squeezing_avr docs.
2022-03-03 15:38:24 -08:00
Jake VanderVaate 96b6ddf4bf
fixed typo in docs/newbs_getting_started.md (#16501) 2022-03-03 09:53:40 +00:00
Albert Y 29ab430f1f
[Docs] Anchor link correction in rgb matrix docs (#16460) 2022-02-26 18:38:46 -08:00
Dasky 259cf76966
Link WS2812 driver page from rgb feature docs (#16366) 2022-02-27 01:50:44 +00:00
Ryan 97d0e7cb2d
[Docs] Add commands to flashing docs (#16456) 2022-02-26 17:35:10 -08:00
Joel Challis cf31355f08
Changelog 2022q1 (#16380)
* Initial changelog pass

* update generate-develop-pr-list content

* Fix bad word-ness

* Fix generate-develop-pr-list ignores

* Update docs/ChangeLog/20220226.md

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

Co-authored-by: Sergey Vlasov <sigprof@gmail.com>
2022-02-23 17:33:08 +00:00
fauxpark 145dca0e49 Merge remote-tracking branch 'upstream/master' into develop 2022-02-22 05:21:40 +11:00
Michal Petrik b1f8622513
[Docs] Update feature_leader_key.md (#16344)
Co-authored-by: zvecr <git@zvecr.com>
2022-02-21 09:08:36 -08:00
Michal Petrik d3584be431
[Docs] Update newbs_building_firmware.md (#16333) 2022-02-21 09:08:07 -08:00
Joel Challis 0d9a0d5d97
Align new-keyboard with recent schema updates (#16378) 2022-02-16 20:58:40 +00:00
Joel Challis 16767312db
Align docs to new-keyboard behaviour (#16357) 2022-02-15 15:45:32 +11:00
Joy Lee 71c0b97bce
Added external spi flash driver. (#15419) 2022-02-11 20:26:16 +00:00
QMK Bot 815d2bae81 Merge remote-tracking branch 'origin/master' into develop 2022-02-10 16:17:00 +00:00
Albert Y f662939037
Sentence structure update (#16306) 2022-02-10 16:16:01 +00:00
QMK Bot 0930c60553 Merge remote-tracking branch 'origin/master' into develop 2022-02-10 07:13:21 +00:00
Albert Y 3e5cb1da0f
Improve description of LED state data sync option (#16302) 2022-02-10 18:12:42 +11:00
QMK Bot 9e293e7f9c Merge remote-tracking branch 'origin/master' into develop 2022-02-09 05:13:10 +00:00
IskandarMa 04020da48c
[Docs] pr checklist: update doc hyperlinks to relative ones and use IDs (#16263) 2022-02-08 21:12:39 -08:00