summaryrefslogtreecommitdiffstats
path: root/quantum
Commit message (Collapse)AuthorAgeFilesLines
...
* | [Core] Update mpaland/printf to eyalroz/printf fork (#16163)Stefan Kerkmann2022-07-073-34/+53
| | | | | | | | | | | | | | | | mpaland printf implementation was abandoned in ~2019 and the fork by eyalroz is now regarded to be the goto replacement of it. So this commit incoporates the changes needed to use this fork in QMK. Note that pointer ptrdiff_t is always supported since commit 51c90f93a97fdaef895783ecbe24569be0db7cb8
* | Allow for `keymaps` array to be implemented in a file other than ↵Nick Brassel2022-07-051-0/+5
| | | | | | | | `$(KEYMAP_C)` (#17559)
* | Merge remote-tracking branch 'origin/master' into developQMK Bot2022-07-021-0/+4
|\|
| * Allow for RGB actions to take place on Keydown instead of Keyup (#16886)CoffeeIsLife2022-07-021-0/+4
| | | | | | | | | | * Allow for switch on keydown * add docs
* | Improve ENCODER_DEFAULT_POS to recognize lost ticks (#16932)Marek Wyborski2022-07-021-10/+21
| |
* | Feature-ify Send String (#17275)Ryan2022-07-028-622/+658
| |
* | PoC: Swap Escape and Caps (#16336)Osamu Aoki2022-07-025-0/+25
| |
* | Fix keys being discarded after using the leader key (#17287)torkel1042022-07-021-0/+1
| |
* | Expose the time of the last change to the LED state (#17222)Jouke Witteveen2022-07-022-1/+14
| |
* | Added Wait time to sending each Keys for Dynamic Macros function (#16800)FREEWING.JP2022-07-021-0/+3
| | | | | | Co-authored-by: Joel Challis <git@zvecr.com>
* | RP2040 emulated EEPROM. (#17519)Nick Brassel2022-07-021-2/+2
| |
* | Merge remote-tracking branch 'origin/master' into developQMK Bot2022-07-021-7/+7
|\|
| * [QP] Explicit buffer alignment. (#17532)Nick Brassel2022-07-021-7/+7
| |
* | [QP] Add ILI9488 support. (#17438)Nick Brassel2022-07-022-1/+16
| |
* | [Core] Add Raspberry Pi RP2040 support (#14877)Stefan Kerkmann2022-06-301-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Disable RESET keycode because of naming conflicts * Add Pico SDK as submodule * Add RP2040 build support to QMK * Adjust USB endpoint structs for RP2040 * Add RP2040 bootloader and double-tap reset routine * Add generic and pro micro RP2040 boards * Add RP2040 onekey keyboard * Add WS2812 PIO DMA enabled driver and documentation Supports regular and open-drain output configuration. RP2040 GPIOs are sadly not 5V tolerant, so this is a bit use-less or needs extra hardware or you take the risk to fry your hardware. * Adjust SIO Driver for RP2040 * Adjust I2C Driver for RP2040 * Adjust SPI Driver for RP2040 * Add PIO serial driver and documentation * Add general RP2040 documentation * Apply suggestions from code review Co-authored-by: Nick Brassel <nick@tzarc.org> Co-authored-by: Nick Brassel <nick@tzarc.org>
* | Wear-leveling EEPROM drivers: `embedded_flash`, `spi_flash`, `legacy` (#17376)Nick Brassel2022-06-302-59/+54
| |
* | RGB Matrix Heatmap - Skip positions with NO_LED (#17488)Dasky2022-06-291-0/+6
| |
* | Merge remote-tracking branch 'origin/master' into developQMK Bot2022-06-292-4/+5
|\|
| * [Bug] Fix 3 speed mousekey mode (#17500)Drashna Jaelre2022-06-292-4/+5
| |
* | Merge remote-tracking branch 'origin/master' into developQMK Bot2022-06-281-2/+6
|\|
| * [Bug] Fix issue with mousekey movement getting stuck (#17493)Drashna Jaelre2022-06-281-2/+6
| | | | | | | | | | * [Bug] Fix issue with mousekey movement getting stuck * Lint
* | Generic wear-leveling algorithm (#16996)Nick Brassel2022-06-2712-0/+2512
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Initial import of wear-leveling algorithm. * Alignment. * Docs tweaks. * Lock/unlock. * Update quantum/wear_leveling/wear_leveling_internal.h Co-authored-by: Stefan Kerkmann <karlk90@pm.me> * More tests, fix issue with consolidation when unlocked. * More tests. * Review comments. * Add plumbing for FNV1a. * Another test checking that checksum mismatch clears the cache. * Check that the write log still gets played back. Co-authored-by: Stefan Kerkmann <karlk90@pm.me>
* | [Split] Verify Split Pointing Device config (#17481)Thomas Kriechbaumer2022-06-261-0/+7
| |
* | improvements for Cirque Pinnacle trackpads (#17091)Thomas Kriechbaumer2022-06-251-11/+34
| |
* | Do not enable PERMISSIVE_HOLD when TAPPING_TERM exceeds 500ms (#15674)precondition2022-06-241-7/+5
| |
* | Refactor steno and add `STENO_PROTOCOL = [all|txbolt|geminipr]` (#17065)precondition2022-06-234-149/+217
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Refactor steno into STENO_ENABLE_[ALL|GEMINI|BOLT] * Update stenography documentation * STENO_ENABLE_TXBOLT → STENO_ENABLE_BOLT TXBOLT is a better name but BOLT is more consistent with the pre-existing TX Bolt related constants, which all drop the "TX " prefix * Comments * STENO_ENABLE_[GEMINI|BOLT|ALL] → STENO_PROTOCOL = [geminipr|txbolt|all] * Add note on lacking V-USB support * Clear chord at the end of the switch(mode){send_steno_chord} block * Return true if NOEVENT * update_chord_xxx → add_xxx_key_to_chord * Enable the defines for all the protocols if STENO_PROTOCOL = all * Mention how to use `steno_set_mode` * Set the default steno protocol to "all" This is done so that existing keymaps invoking `steno_set_mode` don't all suddenly break * Add data driver equivalents for stenography feature * Document format of serial steno packets (Thanks dnaq) * Add missing comma
* | In honor of king terry (#17387)SmugSam2022-06-231-0/+6
| |
* | Fix RGB heatmap to use XY positions and use correct led limits (#17184)Dasky2022-06-212-44/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Fix RGB heatmap to use XY positions * lower effect area limit and make configurable * tidy up macro * Fix triggering in both directions. * add docs * fix bug when decreasing value * performance tweak
* | Init eeconfig before reading handedness (#17256)Dasky2022-06-201-0/+4
| |
* | [Core] Mouse key kinetic mode fix (#17176)Albert Y2022-06-192-13/+18
| | | | | | Co-authored-by: Drashna Jaelre <drashna@live.com>
* | Make default layer size 16-bit (#15286)Drashna Jaelre2022-06-191-1/+1
| | | | | | Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
* | tap-dance: Restructure code and document in more detail (#16394)Jouke Witteveen2022-06-132-100/+70
| |
* | Ensure that rgb+via compiles in all cases (#17355)Drashna Jaelre2022-06-101-0/+8
| |
* | Add missing bracket for VIA brightness scaling (#17354)Dasky2022-06-101-1/+1
| |
* | Scale brigthness for VIA (#17352)yiancar2022-06-101-6/+7
| | | | | | Co-authored-by: yiancar <yiancar@gmail.com>
* | Add support for large Mouse Reports (#16371)Drashna Jaelre2022-06-083-32/+71
| | | | | | | | Co-authored-by: Sergey Vlasov <sigprof@gmail.com> Co-authored-by: Ryan <fauxpark@gmail.com>
* | Move SPLIT_HAND_PIN setup to split_pre_init (#17271)Dasky2022-06-061-1/+4
| | | | | | | | | | | | | | | | | | | | | | * Move SPLIT_HAND_PIN setup to split_pre_init * doppelganger should use old behaviour * Add comment for future Co-authored-by: Joel Challis <git@zvecr.com> Co-authored-by: Joel Challis <git@zvecr.com>
* | Merge remote-tracking branch 'origin/master' into developQMK Bot2022-06-052-3/+4
|\|
| * Fix and add unit tests for Caps Word to work with Unicode Map, Auto Shift, ↵Pascal Getreuer2022-06-052-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Retro Shift. (#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 <david@kosorin.net>
* | Add keymap wrappers for introspection into the keymap. (#17229)Nick Brassel2022-06-053-0/+42
| | | | | | | | | | * Introspection handlers for keymaps. * Renaming.
* | Allow larger SPLIT_USB_TIMEOUT with default SPLIT_USB_TIMEOUT_POLL (#17272)Dasky2022-06-011-1/+2
| | | | | | | | | | * Switch SPLIT_USB_DETECT loop to uint16_t * Add assertion
* | Use TAP_HOLD_CAPS_DELAY for KC_LOCKING_CAPS_LOCK (#17099)precondition2022-05-301-1/+1
| |
* | Removes terminal from QMK. (#17258)Nick Brassel2022-05-307-388/+6
|/
* Continue Caps Word when AltGr (right Alt) is held. (#17156)Pascal Getreuer2022-05-201-1/+4
| | | | | | | | | | | 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.
* Rename keymap_extras headers for consistency (#16939)Ryan2022-05-1524-10/+10
|
* [Feature] Add support for multiple switchs/solenoids to Haptic Feedback ↵Drashna Jaelre2022-05-151-1/+1
| | | | engine (#15657)
* Enhancement and fixes of "Secure" feature (#16958)Drashna Jaelre2022-05-145-2/+49
|
* Revert "Fix kinetic mouse mode (#16951)" (#17095)Drashna Jaelre2022-05-141-11/+9
|
* [Core] Add Caps Word feature to core (#16588)Pascal Getreuer2022-05-148-0/+338
| | | | Co-authored-by: precondition <57645186+precondition@users.noreply.github.com> Co-authored-by: Drashna Jaelre <drashna@live.com>
* Fix kinetic mouse mode (#16951)Yorick Peterse2022-05-141-9/+11
| | | Co-authored-by: Jan Christoph Ebersbach <jceb@e-jc.de>