#include QMK_KEYBOARD_H enum custom_keycode { VS_COMMENT = SAFE_RANGE, VS_UNCOMMENT, TST_STRING }; bool process_record_user(uint16_t keycode, keyrecord_t *record) { switch (keycode) { case VS_COMMENT: if (record->event.pressed) { SEND_STRING(SS_LCTL("kc")); } break; case VS_UNCOMMENT: if (record->event.pressed) { SEND_STRING(SS_LCTL("ku")); } break; case TST_STRING: if (record->event.pressed) { SEND_STRING("12345\n"); } break; } return true; } #define LOCK LGUI(KC_L) #define CUT LCTL(KC_X) #define COPY LCTL(KC_C) #define PASTE LCTL(KC_V) #define FIND LCTL(KC_F) enum layers { NORMAL_LAYER = 0, SECOND_LAYER // , // THIRD_LAYER }; const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [NORMAL_LAYER] = LAYOUT_ortho_2x5( VS_COMMENT, VS_UNCOMMENT, LOCK, TST_STRING, KC_F5, KC_F9, KC_F10, KC_F11, KC_F12, TO(1) ), [SECOND_LAYER] = LAYOUT_ortho_2x5( KC_MUTE, KC_VOLD, KC_VOLU, KC_MPLY, KC_MSTP, CUT, COPY, PASTE, FIND, TO(0) ) // , // [THIRD_LAYER] = LAYOUT_ortho_2x5( // KC_Q, KC_W, KC_E, KC_R, KC_T, // KC_Y, KC_U, KC_L, KC_P, TO(0) // ) };