qmk_firmware

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

keymap.c (5798B)


      1 // Copyright 2023 zzeneg (@zzeneg)
      2 // SPDX-License-Identifier: GPL-2.0-or-later
      3 
      4 #include QMK_KEYBOARD_H
      5 
      6 enum layer_number {
      7     // clang-format off
      8     _QWERTY = 0,
      9     _GAME,
     10     _NAV,
     11     _NUMBER,
     12     _SYMBOL,
     13     _FUNC,
     14     _SYS
     15     // clang-format on
     16 };
     17 
     18 // Left-hand home row mods
     19 #define HOME_A LGUI_T(KC_A)
     20 #define HOME_S LALT_T(KC_S)
     21 #define HOME_D LCTL_T(KC_D)
     22 #define HOME_F LSFT_T(KC_F)
     23 
     24 // Right-hand home row mods
     25 #define HOME_J RSFT_T(KC_J)
     26 #define HOME_K RCTL_T(KC_K)
     27 #define HOME_L LALT_T(KC_L)
     28 #define HOME_SCLN RGUI_T(KC_SCLN)
     29 
     30 // bottom mods
     31 #define SYM_SPC LT(_SYMBOL, KC_SPC)
     32 #define NUM_TAB LT(_NUMBER, KC_TAB)
     33 #define FUNC_ESC LT(_FUNC, KC_ESC)
     34 #define FUNC_ENT LT(_FUNC, KC_ENT)
     35 #define NAV_BSPC LT(_NAV, KC_BSPC)
     36 #define RALT_DEL LALT_T(KC_DEL)
     37 
     38 // game layer mods
     39 #define LALT_Q LALT_T(KC_Q)
     40 #define LSFT_MINS LSFT_T(KC_MINS)
     41 #define LCTL_ESC LCTL_T(KC_ESC)
     42 #define LGUI_QUOT LGUI_T(KC_QUOT)
     43 
     44 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
     45     /* QWERTY
     46      *               .---------------------------.                    .---------------------------.
     47      *               |   W  |   E  |   R  |   T  |                    |   Y  |   U  |   I  |   O  |
     48      * .------+------+------+------+------+------|                    |------+------+------+------+------+------.
     49      * |  Q   |   A  |   S  |   D  |   F  |   G  |                    |   H  |   J  |   K  |   L  |   P  |  ;   |
     50      * |------+------+------+------+------+------|                    |------+------+------+------+------+------|
     51      * |  -   |   Z  |   X  |   C  |   V  |   B  |--------.  .--------|   N  |   M  |   ,  |   .  |   /  |  '   |
     52      * '-----------------------------------------/       /    \       \-----------------------------------------'
     53      *                         | Esc  | Tab  |  / Space /      \ Enter \  | Bsps | Del  |
     54      *                         |_FUNC | _NUM | /_SYMBOL/        \ _FUNC \ | _NAV | RAlt |
     55      *                         `-------------''-------'          '-------''-------------'
     56      */
     57     // clang-format off
     58     [_QWERTY] = LAYOUT(
     59                             KC_W,    KC_E,    KC_R,    KC_T,                KC_Y,    KC_U,    KC_I,     KC_O,
     60         KC_Q,     HOME_A,   HOME_S,  HOME_D,  HOME_F,  KC_G,                KC_H,    HOME_J,  HOME_K,   HOME_L,  HOME_SCLN,  KC_P,
     61         KC_MINS,  KC_Z,     KC_X,    KC_C,    KC_V,    KC_B,                KC_N,    KC_M,    KC_COMM,  KC_DOT,  KC_SLSH,    KC_QUOT,
     62                                    FUNC_ESC,  NUM_TAB,  SYM_SPC,     FUNC_ENT,  NAV_BSPC,  RALT_DEL
     63     ),
     64 
     65     [_GAME] = LAYOUT(
     66                             KC_W,    KC_E,    KC_R,    KC_T,               KC_Y,    KC_U,    KC_I,     KC_O,
     67         LALT_Q,     KC_A,   KC_S,    KC_D,    KC_F,    KC_G,               KC_H,    KC_J,    KC_K,     KC_L,    KC_SCLN,  KC_P,
     68         LSFT_MINS,  KC_Z,   KC_X,    KC_C,    KC_V,    KC_B,               KC_N,    KC_M,    KC_COMM,  KC_DOT,  KC_SLSH,  LGUI_QUOT,
     69                                     LCTL_ESC,  NUM_TAB,  SYM_SPC,    FUNC_ENT,  NAV_BSPC,  RALT_DEL
     70     ),
     71 
     72     [_NAV] = LAYOUT(
     73                             XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,             XXXXXXX,  XXXXXXX,  KC_PGDN,  KC_PGUP,
     74         XXXXXXX,  KC_LGUI,  KC_LALT,  KC_LCTL,  KC_LSFT,  XXXXXXX,             XXXXXXX,  KC_LEFT,  KC_DOWN,  KC_UP,    KC_RGHT,  KC_PAUS,
     75         XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,             XXXXXXX,  KC_HOME,  KC_END,   KC_INS,   KC_APP,   XXXXXXX,
     76                                        FUNC_ESC,   NUM_TAB,   SYM_SPC,     XXXXXXX,  _______,  RALT_DEL
     77     ),
     78 
     79     [_NUMBER] = LAYOUT(
     80                             KC_7,    KC_8,    KC_9,    KC_GRV,              XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,
     81         KC_EQL,   KC_0,     KC_4,    KC_5,    KC_6,    KC_LBRC,             XXXXXXX,  KC_RSFT,  KC_RCTL,  KC_LALT,  KC_RGUI,  XXXXXXX,
     82         KC_MINS,  KC_BSLS,  KC_1,    KC_2,    KC_3,    KC_RBRC,             XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,
     83                                      KC_ENT,  _______,  TG(_GAME),       FUNC_ENT,  NAV_BSPC,  RALT_DEL
     84     ),
     85 
     86     [_SYMBOL] = LAYOUT(
     87                                         LSFT(KC_7), LSFT(KC_8), LSFT(KC_9), LSFT(KC_GRV),           XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,
     88         LSFT(KC_EQL),   LSFT(KC_0),     LSFT(KC_4), LSFT(KC_5), LSFT(KC_6), LSFT(KC_LBRC),          XXXXXXX,  KC_RSFT,  KC_RCTL,  KC_LALT,  KC_RGUI,  XXXXXXX,
     89         LSFT(KC_MINS),  LSFT(KC_BSLS),  LSFT(KC_1), LSFT(KC_2), LSFT(KC_3), LSFT(KC_RBRC),          XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,
     90                                                                 MO(_SYS),  KC_BSPC, _______,     FUNC_ENT,  NAV_BSPC,  RALT_DEL
     91     ),
     92 
     93     [_FUNC] = LAYOUT(
     94                             KC_F7,   KC_F8,   KC_F9,   KC_CAPS,            XXXXXXX,  KC_PSCR,  KC_SCRL,  KC_NUM,
     95         KC_F12,   KC_F11,   KC_F4,   KC_F5,   KC_F6,   KC_F12,             XXXXXXX,  KC_RSFT,  KC_RCTL,  KC_LALT,  KC_RGUI,  XXXXXXX,
     96         XXXXXXX,  KC_F10,   KC_F1,   KC_F2,   KC_F3,   XXXXXXX,            XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,
     97                                          _______, KC_MNXT, KC_MPLY,     _______, XXXXXXX,  MO(_SYS)
     98     ),
     99 
    100     [_SYS] = LAYOUT(
    101                             BL_DOWN,  BL_UP,    BL_TOGG,  XXXXXXX,            XXXXXXX,  RM_TOGG,  RM_NEXT,  RM_PREV,
    102         XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,            XXXXXXX,  RM_HUEU,  RM_SATU,  RM_VALU,  RM_SPDU,  RGB_M_P,
    103         EH_LEFT,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  EH_RGHT,            EH_RGHT,  RM_HUED,  RM_SATD,  RM_VALD,  RM_SPDD,  EH_LEFT,
    104                                             _______, QK_BOOT, _______,     _______, QK_BOOT, _______
    105     )
    106     // clang-format on
    107 };