summaryrefslogtreecommitdiff
path: root/app/src
AgeCommit message (Collapse)Author
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.
2020-12-06fix(sticky keys): always clear sticky key when releasing the behaviorOkke Formsma
2020-12-06fix(sticky keys): use correct timestamp when clearing sticky key in timerOkke Formsma
2020-12-06fix(sticky keys): simplify timer managementOkke Formsma
2020-12-02refactor(settings): Add Kconfig option for settings debounceNick
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-12-01refactor(ble): silence warning `auth_passkey_display` not usedinnovaker
Silences the following build warning ... ../src/ble.c:407:13: warning: 'auth_passkey_display' defined but not used [-Wunused-function] 407 | static void auth_passkey_display(struct bt_conn *conn, unsigned int passkey) {
2020-11-29bugfix(sticky keys): release active sticky keys properlyOkke Formsma
see https://github.com/zmkfirmware/zmk/issues/445
2020-11-28feat: Add settings support for external powerNick
fix: clang-format and setting state variable fix: Fix startup settings configuration fix(ext_power): Add static to state fix(ext_power): Set default settings value Use driver data status instead of global file state
2020-11-28feat(sticky keys): initial implementationOkke Formsma
2020-11-28feat(events): add timestamp to keycode_state_changed and sensor_eventOkke Formsma
These timestamps are necessary to correctly deal with delayed events due to hold-tap shenanigans.
2020-11-23fix(ug): Start tick without settings state availableNick
2020-11-22fix(underglow): Fix error on release of rgb_ugNick
2020-11-22feat(underglow): RGB toggle controls ext_powerNick
fix(ug): Don't return if finding ext power fails fix(ug): Move ext_power to a static variable Add #if defs
2020-11-22refactor(hid): replace `kp_report` with `keyboard_report`innovaker
Aligns with other existing conventions.
2020-11-21refactor: change `keypad` to `keyboard`innovaker
The application usage used by report 1 is `HID_USAGE_GD_KEYBOARD`. Moreover, the `keys` usage page (0x07) that primarily feeds into this report is predominantly keyboard codes. The rest of the system should align with this naming convention.
2020-11-16fix momentary layer bug when top layer is not &transOkke Formsma
Key release events released keys on the wrong layer if the 'top layer' was not &trans above the &mo key. base <&mo 1> layer 1 <&kp B> This was caused by overwriting `zmk_keymap_active_behavior_layer[position]` after the &mo key was handled.
2020-11-11Fix connection to incorrect peripheralXudong Zheng
2020-11-10fix(ble): Remove unpair combo code.Pete Johanson
* Favor the settings reset images for this.
2020-11-10refactor(app): Remove obsolete include's of `hid_usage_pages.h`innovaker
This should've been done in eff1b8223b5010d526914530c5d1d469eff356df.
2020-11-05refactor(keys): Unify usage page.Pete Johanson
* Remove need for separate `&cp` behavior, but keep it for now for backward compat. * Refactor sensor inc/dec as well.
2020-11-03refactor: Replace superseded key namesinnovaker
Replace deprecated key names (LCTL, NUM_0, NUM_1). Replace abbreviated names with fully qualified names (LCTL, RGUI, NUM_0, NUM_1). Follow-up to #21.
2020-11-03refactor(hid): Replace deprecated HID usage page referencesinnovaker
Deprecate `USAGE_KEYPAD` and replace with `HID_USAGE_KEY`. Deprecate `USAGE_CONSUMER` and replace with `HID_USAGE_CONSUMER`. Closes #217.
2020-11-03feat(underglow): Debounce state settings saveNick
2020-11-03refactor(hid): Mod defines in dedicated header.Pete Johanson
2020-11-03initial implementation for modifiersOkke Formsma
https://github.com/zmkfirmware/zmk/issues/86
2020-11-01fix(battery): Only log if finding battery device failedNick Winans
Co-authored-by: Pete Johanson <peter@peterjohanson.com>
2020-11-01feat(battery): Add BAS GATT reportingNick
2020-10-31Merge pull request #269 from joelspadin/endpoint-selectionPete Johanson
feat: only send HID reports to one endpoint
2020-10-28feat(endpoints): remove redundant connection checkJoel Spadin
2020-10-28feat(endpoints): simplify behavior constantsJoel Spadin
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(endpoints): update on BLE profile changeJoel Spadin
Added zmk_ble_active_profile_is_connected() to allow code outside ble.c to check the status of the active profile, and changed the ble_active_profile_changed event to also notify when the active profile connects or disconnects. Changed endpoint selection to to also update when the active profile changes, connects, or disconnects.
2020-10-28feat(endpoints): clear HID report on endpoint changeJoel Spadin
This prevents stuck keys when switching endpoints by clearing everything in the HID report and sending one last report before switching to the new endpoint.
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-27feat(hid): Make keypad report boot friendlyinnovaker
Add missing byte to make keypad report boot friendly.
2020-10-27refactor(hid): Refactor consumer report to a configurable sizeinnovaker
2020-10-27refactor(hid): Refactor keypad report to use a configurable integer arrayinnovaker
Replace NKRO bit array with configurable integer (DV) array.
2020-10-25feat(kscan_mock): Increase max number of eventsinnovaker
This is necessary for testing a large number of events (e.g. every key code) within a single build/pass. The u8_t limitation became apparent during end-to-end testing of #21.
2020-10-18Merge pull request #109 from Nicell/underglow/state-persistencePete Johanson
Add RGB underglow state Kconfig and settings
2020-10-16fix(bluetooth): Add adv data in non-peripherals.Pete Johanson
2020-10-16fix(bluetooth): Stop adv on connected profile.Pete Johanson
2020-10-16fix(bluetooth): Advertise name + appearance.Pete Johanson
* Properly put device name and GAP appearance in advertising packets, for proper display in macOS, Android, etc. * Closes #124
2020-10-15fix(ble): Only advertise when needed.* Once we have a peer connected to for ↵Pete Johanson
the active profile, don't continue advertising.