diff options
Diffstat (limited to 'app/boards/shields/petejohanson_proton_handwire/keymap')
3 files changed, 85 insertions, 0 deletions
diff --git a/app/boards/shields/petejohanson_proton_handwire/keymap/include/keymap.h b/app/boards/shields/petejohanson_proton_handwire/keymap/include/keymap.h new file mode 100644 index 0000000..0fd2f9f --- /dev/null +++ b/app/boards/shields/petejohanson_proton_handwire/keymap/include/keymap.h @@ -0,0 +1,9 @@ + +#include <dt-bindings/zmk/keys.h> + +#define DEFAULT 0 +#define RAISE 1 +#define LOWER 2 + +#define CC_RAIS ZC_CSTM(RAISE) +#define CC_LOWR ZC_CSTM(LOWER) diff --git a/app/boards/shields/petejohanson_proton_handwire/keymap/keymap.c b/app/boards/shields/petejohanson_proton_handwire/keymap/keymap.c new file mode 100644 index 0000000..bde15ac --- /dev/null +++ b/app/boards/shields/petejohanson_proton_handwire/keymap/keymap.c @@ -0,0 +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(LOWER); + } + else + { + zmk_keymap_layer_deactivate(LOWER); + } + + return false; + case CC_RAIS: + if (key_event->pressed) + { + zmk_keymap_layer_activate(RAISE); + } + else + { + zmk_keymap_layer_deactivate(RAISE); + } + return false; + } + + return true; +}; diff --git a/app/boards/shields/petejohanson_proton_handwire/keymap/keymap.overlay b/app/boards/shields/petejohanson_proton_handwire/keymap/keymap.overlay new file mode 100644 index 0000000..c1bd542 --- /dev/null +++ b/app/boards/shields/petejohanson_proton_handwire/keymap/keymap.overlay @@ -0,0 +1,42 @@ +#include <dt-bindings/zmk/keys.h> +#include <keymap.h> + +/ { + chosen { + zmk,keymap = &keymap0; + }; + keymap0: keymap { + compatible = "zmk,keymap"; + label ="Default keymap"; + layers = <&default &lower &raise>; + }; + + layers { + compatible = "zmk,layers"; + + default: layer_0 { + label = "DEFAULT"; + keys = + < + KC_A MT(MOD_LSFT, KC_B) + CC_RAIS CC_LOWR + >; + }; + + lower: layer_1 { + label = "LOWER"; + keys = < + KC_MPLY KC_MNXT + ZC_TRNS ZC_TRNS + >; + }; + + raise: layer_2 { + label = "RAISE"; + keys = < + KC_C KC_D + ZC_TRNS ZC_TRNS + >; + }; + }; +}; |