summaryrefslogtreecommitdiff
path: root/app/include/zmk
AgeCommit message (Collapse)Author
2021-03-10added battery.h, last_state_of_charge to uint8_tJP Bonn
2021-03-10only send zmk_battery_state_changed on changeJP Bonn
2021-02-09feat(underglow): Convert HSB changes to absolute.Pete Johanson
* Public type for HSB led color. * New API for calculating "next" HSB based on current state. * Update behavior to convert the increment/decrement commands to absolute command as well.
2021-02-09refactor(rgb): Expose explicit on/off command/API.Pete Johanson
2021-02-02refactor(behaviors): simplify hold-taps by not using _TRANSFORM_ENTRYOkke Formsma
2021-02-02refactor(behaviors): factor out multiple uses of _TRANSFORM_ENTRYOkke Formsma
2021-01-24feature(modifiers): add explicit modifiersOkke Formsma
this makes LS(LEFT_CONTROL) work as if shift and control were both pressed explicitly. Previously, the left shift would have been released as soon as another key was pressed. The implicit behavior is useful in case of LS(NUMBER_1) when rolling over to other keys. Also see #361.
2021-01-24refactor(modifiers): define is_mods functionOkke Formsma
2021-01-23feat: Add WPM calculator and display widgetAlly Parker
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 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-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