summaryrefslogtreecommitdiffstats
path: root/quantum/quantum.c
Commit message (Collapse)AuthorAgeFilesLines
* Merge remote-tracking branch 'origin/master' into developQMK Bot2022-06-051-3/+3
|\
| * Fix and add unit tests for Caps Word to work with Unicode Map, Auto Shift, ↵Pascal Getreuer2022-06-051-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | Removes terminal from QMK. (#17258)Nick Brassel2022-05-301-3/+0
|/
* Enhancement and fixes of "Secure" feature (#16958)Drashna Jaelre2022-05-141-0/+13
|
* [Core] Add Caps Word feature to core (#16588)Pascal Getreuer2022-05-141-0/+3
| | | | Co-authored-by: precondition <57645186+precondition@users.noreply.github.com> Co-authored-by: Drashna Jaelre <drashna@live.com>
* [Core] Add Reboot keycode to core (#15990)Drashna Jaelre2022-05-141-1/+16
|
* Implement XAP 'secure' core requirements (#16843)Joel Challis2022-04-161-0/+9
| | | | Co-authored-by: Drashna Jaelre <drashna@live.com> Co-authored-by: Stefan Kerkmann <karlk90@pm.me>
* [Core] Add compile/make macro to core (#15959)Drashna Jaelre2022-03-171-0/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * [Core] Add KC_MAKE keycode to core fix linting fix testing error work around test idiocyncracies fix more lint something something stupid tests add doc * updates based on feedback * Add bad names * Fixup docs * semantics but cleaner Co-authored-by: precondition <57645186+precondition@users.noreply.github.com> * Hide oneshot checks behind preprocessors * Move no-compile option around * Fix formatting * make shift optional * Make opt in * fix formatting * update send string function name Co-authored-by: Joel Challis <git@zvecr.com> Co-authored-by: precondition <57645186+precondition@users.noreply.github.com> Co-authored-by: Joel Challis <git@zvecr.com>
* Merge remote-tracking branch 'origin/master' into developDrashna Jael're2022-02-171-0/+1
|\
| * [Bug] Re-add call to `suspend_power_down_kb()` (#16382)Joakim Tufvegren2022-02-171-0/+1
| |
* | Format code according to conventions (#16322)QMK Bot2022-02-121-11/+28
| |
* | Initial migration of suspend callbacks (#16067)Joel Challis2022-02-051-23/+0
| | | | | | | | | | * Initial migration of suspend logic * Add header
* | Format code according to conventions (#16110)QMK Bot2022-01-291-3/+2
| |
* | Adjust tap_code16 to account for TAP_HOLD_CAPS_DELAY (#15635)Ga682022-01-281-3/+6
| | | | | | Co-authored-by: Ga68 <github.ga68.e@grxme.com>
* | Relocate matrix_init_quantum content (#15953)Joel Challis2022-01-231-29/+1
| | | | | | | | | | | | | | * Relocate matrix_init_quantum content * Update include order * Fix cherry pick from 15722
* | Align location of some host led logic (#15954)Joel Challis2022-01-221-9/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | * Align location of host led logic * Move more * align ifdefs * Fix up includes * Move callback defs * Convert comment to build message
* | Rename some Quantum keycodes (#15968)Ryan2022-01-221-3/+3
| | | | | | | | | | * Rename some Quantum keycodes * Tweak EEPROM clear and debug keycode short aliases
* | Relocate matrix_scan_quantum tasks (#15882)Joel Challis2022-01-191-71/+2
| | | | | | | | | | | | | | * Move matrix_scan_quantum tasks * Fix tests * Fix up missing refs
* | Make (un)register code functions weak (#15285)Drashna Jaelre2021-12-271-4/+4
| |
* | Generalize Unicode defines (#15409)Drashna Jaelre2021-12-061-2/+2
|/
* New feature: `DYNAMIC_TAPPING_TERM_ENABLE` (#11036)precondition2021-11-261-0/+3
| | | | | | | | | * New feature: `DYNAMIC_TAPPING_TERM_ENABLE` 3 new quantum keys to configure the tapping term on the fly. * Replace sprintf call in tapping_term_report by get_u16_str * Replace tab with 4 spaces
* Add uint to char functions (#15244)Drashna Jaelre2021-11-231-0/+56
| | | | | | | | | | | | | | | | | | | | | | | | | * Add uint to char functions * appease the all mighty lint * Further appease Lint * Update functions * Add doxygen comment * Update quantum/quantum.c Co-authored-by: Nick Brassel <nick@tzarc.org> * Apply suggestions from code review Co-authored-by: Nick Brassel <nick@tzarc.org> * Add declaration for get_numeric_string * fix formatting and bug Co-authored-by: Nick Brassel <nick@tzarc.org>
* Rework and expand Pointing Device support (#14343)Drashna Jaelre2021-11-141-0/+4
| | | Co-authored-by: Dasky <32983009+daskygit@users.noreply.github.com>
* Basic keycode overhaul (#14726)Ryan2021-11-031-8/+8
|
* Remove sysex API (#14723)Ryan2021-10-061-17/+6
|
* Add Support for USB programmable buttons (#12950)Thomas Weißschuh2021-09-151-0/+3
|
* Move feature suspend logic out of platform specific code (#14210)Drashna Jaelre2021-08-301-0/+96
|
* Revert 14083 && 14144 (#14150)Joel Challis2021-08-251-0/+90
| | | | | | | | | * Revert "Short term bodge for firmware size bloat (#14144)" This reverts commit a8d65473461c337fb1e168d907bfb8c3ac8fdbd0. * Revert "Tidy up quantum.c now some of tmk_core has been merged (#14083)" This reverts commit c4dbf4bf0118dd785802861beb247433b5b7411d.
* Tidy up quantum.c now some of tmk_core has been merged (#14083)Joel Challis2021-08-241-90/+0
|
* Fixup Audio startup and add to documents (#13606)Drashna Jaelre2021-08-151-1/+1
| | | | | * Fixup Audio startup and add to documents * fix doc descriptions
* Process combos earlier & overlapping combos (#8591)Pete Sevander2021-08-061-4/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Combo processing improvements. Now it is possible to use ModTap and LayerTap keys as part of combos. Overlapping combos also don't trigger all the combos, just exactly the one that you press. New settings: - COMBO_MUST_HOLD_MODS - COMBO_MOD_TERM - COMBO_TERM_PER_COMBO - COMBO_MUST_HOLD_PER_COMBO - COMBO_STRICT_TIMER - COMBO_NO_TIMER * Remove the size flags from combo_t struct boolean members. This in the end actually saves space as the members are accessed so many times. The amount of operations needed to access the bits uses more memory than setting the size saves. * Fix `process_combo_key_release` not called correctly with tap-only combos * Fix not passing a pointer when NO_ACTION_TAPPING is defined. * Docs for `COMBO_ONLY_FROM_LAYER` * Update docs/feature_combo.md Co-authored-by: precondition <57645186+precondition@users.noreply.github.com> * Update quantum/process_keycode/process_combo.c Co-authored-by: precondition <57645186+precondition@users.noreply.github.com> * Add `EXTRA_SHORT_COMBOS` option. Stuff combo's `disabled` and `active` flags into `state`. Possibly can save some space. * Add more examples and clarify things with dict management system. - Simple examples now has a combo that has modifiers included. - The slightly more advanced examples now are actually more advanced instead of just `tap_code16(<modded-keycode>)`. - Added a note that `COMBO_ACTION`s are not needed anymore as you can just use custom keycodes. - Added a note that the `g/keymap_combo.h` macros use the `process_combo_event` function and that it is not usable in one's keymap afterwards. * Update docs/feature_combo.md Co-authored-by: precondition <57645186+precondition@users.noreply.github.com> * Update docs/feature_combo.md Co-authored-by: precondition <57645186+precondition@users.noreply.github.com> * Update docs/feature_combo.md Co-authored-by: precondition <57645186+precondition@users.noreply.github.com> * Update docs/feature_combo.md Co-authored-by: precondition <57645186+precondition@users.noreply.github.com> * Update docs/feature_combo.md Co-authored-by: precondition <57645186+precondition@users.noreply.github.com> * Change "the" combo action example to "email" example. * Update docs/feature_combo.md Co-authored-by: precondition <57645186+precondition@users.noreply.github.com> * Fix sneaky infinite loop with `combo_disable()` No need to call `dump_key_buffer` when disabling combos because the buffer is either being dumped if a combo-key was pressed, or the buffer is empty if a non-combo-key is pressed. * Update docs/feature_combo.md Co-authored-by: precondition <57645186+precondition@users.noreply.github.com> * Update docs/feature_combo.md Co-authored-by: precondition <57645186+precondition@users.noreply.github.com> Co-authored-by: precondition <57645186+precondition@users.noreply.github.com> Co-authored-by: Drashna Jaelre <drashna@live.com>
* Unconditionally call led_init_ports (#12116)Joel Challis2021-08-031-3/+0
| | | | | * Unconditionally call led_init_ports * Another call to led_init_ports
* Minor tidy up of key overrides (#13747)Joel Challis2021-07-281-5/+1
| | | | | | | * Minor tidy up of key overrides * Update quantum/quantum.c * Update quantum/quantum.c
* matrix_scan_x -> x_task (#13748)Joel Challis2021-07-281-4/+4
|
* Haptic: driver-> feature (#13713)Joel Challis2021-07-251-2/+2
|
* Move `SENDSTRING_BELL` code to `send_string.h` (#13566)Ryan2021-07-161-3/+0
|
* [Feature] Key Overrides (#11422)Jonas Gessner2021-07-131-3/+16
|
* Improve layer mask handling (#13065)Drashna Jaelre2021-07-031-4/+4
|
* Merge remote-tracking branch 'origin/master' into developQMK Bot2021-03-121-62/+0
|\
| * Remove hex_to_keycode and move tap_random_base64 to send_string.c (#12079)Ryan2021-03-121-62/+0
| |
* | LED Matrix: decouple from Backlight (#12054)Ryan2021-03-081-5/+4
| |
* | Add ability to toggle One Shot functionality (#4198)Drashna Jaelre2021-03-011-0/+11
| | | | | | | | Co-authored-by: Nick Brassel <nick@tzarc.org> Co-authored-by: Ryan <fauxpark@gmail.com>
* | Merge remote-tracking branch 'origin/master' into developQMK Bot2021-02-281-232/+0
|\|
| * Extract sendstring into its own compilation unit (#12060)Ryan2021-03-011-232/+0
| | | | | | | | | | | | | | * Extract sendstring into its own compilation unit * License headers? * Put this include in the header
* | Overhaul bootmagic logic to have single entrypoint (#8532)Joel Challis2021-02-281-6/+2
|/ | | | | * Relocate bootmagic logic to have single entrypoint * Align init of layer state
* [BUG] Massdrop develop rgb fix (#12022)Nick Brassel2021-02-261-0/+3
| | | | | | | * Allow for disabling RGB_MATRIX on Massdrop boards. * Fixup init sequence. * Make some functions static as they've got very generic names.
* Split transport mirror (#11046)XScorpion22021-02-161-10/+0
| | | | | | | * Split transport mirror support * Updated RGB Matrix to respond to electrical events instead of key events * split matrix slave fix
* Remove FAUXCLICKY feature (deprecated) (#11829)Drashna Jaelre2021-02-091-15/+0
|
* Merge remote-tracking branch 'origin/master' into developQMK Bot2021-02-051-3/+1
|\
| * Manually run formatting job (#11797)Joel Challis2021-02-051-3/+1
| |