Commit graph

1394 commits

Author SHA1 Message Date
Okke Formsma
848b8b6ffb fix(behaviors): Fix sticky keys quick-release for normal keypresses
Quick release for sticky keys failed for non-layer keys. The sticky key
was released just before the key that was supposed to be modified was
handled.

The issue was caused by an error in the sticky key logic, which released
the sticky key before handling the key up event.

Fixes #696.
2021-04-05 20:50:43 +02:00
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
Nick Winans
4ef11ac4aa feat(docs): Add power profiler 2021-03-11 16:31:34 -05: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
Cody McGinnis
d956193251 change "Under Development" to "Beta Testing" 2021-03-10 13:45:50 -05:00
Cody McGinnis
ac50e741be move the information to its own page 2021-03-10 13:45:50 -05:00
Cody McGinnis
daf10d9741 feat(docs): add information for testing PRs 2021-03-10 13:45:50 -05:00
Megamannen
a7c6e080a7
Fix broken link in documentation (encoders) (#707)
* Update encoders.md

Link to "New Keyboard Shield" didn't work

* Update encoders.md

Forgot hash-link
2021-03-03 00:06:29 -06:00
Megamannen
0a7491af87
Add detailed pin mapping explanation to underglow docs (#709)
* Update underglow.md

Updated the documentation according to my current understandring of how to pin-mapping works, also split the chapter into a nrf-section and a non-nrf-section since that information isn't applicable to both

* Ran prettier and updated pin reference according to suggestion
2021-03-03 00:03:12 -06: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
daf3a4af75 fix(pre-commit): use prettier mirror and pin version 2021-02-15 07:43:43 -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
Joel Spadin
24ed1a8eaa docs(vscode): add more info for compile_commands.json path 2021-02-09 00:45:55 -05:00
Joel Spadin
0955ffef65 docs: Add docs for setting up vscode
Added a docs page with tips for setting up VS Code's code completion to work
in ZMK's source files. Info for other IDEs can be added here later as needed.
2021-02-09 00:45:55 -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
Pierre Constantineau
b67156b3f4
feat(docs): Update to BlueMicro_BLE Features 2021-02-08 10:48:12 -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
ae5056d680 Update docs/docs/behaviors/bluetooth.md
Co-authored-by: innovaker <66737976+innovaker@users.noreply.github.com>
2021-02-04 07:45:55 -05:00
Jonathan Rascher
1368a6481e docs: Explain ZMK stays connected to inactive host
This behavior was not obvious to me, and I actually considered reporting
it as a bug until @Nicell explained to me on Discord that it's WAI. :)
2021-02-04 07:45:55 -05:00
Okke Formsma
11d990e59a setup pre-commit hooks for clang-format and prettier 2021-02-04 07:42:02 -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
y4m4ym
9205ea1c70
fix(setup): Fix index to MakerDiary m.2 board 2021-02-03 23:10:47 -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