keyboard/zmk-config/config/nibble.keymap

137 lines
6.9 KiB
Plaintext

/*
* Copyright (c) 2020 The ZMK Contributors
*
* SPDX-License-Identifier: MIT
*/
#include <behaviors.dtsi>
#include <dt-bindings/zmk/keys.h>
#include <dt-bindings/zmk/rgb.h>
#include <dt-bindings/zmk/ext_power.h>
#define TIMEOUT_COMBO 250
#define LAYER_ID_DEFAULT 0
#define LAYER_ID_NAV 1
#define LAYER_ID_FUNC 2
#define LAYER_ID_ALT 3
#define LAYER_ID_MISC 4
&pro_micro_i2c {
status = "okay";
};
/ {
sensors {
compatible = "zmk,keymap-sensors";
sensors = <&encoder_1>;
};
behaviors {
tildeesc: tilde_escape {
compatible = "zmk,behavior-mod-morph";
label = "TILDE_ESCAPE";
#binding-cells = <0>;
bindings = <&kp ESC>, <&kp TILDE>;
mods = <(MOD_LSFT)>;
};
};
combos {
compatible = "zmk,combos";
combo_layer_navigations_left {
timeout-ms = <TIMEOUT_COMBO>;
key-positions = <34 19 36>;
bindings = <&tog LAYER_ID_NAV>;
layers = <LAYER_ID_NAV LAYER_ID_FUNC>;
};
combo_layer_navigation_right {
timeout-ms = <TIMEOUT_COMBO>;
key-positions = <39 24 41>;
bindings = <&tog LAYER_ID_NAV>;
layers = <LAYER_ID_NAV LAYER_ID_FUNC>;
};
combo_shift_lock_left {
timeout-ms = <TIMEOUT_COMBO>;
key-positions = <19 35>;
bindings = <&kt LSHFT>;
layers = <LAYER_ID_NAV LAYER_ID_FUNC>;
};
combo_shift_lock_right {
timeout-ms = <TIMEOUT_COMBO>;
key-positions = <24 40>;
bindings = <&kt LSHFT>;
layers = <LAYER_ID_NAV LAYER_ID_FUNC>;
};
};
keymap {
compatible = "zmk,keymap";
default_layer {
label = "ANSI";
sensor-bindings = <&inc_dec_kp C_VOLUME_UP C_VOLUME_DOWN>;
bindings = <
&tildeesc &kp N1 &kp N2 &kp N3 &kp N4 &kp N5 &kp N6 &kp N7 &kp N8 &kp N9 &kp N0 &kp MINUS &kp EQUAL &kp BSPC &kp HOME
&kp C_MUTE &kp TAB &kp Q &kp W &kp E &kp R &kp T &kp Y &kp U &kp I &kp O &kp P &kp LBKT &kp RBKT &kp BSLH &kp PG_UP
&mo LAYER_ID_MISC &mo LAYER_ID_ALT &kp A &kp S &kp D &kp F &kp G &kp H &kp J &kp K &kp L &kp SEMI &kp SQT &kp RET &kp PG_DN
&trans &kp LSHFT &none &kp Z &kp X &kp C &kp V &kp B &kp N &kp M &kp COMMA &kp DOT &kp FSLH &kp RSHFT &kp UP &kp END
&trans &kp LCTRL &kp LGUI &kp LALT &kp SPACE &mo LAYER_ID_FUNC &kp RCTRL &kp RALT &kp LEFT &kp DOWN &kp RIGHT
>;
};
nav_layer {
label = "Nav";
sensor-bindings = <&inc_dec_kp C_VOLUME_UP C_VOLUME_DOWN>;
bindings = <
&trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &kp DEL
&trans &trans &kp PG_UP &kp HOME &kp UP &kp END &trans &trans &kp HOME &kp UP &kp END &kp PG_UP &trans &trans &trans &trans
&none &trans &kp PG_DN &kp LEFT &kp DOWN &kp RIGHT &trans &trans &kp LEFT &kp DOWN &kp RIGHT &kp PG_DN &trans &trans &trans
&none &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans
&none &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans
>;
};
function_layer {
label = "Function";
sensor-bindings = <&inc_dec_kp C_VOLUME_UP C_VOLUME_DOWN>;
bindings = <
&kp GRAVE &kp F1 &kp F2 &kp F3 &kp F4 &kp F5 &kp F6 &kp F7 &kp F8 &kp F9 &kp F10 &kp F11 &kp F12 &trans &kp DEL
&trans &kp CAPS &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &kp INS &kp INS
&none &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &kp PSCRN &kp PSCRN
&none &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &kp C_PP
&none &trans &trans &trans &trans &trans &kp C_VOLUME_UP &kp C_VOLUME_DOWN &kp C_MUTE &trans &trans
>;
};
alt_layer {
label = "Alt";
sensor-bindings = <&inc_dec_kp C_VOLUME_UP C_VOLUME_DOWN>;
bindings = <
&trans &kp LA(F1) &kp LA(F2) &kp LA(F3) &kp LA(F4) &kp LA(F5) &kp LA(F6) &kp LA(F7) &kp LA(F8) &kp LA(F9) &kp LA(F10) &kp LA(F11) &kp LA(F12) &trans &trans
&trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans
&none &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans
&none &trans &none &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans
&none &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans
>;
};
misc_layer {
label = "Misc";
sensor-bindings = <&inc_dec_kp C_VOLUME_UP C_VOLUME_DOWN>;
bindings = <
&trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans
&trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans
&mo LAYER_ID_MISC &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans
&none &trans &none &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans
&none &trans &trans &trans &trans &ext_power EP_TOG &trans &trans &trans &trans &trans
>;
};
};
};