Age | Commit message (Collapse) | Author |
|
|
|
closes #85
|
|
* Use a single `as_foo` generated function to conditionally
return a certain event type from a generic `zmk_event_t*`
pointer.
|
|
* 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.
|
|
* Separate header and data struct for the event.
* Remove duplicate struct in split code.
|
|
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
|
|
|
|
|
|
Use these instead of the magic return values 0 and 1 for
behavior_driver_api return values.
|
|
|
|
|
|
feat(behaviors): Add `&to` behavior to switch to a layer.
|
|
* 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>
|
|
Aligns with typedef _t convention.
PR: #531
|
|
Aligns with typedef _t convention.
PR: #531
|
|
Aligns with typedef _t convention.
PR: #531
|
|
Aligns with typedef _t convention.
PR: #531
|
|
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
|
|
zmk_action isn't referenced anywhere.
PR: #530
|
|
handlers.h isn't referenced elsewhere.
PR: #526
|
|
PR: #535
|
|
Aligns zmk_endpoints_send_report function declaration with its definition.
PR: #522
|
|
* Refactor power to extract more general purpose
activity detection/events.
* Use activity state to implement PM callback.
|
|
Replaced with RegExp: /(?<!const )(struct device \*)/g
See: https://docs.zephyrproject.org/latest/releases/release-notes-2.4.html
PR: #467
|
|
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
|
|
* 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>
|
|
* 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.
|
|
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.
|
|
|
|
|
|
https://github.com/zmkfirmware/zmk/issues/86
|
|
feat: only send HID reports to one endpoint
|
|
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.
|
|
|
|
* 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
|