summaryrefslogtreecommitdiff
path: root/app/src/keymap.c
AgeCommit message (Collapse)Author
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-16fix momentary layer bug when top layer is not &transOkke Formsma
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.
2020-11-03initial implementation for modifiersOkke Formsma
https://github.com/zmkfirmware/zmk/issues/86
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-09-14chore: clang-format the codebase.Pete Johanson
* Use the LLVM style * Override indent width (8) and column limit (100) * Fixes #142.
2020-09-10fix: Switch to single AUTHORS file.* Closes #164Pete Johanson
2020-09-01fix(core): track layer state with keypressCody McGinnis
2020-08-18fix(keymap): add brackets around if statement bodyCody McGinnis
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-09Invoke called behavior after layer change.Pete Johanson
* 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.
2020-08-06Remove debugging line that snuck in.Pete Johanson
2020-08-06Refactor to simpler keymaps.Pete Johanson
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-06-30Whitespace fix.Pete Johanson
2020-06-30Initial event manager work, and two first events.Pete Johanson
* 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.
2020-06-27Kyria left/right overlays, matrix transform fixesPete Johanson
* 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.
2020-06-22Fix consumer keys w/ refactored behaviors.Pete Johanson
2020-06-21Refactor global bindings, implement mod-tap.Pete Johanson
* 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.
2020-06-20Refactor matrix transform, positions pervasivelyPete Johanson
* Do mapping to positions right in kscan handler, and then surface positions throughout the API.
2020-06-19Some initial work on behavior bindings for keymapsPete Johanson
2020-06-16Rename keymap-transform to matrix-transform.Pete Johanson
* Clearer name to capture essence of the role of the transform.
2020-06-15Initial work on keymap transforms for non-standard matrixes.Pete Johanson
* 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.
2020-06-08Move Zephyr app into subdirectory.Pete Johanson