| Age | Commit message (Collapse) | Author | 
|---|
|  | * Make sure all LVGL access is from main work thread. | 
|  | * Battery and output status widgets
* Built in status screen combining them.
* Ability to define a custom status screen factory
  function. | 
|  |  | 
|  | These timestamps are necessary to correctly deal with delayed events due to hold-tap shenanigans. | 
|  | 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. | 
|  | Improves readability of the HID reports. | 
|  | Simplifies terminology and improves readability. | 
|  | This should've changed alongside: 711658206f86fc6af35be7d104243dfcf857f194 | 
|  | * Remove need for separate `&cp` behavior, but
  keep it for now for backward compat.
* Refactor sensor inc/dec as well. | 
|  | This was a misrepresentation in the standardized keys that originated in earlier code. | 
|  | Deprecate superseded names with comments.
Add standardized key names.
Closes #21.  Closes #158.  Closes #161.  Closes #246. | 
|  | Switch from single byte to double byte usages.
Allow the entire 0x0C page for future compatibility.
Closes #234.  Co-requisite of #21. | 
|  | Replace `USAGE_GEN_DESKTOP` with `HID_USAGE_GD`.
Replace `USAGE_GEN_DESKTOP_KEYBOARD` with `HID_USAGE_GD_KEYBOARD`.
Replace `USAGE_GEN_DESKTOP_KEYPAD` with `HID_USAGE_KEY`.
Replace `0x0C` with `HID_USAGE_CONSUMER`.
Closes #217. | 
|  | Deprecate `USAGE_KEYPAD` and replace with `HID_USAGE_KEY`.
Deprecate `USAGE_CONSUMER` and replace with `HID_USAGE_CONSUMER`.
Closes #217. | 
|  | Developed from specification:
https://usb.org/sites/default/files/hut1_21.pdf
Closes #217.  Prerequisite of #21. | 
|  |  | 
|  |  | 
|  |  | 
|  | https://github.com/zmkfirmware/zmk/issues/86 | 
|  | feat: only send HID reports to one endpoint | 
|  |  | 
|  | "Outputs" is probably easier for most people to understand than "endpoints". | 
|  | 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 | 
|  | 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. | 
|  | 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. | 
|  | 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. | 
|  | Add missing byte to make keypad report boot friendly. | 
|  |  | 
|  | Replace NKRO bit array with configurable integer (DV) array. | 
|  | New behavior for ext power control | 
|  |  | 
|  |  | 
|  |  | 
|  | * 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 | 
|  | 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 | 
|  | * 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. | 
|  |  | 
|  | Fixes #205 | 
|  | * To be leveraged by upcoming power
  management work. | 
|  | * Use the LLVM style
* Override indent width (8) and column limit (100)
* Fixes #142. | 
|  |  | 
|  | * 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. | 
|  | * 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. | 
|  | * 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. | 
|  |  | 
|  | Hold-Tap implementation | 
|  |  | 
|  |  | 
|  |  | 
|  |  |