|
| 1 | +/* Copyright 2023 skewwhiffy |
| 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 | +#include QMK_KEYBOARD_H |
| 17 | +#include "keymap_uk.h" |
| 18 | + |
| 19 | +// Layer shorthand |
| 20 | +enum Layers { |
| 21 | + cm, // colemak |
| 22 | + nbl, // numbers left |
| 23 | + nbr, // numbers right |
| 24 | + syl, // symbols left |
| 25 | + syr, // symbols right |
| 26 | + nal, // navigation left |
| 27 | + nar // navigation right |
| 28 | +}; |
| 29 | + |
| 30 | +// Layer buttons |
| 31 | +#define _Z_SFT SFT_T(UK_Z) |
| 32 | +#define _SLSH SFT_T(UK_SLSH) |
| 33 | + |
| 34 | +#define _X_NB LT(nbl, UK_X) |
| 35 | +#define _DOT_NB LT(nbr, UK_DOT) |
| 36 | +#define __NBL LT(nbl, _______) |
| 37 | +#define __NBR LT(nbr, _______) |
| 38 | + |
| 39 | +#define _C_SY LT(syl, UK_C) |
| 40 | +#define _COM_SY LT(syr, UK_COMM) |
| 41 | +#define __SYL LT(syl, _______) |
| 42 | +#define __SYR LT(syr, _______) |
| 43 | + |
| 44 | +#define _V_NAL LT(nal, UK_V) |
| 45 | +#define _M_NAR LT(nar, UK_M) |
| 46 | +#define __NAL LT(nal, _______) |
| 47 | +#define __NAR LT(nar, _______) |
| 48 | + |
| 49 | +// Custom hotkeys |
| 50 | +#define _TERM LCTL(UK_QUOT) // Hotkey for terminal |
| 51 | +#define _S_TAB S(KC_TAB) |
| 52 | +#define _C_LEFT LCTL(KC_LEFT) |
| 53 | +#define _C_RGHT LCTL(KC_RGHT) |
| 54 | +#define _A_LEFT LALT(KC_LEFT) |
| 55 | +#define _A_RGHT LALT(KC_RGHT) |
| 56 | +#define _VIM_ESC LCTL(KC_LBRC) |
| 57 | + |
| 58 | +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { |
| 59 | + |
| 60 | +/* Colemak |
| 61 | + * .-----------------------------------------------------------------------------------------------------. |
| 62 | + * | Q | W | F | P | G | | | J | L | U | Y | ; | |
| 63 | + * |-----------------------------------------------------------------------------------------------------| |
| 64 | + * | A | R | S | T | D | | | H | N | E | I | O | |
| 65 | + * |-----------------------------------------------------------------------------------------------------| |
| 66 | + * | Z | X | C | V | B | DEL | DEL | K | M | , | . | / | |
| 67 | + * | SHIFT | NUMBER | SYMBOL | NAV | | | | | NAV | SYMBOL | FUNC | SHIFT | |
| 68 | + * |-----------------------------------------------------------------------------------------------------| |
| 69 | + * | LSHIFT | LCTRL | LALT | LGUI | SPACE | ENTER | BKSPC | RGUI | RALT | RCTRL | RSHIFT | |
| 70 | + * .-----------------------------------------------------------------------------------------------------. |
| 71 | + */ |
| 72 | + [cm] = LAYOUT_planck_mit( |
| 73 | + UK_Q, UK_W, UK_F, UK_P, UK_G, _______, _______, UK_J, UK_L, UK_U, UK_Y, UK_SCLN, |
| 74 | + UK_A, UK_R, UK_S, UK_T, UK_D, _______, _______, UK_H, UK_N, UK_E, UK_I, UK_O, |
| 75 | + _Z_SFT, _X_NB, _C_SY, _V_NAL, UK_B, KC_DEL, KC_DEL, UK_K, _M_NAR, _COM_SY, _DOT_NB, _SLSH, |
| 76 | + KC_LSFT, KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_ENT, KC_BSPC, KC_RGUI, KC_RALT, KC_RCTL, KC_RSFT |
| 77 | + ), |
| 78 | + |
| 79 | +/* Numbers _NB |
| 80 | + * .-----------------------------------------------------------------------------------------------------------. |
| 81 | + * | | F7 | F8 | F9 | F10 | | | | 7 | 8 | 9 | | |
| 82 | + * |-----------------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| |
| 83 | + * | | F4 | F5 | F6 | F11 | | | | 4 | 5 | 6 | | |
| 84 | + * |-----------------+--------+--------+--------+--------+--------+--------+--------------------------+--------| |
| 85 | + * | | F1 | F2 | F3 | F12 | | | 0 | 1 | 2 | 3 | . | |
| 86 | + * |-----------------+--------+--------+--------+--------+--------+--------+-----------------+--------+--------| |
| 87 | + * | | | | | | | | | | | | | |
| 88 | + * '-----------------------------------------------------------------------------------------------------------' |
| 89 | + */ |
| 90 | + [nbl] = LAYOUT_planck_mit( |
| 91 | + _______, KC_F7, KC_F8, KC_F9, KC_F10, _______, _______, _______, KC_7, KC_8, KC_9, _______, |
| 92 | + _______, KC_F4, KC_F5, KC_F6, KC_F11, _______, _______, _______, KC_4, KC_5, KC_6, _______, |
| 93 | + _______, __NBL, KC_F2, KC_F3, KC_F12, _______, _______, KC_0, KC_1, KC_2, KC_3, KC_DOT, |
| 94 | + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ |
| 95 | + ), |
| 96 | + [nbr] = LAYOUT_planck_mit( |
| 97 | + _______, KC_F7, KC_F8, KC_F9, KC_F10, _______, _______, _______, KC_7, KC_8, KC_9, _______, |
| 98 | + _______, KC_F4, KC_F5, KC_F6, KC_F11, _______, _______, _______, KC_4, KC_5, KC_6, _______, |
| 99 | + _______, KC_F1, KC_F2, KC_F3, KC_F12, _______, _______, KC_0, KC_1, KC_2, __NBR, KC_DOT, |
| 100 | + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ |
| 101 | + ), |
| 102 | + |
| 103 | +/* Symbols _SY |
| 104 | + * .-----------------------------------------------------------------------------------------------------------. |
| 105 | + * | ! | £ | _ | - | ~ | | | \ | { | } | / | # | |
| 106 | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| |
| 107 | + * | $ | % | + | = | | | | " | ( | ) | ' | @ | |
| 108 | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| |
| 109 | + * | ^ | & | * | | | | | | < | [ | ] | > | ` | |
| 110 | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| |
| 111 | + * | | | | | | | | | | | | | |
| 112 | + * '-----------------------------------------------------------------------------------------------------------' |
| 113 | + */ |
| 114 | + [syl] = LAYOUT_planck_mit( |
| 115 | + UK_EXLM, UK_PND, UK_UNDS, UK_MINS, UK_TILD, _______, _______, UK_BSLS, UK_LCBR, UK_RCBR, UK_SLSH, UK_HASH, |
| 116 | + UK_DLR, UK_PERC, UK_PLUS, UK_EQL, _______, _______, _______, UK_DQUO, UK_LPRN, UK_RPRN, UK_QUOT, UK_AT, |
| 117 | + UK_CIRC, UK_AMPR, __SYL, UK_PIPE, _______, _______, _______, UK_LABK, UK_LBRC, UK_RBRC, UK_RABK, UK_GRV, |
| 118 | + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ |
| 119 | + ), |
| 120 | + [syr] = LAYOUT_planck_mit( |
| 121 | + UK_EXLM, UK_PND, UK_UNDS, UK_MINS, UK_TILD, _______, _______, UK_BSLS, UK_LCBR, UK_RCBR, UK_SLSH, UK_HASH, |
| 122 | + UK_DLR, UK_PERC, UK_PLUS, UK_EQL, _______, _______, _______, UK_DQUO, UK_LPRN, UK_RPRN, UK_QUOT, UK_AT, |
| 123 | + UK_CIRC, UK_AMPR, UK_ASTR, UK_PIPE, _______, _______, _______, UK_LABK, UK_LBRC, __SYR, UK_RABK, UK_GRV, |
| 124 | + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ |
| 125 | + ), |
| 126 | + |
| 127 | +/* |
| 128 | + * Navigation |
| 129 | + * .----------------------------------------------------------------------------------------------------------------. |
| 130 | + * | Ctrl [ | Ctrl L | Up | Ctrl R | | RGB HUE | RGB ON/OFF | | PtSn | ScLk | Pause | ESC | |
| 131 | + * +--------+--------+--------+--------+--------+---------+------------+--------+--------+--------+--------+--------| |
| 132 | + * | Tab | Left | Down | Right | | RGB SAT | | | Insert | Home | PgUp | Term | |
| 133 | + * +--------+--------+--------+--------+--------+---------+------------+--------+--------+--------+--------+--------| |
| 134 | + * | ShTab | Alt L | | Alt R | | RGB VAL | RESET | | Delete | End | PgDn | | |
| 135 | + * +--------+--------+--------+--------+--------+---------+------------+--------+--------+--------+--------+--------| |
| 136 | + * | | | | | | RGB MODE | | | | | | |
| 137 | + * '----------------------------------------------------------------------------------------------------------------' |
| 138 | + */ |
| 139 | + [nal] = LAYOUT_planck_mit( |
| 140 | + _VIM_ESC, _C_LEFT, KC_UP, _C_RGHT, _______, RGB_HUI, RGB_TOG, _______, KC_PSCR, KC_SCRL, KC_PAUS, KC_ESC, |
| 141 | + KC_TAB, KC_LEFT, KC_DOWN, KC_RGHT, _______, RGB_SAI, _______, _______, KC_INS, KC_HOME, KC_PGUP, _TERM, |
| 142 | + _S_TAB, _A_LEFT, _______, __NAL, _______, RGB_VAI, QK_BOOT, _______, KC_DEL, KC_END, KC_PGDN, _______, |
| 143 | + _______, _______, _______, _______, _______, RGB_MOD, _______, _______, _______, _______, _______ |
| 144 | + ), |
| 145 | + [nar] = LAYOUT_planck_mit( |
| 146 | + _VIM_ESC, _C_LEFT, KC_UP, _C_RGHT, _______, RGB_HUI, RGB_TOG, _______, KC_PSCR, KC_SCRL, KC_PAUS, KC_ESC, |
| 147 | + KC_TAB, KC_LEFT, KC_DOWN, KC_RGHT, _______, RGB_SAI, _______, _______, KC_INS, KC_HOME, KC_PGUP, _TERM, |
| 148 | + _S_TAB, _A_LEFT, _______, _A_RGHT, _______, RGB_VAI, QK_BOOT, _______, __NAR, KC_END, KC_PGDN, _______, |
| 149 | + _______, _______, _______, _______, _______, RGB_MOD, _______, _______, _______, _______, _______ |
| 150 | + ), |
| 151 | +}; |
0 commit comments