290 lines
18 KiB
Text
290 lines
18 KiB
Text
/* ========================================
|
||
FileName: corne.keymap
|
||
Date: 15:17 23.September.2022
|
||
Author: Marcos Chow Castro
|
||
Email: mctechnology170318@gmail.com
|
||
GitHub: https://github.com/mctechnology17
|
||
Brief: keymap for the wireless corne keyboard
|
||
╔═╦═╦═╗
|
||
╔════╗ ║║║║║╔╝
|
||
║╔╗╔╗║ ║║║║║╚╗
|
||
╚╝║║╚╝ ║╠═╩╩═╝
|
||
║╠═╦═╣╚╦═╦╦═╦╗╔═╦═╦╦╗
|
||
║║╩╣═╣║║║║║╬║╚╣╬║╬║║║
|
||
╚╩═╩═╩╩╩╩═╩═╩═╩═╬╗╠╗║
|
||
╚═╩═╝
|
||
Copyright (c) 2020 The ZMK Contributors
|
||
SPDX-License-Identifier: MIT
|
||
========================================= */
|
||
// ### include define {{{
|
||
#include <behaviors.dtsi>
|
||
#include <dt-bindings/zmk/keys.h>
|
||
#include <dt-bindings/zmk/bt.h>
|
||
#include <dt-bindings/zmk/outputs.h>
|
||
#include <dt-bindings/zmk/ext_power.h>
|
||
#include "keymap_german_mac_iso_zmk.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 <dt-bindings/zmk/rgb.h>
|
||
# include <dt-bindings/led/led.h>
|
||
|
||
/*
|
||
* 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 = <LED_COLOR_ID_GREEN LED_COLOR_ID_RED LED_COLOR_ID_BLUE>;
|
||
};
|
||
};
|
||
|
||
/ {
|
||
chosen {
|
||
zmk,underglow = &led_strip;
|
||
};
|
||
};
|
||
#endif // CONFIG_ZMK_RGB_UNDERGLOW
|
||
//}}}
|
||
// ### definiendo capas + otros {{{
|
||
#define DEFAULT 0
|
||
#define NUMBER 1
|
||
#define SYMBOL 2
|
||
#define FUNCTION 3
|
||
#define MEDIA 4
|
||
#define MOUSE 5
|
||
#define LOCK_LAYER 6
|
||
#define LOCK &tog LOCK_LAYER
|
||
#define UNLOCK &tog DEFAULT
|
||
#define TO_FUNCTION &tog FUNCTION
|
||
// combinadas para optimizar espacio
|
||
#define MEDIA_ESC < MEDIA ESC
|
||
#define MOUSE_TAB < MOUSE TAB
|
||
#define NUMBER_SPACE < NUMBER SPACE
|
||
#define SYMBOL_RGUI < SYMBOL RGUI
|
||
#define FUNCTION_RALT < FUNCTION RALT
|
||
// default_layer
|
||
#define LSHFT_COMMA &mt LSHFT COMMA
|
||
// function_layer
|
||
#define SPELL &kp LC(LG(D))
|
||
#define TRADUCT &kp LS(LA(T))
|
||
#define SNIPPET &kp LA(LG(G))
|
||
#define CLIPBRD &kp LA(LG(V))
|
||
#define EMOJI &kp LC(LG(SPACE))
|
||
#define TASKM &kp LC(LA(DEL)) // C-A-DEL
|
||
// media_layer
|
||
#define SC_FLOW &kp LS(LG(NUMBER_1)) // <S-D-1> ScrenFlow app for MacOS
|
||
#define TXTSNIP &kp LS(LG(NUMBER_2)) // <S-D-2> TextSniper app for MacOS
|
||
#define SC_SHOT &kp LS(LG(NUMBER_3)) // <S-D-3> ScrenShot for all system see &kp PRINTSCREEN for MacOS
|
||
#define SC_SPSF &kp LS(LG(NUMBER_4)) // <S-D-4> Save picture of screen as a file for MacOS
|
||
#define SC_RE &kp LS(LG(NUMBER_5)) // <S-D-5> Screenshot and recording options for MacOS
|
||
#define OP_TERM &kp LC(LG(LA(SLASH))) // open terminal iTerm2 in current directory for MacOS
|
||
#define POS1 &kp LA(LG(NUMBER_1)) // positions of current app with carabiner integration for MacOS
|
||
#define POS2 &kp LA(LG(NUMBER_2)) // positions of current app with carabiner integration for MacOS
|
||
#define POS3 &kp LA(LG(NUMBER_3)) // positions of current app with carabiner integration for MacOS
|
||
#define POS4 &kp LA(LG(NUMBER_4)) // positions of current app with carabiner integration for MacOS
|
||
//}}}
|
||
&kscan0 {
|
||
debounce-period = <10>;
|
||
};
|
||
// ### keymap {{{
|
||
/ {
|
||
// conditional_layers {
|
||
// compatible = "zmk,conditional-layers";
|
||
//
|
||
// tri_layer {
|
||
// if-layers = <NONE_LOCK_LAYER LOCK_LAYER>;
|
||
// then-layer = <EXTRA>;
|
||
// };
|
||
// };
|
||
|
||
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 DE_Q DE_W DE_E DE_R DE_T DE_Z DE_U DE_I DE_O DE_P DE_BSPC
|
||
MOUSE_TAB DE_A DE_S DE_D DE_F DE_G DE_H DE_J DE_K DE_L DE_UP DE_RET
|
||
DE_LSHFT DE_Y DE_X DE_C DE_V DE_B DE_N DE_M LSHFT_COMMA DE_LEFT DE_DOWN DE_RIGHT
|
||
DE_LCTRL DE_LGUI DE_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 XXX DE_BSPC
|
||
DE_CAPS DE_4 DE_5 DE_6 DE_SLSH DE_ASTR DE_HASH DE_TILD DE_QUES DE_AT XXX DE_LALT
|
||
DE_LSHFT DE_7 DE_8 DE_9 DE_PERC DE_EQL DE_DOT DE_ACUT DE_GRV XXX XXX DE_RALT
|
||
DE_LCTRL DE_LGUI DE_SPACE XXX DE_LSHFT DE_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 = <
|
||
DE_DLR DE_LPRN DE_RPRN DE_LBRC DE_RBRC DE_TILD DE_ACUT DE_GRV XXX XXX XXX DE_BSPC
|
||
DE_PERC DE_LCBR DE_RCBR DE_CARET DE_PG_UP DE_HASH DE_AMPR DE_PIPE XXX XXX XXX DE_LALT
|
||
DE_LSHFT DE_LABK DE_RABK DE_HOME DE_PG_DN DE_END DE_TILD DE_QUOT XXX XXX XXX DE_RALT
|
||
DE_LCTRL DE_LGUI DE_SPACE DE_RET DE_RALT DE_LCTRL
|
||
>;
|
||
};
|
||
// }}}
|
||
// ### function_layer {{{
|
||
function_layer {
|
||
// .------------------------------------------------. .-------------------------------------------------.
|
||
// | F1 | F2 | F3 | F4 | SPELL |TRADUCT| | | | | | | LOCK |
|
||
// |--------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+---------|
|
||
// | F5 | F6 | F7 | F8 | \ |SNIPPET| |TASKM | | | |BRI_UP | UNLOCK |
|
||
// |--------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+---------|
|
||
// | F9 | F10 | F11 | F12 |CLIPBRD|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 = <
|
||
DE_F1 DE_F2 DE_F3 DE_F4 SPELL TRADUCT XXX XXX XXX XXX XXX LOCK
|
||
DE_F5 DE_F6 DE_F7 DE_F8 DE_BSLS SNIPPET TASKM XXX XXX XXX DE_BRI_UP UNLOCK
|
||
DE_F9 DE_F10 DE_F11 DE_F12 CLIPBRD EMOJI DE_LSHFT DE_LSHFT DE_RSHFT XXX DE_BRI_DN XXX
|
||
DE_LCTRL DE_LGUI DE_LALT DE_TAB DE_ACUT DE_LCTRL
|
||
>;
|
||
};
|
||
// }}}
|
||
// ### media_layer {{{
|
||
media_layer {
|
||
// .------------------------------------------------. .-------------------------------------------------.
|
||
// | |SC_FLOW|TXTSNIP|SC_SHOT|OP_TERM| | |POS1 |POS2 |LANG_1 |LANG_2 | STOP | DELETE |
|
||
// |--------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+---------|
|
||
// | |SC_SPSF|SC_RE | | | | |POS3 |POS4 |LANG_3 |SHUFFLE|VOL_UP |PLAY/PAUS|
|
||
// |--------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+---------|
|
||
// | | | | | | | | | | MUTE | PREV |VOL_DOW| NEXT |
|
||
// '---------------------------------------------------------| |----------------------------------------------------------'
|
||
// | CTRL | CMD | ALT | | SPACE | ALTGR | CTRL |
|
||
// '--------------------------------' '--------------------------------'
|
||
// label = "MEDIA";
|
||
bindings = <
|
||
XXX SC_FLOW TXTSNIP SC_SHOT OP_TERM XXX POS1 POS2 DE_LANG1 DE_LANG2 DE_STOP DE_DEL
|
||
XXX SC_SPSF SC_RE XXX XXX XXX POS3 POS4 DE_LANG3 DE_SHUFFLE DE_VOL_UP DE_PLAY
|
||
XXX XXX XXX XXX XXX XXX XXX XXX DE_MUTE DE_PREV DE_VOL_DN DE_NEXT
|
||
DE_LCTRL DE_LGUI DE_LALT DE_SPACE DE_RALT DE_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 = <
|
||
XXX XXX XXX &out OUT_USB &out OUT_BLE &out OUT_TOG &rgb_ug RGB_BRD &rgb_ug RGB_BRI XXX XXX XXX XXX
|
||
XXX XXX XXX &bt BT_CLR &bt BT_PRV &bt BT_NXT &rgb_ug RGB_SAD &rgb_ug RGB_SAI XXX XXX XXX XXX
|
||
&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 XXX XXX XXX
|
||
&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 = <
|
||
XXX XXX XXX &out OUT_USB &out OUT_BLE &out OUT_TOG XXX XXX XXX XXX XXX XXX
|
||
XXX XXX XXX &bt BT_CLR &bt BT_PRV &bt BT_NXT XXX XXX XXX XXX XXX XXX
|
||
&bt BT_CLR &bt BT_SEL 0 &bt BT_SEL 1 &bt BT_SEL 2 &bt BT_SEL 3 &bt BT_SEL 4 XXX XXX &reset XXX XXX XXX
|
||
&ext_power EP_OFF &ext_power EP_ON &ext_power EP_TOG XXX XXX XXX
|
||
>;
|
||
};
|
||
// }}}
|
||
#endif // CONFIG_ZMK_RGB_UNDERGLOW
|
||
// in default_layer(RALT) + Backspace = lock
|
||
// in lock_layer(RALT) + none_lock(ESC)+lock(Q)+Enter = unlock
|
||
// The "soft lock" mode that effective disables
|
||
// other keys, allowing the keyboard to be transported without spurious key presses.
|
||
// If https://github.com/zmkfirmware/zmk/issues/405 is implemented, this layer can be
|
||
// replaced by a native behavior in the future.
|
||
// &mo NONE_LOCK_LAYER &mo LOCK_LAYER
|
||
lock_layer {
|
||
bindings = <
|
||
&none &none &none &none &none &none &none &none &none &none &none &none
|
||
&none &none &none &none &none &none &none &none &none &none &none UNLOCK
|
||
&none &none &none &none &none &none &none &none &none &none &none &none
|
||
&none &none &none &none &none &none
|
||
>;
|
||
};
|
||
};
|
||
};
|
||
// }}}
|
||
// vim: fdm=marker:
|