#include #include #include / { combos { compatible = "zmk,combos"; combo_one { timeout-ms = <30>; key-positions = <0 1>; bindings = <&kp X>; }; combo_two { timeout-ms = <30>; key-positions = <0 2>; bindings = <&kp Y>; }; combo_three { timeout-ms = <30>; key-positions = <3>; bindings = <&kp Z>; }; }; keymap { compatible = "zmk,keymap"; label ="Default keymap"; default_layer { bindings = < &kp A &kp B &kp C &none >; }; }; }; &kscan { events = < /* all permutations of combo one press and release */ ZMK_MOCK_PRESS(0,0,10) ZMK_MOCK_PRESS(0,1,10) ZMK_MOCK_RELEASE(0,0,10) ZMK_MOCK_RELEASE(0,1,10) ZMK_MOCK_PRESS(0,1,10) ZMK_MOCK_PRESS(0,0,10) ZMK_MOCK_RELEASE(0,1,10) ZMK_MOCK_RELEASE(0,0,10) ZMK_MOCK_PRESS(0,1,10) ZMK_MOCK_PRESS(0,0,10) ZMK_MOCK_RELEASE(0,0,10) ZMK_MOCK_RELEASE(0,1,10) ZMK_MOCK_PRESS(0,0,10) ZMK_MOCK_PRESS(0,1,10) ZMK_MOCK_RELEASE(0,1,10) ZMK_MOCK_RELEASE(0,0,10) /* all permutations of combo two press and release */ ZMK_MOCK_PRESS(0,0,10) ZMK_MOCK_PRESS(0,2,10) ZMK_MOCK_RELEASE(0,0,10) ZMK_MOCK_RELEASE(0,2,10) ZMK_MOCK_PRESS(0,2,10) ZMK_MOCK_PRESS(0,0,10) ZMK_MOCK_RELEASE(0,2,10) ZMK_MOCK_RELEASE(0,0,10) ZMK_MOCK_PRESS(0,2,10) ZMK_MOCK_PRESS(0,0,10) ZMK_MOCK_RELEASE(0,0,10) ZMK_MOCK_RELEASE(0,2,10) ZMK_MOCK_PRESS(0,0,10) ZMK_MOCK_PRESS(0,2,10) ZMK_MOCK_RELEASE(0,2,10) ZMK_MOCK_RELEASE(0,0,10) >; };