Update German keymap and sendstring LUT (#8437)
2 files changed, 147 insertions(+), 92 deletions(-) M quantum/keymap_extras/keymap_german.h M quantum/keymap_extras/sendstring_german.h
M quantum/keymap_extras/keymap_german.h => quantum/keymap_extras/keymap_german.h +143 -88
@@ 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 #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 #define DE_DOT KC_DOT #define DE_COMM KC_COMM #define DE_SS KC_MINS #define DE_AE KC_QUOT #define DE_UE KC_LBRC #define DE_OE 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 _ /* * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ * │ ^ │ 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 // - // 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) // _ /* 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) // _ // 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) // | /* 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) // µ #endif // DEPRECATED #define DE_UE DE_UDIA #define DE_OE DE_ODIA #define DE_AE 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
M quantum/keymap_extras/sendstring_german.h => quantum/keymap_extras/sendstring_german.h +4 -4
@@ 40,7 40,7 @@ const uint8_t ascii_to_shift_lut[16] PROGMEM = { KCLUT_ENTRY(1, 0, 0, 0, 0, 0, 0, 0), KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0) }; @@ const uint8_t ascii_to_altgr_lut[16] PROGMEM = { 60,7 60,7 @@ const uint8_t ascii_to_altgr_lut[16] PROGMEM = { KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), KCLUT_ENTRY(0, 0, 0, 1, 1, 1, 1, 0), KCLUT_ENTRY(0, 0, 0, 1, 1, 1, 1, 0) }; @@ const uint8_t ascii_to_keycode_lut[128] PROGMEM = { 80,7 80,7 @@ const uint8_t ascii_to_keycode_lut[128] PROGMEM = { // 0 1 2 3 4 5 6 7 DE_0, DE_1, DE_2, DE_3, DE_4, DE_5, DE_6, DE_7, // 8 9 : ; < = > ? DE_8, DE_9, DE_DOT, DE_COMM, DE_LESS, DE_0, DE_LESS, DE_SS, DE_8, DE_9, DE_DOT, DE_COMM, DE_LABK, DE_0, DE_LABK, DE_SS, // @ A B C D E F G DE_Q, DE_A, DE_B, DE_C, DE_D, DE_E, DE_F, DE_G, @@ // H I J K L M N O 96,5 96,5 @@ const uint8_t ascii_to_keycode_lut[128] PROGMEM = { // p q r s t u v w DE_P, DE_Q, DE_R, DE_S, DE_T, DE_U, DE_V, DE_W, // x y z { | } ~ DEL DE_X, DE_Y, DE_Z, DE_7, DE_LESS, DE_0, DE_PLUS, KC_DEL DE_X, DE_Y, DE_Z, DE_7, DE_LABK, DE_0, DE_PLUS, KC_DEL };