// Copyright 2023 Danny Nguyen (@nooges) // SPDX-License-Identifier: GPL-2.0-or-later #include QMK_KEYBOARD_H // Layouts enum layer_names { _ENGRAM, _QWERTY, _GAMING, _LOWER, _RAISE, }; enum custom_keycodes { EMAIL = SAFE_RANGE, KILL, }; const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_QWERTY] = LAYOUT( //┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐ QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL, //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤ KC_LALT, KC_A, KC_S, KC_D, KC_F, LT(_LOWER, KC_G), LT(_LOWER, KC_H), KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, _______, KC_RALT, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, //└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘ └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘ TG(_QWERTY), KC_LCTL, KC_LGUI, LT(_RAISE, KC_SPC), KC_ENT, KILL // └────────┴────────┴────────┘ └────────┴────────┴────────┘ ), [_ENGRAM] = LAYOUT( //┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐ QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤ KC_TAB, KC_B, KC_Y, KC_O, KC_U, KC_QUOT, KC_SCLN, KC_L, KC_D, KC_W, KC_V, KC_Z, //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤ KC_LALT, KC_C, KC_I, KC_E, LALT_T(KC_A), LT(_LOWER, KC_COMM), LT(_LOWER, KC_DOT), RALT_T(KC_H), KC_T, KC_S, KC_N, KC_Q, //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤ KC_LSFT, KC_G, KC_X, KC_J, KC_K, KC_UNDS, _______, KC_RALT, KC_SLSH, KC_R, KC_M, KC_F, KC_P, EMAIL, //└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘ └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘ TG(_QWERTY), LCTL_T(KC_TAB), KC_LGUI, LT(_RAISE, KC_SPC), LSFT_T(KC_ENT), KILL // └────────┴────────┴────────┘ └────────┴────────┴────────┘ ), // Engram /* `~ 1! 2@ 3# 4$ 5% 6^ 7& 8* 9( 0) [{ ]} */ /* bB yY oO uU '" ;: lL dD wW vV zZ =+ \| */ /* cC iI eE aA ,< .> hH tT sS nN qQ */ /* gG xX jJ kK -_ /? rR mM fF pP */ [_LOWER] = LAYOUT( //┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐ KC_GRV, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤ QK_BOOT, KC_1, KC_HOME, KC_UP, KC_END, KC_LPRN, KC_RPRN, KC_7, KC_8, KC_9, KC_0, TG(_GAMING), //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤ KC_DEL, KILL, KC_LEFT, KC_DOWN, KC_RGHT, KC_LBRC, KC_RBRC, KC_4, KC_5, KC_6, KC_PLUS, KC_PIPE, //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤ BL_STEP, _______, _______, _______, KC_MINS, KC_LCBR, KC_LPRN, KC_RPRN, KC_RCBR, KC_1, KC_2, KC_3, KC_MINS, _______, //└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘ └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘ _______, _______, KC_DEL, KC_DEL, _______, KC_0 // └────────┴────────┴────────┘ └────────┴────────┴────────┘ ), [_RAISE] = LAYOUT( //┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐ KC_F12, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤ UG_TOGG, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______, //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤ UG_NEXT, KC_MPRV, KC_BRIU, KC_VOLU, KC_BSPC, KC_UNDS, KC_EQL, KC_HOME, UG_HUEU, UG_SATU, UG_VALU, KC_BSLS, //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤ KC_MUTE, KC_MPLY, KC_BRID, KC_VOLD, KC_DEL, KC_MINS, KC_LPRN, _______, KC_PLUS, KC_END, UG_HUED, UG_SATD, UG_VALD, _______, //└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘ └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘ _______, _______, KC_ESC, _______, _______, _______ // └────────┴────────┴────────┘ └────────┴────────┴────────┘ ), [_GAMING] = LAYOUT( //┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐ QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤ KC_TAB, KC_Z, KC_Q, KC_W, KC_E, KC_R, KC_Y, KC_U, KC_I, KC_O, KC_P, TG(_GAMING), //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤ KC_LALT, LSFT_T(KC_G), KC_A, KC_S, KC_D, KC_F, LT(_LOWER, KC_H), KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤ KC_LSFT, KC_B, KC_Z, KC_X, KC_C, KC_V, KC_HOME, KC_END, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, //└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘ └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘ KC_LGUI, KC_LCTL, KC_SPC, LT(_RAISE, KC_SPC), KC_ENT, KC_RALT // └────────┴────────┴────────┘ └────────┴────────┴────────┘ ), }; bool process_record_user(uint16_t keycode, keyrecord_t *record) { switch (keycode) { case EMAIL: if (record->event.pressed) { SEND_STRING("chris@tfcconnection.org"); } return false; break; case KILL: if (record->event.pressed) { SEND_STRING(SS_LGUI("c")); } return false; break; } return true; } layer_state_t layer_state_set_user(layer_state_t state) { switch (get_highest_layer(state)) { case _GAMING: rgblight_sethsv_noeeprom(HSV_RED); break; default: // for any other layers, or the default layer rgblight_sethsv_noeeprom(HSV_SPRINGGREEN); break; } return state; } /* const rgblight_segment_t PROGMEM gaming_layer[] = UGLIGHT_LAYER_SEGMENTS( */ /* {9, 2, HSV_CYAN} */ /* ); */ /* const rgblight_segment_t* const PROGMEM my_rgb_layers[] = UGLIGHT_LAYERS_LIST( */ /* gaming_layer, // Overrides caps lock layer */ /* ); */ /* void keyboard_post_init_user(void) { */ /* rgblight_layers = my_rgb_layers; */ /* } */ /* layer_state_t layer_state_set_user(layer_state_t state) { */ /* rgblight_set_layer_state(0, layer_state_cmp(state, _GAMING)); */ /* return state; */ /* } */