mirror of
https://github.com/babariviere/zmk-config.git
synced 2025-01-18 19:12:29 +00:00
113 lines
11 KiB
Text
113 lines
11 KiB
Text
// Copyright (c) 2022 The ZMK Contributors
|
|
// SPDX-License-Identifier: MIT
|
|
|
|
#include <behaviors.dtsi>
|
|
#include <dt-bindings/zmk/keys.h>
|
|
#include <dt-bindings/zmk/bt.h>
|
|
|
|
#define BASE 0
|
|
#define SYM 1
|
|
#define NAV 2
|
|
#define WNAV 3
|
|
#define NUM 5
|
|
#define FUN 6
|
|
#define MODS 7
|
|
#define FRA 8
|
|
|
|
#define SPC_NUM < SPACE NUM
|
|
// Home row mods macro
|
|
#define HRML(k1,k2,k3,k4) &ht LSHFT k1 &ht LALT k2 &ht LCTRL k3 &ht LGUI k4
|
|
#define HRMR(k1,k2,k3,k4) &ht RGUI k1 &ht RCTRL k2 &ht RALT k3 &ht RSHFT k4
|
|
|
|
/ {
|
|
behaviors {
|
|
ht: hold_tap {
|
|
compatible = "zmk,behavior-hold-tap";
|
|
#binding-cells = <2>;
|
|
flavor = "tap-preferred";
|
|
tapping-term-ms = <220>;
|
|
quick-tap-ms = <150>;
|
|
require-prior-idle-ms = <100>;
|
|
bindings = <&kp>, <&kp>;
|
|
};
|
|
};
|
|
|
|
conditional_layers {
|
|
compatible = "zmk,conditional-layers";
|
|
tri_layer {
|
|
if-layers = <SYM NAV>;
|
|
then-layer = <WNAV>;
|
|
};
|
|
};
|
|
|
|
keymap {
|
|
compatible = "zmk,keymap";
|
|
base {
|
|
bindings = <
|
|
//╭──────────┬──────────┬──────────┬──────────┬──────────╮ ╭──────────┬──────────┬──────────┬──────────┬──────────╮
|
|
//│ Q │ W │ F │ P │ B │ │ J │ L │ U │ Y │ ' │
|
|
&kp Q &kp W &kp F &kp P &kp B &kp J &kp L &kp U &kp Y &kp SQT
|
|
//├──────────┼──────────┼──────────┼──────────┼──────────┤ ├──────────┼──────────┼──────────┼──────────┼──────────┤
|
|
//│ A │ R │ S │ T │ G │ │ M │ N │ E │ I │ O │
|
|
&kp A &kp R &kp S &kp T &kp G &kp M &kp N &kp E &kp I &kp O
|
|
//├──────────┼──────────┼──────────┼──────────┼──────────┤ ├──────────┼──────────┼──────────┼──────────┼──────────┤
|
|
//│ Z │ X │ C │ D │ V │ │ K │ H │ , < │ . > │ / ? │
|
|
&kp Z &kp X &kp C &kp D &kp V &kp K &kp H &kp COMMA &kp DOT &kp FSLH
|
|
//╰──────────┴──────────┴──────────┼──────────┼──────────┤ ├──────────┼──────────┼──────────┴──────────┴──────────╯
|
|
&mo NAV &kp LSHFT SPC_NUM &mo SYM
|
|
// ╰──────────┴──────────╯ ╰──────────┴──────────╯
|
|
>;
|
|
};
|
|
|
|
symbols {
|
|
bindings = <
|
|
//╭──────────┬──────────┬──────────┬──────────┬──────────╮ ╭──────────┬──────────┬──────────┬──────────┬──────────╮
|
|
//│ ~ │ & │ * │ + │ │ │ │ = │ \ │ | │ ` │
|
|
&kp TILDE &kp AMPS &kp STAR &kp PLUS &none &none &kp EQUAL &kp BSLH &kp PIPE &kp GRAVE
|
|
//├──────────┼──────────┼──────────┼──────────┼──────────┤ ├──────────┼──────────┼──────────┼──────────┼──────────┤
|
|
//│ │ $ │ % │ ^ │ - │ │ : │ ( │ { │ [ │ │
|
|
&none &kp DLLR &kp PRCNT &kp CARET &kp MINUS &kp COLN &kp LPAR &kp LBRC &kp LBKT &none
|
|
//├──────────┼──────────┼──────────┼──────────┼──────────┤ ├──────────┼──────────┼──────────┼──────────┼──────────┤
|
|
//│ │ ! │ @ │ # │ _ │ │ ; │ ) │ } │ ] │ │
|
|
&none &kp EXCL &kp AT &kp HASH &kp UNDER &kp SEMI &kp RPAR &kp RBRC &kp RBKT &none
|
|
//╰──────────┴──────────┴──────────┼──────────┼──────────┤ ├──────────┼──────────┼──────────┴──────────┴──────────╯
|
|
&trans &kp ESC &trans &trans
|
|
// ╰──────────┴──────────╯ ╰──────────┴──────────╯
|
|
>;
|
|
};
|
|
|
|
left_layer {
|
|
bindings = <
|
|
//╭──────────┬──────────┬──────────┬──────────┬──────────╮ ╭──────────┬──────────┬──────────┬──────────┬──────────╮
|
|
//│ │ [ │ { │ } │ │ │ ^ │ ( │ ) │ ] │ ~ │
|
|
&trans &kp LBKT &kp LBRC &kp RBRC &trans &kp CARET &kp LPAR &kp RPAR &kp RBKT &kp TILDE
|
|
//├──────────┼──────────┼──────────┼──────────┼──────────┤ ├──────────┼──────────┼──────────┼──────────┼──────────┤
|
|
//│ ! │ @ │ # │ $ │ % │ │ * │ - │ = │ \ │ ` │
|
|
&kp EXCL &kp AT &kp HASH &kp DLLR &kp PRCNT &kp ASTRK &kp MINUS &kp EQUAL &kp BSLH &kp GRAVE
|
|
//├──────────┼──────────┼──────────┼──────────┼──────────┤ ├──────────┼──────────┼──────────┼──────────┼──────────┤
|
|
//│ │ │ │ │ │ │ & │ _ │ + │ │ │ │
|
|
&trans &trans &trans &trans &trans &kp AMPS &kp UNDER &kp PLUS &kp PIPE &trans
|
|
//╰──────────┴──────────┴──────────┼──────────┼──────────┤ ├──────────┼──────────┼──────────┴──────────┴──────────╯
|
|
&trans &trans &trans &trans
|
|
// ╰──────────┴──────────╯ ╰──────────┴──────────╯
|
|
>;
|
|
};
|
|
|
|
tri_layer {
|
|
bindings = <
|
|
//╭──────────┬──────────┬──────────┬──────────┬──────────╮ ╭──────────┬──────────┬──────────┬──────────┬──────────╮
|
|
//│ RESET │ │ │ │PROFILE 0 │ │ │ │ │ │ RESET │
|
|
&sys_reset &trans &trans &trans &bt BT_SEL 0 &trans &trans &trans &trans &sys_reset
|
|
//├──────────┼──────────┼──────────┼──────────┼──────────┤ ├──────────┼──────────┼──────────┼──────────┼──────────┤
|
|
//│BOOTLOADER│ │ │ │PROFILE 1 │ │ │ │ │ │BOOTLOADER│
|
|
&bootloader &trans &trans &trans &bt BT_SEL 1 &trans &trans &trans &trans &bootloader
|
|
//├──────────┼──────────┼──────────┼──────────┼──────────┤ ├──────────┼──────────┼──────────┼──────────┼──────────┤
|
|
//│ │ │ │ CLEAR BT │PROFILE 2 │ │ │ │ │ │ │
|
|
&trans &trans &trans &bt BT_CLR &bt BT_SEL 2 &trans &trans &trans &trans &trans
|
|
//╰──────────┴──────────┴──────────┼──────────┼──────────┤ ├──────────┼──────────┼──────────┴──────────┴──────────╯
|
|
&trans &trans &trans &trans
|
|
// ╰──────────┴──────────╯ ╰──────────┴──────────╯
|
|
>;
|
|
};
|
|
};
|
|
};
|