summaryrefslogtreecommitdiff
path: root/quantum/quantum.c
AgeCommit message (Collapse)Author
2023-07-29quantum.h: clean up process_keycode includes (#21579)Ryan
2023-07-08Allow key override to respect weak mods caused by caps word (#21434)Jake Grossman
2023-05-31Fix backlight sync on suspend_power_down for split keyboards (#21079)Evgenii Vilkov
2023-05-20[Core] Add Repeat Key ("repeat last key") as a core feature. (#19700)Pascal Getreuer
Co-authored-by: casuanoob <96005765+casuanoob@users.noreply.github.com> Co-authored-by: Sergey Vlasov <sigprof@gmail.com>
2023-05-20Move `pre_process_record_kb()` before `process_combo()` (#20969)Sergey Vlasov
2023-05-13Add a user callback for pre process record (#20584)Albert Y
2023-02-12[Core] Tri Layer Keys (#19795)Drashna Jaelre
Co-authored-by: wilba <wilba@wilba.tech> Co-authored-by: Pablo Martínez <58857054+elpekenin@users.noreply.github.com> Co-authored-by: Joel Challis <git@zvecr.com> Co-authored-by: Nick Brassel <nick@tzarc.org>
2023-02-11Remove matrix_init_quantum/matrix_scan_quantum (#19806)Joel Challis
2023-02-10Tidy up use of keycode range helpers (#19756)Joel Challis
2023-01-20Fix functions with empty params (#19647)Ryan
* Fix functions with empty params * Found a bunch more
2023-01-16Process Tap Dances before WPM/Velocikey (#19599)Jouke Witteveen
2022-11-08Normalise output selection (Bluetooth) keycodes (#19004)Ryan
2022-11-06Remove thermal printer. (#18959)Nick Brassel
2022-10-25Deprecate `ONESHOT_*` keycodes for `QK_ONE_SHOT_*` (#18844)Ryan
* Deprecate `ONESHOT_*` keycodes for `QK_ONE_SHOT_*` * Docs
2022-10-22Deprecate `VLK_TOG` for `VK_TOGG` (#18807)Ryan
2022-10-21Deprecate `KC_LEAD` for `QK_LEAD` (#18792)Ryan
2022-10-08Allow QK_MAKE to work with converters (#18637)jpe230
2022-10-03Fix layer switching from tap dances by redoing the keymap lookup (#17935)Sergey Vlasov
2022-09-23[Core] Pointing Device Automatic Mouse Layer (#17962)Alabastard-64
Co-authored-by: Drashna Jaelre <drashna@live.com> Co-authored-by: Stefan Kerkmann <karlk90@pm.me>
2022-09-17[Core] Add getreuer's Autocorrect feature to core (#15699)Drashna Jaelre
Co-authored-by: Albert Y <76888457+filterpaper@users.noreply.github.com>
2022-09-01Better handle EEPROM reset keycode (#18244)Drashna Jaelre
2022-07-25Fix QK_MAKE's reboot check (#17795)Drashna Jaelre
2022-07-23implement `tap_code16_delay` (#17748)JayceFayne
2022-07-23Add ability to enter bootloader mode from `QK_MAKE` (#17745)jack
2022-06-05Merge remote-tracking branch 'origin/master' into developQMK Bot
2022-06-05Fix and add unit tests for Caps Word to work with Unicode Map, Auto Shift, ↵Pascal Getreuer
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>
2022-05-30Removes terminal from QMK. (#17258)Nick Brassel
2022-05-14Enhancement and fixes of "Secure" feature (#16958)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-14[Core] Add Reboot keycode to core (#15990)Drashna Jaelre
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-03-17[Core] Add compile/make macro to core (#15959)Drashna Jaelre
* [Core] Add KC_MAKE keycode to core fix linting fix testing error work around test idiocyncracies fix more lint something something stupid tests add doc * updates based on feedback * Add bad names * Fixup docs * semantics but cleaner Co-authored-by: precondition <57645186+precondition@users.noreply.github.com> * Hide oneshot checks behind preprocessors * Move no-compile option around * Fix formatting * make shift optional * Make opt in * fix formatting * update send string function name Co-authored-by: Joel Challis <git@zvecr.com> Co-authored-by: precondition <57645186+precondition@users.noreply.github.com> Co-authored-by: Joel Challis <git@zvecr.com>
2022-02-17Merge remote-tracking branch 'origin/master' into developDrashna Jael're
2022-02-17[Bug] Re-add call to `suspend_power_down_kb()` (#16382)Joakim Tufvegren
2022-02-12Format code according to conventions (#16322)QMK Bot
2022-02-05Initial migration of suspend callbacks (#16067)Joel Challis
* Initial migration of suspend logic * Add header
2022-01-29Format code according to conventions (#16110)QMK Bot
2022-01-28Adjust tap_code16 to account for TAP_HOLD_CAPS_DELAY (#15635)Ga68
Co-authored-by: Ga68 <github.ga68.e@grxme.com>
2022-01-23Relocate matrix_init_quantum content (#15953)Joel Challis
* Relocate matrix_init_quantum content * Update include order * Fix cherry pick from 15722
2022-01-22Align location of some host led logic (#15954)Joel Challis
* Align location of host led logic * Move more * align ifdefs * Fix up includes * Move callback defs * Convert comment to build message
2022-01-22Rename some Quantum keycodes (#15968)Ryan
* Rename some Quantum keycodes * Tweak EEPROM clear and debug keycode short aliases
2022-01-19Relocate matrix_scan_quantum tasks (#15882)Joel Challis
* Move matrix_scan_quantum tasks * Fix tests * Fix up missing refs
2021-12-27Make (un)register code functions weak (#15285)Drashna Jaelre
2021-12-06Generalize Unicode defines (#15409)Drashna Jaelre
2021-11-26New feature: `DYNAMIC_TAPPING_TERM_ENABLE` (#11036)precondition
* 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
2021-11-23Add uint to char functions (#15244)Drashna Jaelre
* 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>
2021-11-14Rework and expand Pointing Device support (#14343)Drashna Jaelre
Co-authored-by: Dasky <32983009+daskygit@users.noreply.github.com>
2021-11-03Basic keycode overhaul (#14726)Ryan
2021-10-06Remove sysex API (#14723)Ryan
2021-09-15Add Support for USB programmable buttons (#12950)Thomas Weißschuh