qmk_firmware

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

keymap.c (6397B)


      1 /* Copyright 2022  CyanDuck
      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 3 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 // Defines names for use in layer keycodes and the keymap
     20 enum layer_names {
     21     _QWERTY,
     22     _NAVNUM,
     23     _SYM,
     24     _FUNC,
     25 };
     26 
     27 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
     28 
     29 /* QWERTY
     30  *
     31  * ,----------------------------------.                      ,----------------------------------.
     32  * |   Q  |   W  |   E  |   R  |   T  |                      |   Y  |   U  |   I  |   O  |   P  |
     33  * |------+------+------+------+------|                      |------+------+------+------+------|
     34  * |   A  |   S  |   D  |   F  |   G  |                      |   H  |   J  |   K  |   L  |   ;  |
     35  * |------+------+------+------+------|  ,-----.    ,-----.  |------+------+------+------+------|
     36  * |   Z  |   X  |   C  |   V  |   B  |  |CAPS |    |NUMLK|  |   N  |   M  |   ,  |   .  |   /  |
     37  * `----------------------------------'  `-----'    `-----'  `----------------------------------'
     38  *          ,-----.   ,--------------------.            ,--------------------.   ,-----. 
     39  *          |  1  |   | DEL | SPACE | TAB  |            |  ESC  | BS | ENTER |   |  4  |
     40  *          `-----'   `--------------------'            `--------------------'   `-----'
     41  */
     42 [_QWERTY] = LAYOUT(
     43 	KC_Q,				KC_W,				KC_E,				KC_R,				KC_T,			KC_Y,	KC_U,				KC_I,				KC_O,				KC_P,
     44 	MT(MOD_LGUI, KC_A),	MT(MOD_LALT, KC_S),	MT(MOD_LCTL, KC_D),	MT(MOD_LSFT, KC_F),	KC_G,			KC_H,	MT(MOD_LSFT, KC_J),	MT(MOD_LCTL, KC_K),	MT(MOD_LALT, KC_L),	MT(MOD_LGUI, KC_SCLN),
     45 	KC_Z,				KC_X,				KC_C,				KC_V,				KC_B,			KC_N,	KC_M,				KC_COMM,			KC_DOT,				KC_SLSH,
     46 	KC_1,				LT(3,KC_DEL),		LT(1,KC_SPC),		KC_TAB,				KC_CAPS,		KC_NUM,	KC_ESC,				KC_BSPC,			LT(2,KC_ENT),		KC_4
     47 ),
     48 
     49 /* NAVNUM
     50  *
     51  * ,----------------------------------.                      ,----------------------------------.
     52  * |      | PgUp |  UP  | PgDn |      |                      |   /  |   7  |   8  |   9  |   -  |
     53  * |------+------+------+------+------|                      |------+------+------+------+------|
     54  * | Home | Left | Down | Right| End  |                      |   =  |   4  |   5  |   6  |   +  |
     55  * |------+------+------+------+------|  ,-----.    ,-----.  |------+------+------+------+------|
     56  * |      |      |  INS |      |      |  |CAPS |    |NUMLK|  |   0  |   1  |   2  |   3  |   *  |
     57  * `----------------------------------'  `-----'    `-----'  `----------------------------------'
     58  *          ,-----.   ,--------------------.            ,--------------------.   ,-----. 
     59  *          |  1  |   | DEL | SPACE | TAB  |            |  ESC  | BS | ENTER |   |  4  |
     60  *          `-----'   `--------------------'            `--------------------'   `-----'
     61  */
     62 [_NAVNUM] = LAYOUT(
     63 	KC_NO,		KC_PGUP,		KC_UP,			KC_PGDN,	KC_NO,				KC_SLSH,	KC_7,	KC_8,		KC_9,			KC_MINS,
     64 	KC_HOME,	KC_LEFT,		KC_DOWN,		KC_RGHT,	KC_END,				KC_EQL,		KC_4,	KC_5,		KC_6,			KC_PLUS,
     65 	KC_NO,		KC_NO,			KC_INS,			KC_NO,		KC_NO,				KC_0,		KC_1,	KC_2,		KC_3,			KC_ASTR,
     66 	KC_1,		LT(3,KC_DEL),	LT(1,KC_SPC),	KC_TAB,		KC_CAPS,			KC_NUM,		KC_ESC,	KC_BSPC,	LT(2,KC_ENT),	KC_4
     67 ),
     68 
     69 /* SYM
     70  *
     71  * ,----------------------------------.                      ,----------------------------------.
     72  * |   %  |   @  |   [  |   ]  |   \  |                      |      |      |   ^  |      |      |
     73  * |------+------+------+------+------|                      |------+------+------+------+------|
     74  * |   #  |   !  |   (  |   )  |   |  |                      |   _  |   '  |   "  |   ~  |   `  |
     75  * |------+------+------+------+------|  ,-----.    ,-----.  |------+------+------+------+------|
     76  * |   $  |   £  |   {  |   }  |   &  |  |CAPS |    |NUMLK|  |      |      |      |      |      |
     77  * `----------------------------------'  `-----'    `-----'  `----------------------------------'
     78  *          ,-----.   ,--------------------.            ,--------------------.   ,-----. 
     79  *          |  1  |   | DEL | SPACE | TAB  |            |  ESC  | BS | ENTER |   |  4  |
     80  *          `-----'   `--------------------'            `--------------------'   `-----'
     81  */
     82 [_SYM] = LAYOUT(
     83 	KC_PERC,	KC_AT,			KC_LBRC,		KC_RBRC,	KC_BSLS,		KC_NO,		KC_NO,		KC_CIRC,	KC_NO,			KC_NO,
     84 	KC_HASH,	KC_EXLM,		KC_LPRN,		KC_RPRN,	KC_PIPE,		KC_UNDS,	KC_QUOT,	KC_DQT,		KC_TILD,		KC_GRV,
     85 	KC_DLR,		KC_NO,			KC_LCBR,		KC_RCBR,	KC_AMPR,		KC_NO,		KC_NO,		KC_NO,		KC_NO,			KC_NO,
     86 	KC_1,		LT(3,KC_DEL),	LT(1,KC_SPC),	KC_TAB,		KC_CAPS,		KC_NUM,		KC_ESC,		KC_BSPC,	LT(2,KC_ENT),	KC_4
     87 ),
     88 
     89 /* FUNC
     90  *
     91  * ,----------------------------------.                      ,----------------------------------.
     92  * |      |      |      |      |      |                      |      |  F7  |  F8  |  F9  |  F11 |
     93  * |------+------+------+------+------|                      |------+------+------+------+------|
     94  * |      |      |      |      |      |                      |      |  F4  |  F5  |  F6  |  F12 |
     95  * |------+------+------+------+------|  ,-----.    ,-----.  |------+------+------+------+------|
     96  * | Reset|      |      |      |      |  |CAPS |    |NUMLK|  |  F10 |  F1  |  F2  |  F3  |  F13 |
     97  * `----------------------------------'  `-----'    `-----'  `----------------------------------'
     98  *          ,-----.   ,--------------------.            ,--------------------.   ,-----. 
     99  *          |  1  |   | DEL | SPACE | TAB  |            |  ESC  | BS | ENTER |   |  4  |
    100  *          `-----'   `--------------------'            `--------------------'   `-----'
    101  */
    102 [_FUNC] =  LAYOUT(
    103 	KC_NO,	KC_NO,			KC_NO,			KC_NO,	KC_NO,			KC_NO,	KC_F7,	KC_F8,		KC_F9,			KC_F11,
    104 	KC_NO,	KC_NO,			KC_NO,			KC_NO,	KC_NO,			KC_NO,	KC_F4,	KC_F5,		KC_F6,			KC_F12,
    105 	QK_BOOT,	KC_NO,			KC_NO,			KC_NO,	KC_NO,			KC_F10,	KC_F1,	KC_F2,		KC_F3,			KC_F13,
    106 	KC_1,	LT(3,KC_DEL),	LT(1,KC_SPC),	KC_TAB,	KC_CAPS,		KC_NUM,	KC_ESC,	KC_BSPC,	LT(2,KC_ENT),	KC_4
    107 ),
    108 };