#include QMK_KEYBOARD_H
enum layer_names {
    _NP,
    _FN
};
enum custom_keycodes {
    KC_00 = SAFE_RANGE,
};
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
    [_NP] = LAYOUT(
        KC_BSPC,   KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS,
        KC_TAB,    KC_7,    KC_8,   KC_9,
        TG(_NP),   KC_4,    KC_5,   KC_6,    KC_PPLS,
        KC_PGUP,   KC_1,    KC_2,   KC_3,
        KC_PGDOWN, KC_00,   KC_0,   KC_PDOT, KC_PENT
    ),
    [_FN] = LAYOUT(
        KC_GRV,  KC_MPLY, KC_F13,  KC_MPRV, KC_MNXT,
        _______, KC_F14,  KC_F15,  _______,
        _______, _______, _______, _______, _______,
        KC_U,    KC_B,    _______, _______,
        KC_D,    KC_F,    _______, _______, _______
    ),
};
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
    switch (keycode) {
        case KC_00:
            if (record->event.pressed) {
                                SEND_STRING("00");
            }
            break;
    }
    return true;
}