@@ -14,98 +14,153 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
# ifndef KEYMAP_GERMAN
# define KEYMAP_GERMAN
# pragma once
# include "keymap.h"
// normal characters
# define DE_Z KC_Y
# define DE_Y KC_Z
// clang-format off
# define DE_A KC_A
# define DE_B KC_B
# define DE_C KC_C
# define DE_D KC_D
# define DE_E KC_E
# define DE_F KC_F
# define DE_G KC_G
# define DE_H KC_H
# define DE_I KC_I
# define DE_J KC_J
# define DE_K KC_K
# define DE_L KC_L
# define DE_M KC_M
# define DE_N KC_N
# define DE_O KC_O
# define DE_P KC_P
# define DE_Q KC_Q
# define DE_R KC_R
# define DE_S KC_S
# define DE_T KC_T
# define DE_U KC_U
# define DE_V KC_V
# define DE_W KC_W
# define DE_X KC_X
/*
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
* │ ^ │ 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 KC_GRV // ^ (dead)
# define DE_1 KC_1 // 1
# define DE_2 KC_2 // 2
# define DE_3 KC_3 // 3
# define DE_4 KC_4 // 4
# define DE_5 KC_5 // 5
# define DE_6 KC_6 // 6
# define DE_7 KC_7 // 7
# define DE_8 KC_8 // 8
# define DE_9 KC_9 // 9
# define DE_0 KC_0 // 0
# define DE_SS KC_MINS // ß
# define DE_ACUT KC_EQL // ´ (dead)
// Row 2
# define DE_Q KC_Q // Q
# define DE_W KC_W // W
# define DE_E KC_E // E
# define DE_R KC_R // R
# define DE_T KC_T // T
# define DE_Z KC_Y // Z
# define DE_U KC_U // U
# define DE_I KC_I // I
# define DE_O KC_O // O
# define DE_P KC_P // P
# define DE_UDIA KC_LBRC // Ü
# define DE_PLUS KC_RBRC // +
// Row 3
# define DE_A KC_A // A
# define DE_S KC_S // S
# define DE_D KC_D // D
# define DE_F KC_F // F
# define DE_G KC_G // G
# define DE_H KC_H // H
# define DE_J KC_J // J
# define DE_K KC_K // K
# define DE_L KC_L // L
# define DE_ODIA KC_SCLN // Ö
# define DE_ADIA KC_QUOT // Ä
# define DE_HASH KC_NUHS // #
// Row 4
# define DE_LABK KC_NUBS // <
# define DE_Y KC_Z // Y
# define DE_X KC_X // X
# define DE_C KC_C // C
# define DE_V KC_V // V
# define DE_B KC_B // B
# define DE_N KC_N // N
# define DE_M KC_M // M
# define DE_COMM KC_COMM // ,
# define DE_DOT KC_DOT // .
# define DE_MINS KC_SLSH // -
# define DE_0 KC_0
# define DE_1 KC_1
# define DE_2 KC_2
# define DE_3 KC_3
# define DE_4 KC_4
# define DE_5 KC_5
# define DE_6 KC_6
# define DE_7 KC_7
# define DE_8 KC_8
# define DE_9 KC_9
/* Shifted symbols
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
* │ ° │ ! │ " │ § │ $ │ % │ & │ / │ ( │ ) │ = │ ? │ ` │ │
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
* │ │ │ │ │ │ │ │ │ │ │ │ │ * │ │
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
* │ │ │ │ │ │ │ │ │ │ │ │ │ ' │ │
* ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
* │ │ > │ │ │ │ │ │ │ │ ; │ : │ _ │ │
* ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
* │ │ │ │ │ │ │ │ │
* └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
*/
// Row 1
# define DE_DEG S(DE_CIRC) // °
# define DE_EXLM S(DE_1) // !
# define DE_DQUO S(DE_2) // "
# define DE_SECT S(DE_3) // §
# define DE_DLR S(DE_4) // $
# define DE_PERC S(DE_5) // %
# define DE_AMPR S(DE_6) // &
# define DE_SLSH S(DE_7) // /
# define DE_LPRN S(DE_8) // (
# define DE_RPRN S(DE_9) // )
# define DE_EQL S(DE_0) // =
# define DE_QUES S(DE_SS) // ?
# define DE_GRV S(DE_ACUT) // ` (dead)
// Row 2
# define DE_ASTR S(DE_PLUS) // *
// Row 3
# define DE_QUOT S(DE_HASH) // '
// Row 4
# define DE_RABK S(DE_LABK) // >
# define DE_SCLN S(DE_COMM) // ;
# define DE_COLN S(DE_DOT) // :
# define DE_UNDS S(DE_MINS) // _
# define DE_DOT KC_DOT
# define DE_COMM KC_COMM
/* AltGr symbols
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
* │ │ │ ² │ ³ │ │ │ │ { │ [ │ ] │ } │ \ │ │ │
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
* │ │ @ │ │ € │ │ │ │ │ │ │ │ │ ~ │ │
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
* │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
* ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
* │ │ | │ │ │ │ │ │ │ µ │ │ │ │ │
* ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
* │ │ │ │ │ │ │ │ │
* └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
*/
// Row 1
# define DE_SUP2 ALGR(DE_2) // ²
# define DE_SUP3 ALGR(DE_3) // ³
# define DE_LCBR ALGR(DE_7) // {
# define DE_LBRC ALGR(DE_8) // [
# define DE_RBRC ALGR(DE_9) // ]
# define DE_RCBR ALGR(DE_0) // }
# define DE_BSLS ALGR(DE_SS) // (backslash)
// Row 2
# define DE_AT ALGR(DE_Q) // @
# define DE_EURO ALGR(DE_E) // €
# define DE_TILD ALGR(DE_PLUS) // ~
// Row 4
# define DE_PIPE ALGR(DE_LABK) // |
# define DE_MICR ALGR(DE_M) // µ
# define DE_SS KC_MINS
# define DE_A E KC_QUOT
# define DE_U E KC_LBRC
# define DE_O E KC_SCLN
# define DE_CIRC KC_GRAVE // accent circumflex ^ and ring °
# define DE_ACUT KC_EQL // accent acute ´ and grave `
# define DE_PLUS KC_RBRC // + and * and ~
# define DE_HASH KC_BSLS // # and '
# define DE_LESS KC_NUBS // < and > and |
# define DE_MINS KC_SLSH // - and _
// shifted characters
# define DE_RING LSFT(DE_CIRC) // °
# define DE_EXLM LSFT(KC_1) // !
# define DE_DQOT LSFT(KC_2) // "
# define DE_PARA LSFT(KC_3) // §
# define DE_DLR LSFT(KC_4) // $
# define DE_PERC LSFT(KC_5) // %
# define DE_AMPR LSFT(KC_6) // &
# define DE_SLSH LSFT(KC_7) // /
# define DE_LPRN LSFT(KC_8) // (
# define DE_RPRN LSFT(KC_9) // )
# define DE_EQL LSFT(KC_0) // =
# define DE_QST LSFT(DE_SS) // ?
# define DE_GRV LSFT(DE_ACUT) // `
# define DE_ASTR LSFT(DE_PLUS) // *
# define DE_QUOT LSFT(DE_HASH) // '
# define DE_MORE LSFT(DE_LESS) // >
# define DE_COLN LSFT(KC_DOT) // :
# define DE_SCLN LSFT(KC_COMM) // ;
# define DE_UNDS LSFT(DE_MINS) // _
// Alt Gr-ed characters
# define DE_SQ2 ALGR(KC_2) // ²
# define DE_SQ3 ALGR(KC_3) // ³
# define DE_LCBR ALGR(KC_7) // {
# define DE_LBRC ALGR(KC_8) // [
# define DE_RBRC ALGR(KC_9) // ]
# define DE_RCBR ALGR(KC_0) // }
# define DE_BSLS ALGR(DE_SS) // backslash
# define DE_AT ALGR(KC_Q) // @
# define DE_EURO ALGR(KC_E) // €
# define DE_TILD ALGR(DE_PLUS) // ~
# define DE_PIPE ALGR(DE_LESS) // |
# endif
// DEPRECATED
# define DE_U E DE_UDIA
# define DE_O E DE_ODIA
# define DE_A E DE_ADIA
# define DE_LESS DE_LABK
# define DE_RING DE_DEG
# define DE_DQOT DE_DQUO
# define DE_PARA DE_SECT
# define DE_QST DE_QUES
# define DE_MORE DE_RABK
# define DE_SQ2 DE_SUP2
# define DE_SQ3 DE_SUP3