zmk-config-archive/config/keymap_german_mac_iso_test.h
Chow Castro, Marcos 44cdd8b3f8 test
2022-09-22 20:27:23 +02:00

125 lines
6.1 KiB
C
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/* Copyright 2022 Marcos Ivan Chow Castro
* Inspired by Stephen Bösebeck
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
// #pragma once
#define XXX &none
#define ___ &trans
// Apple "Globe" key
// https://github.com/zmkfirmware/zmk/issues/947
// #define GLOBE CAPSLOCK
// clang-format off
/*
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
* │ ^ │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ ß │ ´ │ │
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
* │ │ Q │ W │ E │ R │ T │ Z │ U │ I │ O │ P │ Ü │ + │ │
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
* │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ Ö │ Ä │ # │ │
* ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤
* │ │ < │ Y │ X │ C │ V │ B │ N │ M │ , │ . │ - │ │
* ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
* │ │ │ │ │ │ │ │
* └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
*/
// Row 1
#define DE_CIRC &kp GRAVE // ^ (dead)
#define DE_1 &kp N1 // 1
#define DE_2 &kp N2 // 2
#define DE_3 &kp N3 // 3
#define DE_4 &kp N4 // 4
#define DE_5 &kp N5 // 5
#define DE_6 &kp N6 // 6
#define DE_7 &kp N7 // 7
#define DE_8 &kp N8 // 8
#define DE_9 &kp N9 // 9
#define DE_0 &kp N0 // 0
#define DE_SS &kp MINUS // ß
#define DE_ACUT &kp EQUAL // ´ (dead)
// Row 2
#define DE_Q &kp Q // Q
#define DE_W &kp W // W
#define DE_E &kp E // E
#define DE_R &kp R // R
#define DE_T &kp T // T
#define DE_Z &kp Y // Z
#define DE_U &kp U // U
#define DE_I &kp I // I
#define DE_O &kp O // O
#define DE_P &kp P // P
#define DE_UDIA &kp LBKT // Ü
#define DE_PLUS &kp RPAR // +
// Row 3
#define DE_A &kp A // A
#define DE_S &kp S // S
#define DE_D &kp D // D
#define DE_F &kp F // F
#define DE_G &kp G // G
#define DE_H &kp H // H
#define DE_J &kp J // J
#define DE_K &kp K // K
#define DE_L &kp L // L
#define DE_ODIA &kp SEMI // Ö
#define DE_ADIA &kp APOS // Ä
#define DE_HASH &kp BSLH // #
// Row 4
#define DE_LABK &kp GRAVE // <
#define DE_Y &kp Z // Y
#define DE_X &kp X // X
#define DE_C &kp C // C
#define DE_V &kp V // V
#define DE_B &kp B // B
#define DE_N &kp N // N
#define DE_M &kp M // M
#define DE_COMM &kp COMMA // ,
#define DE_DOT &kp DOT // .
#define DE_MINS &kp SLASH // -
/* Shifted symbols
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
* │ ° │ ! │ " │ § │ $ │ % │ & │ / │ ( │ ) │ = │ ? │ ` │ │
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
* │ │ │ │ │ │ │ │ │ │ │ │ │ * │ │
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
* │ │ │ │ │ │ │ │ │ │ │ │ │ ' │ │
* ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤
* │ │ > │ │ │ │ │ │ │ │ ; │ : │ _ │ │
* ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
* │ │ │ │ │ │ │ │
* └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
*/
#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: