summaryrefslogtreecommitdiff
path: root/quantum
AgeCommit message (Collapse)Author
2022-07-01Fix and add unit tests for Caps Word to work with Unicode Map, Auto Shift, ↵Drashna Jaelre
Retro Shift. (#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 <david@kosorin.net> Co-authored-by: Pascal Getreuer <50221757+getreuer@users.noreply.github.com> Co-authored-by: David Kosorin <david@kosorin.net>
2022-06-29[Bug] Fix issue with mousekey movement getting stuck (#17493) (#347)Drashna Jaelre
* [Bug] Fix issue with mousekey movement getting stuck * Lint
2022-06-23fix: adds slight delay before firing a layer change event over hidFlorian Didron
2022-06-23fix: rollback locales to the latest version from v20Florian Didron
2022-06-22fix: locale codes deprecationFlorian Didron
2022-06-22hot/fix: restore german / swedish deprecated keycodesFlorian Didron
2022-06-22fix: pairing crash on ErgodoxFlorian Didron
2022-06-21feat: adds layer switch commandFlorian Didron
2022-06-03hfix: read existing pairing code from eepromFlorian Didron
2022-05-31Reimplements Oryx's live training over raw hid (#345)Florian Didron
* feat: initial commit, random pairing sequence generation, host - board pairing handshakes * feat: reimplements ory's live training over raw hid * feat: adds planck / ergodox support * chore: some code styling fixes * fix: build smoke tests * fix: code lint * fix: disable console / command on moonlander, fixes build ci test * fix: code lint * fix: remove unused define(MATRIX_SIZE)
2022-05-29Merge remote-tracking branch 'qmk 0.17.0' into firmware21Drashna Jael're
2022-05-20Continue Caps Word when AltGr (right Alt) is held. (#17156)Pascal Getreuer
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.
2022-05-15Rename keymap_extras headers for consistency (#16939)Ryan
2022-05-15[Feature] Add support for multiple switchs/solenoids to Haptic Feedback ↵Drashna Jaelre
engine (#15657)
2022-05-14Enhancement and fixes of "Secure" feature (#16958)Drashna Jaelre
2022-05-14Revert "Fix kinetic mouse mode (#16951)" (#17095)Drashna Jaelre
2022-05-14[Core] Add Caps Word feature to core (#16588)Pascal Getreuer
Co-authored-by: precondition <57645186+precondition@users.noreply.github.com> Co-authored-by: Drashna Jaelre <drashna@live.com>
2022-05-14Fix kinetic mouse mode (#16951)Yorick Peterse
Co-authored-by: Jan Christoph Ebersbach <jceb@e-jc.de>
2022-05-14[Core] Add Reboot keycode to core (#15990)Drashna Jaelre
2022-04-28Remove ARM pgm_read_word workaround in rgblight (#16961)Joel Challis
2022-04-29Move disable_jtag to platforms (#16960)Joel Challis
2022-04-29Sendstring keycode overhaul (#16941)Ryan
2022-04-27Merge remote-tracking branch 'origin/master' into developQMK Bot
2022-04-28Add Ukrainian keymap header (#16947)Ryan
* Add Ukrainian keymap header * Docs
2022-04-26Joystick: Simplify report descriptor and clean up error messages (#16926)Ryan
2022-04-25Merge remote-tracking branch 'origin/master' into developQMK Bot
2022-04-25Add missing dead key LUTs for sendstring headers (#16929)Ryan
2022-04-22Fix AVR backlight breathing: low brightness limit & exceeding breathing ↵customMK
table max index (#16770) Co-authored-by: Drashna Jaelre <drashna@live.com> Co-authored-by: David Hoelscher <infinityis@users.noreply.github.com>
2022-04-21Merge remote-tracking branch 'origin/master' into developQMK Bot
2022-04-21rgblight: Fix rgblight_blink_layer when multiple layers are active (#16824)Simon Arlott
2022-04-19Add hacky via support for RGB Matrix (#16086)Drashna Jaelre
2022-04-19Fixes #16705 : digital rain follows val (#16716)KoenGoe
Co-authored-by: Drashna Jaelre <drashna@live.com>
2022-04-19[Core] Use a mutex guard for split shared memory (#16647)Stefan Kerkmann
2022-04-19Add support for multiple sensors to pmw3360 (#15996)uqs
2022-04-18Fix one-shot locked modifiers (#16114)Denis Savran
* Fix state updates of one-shot locked modifiers Activating additional one-shot locked modifiers removed previously enabled locked modifiers from the state. `get_oneshot_locked_mods` returned zero when two or more one-shot locked modifiers were enabled and then one was disabled. * Do not delete one-shot locked modifiers on a one-shot layer toggle Non-locked one-shot modifiers are not removed so this behavior adds inconsistency. Also the one-shot locked modifiers state was reset without unregistering any modifiers.
2022-04-18Add customizable snake and knight animation increments (#16337)Michał Szczepaniak
2022-04-17Fix #16859. (#16865)Nick Brassel
2022-04-17[QP] Check BPP capabilities before loading the palette (#16863)Stefan Kerkmann
2022-04-17rgblight: Add functions to stop blinking one or all but one layer (#16859)Simon Arlott
2022-04-16Heatmap incorrect matrix effect workaround (#16315)Albert Y
2022-04-16Add GET_TAPPING_TERM macro to reduce duplicate code (#16681)Jouke Witteveen
* Add GET_TAPPING_TERM macro to reduce duplicate code The macro gives the right tapping term depending on whether per-key tapping terms and/or dynamic tapping terms are enabled. Unnecessary function calls and variable resolution are avoided. Fixes #16472. * Use GET_TAPPING_TERM for Cirque trackpads Co-authored-by: Stefan Kerkmann <karlk90@pm.me>
2022-04-16Implement XAP 'secure' core requirements (#16843)Joel Challis
Co-authored-by: Drashna Jaelre <drashna@live.com> Co-authored-by: Stefan Kerkmann <karlk90@pm.me>
2022-04-16Merge remote-tracking branch 'origin/master' into developQMK Bot
2022-04-16rgblight: Limit max repeat times in rgblight_blink_layer_repeat (#16860)Simon Arlott
2022-04-13Quantum Painter (#10174)Nick Brassel
* Install dependencies before executing unit tests. * Split out UTF-8 decoder. * Fixup python formatting rules. * Add documentation for QGF/QFF and the RLE format used. * Add CLI commands for converting images and fonts. * Add stub rules.mk for QP. * Add stream type. * Add base driver and comms interfaces. * Add support for SPI, SPI+D/C comms drivers. * Include <qp.h> when enabled. * Add base support for SPI+D/C+RST panels, as well as concrete implementation of ST7789. * Add support for GC9A01. * Add support for ILI9341. * Add support for ILI9163. * Add support for SSD1351. * Implement qp_setpixel, including pixdata buffer management. * Implement qp_line. * Implement qp_rect. * Implement qp_circle. * Implement qp_ellipse. * Implement palette interpolation. * Allow for streams to work with either flash or RAM. * Image loading. * Font loading. * QGF palette loading. * Progressive decoder of pixel data supporting Raw+RLE, 1-,2-,4-,8-bpp monochrome and palette-based images. * Image drawing. * Animations. * Font rendering. * Check against 256 colours, dump out the loaded palette if debugging enabled. * Fix build. * AVR is not the intended audience. * `qmk format-c` * Generation fix. * First batch of docs. * More docs and examples. * Review comments. * Public API documentation.
2022-04-09Merge remote-tracking branch 'origin/master' into developQMK Bot
2022-04-09[Bug] Fix matrix scan reporting interval (#16825)Simon Arlott
2022-03-26Joystick feature updates (#16732)Ryan
* Joystick feature updates * Move new functions to joystick.h * Docs
2022-03-25Re-add webusb keyDrashna Jael're
2022-03-25Fix compilation issuesDrashna Jael're