keymap.c (9200B)
1 #include QMK_KEYBOARD_H 2 #include "version.h" 3 4 #define BASE 0 // default layer 5 #define CONT 1 // control layer 6 #define QWER 2 // qwerty layer 7 8 enum custom_keycodes { 9 PLACEHOLDER = SAFE_RANGE, // ensure these codes start after the highest keycode defined in Quantum 10 COLON_EQ, 11 }; 12 13 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 14 /* Keymap 0: Basic layer 15 * 16 * ,-----------------------------------------. ,-----------------------------------------. 17 * | Esc | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | \ | 18 * |------+------+------+------+------+------| |------+------+------+------+------+------| 19 * | Tab | '" | , | . | P | Y | | F | G | C | R | L | / | 20 * |------+------+------+------+------+------| |------+------+------+------+------+------| 21 * | := | A | O | E | U | I | | D | H | T | N | S | - | 22 * |------+------+------+------+------+------| |------+------+------+------+------+------| 23 * |LShift| ; | Q | J | K | X | | B | M | W | V | Z |RShift| 24 * |------+------+------+------+------+------' `------+------+------+------+------+------| 25 * | Home | ` | = | Left | Right| | Up | Down | [ | ] | End | 26 * `----------------------------------' `----------------------------------' 27 * ,-------------. ,-------------. 28 * | LCtl | LAlt | | RCtl | Ralt | 29 * ,------|------|------| |------+------+------. 30 * | | | L1 | | L1 | | | 31 * | Back |Delete|------| |------|Enter |Space | 32 * |Space | | LGui | | RGui | | | 33 * `--------------------' `--------------------' 34 */ 35 [BASE] = LAYOUT( // layer 0 : default 36 // left hand 37 KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, 38 KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, 39 COLON_EQ, KC_A, KC_O, KC_E, KC_U, KC_I, 40 KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, 41 KC_HOME, KC_GRV, KC_EQL, KC_LEFT, KC_RGHT, 42 KC_LCTL, KC_LALT, 43 MO(CONT), 44 KC_BSPC, KC_DEL, KC_LGUI, 45 // right hand 46 KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLS, 47 KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH, 48 KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS, 49 KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSFT, 50 KC_UP, KC_DOWN, KC_LBRC, KC_RBRC, KC_END, 51 KC_RALT, KC_RCTL, 52 MO(CONT), 53 KC_RGUI, KC_ENT, KC_SPACE 54 ), 55 /* Keymap 1: Control layer (media keys, Fkeys, numpad) 56 * 57 * ,-----------------------------------------. ,-----------------------------------------. 58 * | | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | QK_BOOT| 59 * |------+------+------+------+------+------| |------+------+------+------+------+------| 60 * | | | Mute | VolD | VolU | | | | 7 | 8 | 9 | + | | 61 * |------+------+------+------+------+------| |------+------+------+------+------+------| 62 * | | | Prev |PPause| Next | | | | 4 | 5 | 6 | = | | 63 * |------+------+------+------+------+------| |------+------+------+------+------+------| 64 * | | | | | | | | | 1 | 2 | 3 | , | | 65 * |------+------+------+------+------+------' `------+------+------+------+------+------| 66 * |PageUp| | | | | | 0 | 0 | . | |PageDn| 67 * `----------------------------------' `----------------------------------' 68 * ,-------------. ,-------------. 69 * | | | | | | 70 * ,------|------|------| |------+------+------. 71 * | | | | | | | | 72 * | | |------| |------| | | 73 * | | | | | | | | 74 * `--------------------' `--------------------' 75 */ 76 // SYMBOLS 77 [CONT] = LAYOUT( 78 // left hand 79 KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, 80 KC_TRNS, KC_TRNS, KC_MUTE, KC_VOLD, KC_VOLU, KC_TRNS, 81 TG(QWER), KC_TRNS, KC_MPRV, KC_MPLY, KC_MNXT, KC_TRNS, 82 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 83 KC_PGUP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 84 KC_TRNS, KC_TRNS, 85 KC_TRNS, 86 KC_TRNS, KC_TRNS, KC_TRNS, 87 // right hand 88 KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, QK_BOOT, 89 KC_TRNS, KC_7, KC_8, KC_9, KC_KP_PLUS, KC_TRNS, 90 KC_TRNS, KC_4, KC_5, KC_6, KC_EQL, KC_TRNS, 91 KC_TRNS, KC_1, KC_2, KC_3, KC_COMM, KC_TRNS, 92 KC_0, KC_0, KC_DOT, KC_TRNS, KC_PGDN, 93 KC_TRNS, KC_TRNS, 94 KC_TRNS, 95 KC_TRNS, KC_TRNS, KC_TRNS 96 ), 97 /* Keymap 2: QWERTY overlay 98 * ,-----------------------------------------. ,-----------------------------------------. 99 * | | | | | | | | | | | | | [ | 100 * |------+------+------+------+------+------| |------+------+------+------+------+------| 101 * | | Q | W | E | R | T | | Y | U | I | O | P | ] | 102 * |------+------+------+------+------+------| |------+------+------+------+------+------| 103 * | | A | S | D | F | G | | H | J | K | L | ; | '" | 104 * |------+------+------+------+------+------| |------+------+------+------+------+------| 105 * | | Z | X | C | V | B | | N | M | , | . | / | | 106 * |------+------+------+------+------+------' `------+------+------+------+------+------| 107 * | | | | | | | | | - | \ | | 108 * `----------------------------------' `----------------------------------' 109 * ,-------------. ,-------------. 110 * | | | | | | 111 * ,------|------|------| |------+------+------. 112 * | | | | | | | | 113 * | | |------| |------| | | 114 * | | | | | | | | 115 * `--------------------' `--------------------' 116 * 117 */ 118 // QWERTY 119 [QWER] = LAYOUT( 120 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 121 KC_TRNS, KC_Q, KC_W, KC_E, KC_R, KC_T, 122 KC_TRNS, KC_A, KC_S, KC_D, KC_F, KC_G, 123 KC_TRNS, KC_Z, KC_X, KC_C, KC_V, KC_B, 124 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 125 KC_TRNS, KC_TRNS, 126 KC_TRNS, 127 KC_TRNS, KC_TRNS, KC_TRNS, 128 // right hand 129 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LBRC, 130 KC_Y, KC_U, KC_I, KC_O, KC_P, KC_RBRC, 131 KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, 132 KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_TRNS, 133 KC_TRNS, KC_TRNS, KC_MINS, KC_BSLS, KC_TRNS, 134 KC_TRNS, KC_TRNS, 135 KC_TRNS, 136 KC_TRNS, KC_TRNS, KC_TRNS 137 ), 138 }; 139 140 bool process_record_user(uint16_t keycode, keyrecord_t *record) { 141 if (record->event.pressed) { 142 switch(keycode) { 143 case COLON_EQ: 144 SEND_STRING(":="); 145 return false; 146 break; 147 } 148 } 149 150 return true; 151 }