267 Commits (74484e21afc819b8e20f408aebc5c4e6cfdcc991)

Author SHA1 Message Date
Ryan 74484e21af
Deprecate `VLK_TOG` for `VK_TOGG` (#18807) 3 years ago
Ryan b33fc34967
Deprecate `KC_LEAD` for `QK_LEAD` (#18792) 3 years ago
jpe230 86938fd958
Allow QK_MAKE to work with converters (#18637) 3 years ago
Sergey Vlasov ca0c12847a
Fix layer switching from tap dances by redoing the keymap lookup (#17935) 3 years ago
Alabastard-64 7c1797f52f
[Core] Pointing Device Automatic Mouse Layer (#17962)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Stefan Kerkmann <karlk90@pm.me>
3 years ago
Drashna Jaelre fb29c0ae53
[Core] Add getreuer's Autocorrect feature to core (#15699)
Co-authored-by: Albert Y <76888457+filterpaper@users.noreply.github.com>
3 years ago
Drashna Jaelre 423826a34a
Better handle EEPROM reset keycode (#18244) 3 years ago
Drashna Jaelre 325da02e57
Fix QK_MAKE's reboot check (#17795) 3 years ago
JayceFayne d02cefe613
implement `tap_code16_delay` (#17748) 3 years ago
jack a6f3194397
Add ability to enter bootloader mode from `QK_MAKE` (#17745) 3 years ago
QMK Bot d6402fe9fb Merge remote-tracking branch 'origin/master' into develop 4 years ago
Pascal Getreuer 95d20e6d8b
Fix and add unit tests for Caps Word to work with Unicode Map, Auto Shift, 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>
4 years ago
Nick Brassel 8545473307
Removes terminal from QMK. (#17258) 4 years ago
Drashna Jaelre db887e63d7
Enhancement and fixes of "Secure" feature (#16958) 4 years ago
Pascal Getreuer 68b16bba68
[Core] Add Caps Word feature to core (#16588)
Co-authored-by: precondition <57645186+precondition@users.noreply.github.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
4 years ago
Drashna Jaelre 787a68948f
[Core] Add Reboot keycode to core (#15990) 4 years ago
Joel Challis 92a61aa0cd
Implement XAP 'secure' core requirements (#16843)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Stefan Kerkmann <karlk90@pm.me>
4 years ago
Drashna Jaelre 02655690f4
[Core] Add compile/make macro to core (#15959)
* [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>
4 years ago
Drashna Jael're da280739ef
Merge remote-tracking branch 'origin/master' into develop 4 years ago
Joakim Tufvegren 7f63bcf38b
[Bug] Re-add call to `suspend_power_down_kb()` (#16382) 4 years ago
QMK Bot 63646e8906
Format code according to conventions (#16322) 4 years ago
Joel Challis 135c935990
Initial migration of suspend callbacks (#16067)
* Initial migration of suspend logic

* Add header
4 years ago
QMK Bot b79b8dcdd0
Format code according to conventions (#16110) 4 years ago
Ga68 1f59fe6d1b
Adjust tap_code16 to account for TAP_HOLD_CAPS_DELAY (#15635)
Co-authored-by: Ga68 <github.ga68.e@grxme.com>
4 years ago
Joel Challis a8700404f7
Relocate matrix_init_quantum content (#15953)
* Relocate matrix_init_quantum content

* Update include order

* Fix cherry pick from 15722
4 years ago
Joel Challis 6e83b44940
Align location of some host led logic (#15954)
* Align location of host led logic

* Move more

* align ifdefs

* Fix up includes

* Move callback defs

* Convert comment to build message
4 years ago
Ryan b45a037c7e
Rename some Quantum keycodes (#15968)
* Rename some Quantum keycodes

* Tweak EEPROM clear and debug keycode short aliases
4 years ago
Joel Challis d840ef2b28
Relocate matrix_scan_quantum tasks (#15882)
* Move matrix_scan_quantum tasks

* Fix tests

* Fix up missing refs
4 years ago
Drashna Jaelre 672c6b4721
Make (un)register code functions weak (#15285) 4 years ago
Drashna Jaelre 942b3cf16c
Generalize Unicode defines (#15409) 4 years ago
precondition 4bac5f53d8
New feature: `DYNAMIC_TAPPING_TERM_ENABLE` (#11036)
* 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
4 years ago
Drashna Jaelre 32a87d3517
Add uint to char functions (#15244)
* 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>
4 years ago
Drashna Jaelre 56e3f06a26
Rework and expand Pointing Device support (#14343)
Co-authored-by: Dasky <32983009+daskygit@users.noreply.github.com>
4 years ago
Ryan f529580860
Basic keycode overhaul (#14726) 4 years ago
Ryan d8f0c8783a
Remove sysex API (#14723) 4 years ago
Thomas Weißschuh 83988597f4
Add Support for USB programmable buttons (#12950) 4 years ago
Drashna Jaelre 15710db4ad
Move feature suspend logic out of platform specific code (#14210) 4 years ago
Joel Challis a84de5e22b
Revert 14083 && 14144 (#14150)
* Revert "Short term bodge for firmware size bloat (#14144)"

This reverts commit a8d6547346.

* Revert "Tidy up quantum.c now some of tmk_core has been merged (#14083)"

This reverts commit c4dbf4bf01.
4 years ago
Joel Challis c4dbf4bf01
Tidy up quantum.c now some of tmk_core has been merged (#14083) 4 years ago
Drashna Jaelre 4e3726bfe1
Fixup Audio startup and add to documents (#13606)
* Fixup Audio startup and add to documents

* fix doc descriptions
4 years ago
Pete Sevander 7e983796e1
Process combos earlier & overlapping combos (#8591)
* 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>
4 years ago
Joel Challis 3f419dc872
Unconditionally call led_init_ports (#12116)
* Unconditionally call led_init_ports

* Another call to led_init_ports
4 years ago
Joel Challis 4ef8ff458d
Minor tidy up of key overrides (#13747)
* Minor tidy up of key overrides

* Update quantum/quantum.c

* Update quantum/quantum.c
4 years ago
Joel Challis 03d258c222
matrix_scan_x -> x_task (#13748) 4 years ago
Joel Challis f945c352e7
Haptic: driver-> feature (#13713) 4 years ago
Ryan 332a5aa7cb
Move `SENDSTRING_BELL` code to `send_string.h` (#13566) 4 years ago
Jonas Gessner 52cfc9259b
[Feature] Key Overrides (#11422) 4 years ago
Drashna Jaelre 8da8aabbe5
Improve layer mask handling (#13065) 4 years ago
QMK Bot 71f8f5048b Merge remote-tracking branch 'origin/master' into develop 5 years ago
Ryan 88dce24375
Remove hex_to_keycode and move tap_random_base64 to send_string.c (#12079) 5 years ago