diff options
Diffstat (limited to 'include/zmk')
-rw-r--r-- | include/zmk/keymap.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/include/zmk/keymap.h b/include/zmk/keymap.h index 9b58cc0..e575774 100644 --- a/include/zmk/keymap.h +++ b/include/zmk/keymap.h @@ -11,6 +11,16 @@ #define ZMK_KEYMAP_NODE DT_CHOSEN(zmk_keymap) #define ZMK_KEYMAP_LAYERS_LEN DT_PROP_LEN(ZMK_KEYMAP_NODE, layers) +#define _ZMK_LAYER_ENUM_ITEM(label) DT_CAT(label, _layer) + +#define _ZMK_KEYMAP_GENERATE_LAYER_CONST(node_id) \ + _ZMK_LAYER_ENUM_ITEM(DT_NODELABEL(node_id)), + +enum zmk_keymap_layer +{ + DT_FOREACH_CHILD(DT_INST(0, zmk_layers), _ZMK_KEYMAP_GENERATE_LAYER_CONST) +}; + bool zmk_keymap_layer_activate(u8_t layer); bool zmk_keymap_layer_deactivate(u8_t layer); |