Jonathan Rascher
3 years ago
committed by
Pete Johanson
6 changed files with 155 additions and 0 deletions
@ -0,0 +1,3 @@ |
|||||||
|
s/.*hid_listener_keycode/kp/p |
||||||
|
s/.*mo_keymap_binding/mo/p |
||||||
|
s/.*conditional_layer/cl/p |
@ -0,0 +1,10 @@ |
|||||||
|
mo_pressed: position 2 layer 1 |
||||||
|
mo_pressed: position 3 layer 2 |
||||||
|
cl_activate: layer 3 |
||||||
|
cl_activate: layer 4 |
||||||
|
kp_pressed: usage_page 0x07 keycode 0x0c implicit_mods 0x00 explicit_mods 0x00 |
||||||
|
kp_released: usage_page 0x07 keycode 0x0c implicit_mods 0x00 explicit_mods 0x00 |
||||||
|
mo_released: position 3 layer 2 |
||||||
|
cl_deactivate: layer 3 |
||||||
|
cl_deactivate: layer 4 |
||||||
|
mo_released: position 2 layer 1 |
@ -0,0 +1,62 @@ |
|||||||
|
#include <behaviors.dtsi> |
||||||
|
#include <dt-bindings/zmk/keys.h> |
||||||
|
#include <dt-bindings/zmk/kscan_mock.h> |
||||||
|
|
||||||
|
/ { |
||||||
|
conditional_layers { |
||||||
|
compatible = "zmk,conditional-layers"; |
||||||
|
conditional_layer_1 { |
||||||
|
if-layers = <1 2>; |
||||||
|
then-layer = <3>; |
||||||
|
}; |
||||||
|
conditional_layer_2 { |
||||||
|
if-layers = <1 3>; |
||||||
|
then-layer = <4>; |
||||||
|
}; |
||||||
|
}; |
||||||
|
|
||||||
|
keymap { |
||||||
|
compatible = "zmk,keymap"; |
||||||
|
default_layer { |
||||||
|
bindings = < |
||||||
|
&kp A &kp B |
||||||
|
&mo 1 &mo 2 |
||||||
|
>; |
||||||
|
}; |
||||||
|
layer_1 { |
||||||
|
bindings = < |
||||||
|
&kp C &kp D |
||||||
|
&trans &trans |
||||||
|
>; |
||||||
|
}; |
||||||
|
layer_2 { |
||||||
|
bindings = < |
||||||
|
&kp E &kp F |
||||||
|
&trans &trans |
||||||
|
>; |
||||||
|
}; |
||||||
|
layer_3 { |
||||||
|
bindings = < |
||||||
|
&kp G &kp H |
||||||
|
&trans &trans |
||||||
|
>; |
||||||
|
}; |
||||||
|
layer_4 { |
||||||
|
bindings = < |
||||||
|
&kp I &kp J |
||||||
|
&trans &trans |
||||||
|
>; |
||||||
|
}; |
||||||
|
}; |
||||||
|
}; |
||||||
|
|
||||||
|
&kscan { |
||||||
|
events = < |
||||||
|
ZMK_MOCK_PRESS(1,0,10) |
||||||
|
ZMK_MOCK_PRESS(1,1,10) |
||||||
|
ZMK_MOCK_PRESS(0,0,10) |
||||||
|
ZMK_MOCK_RELEASE(0,0,10) |
||||||
|
ZMK_MOCK_RELEASE(1,1,10) |
||||||
|
ZMK_MOCK_RELEASE(1,0,10) |
||||||
|
>; |
||||||
|
}; |
@ -0,0 +1,3 @@ |
|||||||
|
s/.*hid_listener_keycode/kp/p |
||||||
|
s/.*mo_keymap_binding/mo/p |
||||||
|
s/.*conditional_layer/cl/p |
@ -0,0 +1,17 @@ |
|||||||
|
mo_pressed: position 1 layer 3 |
||||||
|
cl_deactivate: layer 3 |
||||||
|
kp_pressed: usage_page 0x07 keycode 0x04 implicit_mods 0x00 explicit_mods 0x00 |
||||||
|
kp_released: usage_page 0x07 keycode 0x04 implicit_mods 0x00 explicit_mods 0x00 |
||||||
|
mo_pressed: position 2 layer 1 |
||||||
|
mo_pressed: position 3 layer 2 |
||||||
|
cl_activate: layer 3 |
||||||
|
kp_pressed: usage_page 0x07 keycode 0x07 implicit_mods 0x00 explicit_mods 0x00 |
||||||
|
kp_released: usage_page 0x07 keycode 0x07 implicit_mods 0x00 explicit_mods 0x00 |
||||||
|
mo_released: position 3 layer 2 |
||||||
|
cl_deactivate: layer 3 |
||||||
|
mo_released: position 2 layer 1 |
||||||
|
kp_pressed: usage_page 0x07 keycode 0x04 implicit_mods 0x00 explicit_mods 0x00 |
||||||
|
kp_released: usage_page 0x07 keycode 0x04 implicit_mods 0x00 explicit_mods 0x00 |
||||||
|
mo_released: position 1 layer 3 |
||||||
|
kp_pressed: usage_page 0x07 keycode 0x04 implicit_mods 0x00 explicit_mods 0x00 |
||||||
|
kp_released: usage_page 0x07 keycode 0x04 implicit_mods 0x00 explicit_mods 0x00 |
@ -0,0 +1,60 @@ |
|||||||
|
#include <behaviors.dtsi> |
||||||
|
#include <dt-bindings/zmk/keys.h> |
||||||
|
#include <dt-bindings/zmk/kscan_mock.h> |
||||||
|
|
||||||
|
/ { |
||||||
|
conditional_layers { |
||||||
|
compatible = "zmk,conditional-layers"; |
||||||
|
tri_layer { |
||||||
|
if-layers = <1 2>; |
||||||
|
then-layer = <3>; |
||||||
|
}; |
||||||
|
}; |
||||||
|
|
||||||
|
keymap { |
||||||
|
compatible = "zmk,keymap"; |
||||||
|
default_layer { |
||||||
|
bindings = < |
||||||
|
&kp A &mo 3 |
||||||
|
&mo 1 &mo 2 |
||||||
|
>; |
||||||
|
}; |
||||||
|
layer_1 { |
||||||
|
bindings = < |
||||||
|
&kp B &trans |
||||||
|
&trans &trans |
||||||
|
>; |
||||||
|
}; |
||||||
|
layer_2 { |
||||||
|
bindings = < |
||||||
|
&kp C &trans |
||||||
|
&trans &trans |
||||||
|
>; |
||||||
|
}; |
||||||
|
layer_3 { |
||||||
|
bindings = < |
||||||
|
&kp D &trans |
||||||
|
&trans &trans |
||||||
|
>; |
||||||
|
}; |
||||||
|
}; |
||||||
|
}; |
||||||
|
|
||||||
|
&kscan { |
||||||
|
events = < |
||||||
|
ZMK_MOCK_PRESS(0,1,10) |
||||||
|
ZMK_MOCK_PRESS(0,0,10) |
||||||
|
ZMK_MOCK_RELEASE(0,0,10) |
||||||
|
ZMK_MOCK_PRESS(1,0,10) |
||||||
|
ZMK_MOCK_PRESS(1,1,10) |
||||||
|
ZMK_MOCK_PRESS(0,0,10) |
||||||
|
ZMK_MOCK_RELEASE(0,0,10) |
||||||
|
ZMK_MOCK_RELEASE(1,1,10) |
||||||
|
ZMK_MOCK_RELEASE(1,0,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_RELEASE(0,0,10) |
||||||
|
>; |
||||||
|
}; |
Loading…
Reference in new issue