summaryrefslogtreecommitdiff
path: root/app/include
AgeCommit message (Collapse)Author
2021-01-22feat(grave-escape): implement grave-escapeOkke Formsma
closes #85
2021-01-20refactor(core): Combine `is_` and `cast_` event functions.Pete Johanson
* Use a single `as_foo` generated function to conditionally return a certain event type from a generic `zmk_event_t*` pointer.
2021-01-20refactor(core): Extra event payloads to own types, refactor API.Pete Johanson
* Make it easier to use *just* event payloads by defining the data, and then having event manager macros generate "wrapper structs" * Improve is_*/cast_* APIs to hide details of full event struct. * Create `zmk_event_t` typedef to pass to event handlers. * Bring event names inline w/ consistent `zmk_` prefix.
2021-01-20refactor(core): Extra position state change data struct.Pete Johanson
* Separate header and data struct for the event. * Remove duplicate struct in split code.
2021-01-15refactor(core): define usage page as uint16_tinnovaker
Aligns with the HID specification. Usage page values were sometimes declared as uint8_t and sometimes uint16_t. This commit aligns all instances with the HID specification for consistency. PR: #521
2021-01-08(feat) Allow setting underglow color by key pressKemoNine
2021-01-04feat(keymap): API for retrieving label for a layerPete Johanson
2021-01-01refactor(behaviors): use ZMK_BEHAVIOR_OPAQUE and ZMK_BEHAVIOR_TRANSPARENTOkke Formsma
Use these instead of the magic return values 0 and 1 for behavior_driver_api return values.
2021-01-01refactor(events): return 'ZMK_EV_EVENT_BUBBLE' instead of magic number 0Okke Formsma
2020-12-31fix(sensors): Use status filter on sensors node.Pete Johanson
2020-12-29(feature) Add &to keycode/behavior (#489)KemoNine
feat(behaviors): Add `&to` behavior to switch to a layer.
2020-12-28Add uppermost, current layer status widget to oled (#493)KemoNine
* Add uppermost, current layer status widget to oled * Run clang format * Fixup display widget source includes in CMakeLists * Update layer widget to only be enabled on primary half of a split keyboard and shuffle some of the options specific to the widget to be enabled via the widget * Update to latest lvgl/zmk/zephyr ; remove version text from oled per PR * Fixup file names * Remove last remenants of the version display text from the oled * Fixup clang-format Co-authored-by: KemoNine <mcrosson@kemonine.info>
2020-12-28refactor(app): replace zmk_keymap_layers_state with zmk_keymap_layers_state_tinnovaker
Aligns with typedef _t convention. PR: #531
2020-12-28refactor(app): replace zmk_mod_flags with zmk_mod_flags_tinnovaker
Aligns with typedef _t convention. PR: #531
2020-12-28refactor(app): replace zmk_mod with zmk_mod_tinnovaker
Aligns with typedef _t convention. PR: #531
2020-12-28refactor(app): replace zmk_key with zmk_key_tinnovaker
Aligns with typedef _t convention. PR: #531
2020-12-28refactor: replace filename hyphens with underscoresinnovaker
Aligns *.h and *.c to underscore naming convention. These were kept (with warnings) for backwards compatibility with external boards/shields: - kscan-mock.h - matrix-transform.h They should be removed in the future. PR: #523
2020-12-21refactor(app): remove zmk_actioninnovaker
zmk_action isn't referenced anywhere. PR: #530
2020-12-21refactor(app): remove handlers.hinnovaker
handlers.h isn't referenced elsewhere. PR: #526
2020-12-21chore(display): align status_screen copyrightinnovaker
PR: #535
2020-12-17refactor(endpoints): rename usage_report parameter to usage_pageinnovaker
Aligns zmk_endpoints_send_report function declaration with its definition. PR: #522
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-14refactor(app): replace `struct device *` with `const struct device *`innovaker
Replaced with RegExp: /(?<!const )(struct device \*)/g See: https://docs.zephyrproject.org/latest/releases/release-notes-2.4.html PR: #467
2020-12-14refactor(app): replace `driver_api` with `api`innovaker
See: https://docs.zephyrproject.org/latest/releases/release-notes-2.4.html PR: #467
2020-12-14refactor(app): replace Zephyr integer types with C99 integer typesinnovaker
u8_t → uint8_t u16_t → uint16_t u32_t → uint32_t u64_t → uint64_t s8_t → int8_t s16_t → int16_t s32_t → int32_t s64_t → int64_t Prerequisite for #223 See: https://github.com/zephyrproject-rtos/zephyr/releases/tag/zephyr-v2.4.0 PR: #467
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-06fix(display): All display updates in work thread.Pete Johanson
* Make sure all LVGL access is from main work thread.
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-04fix(keys): Replace GUI with Application / Context Menuinnovaker
This was a misrepresentation in the standardized keys that originated in earlier code.
2020-11-03feat(keys): Standardize keysinnovaker
Deprecate superseded names with comments. Add standardized key names. Closes #21. Closes #158. Closes #161. Closes #246.
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): 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(hid): Add preprocessor definitions for HID usages v1.21innovaker
Developed from specification: https://usb.org/sites/default/files/hut1_21.pdf Closes #217. Prerequisite of #21.
2020-11-03fix: Formatting fix.Pete Johanson
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): 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.