// ### include define {{{ /* * Copyright (c) 2020 The ZMK Contributors * * SPDX-License-Identifier: MIT */ #include #include #include #include #include // #include "keymap_german_mac_iso_sources.h" #include "keymap_german_mac_iso.h" // }}} // ### CONFIG_ZMK_DISPLAY {{{ #ifdef CONFIG_ZMK_DISPLAY # include "oled.dtsi" #endif // CONFIG_ZMK_DISPLAY //}}} // ### ifdef CONFIG_ZMK_RGB_UNDERGLOW {{{ #ifdef CONFIG_ZMK_RGB_UNDERGLOW # include # include /* * Temporarily here because nice nano v2 spi is not defined on ZMk Yet * Source: https://github.com/zmkfirmware/zmk/blob/main/app/boards/shields/reviung41/boards/nice_nano.overlay * GitHub Issue: https://github.com/zmkfirmware/zmk/issues/885 */ &spi1 { compatible = "nordic,nrf-spim"; status = "okay"; mosi-pin = <6>; // Unused pins, needed for SPI definition, but not used by the ws2812 driver itself. sck-pin = <5>; miso-pin = <7>; led_strip: ws2812@0 { compatible = "worldsemi,ws2812-spi"; label = "WS2812"; /* SPI */ reg = <0>; /* ignored, but necessary for SPI bindings */ spi-max-frequency = <4000000>; /* WS2812 */ chain-length = <11>; /* arbitrary; change at will */ spi-one-frame = <0x70>; spi-zero-frame = <0x40>; color-mapping = ; }; }; / { chosen { zmk,underglow = &led_strip; }; }; #endif // CONFIG_ZMK_RGB_UNDERGLOW //}}} // ### definiendo capas {{{ #define DEFAULT 0 #define NUMBER 1 #define SYMBOL 2 #define FUNCTION 3 #define MEDIA 4 #define MOUSE 5 // label = "DEFAULT"; // label = "NUMBER"; // label = "SYMBOL"; // label = "FUNCTION"; // label = "MEDIA"; // label = "MOUSE"; // label = "MOUSE"; //}}} // ### definicion de teclado ALEMAN STANDARD {{{ // #define DE_Y &kp Z // Y // #define DE_Z &kp Y // Z // #define DE_SS &kp MINUS // ß // #define DE_UDIA &kp LBKT // Ü // #define DE_ODIA &kp SEMICOLON // Ö // #define DE_ADIA &kp APOS // Ä // #define DE_MINS &kp SLASH // - // #define DE_FSLH &kp AMPS // "/" // #define DE_STAR &kp RBRC // "*" // #define DE_EQUAL &kp RPAR // = // #define DE_PLUS &kp RBKT // + // #define DE_GRAVE &kp PLUS // ` // #define DE_HASH &kp BSLH // # // #define DE_TILDE &kp LA(RBKT) // ~ // #define DE_PIPE &kp RA(GRAVE) // "|" // #define DE_AMPS &kp CARET // "&" // #define DE_BSLH &kp RA(MINUS) // "\" // #define DE_QUESTION &kp LS(MINUS) // ? // #define DE_AT &kp RA(Q) // "@" // #define DE_LPAR &kp LS(N8) // ( // #define DE_RPAR &kp LS(N9) // ) // #define DE_LBKT &kp RA(N8) // [ // #define DE_RBKT &kp RA(N9) // ] // #define DE_LBRC &kp RA(N7) // { // #define DE_RBRC &kp RA(N0) // } // #define DE_LABK &kp GRAVE // < // #define DE_RABK &kp LS(GRAVE) // > // #define DE_APOS &kp PIPE // ' // #define DE_ACUT &kp EQUAL // ´ hasta aqui funciona // // #define DE_CARET &kp HASH // ^ TODO: //}}} / { keymap { compatible = "zmk,keymap"; // ### default_layer {{{ default_layer { // .------------------------------------------------. .-------------------------------------------------. // |LT4 ESC | Q | W | E | R | T | | Z | U | I | O | P | BACKSPC | // |--------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+---------| // |LT5 TAB | A | S | D | F | G | | H | J | K | L | UP | ENTER | // |--------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+---------| // |SHIFT | Y | X | C | V | B | | N | M |LSFT , | LEFT | DOWN | RIGHT | // '---------------------------------------------------------| |----------------------------------------------------------' // | CTRL | CMD | ALT | | LT1 SPACE | LT2 CMD | LT3 RALT | // '--------------------------------' '----------------------------------' // label = "DEFAULT"; bindings = < < MEDIA ESC &kp Q &kp W &kp E &kp R &kp T DE_Z &kp U &kp I &kp O &kp P &kp BSPC < MOUSE TAB &kp A &kp S &kp D &kp F &kp G &kp H &kp J &kp K &kp L &kp UP &kp RET &kp LSHFT DE_Y &kp X &kp C &kp V &kp B &kp N &kp M &mt LSHFT COMMA &kp LEFT &kp DOWN &kp RIGHT &kp LCTRL &kp LGUI &kp RALT < NUMBER SPACE < SYMBOL RGUI < FUNCTION RALT >; }; // }}} // ### number_layer {{{ number_layer { // .-------------------------------------------------. .-------------------------------------------------. // | 0 | 1 | 2 | 3 | - | + | | ß | Ü | Ä | Ö | |BACKSPC | // |---------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+---------| // |CAPS_LOCK| 4 | 5 | 6 | / | * | | # | ~ | ? | @ | | ALT | // |---------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+---------| // | SHIFT | 7 | 8 | 9 | % | = | | . | ´ | ` | | |ALTGR | // '----------------------------------------------------------| |----------------------------------------------------------' // | CTRL | CMD | SPACE | | | LSFT | ALTGR | // '--------------------------------' '--------------------------------' // label = "NUMBER"; bindings = < DE_0 DE_1 DE_2 DE_3 DE_MINS DE_PLUS DE_SS DE_UDIA DE_ADIA DE_ODIA &none &kp BSPC &kp CAPS DE_4 DE_5 DE_6 DE_FSLH DE_STAR DE_HASH DE_TILDE DE_QUESTION DE_AT &none &kp LALT &kp LSHFT DE_7 DE_8 DE_9 &kp PRCNT DE_EQUAL &kp DOT DE_ACUT DE_GRAVE &none &none &kp RALT &kp LCTRL &kp LGUI &kp SPACE &none &kp LSHFT &kp RALT >; }; // }}} // ### symbol_layer {{{ symbol_layer { // .------------------------------------------------. TODO: .-------------------------------------------------. // | $ | ( | ) | [ | ] | ~ | | ´ | ` | | | |BACKSPC | // |--------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+---------| // | % | { | } | ^ |PAGE_UP| # | | & | | | | | | ALT | // |--------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+---------| // |SHIFT | < | > | HOME |PAGE_DO| END | | ~ | ' | | | |ALTGR | // '---------------------------------------------------------| |----------------------------------------------------------' // | CTRL | CMD | SPACE | | ENTER | ALTGR | CTRL | // '--------------------------------' '--------------------------------' // label = "SYMBOL"; bindings = < &kp DLLR DE_LPAR DE_RPAR DE_LBKT DE_RBKT DE_TILDE DE_ACUT DE_GRAVE &none &none &none &kp BSPC &kp PRCNT DE_LBRC DE_RBRC DE_CARET &kp PG_UP DE_HASH DE_AMPS DE_PIPE &none &none &none &kp LALT &kp LSHFT DE_LABK DE_RABK &kp HOME &kp PG_DN &kp END DE_TILDE DE_APOS &none &none &none &kp RALT &kp LCTRL &kp LGUI &kp SPACE &kp RET &kp RALT &kp LCTRL >; }; // }}} // ### function_layer {{{ function_layer { // .------------------------------------------------. .-------------------------------------------------. // | F1 | F2 | F3 | F4 | SPELL |TRADUCT| | | | | | | | // |--------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+---------| // | F5 | F6 | F7 | F8 | \ |ALFRED | |C-A-DEL|PASS | | |BRI_UP | | // |--------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+---------| // | F9 | F10 | F11 | F12 |ALFRED |EMOJI | |L_SHIFT|L_SHIFT|R_SHIFT| | BRI_UP| | // '---------------------------------------------------------| |----------------------------------------------------------' // | CTRL | CMD | ALT | | TAB | ´ | CTRL | // '--------------------------------' '--------------------------------' // LCTL(LGUI(KC_D)), LCTL(LGUI(KC_SPC)) // label = "FUNCTION"; bindings = < &kp F1 &kp F2 &kp F3 &kp F4 &kp LC(LG(D)) &kp LS(LA(T)) &none &none &none &none &none &none &kp F5 &kp F6 &kp F7 &kp F8 DE_BSLH &kp LA(LG(G)) &kp LC(LA(DEL)) &none &none &none &kp C_BRI_UP &none &kp F9 &kp F10 &kp F11 &kp F12 &kp LA(LG(V)) &kp LC(LG(SPACE)) &kp LSHIFT &kp LSHIFT &kp RSHIFT &none &kp C_BRI_DN &none &kp LCTRL &kp LGUI &kp LALT &kp TAB DE_ACUT &kp LCTRL >; }; // }}} // ### media_layer {{{ media_layer { // .------------------------------------------------. .-------------------------------------------------. // | ||||OP_TERM| | |POS1 |POS2 |LANG_1 |LANG_2 | STOP | DELETE | // |--------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+---------| // | ||| | | | |POS3 |POS4 |LANG_3 | |VOL_UP |PLAY/PAUS| // |--------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+---------| // | | | | | | | | | | MUTE | PREV |VOL_DOW| NEXT | // '---------------------------------------------------------| |----------------------------------------------------------' // | CTRL | CMD | ALT | | SPACE | ALTGR | CTRL | // '--------------------------------' '--------------------------------' // &none &none &none &none &none &none &none &none &none &none &none &none // &none &none &none &none &none &none // label = "MEDIA"; bindings = < &none &kp LS(LG(NUMBER_1)) &kp LS(LG(NUMBER_2)) &kp LS(LG(NUMBER_3)) &kp LC(LG(LA(SLASH))) &none &kp LA(LG(NUMBER_1)) &kp LA(LG(NUMBER_2)) &kp LANG1 &kp LANG2 &kp C_STOP &kp DEL &none &kp LS(LG(NUMBER_4)) &kp LS(LG(NUMBER_5)) &none &none &none &kp LA(LG(NUMBER_3)) &kp LA(LG(NUMBER_4)) &kp LANG3 &none &kp C_VOL_UP &kp C_PLAY_PAUSE &none &none &none &none &none &none &none &none &kp C_MUTE &kp K_PREV &kp C_VOL_DN &kp C_NEXT &kp LCTRL &kp LGUI &kp LALT &kp SPACE &kp RALT &kp LCTRL >; }; // }}} #ifdef CONFIG_ZMK_RGB_UNDERGLOW // ### mouse_layer {{{ mouse_layer { // .------------------------------------------------. .-------------------------------------------------. // | | | |OUT_USB|OUT_BLE|OUT_TOG| |RGBBRI-|RGBBRI+|WH_LEFT|WH_RIGH|WH_DOWN| WH_UP | // |--------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+---------| // | |CLICK_1|CLICK_2|BT_CLR |BT_PRV | BT_NXT| |RGBSAT-|RGBSAT+| |CLICK_1| UP |CLICK_2 | // |--------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+---------| // |BT_CLR |BT_0 |BT_1 |BT_2 |BT_3 |BT_4 | |RGBHUE-|RGBHUE+| RESET | LEFT | DOWN | RIGHT | // '---------------------------------------------------------| |----------------------------------------------------------' // |EP_OFF | EP_ON| EP_TOG | |RGBANI- |RGBANI+| RGBTOG | // '--------------------------------' '--------------------------------' // label = "MOUSE"; bindings = < &none &none &none &out OUT_USB &out OUT_BLE &out OUT_TOG &rgb_ug RGB_BRD &rgb_ug RGB_BRI &none &none &none &none &none &none &none &bt BT_CLR &bt BT_PRV &bt BT_NXT &rgb_ug RGB_SAD &rgb_ug RGB_SAI &none &none &none &none &bt BT_CLR &bt BT_SEL 0 &bt BT_SEL 1 &bt BT_SEL 2 &bt BT_SEL 3 &bt BT_SEL 4 &rgb_ug RGB_HUD &rgb_ug RGB_HUI &reset &none &none &none &ext_power EP_OFF &ext_power EP_ON &ext_power EP_TOG &rgb_ug RGB_EFR &rgb_ug RGB_EFF &rgb_ug RGB_TOG >; }; // }}} #else // ### mouse_layer {{{ mouse_layer { // .------------------------------------------------. .-------------------------------------------------. // | | | |OUT_USB|OUT_BLE|OUT_TOG| | | |WH_LEFT|WH_RIGH|WH_DOWN| WH_UP | // |--------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+---------| // | |CLICK_1|CLICK_2|BT_CLR |BT_PRV | BT_NXT| | | | |CLICK_1| UP |CLICK_2 | // |--------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+---------| // |BT_CLR |BT_0 |BT_1 |BT_2 |BT_3 |BT_4 | | | | RESET | LEFT | DOWN | RIGHT | // '---------------------------------------------------------| |----------------------------------------------------------' // |EP_OFF | EP_ON| EP_TOG | | | | | // '--------------------------------' '--------------------------------' // label = "MOUSE"; bindings = < &none &none &none &out OUT_USB &out OUT_BLE &out OUT_TOG &none &none &none &none &none &none &none &none &none &bt BT_CLR &bt BT_PRV &bt BT_NXT &none &none &none &none &none &none &bt BT_CLR &bt BT_SEL 0 &bt BT_SEL 1 &bt BT_SEL 2 &bt BT_SEL 3 &bt BT_SEL 4 &none &none &reset &none &none &none &ext_power EP_OFF &ext_power EP_ON &ext_power EP_TOG &none &none &none >; }; // }}} #endif // CONFIG_ZMK_RGB_UNDERGLOW }; }; // vim: fdm=marker: