summaryrefslogtreecommitdiff
path: root/app/src
AgeCommit message (Collapse)Author
2021-02-16fix(display): Check for display in idle handler.Pete Johanson
* Closes #679
2021-02-10style(hold-tap)!: Write hold-tap params with dashesOkke Formsma
tapping_term_ms -> tapping-term-ms quick_tap_ms -> quick-tap-ms The old style works, although it's deprecated.
2021-02-09feat(underglow): Convert HSB changes to absolute.Pete Johanson
* 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-09refactor(behaviors): Convert state dependent params.Pete Johanson
* Allow each behavior to map a relative binding, e.g. "toggle", to an absolute one, e.g. "on", before being invoked.
2021-02-09refactor(rgb): Expose explicit on/off command/API.Pete Johanson
2021-02-04refactor(core): Use /omit-if-no-ref/ for behaviors.Pete Johanson
* 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-03Feat combo layers (#661)KemoNine
feat(combos): add layer filtering Co-authored-by: KemoNine <mcrosson@kemonine.info>
2021-02-02behaviors(hold-tap): Implement quick_tap_ms (TAPPING_FORCE_HOLD)Okke Formsma
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-02fix(core): Assert BLE device name is correct lengthNick Winans
2021-02-02refactor(behaviors): simplify hold-taps by not using _TRANSFORM_ENTRYOkke Formsma
2021-02-02refactor(behaviors): factor out multiple uses of _TRANSFORM_ENTRYOkke Formsma
2021-01-30Add a missing log_strdup()Jeff Rizzo
2021-01-28feature(sticky_keys): add quick-releaseOkke Formsma
when quick-release is enabled, the sticky key is released immediately after another key is pressed
2021-01-24feature(modifiers): add explicit modifiersOkke Formsma
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-24refactor(modifiers): define is_mods functionOkke Formsma
2021-01-24refactor(hid_listener): pass event struct instead of parametersOkke Formsma
2021-01-23feat: Add WPM calculator and display widgetAlly Parker
2021-01-22feat(grave-escape): implement grave-escapeOkke Formsma
closes #85
2021-01-20refactor(core): Combine `is_` and `cast_` event functions.Pete Johanson
* Use a single `as_foo` generated function to conditionally return a certain event type from a generic `zmk_event_t*` pointer.
2021-01-20refactor(core): Extra event payloads to own types, refactor API.Pete Johanson
* Make it easier to use *just* event payloads by defining the data, and then having event manager macros generate "wrapper structs" * Improve is_*/cast_* APIs to hide details of full event struct. * Create `zmk_event_t` typedef to pass to event handlers. * Bring event names inline w/ consistent `zmk_` prefix.
2021-01-20refactor(core): Extra position state change data struct.Pete Johanson
* Separate header and data struct for the event. * Remove duplicate struct in split code.
2021-01-15fix(splits): Send pos notify from dedicated threadPete Johanson
* Avoid deadlocks by using a deadicated workqueue for sending position state notifications from peripherals.
2021-01-15fix(hid): Clear all matching usages, not just first.Pete Johanson
* If various events get dropped, we can end up with duplicate codes in our report, so tweak to ensure we look for all matches and clear them when we have a keycode released.
2021-01-15fix(bluetooth): improve LE param update loggingPete Johanson
2021-01-15fix(ble): Perform GATT notifies from dedicated queue.Pete Johanson
* Zephyr BT stack frees TX buffers from system workqueue, and to avoid blocking waiting to allocate, perform notify from a dedicated queue.
2021-01-15fix(split): Use queue/work for peripheral events.Pete Johanson
* Avoid corruption by using work to process peripheral key position events on the main work thread, like local kscan events are. * Fixes #221
2021-01-15refactor(core): define usage page as uint16_tinnovaker
Aligns with the HID specification. Usage page values were sometimes declared as uint8_t and sometimes uint16_t. This commit aligns all instances with the HID specification for consistency. PR: #521
2021-01-13feat(combos): initial implementationOkke Formsma
closes #45
2021-01-08Remove setting the animation/effect when setting hsv ; some of the effects ↵KemoNine
like glowing will use the hsv color specified
2021-01-08(feat) Allow setting underglow color by key pressKemoNine
2021-01-04feat(display): Show layer label in widget.Pete Johanson
2021-01-04feat(keymap): API for retrieving label for a layerPete Johanson
2021-01-02chore(behavior): use ZMK_BEHAVIOR_OPAQUE in to-layer behaviorOkke Formsma
2021-01-01refactor(behaviors): use ZMK_BEHAVIOR_OPAQUE and ZMK_BEHAVIOR_TRANSPARENTOkke Formsma
Use these instead of the magic return values 0 and 1 for behavior_driver_api return values.
2021-01-01refactor(events): return 'ZMK_EV_EVENT_BUBBLE' instead of magic number 0Okke Formsma
2020-12-30fix(power): Fix for 2.4 API changes.Pete Johanson
2020-12-29(feature) Add &to keycode/behavior (#489)KemoNine
feat(behaviors): Add `&to` behavior to switch to a layer.
2020-12-29feat(ext-power): Cut power when PM is sleepingNick Winans
2020-12-28Add uppermost, current layer status widget to oled (#493)KemoNine
* Add uppermost, current layer status widget to oled * Run clang format * Fixup display widget source includes in CMakeLists * Update layer widget to only be enabled on primary half of a split keyboard and shuffle some of the options specific to the widget to be enabled via the widget * Update to latest lvgl/zmk/zephyr ; remove version text from oled per PR * Fixup file names * Remove last remenants of the version display text from the oled * Fixup clang-format Co-authored-by: KemoNine <mcrosson@kemonine.info>
2020-12-28refactor(app): replace zmk_keymap_layers_state with zmk_keymap_layers_state_tinnovaker
Aligns with typedef _t convention. PR: #531
2020-12-28refactor(app): replace zmk_mod_flags with zmk_mod_flags_tinnovaker
Aligns with typedef _t convention. PR: #531
2020-12-28refactor(app): replace zmk_mod with zmk_mod_tinnovaker
Aligns with typedef _t convention. PR: #531
2020-12-28refactor(app): replace zmk_key with zmk_key_tinnovaker
Aligns with typedef _t convention. PR: #531
2020-12-28refactor(splits): Ability to override split role.Pete Johanson
* Move central/peripheral setting to Kconfig.defconfig files to allow left/right .conf files to override central/peripheral role for splits.
2020-12-28refactor: replace filename hyphens with underscoresinnovaker
Aligns *.h and *.c to underscore naming convention. These were kept (with warnings) for backwards compatibility with external boards/shields: - kscan-mock.h - matrix-transform.h They should be removed in the future. PR: #523
2020-12-21chore(display): add header to CMakeLists.txtinnovaker
PR: #533
2020-12-21chore(display): add header to Kconfiginnovaker
PR: #534
2020-12-21chore(display): align status_screen copyrightinnovaker
PR: #535
2020-12-17fix(sticky keys): add 0xFF mask to usage_pageinnovaker
Aligns unpacking of usage_page with its equivalent line in keycode-state-changed.h PR: #520
2020-12-15refactor(sticky keys): use DT_HAS_COMPAT_STATUS_OKAY(DT_DRV_COMPAT) instead ↵Okke Formsma
of DT_NODE_EXISTS(DT_DRV_INST(0))