Files
zmk-config/config/corne.keymap
Bertrand Benjamin d890decd89
Some checks failed
/ build (push) Failing after 0s
feat: add sym layer
2026-01-03 07:55:16 +01:00

148 lines
8.2 KiB
Plaintext

#include <behaviors.dtsi>
#include <dt-bindings/zmk/bt.h>
#include <dt-bindings/zmk/keys.h>
#define DEFAULT 0
#define RIGHT_ 1
#define LEFT_ 2
#define SHEET_ 3
#define SYM_ 4
/ {
behaviors {
hm: homerow_mods {
compatible = "zmk,behavior-hold-tap";
label = "HOMEROW_MODS";
#binding-cells = <2>;
tapping-term-ms = <200>;
quick-tap-ms = <0>;
flavor = "balanced";
bindings = <&kp>, <&kp>;
};
};
combos {
#include "combos.dtsi"
};
keymap {
compatible = "zmk,keymap";
default_layer {
// -----------------------------------------------------------------------------------------
// | [ | Q | W | E | R | T | | Y | U | I | O | P | ] |
// | \ | A | S | D | F | G | | H | J | K | L | ; | ' |
// | < | Z | X | C | V | B | | N | M | , | . | / | = |
// | TAB | RET | ESC | | BKSP | SP | TAB |
bindings = <
&kp LBKT &kp Q &kp W &kp E &kp R &kp T &kp Y &kp U &kp I &kp O &kp P &kp RBKT
&kp BSLH &hm LGUI A &hm RALT S &hm LCTRL D &hm LSHFT F &kp G &kp H &hm RSHFT J &hm RCTRL K &hm RALT L &hm RGUI SEMI &kp SQT
&kp NUBS &kp Z &kp X &kp C &kp V &kp B &kp N &kp M &kp COMMA &kp DOT &kp FSLH &kp EQUAL
&lt RIGHT_ TAB &lt SYM_ RET &kp ESC &kp BSPC &lt SYM_ SPACE &lt LEFT_ TAB
>;
};
right_layer {
// -----------------------------------------------------------------------------------------
// | BTCLR | | mute | vold | volu | printS | | 6 | 7 | 8 | 9 | 0 | - |
// | BT1 | LGUI | RALT | LCTRL | LSHFT | | | LFT | DWN | UP | RGT | | |
// | BT2 | | | | | | | | F7 | F8 | F9 | F10 | F11 | F12 |
// | | | | | DEL | SPACE | tog SHEET_ |
bindings = <
&bt BT_CLR &trans &kp C_MUTE &kp C_VOL_DN &kp C_VOL_UP &kp PSCRN &kp N6 &kp N7 &kp N8 &kp N9 &kp N0 &kp MINUS
&bt BT_SEL 1 &kp LGUI &kp RALT &kp LCTRL &kp LSHFT &none &kp LEFT &kp DOWN &kp UP &kp RIGHT &none &none
&bt BT_SEL 2 &none &none &none &none &none &kp F7 &kp F8 &kp F9 &kp F10 &kp F11 &kp F12
&trans &trans &trans &kp DEL &kp SPACE &tog SHEET_
>;
};
left_layer {
// -----------------------------------------------------------------------------------------
// | GRAVE | 1 | 2 | 3 | 4 | 5 | | | | | | | BT3 |
// | | \ | { | [ | ] | } | | | RSHFT | RCTRL | RALT | RGUI | BT4 |
// | F1 | F2 | F3 | F4 | F5 | F6 | | | | | | | BT5 |
// | tog SHEET_ | | | | | | |
bindings = <
&kp GRAVE &kp N1 &kp N2 &kp N3 &kp N4 &kp N5 &none &none &none &none &none &bt BT_SEL 3
&kp LA(N6) &kp LA(N8) &kp LA(N4) &kp LA(N5) &kp LA(MINUS) &kp LA(EQUAL) &kp RSHFT &kp RCTRL &kp RALT &kp RGUI &none &bt BT_SEL 4
&kp F1 &kp F2 &kp F3 &kp F4 &kp F5 &kp F6 &none &none &none &none &none &bt BT_SEL 5
&to SHEET_ &none &none &none &none &trans
>;
};
sheet_layer {
// -----------------------------------------------------------------------------------------
// | BSPC | + | 7 | 8 | 9 | - | | | | | | | |
// | DEL | ( | 4 | 5 | 6 | * | | LFT | DWN | UP | RGT | | |
// | NLoc | ) | 1 | 2 | 3 | / | | | | | | | |
// | 0 | . | ENT | | BSPC | SPACE | Tog SHEET_ |
bindings = <
&kp BSPC &kp KP_PLUS &kp KP_N7 &kp KP_N8 &kp KP_N9 &kp KP_MINUS &none &none &none &none &none &kp C_SLEEP
&kp DEL &kp KP_LPAR &kp KP_N4 &kp KP_N5 &kp KP_N6 &kp KP_MULTIPLY &kp LEFT &kp DOWN &kp UP &kp RIGHT &none &none
&kp KP_NUM &kp KP_RPAR &kp KP_N1 &kp KP_N2 &kp KP_N3 &kp KP_DIVIDE &none &none &none &none &none &none
&kp KP_N0 &kp KP_DOT &kp RET &kp BSPC &kp SPACE &tog SHEET_
>;
};
sym_layer {
// -----------------------------------------------------------------------------------------
// | | ^ | < | > | $ | % | | @ | & | * | ' | ` | |
// | | { | ( | ) | } | = | | \ | + | - | / | " | |
// | | ~ | [ | ] | _ | # | | | | ! | ; | : | ? | |
// | | | | | | | |
bindings = <
&none
/\* ^ \*/ &kp LSHFT(N6) /\* Shift+6 -> ^ on AZERTY \*/
/\* < \*/ &kp NUBS /\* NUBS (<) \*/
/\* > \*/ &kp LSHFT(NUBS) /\* Shift+NUBS -> > \*/
/\* $ \*/ &kp RALT(4) /\* AltGr+4 -> $ \*/
/\* % \*/ &kp LSHFT(N5) /\* Shift+5 -> % \*/
&none
/\* @ \*/ &kp RALT(0) /\* AltGr+0 -> @ \*/
/\* & \*/ &kp LSHFT(N6) /\* Shift+6 often -> & (if 6 is &) \*/
/\* \* \*/ &kp LSHFT(N8) /\* Shift+8 -> \* \*/
/\* ' \*/ &kp N4 /\* ' is on 4 without modifier on some AZERTY — adjust if needed \*/
/\* \` \*/ &kp GRAVE /\* backtick \*/
&none
&none
/\* { \*/ &kp LSHFT(LBKT) /\* Shift+[ -> { \*/
/\* ( \*/ &kp LSHFT(N5) /\* Shift+5 -> ( on AZERTY? adjust if variant \*/
/\* ) \*/ &kp LSHFT(N6) /\* Shift+6 -> ) (adjust if needed) \*/
/\* } \*/ &kp LSHFT(RBKT) /\* Shift+] -> } \*/
/\* = \*/ &kp EQUAL /\* = \*/
/\* \*/ &kp EQUAL /\* duplicate in your map — kept as = \*/
/\* \\ \*/ &kp RALT(N8) /\* AltGr+8 -> \\ \*/
/\* + \*/ &kp LSHFT(EQUAL) /\* Shift+= -> + \*/
/\* - \*/ &kp MINUS /\* - \*/
/\* / \*/ &kp N8 /\* / often on 8 without modifier on AZERTY — adjust if needed \*/
/\* " \*/ &kp LSHFT(N3) /\* Shift+3 -> " \*/
&none
&none
/\* ~ \*/ &kp RALT(2) /\* AltGr+2 -> ~ \*/
/\* [ \*/ &kp LBKT /\* [ \*/
/\* ] \*/ &kp RBKT /\* ] \*/
/\* \_ \*/ &kp LSHFT(MINUS) /\* Shift+- -> \_ \*/
/\* # \*/ &kp LSHFT(N3) /\* Shift+3 -> # on some variants (adjust) \*/
&none
/\* | \*/ &kp RALT(N1) /\* AltGr+1 -> | \*/
/\* ! \*/ &kp LSHFT(N1) /\* Shift+1 -> ! \*/
/\* ; \*/ &kp N5 /\* ; on AZERTY often on 5 or key with shift — adjust \*/
/\* : \*/ &kp LSHFT(N7) /\* Shift+7 -> : \*/
/\* ? \*/ &kp LSHFT(N0) /\* Shift+0 -> ? \*/
&none
/\* thumb cluster (placeholders) \*/
&none &none &none &none &none &none
>
};
};
};