qmk_firmware

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

keymap.c (8761B)


      1 /**
      2  * Copyright 2021 Charly Delay <charly@codesink.dev> (@0xcharly)
      3  * Copyright 2023 casuanoob <casuanoob@hotmail.com> (@casuanoob)
      4  *
      5  * This program is free software: you can redistribute it and/or modify
      6  * it under the terms of the GNU General Public License as published by
      7  * the Free Software Foundation, either version 2 of the License, or
      8  * (at your option) any later version.
      9  *
     10  * This program is distributed in the hope that it will be useful,
     11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
     12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     13  * GNU General Public License for more details.
     14  *
     15  * You should have received a copy of the GNU General Public License
     16  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
     17  */
     18 #include QMK_KEYBOARD_H
     19 
     20 enum dilemma_keymap_layers {
     21     LAYER_BASE = 0,
     22     LAYER_LOWER,
     23     LAYER_RAISE,
     24 };
     25 
     26 #define LOWER MO(LAYER_LOWER)
     27 #define RAISE MO(LAYER_RAISE)
     28 
     29 // clang-format off
     30 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
     31   [LAYER_BASE] = LAYOUT(
     32   // ╭──────────────────────────────────────────────────────╮ ╭──────────────────────────────────────────────────────╮
     33         KC_ESC,    KC_1,    KC_2,    KC_3,    KC_4,    KC_5,       KC_6,    KC_7,    KC_8,    KC_9,    KC_0, KC_MINS,
     34   // ├──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────┤
     35         KC_TAB,    KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,       KC_Y,    KC_U,    KC_I,    KC_O,    KC_P, KC_BSLS,
     36   // ├──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────┤
     37        KC_LSFT,    KC_A,    KC_S,    KC_D,    KC_F,    KC_G,       KC_H,    KC_J,    KC_K,    KC_L, KC_SCLN, KC_QUOT,
     38   // ├──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────┤
     39        KC_LCTL,    KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,       KC_N,    KC_M, KC_COMM,  KC_DOT, KC_SLSH, KC_LALT,
     40   // ╰──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────╯
     41                          KC_LALT, KC_BSPC,  KC_SPC,   LOWER,      RAISE,  KC_ENT,  KC_DEL, KC_LGUI
     42   //                    ╰───────────────────────────────────╯ ╰───────────────────────────────────╯
     43   ),
     44 
     45   [LAYER_LOWER] = LAYOUT(
     46   // ╭──────────────────────────────────────────────────────╮ ╭──────────────────────────────────────────────────────╮
     47        KC_TILD, KC_EXLM,   KC_AT, KC_HASH,  KC_DLR, KC_PERC,    KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_UNDS,
     48   // ├──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────┤
     49        RM_NEXT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,    KC_LBRC,   KC_P7,   KC_P8,   KC_P9, KC_RBRC, XXXXXXX,
     50   // ├──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────┤
     51        RM_TOGG, KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, XXXXXXX,    KC_PPLS,   KC_P4,   KC_P5,   KC_P6, KC_PMNS, KC_PEQL,
     52   // ├──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────┤
     53        RM_PREV, XXXXXXX, XXXXXXX, XXXXXXX,  EE_CLR, QK_BOOT,    KC_PAST,   KC_P1,   KC_P2,   KC_P3, KC_PSLS, KC_PDOT,
     54   // ╰──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────╯
     55                          XXXXXXX, XXXXXXX, XXXXXXX, _______,    _______, _______, _______, _______
     56   //                    ╰───────────────────────────────────╯ ╰───────────────────────────────────╯
     57   ),
     58 
     59   [LAYER_RAISE] = LAYOUT(
     60   // ╭──────────────────────────────────────────────────────╮ ╭──────────────────────────────────────────────────────╮
     61         KC_F12,   KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,      KC_F6,   KC_F7,   KC_F8,   KC_F9,  KC_F10,  KC_F11,
     62   // ├──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────┤
     63        KC_MNXT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,    XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_VOLU,
     64   // ├──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────┤
     65        KC_MPLY, KC_LEFT,   KC_UP, KC_DOWN, KC_RGHT, XXXXXXX,    XXXXXXX, KC_RSFT, KC_RCTL, KC_RALT, KC_RGUI, KC_MUTE,
     66   // ├──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────┤
     67        KC_MPRV, KC_HOME, KC_PGUP, KC_PGDN,  KC_END, XXXXXXX,    QK_BOOT,  EE_CLR, XXXXXXX, XXXXXXX, XXXXXXX, KC_VOLD,
     68   // ╰──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────╯
     69                          _______, _______, _______, _______,    _______, XXXXXXX, XXXXXXX, XXXXXXX
     70   //                    ╰───────────────────────────────────╯ ╰───────────────────────────────────╯
     71   ),
     72 };
     73 // clang-format on