summaryrefslogtreecommitdiff
path: root/app/include/zmk/keymap.h
diff options
context:
space:
mode:
authorOkke Formsma <okke@formsma.nl>2020-12-12 20:31:42 +0100
committerPete Johanson <peter@peterjohanson.com>2021-02-02 00:43:26 -0500
commit84d19fe79b04af0fca87621306b1526a629a7957 (patch)
tree59efb148654999fbee4bb6f37ba83d151bcfe525 /app/include/zmk/keymap.h
parentf39121f82e45d42cee06dec852f164494597245a (diff)
refactor(behaviors): factor out multiple uses of _TRANSFORM_ENTRY
Diffstat (limited to 'app/include/zmk/keymap.h')
-rw-r--r--app/include/zmk/keymap.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/app/include/zmk/keymap.h b/app/include/zmk/keymap.h
index 4bcdc2b..4ac91cb 100644
--- a/app/include/zmk/keymap.h
+++ b/app/include/zmk/keymap.h
@@ -19,3 +19,12 @@ int zmk_keymap_layer_to(uint8_t layer);
const char *zmk_keymap_layer_label(uint8_t layer);
int zmk_keymap_position_state_changed(uint32_t position, bool pressed, int64_t timestamp);
+
+#define ZMK_KEYMAP_EXTRACT_BINDING(idx, drv_inst) \
+ { \
+ .behavior_dev = DT_LABEL(DT_PHANDLE_BY_IDX(drv_inst, bindings, idx)), \
+ .param1 = COND_CODE_0(DT_PHA_HAS_CELL_AT_IDX(drv_inst, bindings, idx, param1), (0), \
+ (DT_PHA_BY_IDX(drv_inst, bindings, idx, param1))), \
+ .param2 = COND_CODE_0(DT_PHA_HAS_CELL_AT_IDX(drv_inst, bindings, idx, param2), (0), \
+ (DT_PHA_BY_IDX(drv_inst, bindings, idx, param2))), \
+ }