Commit Graph

2345 Commits

Author SHA1 Message Date
01bc974365 improvements for Cirque Pinnacle trackpads (#17091) 2022-06-25 22:22:28 +02:00
3b9e186019 Do not enable PERMISSIVE_HOLD when TAPPING_TERM exceeds 500ms (#15674) 2022-06-24 12:40:09 +02:00
7060cb7b26 Refactor steno and add STENO_PROTOCOL = [all|txbolt|geminipr] (#17065)
* 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
2022-06-23 20:43:24 +02:00
2239527871 In honor of king terry (#17387) 2022-06-23 02:47:15 +01:00
be42c5fb98 Fix RGB heatmap to use XY positions and use correct led limits (#17184)
* 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
2022-06-21 10:53:34 -07:00
62eaec52e0 Init eeconfig before reading handedness (#17256) 2022-06-20 15:31:27 +01:00
c725b6bf89 [Core] Mouse key kinetic mode fix (#17176)
Co-authored-by: Drashna Jaelre <drashna@live.com>
2022-06-19 11:15:55 -07:00
0da6562c4d Make default layer size 16-bit (#15286)
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
2022-06-19 07:37:51 +10:00
1706da9054 tap-dance: Restructure code and document in more detail (#16394) 2022-06-13 22:12:55 +02:00
80034a847f Ensure that rgb+via compiles in all cases (#17355) 2022-06-10 22:01:46 -07:00
568924c76c Add missing bracket for VIA brightness scaling (#17354) 2022-06-10 19:07:58 -07:00
0fd08da806 Scale brigthness for VIA (#17352)
Co-authored-by: yiancar <yiancar@gmail.com>
2022-06-10 17:20:01 -07:00
0ab51ee29d Add support for large Mouse Reports (#16371)
Co-authored-by: Sergey Vlasov <sigprof@gmail.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2022-06-08 18:39:16 -07:00
85b3b98570 Move SPLIT_HAND_PIN setup to split_pre_init (#17271)
* 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>
2022-06-06 01:33:32 +01:00
d6402fe9fb Merge remote-tracking branch 'origin/master' into develop 2022-06-05 11:15:11 +02:00
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>
2022-06-05 09:14:02 +02:00
08c556b78b Add keymap wrappers for introspection into the keymap. (#17229)
* Introspection handlers for keymaps.

* Renaming.
2022-06-05 10:26:02 +10:00
af02baae78 Allow larger SPLIT_USB_TIMEOUT with default SPLIT_USB_TIMEOUT_POLL (#17272)
* Switch SPLIT_USB_DETECT loop to uint16_t

* Add assertion
2022-06-01 00:10:05 +01:00
d44a950c10 Use TAP_HOLD_CAPS_DELAY for KC_LOCKING_CAPS_LOCK (#17099) 2022-05-30 22:55:33 -07:00
8545473307 Removes terminal from QMK. (#17258) 2022-05-30 22:38:08 -07:00
08ae881210 Merge branch 'kc-firewall' into vial 2022-05-22 01:25:31 -06:00
c2d388ca06 vial: implement keycode firewall for dynamic features 2022-05-22 00:41:24 -06:00
f2c521edfa add an error message when compiling with VIA_ENABLE=yes and VIAL_ENABLE=no 2022-05-22 00:27:47 -06:00
0f357e6a15 qmk_settings: add magic 2022-05-21 23:00:11 -06:00
ab0bff831f qmk_settings: allow arbitrary getters and setters 2022-05-21 23:00:11 -06:00
b5608cbb6d Continue Caps Word when AltGr (right Alt) is held. (#17156)
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-20 01:39:00 +01:00
4a8bd7b9a5 Rename keymap_extras headers for consistency (#16939) 2022-05-15 21:27:01 +10:00
f090881aeb [Feature] Add support for multiple switchs/solenoids to Haptic Feedback engine (#15657) 2022-05-15 21:24:35 +10:00
db887e63d7 Enhancement and fixes of "Secure" feature (#16958) 2022-05-14 23:07:08 +01:00
cd8d2b7f7f Revert "Fix kinetic mouse mode (#16951)" (#17095) 2022-05-14 13:03:07 -07:00
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>
2022-05-14 16:00:32 +10:00
90eef4cd15 Fix kinetic mouse mode (#16951)
Co-authored-by: Jan Christoph Ebersbach <jceb@e-jc.de>
2022-05-14 15:26:12 +10:00
787a68948f [Core] Add Reboot keycode to core (#15990) 2022-05-14 13:35:49 +10:00
ef8db9f104 Remove ARM pgm_read_word workaround in rgblight (#16961) 2022-04-28 23:58:55 -07:00
d458d4a596 Move disable_jtag to platforms (#16960) 2022-04-29 01:23:50 +01:00
0de08b09e7 Sendstring keycode overhaul (#16941) 2022-04-29 09:36:48 +10:00
fc52a30780 Merge remote-tracking branch 'origin/master' into develop 2022-04-27 23:12:15 +00:00
e99d6d582c Add Ukrainian keymap header (#16947)
* Add Ukrainian keymap header

* Docs
2022-04-28 00:11:41 +01:00
645359e5d0 Joystick: Simplify report descriptor and clean up error messages (#16926) 2022-04-26 08:54:34 +10:00
178b70f355 Merge remote-tracking branch 'origin/master' into develop 2022-04-25 09:30:59 +00:00
73688057f4 Add missing dead key LUTs for sendstring headers (#16929) 2022-04-25 19:30:20 +10:00
0100629fa2 Fix AVR backlight breathing: low brightness limit & exceeding breathing table max index (#16770)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: David Hoelscher <infinityis@users.noreply.github.com>
2022-04-22 17:33:59 +10:00
bcb7e471d5 Merge remote-tracking branch 'origin/master' into develop 2022-04-21 16:34:10 +00:00
1e389c7904 rgblight: Fix rgblight_blink_layer when multiple layers are active (#16824) 2022-04-21 09:33:29 -07:00
9056775e20 Add hacky via support for RGB Matrix (#16086) 2022-04-19 21:18:28 +10:00
671b62efab Fixes #16705 : digital rain follows val (#16716)
Co-authored-by: Drashna Jaelre <drashna@live.com>
2022-04-19 21:02:21 +10:00
7712a286dc [Core] Use a mutex guard for split shared memory (#16647) 2022-04-19 20:56:16 +10:00
uqs
690dc4bdaf Add support for multiple sensors to pmw3360 (#15996) 2022-04-19 20:29:17 +10:00
b1ceb4bb6a Fix one-shot locked modifiers (#16114)
* 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-18 02:12:25 -07:00
5b6faa173b Add customizable snake and knight animation increments (#16337) 2022-04-18 02:07:36 -07:00