qmk_firmware

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

keymap.c (8774B)


      1 /* Copyright 2022 HorrorTroll <https://github.com/HorrorTroll>
      2  *
      3  * This program is free software: you can redistribute it and/or modify
      4  * it under the terms of the GNU General Public License as published by
      5  * the Free Software Foundation, either version 2 of the License, or
      6  * (at your option) any later version.
      7  *
      8  * This program is distributed in the hope that it will be useful,
      9  * but WITHOUT ANY WARRANTY; without even the implied warranty of
     10  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     11  * GNU General Public License for more details.
     12  *
     13  * You should have received a copy of the GNU General Public License
     14  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
     15  */
     16 
     17 #include QMK_KEYBOARD_H
     18 
     19 // Each layer gets a name for readability, which is then used in the keymap matrix below.
     20 // The underscores don't mean anything - you can have a layer called STUFF or any other name.
     21 // Layer names don't all need to be of the same length, obviously, and you can also skip them
     22 // entirely and just use numbers.
     23 
     24 enum layer_names {
     25     _BASE,
     26     _FN,
     27     _FN1
     28 };
     29 
     30 // enum layer_keycodes { };
     31 
     32 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
     33 
     34 /*
     35        ┌─────┬───┬───┬───┬───┬───┐      ┌───┬───┬───┬───┬───┬───┬────┐
     36        │ Tab │ q │ w │ e │ r │ t │      │ y │ u │ i │ o │ p │ ` │Bksp│
     37        ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┐     └┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴────┤
     38        │ Caps │ a │ s │ d │ f │ g │      │ h │ j │ k │ l │ \ │ Enter │
     39        ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┐  ┌─┴─┬─┴─┬─┴─┬─┴─┬┬┴──┬┴──┬────┤
     40        │ LShift │ z │ x │ c │ v │ b │  │ n │ m │ , │ . ││ / │ ↑ │RSft│
     41        └┬────┬──┴─┬─┼───┴┬──┴───┴───┤  ├───┴───┴┬──┴─┬─┘├───┼───┼───┬┘
     42         │LCrl│GUI │ │LAlt│  Space   │  │  Space │ Fn │  │ ← │ ↓ │ → │
     43         └────┴────┘ └────┴──────────┘  └────────┴────┘  └───┴───┴───┘
     44        ┌─────┬───┬───┬───┬───┬───┐      ┌───┬───┬───┬───┬───┬───┬────┐
     45        │     │ Q │ W │ E │ R │ T │      │ Y │ U │ I │ O │ P │ ~ │    │
     46        ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┐     └┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴────┤
     47        │ Caps │ A │ S │ D │ F │ G │      │ H │ J │ K │ L │ | │       │
     48        ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┐  ┌─┴─┬─┴─┬─┴─┬─┴─┬┬┴──┬┴──┬────┤
     49        │ LShift │ Z │ X │ C │ V │ B │  │ N │ M │ < │ > ││ ? │   │RSft│
     50        └┬────┬──┴─┬─┼───┴┬──┴───┴───┤  ├───┴───┴┬──┴─┬─┘├───┼───┼───┬┘
     51         │    │    │ │    │          │  │        │    │  │   │   │   │
     52         └────┴────┘ └────┴──────────┘  └────────┴────┘  └───┴───┴───┘
     53 */
     54     /*  Row:    0        1        2        3     4       5             6     7       8        9        10       11       12     */
     55     [_BASE] = LAYOUT(
     56                 KC_TAB,  KC_Q,    KC_W,    KC_E, KC_R,   KC_T,         KC_Y, KC_U,   KC_I,    KC_O,    KC_P,    KC_GRV,  KC_BSPC,
     57                 KC_CAPS, KC_A,    KC_S,    KC_D, KC_F,   KC_G,         KC_H, KC_J,   KC_K,    KC_L,    KC_BSLS,          KC_ENT,
     58                 KC_LSFT, KC_Z,    KC_X,    KC_C, KC_V,   KC_B,         KC_N, KC_M,   KC_COMM, KC_DOT,  KC_SLSH, KC_UP,   KC_RSFT,
     59                 KC_LCTL, KC_LGUI, KC_LALT,       KC_SPC,                     KC_SPC,          MO(_FN), KC_LEFT, KC_DOWN, KC_RIGHT
     60             ),
     61 
     62 /*
     63        ┌─────┬───┬───┬───┬───┬───┐      ┌───┬───┬───┬───┬───┬───┬────┐
     64        │ Esc │ 1 │ 2 │ 3 │ 4 │ 5 │      │ 6 │ 7 │ 8 │ 9 │ 0 │   │ Del│
     65        ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┐     └┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴────┤
     66        │Reset │   │   │End│   │   │      │Hom│   │Ins│   │PSc│  Fn1  │
     67        ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┐  ┌─┴─┬─┴─┬─┴─┬─┴─┬┬┴──┬┴──┬────┤
     68        │        │   │   │Cal│   │   │  │   │Mut│VoD│VoU││   │PgU│    │
     69        └┬────┬──┴─┬─┼───┴┬──┴───┴───┤  ├───┴───┴┬──┴─┬─┘├───┼───┼───┬┘
     70         │    │    │ │    │          │  │        │    │  │   │PgD│   │
     71         └────┴────┘ └────┴──────────┘  └────────┴────┘  └───┴───┴───┘
     72 */
     73     /*  Row:    0        1        2        3        4        5                 6        7        8        9        10       11       12      */
     74     [_FN]   = LAYOUT(
     75                 KC_ESC,  KC_1,    KC_2,    KC_3,    KC_4,    KC_5,             KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    _______, KC_DEL,
     76                 QK_BOOT, _______, _______, KC_END,  _______, _______,          KC_HOME, _______, KC_INS,  _______, KC_PSCR,          MO(_FN1),
     77                 _______, _______, _______, KC_CALC, _______, _______,          _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, KC_PGUP, _______,
     78                 _______, _______, _______,          _______,                            _______,          _______, _______, KC_PGDN, _______
     79             ),
     80 
     81 /*
     82        ┌─────┬───┬───┬───┬───┬───┐      ┌───┬───┬───┬───┬───┬───┬────┐
     83        │     │   │   │   │   │   │      │   │   │   │   │Mod│Rod│ Tog│
     84        ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┐     └┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴────┤
     85        │      │   │   │   │   │   │      │   │   │   │   │   │       │
     86        ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┐  ┌─┴─┬─┴─┬─┴─┬─┴─┬┬┴──┬┴──┬────┤
     87        │        │   │   │   │   │   │  │   │   │   │   ││Sad│Vai│ Sai│
     88        └┬────┬──┴─┬─┼───┴┬──┴───┴───┤  ├───┴───┴┬──┴─┬─┘├───┼───┼───┬┘
     89         │    │    │ │    │          │  │        │    │  │Hud│Vad│Hui│
     90         └────┴────┘ └────┴──────────┘  └────────┴────┘  └───┴───┴───┘
     91 */
     92     /*  Row:    0        1        2        3        4        5                 6        7        8        9        10       11        12     */
     93     [_FN1]  = LAYOUT(
     94                 _______, _______, _______, _______, _______, _______,          _______, _______, _______, _______, UG_NEXT, UG_PREV,  UG_TOGG,
     95                 _______, _______, _______, _______, _______, _______,          _______, _______, _______, _______, _______,           _______,
     96                 _______, _______, _______, _______, _______, _______,          _______, _______, _______, _______, UG_SATD, UG_VALU,  UG_SATU,
     97                 _______, _______, _______,          _______,                            _______,          _______, UG_HUED, UG_VALD,  UG_HUEU
     98             ),
     99 };