summaryrefslogtreecommitdiff
path: root/app/include/zmk
AgeCommit message (Collapse)Author
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(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-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-20refactor(hid): Replace modifier usage values with their cpp definitionsinnovaker
Improves readability of the HID reports.
2020-11-10refactor(app): Replace `HID_EXT_USAGE` with `HID_USAGE`innovaker
Simplifies terminology and improves readability.
2020-11-06refactor(hid): Replace `0x01` with `HID_USAGE_CONSUMER_CONSUMER_CONTROL`innovaker
This should've changed alongside: 711658206f86fc6af35be7d104243dfcf857f194
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-03feat(hid): Enhance consumer report to support higher codesinnovaker
Switch from single byte to double byte usages. Allow the entire 0x0C page for future compatibility. Closes #234. Co-requisite of #21.
2020-11-03refactor(hid): Replace Zephyr usages with ZMK usages in HID reportsinnovaker
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.
2020-11-03refactor(hid): Mod defines in dedicated header.Pete Johanson
2020-11-03clang-formatOkke Formsma
2020-11-03initial implementation for modifiersOkke Formsma
https://github.com/zmkfirmware/zmk/issues/86
2020-10-31Merge pull request #269 from joelspadin/endpoint-selectionPete Johanson
feat: only send HID reports to one endpoint
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-12fix: Updated copyright headers to single author file.Pete Johanson
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-04refactor(usb): Report USB status w/o HID output.Pete Johanson
2020-10-02Add missing licensing headerDev
Fixes #205
2020-10-01feat(usb): Function to access latest USB status.Pete Johanson
* To be leveraged by upcoming power management work.
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-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-10fix: Switch to single AUTHORS file.* Closes #164Pete Johanson
2020-09-02some fixes based on feedbackOkke Formsma
2020-09-01Initial implementation of hold-tapOkke Formsma
2020-08-28fix(test): change the layoutCody McGinnis
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-18fix(keymap): move the toggle layer logic to keymap.cCody McGinnis
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-07-31Initial stab at mod-tap improvements.Pete Johanson
* Not working: Roll over + mod-tap with multiple mod-tap bindings!
2020-07-30Add the ability to capture event and release laterPete Johanson
2020-07-26Merge pull request #64 from Nicell/feature/rgb_underglowPete Johanson
Initial RGB Underglow implementation
2020-07-25Whitespace fix.Pete Johanson
2020-07-25Initial display support.Pete Johanson
2020-07-25Add suggested changesNick
2020-07-24Initial RGB Underglow implementationNick
2020-07-22Initial behavior for key presses on encoder rotatePete Johanson
2020-07-22More sensor keymap work.Pete Johanson
2020-07-22Initial work on sensor bindings.Pete Johanson
2020-07-17More cleanup of BLE split code.Pete Johanson
2020-07-17Lots of work on split peripheral/central logic.Pete Johanson