qmk_firmware

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

keymap.c (3774B)


      1 // Copyright 2021 weteor | 2022 Conor Burns (@Conor-Burns)
      2 // Copyright 2023 Ben Roe (@keycapsss)
      3 // Copyright 2023 Tom Barnes (@keyboard-magpie)
      4 // SPDX-License-Identifier: GPL-2.0-or-later
      5 
      6 #include QMK_KEYBOARD_H
      7 enum layers {
      8     _ALPHA_QWERTY = 0,
      9     _ALPHA_COLEMAK,
     10     _SYM,
     11     _NAV,
     12     _NUM,
     13     _CFG,
     14 };
     15 
     16 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
     17 
     18     // clang-format off
     19 
     20     [_ALPHA_QWERTY] = LAYOUT_split_3x5_3(
     21         KC_Q,         KC_W,    KC_E,    KC_R,    KC_T,                                                KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,
     22         KC_A,         KC_S,    KC_D,    KC_F,    KC_G,                                                KC_H,    KC_J,    KC_K,    KC_L,    KC_SCLN,
     23         LSFT_T(KC_Z), KC_X,    KC_C,    KC_V,    KC_B,                                                KC_N,    KC_M,    KC_COMM, KC_DOT,  RSFT_T(KC_SLSH),
     24                         LCTL_T(KC_ESC), LT(_NUM,KC_SPC), LT(_NAV, KC_TAB),     LT(_SYM, KC_BSPC), KC_ENT, LALT_T(KC_DEL)
     25     ),
     26     [_ALPHA_COLEMAK] = LAYOUT_split_3x5_3(
     27         KC_Q,         KC_W,    KC_F,    KC_P,    KC_G,                                                KC_J,    KC_L,    KC_U,    KC_Y,    KC_QUOT,
     28         KC_A,         KC_R,    KC_S,    KC_T,    KC_D,                                                KC_H,    KC_N,    KC_E,    KC_I,    KC_O,
     29         LSFT_T(KC_Z), KC_X,    KC_C,    KC_V,    KC_B,                                                KC_K,    KC_M,    KC_COMM, KC_DOT,  RSFT_T(KC_SCLN),
     30                         LCTL_T(KC_ENT), LT(_NUM,KC_SPC), LT(_NAV, KC_TAB),     LT(_SYM, KC_BSPC), KC_ENT, LALT_T(KC_DEL)
     31     ),
     32     [_SYM] = LAYOUT_split_3x5_3(
     33         KC_GRV , KC_CIRC,   KC_AT,  KC_DLR, KC_TILD,                                KC_AMPR, KC_EXLM, KC_PIPE, KC_UNDS, KC_HASH,
     34         KC_SLSH, KC_LBRC, KC_LCBR, KC_LPRN,  KC_EQL,                                KC_ASTR, KC_RPRN, KC_RCBR, KC_RBRC, KC_BSLS,
     35         _______, KC_QUES, KC_PLUS, KC_PERC, XXXXXXX,                                XXXXXXX, XXXXXXX, KC_MINS, XXXXXXX, _______,
     36                                         XXXXXXX, MO(_CFG), XXXXXXX,     _______, XXXXXXX, XXXXXXX
     37     ),
     38     [_NAV] = LAYOUT_split_3x5_3(
     39         XXXXXXX, KC_VOLD, KC_MUTE, KC_VOLU, XXXXXXX,                                XXXXXXX, KC_PGDN,   KC_UP, KC_PGUP,  KC_DEL,
     40         KC_MPRV, KC_MPLY, KC_MSTP, KC_MNXT, XXXXXXX,                                KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT,  KC_END,
     41         XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,                                XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
     42                                         XXXXXXX, XXXXXXX, _______,      XXXXXXX, MO(_CFG), XXXXXXX
     43     ),
     44     [_NUM] = LAYOUT_split_3x5_3(
     45         XXXXXXX,  KC_F9, KC_F10, KC_F11, KC_F12,                                    KC_PPLS,  KC_P7,  KC_P8,  KC_P9, KC_PSLS,
     46         XXXXXXX,  KC_F5,  KC_F6,  KC_F7,  KC_F8,                                    KC_P0,  KC_P4,  KC_P5,  KC_P6, KC_PDOT,
     47         XXXXXXX,  KC_F1,  KC_F2,  KC_F3,  KC_F4,                                    KC_PMNS,  KC_P1,  KC_P2,  KC_P3, KC_PAST,
     48                                         XXXXXXX, _______, XXXXXXX,      KC_PEQL, KC_PENT, XXXXXXX
     49     ),
     50     [_CFG] = LAYOUT_split_3x5_3(
     51         XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,                                XXXXXXX, XXXXXXX, XXXXXXX,DF(_ALPHA_QWERTY), DF(_ALPHA_COLEMAK),
     52         XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,                                XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
     53         XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,                                XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
     54                                          XXXXXXX, _______, XXXXXXX,     XXXXXXX, _______, XXXXXXX
     55     )
     56     // clang-format on
     57 };