Commit graph

698 commits

Author SHA1 Message Date
Lucas Messenger d8119cd663
fix(boards): Proper BlueMicro840_V1 &pro_micro_a map for A10 (#733) 2021-03-24 13:21:40 -04:00
Pete Johanson 28d454655b fix(boards): Move board endif to proper location.
* Nibble and tidbit conditional was closed early, enabling
  some settings incorrectly for other unrelated builds.
2021-03-18 21:26:41 -04:00
Pete Johanson 27c89e69c1 fix(kscan): Proper direct wire warning message. 2021-03-15 00:39:29 -04:00
Okke Formsma 0df7110058 fix(combos): Fix stuck keys when pressing long combos.
To properly retrigger hold-taps when a combo is not activated, some
position down events are reraised instead of released. The corresponding
position up events were never reraised, causing a potential stuck key.
2021-03-11 16:23:45 -05:00
Okke Formsma 8ebe0cd0c8 refactor(core): make the event manager a bit easier to read 2021-03-10 20:12:23 -05:00
Okke Formsma c01243d1c6 fix(logging): remove unnecessary newline 2021-03-10 18:08:22 -05:00
JP Bonn c643f1cd96 added battery.h, last_state_of_charge to uint8_t 2021-03-10 18:07:18 -05:00
JP Bonn b8a8ecd59d fixed order of setting state_of_charge 2021-03-10 18:07:18 -05:00
JP Bonn df4ec51f96 only send zmk_battery_state_changed on change 2021-03-10 18:07:18 -05:00
Pete Johanson 0f9fff7554 Fix the label for the GPIO kscan driver. 2021-02-27 14:32:42 -05:00
Okke Formsma 32008825fe fix(behaviors): Add missing hold-tap trigger
A hold-tap trigger was missing in the scenario where a hold-tap behavior
was queued for a while and it's timer should've run out.
2021-02-27 09:20:20 -05:00
Okke Formsma 0c1940bb79 feature(hold-tap): no-hold-flash for retro taps
This is an improvement on retro-tap, solving the 'flashing hold' issue
users people experience.

When the tapping-term expires, the hold key is normally pressed. When
retro-tap is enabled, this is undesirable; only an interrupted hold-tap
should trigger the hold behavior.

This change disables the hold behavior for the 'STATUS_HOLD_TIMER'
state when retro-tap is enabled, and makes sure the
'STATUS_HOLD_INTERRUPT' state will be triggered when appropriate.
2021-02-24 07:24:27 -05:00
Okke Formsma 89ed816c67 feature(hold-tap): Retro tapping 2021-02-24 07:24:27 -05:00
Okke Formsma 62ae157c0b refactor(hold-tap): improve switch statements 2021-02-24 07:24:27 -05:00
Okke Formsma 9c4c266b17 refactor(hold-tap): pretty print decision_moment 2021-02-24 07:24:27 -05:00
Okke Formsma 0ebf440de8 refactor(hold-tap): create press_binding and release_binding functions 2021-02-24 07:24:27 -05:00
Okke Formsma abc60fc7cb refactor(hold-tap): split hold state into interrupt and timer 2021-02-24 07:24:27 -05:00
Okke Formsma 200c6cabea refactor(hold-tap): use enum for hold-tap status 2021-02-24 07:24:27 -05:00
Okke Formsma 6b7026cdd1 refactor(hold-tap): simplify flavor enum 2021-02-24 07:24:27 -05:00
Nick Winans 57661362ea refactor(ext-power): Add init-delay-ms option
Co-authored-by: Pete Johanson <peter@peterjohanson.com>
2021-02-16 14:51:32 -05:00
Nick Winans b43fb8502e fix(ext-power): Initialize as soon as settings are available 2021-02-16 14:51:32 -05:00
Pete Johanson ff7891c097 fix(display): Check for display in idle handler.
* Closes #679
2021-02-16 14:21:46 -05:00
Okke Formsma af9d6e9b05 style(hold-tap)!: Write hold-tap params with dashes
tapping_term_ms -> tapping-term-ms
quick_tap_ms -> quick-tap-ms

The old style works, although it's deprecated.
2021-02-10 07:55:12 -05:00
Pete Johanson 2af794eed3 feat(underglow): Convert HSB changes to absolute.
* Public type for HSB led color.
* New API for calculating "next" HSB based on current
  state.
* Update behavior to convert the increment/decrement
  commands to absolute command as well.
2021-02-09 01:27:50 -05:00
Pete Johanson e6f168d6df refactor(behaviors): Convert state dependent params.
* Allow each behavior to map a relative binding, e.g. "toggle",
  to an absolute one, e.g. "on", before being invoked.
2021-02-09 01:27:50 -05:00
Pete Johanson bb2c478af9 refactor(rgb): Expose explicit on/off command/API. 2021-02-09 01:27:50 -05:00
Nick Winans fc5d7bcb78 fix(boards): Remove explicit enable of sensor 2021-02-08 10:50:44 -05:00
Nick Winans 5eace0bbc4 fix(core): Enable sensor by default 2021-02-08 10:50:44 -05:00
KemoNine 0499e7e8ac
Refactor nibble / update to match build docs (#620)
* feat(nibble): add underglow support for nice_nano builds

* feat(nibble): add encoder to top, left most column to match standard assembly documentation

* refactor(nibble): add layer labels

* feat(nibble): add support for optional display ; off by default

* feat(nibble): add README

* fix(nibble): adjust oled rotation for easier reading

* fix(nibble): add additional note about enabling oled

* refactor(nibble): convert keymap to use tabs instead of spaces

* refactor(nibble): enable oled in dts/overlay by default

* refactor(nibble): cleanup alignment and formatting in nibble keymap

* refactor(nibble): re-align top most row of keymap to be sensible

* refactor(nibble): cleanup kscan map alignment

* refactor(nibble): indent first row of map/transform to properly align with physical columns

* fix(nibble): remove dangling code block from readme

Co-authored-by: KemoNine <mcrosson@kemonine.info>
2021-02-04 10:28:02 -06:00
jrhrsmit e40ca1eb7c
fix(power): Add support for capacitors on ADC for BVD
Add a little delay so any capacitors connected to the ADC for the BVD can charge up when using power_gpios

Co-authored-by: Jasper Smit <jrhrsmit@gmail.com>
2021-02-04 07:56:27 -05:00
Pete Johanson b84d29c384 refactor(core): Use /omit-if-no-ref/ for behaviors.
* Use lesser-known DT features to skip behaviors not referenced
  in the user keymap
* Update the behaviors to skip code if no nodes found.
* Remove some empty config/data structs where unused in
  behaviors.
2021-02-04 00:52:25 -05:00
mantas b4d63fb52c feat(shields) Add encoder support to CRBN
Pin A maps to A2 (F5), pin B to A3 (F4).
Added keymappings to encoder on default and lower layers.
2021-02-03 23:49:59 -05:00
mantas c94943da1c style(crbn): Unify indentation from spaces to tabs 2021-02-03 23:49:59 -05:00
KemoNine cd503ed17b
Feat combo layers (#661)
feat(combos): add layer filtering

Co-authored-by: KemoNine <mcrosson@kemonine.info>
2021-02-03 23:33:09 -05:00
Okke Formsma 9a7908b632 behaviors(hold-tap): Implement quick_tap_ms (TAPPING_FORCE_HOLD)
Tap-and-hold a hold-tap to hold the tap behavior so it can repeat.
After a tap, if the same key is pressed within `quick_tap_ms`, the
tap behavior is always picked.

This is useful for things like `&ht LSHFT BACKSPACE` where holding
the backspace is required.

Implements #288.
2021-02-02 15:28:16 -05:00
Pete Johanson 6c7ab0ce53 refactor(kscan): Fix polling of GPIO matrices.
* Add easier macros for conditional polling/interrupt code.
* Properly continue polling on intervals, without extra
  enable/disable code for pins that is superfluous when not trying to
  deal with interupts firing.
* Fix to allow multiple GPIO drivers when doing splits w/ IO expanders
2021-02-02 14:04:10 -05:00
Pete Johanson 2f352788c1 refactor(kscan): Remove explicit default n from kscan configs.
* Actually allow defaulting yes in other places.
2021-02-02 14:04:10 -05:00
Nick Winans 33cd2caced fix(boards): Shorten keyboard names that are too long 2021-02-02 00:59:17 -05:00
Nick Winans 82173f354e fix(core): Assert BLE device name is correct length 2021-02-02 00:59:17 -05:00
Okke Formsma 4e20bf5de1 refactor(behaviors): simplify hold-taps by not using _TRANSFORM_ENTRY 2021-02-02 00:43:26 -05:00
Okke Formsma 84d19fe79b refactor(behaviors): factor out multiple uses of _TRANSFORM_ENTRY 2021-02-02 00:43:26 -05:00
Jeff Rizzo 4f040fecdf Add a missing log_strdup() 2021-01-30 00:31:07 -05:00
Okke Formsma c925cf02dd feature(sticky_keys): add quick-release
when quick-release is enabled, the sticky key is released immediately after another key is pressed
2021-01-28 17:10:04 -05:00
Pete Johanson 7c24ab069c fix(behaviors): Updated grsec snapshots for new log format. 2021-01-25 16:11:01 -05:00
Okke Formsma 7b7701ae90 feature(modifiers): add explicit modifiers
this makes LS(LEFT_CONTROL) work as if shift and control were both
pressed explicitly. Previously, the left shift would have been released
as soon as another key was pressed. The implicit behavior is useful in
case of LS(NUMBER_1) when rolling over to other keys.

Also see #361.
2021-01-24 23:30:41 -05:00
Okke Formsma 0c30b49063 refactor(modifiers): define is_mods function 2021-01-24 23:30:41 -05:00
Okke Formsma df4a5c8613 refactor(hid_listener): pass event struct instead of parameters 2021-01-24 23:30:41 -05:00
Ally Parker a4aaa73f06 feat: Add WPM calculator and display widget 2021-01-23 18:38:31 -05:00
Jeff Rizzo c0cab57c2d run-test.sh: use the POSIX '-L 1' for xargs
This allows tests to be run on platforms where '-l'
isn't implemented, like MacOS.
2021-01-23 18:32:18 -05:00
Okke Formsma 5eeb310b2f feat(grave-escape): implement grave-escape
closes #85
2021-01-22 19:27:18 -05:00