summaryrefslogtreecommitdiff
path: root/app/CMakeLists.txt
AgeCommit message (Collapse)Author
2022-01-31feature(split): behavior locality support.Pete Johanson
* GATT characteristic allowing passng data + behavior label to invoke the behavior on the peripheral side. * Behaviors have a locality setting to specify where they run. * Build reset/power/RGB on peripheral.
2022-01-30feat(behaviors): `&key_repeat` behavior + tests.Peter Johanson
* Add new `&key_repeat` behavior that captures and re-sends the most recently triggered keycode. Closes: #853
2021-11-28feat(behaviors): Add caps word (`&caps_word`).Peter Johanson
* Add new `&caps_word` behavior that acts like caps lock, but releases automatically when any "break" keycode is pressed.
2021-11-15feat(conditional-layers): Implement featureJonathan Rascher
This is a generalization of the existing concept of tri-layer support that's already well known. Essentially, a conditional-layer configuration activates a particular layer (the then-layer) when one or more other layers (the if-layers) are activated. This is commonly used on ortho keyboards to activate a third "adjust" layer while the primary two layers ("lower" and "raise") are active.
2021-08-03feat(endpoints): Add endpoint select changed event.Peter Johanson
2021-01-23feat: Add WPM calculator and display widgetAlly Parker
2021-01-22feat(grave-escape): implement grave-escapeOkke Formsma
closes #85
2021-01-13feat(combos): initial implementationOkke Formsma
closes #45
2020-12-29(feature) Add &to keycode/behavior (#489)KemoNine
feat(behaviors): Add `&to` behavior to switch to a layer.
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-14refactor(settings): Only load used subtreesNick Winans
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-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-04build(cmake): remove unnecessary SYSCALL_INCLUDE_DIRS for driversinnovaker
PR: #406
2020-12-02feat(display): Initial widget/status screen work.Pete Johanson
* Battery and output status widgets * Built in status screen combining them. * Ability to define a custom status screen factory function.
2020-12-02refactor(battery): Fire event on battery event.Pete Johanson
2020-11-28feat(sticky keys): initial implementationOkke Formsma
2020-11-10fix(ble): Remove unpair combo code.Pete Johanson
* Favor the settings reset images for this.
2020-11-01feat(battery): Add BAS GATT reportingNick
2020-10-28feat(endpoints): rename behavior to outputsJoel Spadin
"Outputs" is probably easier for most people to understand than "endpoints".
2020-10-28feat(endpoints): add preferred endpoint settingJoel Spadin
Added a new setting to remember the user's preferred endpoint. When both USB and BLE are connected, the preferred endpoint will be used. Added a new behavior to control this setting. It supports commands: &end END_USB - Prefer USB output &end END_BLE - Prefer BLE output &end END_TOG - Toggle between USB and BLE
2020-10-28feat: only send HID reports to one endpointJoel Spadin
Added some utility functions and an event for tracking the state of the USB connection. Updated endpoints.c to select a single endpoint to send HID reports to based on the status of the USB and BLE connections. Partially fixes #206. Future commits will add a user setting to control which endpoint is used if both USB and BLE are ready.
2020-10-18Merge pull request #109 from Nicell/underglow/state-persistencePete Johanson
Add RGB underglow state Kconfig and settings
2020-10-12New behavior for ext power controlMega Mind
2020-10-10Added driver to control the external power outputMega Mind
This PR adds support to control the external power output from controllers like nice!nano, nRFMicro etc I have implemented based on my understanding of Pete suggestion on this feature. Testing done: Tested by enabling and disabling the ext_power from application and verified Verified the application does not crash with boards that does not have ext_power support Note: I did not test this in nice!nano since I don't have the boards. Will get help from others once the behavior PR is up Next Steps: Create a behavior PR to control enable/disable ext_power
2020-10-06feat(power): Initial deep sleep work.Pete Johanson
* New ZMK_SLEEP Kconfig symbol to enable the functionality. * Switch to PORT events that allows wake from deep sleep. * Initial basic power management policy, with idle ms, and ignoring deep sleep if we detect a USB connection.
2020-10-04refactor(usb): Report USB status w/o HID output.Pete Johanson
2020-09-15Merge remote-tracking branch 'upstream/main' into underglow/state-persistenceNick
2020-09-13feat(bluetooth): Add back profiles, split fixes.Pete Johanson
* Add back in profiles, not using Zephyr BT identity infrastructure. * Restore additional `&bt` commands for profile operations. * Fix for split pairing and subscriptions, since Zephyr persists subscriptions across connects. * Remove keymap from peripheral builds, reduces firmware size, and avoids unneeded attempts to send HID data.
2020-09-13fix(bluetooth): Remove identity, minimal `bt`.Pete Johanson
* Simplify the `bt` behavior to one current command `BT_CLEAR_BONDS_CMD`. * Simplify BLE code for split and non-split keyboards. * Remove keymap processing from split peripheral side.
2020-09-13feat(bluetooth): Proper bond management, identity support for non-splitsPete Johanson
* Add `bt` behavior that can be used to perform certain actions, such as next/prev identity, reset identity, etc. NOTE: Multiple identities is only supported for non-split shields, due to missing Zephyr identity functionality for dual central/peripheral devices. * Proper bond reset tied to action, that honors peripheral bonds, so folks can reset and pair to other hosts, without breaking bonds between splt halves.
2020-09-01Initial implementation of hold-tapOkke Formsma
2020-08-31stop on fatal errorsOkke Formsma
2020-08-23fix(rgb): check if settings enabledNick
2020-08-23Move settings loadNick
2020-08-20Use correct macro for boardMega Mind
2020-08-19fix(bluetooth): Add unpair combo if DT node existsPete Johanson
2020-08-18Merge pull request #99 from petejohanson/core/bluetooth-unpair-magic-comboPete Johanson
Add magic combo for unpairing BT devices on start.
2020-08-18Merge pull request #100 from petejohanson/behaviors/add-nonePete Johanson
Add `&none` behavior.
2020-08-18feat(behaviors): Add &none behaviorPete Johanson
2020-08-18feat(keymap): allow users to toggle layersCody McGinnis
2020-08-18feeature(bt): Add "unpair combo" on startup.Pete Johanson
* Especially for splits, we need the ability to unpair all paired devices as sledgehammer if we need to "reset things", and doing so via keymaps isn't suitable. * Allows shields to define a collection of key positions that if all held 2 seconds after startup, will unpair all existing pairs for the device.
2020-08-06Refactor to using .keymap filesPete Johanson
* Still just devicetree keymaps. * Filename can now use `<board>.keymap` or `<shield>.keymap` convention, including overrides for revisions, etc.
2020-07-31Initial stab at mod-tap improvements.Pete Johanson
* Not working: Roll over + mod-tap with multiple mod-tap bindings!
2020-07-26Merge pull request #64 from Nicell/feature/rgb_underglowPete Johanson
Initial RGB Underglow implementation
2020-07-25Initial display support.Pete Johanson
2020-07-25Add suggested changesNick
2020-07-24Only include behavior if feature enabledNick
2020-07-24Initial RGB Underglow implementationNick