summaryrefslogtreecommitdiff
path: root/app/src
AgeCommit message (Collapse)Author
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
2020-12-14refactor(app): replace `void` with `const struct device *dev` in ISR CBsinnovaker
See: https://docs.zephyrproject.org/latest/releases/release-notes-2.4.html PR: #467
2020-12-14refactor(app): replace `struct device *` with `const struct device *`innovaker
Replaced with RegExp: /(?<!const )(struct device \*)/g See: https://docs.zephyrproject.org/latest/releases/release-notes-2.4.html PR: #467
2020-12-14refactor(app): replace `driver_data` with `data`innovaker
See: https://docs.zephyrproject.org/latest/releases/release-notes-2.4.html PR: #467
2020-12-14refactor(app): replace `config_info` with `config`innovaker
See: https://docs.zephyrproject.org/latest/releases/release-notes-2.4.html PR: #467
2020-12-14refactor(app): replace Zephyr integer types with C99 integer typesinnovaker
u8_t → uint8_t u16_t → uint16_t u32_t → uint32_t u64_t → uint64_t s8_t → int8_t s16_t → int16_t s32_t → int32_t s64_t → int64_t Prerequisite for #223 See: https://github.com/zephyrproject-rtos/zephyr/releases/tag/zephyr-v2.4.0 PR: #467
2020-12-09feature(keymaps): Keymap layer state event, highest layer APIKemoNine
* Fire an event w/ layer number, state, and timestamp when a layer is activated/deactivated. * Add `zmk_keymap_highest_layer_active()` query. Co-authored-by: KemoNine <mcrosson@kemonine.info>
2020-12-08fix(kscan): Fix building kscan for tests.Pete Johanson
2020-12-06fix(display): All display updates in work thread.Pete Johanson
* Make sure all LVGL access is from main work thread.
2020-12-06fix(ble): Raise profile events from work thread.Pete Johanson
* Make sure we don't raise events from BLE host thread.
2020-12-06fix(sticky keys): fix tapping-sticky-keys bug.Okke Formsma
Sticky keys should be cleared when they were tapped in rapid succession before the timer runs out.