Implement raise/lower for default keymap.

* Properly allow includes for keymaps to allow defining
  custom keycodes, and then adding them to the
  keymap.overlay file.
* Fix keymap.c loading after build refactor.
* Fix for deactivating a layer working properly.
* Fix default keymap to put transparent in proper spots to
  make raise/lower keycodes work as expected.
* Add custom raise/lower keycode handling to default
  keymap.
This commit is contained in:
Pete Johanson
2020-05-18 13:42:41 -04:00
parent c1905745b3
commit f478438f01
8 changed files with 69 additions and 22 deletions

View File

@@ -0,0 +1,5 @@
#include <dt-bindings/zmk/keys.h>
#define CC_RAIS ZC_CSTM(1)
#define CC_LOWR ZC_CSTM(2)

View File

@@ -1,7 +1,34 @@
#include <zmk/keys.h>
#include <zmk/keymap.h>
#include <keymap.h>
bool zmk_handle_key_user(struct zmk_key_event *key_event)
{
switch (key_event->key)
{
case CC_LOWR:
if (key_event->pressed)
{
zmk_keymap_layer_activate(1);
}
else
{
zmk_keymap_layer_deactivate(1);
}
return false;
case CC_RAIS:
if (key_event->pressed)
{
zmk_keymap_layer_activate(2);
}
else
{
zmk_keymap_layer_deactivate(2);
}
return false;
}
return true;
};

View File

@@ -1,4 +1,5 @@
#include <dt-bindings/zmk/keys.h>
#include <keymap.h>
/ {
chosen {
@@ -14,22 +15,22 @@
compatible = "zmk,layers";
default: layer_0 {
label = "Default";
label = "DEFAULT";
keys =
<
KC_A KC_B
KC_C ZC_CSTM(1)
CC_RAIS CC_LOWR
>;
};
lower: layer_1 {
label = "Lower";
keys = <KC_D KC_C KC_B KC_A>;
label = "LOWER";
keys = <KC_D KC_C ZC_TRNS ZC_TRNS>;
};
raise: layer_2 {
label = "Raise";
keys = <KC_C KC_D KC_A KC_B>;
label = "RAISE";
keys = <KC_C KC_D ZC_TRNS ZC_TRNS>;
};
};
};