-
-
Notifications
You must be signed in to change notification settings - Fork 39.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix and add unit tests for Caps Word to work with Unicode Map, Auto Shift, Retro Shift. #17284
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for you contribution and also that you came back and added more unit-tests! Really appreciated. I have some recommendations on moving the convenience test helpers into base classes to make them universally accessible for other unit-test but apart from that you have my approval.
tests/caps_word/caps_word_autoshift/test_caps_word_autoshift.cpp
Outdated
Show resolved
Hide resolved
tests/caps_word/caps_word_unicodemap/test_caps_word_unicodemap.cpp
Outdated
Show resolved
Hide resolved
@KarlK90 thank you for the suggestions! I added some new test utilities to this PR: I went ahead and applied them to most tests. Particularly the Here is a description of the utilities (also documented in the code):
|
@getreuer Those facilities and changes to the tests are very nice indeed! Improving the ergonomics for writing these tests is one of my long term goals and this is a step in the right direction. While reading the changes to the unit tests I noticed that we have two more frequent use-cases that we expect:
These can easily be added by providing these macros as well:
I have them in a working condition in my local branch, it juts needs some clean-up and documentation. If you like/don't mind I can go ahead and push them to this PR. |
@KarlK90 Yes, please go ahead and push into this PR! =) Those are great additions. Not only is it more concise, but the meaning of EXPECT_CALL(driver, send_keyboard_mock(_)); |
@getreuer Done! I amended the changes to you commits and changed the commit messages. I took the liberty to convert the documentation comments to doxygen, but left them untouched otherwise. Expect for the empty report example in |
This commit defines five test utilities, EXPECT_REPORT, EXPECT_UNICODE, EXPECT_EMPTY_REPORT, EXPECT_ANY_REPORT and EXPECT_NO_REPORT for use with TestDriver. EXPECT_REPORT sets a gmock expectation that a given keyboard report will be sent. For instance, EXPECT_REPORT(driver, (KC_LSFT, KC_A)); is shorthand for EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_LSFT, KC_A))); EXPECT_UNICODE sets a gmock expectation that a given Unicode code point will be sent using UC_LNX input mode. For instance for U+2013, EXPECT_UNICODE(driver, 0x2013); expects the sequence of keys: "Ctrl+Shift+U, 2, 0, 1, 3, space". EXPECT_EMPTY_REPORT sets a gmock expectation that a given keyboard report will be sent. For instance EXPECT_EMPTY_REPORT(driver); expects a single report without keypresses or modifiers. EXPECT_ANY_REPORT sets a gmock expectation that a arbitrary keyboard report will be sent, without matching its contents. For instance EXPECT_ANY_REPORT(driver).Times(1); expects a single arbitrary keyboard report will be sent. EXPECT_NO_REPORT sets a gmock expectation that no keyboard report will be sent at all.
This commit adds a `tap_key(key)` method to TestFixture that taps a given KeymapKey, optionally with a specified delay between press and release. Similarly, the method `tap_keys(key_a, key_b, key_c)` taps a sequence of KeymapKeys.
This commit uses EXPECT_REPORT, EXPECT_UNICODE, EXPECT_EMPTY_REPORT, EXPECT_NO_REPORT, tap_key() and tap_keys() test utilities from the previous two commits in most tests. Particularly the EXPECT_REPORT macro is frequently useful and makes a nice reduction in boilerplate needed to express many tests.
@KarlK90 Awesome! This all looks good. It is fine by me to merge this PR whenever the maintainers would like to do so. |
Now also on the develop branch 🎉 |
...convenience macros to test cases that where missed during qmk#17284
...convenience macros to test cases that where missed during #17284
* [Bug] Updated Cirque Pinnacle SPI driver to read data correctly (qmk#17074) * [Keyboard] Add caps and num indicators to Balance keyboard (qmk#17075) * [Keyboard] H60 updates (qmk#16999) Co-authored-by: Drashna Jaelre <[email protected]> Co-authored-by: Ryan <[email protected]> * [Keymap] Contra - QWERTY US basic layout; MechWild Marcuio - EN update layout (qmk#16787) Co-authored-by: Joel Challis <[email protected]> Co-authored-by: Drashna Jaelre <[email protected]> Co-authored-by: Ryan <[email protected]> Co-authored-by: Stephon Parker <[email protected]> * [Keyboard] Fixed info.json issue, some key got wrong pos for Gas75 (qmk#17070) * [Keyboard] Add keyboard "Spreadwriter" (qmk#17031) Co-authored-by: Joel Challis <[email protected]> Co-authored-by: Drashna Jaelre <[email protected]> * [Keyboard] Add M64 RGB (qmk#17069) * [Core] Add Reboot keycode to core (qmk#15990) * Fix kinetic mouse mode (qmk#16951) Co-authored-by: Jan Christoph Ebersbach <[email protected]> * [Core] Add Caps Word feature to core (qmk#16588) Co-authored-by: precondition <[email protected]> Co-authored-by: Drashna Jaelre <[email protected]> * F13 TKL with Split Backspace and Split Right Shift Community Layouts (qmk#17082) * add tkl_f13_ansi_split_bs_rshift Community Layout * add tkl_f13_ansi_tsangan_split_bs_rshift Community Layout * add tkl_f13_iso_split_bs_rshift Community Layout * add tkl_f13_iso_tsangan_split_bs_rshift Community Layout * Revert "Fix kinetic mouse mode (qmk#16951)" (qmk#17095) * Clickety Split Leeloo: QMK Configurator Fixes (qmk#17093) * info.json: fix key sequence error * info.json: fix visual rendering Clarify the physical locations of the keys. * info.json: update maintainer field This field is meant to reference the maintainer's GitHub username. * Avalanche: add QMK Configurator data (qmk#17092) * avalanche/v1: add info.json * avalanche/v2: add info.json * avalanche/v3: add info.json * Axolstudio Foundation Gamma: Community Layout Support (qmk#17080) * LAYOUT_tkl_f13_ansi_tsangan support Renames `LAYOUT_ansi_tsangan` to `LAYOUT_tkl_f13_ansi_tsangan`. Also enables Community Layout support. * LAYOUT_tkl_f13_ansi_tsangan_split_bs_rshift support * Eason Capsule65 Community Layout Support (qmk#17090) * capsule65.h: modify matrix diagram Taken from the VIA layout data. * rename LAYOUT to LAYOUT_all * add LAYOUT_65_ansi macro * add LAYOUT_65_ansi_blocker macro * add LAYOUT_65_ansi_blocker_tsangan macro * add LAYOUT_65_ansi_split_bs macro * add LAYOUT_65_ansi_blocker_split_bs macro * add LAYOUT_65_ansi_blocker_tsangan_split_bs macro * add LAYOUT_65_iso macro * add LAYOUT_65_iso_split_bs macro * add LAYOUT_65_iso_blocker macro * add LAYOUT_65_iso_blocker_split_bs macro * add LAYOUT_65_iso_blocker_tsangan macro * add LAYOUT_65_iso_blocker_tsangan_split_bs macro * enable Community Layout support * info.json: update maintainer value This field is meant to reference the maintainer's GitHub username. * Enhancement and fixes of "Secure" feature (qmk#16958) * Fix anchors with <code> in table of content (qmk#15169) * Format code according to conventions (qmk#17096) * Check for ongoing transfers on the OUT endpoint (qmk#16974) ...when attempting to start a receiving USB transfer. Previously, we would check on the IN endpoint which is the transmitting part of the USB endpoint. This is wrong and lead to two USB transfers being started immediately after each other in case of e.g. RAW HID endpoints: 1. When finishing an OUT transfer the low level USB driver calls the out_cb callback, which in turn initiates another OUT transfer by calling qmkusbDataReceived. 2. When the raw hid receive channel runs empty inside the raw_hid task, another OUT transfer is started to potentially fill the channel again. This happens by calling ibnotify. Both events occur directly after each other, thus triggering the bug. * [Feature] Add support for multiple switchs/solenoids to Haptic Feedback engine (qmk#15657) * Rename keymap_extras headers for consistency (qmk#16939) * RESET -> QK_BOOT default keymaps (qmk#17037) * Data driven `g_led_config` (qmk#16728) * Various fixes for g_led_config lint warnings (qmk#17104) * Warn about LTO with arm_atsam, not ChibiOS. (qmk#17106) * fix tiger80 matrix error (qmk#17107) * DigiCarpice Configurator Rendering Fix (qmk#17113) * info.json: apply friendly formatting * info.json: rebuild layout data * [Keyboard] Fix compilation issues for Quark LP (qmk#17009) Co-authored-by: Ryan <[email protected]> * [Keyboard] Fix too many elements in g_led_config for quark_lp (qmk#17117) * [Keyboard] Add Iron165R2 PCB support (qmk#16948) * [Keyboard] mach3 LED index correction (qmk#17110) * [Keyboard] Latinpad LED index correction (qmk#17109) * [Keyboard] lulu LED index correction (qmk#17108) * [Keyboard] Fixed Gas75 info.json and keymap for M64 RGB (qmk#17081) * fix non-working builds (qmk#17123) * Adding VIA support for bfo-9000 (qmk#17116) * Update pr_checklist.md (qmk#17122) * Frooastside Walnut Community Layout Support (qmk#17112) * LAYOUT_iso: move Enter to home row This commit makes the layout macro compatible with QMK's `tkl_nofrow_iso` Community Layout. * rename LAYOUT_ansi to LAYOUT_tkl_nofrow_ansi * rename LAYOUT_iso to LAYOUT_tkl_nofrow_iso * enable Community Layout support * Keymap FAQ updates (qmk#17130) * Recommend pillow as part of manual MSYS install (qmk#17133) * Workaround for recent -Werror=array-bounds AVR issues (qmk#17136) * Update mtei's keymap (helix/rev2:five_rows, helix/pico:mtei, helix/rev3_5rows:five_rows) (qmk#16966) * add users/mtei/key_blocks.h This change does not alter the binary of the build result. Moved common macro definitions in the following files to users/mtei/key_blocks.h. * keyboards/helix/rev2/keymaps/five_rows/keymap.c * keyboards/helix/rev3_5rows/keymaps/five_rows/keymap.c * remove INIT_HELIX_OLED() in helix:five_rows This change does not alter the binary of the build result. * update helix/pico/keymaps/mtei/keymap.c Changed helix/pico/keymaps/mtei/keymap.c to use users/mtei/key_blocks.h. This change does not alter the binary of the build result. * Remove old SSD1306OLED code from users/mtei/oled_display.c This change does not alter the binary of the build result. * add options ENABLE_COLEMAK, ENABLE_DVORAK and ENABLE_EUCALYN into five_rows/keymap.c * add users/mtei/{config.h,rules.mk,user_featues.mk,user_options.mk} * move layer_names[] from users/mtei/oled_display.c to keymaps/five_rows/keymap.c * Update keyboards/helix/pico/keymaps/mtei/config.h Co-authored-by: Ryan <[email protected]> * Update keyboards/helix/pico/keymaps/mtei/config.h Co-authored-by: Ryan <[email protected]> * Update keyboards/helix/pico/keymaps/mtei/keymap.c Co-authored-by: Ryan <[email protected]> * Update keyboards/helix/rev2/keymaps/five_rows/config.h Co-authored-by: Ryan <[email protected]> * Update keyboards/helix/rev2/keymaps/five_rows/config.h Co-authored-by: Ryan <[email protected]> * Update keyboards/helix/rev2/keymaps/five_rows/keymap.c Co-authored-by: Ryan <[email protected]> * Update keyboards/helix/rev3_5rows/keymaps/five_rows/config.h Co-authored-by: Ryan <[email protected]> * Update keyboards/helix/rev3_5rows/keymaps/five_rows/config.h Co-authored-by: Ryan <[email protected]> * Update keyboards/helix/rev3_5rows/keymaps/five_rows/keymap.c Co-authored-by: Ryan <[email protected]> * Update users/mtei/config.h Co-authored-by: Ryan <[email protected]> * Update users/mtei/config.h Co-authored-by: Ryan <[email protected]> * Update users/mtei/cpp_map.h Co-authored-by: Ryan <[email protected]> * Update users/mtei/cpp_map.h Co-authored-by: Ryan <[email protected]> * Update users/mtei/debug_config.h Co-authored-by: Ryan <[email protected]> * Update users/mtei/debug_config.h Co-authored-by: Ryan <[email protected]> * Update users/mtei/layer_number_util.h Co-authored-by: Ryan <[email protected]> Co-authored-by: Ryan <[email protected]> * Fix platforms/avr/drivers/ws2812.c (qmk#17043) * Fix platforms/avr/drivers/ws2812.c `platforms/avr/drivers/ws2812.c` has been changed to use `DDRx_ADDRESS()` and `PORTx_ADDRESS()` instead of `_SFR_IO8()` in qmk#8646. To use them, `#include <pin_defs.h>` is required. ## Error Log * create new keyboard ```shell bash-3.2$ qmk new-keyboard Ψ Generating a new QMK keyboard directory Name Your Keyboard Project For more infomation, see: https://docs.qmk.fm/#/hardware_keyboard_guidelines?id=naming-your-keyboardproject Keyboard Name? ws2812_test .................................. 36. WB32F3G71 Please enter your choice: [12] Ψ Created a new keyboard called ws2812_test. Ψ To start working on things, `cd` into keyboards/ws2812_test, Ψ or open the directory in your preferred text editor. Ψ And build with qmk compile -kb ws2812_test -km default. ``` * Enable RGBLIGHT. ```shell bash-3.2$ echo RGBLIGHT_ENABLE=yes >> ./keyboards/ws2812_test/rules.mk bash-3.2$ echo '#define RGB_DI_PIN B1' >> ./keyboards/ws2812_test/config.h bash-3.2$ echo '#define RGBLED_NUM 6' >> ./keyboards/ws2812_test/config.h ``` * Compile ```shell bash-3.2$ make ws2812_test:default QMK Firmware 0.16.9 Making ws2812_test with keymap default avr-gcc (Homebrew AVR GCC 8.4.0_2) 8.4.0 Copyright (C) 2018 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. ..................... Compiling: quantum/process_keycode/process_rgb.c [OK] Compiling: platforms/avr/drivers/ws2812.c platforms/avr/drivers/ws2812.c: In function 'ws2812_setleds': platforms/avr/drivers/ws2812.c:40:5: error: implicit declaration of function 'DDRx_ADDRESS' [-Werror=implicit-function-declaration] DDRx_ADDRESS(RGB_DI_PIN) |= pinmask(RGB_DI_PIN); ^~~~~~~~~~~~ In file included from <command-line>: ./keyboards/ws2812_test/config.h:21:20: error: 'B1' undeclared (first use in this function); did you mean 'PB1'? #define RGB_DI_PIN B1 ^~ platforms/avr/drivers/ws2812.c:40:18: note: in expansion of macro 'RGB_DI_PIN' DDRx_ADDRESS(RGB_DI_PIN) |= pinmask(RGB_DI_PIN); ^~~~~~~~~~ ./keyboards/ws2812_test/config.h:21:20: note: each undeclared identifier is reported only once for each function it appears in #define RGB_DI_PIN B1 ^~ platforms/avr/drivers/ws2812.c:40:18: note: in expansion of macro 'RGB_DI_PIN' DDRx_ADDRESS(RGB_DI_PIN) |= pinmask(RGB_DI_PIN); ^~~~~~~~~~ platforms/avr/drivers/ws2812.c:42:47: error: implicit declaration of function 'PORTx_ADDRESS' [-Werror=implicit-function-declaration] uint8_t masklo = ~(pinmask(RGB_DI_PIN)) & PORTx_ADDRESS(RGB_DI_PIN); ^~~~~~~~~~~~~ In file included from /usr/local/Cellar/avr-gcc@8/8.4.0_2/avr/include/avr/io.h:99, from /usr/local/Cellar/avr-gcc@8/8.4.0_2/avr/include/avr/interrupt.h:38, from platforms/avr/drivers/ws2812.c:24: platforms/avr/drivers/ws2812.c: In function 'ws2812_sendarray_mask': ./keyboards/ws2812_test/config.h:21:20: error: 'B1' undeclared (first use in this function); did you mean 'PB1'? #define RGB_DI_PIN B1 ^~ platforms/avr/drivers/ws2812.c:167:69: note: in expansion of macro 'RGB_DI_PIN' : "r"(curbyte), "I"(_SFR_IO_ADDR(PORTx_ADDRESS(RGB_DI_PIN))), "r"(maskhi), "r"(masklo)); ^~~~~~~~~~ cc1: all warnings being treated as errors [ERRORS] | | | make[1]: *** [.build/obj_ws2812_test_default/ws2812.o] Error 1 make: *** [ws2812_test:default] Error 1 Make finished with errors ``` * change include order * Hineybush Ibis Layout Additions and Configurator Rendering Update (qmk#17132) * info.json: apply friendly formatting * info.json: remove dead space from rendering * info.json: insert line breaks between physical rows in layout data * info.json: fix overlap in key rendering Fixes an issue where the ANSI Enter key renders on top of the ISO Hash/Tilde key, visually hiding the latter. * add LAYOUT_ansi_all macro with associated keymap Duplicates `LAYOUT_all`, but with the ISO Hash/Tilde and ISO Backslash keys removed. - ANSI Enter and 2.25u Left Shift - Backspace, Right Shift, Numpad Plus and Numpad Enter all split - 1.5 / 1 / 1.5 / 6.25 / 1.25 / 1.25 / 1.25 Bottom Row * add LAYOUT_iso_all macro with associated keymap Duplicates `LAYOUT_all`, but with the ANSI Backslash key removed. - ISO Enter and 1.25u Left Shift - Backspace, Right Shift, Numpad Plus and Numpad Enter all split - 1.5 / 1 / 1.5 / 6.25 / 1.25 / 1.25 / 1.25 Bottom Row * KBDfans Phase One Layout Macro Additions and Configurator Data (qmk#17148) * phaseone.h: add matrix diagram * add QMK Configurator data * add LAYOUT_65_ansi_blocker_split_bs macro * add LAYOUT_65_ansi_wkl_split_bs macro * add LAYOUT_65_iso_blocker macro * add LAYOUT_65_iso_blocker_split_bs macro * add LAYOUT_65_iso_wkl macro * add LAYOUT_65_iso_wkl_split_bs macro * rename LAYOUT_65_ansi_wkl to LAYOUT_65_ansi_blocker_tsangan_wkl Differentiates the layout supported here from QMK's `65_ansi_blocker_tsangan` Community Layout, which is equivalent to this but with a 1u GUI key between Left Ctrl and Left Alt. * rename new layout macros for codebase consistency - `LAYOUT_65_ansi_wkl_split_bs` -> `LAYOUT_65_ansi_blocker_tsangan_wkl_split_bs` - `LAYOUT_65_iso_wkl` -> `LAYOUT_65_iso_blocker_tsangan_wkl` - `LAYOUT_65_iso_wkl_split_bs` -> `LAYOUT_65_iso_blocker_tsangan_wkl_split_bs` * add reference keymaps Add keymaps which demonstrate the layout macro implementations. * KBDfans Tiger80 Community Layout Support and Keymap Touch-Up (qmk#17149) * info.json: apply friendly formatting * rename LAYOUT_all to LAYOUT_tkl_f13_ansi_tsangan * enable Community Layout support * refactor keymaps to use grid alignment * Continue Caps Word when AltGr (right Alt) is held. (qmk#17156) This is a minor bug fix for Caps Word. Currently, Caps Word turns off whenever a non-shift mod becomes active. This is done to avoid interfering with hotkeys. This commit makes an exception to continue Caps Word when AltGr (right Alt) is held. Outside the US, the AltGr key is used to type additional symbols (https://en.wikipedia.org/wiki/AltGr_key). Depending on the language, these may include symbols used within words like accented letters where it would be desirable to continue Caps Word. * Move GMMK Pro to allow for multiple revisions (qmk#16423) * Added GMMK PRO Rev2 WBG7 MCU compatibility. Added GMMK 2 WBG7 MCU compatibility. * GMMK PRO MCU Updates only (removed other kbs) * fix problems * Optimize the code. * Update form develop branch * Update * Updater from qmk/develop * Update * Update config.h * Update config.h * Remove gmmk pro rev2 * move moults31/keymap.c * Update * tidy up Co-authored-by: Joy <[email protected]> Co-authored-by: zvecr <[email protected]> * [Keyboard] Add miniZone keyboard (qmk#16644) Co-authored-by: Ryan <[email protected]> Co-authored-by: Drashna Jaelre <[email protected]> * [Keyboard] add rad keyboard (qmk#17088) Co-authored-by: zvecr <[email protected]> * [Keyboard] Add Eu isolation Keyboard (qmk#17102) Co-authored-by: Ryan <[email protected]> Co-authored-by: TuckTuckFloof <[email protected]> * [Keyboard] launch_1 LED index correction (qmk#17118) * [Keyboard] 0xc_pad LED index correction (qmk#17120) * [CI] Format code according to conventions (qmk#17165) * [CI] Format code according to conventions (qmk#17164) * [Keyboard] Update Layouts for MB-65S and MB-65H (qmk#17160) * [Docs] Update Steno Keycode Table (qmk#17155) * [Keyboard] rskeys100 LED index correction (qmk#17139) * [Keyboard] Add eeprom IC-less rev for MechWild OBE and Waka60 (qmk#17126) * [Keyboard] yeti LED index correction (qmk#17138) * [Docs] Align LED Matrix docs with RGB matrix docs (qmk#17140) * Small Markdown Patch for docs/feature_rgb_matrix.md (qmk#17171) * Dailycraft Sandbox Configurator Data (qmk#17169) * Ryan Skidmore rskeys100 Community Layout Support (qmk#17159) * PJB Eros Community Layout Support (qmk#17158) * Added Cantor keyboard (qmk#16552) * Add massdrop/alt:charlesrocket keymap (qmk#17173) * [Keyboard] Atreus62update (qmk#17179) Co-authored-by: Ian Sterling <[email protected]> Co-authored-by: Ian Sterling <[email protected]> Co-authored-by: Ian Sterling <[email protected]> * Added support for Wb32fq95 (qmk#16871) * [Keyboard] mj64 Increase LED count (qmk#17194) * [Keyboard] Add plywrks Ahgase (qmk#17191) * [Keyboard][Fix] Change default keymap tilde to grv (qmk#17185) * stub changelog * Update keyboard aliases * Disable python formatting for some files * SkeletonNumPad Configurator Key Sequence Fix (qmk#17204) * info.json: apply friendly formatting * info.json: fix key sequence * Small update to Symmetric70 keyboard readme (qmk#17188) Added a little description to reademe.md under `handwired/symmetric70_proto/{matrix_debug|matrix_fast}`. * Refactor legacy quantum keycodes in default-ish keymaps (qmk#17150) * Breaking changes for 2022q2. (qmk#17221) * Merge point for 2022-05-28 Breaking Change * Fixup command sequencing for master/develop. (qmk#17227) * Fixup iron165r2 (qmk#17119) * initial * revert some defines * formatting * apply changes * update readme * suggestion * Fix quark_lp via firmware size (qmk#17233) * Use correct container for unit test workflow (qmk#17242) * Fix API errors (qmk#17239) * [Keymap] Update sethbarberee code to QK_BOOT and try out DVVORAK (qmk#17230) * [Keymap] Updates to layouts/community/ortho_4x12/junonum (qmk#17249) * [Keyboard] Add str.merro60 pcb (qmk#17097) Co-authored-by: Drashna Jaelre <[email protected]> Co-authored-by: Ryan <[email protected]> Co-authored-by: Alexander Lee <[email protected]> Co-authored-by: chalex <[email protected]> * Fix docs typo (qmk#17254) * Fix various lint errors (qmk#17255) * Fix various lint errors * reduce complexity * Convert ergodone to use core mcp23018 driver (qmk#17005) * Nix shell updates (qmk#17243) * Change AW20216 SPI Mode from 0 to 3, to fix RGB LEDs on GMMK Pro (qmk#17262) * [Keymap] Drashna update for post Q2 merge (qmk#17241) * [Keyboard] fix dz64rgb rgb sleep (qmk#17209) * Add trailing parens to `get_oneshot_mods` in feature_advanced_keycodes.md (qmk#17211) * move RESET to QK_BOOT (qmk#17278) * move RESET to QK_BOOT * fix tapping_term * Add wavtype/p01_ultra (qmk#16513) * new fork (manta and foundation) added foundation and manta firmware * removed manta * VIA compliant changes added readme, info.json edits * Update keyboards/wavtype/foundation/config.h Co-authored-by: Joel Challis <[email protected]> * Update keyboards/wavtype/foundation/readme.md Co-authored-by: Joel Challis <[email protected]> * removed via.json and updated readme * Update keyboards/wavtype/foundation/rules.mk Co-authored-by: Ryan <[email protected]> * Update keyboards/wavtype/foundation/config.h Co-authored-by: Ryan <[email protected]> * Update keyboards/wavtype/foundation/config.h Co-authored-by: Drashna Jaelre <[email protected]> * Update keymap.c * added p01 ultra * updated diode direction proto used opposite diode direction * removed foundation * Update keyboards/wavtype/p01_ultra/rules.mk Co-authored-by: Drashna Jaelre <[email protected]> * Update keyboards/wavtype/p01_ultra/config.h Co-authored-by: Drashna Jaelre <[email protected]> * Update keyboards/wavtype/p01_ultra/config.h Co-authored-by: Drashna Jaelre <[email protected]> * Update keyboards/wavtype/p01_ultra/config.h Co-authored-by: Drashna Jaelre <[email protected]> * Update keyboards/wavtype/p01_ultra/config.h Co-authored-by: Drashna Jaelre <[email protected]> * Update keyboards/wavtype/p01_ultra/readme.md Co-authored-by: Drashna Jaelre <[email protected]> * Update keyboards/wavtype/p01_ultra/info.json Co-authored-by: Joel Challis <[email protected]> * Update keyboards/wavtype/p01_ultra/keymaps/via/keymap.c Co-authored-by: Joel Challis <[email protected]> * Update keyboards/wavtype/p01_ultra/keymaps/default/keymap.c Co-authored-by: Joel Challis <[email protected]> * Update keyboards/wavtype/p01_ultra/keymaps/default/keymap.c Co-authored-by: Joel Challis <[email protected]> * Update keyboards/wavtype/p01_ultra/keymaps/via/keymap.c Co-authored-by: Joel Challis <[email protected]> * Update keyboards/wavtype/p01_ultra/keymaps/via/keymap.c Co-authored-by: Joel Challis <[email protected]> * Update keyboards/wavtype/p01_ultra/keymaps/default/keymap.c Co-authored-by: Joel Challis <[email protected]> * Update keyboards/wavtype/p01_ultra/keymaps/default/keymap.c Co-authored-by: Joel Challis <[email protected]> * Update keyboards/wavtype/p01_ultra/rules.mk Co-authored-by: Ryan <[email protected]> * Update keyboards/wavtype/p01_ultra/readme.md Co-authored-by: Ryan <[email protected]> * Update keyboards/wavtype/p01_ultra/config.h Co-authored-by: Ryan <[email protected]> Co-authored-by: Joel Challis <[email protected]> Co-authored-by: Ryan <[email protected]> Co-authored-by: Drashna Jaelre <[email protected]> * [Keyboard] Acheron Shark alpha Encoder support (qmk#17266) * [Keymap] Fix maddie layout for ploopy/trackball_nano (qmk#17213) * keyboards: fix malformed info.json files (qmk#17292) * [Keyboard] Organized versions of mikeneko65 (qmk#16985) Co-authored-by: takishim <[email protected]> * Fix lint errors (qmk#17293) * Add Encoder Map Swap Hands config for boards that support both features (qmk#17294) * Disable features known to cause BIOS/suspend issues (qmk#17270) * Fix and add unit tests for Caps Word to work with Unicode Map, Auto Shift, Retro Shift. (qmk#17284) * Fix Caps Word and Unicode Map * Tests for Caps Word + Auto Shift and Unicode Map. * Fix formatting * Add additional keyboard report expectation macros This commit defines five test utilities, EXPECT_REPORT, EXPECT_UNICODE, EXPECT_EMPTY_REPORT, EXPECT_ANY_REPORT and EXPECT_NO_REPORT for use with TestDriver. EXPECT_REPORT sets a gmock expectation that a given keyboard report will be sent. For instance, EXPECT_REPORT(driver, (KC_LSFT, KC_A)); is shorthand for EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_LSFT, KC_A))); EXPECT_UNICODE sets a gmock expectation that a given Unicode code point will be sent using UC_LNX input mode. For instance for U+2013, EXPECT_UNICODE(driver, 0x2013); expects the sequence of keys: "Ctrl+Shift+U, 2, 0, 1, 3, space". EXPECT_EMPTY_REPORT sets a gmock expectation that a given keyboard report will be sent. For instance EXPECT_EMPTY_REPORT(driver); expects a single report without keypresses or modifiers. EXPECT_ANY_REPORT sets a gmock expectation that a arbitrary keyboard report will be sent, without matching its contents. For instance EXPECT_ANY_REPORT(driver).Times(1); expects a single arbitrary keyboard report will be sent. EXPECT_NO_REPORT sets a gmock expectation that no keyboard report will be sent at all. * Add tap_key() and tap_keys() to TestFixture. This commit adds a `tap_key(key)` method to TestFixture that taps a given KeymapKey, optionally with a specified delay between press and release. Similarly, the method `tap_keys(key_a, key_b, key_c)` taps a sequence of KeymapKeys. * Use EXPECT_REPORT, tap_keys, etc. in most tests. This commit uses EXPECT_REPORT, EXPECT_UNICODE, EXPECT_EMPTY_REPORT, EXPECT_NO_REPORT, tap_key() and tap_keys() test utilities from the previous two commits in most tests. Particularly the EXPECT_REPORT macro is frequently useful and makes a nice reduction in boilerplate needed to express many tests. Co-authored-by: David Kosorin <[email protected]> * Apply EXPECT_REPORT and EXPECT_EMPTY_REPORT (qmk#17311) ...convenience macros to test cases that where missed during qmk#17284 * docs: reflect systemd's change in language (qmk#17322) Like much of our field, systemd has renamed their `master` branch to `main` * add new keyboard atset (qmk#17195) Co-authored-by: zvecr <[email protected]> Co-authored-by: Ryan <[email protected]> * [Keymap] add trwnh keymap for gmmk pro (qmk#17267) * [Keyboard] Add alt34 keyboard (qmk#17223) * Add files for alt34 keyboard * Add link to hardware bill of materials for alt34 * Change keyboard image link to imgur * Remove platform specific defines from rev1.h * Remove bluetooth and sleep led rules etc * Add GPL license header to all source code files * Shorten comment for NKRO_ENABLE Co-authored-by: Drashna Jaelre <[email protected]> * Simplify option usage comment in rules.mk Co-authored-by: Drashna Jaelre <[email protected]> * Set imgur link to largest size option Co-authored-by: Drashna Jaelre <[email protected]> * Move rules.mk into rev1 folder entirely * Remove .noci file * Update keyboards/alt34/rev1/rules.mk Co-authored-by: Ryan <[email protected]> Co-authored-by: Drashna Jaelre <[email protected]> Co-authored-by: Ryan <[email protected]> * [Keyboard] Handle timeout on UART for Redox Wireless (qmk#17203) * Handle timeout on UART for Redox Wireless receiver-to-keyboard communication. - This fixes the issue of a keyboard deadlocking on the first matrix scan with Redox Wireless keyboards * Remove an explicit cast. Co-authored-by: Tomasz Janeczko <[email protected]> * [Keyboard] Add Stello65 keyboard (qmk#17168) * [Keyboard] add Stello65 keyboard * Apply suggestions from code review Co-authored-by: Drashna Jaelre <[email protected]> * Apply suggestions from code review Co-authored-by: Ryan <[email protected]> * [Keyboard] update config pinout for stello65_sl_rev1 Co-authored-by: Drashna Jaelre <[email protected]> Co-authored-by: Ryan <[email protected]> * [Keyboard] Add Cloudline PCB support (qmk#17253) Co-authored-by: Drashna Jaelre <[email protected]> Co-authored-by: Ryan <[email protected]> * [Keyboard] Add BrutalV2 65 Keyboard (qmk#17252) * Add Brutal65 V2 to QMK * Update info.json and copyright notices * Update info.json] * Update readme and delete chconf * Update matrix and keymaps to match info json * Update keyboards/cannonkeys/brutalv2_65/config.h Co-authored-by: Drashna Jaelre <[email protected]> * Update keyboards/cannonkeys/brutalv2_65/readme.md Co-authored-by: Ryan <[email protected]> * Update keyboards/cannonkeys/brutalv2_65/rules.mk Co-authored-by: Ryan <[email protected]> Co-authored-by: Drashna Jaelre <[email protected]> Co-authored-by: Ryan <[email protected]> * [Keymap] CRKBD: Update jpe230 Keymap (qmk#17280) * Add WB32 evaluation board onekey targets. (qmk#17330) * Update other_vscode.md (qmk#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. * [Keymap] Update keymap for user jasondunsmore (qmk#17312) * [Keyboard] Add KPrepublic BM60hsrgb_ec V1 and V2 (qmk#15104) Co-authored-by: Drashna Jaelre <[email protected]> Co-authored-by: Ryan <[email protected]> * Move more UART-based keyboards to use timeout correctly. (qmk#17329) Co-authored-by: Tomasz Janeczko <[email protected]> * [Keyboard] Fix kprepublic/bm60hsrgb_ec/rev2 (qmk#17334) * Add support for linting deprecated and removed functionality (qmk#17063) * Add support for more lint warnings/errors * Develop currently needs extra deps installed * Lint a few more scenarios * fix tests * [Keyboard] Adding Sunsetter R2 keyboard to Charue family (qmk#17269) Co-authored-by: Joel Challis <[email protected]> Co-authored-by: Drashna Jaelre <[email protected]> Co-authored-by: Ryan <[email protected]> * [Keyboard] Improve the durgot k3x0 readme.md (qmk#17214) * [keyboard] annepro2 Add and use functions to directly control led colors (qmk#17196) * [Keymap] Add planck/scottzach1 keymap (qmk#17083) * [Keyboard] Add Sodium keyboards (qmk#17078) Co-authored-by: Joel Challis <[email protected]> Co-authored-by: Drashna Jaelre <[email protected]> Co-authored-by: Ryan <[email protected]> Co-authored-by: nacly <[email protected]> * initial (qmk#17345) * Promote label with newlines to lint error (qmk#17347) * Promote 'layouts require matrix data' to api error (qmk#17349) * Wasdat: move some stuff to info.json (qmk#17327) * [Keyboard] Fix checkboards/quark_lp (another) (qmk#17296) * [Keyboard] mlego fix product id and sync oled code (qmk#16237) * sync oled code over the keymaps * put different product ids * put different product ids for the rest * put different product ids for the rest * try to reduce code duplication * make ifdefs nice and correct * move the leds code out of keymap * try to reduce code duplication * move the rgb code outside the keymaps for reuse * Update keyboards/mlego/m65/m65.c Co-authored-by: Drashna Jaelre <[email protected]> * Update keyboards/mlego/m65/m65.c Co-authored-by: Drashna Jaelre <[email protected]> * move more code outside keymaps for reuse * add few more xps * add mic mute * update to new name of macros for reset * style for matrix * clean split * use tinyuf2 as bootloader * Update keyboards/mlego/m65/rev4/rules.mk Co-authored-by: Ryan <[email protected]> * radionalise product id and device version * add tinyuf2 as default bootloader for stm32f4 * update tinyuf2 * update tinyuf2 and via. f411 remove tinyuf2 since is not really working. make the config more conditional * sync the keymap with default * revert via non building with gcc 11 Co-authored-by: Drashna Jaelre <[email protected]> Co-authored-by: Ryan <[email protected]> * [Keyboard] add pierce (qmk#17000) Co-authored-by: Ryan <[email protected]> Co-authored-by: Dan Abrahamsson <[email protected]> * [Keyboard] Remove terminal commands from m48 (qmk#17363) * Add encoder map (qmk#17361) * [Keyboard] Add Lemon40 keyboard (qmk#17357) * Add stale action. (qmk#17372) * Add stale action. * Allow for manual trigger. * Fixup stale action. (qmk#17373) * Swap to 1000 stale actions while debugging. * `actions/stale`: 150 operations, oldest-first. * [Keyboard] Add BLASTER75 keyboard (qmk#16887) Co-authored-by: Ryan <[email protected]> * [Keyboard] add SNOP60 (qmk#17131) Co-authored-by: Joel Challis <[email protected]> Co-authored-by: Drashna Jaelre <[email protected]> * Update feature_midi.md (qmk#17390) Add caveat about usb endpoints. * Inform people that things may not work. (qmk#17391) * Perform stricter lint checks (qmk#17348) * [Keyboard] Flip encoder pads on basketweave (qmk#17375) * [Keyboard] Add Chaos65 keyboard (qmk#17369) Co-authored-by: Drashna Jaelre <[email protected]> * [Keymap] New keymap for Keebio FoldKB (qmk#17364) * [Keymap+] SnailMap port for the Kintsugi keyboard. (qmk#17341) * BLASTER75 info.json position fixes (qmk#17395) * edit typo in comment (qmk#17394) * Fix clean arg handling (qmk#17392) * [Keyboard] Add Idobao Montex RGB (V2) (qmk#16897) * Add Montex V2 (#10) * Update readme.md * Update rules.mk * Update config.h * Update keyboards/idobao/montex/v2/config.h Co-authored-by: Drashna Jaelre <[email protected]> * Update keyboards/idobao/montex/v2/rules.mk Add Layouts Co-authored-by: Drashna Jaelre <[email protected]> * Merged code fron work done with @vinorodrigues * Update keyboards/idobao/montex/v2/rules.mk Co-authored-by: Ryan <[email protected]> * Update keyboards/idobao/montex/v2/v2.h Co-authored-by: Ryan <[email protected]> * Update keyboards/idobao/montex/v2/config.h Co-authored-by: Ryan <[email protected]> * Removing via_nug keymap * update to montex code (#11) * remove VIA_QMK_RGBLIGHT_ENABLE * more data driven config, simple copyright headers, some code cleanup Co-authored-by: Drashna Jaelre <[email protected]> Co-authored-by: Ryan <[email protected]> Co-authored-by: Vino Rodrigues <[email protected]> * [Keyboard] Idobao Montex V2(RGB) (qmk#15865) Co-authored-by: Drashna Jaelre <[email protected]> Co-authored-by: Christian Hofstede <[email protected]> Co-authored-by: Vino Rodrigues <[email protected]> Co-authored-by: Vino Rodrigues <[email protected]> * [Keyboard] Add ADM42 Keyboard (qmk#17366) Co-authored-by: Ryan <[email protected]> * Swap to actions/stale. (qmk#17404) * [Keymap] Update yoshimaru46 keymap (qmk#17402) * [Keyboard] mini_ten_key_plus edited info.json (qmk#15574) Co-authored-by: Drashna Jaelre <[email protected]> Co-authored-by: Ryan <[email protected]> * [Keyboard] Fix 1U space in Keebio/sinc/rev2 layout macros (qmk#16901) * [handwired/macroboard] Add separate f401 and f411 configs… (qmk#16338) Co-authored-by: Drashna Jaelre <[email protected]> * [Keyboard] Atreus: add STM32F103C8T6 based variant (qmk#16846) Co-authored-by: Ryan <[email protected]> * Fixup handwired/macroboard (qmk#17405) * Fixup stale labels lists. (qmk#17415) * Add a note about using differents MCU family (qmk#17416) * [Keymap] Update XD75 keymap by markus (qmk#17417) * [Keyboard] add at6 keyboard (qmk#17346) Co-authored-by: zvecr <[email protected]> Co-authored-by: Ryan <[email protected]> * Add Djinn. (qmk#17382) * Add Djinn. * Review comments. * Further cleanup. * [Keyboard] Add tegic for melgeek! (qmk#17400) Co-authored-by: Drashna Jaelre <[email protected]> * [Docs] clarify inner array of direct pin matrix (qmk#17437) * [Keyboard] Update FAve 84H RGB firmware (qmk#16919) * Add base FAve 84H firmware * Update keyboards/linworks/fave84h/readme.md Thank you, apologies for the oversight Co-authored-by: Joel Challis <[email protected]> * Update keyboards/linworks/fave84h/keymaps/via/keymap.c Co-authored-by: Joel Challis <[email protected]> * Update keyboards/linworks/fave84h/keymaps/default/keymap.c Co-authored-by: Joel Challis <[email protected]> * Move LED config in ifdef * update read me * Update Product Name * Update keyboards/linworks/fave84h/rules.mk Co-authored-by: Ryan <[email protected]> * Add Via RGB Matrix Control * Add base FAve 84H firmware * Add Via RGB Matrix Control * fix merge conflict * reduce max brightness * remove action macro and action function Co-authored-by: Joel Challis <[email protected]> * Remove / update code to work with the build in QMK via hack * Update Read me * Add newline at end of rules Co-authored-by: Wolf Van Herreweghe <[email protected]> Co-authored-by: Joel Challis <[email protected]> Co-authored-by: Ryan <[email protected]> * [Keyboard] Update firmware for the FAve 87H (qmk#16920) Co-authored-by: Joel Challis <[email protected]> Co-authored-by: Drashna Jaelre <[email protected]> Co-authored-by: Wolf Van Herreweghe <[email protected]> * [Keyboard] Add base FAve65H firmware (qmk#17147) Co-authored-by: Wolf Van Herreweghe <[email protected]> * [Keyboard] Add more bootloader options for id75 (qmk#17441) * [Keyboard] Add Nayeon by Abats Keyboard Club (qmk#16659) Co-authored-by: Drashna Jaelre <[email protected]> Co-authored-by: Joel Challis <[email protected]> * [Keyboard] Add rb18 keyboard (qmk#17306) * [Keyboard] Add labbeminiv1 (qmk#16401) * [Keyboard] Add labbeminiv1 * Adjust vendor id The used vendor id was in use * Remove comment in the rgb keymap * Update keyboards/labbe/labbeminiv1/rules.mk Co-authored-by: Ryan <[email protected]> * Rename rgb matrix keymap folder Co-authored-by: Ryan <[email protected]> * [Keyboard] add dynamis keyboard (qmk#15994) Co-authored-by: Drashna Jaelre <[email protected]> Co-authored-by: Ryan <[email protected]> * alt34 rev1: Configurator Compilation Fix (qmk#17442) * move USE_I2C and EE_HANDS definitions to keyboard level Allow this keyboard to be compiled by QMK Configurator. * remove redundant DEFAULT_FOLDER rule * Add missing snop60 default keymap (qmk#17443) * [Keyboard] Zeno 60% Ergo PCB (qmk#17403) Co-authored-by: Drashna Jaelre <[email protected]> * [Keyboard] Add n60a pcb (qmk#17273) Co-authored-by: Drashna Jaelre <[email protected]> * [Keymap] farmergreg's kint41 Kinesis Advantage 2 Layout (qmk#16784) * Checkerboards SNOP60 Refactor (qmk#17446) * Chaos 65 Community Layout Support (qmk#17447) * move ISO Enter position to home row This commit makes the ISO layout macros compatible with QMK's `65_iso_blocker` and `65_iso_blocker_tsangan` community layouts. * info.json: apply friendly formatting - add key labels - add line breaks between physical rows * enable Community Layout support * chaos65.h: add matrix diagram * [Keyboard] Update SKErgo for hardware changes (qmk#17449) Co-authored-by: kevinzhao-tech <[email protected]> * [Keyboard] Fix RGB_matrix coordinates for gl516/j73gl (qmk#17450) * Cf/evyd13 wasdat (qmk#17452) * evyd13/wasdat: add LAYOUT_all Configurator data * info.json: fix JSON syntax errors * Fix 0 delta results in size_regression.sh (qmk#17457) * Update ref_functions.md (replaced deprecated `RESET`) (qmk#17436) * Fix up Djinn fuse handling. (qmk#17465) * [Keyboard] Fix firmware size for via keymap on Atom47 (qmk#17472) * [Keyboard] Fixup skergo - missing keycode in keymaps (qmk#17458) * [Split] Ensure SOFT_SERIAL_PIN is defined if USE_I2C isn't defined (qmk#17466) * Only omit paths containing "/keymaps/" (qmk#17468) This allows keyboard names to contain the word "keymaps" * [Keyboard] Add blockboy/ac980mini keyboard (qmk#16839) Co-authored-by: Drashna Jaelre <[email protected]> Co-authored-by: Ryan <[email protected]> * Fix error message in generated code (qmk#17484) Co-authored-by: QMK Bot <[email protected]> Co-authored-by: Kyle McCreery <[email protected]> Co-authored-by: Andrew Kannan <[email protected]> Co-authored-by: Josh Hinnebusch <[email protected]> Co-authored-by: Drashna Jaelre <[email protected]> Co-authored-by: Ryan <[email protected]> Co-authored-by: Stephon Parker <[email protected]> Co-authored-by: Joel Challis <[email protected]> Co-authored-by: Stephon Parker <[email protected]> Co-authored-by: HorrorTroll <[email protected]> Co-authored-by: takashicompany <[email protected]> Co-authored-by: Yorick Peterse <[email protected]> Co-authored-by: Jan Christoph Ebersbach <[email protected]> Co-authored-by: Pascal Getreuer <[email protected]> Co-authored-by: precondition <[email protected]> Co-authored-by: James Young <[email protected]> Co-authored-by: Mateusz Ż <[email protected]> Co-authored-by: Stefan Kerkmann <[email protected]> Co-authored-by: Nick Brassel <[email protected]> Co-authored-by: moyi4681 <[email protected]> Co-authored-by: Álvaro A. Volpato <[email protected]> Co-authored-by: Albert Y <[email protected]> Co-authored-by: Xelus22 <[email protected]> Co-authored-by: John-Schreiber <[email protected]> Co-authored-by: durken1 <[email protected]> Co-authored-by: Takeshi ISHII <[email protected]> Co-authored-by: GloriousThrall <[email protected]> Co-authored-by: Joy <[email protected]> Co-authored-by: anubhav dhiman <[email protected]> Co-authored-by: aadriance <[email protected]> Co-authored-by: TuckTuckFloof <[email protected]> Co-authored-by: AnthonyNguyen168 <[email protected]> Co-authored-by: jpe230 <[email protected]> Co-authored-by: Diego Palacios <[email protected]> Co-authored-by: -k <[email protected]> Co-authored-by: Xyverz <[email protected]> Co-authored-by: Ian Sterling <[email protected]> Co-authored-by: Ian Sterling <[email protected]> Co-authored-by: Ian Sterling <[email protected]> Co-authored-by: Ramon Imbao <[email protected]> Co-authored-by: jack <[email protected]> Co-authored-by: Seth Barberee <[email protected]> Co-authored-by: Juno Nguyen <[email protected]> Co-authored-by: chalex <[email protected]> Co-authored-by: Alexander Lee <[email protected]> Co-authored-by: chalex <[email protected]> Co-authored-by: Dasky <[email protected]> Co-authored-by: Sergey Vlasov <[email protected]> Co-authored-by: trwnh <[email protected]> Co-authored-by: Forrest Cahoon <[email protected]> Co-authored-by: Carlo Sala <[email protected]> Co-authored-by: wavtype <[email protected]> Co-authored-by: Václav Kučera <[email protected]> Co-authored-by: Aidan Gauland <[email protected]> Co-authored-by: Ryan Skidmore <[email protected]> Co-authored-by: takishim <[email protected]> Co-authored-by: takishim <[email protected]> Co-authored-by: eason <[email protected]> Co-authored-by: David Kosorin <[email protected]> Co-authored-by: Travis Rigg <[email protected]> Co-authored-by: Tommy Alatalo <[email protected]> Co-authored-by: Tomasz Janeczko <[email protected]> Co-authored-by: Tomasz Janeczko <[email protected]> Co-authored-by: Uy Bui <[email protected]> Co-authored-by: Andrew Kannan <[email protected]> Co-authored-by: JunZuloo <[email protected]> Co-authored-by: Jason Dunsmore <[email protected]> Co-authored-by: peepeetee <[email protected]> Co-authored-by: ILWrites <[email protected]> Co-authored-by: Gabriel Oliveira <[email protected]> Co-authored-by: zv0n <[email protected]> Co-authored-by: Zac Scott <[email protected]> Co-authored-by: Derek <[email protected]> Co-authored-by: nacly <[email protected]> Co-authored-by: Alin Marin Elena <[email protected]> Co-authored-by: Dan Abrahamsson <[email protected]> Co-authored-by: ALTAiN <[email protected]> Co-authored-by: npspears <[email protected]> Co-authored-by: Tom Barnes <[email protected]> Co-authored-by: Yutong Zhou <[email protected]> Co-authored-by: kb-elmo <[email protected]> Co-authored-by: Arturo Avila <[email protected]> Co-authored-by: Felicia Kuan <[email protected]> Co-authored-by: IBNobody <[email protected]> Co-authored-by: Vino Rodrigues <[email protected]> Co-authored-by: Christian Hofstede <[email protected]> Co-authored-by: Vino Rodrigues <[email protected]> Co-authored-by: Lorenzo Leonini <[email protected]> Co-authored-by: Yoshihiro Saito <[email protected]> Co-authored-by: minibois <[email protected]> Co-authored-by: Gordon <[email protected]> Co-authored-by: Michał Szczepaniak <[email protected]> Co-authored-by: Dmitry Nosachev <[email protected]> Co-authored-by: coliss86 <[email protected]> Co-authored-by: Markus Weimar <[email protected]> Co-authored-by: bomb <[email protected]> Co-authored-by: evils <[email protected]> Co-authored-by: Wolf Van Herreweghe <[email protected]> Co-authored-by: Wolf Van Herreweghe <[email protected]> Co-authored-by: Ryan Baker <[email protected]> Co-authored-by: alabbe9545 <[email protected]> Co-authored-by: bbrfkr <[email protected]> Co-authored-by: paulgali <[email protected]> Co-authored-by: Muhammad Rivaldi <[email protected]> Co-authored-by: Greg Dietsche <[email protected]> Co-authored-by: Kevin Zhao <[email protected]> Co-authored-by: kevinzhao-tech <[email protected]> Co-authored-by: Salicylic-acid3 <[email protected]> Co-authored-by: Evelien Dekkers <[email protected]> Co-authored-by: rooski15 <[email protected]>
* [Bug] Updated Cirque Pinnacle SPI driver to read data correctly (qmk#17074) * [Keyboard] Add caps and num indicators to Balance keyboard (qmk#17075) * [Keyboard] H60 updates (qmk#16999) Co-authored-by: Drashna Jaelre <[email protected]> Co-authored-by: Ryan <[email protected]> * [Keymap] Contra - QWERTY US basic layout; MechWild Marcuio - EN update layout (qmk#16787) Co-authored-by: Joel Challis <[email protected]> Co-authored-by: Drashna Jaelre <[email protected]> Co-authored-by: Ryan <[email protected]> Co-authored-by: Stephon Parker <[email protected]> * [Keyboard] Fixed info.json issue, some key got wrong pos for Gas75 (qmk#17070) * [Keyboard] Add keyboard "Spreadwriter" (qmk#17031) Co-authored-by: Joel Challis <[email protected]> Co-authored-by: Drashna Jaelre <[email protected]> * [Keyboard] Add M64 RGB (qmk#17069) * [Core] Add Reboot keycode to core (qmk#15990) * Fix kinetic mouse mode (qmk#16951) Co-authored-by: Jan Christoph Ebersbach <[email protected]> * [Core] Add Caps Word feature to core (qmk#16588) Co-authored-by: precondition <[email protected]> Co-authored-by: Drashna Jaelre <[email protected]> * F13 TKL with Split Backspace and Split Right Shift Community Layouts (qmk#17082) * add tkl_f13_ansi_split_bs_rshift Community Layout * add tkl_f13_ansi_tsangan_split_bs_rshift Community Layout * add tkl_f13_iso_split_bs_rshift Community Layout * add tkl_f13_iso_tsangan_split_bs_rshift Community Layout * Revert "Fix kinetic mouse mode (qmk#16951)" (qmk#17095) * Clickety Split Leeloo: QMK Configurator Fixes (qmk#17093) * info.json: fix key sequence error * info.json: fix visual rendering Clarify the physical locations of the keys. * info.json: update maintainer field This field is meant to reference the maintainer's GitHub username. * Avalanche: add QMK Configurator data (qmk#17092) * avalanche/v1: add info.json * avalanche/v2: add info.json * avalanche/v3: add info.json * Axolstudio Foundation Gamma: Community Layout Support (qmk#17080) * LAYOUT_tkl_f13_ansi_tsangan support Renames `LAYOUT_ansi_tsangan` to `LAYOUT_tkl_f13_ansi_tsangan`. Also enables Community Layout support. * LAYOUT_tkl_f13_ansi_tsangan_split_bs_rshift support * Eason Capsule65 Community Layout Support (qmk#17090) * capsule65.h: modify matrix diagram Taken from the VIA layout data. * rename LAYOUT to LAYOUT_all * add LAYOUT_65_ansi macro * add LAYOUT_65_ansi_blocker macro * add LAYOUT_65_ansi_blocker_tsangan macro * add LAYOUT_65_ansi_split_bs macro * add LAYOUT_65_ansi_blocker_split_bs macro * add LAYOUT_65_ansi_blocker_tsangan_split_bs macro * add LAYOUT_65_iso macro * add LAYOUT_65_iso_split_bs macro * add LAYOUT_65_iso_blocker macro * add LAYOUT_65_iso_blocker_split_bs macro * add LAYOUT_65_iso_blocker_tsangan macro * add LAYOUT_65_iso_blocker_tsangan_split_bs macro * enable Community Layout support * info.json: update maintainer value This field is meant to reference the maintainer's GitHub username. * Enhancement and fixes of "Secure" feature (qmk#16958) * Fix anchors with <code> in table of content (qmk#15169) * Format code according to conventions (qmk#17096) * Check for ongoing transfers on the OUT endpoint (qmk#16974) ...when attempting to start a receiving USB transfer. Previously, we would check on the IN endpoint which is the transmitting part of the USB endpoint. This is wrong and lead to two USB transfers being started immediately after each other in case of e.g. RAW HID endpoints: 1. When finishing an OUT transfer the low level USB driver calls the out_cb callback, which in turn initiates another OUT transfer by calling qmkusbDataReceived. 2. When the raw hid receive channel runs empty inside the raw_hid task, another OUT transfer is started to potentially fill the channel again. This happens by calling ibnotify. Both events occur directly after each other, thus triggering the bug. * [Feature] Add support for multiple switchs/solenoids to Haptic Feedback engine (qmk#15657) * Rename keymap_extras headers for consistency (qmk#16939) * RESET -> QK_BOOT default keymaps (qmk#17037) * Data driven `g_led_config` (qmk#16728) * Various fixes for g_led_config lint warnings (qmk#17104) * Warn about LTO with arm_atsam, not ChibiOS. (qmk#17106) * fix tiger80 matrix error (qmk#17107) * DigiCarpice Configurator Rendering Fix (qmk#17113) * info.json: apply friendly formatting * info.json: rebuild layout data * [Keyboard] Fix compilation issues for Quark LP (qmk#17009) Co-authored-by: Ryan <[email protected]> * [Keyboard] Fix too many elements in g_led_config for quark_lp (qmk#17117) * [Keyboard] Add Iron165R2 PCB support (qmk#16948) * [Keyboard] mach3 LED index correction (qmk#17110) * [Keyboard] Latinpad LED index correction (qmk#17109) * [Keyboard] lulu LED index correction (qmk#17108) * [Keyboard] Fixed Gas75 info.json and keymap for M64 RGB (qmk#17081) * fix non-working builds (qmk#17123) * Adding VIA support for bfo-9000 (qmk#17116) * Update pr_checklist.md (qmk#17122) * Frooastside Walnut Community Layout Support (qmk#17112) * LAYOUT_iso: move Enter to home row This commit makes the layout macro compatible with QMK's `tkl_nofrow_iso` Community Layout. * rename LAYOUT_ansi to LAYOUT_tkl_nofrow_ansi * rename LAYOUT_iso to LAYOUT_tkl_nofrow_iso * enable Community Layout support * Keymap FAQ updates (qmk#17130) * Recommend pillow as part of manual MSYS install (qmk#17133) * Workaround for recent -Werror=array-bounds AVR issues (qmk#17136) * Update mtei's keymap (helix/rev2:five_rows, helix/pico:mtei, helix/rev3_5rows:five_rows) (qmk#16966) * add users/mtei/key_blocks.h This change does not alter the binary of the build result. Moved common macro definitions in the following files to users/mtei/key_blocks.h. * keyboards/helix/rev2/keymaps/five_rows/keymap.c * keyboards/helix/rev3_5rows/keymaps/five_rows/keymap.c * remove INIT_HELIX_OLED() in helix:five_rows This change does not alter the binary of the build result. * update helix/pico/keymaps/mtei/keymap.c Changed helix/pico/keymaps/mtei/keymap.c to use users/mtei/key_blocks.h. This change does not alter the binary of the build result. * Remove old SSD1306OLED code from users/mtei/oled_display.c This change does not alter the binary of the build result. * add options ENABLE_COLEMAK, ENABLE_DVORAK and ENABLE_EUCALYN into five_rows/keymap.c * add users/mtei/{config.h,rules.mk,user_featues.mk,user_options.mk} * move layer_names[] from users/mtei/oled_display.c to keymaps/five_rows/keymap.c * Update keyboards/helix/pico/keymaps/mtei/config.h Co-authored-by: Ryan <[email protected]> * Update keyboards/helix/pico/keymaps/mtei/config.h Co-authored-by: Ryan <[email protected]> * Update keyboards/helix/pico/keymaps/mtei/keymap.c Co-authored-by: Ryan <[email protected]> * Update keyboards/helix/rev2/keymaps/five_rows/config.h Co-authored-by: Ryan <[email protected]> * Update keyboards/helix/rev2/keymaps/five_rows/config.h Co-authored-by: Ryan <[email protected]> * Update keyboards/helix/rev2/keymaps/five_rows/keymap.c Co-authored-by: Ryan <[email protected]> * Update keyboards/helix/rev3_5rows/keymaps/five_rows/config.h Co-authored-by: Ryan <[email protected]> * Update keyboards/helix/rev3_5rows/keymaps/five_rows/config.h Co-authored-by: Ryan <[email protected]> * Update keyboards/helix/rev3_5rows/keymaps/five_rows/keymap.c Co-authored-by: Ryan <[email protected]> * Update users/mtei/config.h Co-authored-by: Ryan <[email protected]> * Update users/mtei/config.h Co-authored-by: Ryan <[email protected]> * Update users/mtei/cpp_map.h Co-authored-by: Ryan <[email protected]> * Update users/mtei/cpp_map.h Co-authored-by: Ryan <[email protected]> * Update users/mtei/debug_config.h Co-authored-by: Ryan <[email protected]> * Update users/mtei/debug_config.h Co-authored-by: Ryan <[email protected]> * Update users/mtei/layer_number_util.h Co-authored-by: Ryan <[email protected]> Co-authored-by: Ryan <[email protected]> * Fix platforms/avr/drivers/ws2812.c (qmk#17043) * Fix platforms/avr/drivers/ws2812.c `platforms/avr/drivers/ws2812.c` has been changed to use `DDRx_ADDRESS()` and `PORTx_ADDRESS()` instead of `_SFR_IO8()` in qmk#8646. To use them, `#include <pin_defs.h>` is required. ## Error Log * create new keyboard ```shell bash-3.2$ qmk new-keyboard Ψ Generating a new QMK keyboard directory Name Your Keyboard Project For more infomation, see: https://docs.qmk.fm/#/hardware_keyboard_guidelines?id=naming-your-keyboardproject Keyboard Name? ws2812_test .................................. 36. WB32F3G71 Please enter your choice: [12] Ψ Created a new keyboard called ws2812_test. Ψ To start working on things, `cd` into keyboards/ws2812_test, Ψ or open the directory in your preferred text editor. Ψ And build with qmk compile -kb ws2812_test -km default. ``` * Enable RGBLIGHT. ```shell bash-3.2$ echo RGBLIGHT_ENABLE=yes >> ./keyboards/ws2812_test/rules.mk bash-3.2$ echo '#define RGB_DI_PIN B1' >> ./keyboards/ws2812_test/config.h bash-3.2$ echo '#define RGBLED_NUM 6' >> ./keyboards/ws2812_test/config.h ``` * Compile ```shell bash-3.2$ make ws2812_test:default QMK Firmware 0.16.9 Making ws2812_test with keymap default avr-gcc (Homebrew AVR GCC 8.4.0_2) 8.4.0 Copyright (C) 2018 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. ..................... Compiling: quantum/process_keycode/process_rgb.c [OK] Compiling: platforms/avr/drivers/ws2812.c platforms/avr/drivers/ws2812.c: In function 'ws2812_setleds': platforms/avr/drivers/ws2812.c:40:5: error: implicit declaration of function 'DDRx_ADDRESS' [-Werror=implicit-function-declaration] DDRx_ADDRESS(RGB_DI_PIN) |= pinmask(RGB_DI_PIN); ^~~~~~~~~~~~ In file included from <command-line>: ./keyboards/ws2812_test/config.h:21:20: error: 'B1' undeclared (first use in this function); did you mean 'PB1'? #define RGB_DI_PIN B1 ^~ platforms/avr/drivers/ws2812.c:40:18: note: in expansion of macro 'RGB_DI_PIN' DDRx_ADDRESS(RGB_DI_PIN) |= pinmask(RGB_DI_PIN); ^~~~~~~~~~ ./keyboards/ws2812_test/config.h:21:20: note: each undeclared identifier is reported only once for each function it appears in #define RGB_DI_PIN B1 ^~ platforms/avr/drivers/ws2812.c:40:18: note: in expansion of macro 'RGB_DI_PIN' DDRx_ADDRESS(RGB_DI_PIN) |= pinmask(RGB_DI_PIN); ^~~~~~~~~~ platforms/avr/drivers/ws2812.c:42:47: error: implicit declaration of function 'PORTx_ADDRESS' [-Werror=implicit-function-declaration] uint8_t masklo = ~(pinmask(RGB_DI_PIN)) & PORTx_ADDRESS(RGB_DI_PIN); ^~~~~~~~~~~~~ In file included from /usr/local/Cellar/avr-gcc@8/8.4.0_2/avr/include/avr/io.h:99, from /usr/local/Cellar/avr-gcc@8/8.4.0_2/avr/include/avr/interrupt.h:38, from platforms/avr/drivers/ws2812.c:24: platforms/avr/drivers/ws2812.c: In function 'ws2812_sendarray_mask': ./keyboards/ws2812_test/config.h:21:20: error: 'B1' undeclared (first use in this function); did you mean 'PB1'? #define RGB_DI_PIN B1 ^~ platforms/avr/drivers/ws2812.c:167:69: note: in expansion of macro 'RGB_DI_PIN' : "r"(curbyte), "I"(_SFR_IO_ADDR(PORTx_ADDRESS(RGB_DI_PIN))), "r"(maskhi), "r"(masklo)); ^~~~~~~~~~ cc1: all warnings being treated as errors [ERRORS] | | | make[1]: *** [.build/obj_ws2812_test_default/ws2812.o] Error 1 make: *** [ws2812_test:default] Error 1 Make finished with errors ``` * change include order * Hineybush Ibis Layout Additions and Configurator Rendering Update (qmk#17132) * info.json: apply friendly formatting * info.json: remove dead space from rendering * info.json: insert line breaks between physical rows in layout data * info.json: fix overlap in key rendering Fixes an issue where the ANSI Enter key renders on top of the ISO Hash/Tilde key, visually hiding the latter. * add LAYOUT_ansi_all macro with associated keymap Duplicates `LAYOUT_all`, but with the ISO Hash/Tilde and ISO Backslash keys removed. - ANSI Enter and 2.25u Left Shift - Backspace, Right Shift, Numpad Plus and Numpad Enter all split - 1.5 / 1 / 1.5 / 6.25 / 1.25 / 1.25 / 1.25 Bottom Row * add LAYOUT_iso_all macro with associated keymap Duplicates `LAYOUT_all`, but with the ANSI Backslash key removed. - ISO Enter and 1.25u Left Shift - Backspace, Right Shift, Numpad Plus and Numpad Enter all split - 1.5 / 1 / 1.5 / 6.25 / 1.25 / 1.25 / 1.25 Bottom Row * KBDfans Phase One Layout Macro Additions and Configurator Data (qmk#17148) * phaseone.h: add matrix diagram * add QMK Configurator data * add LAYOUT_65_ansi_blocker_split_bs macro * add LAYOUT_65_ansi_wkl_split_bs macro * add LAYOUT_65_iso_blocker macro * add LAYOUT_65_iso_blocker_split_bs macro * add LAYOUT_65_iso_wkl macro * add LAYOUT_65_iso_wkl_split_bs macro * rename LAYOUT_65_ansi_wkl to LAYOUT_65_ansi_blocker_tsangan_wkl Differentiates the layout supported here from QMK's `65_ansi_blocker_tsangan` Community Layout, which is equivalent to this but with a 1u GUI key between Left Ctrl and Left Alt. * rename new layout macros for codebase consistency - `LAYOUT_65_ansi_wkl_split_bs` -> `LAYOUT_65_ansi_blocker_tsangan_wkl_split_bs` - `LAYOUT_65_iso_wkl` -> `LAYOUT_65_iso_blocker_tsangan_wkl` - `LAYOUT_65_iso_wkl_split_bs` -> `LAYOUT_65_iso_blocker_tsangan_wkl_split_bs` * add reference keymaps Add keymaps which demonstrate the layout macro implementations. * KBDfans Tiger80 Community Layout Support and Keymap Touch-Up (qmk#17149) * info.json: apply friendly formatting * rename LAYOUT_all to LAYOUT_tkl_f13_ansi_tsangan * enable Community Layout support * refactor keymaps to use grid alignment * Continue Caps Word when AltGr (right Alt) is held. (qmk#17156) This is a minor bug fix for Caps Word. Currently, Caps Word turns off whenever a non-shift mod becomes active. This is done to avoid interfering with hotkeys. This commit makes an exception to continue Caps Word when AltGr (right Alt) is held. Outside the US, the AltGr key is used to type additional symbols (https://en.wikipedia.org/wiki/AltGr_key). Depending on the language, these may include symbols used within words like accented letters where it would be desirable to continue Caps Word. * Move GMMK Pro to allow for multiple revisions (qmk#16423) * Added GMMK PRO Rev2 WBG7 MCU compatibility. Added GMMK 2 WBG7 MCU compatibility. * GMMK PRO MCU Updates only (removed other kbs) * fix problems * Optimize the code. * Update form develop branch * Update * Updater from qmk/develop * Update * Update config.h * Update config.h * Remove gmmk pro rev2 * move moults31/keymap.c * Update * tidy up Co-authored-by: Joy <[email protected]> Co-authored-by: zvecr <[email protected]> * [Keyboard] Add miniZone keyboard (qmk#16644) Co-authored-by: Ryan <[email protected]> Co-authored-by: Drashna Jaelre <[email protected]> * [Keyboard] add rad keyboard (qmk#17088) Co-authored-by: zvecr <[email protected]> * [Keyboard] Add Eu isolation Keyboard (qmk#17102) Co-authored-by: Ryan <[email protected]> Co-authored-by: TuckTuckFloof <[email protected]> * [Keyboard] launch_1 LED index correction (qmk#17118) * [Keyboard] 0xc_pad LED index correction (qmk#17120) * [CI] Format code according to conventions (qmk#17165) * [CI] Format code according to conventions (qmk#17164) * [Keyboard] Update Layouts for MB-65S and MB-65H (qmk#17160) * [Docs] Update Steno Keycode Table (qmk#17155) * [Keyboard] rskeys100 LED index correction (qmk#17139) * [Keyboard] Add eeprom IC-less rev for MechWild OBE and Waka60 (qmk#17126) * [Keyboard] yeti LED index correction (qmk#17138) * [Docs] Align LED Matrix docs with RGB matrix docs (qmk#17140) * Small Markdown Patch for docs/feature_rgb_matrix.md (qmk#17171) * Dailycraft Sandbox Configurator Data (qmk#17169) * Ryan Skidmore rskeys100 Community Layout Support (qmk#17159) * PJB Eros Community Layout Support (qmk#17158) * Added Cantor keyboard (qmk#16552) * Add massdrop/alt:charlesrocket keymap (qmk#17173) * [Keyboard] Atreus62update (qmk#17179) Co-authored-by: Ian Sterling <[email protected]> Co-authored-by: Ian Sterling <[email protected]> Co-authored-by: Ian Sterling <[email protected]> * Added support for Wb32fq95 (qmk#16871) * [Keyboard] mj64 Increase LED count (qmk#17194) * [Keyboard] Add plywrks Ahgase (qmk#17191) * [Keyboard][Fix] Change default keymap tilde to grv (qmk#17185) * stub changelog * Update keyboard aliases * Disable python formatting for some files * SkeletonNumPad Configurator Key Sequence Fix (qmk#17204) * info.json: apply friendly formatting * info.json: fix key sequence * Small update to Symmetric70 keyboard readme (qmk#17188) Added a little description to reademe.md under `handwired/symmetric70_proto/{matrix_debug|matrix_fast}`. * Refactor legacy quantum keycodes in default-ish keymaps (qmk#17150) * Breaking changes for 2022q2. (qmk#17221) * Merge point for 2022-05-28 Breaking Change * Fixup command sequencing for master/develop. (qmk#17227) * Fixup iron165r2 (qmk#17119) * initial * revert some defines * formatting * apply changes * update readme * suggestion * Fix quark_lp via firmware size (qmk#17233) * Use correct container for unit test workflow (qmk#17242) * Fix API errors (qmk#17239) * [Keymap] Update sethbarberee code to QK_BOOT and try out DVVORAK (qmk#17230) * [Keymap] Updates to layouts/community/ortho_4x12/junonum (qmk#17249) * [Keyboard] Add str.merro60 pcb (qmk#17097) Co-authored-by: Drashna Jaelre <[email protected]> Co-authored-by: Ryan <[email protected]> Co-authored-by: Alexander Lee <[email protected]> Co-authored-by: chalex <[email protected]> * Fix docs typo (qmk#17254) * Fix various lint errors (qmk#17255) * Fix various lint errors * reduce complexity * Convert ergodone to use core mcp23018 driver (qmk#17005) * Nix shell updates (qmk#17243) * Change AW20216 SPI Mode from 0 to 3, to fix RGB LEDs on GMMK Pro (qmk#17262) * [Keymap] Drashna update for post Q2 merge (qmk#17241) * [Keyboard] fix dz64rgb rgb sleep (qmk#17209) * Add trailing parens to `get_oneshot_mods` in feature_advanced_keycodes.md (qmk#17211) * move RESET to QK_BOOT (qmk#17278) * move RESET to QK_BOOT * fix tapping_term * Add wavtype/p01_ultra (qmk#16513) * new fork (manta and foundation) added foundation and manta firmware * removed manta * VIA compliant changes added readme, info.json edits * Update keyboards/wavtype/foundation/config.h Co-authored-by: Joel Challis <[email protected]> * Update keyboards/wavtype/foundation/readme.md Co-authored-by: Joel Challis <[email protected]> * removed via.json and updated readme * Update keyboards/wavtype/foundation/rules.mk Co-authored-by: Ryan <[email protected]> * Update keyboards/wavtype/foundation/config.h Co-authored-by: Ryan <[email protected]> * Update keyboards/wavtype/foundation/config.h Co-authored-by: Drashna Jaelre <[email protected]> * Update keymap.c * added p01 ultra * updated diode direction proto used opposite diode direction * removed foundation * Update keyboards/wavtype/p01_ultra/rules.mk Co-authored-by: Drashna Jaelre <[email protected]> * Update keyboards/wavtype/p01_ultra/config.h Co-authored-by: Drashna Jaelre <[email protected]> * Update keyboards/wavtype/p01_ultra/config.h Co-authored-by: Drashna Jaelre <[email protected]> * Update keyboards/wavtype/p01_ultra/config.h Co-authored-by: Drashna Jaelre <[email protected]> * Update keyboards/wavtype/p01_ultra/config.h Co-authored-by: Drashna Jaelre <[email protected]> * Update keyboards/wavtype/p01_ultra/readme.md Co-authored-by: Drashna Jaelre <[email protected]> * Update keyboards/wavtype/p01_ultra/info.json Co-authored-by: Joel Challis <[email protected]> * Update keyboards/wavtype/p01_ultra/keymaps/via/keymap.c Co-authored-by: Joel Challis <[email protected]> * Update keyboards/wavtype/p01_ultra/keymaps/default/keymap.c Co-authored-by: Joel Challis <[email protected]> * Update keyboards/wavtype/p01_ultra/keymaps/default/keymap.c Co-authored-by: Joel Challis <[email protected]> * Update keyboards/wavtype/p01_ultra/keymaps/via/keymap.c Co-authored-by: Joel Challis <[email protected]> * Update keyboards/wavtype/p01_ultra/keymaps/via/keymap.c Co-authored-by: Joel Challis <[email protected]> * Update keyboards/wavtype/p01_ultra/keymaps/default/keymap.c Co-authored-by: Joel Challis <[email protected]> * Update keyboards/wavtype/p01_ultra/keymaps/default/keymap.c Co-authored-by: Joel Challis <[email protected]> * Update keyboards/wavtype/p01_ultra/rules.mk Co-authored-by: Ryan <[email protected]> * Update keyboards/wavtype/p01_ultra/readme.md Co-authored-by: Ryan <[email protected]> * Update keyboards/wavtype/p01_ultra/config.h Co-authored-by: Ryan <[email protected]> Co-authored-by: Joel Challis <[email protected]> Co-authored-by: Ryan <[email protected]> Co-authored-by: Drashna Jaelre <[email protected]> * [Keyboard] Acheron Shark alpha Encoder support (qmk#17266) * [Keymap] Fix maddie layout for ploopy/trackball_nano (qmk#17213) * keyboards: fix malformed info.json files (qmk#17292) * [Keyboard] Organized versions of mikeneko65 (qmk#16985) Co-authored-by: takishim <[email protected]> * Fix lint errors (qmk#17293) * Add Encoder Map Swap Hands config for boards that support both features (qmk#17294) * Disable features known to cause BIOS/suspend issues (qmk#17270) * Fix and add unit tests for Caps Word to work with Unicode Map, Auto Shift, Retro Shift. (qmk#17284) * Fix Caps Word and Unicode Map * Tests for Caps Word + Auto Shift and Unicode Map. * Fix formatting * Add additional keyboard report expectation macros This commit defines five test utilities, EXPECT_REPORT, EXPECT_UNICODE, EXPECT_EMPTY_REPORT, EXPECT_ANY_REPORT and EXPECT_NO_REPORT for use with TestDriver. EXPECT_REPORT sets a gmock expectation that a given keyboard report will be sent. For instance, EXPECT_REPORT(driver, (KC_LSFT, KC_A)); is shorthand for EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_LSFT, KC_A))); EXPECT_UNICODE sets a gmock expectation that a given Unicode code point will be sent using UC_LNX input mode. For instance for U+2013, EXPECT_UNICODE(driver, 0x2013); expects the sequence of keys: "Ctrl+Shift+U, 2, 0, 1, 3, space". EXPECT_EMPTY_REPORT sets a gmock expectation that a given keyboard report will be sent. For instance EXPECT_EMPTY_REPORT(driver); expects a single report without keypresses or modifiers. EXPECT_ANY_REPORT sets a gmock expectation that a arbitrary keyboard report will be sent, without matching its contents. For instance EXPECT_ANY_REPORT(driver).Times(1); expects a single arbitrary keyboard report will be sent. EXPECT_NO_REPORT sets a gmock expectation that no keyboard report will be sent at all. * Add tap_key() and tap_keys() to TestFixture. This commit adds a `tap_key(key)` method to TestFixture that taps a given KeymapKey, optionally with a specified delay between press and release. Similarly, the method `tap_keys(key_a, key_b, key_c)` taps a sequence of KeymapKeys. * Use EXPECT_REPORT, tap_keys, etc. in most tests. This commit uses EXPECT_REPORT, EXPECT_UNICODE, EXPECT_EMPTY_REPORT, EXPECT_NO_REPORT, tap_key() and tap_keys() test utilities from the previous two commits in most tests. Particularly the EXPECT_REPORT macro is frequently useful and makes a nice reduction in boilerplate needed to express many tests. Co-authored-by: David Kosorin <[email protected]> * Apply EXPECT_REPORT and EXPECT_EMPTY_REPORT (qmk#17311) ...convenience macros to test cases that where missed during qmk#17284 * docs: reflect systemd's change in language (qmk#17322) Like much of our field, systemd has renamed their `master` branch to `main` * add new keyboard atset (qmk#17195) Co-authored-by: zvecr <[email protected]> Co-authored-by: Ryan <[email protected]> * [Keymap] add trwnh keymap for gmmk pro (qmk#17267) * [Keyboard] Add alt34 keyboard (qmk#17223) * Add files for alt34 keyboard * Add link to hardware bill of materials for alt34 * Change keyboard image link to imgur * Remove platform specific defines from rev1.h * Remove bluetooth and sleep led rules etc * Add GPL license header to all source code files * Shorten comment for NKRO_ENABLE Co-authored-by: Drashna Jaelre <[email protected]> * Simplify option usage comment in rules.mk Co-authored-by: Drashna Jaelre <[email protected]> * Set imgur link to largest size option Co-authored-by: Drashna Jaelre <[email protected]> * Move rules.mk into rev1 folder entirely * Remove .noci file * Update keyboards/alt34/rev1/rules.mk Co-authored-by: Ryan <[email protected]> Co-authored-by: Drashna Jaelre <[email protected]> Co-authored-by: Ryan <[email protected]> * [Keyboard] Handle timeout on UART for Redox Wireless (qmk#17203) * Handle timeout on UART for Redox Wireless receiver-to-keyboard communication. - This fixes the issue of a keyboard deadlocking on the first matrix scan with Redox Wireless keyboards * Remove an explicit cast. Co-authored-by: Tomasz Janeczko <[email protected]> * [Keyboard] Add Stello65 keyboard (qmk#17168) * [Keyboard] add Stello65 keyboard * Apply suggestions from code review Co-authored-by: Drashna Jaelre <[email protected]> * Apply suggestions from code review Co-authored-by: Ryan <[email protected]> * [Keyboard] update config pinout for stello65_sl_rev1 Co-authored-by: Drashna Jaelre <[email protected]> Co-authored-by: Ryan <[email protected]> * [Keyboard] Add Cloudline PCB support (qmk#17253) Co-authored-by: Drashna Jaelre <[email protected]> Co-authored-by: Ryan <[email protected]> * [Keyboard] Add BrutalV2 65 Keyboard (qmk#17252) * Add Brutal65 V2 to QMK * Update info.json and copyright notices * Update info.json] * Update readme and delete chconf * Update matrix and keymaps to match info json * Update keyboards/cannonkeys/brutalv2_65/config.h Co-authored-by: Drashna Jaelre <[email protected]> * Update keyboards/cannonkeys/brutalv2_65/readme.md Co-authored-by: Ryan <[email protected]> * Update keyboards/cannonkeys/brutalv2_65/rules.mk Co-authored-by: Ryan <[email protected]> Co-authored-by: Drashna Jaelre <[email protected]> Co-authored-by: Ryan <[email protected]> * [Keymap] CRKBD: Update jpe230 Keymap (qmk#17280) * Add WB32 evaluation board onekey targets. (qmk#17330) * Update other_vscode.md (qmk#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. * [Keymap] Update keymap for user jasondunsmore (qmk#17312) * [Keyboard] Add KPrepublic BM60hsrgb_ec V1 and V2 (qmk#15104) Co-authored-by: Drashna Jaelre <[email protected]> Co-authored-by: Ryan <[email protected]> * Move more UART-based keyboards to use timeout correctly. (qmk#17329) Co-authored-by: Tomasz Janeczko <[email protected]> * [Keyboard] Fix kprepublic/bm60hsrgb_ec/rev2 (qmk#17334) * Add support for linting deprecated and removed functionality (qmk#17063) * Add support for more lint warnings/errors * Develop currently needs extra deps installed * Lint a few more scenarios * fix tests * [Keyboard] Adding Sunsetter R2 keyboard to Charue family (qmk#17269) Co-authored-by: Joel Challis <[email protected]> Co-authored-by: Drashna Jaelre <[email protected]> Co-authored-by: Ryan <[email protected]> * [Keyboard] Improve the durgot k3x0 readme.md (qmk#17214) * [keyboard] annepro2 Add and use functions to directly control led colors (qmk#17196) * [Keymap] Add planck/scottzach1 keymap (qmk#17083) * [Keyboard] Add Sodium keyboards (qmk#17078) Co-authored-by: Joel Challis <[email protected]> Co-authored-by: Drashna Jaelre <[email protected]> Co-authored-by: Ryan <[email protected]> Co-authored-by: nacly <[email protected]> * initial (qmk#17345) * Promote label with newlines to lint error (qmk#17347) * Promote 'layouts require matrix data' to api error (qmk#17349) * Wasdat: move some stuff to info.json (qmk#17327) * [Keyboard] Fix checkboards/quark_lp (another) (qmk#17296) * [Keyboard] mlego fix product id and sync oled code (qmk#16237) * sync oled code over the keymaps * put different product ids * put different product ids for the rest * put different product ids for the rest * try to reduce code duplication * make ifdefs nice and correct * move the leds code out of keymap * try to reduce code duplication * move the rgb code outside the keymaps for reuse * Update keyboards/mlego/m65/m65.c Co-authored-by: Drashna Jaelre <[email protected]> * Update keyboards/mlego/m65/m65.c Co-authored-by: Drashna Jaelre <[email protected]> * move more code outside keymaps for reuse * add few more xps * add mic mute * update to new name of macros for reset * style for matrix * clean split * use tinyuf2 as bootloader * Update keyboards/mlego/m65/rev4/rules.mk Co-authored-by: Ryan <[email protected]> * radionalise product id and device version * add tinyuf2 as default bootloader for stm32f4 * update tinyuf2 * update tinyuf2 and via. f411 remove tinyuf2 since is not really working. make the config more conditional * sync the keymap with default * revert via non building with gcc 11 Co-authored-by: Drashna Jaelre <[email protected]> Co-authored-by: Ryan <[email protected]> * [Keyboard] add pierce (qmk#17000) Co-authored-by: Ryan <[email protected]> Co-authored-by: Dan Abrahamsson <[email protected]> * [Keyboard] Remove terminal commands from m48 (qmk#17363) * Add encoder map (qmk#17361) * [Keyboard] Add Lemon40 keyboard (qmk#17357) * Add stale action. (qmk#17372) * Add stale action. * Allow for manual trigger. * Fixup stale action. (qmk#17373) * Swap to 1000 stale actions while debugging. * `actions/stale`: 150 operations, oldest-first. * [Keyboard] Add BLASTER75 keyboard (qmk#16887) Co-authored-by: Ryan <[email protected]> * [Keyboard] add SNOP60 (qmk#17131) Co-authored-by: Joel Challis <[email protected]> Co-authored-by: Drashna Jaelre <[email protected]> * Update feature_midi.md (qmk#17390) Add caveat about usb endpoints. * Inform people that things may not work. (qmk#17391) * Perform stricter lint checks (qmk#17348) * [Keyboard] Flip encoder pads on basketweave (qmk#17375) * [Keyboard] Add Chaos65 keyboard (qmk#17369) Co-authored-by: Drashna Jaelre <[email protected]> * [Keymap] New keymap for Keebio FoldKB (qmk#17364) * [Keymap+] SnailMap port for the Kintsugi keyboard. (qmk#17341) * BLASTER75 info.json position fixes (qmk#17395) * edit typo in comment (qmk#17394) * Fix clean arg handling (qmk#17392) * [Keyboard] Add Idobao Montex RGB (V2) (qmk#16897) * Add Montex V2 (#10) * Update readme.md * Update rules.mk * Update config.h * Update keyboards/idobao/montex/v2/config.h Co-authored-by: Drashna Jaelre <[email protected]> * Update keyboards/idobao/montex/v2/rules.mk Add Layouts Co-authored-by: Drashna Jaelre <[email protected]> * Merged code fron work done with @vinorodrigues * Update keyboards/idobao/montex/v2/rules.mk Co-authored-by: Ryan <[email protected]> * Update keyboards/idobao/montex/v2/v2.h Co-authored-by: Ryan <[email protected]> * Update keyboards/idobao/montex/v2/config.h Co-authored-by: Ryan <[email protected]> * Removing via_nug keymap * update to montex code (#11) * remove VIA_QMK_RGBLIGHT_ENABLE * more data driven config, simple copyright headers, some code cleanup Co-authored-by: Drashna Jaelre <[email protected]> Co-authored-by: Ryan <[email protected]> Co-authored-by: Vino Rodrigues <[email protected]> * [Keyboard] Idobao Montex V2(RGB) (qmk#15865) Co-authored-by: Drashna Jaelre <[email protected]> Co-authored-by: Christian Hofstede <[email protected]> Co-authored-by: Vino Rodrigues <[email protected]> Co-authored-by: Vino Rodrigues <[email protected]> * [Keyboard] Add ADM42 Keyboard (qmk#17366) Co-authored-by: Ryan <[email protected]> * Swap to actions/stale. (qmk#17404) * [Keymap] Update yoshimaru46 keymap (qmk#17402) * [Keyboard] mini_ten_key_plus edited info.json (qmk#15574) Co-authored-by: Drashna Jaelre <[email protected]> Co-authored-by: Ryan <[email protected]> * [Keyboard] Fix 1U space in Keebio/sinc/rev2 layout macros (qmk#16901) * [handwired/macroboard] Add separate f401 and f411 configs… (qmk#16338) Co-authored-by: Drashna Jaelre <[email protected]> * [Keyboard] Atreus: add STM32F103C8T6 based variant (qmk#16846) Co-authored-by: Ryan <[email protected]> * Fixup handwired/macroboard (qmk#17405) * Fixup stale labels lists. (qmk#17415) * Add a note about using differents MCU family (qmk#17416) * [Keymap] Update XD75 keymap by markus (qmk#17417) * [Keyboard] add at6 keyboard (qmk#17346) Co-authored-by: zvecr <[email protected]> Co-authored-by: Ryan <[email protected]> * Add Djinn. (qmk#17382) * Add Djinn. * Review comments. * Further cleanup. * [Keyboard] Add tegic for melgeek! (qmk#17400) Co-authored-by: Drashna Jaelre <[email protected]> * [Docs] clarify inner array of direct pin matrix (qmk#17437) * [Keyboard] Update FAve 84H RGB firmware (qmk#16919) * Add base FAve 84H firmware * Update keyboards/linworks/fave84h/readme.md Thank you, apologies for the oversight Co-authored-by: Joel Challis <[email protected]> * Update keyboards/linworks/fave84h/keymaps/via/keymap.c Co-authored-by: Joel Challis <[email protected]> * Update keyboards/linworks/fave84h/keymaps/default/keymap.c Co-authored-by: Joel Challis <[email protected]> * Move LED config in ifdef * update read me * Update Product Name * Update keyboards/linworks/fave84h/rules.mk Co-authored-by: Ryan <[email protected]> * Add Via RGB Matrix Control * Add base FAve 84H firmware * Add Via RGB Matrix Control * fix merge conflict * reduce max brightness * remove action macro and action function Co-authored-by: Joel Challis <[email protected]> * Remove / update code to work with the build in QMK via hack * Update Read me * Add newline at end of rules Co-authored-by: Wolf Van Herreweghe <[email protected]> Co-authored-by: Joel Challis <[email protected]> Co-authored-by: Ryan <[email protected]> * [Keyboard] Update firmware for the FAve 87H (qmk#16920) Co-authored-by: Joel Challis <[email protected]> Co-authored-by: Drashna Jaelre <[email protected]> Co-authored-by: Wolf Van Herreweghe <[email protected]> * [Keyboard] Add base FAve65H firmware (qmk#17147) Co-authored-by: Wolf Van Herreweghe <[email protected]> * [Keyboard] Add more bootloader options for id75 (qmk#17441) * [Keyboard] Add Nayeon by Abats Keyboard Club (qmk#16659) Co-authored-by: Drashna Jaelre <[email protected]> Co-authored-by: Joel Challis <[email protected]> * [Keyboard] Add rb18 keyboard (qmk#17306) * [Keyboard] Add labbeminiv1 (qmk#16401) * [Keyboard] Add labbeminiv1 * Adjust vendor id The used vendor id was in use * Remove comment in the rgb keymap * Update keyboards/labbe/labbeminiv1/rules.mk Co-authored-by: Ryan <[email protected]> * Rename rgb matrix keymap folder Co-authored-by: Ryan <[email protected]> * [Keyboard] add dynamis keyboard (qmk#15994) Co-authored-by: Drashna Jaelre <[email protected]> Co-authored-by: Ryan <[email protected]> * alt34 rev1: Configurator Compilation Fix (qmk#17442) * move USE_I2C and EE_HANDS definitions to keyboard level Allow this keyboard to be compiled by QMK Configurator. * remove redundant DEFAULT_FOLDER rule * Add missing snop60 default keymap (qmk#17443) * [Keyboard] Zeno 60% Ergo PCB (qmk#17403) Co-authored-by: Drashna Jaelre <[email protected]> * [Keyboard] Add n60a pcb (qmk#17273) Co-authored-by: Drashna Jaelre <[email protected]> * [Keymap] farmergreg's kint41 Kinesis Advantage 2 Layout (qmk#16784) * Checkerboards SNOP60 Refactor (qmk#17446) * Chaos 65 Community Layout Support (qmk#17447) * move ISO Enter position to home row This commit makes the ISO layout macros compatible with QMK's `65_iso_blocker` and `65_iso_blocker_tsangan` community layouts. * info.json: apply friendly formatting - add key labels - add line breaks between physical rows * enable Community Layout support * chaos65.h: add matrix diagram * [Keyboard] Update SKErgo for hardware changes (qmk#17449) Co-authored-by: kevinzhao-tech <[email protected]> * [Keyboard] Fix RGB_matrix coordinates for gl516/j73gl (qmk#17450) * Cf/evyd13 wasdat (qmk#17452) * evyd13/wasdat: add LAYOUT_all Configurator data * info.json: fix JSON syntax errors * Fix 0 delta results in size_regression.sh (qmk#17457) * Update ref_functions.md (replaced deprecated `RESET`) (qmk#17436) * Fix up Djinn fuse handling. (qmk#17465) * [Keyboard] Fix firmware size for via keymap on Atom47 (qmk#17472) * [Keyboard] Fixup skergo - missing keycode in keymaps (qmk#17458) * [Split] Ensure SOFT_SERIAL_PIN is defined if USE_I2C isn't defined (qmk#17466) * Only omit paths containing "/keymaps/" (qmk#17468) This allows keyboard names to contain the word "keymaps" * [Keyboard] Add blockboy/ac980mini keyboard (qmk#16839) Co-authored-by: Drashna Jaelre <[email protected]> Co-authored-by: Ryan <[email protected]> * Fix error message in generated code (qmk#17484) Co-authored-by: QMK Bot <[email protected]> Co-authored-by: Kyle McCreery <[email protected]> Co-authored-by: Andrew Kannan <[email protected]> Co-authored-by: Josh Hinnebusch <[email protected]> Co-authored-by: Drashna Jaelre <[email protected]> Co-authored-by: Ryan <[email protected]> Co-authored-by: Stephon Parker <[email protected]> Co-authored-by: Joel Challis <[email protected]> Co-authored-by: Stephon Parker <[email protected]> Co-authored-by: HorrorTroll <[email protected]> Co-authored-by: takashicompany <[email protected]> Co-authored-by: Yorick Peterse <[email protected]> Co-authored-by: Jan Christoph Ebersbach <[email protected]> Co-authored-by: Pascal Getreuer <[email protected]> Co-authored-by: precondition <[email protected]> Co-authored-by: James Young <[email protected]> Co-authored-by: Mateusz Ż <[email protected]> Co-authored-by: Stefan Kerkmann <[email protected]> Co-authored-by: Nick Brassel <[email protected]> Co-authored-by: moyi4681 <[email protected]> Co-authored-by: Álvaro A. Volpato <[email protected]> Co-authored-by: Albert Y <[email protected]> Co-authored-by: Xelus22 <[email protected]> Co-authored-by: John-Schreiber <[email protected]> Co-authored-by: durken1 <[email protected]> Co-authored-by: Takeshi ISHII <[email protected]> Co-authored-by: GloriousThrall <[email protected]> Co-authored-by: Joy <[email protected]> Co-authored-by: anubhav dhiman <[email protected]> Co-authored-by: aadriance <[email protected]> Co-authored-by: TuckTuckFloof <[email protected]> Co-authored-by: AnthonyNguyen168 <[email protected]> Co-authored-by: jpe230 <[email protected]> Co-authored-by: Diego Palacios <[email protected]> Co-authored-by: -k <[email protected]> Co-authored-by: Xyverz <[email protected]> Co-authored-by: Ian Sterling <[email protected]> Co-authored-by: Ian Sterling <[email protected]> Co-authored-by: Ian Sterling <[email protected]> Co-authored-by: Ramon Imbao <[email protected]> Co-authored-by: jack <[email protected]> Co-authored-by: Seth Barberee <[email protected]> Co-authored-by: Juno Nguyen <[email protected]> Co-authored-by: chalex <[email protected]> Co-authored-by: Alexander Lee <[email protected]> Co-authored-by: chalex <[email protected]> Co-authored-by: Dasky <[email protected]> Co-authored-by: Sergey Vlasov <[email protected]> Co-authored-by: trwnh <[email protected]> Co-authored-by: Forrest Cahoon <[email protected]> Co-authored-by: Carlo Sala <[email protected]> Co-authored-by: wavtype <[email protected]> Co-authored-by: Václav Kučera <[email protected]> Co-authored-by: Aidan Gauland <[email protected]> Co-authored-by: Ryan Skidmore <[email protected]> Co-authored-by: takishim <[email protected]> Co-authored-by: takishim <[email protected]> Co-authored-by: eason <[email protected]> Co-authored-by: David Kosorin <[email protected]> Co-authored-by: Travis Rigg <[email protected]> Co-authored-by: Tommy Alatalo <[email protected]> Co-authored-by: Tomasz Janeczko <[email protected]> Co-authored-by: Tomasz Janeczko <[email protected]> Co-authored-by: Uy Bui <[email protected]> Co-authored-by: Andrew Kannan <[email protected]> Co-authored-by: JunZuloo <[email protected]> Co-authored-by: Jason Dunsmore <[email protected]> Co-authored-by: peepeetee <[email protected]> Co-authored-by: ILWrites <[email protected]> Co-authored-by: Gabriel Oliveira <[email protected]> Co-authored-by: zv0n <[email protected]> Co-authored-by: Zac Scott <[email protected]> Co-authored-by: Derek <[email protected]> Co-authored-by: nacly <[email protected]> Co-authored-by: Alin Marin Elena <[email protected]> Co-authored-by: Dan Abrahamsson <[email protected]> Co-authored-by: ALTAiN <[email protected]> Co-authored-by: npspears <[email protected]> Co-authored-by: Tom Barnes <[email protected]> Co-authored-by: Yutong Zhou <[email protected]> Co-authored-by: kb-elmo <[email protected]> Co-authored-by: Arturo Avila <[email protected]> Co-authored-by: Felicia Kuan <[email protected]> Co-authored-by: IBNobody <[email protected]> Co-authored-by: Vino Rodrigues <[email protected]> Co-authored-by: Christian Hofstede <[email protected]> Co-authored-by: Vino Rodrigues <[email protected]> Co-authored-by: Lorenzo Leonini <[email protected]> Co-authored-by: Yoshihiro Saito <[email protected]> Co-authored-by: minibois <[email protected]> Co-authored-by: Gordon <[email protected]> Co-authored-by: Michał Szczepaniak <[email protected]> Co-authored-by: Dmitry Nosachev <[email protected]> Co-authored-by: coliss86 <[email protected]> Co-authored-by: Markus Weimar <[email protected]> Co-authored-by: bomb <[email protected]> Co-authored-by: evils <[email protected]> Co-authored-by: Wolf Van Herreweghe <[email protected]> Co-authored-by: Wolf Van Herreweghe <[email protected]> Co-authored-by: Ryan Baker <[email protected]> Co-authored-by: alabbe9545 <[email protected]> Co-authored-by: bbrfkr <[email protected]> Co-authored-by: paulgali <[email protected]> Co-authored-by: Muhammad Rivaldi <[email protected]> Co-authored-by: Greg Dietsche <[email protected]> Co-authored-by: Kevin Zhao <[email protected]> Co-authored-by: kevinzhao-tech <[email protected]> Co-authored-by: Salicylic-acid3 <[email protected]> Co-authored-by: Evelien Dekkers <[email protected]> Co-authored-by: rooski15 <[email protected]>
…hift, Retro Shift. (qmk#17284) * Fix Caps Word and Unicode Map * Tests for Caps Word + Auto Shift and Unicode Map. * Fix formatting * Add additional keyboard report expectation macros This commit defines five test utilities, EXPECT_REPORT, EXPECT_UNICODE, EXPECT_EMPTY_REPORT, EXPECT_ANY_REPORT and EXPECT_NO_REPORT for use with TestDriver. EXPECT_REPORT sets a gmock expectation that a given keyboard report will be sent. For instance, EXPECT_REPORT(driver, (KC_LSFT, KC_A)); is shorthand for EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_LSFT, KC_A))); EXPECT_UNICODE sets a gmock expectation that a given Unicode code point will be sent using UC_LNX input mode. For instance for U+2013, EXPECT_UNICODE(driver, 0x2013); expects the sequence of keys: "Ctrl+Shift+U, 2, 0, 1, 3, space". EXPECT_EMPTY_REPORT sets a gmock expectation that a given keyboard report will be sent. For instance EXPECT_EMPTY_REPORT(driver); expects a single report without keypresses or modifiers. EXPECT_ANY_REPORT sets a gmock expectation that a arbitrary keyboard report will be sent, without matching its contents. For instance EXPECT_ANY_REPORT(driver).Times(1); expects a single arbitrary keyboard report will be sent. EXPECT_NO_REPORT sets a gmock expectation that no keyboard report will be sent at all. * Add tap_key() and tap_keys() to TestFixture. This commit adds a `tap_key(key)` method to TestFixture that taps a given KeymapKey, optionally with a specified delay between press and release. Similarly, the method `tap_keys(key_a, key_b, key_c)` taps a sequence of KeymapKeys. * Use EXPECT_REPORT, tap_keys, etc. in most tests. This commit uses EXPECT_REPORT, EXPECT_UNICODE, EXPECT_EMPTY_REPORT, EXPECT_NO_REPORT, tap_key() and tap_keys() test utilities from the previous two commits in most tests. Particularly the EXPECT_REPORT macro is frequently useful and makes a nice reduction in boilerplate needed to express many tests. Co-authored-by: David Kosorin <[email protected]>
…hift, Retro Shift. (qmk#17284) (#348) * Fix Caps Word and Unicode Map * Tests for Caps Word + Auto Shift and Unicode Map. * Fix formatting * Add additional keyboard report expectation macros This commit defines five test utilities, EXPECT_REPORT, EXPECT_UNICODE, EXPECT_EMPTY_REPORT, EXPECT_ANY_REPORT and EXPECT_NO_REPORT for use with TestDriver. EXPECT_REPORT sets a gmock expectation that a given keyboard report will be sent. For instance, EXPECT_REPORT(driver, (KC_LSFT, KC_A)); is shorthand for EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_LSFT, KC_A))); EXPECT_UNICODE sets a gmock expectation that a given Unicode code point will be sent using UC_LNX input mode. For instance for U+2013, EXPECT_UNICODE(driver, 0x2013); expects the sequence of keys: "Ctrl+Shift+U, 2, 0, 1, 3, space". EXPECT_EMPTY_REPORT sets a gmock expectation that a given keyboard report will be sent. For instance EXPECT_EMPTY_REPORT(driver); expects a single report without keypresses or modifiers. EXPECT_ANY_REPORT sets a gmock expectation that a arbitrary keyboard report will be sent, without matching its contents. For instance EXPECT_ANY_REPORT(driver).Times(1); expects a single arbitrary keyboard report will be sent. EXPECT_NO_REPORT sets a gmock expectation that no keyboard report will be sent at all. * Add tap_key() and tap_keys() to TestFixture. This commit adds a `tap_key(key)` method to TestFixture that taps a given KeymapKey, optionally with a specified delay between press and release. Similarly, the method `tap_keys(key_a, key_b, key_c)` taps a sequence of KeymapKeys. * Use EXPECT_REPORT, tap_keys, etc. in most tests. This commit uses EXPECT_REPORT, EXPECT_UNICODE, EXPECT_EMPTY_REPORT, EXPECT_NO_REPORT, tap_key() and tap_keys() test utilities from the previous two commits in most tests. Particularly the EXPECT_REPORT macro is frequently useful and makes a nice reduction in boilerplate needed to express many tests. Co-authored-by: David Kosorin <[email protected]> Co-authored-by: Pascal Getreuer <[email protected]> Co-authored-by: David Kosorin <[email protected]>
…hift, Retro Shift. (qmk#17284) * Fix Caps Word and Unicode Map * Tests for Caps Word + Auto Shift and Unicode Map. * Fix formatting * Add additional keyboard report expectation macros This commit defines five test utilities, EXPECT_REPORT, EXPECT_UNICODE, EXPECT_EMPTY_REPORT, EXPECT_ANY_REPORT and EXPECT_NO_REPORT for use with TestDriver. EXPECT_REPORT sets a gmock expectation that a given keyboard report will be sent. For instance, EXPECT_REPORT(driver, (KC_LSFT, KC_A)); is shorthand for EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_LSFT, KC_A))); EXPECT_UNICODE sets a gmock expectation that a given Unicode code point will be sent using UC_LNX input mode. For instance for U+2013, EXPECT_UNICODE(driver, 0x2013); expects the sequence of keys: "Ctrl+Shift+U, 2, 0, 1, 3, space". EXPECT_EMPTY_REPORT sets a gmock expectation that a given keyboard report will be sent. For instance EXPECT_EMPTY_REPORT(driver); expects a single report without keypresses or modifiers. EXPECT_ANY_REPORT sets a gmock expectation that a arbitrary keyboard report will be sent, without matching its contents. For instance EXPECT_ANY_REPORT(driver).Times(1); expects a single arbitrary keyboard report will be sent. EXPECT_NO_REPORT sets a gmock expectation that no keyboard report will be sent at all. * Add tap_key() and tap_keys() to TestFixture. This commit adds a `tap_key(key)` method to TestFixture that taps a given KeymapKey, optionally with a specified delay between press and release. Similarly, the method `tap_keys(key_a, key_b, key_c)` taps a sequence of KeymapKeys. * Use EXPECT_REPORT, tap_keys, etc. in most tests. This commit uses EXPECT_REPORT, EXPECT_UNICODE, EXPECT_EMPTY_REPORT, EXPECT_NO_REPORT, tap_key() and tap_keys() test utilities from the previous two commits in most tests. Particularly the EXPECT_REPORT macro is frequently useful and makes a nice reduction in boilerplate needed to express many tests. Co-authored-by: David Kosorin <[email protected]>
...convenience macros to test cases that where missed during qmk#17284
…hift, Retro Shift. (qmk#17284) * Fix Caps Word and Unicode Map * Tests for Caps Word + Auto Shift and Unicode Map. * Fix formatting * Add additional keyboard report expectation macros This commit defines five test utilities, EXPECT_REPORT, EXPECT_UNICODE, EXPECT_EMPTY_REPORT, EXPECT_ANY_REPORT and EXPECT_NO_REPORT for use with TestDriver. EXPECT_REPORT sets a gmock expectation that a given keyboard report will be sent. For instance, EXPECT_REPORT(driver, (KC_LSFT, KC_A)); is shorthand for EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_LSFT, KC_A))); EXPECT_UNICODE sets a gmock expectation that a given Unicode code point will be sent using UC_LNX input mode. For instance for U+2013, EXPECT_UNICODE(driver, 0x2013); expects the sequence of keys: "Ctrl+Shift+U, 2, 0, 1, 3, space". EXPECT_EMPTY_REPORT sets a gmock expectation that a given keyboard report will be sent. For instance EXPECT_EMPTY_REPORT(driver); expects a single report without keypresses or modifiers. EXPECT_ANY_REPORT sets a gmock expectation that a arbitrary keyboard report will be sent, without matching its contents. For instance EXPECT_ANY_REPORT(driver).Times(1); expects a single arbitrary keyboard report will be sent. EXPECT_NO_REPORT sets a gmock expectation that no keyboard report will be sent at all. * Add tap_key() and tap_keys() to TestFixture. This commit adds a `tap_key(key)` method to TestFixture that taps a given KeymapKey, optionally with a specified delay between press and release. Similarly, the method `tap_keys(key_a, key_b, key_c)` taps a sequence of KeymapKeys. * Use EXPECT_REPORT, tap_keys, etc. in most tests. This commit uses EXPECT_REPORT, EXPECT_UNICODE, EXPECT_EMPTY_REPORT, EXPECT_NO_REPORT, tap_key() and tap_keys() test utilities from the previous two commits in most tests. Particularly the EXPECT_REPORT macro is frequently useful and makes a nice reduction in boilerplate needed to express many tests. Co-authored-by: David Kosorin <[email protected]>
...convenience macros to test cases that where missed during qmk#17284
This PR fixes Caps Word to work correctly with Unicode Map, Auto Shift, and Retro Shift, and adds unit tests.
Description
Caps Word currently does not work correctly with Unicode Map, Auto Shift, and Retro Shift:
With Unicode Map pairs
XP(a, A)
, it should be possible to handle these keycodes incaps_word_press_user()
such that they are shifted. But currently, Unicode Map's handler runs before Caps Word, and Caps Word does not see the event.When Auto Shift is enabled for letter keys, they should be shifted when Caps Word is on regardless of whether they are released before
AUTO_SHIFT_TIMEOUT
, but currently they are not. Similarly for Retro Shift.This PR is:
@kosorin's Fix Caps Word and Unicode Map #17247, which fixes Caps Word to work with Unicode Map. Incidentally, it also fixes Caps Word to work with Auto Shift and Retro Shift, which currently do not work correctly as @qyurila noted in Fix Caps Word not working with Auto Shift and Combo feature #17240.
Unit tests to verify that these features now work together.
Types of Changes
Checklist