#include QMK_KEYBOARD_H

#define _QW 0
#define _NV 1

// HHKB Layout
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {

  [_QW] = LAYOUT(
      KC_ESC,  KC_1,    KC_2,    KC_3,    KC_4,   KC_5,   KC_6,   KC_7,   KC_8,   KC_9,    KC_0,    KC_MINS,   KC_EQL, KC_BSLS,  KC_GRV,
      KC_TAB,  KC_Q,    KC_W,    KC_E,    KC_R,   KC_T,   KC_Y,   KC_U,   KC_I,   KC_O,    KC_P,    KC_LBRC,  KC_RBRC,          KC_BSPC,
      MO(_NV), KC_A,    KC_S,    KC_D,    KC_F,   KC_G,   KC_H,   KC_J,   KC_K,   KC_L,    KC_SCLN, KC_QUOT,  XXXXXXX,           KC_ENT,
      KC_LSFT, XXXXXXX, KC_Z,    KC_X,    KC_C,   KC_V,   KC_B,   KC_N,   KC_M,   KC_COMM, KC_DOT,  KC_SLSH,  XXXXXXX, KC_RSFT,  KC_ENT,
      XXXXXXX, KC_LCTL, KC_LGUI,                          KC_SPC,                          XXXXXXX, KC_RALT,  XXXXXXX, KC_RCTL, XXXXXXX),

  [_NV] = LAYOUT(
      KC_GRV ,   KC_F1,   KC_F2,   KC_F3,   KC_F4,  KC_F5,  KC_F6,  KC_F7,  KC_F8,  KC_F9,  KC_F10,  KC_F11,   KC_F12, _______, _______,
      _______, _______, _______, _______, KC_DEL ,KC_BSPC,_______,KC_HOME,KC_UP  ,KC_END , KC_INS , _______,  _______,          _______,
      _______, _______, _______, KC_LSFT,KC_LCTL, KC_ENT, _______,KC_LEFT,KC_DOWN,KC_RGHT, KC_DEL , KC_DEL ,  _______,          _______,
      _______, _______, _______, _______, _______,_______,_______,_______,KC_PGUP,KC_PGDN, _______, _______,  _______, _______, _______,
      _______, _______, _______,                          _______,                         _______, _______,  _______, QK_BOOT, _______),

};