summaryrefslogtreecommitdiff
path: root/app/src
AgeCommit message (Collapse)Author
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))
2020-12-15refactor(sticky keys): use pointer to avoid repetition in store_sticky_keyOkke Formsma
2020-12-15refactor(sticky keys): rename ZMK_BHV_STICKY_KEY_POSITION_NOT_USED to ↵Okke Formsma
ZMK_BHV_STICKY_KEY_POSITION_FREE
2020-12-15refactor(sticky keys): rename timer_is_started to timer_startedOkke Formsma
2020-12-14fix(settings): Add missing err handlers on settings_registerNick
2020-12-14refactor(settings): Debounce BLE/endpoint settings savesNick
2020-12-14refactor(settings): Only load used subtreesNick Winans
2020-12-14feature(display): Blank display on idle/sleep.Pete Johanson
* Set display blanking, and stop refresh timer for displays when the activity state goes to idle/sleep, and resume when transitioning to active again.
2020-12-14refactor(power): Extract activity/idle detection.Pete Johanson
* Refactor power to extract more general purpose activity detection/events. * Use activity state to implement PM callback.
2020-12-14refactor(display): Update to new LVGL v7.x API.Pete Johanson
PR: #467
2020-12-14refactor(app): remove `_gatt_` infixes from BT DIS and BAS servicesinnovaker
See: https://docs.zephyrproject.org/latest/releases/release-notes-2.4.html PR: #467