| Age | Commit message (Collapse) | Author | 
|---|
|  |  | 
|  | * 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. | 
|  |  | 
|  | feat(behaviors): Add `&to` behavior to switch to a layer. | 
|  | 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 | 
|  | 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> | 
|  | These timestamps are necessary to correctly deal with delayed events due to hold-tap shenanigans. | 
|  | Key release events released keys on the wrong layer if the 'top layer'
was not &trans above the &mo key.
base    <&mo 1>
layer 1 <&kp B>
This was caused by overwriting
`zmk_keymap_active_behavior_layer[position]` after the &mo key was
handled. | 
|  | https://github.com/zmkfirmware/zmk/issues/86 | 
|  | * 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 | 
|  | * Use the LLVM style
* Override indent width (8) and column limit (100)
* Fixes #142. | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  | * If you press a key with a layer active, then
  deactivate the layer (e.g. releasing a `&mo`,
  then release the key, we currently may send
  the wrong key release event.
* Fixes #67. | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  | * Add initial event manager implementation,
  roughly mimicking Nordic's API.
* Add `position_state_changed` and
  `keycode_state_changed` events.
* Hook up HID and keymap to new events
  instead of using behaviour global event
  crazy. | 
|  | * Refactor Kyria into separate left/right "revisions"
  of the Kyria shield, and include central
  kyria.dtsi file with common definition.
* Fixes for keymaps to work fully with matrix
  transforms that override effective rows/columns.
* Add ability for matrix transform to do row/col
  offsets, which is needed for split keyboards. | 
|  |  | 
|  | * Use extra comptible = "zmk,behavior-global" to add
   behaviors to global bindings for event notification.
* Implement mod-tap, as a keymap binding and global one
  to skip tap if other keycode pressed while held. | 
|  | * Do mapping to positions right in kscan handler, and then
  surface positions throughout the API. | 
|  |  | 
|  | * Clearer name to capture essence of the role of the
  transform. | 
|  | * Allows "gaps" for keyboards like Kyra.
* Allows keyboards with matrixes that don't map the logical key
  locations to have normal looking keymaps when defined. | 
|  |  |