qmk_firmware

QMK firmware for my keyboards (Corne, Sweep Ferris) and trackball (Ploopy Adept)
Log | Files | Refs | Submodules | LICENSE

keymap.c (4636B)


      1 // Copyright 2023 @frobiac
      2 // SPDX-License-Identifier: GPL-2.0-or-later
      3 
      4 #include QMK_KEYBOARD_H
      5 
      6 #include "keymap_german.h"
      7 
      8 enum layer_number {
      9     _ADNW = 0,
     10     _QWERTZ,
     11     _NAVNUM,
     12     _SYMBOL,
     13     _FUNC,
     14     _MOUSE,
     15 };
     16 
     17 #define CTL_TAB LCTL_T(KC_TAB)
     18 #define ALT_SPC LALT_T(KC_SPC)
     19 #define NAV_ESC LT(_NAVNUM, KC_ESC)
     20 #define SFT_BSP LSFT_T(KC_BSPC)
     21 #define SYM_ENT LT(_SYMBOL, KC_ENT)
     22 #define MOUSE_X LT(_MOUSE, KC_X)
     23 #define MOUSE_Y LT(_MOUSE, KC_Y)
     24 
     25 /*
     26  *     ┌─────┬───┬───┬───┬───┐───────┌───┬───┬───┬───┬─────┐
     27  *     │  K  │ U │ Q │ . │ J │       │ P │ C │ L │ M │ F   │
     28  *     ├────┬┴──┬┴──┬┴──┬┴──┬┘   _   └┬──┴┬──┴┬──┴┬──┴┬────┤
     29  *     │  H │ I │ E │ A │ O │   (_)   │ D │ T │ R │ N │ S  │
     30  *     ├───┬┴──┬┴──┬┴──┬┴──┬┴──┐   ┌──┴┬──┴┬──┴┬──┴┬──┴┬───┤
     31  *     │ X │ Y │ - │ , │ / │   │   │   │ B │ G │ W │ V │ Z │
     32  *     ├───┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ ┌┴──┬┴──┬┴──┬┴──┬┴──┬┴───┤
     33  *     │    │   │   │Tab│Spc│   │o│   │Esc│Bsp│Ret│   │    │
     34  *     └────┴───┴───┴───┴───┴───┘─└───┴───┴───┴───┴───┴────┘
     35  *
     36  */
     37 
     38 // clang-format off
     39 
     40 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
     41   [_ADNW] = LAYOUT(
     42       KC_K,    KC_U,    KC_Q,    KC_DOT,  KC_J,                      KC_P,    KC_C,    KC_L,    KC_M,    KC_F,
     43       KC_H,    KC_I,    KC_E,    KC_A,    KC_O,                      KC_D,    KC_T,    KC_R,    KC_N,    KC_S,
     44       MOUSE_X, DE_Y,    DE_MINS, KC_COMM, DE_SLSH, XXXXXXX, XXXXXXX, KC_B,    KC_G,    KC_W,    KC_V,    RSFT_T(DE_Z),
     45       XXXXXXX, XXXXXXX, KC_LGUI, CTL_TAB, ALT_SPC, XXXXXXX, XXXXXXX, NAV_ESC, SFT_BSP, SYM_ENT, XXXXXXX, MO(_FUNC)
     46   ),
     47 
     48   [_QWERTZ] = LAYOUT(
     49       KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,                      DE_Z,    KC_U,    KC_I,    KC_O,    KC_P,
     50       KC_A,    KC_S,    KC_D,    KC_F,    KC_G,                      KC_H,    KC_J,    KC_K,    KC_L,    KC_SCLN,
     51       MOUSE_Y, KC_X,    KC_C,    KC_V,    KC_B,    XXXXXXX, XXXXXXX, KC_N,    KC_M,    KC_COMM, KC_DOT,  RSFT_T(KC_SLSH),
     52       XXXXXXX, XXXXXXX, KC_LGUI, CTL_TAB, ALT_SPC, XXXXXXX, XXXXXXX, NAV_ESC, SFT_BSP, SYM_ENT, XXXXXXX, MO(_FUNC)
     53   ),
     54 
     55   [_SYMBOL] = LAYOUT(
     56       DE_AT,   DE_DEG,  DE_LBRC, DE_RBRC, DE_HASH,                   DE_EXLM, DE_LABK, DE_RABK, DE_EQL,  DE_AMPR,
     57       DE_BSLS, DE_EURO, DE_LCBR, DE_RCBR, DE_ASTR,                   DE_QUES, DE_LPRN, DE_RPRN, DE_PLUS, KC_ENT,
     58       XXXXXXX, DE_DLR,  DE_PIPE, DE_TILD, DE_GRV,  XXXXXXX, XXXXXXX, DE_CIRC, DE_PERC, DE_DQUO, DE_QUOT, XXXXXXX,
     59       _______, _______, _______, _______, _______, XXXXXXX, XXXXXXX, _______, _______, _______, _______, _______
     60   ),
     61 
     62   [_NAVNUM] = LAYOUT(
     63       KC_PGUP, KC_BSPC, KC_UP,   KC_DEL,  KC_PGDN,                   DE_SS,   KC_7,    KC_8,    KC_9,    DE_ADIA,
     64       KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, KC_END,                    KC_DOT,  KC_4,    KC_5,    KC_6,    DE_ODIA,
     65       XXXXXXX, XXXXXXX, KC_INS,  XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_0,    KC_1,    KC_2,    KC_3,    DE_UDIA,
     66       _______, _______, _______, _______, _______, XXXXXXX, XXXXXXX, _______, _______, _______, _______, _______
     67   ),
     68 
     69   [_FUNC] = LAYOUT(
     70       XXXXXXX, XXXXXXX, XXXXXXX, DF(_QWERTZ),DF(_ADNW),              XXXXXXX, KC_F7,   KC_F8,   KC_F9,   KC_F10,
     71       DM_REC1, DM_RSTP, DM_PLY1, XXXXXXX, QK_RBT,                    XXXXXXX, KC_F4,   KC_F5,   KC_F6,   KC_F11,
     72       XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, KC_F1,   KC_F2,   KC_F3,   KC_F12,
     73       _______, _______, _______, _______, _______, XXXXXXX, XXXXXXX, _______, _______, _______, _______, _______
     74   ),
     75 
     76   [_MOUSE] = LAYOUT(
     77       MS_WHLL, XXXXXXX, MS_UP,   XXXXXXX, XXXXXXX,                   MS_ACL0, XXXXXXX, MS_BTN3, XXXXXXX, MS_BTN5,
     78       MS_WHLR, MS_LEFT, MS_DOWN, MS_RGHT, MS_WHLU,                   MS_ACL1, XXXXXXX, MS_BTN1, MS_BTN2, MS_BTN4,
     79       MOUSE_X, MS_BTN1, MS_BTN3, MS_BTN2, MS_WHLD, XXXXXXX, XXXXXXX, MS_ACL2, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
     80       _______, _______, _______, _______, _______, XXXXXXX, XXXXXXX, _______, _______, _______, _______, _______
     81   ),
     82 
     83 };
     84 
     85 // clang-format on