Commit Diff


commit - 2dc6b94058669ca2a644f40654743f2d99889c67
commit + c1b85aae162656b0097d85e2918c880048fe186e
blob - c2c7591ed6578a2944000a6cb21de0e8830994e6
blob + 6c36549749f4c2b5c9197d1ca3af138fb46c1854
--- keyboards/crkbd/keymaps/witcher/keymap.c
+++ keyboards/crkbd/keymaps/witcher/keymap.c
@@ -17,14 +17,16 @@ along with this program.  If not, see <http://www.gnu.
 */
 
 #include QMK_KEYBOARD_H
+#include "keymap_german.h"
 
 #define ALT_BSPC ALT_T(KC_BSPC)
 #define GUI_ESC GUI_T(KC_ESC)
 #define LSFT_ENT LSFT_T(KC_ENT)
 #define LT1_BSPC LT(1, KC_BSPC)
+#define LT4_BSPC LT(4, KC_BSPC)
 
 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-  // 0 - Base Linux
+  // 0 - Base
   [0] = LAYOUT_split_3x6_3(
   //,-----------------------------------------------------.                    ,-----------------------------------------------------.
        KC_TAB,    KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,                         KC_Y,    KC_U,    KC_I,    KC_O,   KC_P,  KC_BSPC,
@@ -41,14 +43,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_C
   //,-----------------------------------------------------.                    ,-----------------------------------------------------.
       _______, KC_BSLS, KC_SLSH, KC_LBRC, KC_RBRC, KC_TILD,                      KC_PIPE,  KC_EQL, KC_PLUS, KC_MINS, KC_UNDS, _______,
   //|--------+--------+--------+--------+--------+--------|                    |--------+--------+--------+--------+--------+--------|
-        MO(3), KC_LCBR, KC_RCBR, KC_LPRN, KC_RPRN,  KC_GRV,                      KC_LEFT, KC_DOWN,   KC_UP,KC_RIGHT, _______, _______,
+        MO(6), KC_LCBR, KC_RCBR, KC_LPRN, KC_RPRN,  KC_GRV,                      KC_LEFT, KC_DOWN,   KC_UP,KC_RIGHT, _______, _______,
   //|--------+--------+--------+--------+--------+--------|                    |--------+--------+--------+--------+--------+--------|
-        MO(3), KC_EXLM,   KC_AT, KC_HASH,  KC_DLR, KC_PERC,                      KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______,
+        MO(6), KC_EXLM,   KC_AT, KC_HASH,  KC_DLR, KC_PERC,                      KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______,
   //|--------+--------+--------+--------+--------+--------+--------|  --------+--------+--------+--------+--------+--------+--------|
                                           _______, _______, _______,    _______, KC_TRNS, _______
                                       //`--------------------------'  `--------------------------'
   ),
-  // 2 - MAN Linux
+  // 2 - MAN
   [2] = LAYOUT_split_3x6_3(
   //,-----------------------------------------------------.                    ,-----------------------------------------------------.
       _______, _______, KC_BRID, KC_VOLU, KC_BRIU, _______,                      _______,    KC_7,    KC_8,    KC_9, KC_ASTR, _______,
@@ -57,22 +59,57 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_C
   //|--------+--------+--------+--------+--------+--------|                    |--------+--------+--------+--------+--------+--------|
       KC_TRNS, _______, _______, KC_VOLD, _______, _______,                      _______,    KC_1,    KC_2,    KC_3, KC_BSLS, _______,
   //|--------+--------+--------+--------+--------+--------+--------|  |--------+--------+--------+--------+--------+--------+--------|
-                                          _______, _______, KC_PSCR,       KC_0,   MO(3), _______
+                                          _______, _______, KC_PSCR,       KC_0,   MO(6), _______
                                       //`--------------------------'  `--------------------------'
   ),
-
-  // 3 - Extra
+  // 3 - Base (German)
   [3] = LAYOUT_split_3x6_3(
   //,-----------------------------------------------------.                    ,-----------------------------------------------------.
+       KC_TAB,    DE_Q,    DE_W,    DE_E,    DE_R,    DE_T,                         DE_Y,    DE_U,    DE_I,    DE_O,   DE_P,  KC_BSPC,
+  //|--------+--------+--------+--------+--------+--------|                    |--------+--------+--------+--------+--------+--------|
+        MO(5),    DE_A,    DE_S,    DE_D,    DE_F,    DE_G,                         DE_H,    DE_J,    DE_K,    DE_L, DE_SCLN, DE_QUOT,
+  //|--------+--------+--------+--------+--------+--------|                    |--------+--------+--------+--------+--------+--------|
+        MO(5),    DE_Z,    DE_X,    DE_C,    DE_V,    DE_B,                         DE_N,    DE_M, DE_COMM,  DE_DOT, DE_SLSH,  KC_ENT,
+  //|--------+--------+--------+--------+--------+--------+--------|  |--------+--------+--------+--------+--------+--------+--------|
+                                          KC_LCTL, GUI_ESC,  KC_SPC,   LSFT_ENT,LT4_BSPC, ALT_BSPC
+                                      //`--------------------------'  `--------------------------'
+  ),
+  // 4 - Symbols (German)
+  [4] = LAYOUT_split_3x6_3(
+  //,-----------------------------------------------------.                    ,-----------------------------------------------------.
+      _______, DE_BSLS, DE_SLSH, DE_LBRC, DE_RBRC, DE_TILD,                      DE_PIPE,  DE_EQL, DE_PLUS, DE_MINS, DE_UNDS, DE_UDIA,
+  //|--------+--------+--------+--------+--------+--------|                    |--------+--------+--------+--------+--------+--------|
+        MO(6), DE_LCBR, DE_RCBR, DE_LPRN, DE_RPRN,  DE_GRV,                      KC_LEFT, KC_DOWN,   KC_UP,KC_RIGHT, DE_ODIA, DE_ADIA,
+  //|--------+--------+--------+--------+--------+--------|                    |--------+--------+--------+--------+--------+--------|
+        MO(6), DE_EXLM,   DE_AT, DE_HASH,  DE_DLR, DE_PERC,                      DE_CIRC, DE_AMPR, DE_ASTR, DE_LPRN, DE_RPRN, _______,
+  //|--------+--------+--------+--------+--------+--------+--------|  --------+--------+--------+--------+--------+--------+--------|
+                                          _______, _______, _______,    _______, KC_TRNS, _______
+                                      //`--------------------------'  `--------------------------'
+  ),
+  // 5 - MAN (German)
+  [5] = LAYOUT_split_3x6_3(
+  //,-----------------------------------------------------.                    ,-----------------------------------------------------.
+      _______, _______, KC_BRID, KC_VOLU, KC_BRIU, _______,                      _______,    KC_7,    KC_8,    KC_9, DE_ASTR, _______,
+  //|--------+--------+--------+--------+--------+--------|                    |--------+--------+--------+--------+--------+--------|
+      KC_TRNS, KC_MUTE, KC_MPRV, KC_MPLY, KC_MNXT, _______,                      _______,    KC_4,    KC_5,    KC_6, DE_PLUS, _______,
+  //|--------+--------+--------+--------+--------+--------|                    |--------+--------+--------+--------+--------+--------|
+      KC_TRNS, _______, _______, KC_VOLD, _______, _______,                      _______,    KC_1,    KC_2,    KC_3, DE_BSLS, _______,
+  //|--------+--------+--------+--------+--------+--------+--------|  |--------+--------+--------+--------+--------+--------+--------|
+                                          _______, _______, KC_PSCR,       KC_0,   MO(6), _______
+                                      //`--------------------------'  `--------------------------'
+  ),
+  // 6 - Extra
+  [6] = LAYOUT_split_3x6_3(
+  //,-----------------------------------------------------.                    ,-----------------------------------------------------.
         KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,   KC_F6,                        KC_F7,   KC_F8,   KC_F9,  KC_F10,  KC_F11,  KC_F12,
   //|--------+--------+--------+--------+--------+--------|                    |--------+--------+--------+--------+--------+--------|
-      KC_TRNS, _______, _______, _______, _______, _______,                      KC_HOME, KC_PGDN, KC_PGUP,  KC_END, _______, _______,
+      KC_TRNS, _______, _______,   DF(3),   DF(0), _______,                      KC_HOME, KC_PGDN, KC_PGUP,  KC_END, _______, _______,
   //|--------+--------+--------+--------+--------+--------|                    |--------+--------+--------+--------+--------+--------|
       KC_TRNS, _______, _______, _______, _______, _______,                      _______, _______, _______, _______, _______, _______,
   //|--------+--------+--------+--------+--------+--------+--------|  |--------+--------+--------+--------+--------+--------+--------|
                                           _______, _______, _______,    _______, KC_TRNS, _______
                                       //`--------------------------'  `--------------------------'
-  )
+  ),
 };
 
 #ifdef OLED_ENABLE
@@ -85,28 +122,43 @@ oled_rotation_t oled_init_user(oled_rotation_t rotatio
   return rotation;
 }
 
-#define L_BASE_LINUX 0
+#define L_BASE 0
 #define L_SYMBOLS 2
-#define L_MAN_LINUX 4
-#define L_EXTRA 8
+#define L_MAN 4
+#define L_BASE_GERMAN 8
+#define L_SYMBOLS_GERMAN 16
+#define L_MAN_GERMAN 32
+#define L_EXTRA 64
 
 void oled_render_layer_state(void) {
     oled_write_P(PSTR("L: "), false);
 
     switch (layer_state) {
-        case L_BASE_LINUX:
+        case L_BASE:
             oled_write_ln_P(PSTR("Base"), false);
             break;
         case L_SYMBOLS:
             oled_write_ln_P(PSTR("Symbols"), false);
             break;
-        case L_MAN_LINUX:
-            oled_write_ln_P(PSTR("Media/Num (Linux)"), false);
+        case L_MAN:
+            oled_write_ln_P(PSTR("Media/Num"), false);
             break;
+        case L_BASE_GERMAN:
+            oled_write_ln_P(PSTR("Base (German)"), false);
+            break;
+        case L_SYMBOLS_GERMAN:
+            oled_write_ln_P(PSTR("Symbols (German)"), false);
+            break;
+        case L_MAN_GERMAN:
+            oled_write_ln_P(PSTR("Media/Num (German)"), false);
+            break;
         case L_EXTRA:
         case L_EXTRA|L_SYMBOLS:
-        case L_EXTRA|L_MAN_LINUX:
-        case L_EXTRA|L_SYMBOLS|L_MAN_LINUX:
+        case L_EXTRA|L_MAN:
+        case L_EXTRA|L_SYMBOLS|L_MAN:
+        case L_EXTRA|L_SYMBOLS_GERMAN:
+        case L_EXTRA|L_MAN_GERMAN:
+        case L_EXTRA|L_SYMBOLS_GERMAN|L_MAN_GERMAN:
             oled_write_ln_P(PSTR("Extra"), false);
             break;
         default: