summaryrefslogtreecommitdiff
path: root/app/src
AgeCommit message (Collapse)Author
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.
2020-10-13Merge pull request #258 from megamind4089/dev/ext-power-behaviorPete Johanson
New behavior for ext power control
2020-10-12fix: Updated copyright headers to single author file.Pete Johanson
2020-10-13Fix compilation errors and minor tweaksMega Mind
2020-10-12Rebased and fixed nasty codeMega Mind
2020-10-12Added toggle and removed a paramMega Mind
2020-10-12New behavior for ext power controlMega Mind
2020-10-11fix: don't leak bt_conn refsJoel Spadin
bt_conn_lookup_addr_le() gives us a new reference that must be released with bt_conn_unref()
2020-10-10Add timestamps to position and behavior events (#147)Okke Formsma
* Add timestamps to position events and behaviors. - Take original event timestamps into consideration so nested tap-holds have proper timing. - Add position and timestamp to keycode state changed event so the one-shot behavior can properly identify other keypresses and timings. - Add timestamp to position events received from peripheral * reduce number of arguments to behaviors
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-06Merge pull request #211 from petejohanson/core/keymap-port-event-explorationPete Johanson
Use PORT events for kscan matrix interrupts, add option for deep sleep.
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-04Merge pull request #237 from ChaosinaCan/direct-gpio-fixPete Johanson
Fix direct GPIO when using interrupts
2020-10-04refactor(usb): Report USB status w/o HID output.Pete Johanson
2020-10-04improvement(kscan): use ARRAY_SIZE macroJoel Spadin
2020-10-01feat(usb): Function to access latest USB status.Pete Johanson
* To be leveraged by upcoming power management work.
2020-09-15fix lint with clang-formatNick
2020-09-15Merge remote-tracking branch 'upstream/main' into underglow/state-persistenceNick
2020-09-14chore: clang-format the codebase.Pete Johanson
* Use the LLVM style * Override indent width (8) and column limit (100) * Fixes #142.
2020-09-13fix(bluetooth): Reject pairing to taken profiles.Pete Johanson
2020-09-13refactor(bluetooth): More concise names.Pete Johanson
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): Log when clearing on start.Pete Johanson
2020-09-13fix(bluetooth): Delete any previously stored name.Pete Johanson
2020-09-13fix(bluetooth): Kconfig to clear bonds on startPete Johanson
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.