From 661ca4440cc42f3b60697e98985c44b0571ccfc1 Mon Sep 17 00:00:00 2001
From: Boy_314 <32818287+Boy-314@users.noreply.github.com>
Date: Tue, 28 Aug 2018 21:17:52 -0400
Subject: [PATCH] Keymap: Boy_314's Preonic and XD75 Layouts (#3781)

* fixed arrow keys and left control

* added right shift

* latest version

* reverted arrow keys

* edited readme

* added osu layer

* updated osu layout

* updated osu layout

* added full arrow keys to osu layout

* in case i mess up creating macros

* added the best meme key in the world

* added plover steno layer

* updated boy314 layout

* removed unused layers

* added boy314 xd75 layout, inspired by preonic layout

* added boy314 xd75 layout, inspired by preonic layout

* version 2 of boy314's xd75 layout

* added readme notes

* updated readme for boy314 xd75 layout

* qwerty support, brackets on bottom row, caps lock underglow

* fixed readme/

* small changes to allow merging

* minor changes to format

* fixed up default readme
---
 keyboards/preonic/keymaps/boy314/config.h  |  38 ++++
 keyboards/preonic/keymaps/boy314/keymap.c  | 213 +++++++++++++++++++++
 keyboards/preonic/keymaps/boy314/readme.md |   8 +
 keyboards/preonic/keymaps/boy314/rules.mk  |   0
 keyboards/xd75/keymaps/boy_314/config.h    |   1 +
 keyboards/xd75/keymaps/boy_314/keymap.c    | 158 +++++++++++++++
 keyboards/xd75/keymaps/boy_314/readme.md   |   8 +
 keyboards/xd75/keymaps/boy_314/rules.mk    |   0
 keyboards/xd75/keymaps/default/readme.md   |   2 +-
 9 files changed, 427 insertions(+), 1 deletion(-)
 create mode 100644 keyboards/preonic/keymaps/boy314/config.h
 create mode 100644 keyboards/preonic/keymaps/boy314/keymap.c
 create mode 100644 keyboards/preonic/keymaps/boy314/readme.md
 create mode 100644 keyboards/preonic/keymaps/boy314/rules.mk
 create mode 100644 keyboards/xd75/keymaps/boy_314/config.h
 create mode 100644 keyboards/xd75/keymaps/boy_314/keymap.c
 create mode 100644 keyboards/xd75/keymaps/boy_314/readme.md
 create mode 100644 keyboards/xd75/keymaps/boy_314/rules.mk

diff --git a/keyboards/preonic/keymaps/boy314/config.h b/keyboards/preonic/keymaps/boy314/config.h
new file mode 100644
index 0000000000..b18b95477b
--- /dev/null
+++ b/keyboards/preonic/keymaps/boy314/config.h
@@ -0,0 +1,38 @@
+#pragma once
+
+#ifdef AUDIO_ENABLE
+    #define STARTUP_SONG SONG(PREONIC_SOUND)
+    // #define STARTUP_SONG SONG(NO_SOUND)
+
+    #define DEFAULT_LAYER_SONGS { SONG(QWERTY_SOUND), \
+                                  SONG(COLEMAK_SOUND), \
+                                  SONG(DVORAK_SOUND) \
+                                }
+#endif
+
+#define MUSIC_MASK (keycode != KC_NO)
+
+/*
+ * MIDI options
+ */
+
+/* Prevent use of disabled MIDI features in the keymap */
+//#define MIDI_ENABLE_STRICT 1
+
+/* enable basic MIDI features:
+   - MIDI notes can be sent when in Music mode is on
+*/
+
+#define MIDI_BASIC
+
+/* enable advanced MIDI features:
+   - MIDI notes can be added to the keymap
+   - Octave shift and transpose
+   - Virtual sustain, portamento, and modulation wheel
+   - etc.
+*/
+//#define MIDI_ADVANCED
+
+/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */
+//#define MIDI_TONE_KEYCODE_OCTAVES 2
+
diff --git a/keyboards/preonic/keymaps/boy314/keymap.c b/keyboards/preonic/keymaps/boy314/keymap.c
new file mode 100644
index 0000000000..67292bdb3e
--- /dev/null
+++ b/keyboards/preonic/keymaps/boy314/keymap.c
@@ -0,0 +1,213 @@
+/* Copyright 2015-2017 Jack Humbert
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include QMK_KEYBOARD_H
+
+#define FN_CAPS LT(_FL, KC_CAPSLOCK)
+
+// define layers
+#define _QWERTY 0
+#define _DVORAK 1
+#define _OSU 2
+#define _LOWER 10
+#define _RAISE 11
+#define _ADJUST 12
+
+// macro shortcuts
+#define QWERTY TO(_QWERTY)
+#define DVORAK TO(_DVORAK)
+#define OSU TO(_OSU)
+#define LOWER M(_LOWER)
+#define RAISE M(_RAISE)
+
+#define _______ KC_TRNS
+#define XXXXXXX KC_NO
+ 
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+/* Qwerty
+ * ,-----------------------------------------------------------------------------------.
+ * | Esc  |   1  |   2  |   3  |   4  |   5  |   6  |   7  |   8  |   9  |   0  | Bksp |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Tab  |   Q  |   W  |   E  |   R  |   T  |   Y  |   U  |   I  |   O  |   P  | Enter|
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * | Caps |   A  |   S  |   D  |   F  |   G  |   H  |   J  |   K  |   L  |   ;  |   '  |
+ * |------+------+------+------+------+------|------+------+------+------+------+------|
+ * | Shift|   Z  |   X  |   C  |   V  |   B  |   N  |   M  |   ,  |   .  |   /  | Shift|
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Ctrl |  Del | Alt  | GUI  |Lower |    Space    |Raise | Left | Down |  Up  |Right |
+ * `-----------------------------------------------------------------------------------'
+ */
+
+[_QWERTY] = LAYOUT_preonic_grid( \
+  KC_ESC,  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_ENT,  \
+  KC_CAPS, KC_A,    KC_S,    KC_D,    KC_F,    KC_G,    KC_H,    KC_J,    KC_K,    KC_L,    KC_SCLN, KC_QUOT, \
+  KC_LSPO, KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, KC_RSPC, \
+  KC_LCTL, KC_DEL,  KC_LALT, KC_LGUI, LOWER,   KC_SPC,  KC_SPC,  RAISE,   KC_LEFT, KC_DOWN, KC_UP,   KC_RIGHT \
+),
+
+/* Dvorak
+ * ,-----------------------------------------------------------------------------------.
+ * | Esc  |   1  |   2  |   3  |   4  |   5  |   6  |   7  |   8  |   9  |   0  | Bksp |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Tab  |   "  |   ,  |   .  |   P  |   Y  |   F  |   G  |   C  |   R  |   L  |  /   |
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * | CAPS |   A  |   O  |   E  |   U  |   I  |   D  |   H  |   T  |   N  |   S  | Enter|
+ * |------+------+------+------+------+------|------+------+------+------+------+------|
+ * | Shift|   ;  |   Q  |   J  |   K  |   X  |   B  |   M  |   W  |   V  |   Z  | Shift|
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Ctrl | Del  | Alt  | GUI  |Lower |    Space    |Raise | Left | Down |  Up  |Right |
+ * `-----------------------------------------------------------------------------------'
+ */
+
+[_DVORAK] = LAYOUT_preonic_grid( \
+  KC_ESC,  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_QUOT, KC_COMM, KC_DOT,  KC_P,    KC_Y,    KC_F,    KC_G,    KC_C,    KC_R,    KC_L,    KC_SLSH, \
+  KC_CAPS, KC_A,    KC_O,    KC_E,    KC_U,    KC_I,    KC_D,    KC_H,    KC_T,    KC_N,    KC_S,    KC_ENT,  \
+  KC_LSPO, KC_SCLN, KC_Q,    KC_J,    KC_K,    KC_X,    KC_B,    KC_M,    KC_W,    KC_V,    KC_Z,    KC_RSPC, \
+  KC_LCTL, KC_DEL,  KC_LALT, KC_LGUI, LOWER,   KC_SPC,  KC_SPC,  RAISE,   KC_LEFT, KC_DOWN, KC_UP,   KC_RIGHT \
+),
+
+/* Lower
+ * ,-----------------------------------------------------------------------------------.
+ * |   `  |   !  |   @  |   #  |   $  |   %  |   ^  |   &  |   *  |   (  |   )  | Bksp |
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * |   ~  |   !  |   @  |   #  |   $  |   %  |   ^  |   &  |   *  |   (  |   )  | Del  |
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * | Del  |  F1  |  F2  |  F3  |  F4  |  F5  |  F6  |   _  |   +  |   {  |   }  |  |   |
+ * |------+------+------+------+------+------|------+------+------+------+------+------|
+ * |      |  F7  |  F8  |  F9  |  F10 |  F11 |  F12 |      |      |      |      |      |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * |      |      |      |      |      |             |      | Next | Vol- | Vol+ | Play |
+ * `-----------------------------------------------------------------------------------'
+ */
+
+[_LOWER] = LAYOUT_preonic_grid( \
+  KC_GRV,  KC_EXLM, KC_AT,   KC_HASH, KC_DLR,  KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, \
+  KC_TILD, KC_EXLM, KC_AT,   KC_HASH, KC_DLR,  KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL,  \
+  KC_DEL,  KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,   KC_F6,   KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, \
+  _______, KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F11,  KC_F12,  _______, _______, KC_HOME, KC_END,  _______, \
+  _______, XXXXXXX, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY  \
+),
+
+/* Raise
+ * ,-----------------------------------------------------------------------------------.
+ * |   `  |   1  |   2  |   3  |   4  |   5  |   6  |   7  |   8  |   9  |   0  | Bksp |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * |   `  |      |      |  Up  |      |      |      |      |      |      |      | Del  |
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * | Del  |      | Left | Down |Right |      |      |   -  |   =  |   [  |   ]  |  \   |
+ * |------+------+------+------+------+------|------+------+------+------+------+------|
+ * |      |      |      |      |      |      |      |      |      |PageDn|PageUP|      |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * |      |      |      |      |      |             |      | Next | Vol- | Vol+ | Play |
+ * `-----------------------------------------------------------------------------------'
+ */
+[_RAISE] = {
+  {KC_GRV,  KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_BSPC},
+  {KC_GRV,  _______, _______, KC_UP,   _______, _______, _______, _______, _______, _______, _______,    KC_DEL},
+  {KC_DEL,  _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, KC_MINS, KC_EQL,  KC_LBRC, KC_RBRC, KC_BSLS},
+  {_______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGDN, KC_PGUP, _______},
+  {_______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY}
+},
+
+[_RAISE] = LAYOUT_preonic_grid( \
+  KC_GRV,  KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_BSPC, \
+  KC_GRV,  _______, _______, KC_UP,   _______, _______, _______, _______, _______, _______, _______, KC_DEL,  \
+  KC_DEL,  _______, KC_LEFT, KC_DOWN,KC_RIGHT, _______, _______, KC_MINS, KC_EQL,  KC_LBRC, KC_RBRC, KC_BSLS, \
+  _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, KC_PGDN, _______, \
+  _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY  \
+),
+
+/* Adjust (Lower + Raise)
+ * ,-----------------------------------------------------------------------------------.
+ * |  F1  |  F2  |  F3  |  F4  |  F5  |  F6  |  F7  |  F8  |  F9  |  F10 |  F11 |  F12 |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * |      | Reset|      |      |      |      |      |      |      |      |      |  Del |
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * |      |      |      |Aud on|AudOff|AGnorm|AGswap|Qwerty|      |      |      |      |
+ * |------+------+------+------+------+------|------+------+------+------+------+------|
+ * |      |Voice-|Voice+|Mus on|MusOff|MidiOn|MidOff|Dvorak|      |      |      |      |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * |      |  OSU |      |      |      |             |      |      |      |      |      |
+ * `-----------------------------------------------------------------------------------'
+ */
+
+[_ADJUST] = LAYOUT_preonic_grid( \
+  KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,   KC_F6,   KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F11,  KC_F12,  \
+  _______, RESET,   DEBUG,   _______, _______, _______, _______, TERM_ON, TERM_OFF,_______, _______, KC_DEL,  \
+  _______, _______, MU_MOD,  AU_ON,   AU_OFF,  AG_NORM, AG_SWAP, QWERTY,  _______, _______, _______, _______, \
+  _______, MUV_DE,  MUV_IN,  MU_ON,   MU_OFF,  MI_ON,   MI_OFF,  DVORAK,  _______, _______, _______, _______, \
+  _______, OSU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______  \
+)
+
+};
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record)
+{	
+	switch (keycode)
+	{
+		case QWERTY:
+			if (record->event.pressed)
+			{
+				set_single_persistent_default_layer(_QWERTY);
+			}
+			return false;
+			break;
+		case DVORAK:
+			if (record->event.pressed)
+			{
+				set_single_persistent_default_layer(_DVORAK);
+			}
+			return false;
+			break;
+		case OSU:
+			if (record->event.pressed)
+			{
+				set_single_persistent_default_layer(_OSU);
+			}
+			return false;
+			break;
+		case LOWER:
+			if (record->event.pressed)
+			{
+				layer_on(_LOWER);
+				update_tri_layer(_LOWER, _RAISE, _ADJUST);
+			}
+			else
+			{
+				layer_off(_LOWER);
+				update_tri_layer(_LOWER, _RAISE, _ADJUST);
+			}
+			return false;
+			break;
+		case RAISE:
+			if (record->event.pressed)
+			{
+				layer_on(_RAISE);
+				update_tri_layer(_LOWER, _RAISE, _ADJUST);
+			}
+			else
+			{
+				layer_off(_RAISE);
+				update_tri_layer(_LOWER, _RAISE, _ADJUST);
+			}
+			return false;
+			break;
+	}
+	return true;
+};
diff --git a/keyboards/preonic/keymaps/boy314/readme.md b/keyboards/preonic/keymaps/boy314/readme.md
new file mode 100644
index 0000000000..9d8a2fd117
--- /dev/null
+++ b/keyboards/preonic/keymaps/boy314/readme.md
@@ -0,0 +1,8 @@
+# Boy_314's XD75RE Layout
+- NOTE: ONLY SUPPORTS DVORAK AT THE MOMENT, WILL UPDATE WITH QWERTY WHEN I GET THE TIME TO DO SO.
+- Features many symbols and function keys in secondary layers.
+- NOTE: WORK IN PROGRESS
+# THINGS TO DO
+- make better use of bottom row
+- add numpad toggle layer
+- explore rgb underglow options
\ No newline at end of file
diff --git a/keyboards/preonic/keymaps/boy314/rules.mk b/keyboards/preonic/keymaps/boy314/rules.mk
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/keyboards/xd75/keymaps/boy_314/config.h b/keyboards/xd75/keymaps/boy_314/config.h
new file mode 100644
index 0000000000..7b9637ef9c
--- /dev/null
+++ b/keyboards/xd75/keymaps/boy_314/config.h
@@ -0,0 +1 @@
+#pragma once
\ No newline at end of file
diff --git a/keyboards/xd75/keymaps/boy_314/keymap.c b/keyboards/xd75/keymaps/boy_314/keymap.c
new file mode 100644
index 0000000000..8658fde6e4
--- /dev/null
+++ b/keyboards/xd75/keymaps/boy_314/keymap.c
@@ -0,0 +1,158 @@
+#include QMK_KEYBOARD_H
+
+// Layer shorthand
+#define _DV 0
+#define _QW 1
+#define _FN1 2
+#define _FN2 3
+#define _NP 4
+
+#define RGBLIGHT_LIGHT_VAL 255
+const uint8_t RGBLED_RAINBOW_SWIRL_INTERVALS[] PROGMEM = {10, 10, 10};
+
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+/* DVORAK
+ * .--------------------------------------------------------------------------------------------------------------------------------------.
+ * | ESC    | 1      | 2      | 3      | 4      | 5      | -      | `      | =      | 6      | 7      | 8      | 9      | 0      | BACKSP |
+ * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------|
+ * | TAB    | '      | .      | .      | P      | Y      | [      | \      | ]      | F      | G      | C      | R      | L      | /      |
+ * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------+--------|
+ * | CAP LK | A      | O      | E      | U      | I      | HOME   | DEL    | PG UP  | D      | H      | T      | N      | S      | ENTER  |
+ * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------------------------+--------|
+ * | LSHIFT | ;      | Q      | J      | K      | X      | END    | UP     | PG DN  | M      | W      | W      | V      | Z      | RSHIFT |
+ * |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+--------+-----------------+--------+--------|
+ * | LCTRL  | DEL    | LALT   | WIN    | FN1    | SPACE  | LEFT   | DOWN   | RIGHT  | SPACE  | FN2    | [      | ]      | {      | }      |
+ * '--------------------------------------------------------------------------------------------------------------------------------------'
+ */
+
+ [_DV] = { /* DVORAK */
+  { KC_ESC,  KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_MINS, KC_GRV,  KC_EQL,  KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_BSPC  },
+  { KC_TAB,  KC_QUOT, KC_COMM, KC_DOT,  KC_P,    KC_Y,    KC_LBRC, KC_BSLS, KC_RBRC, KC_F,    KC_G,    KC_C,    KC_R,    KC_L,    KC_SLSH  },
+  { KC_CAPS, KC_A,    KC_O,    KC_E,    KC_U,    KC_I,    KC_HOME, KC_DEL,  KC_PGUP, KC_D,    KC_H,    KC_T,    KC_N,    KC_S,    KC_ENT   },
+  { KC_LSPO, KC_SCLN, KC_Q,    KC_J,    KC_K,    KC_X,    KC_END,  KC_UP,   KC_PGDN, KC_B,    KC_M,    KC_W,    KC_V,    KC_Z,    KC_RSPC  },
+  { KC_LCTL, KC_DEL,  KC_LALT, KC_LGUI, MO(_FN1),KC_SPC,  KC_LEFT, KC_DOWN, KC_RGHT, KC_SPC,  MO(_FN2),KC_LBRC, KC_RBRC, KC_LCBR, KC_RCBR  },
+ },
+
+/* QWERTY
+ * .--------------------------------------------------------------------------------------------------------------------------------------.
+ * | ESC    | 1      | 2      | 3      | 4      | 5      | -      | `      | =      | 6      | 7      | 8      | 9      | 0      | BACKSP |
+ * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------|
+ * | TAB    | Q      | W      | E      | R      | T      | [      | \      | ]      | Y      | U      | I      | O      | P      | ENTER  |
+ * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------+--------|
+ * | CAP LK | A      | S      | D      | F      | G      | HOME   | DEL    | PG UP  | H      | J      | K      | L      | ;      | '      |
+ * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------------------------+--------|
+ * | LSHIFT | Z      | X      | C      | V      | B      | END    | UP     | PG DN  | N      | M      | ,      | .      | /      | RSHIFT |
+ * |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+--------+-----------------+--------+--------|
+ * | LCTRL  | DEL    | LALT   | WIN    | FN1    | SPACE  | LEFT   | DOWN   | RIGHT  | SPACE  | FN2    | [      | ]      | {      | }      |
+ * '--------------------------------------------------------------------------------------------------------------------------------------'
+ */
+ 
+ [_QW] = { /* QWERTY */
+  { KC_ESC,  KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_MINS, KC_GRV,  KC_EQL,  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_LBRC, KC_BSLS, KC_RBRC, KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,    KC_ENT   },
+  { KC_CAPS, KC_A,    KC_S,    KC_D,    KC_F,    KC_G,    KC_HOME, KC_DEL,  KC_PGUP, KC_H,    KC_J,    KC_K,    KC_L,    KC_SCLN, KC_QUOT  },
+  { KC_LSPO, KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_END,  KC_UP,   KC_PGDN, KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, KC_RSPC  },
+  { KC_LCTL, KC_DEL,  KC_LALT, KC_LGUI, MO(_FN1),KC_SPC,  KC_LEFT, KC_DOWN, KC_RGHT, KC_SPC,  MO(_FN2),KC_LBRC, KC_RBRC, KC_LCBR, KC_RCBR  },
+ },
+ 
+/* FUNCTION1
+ * .--------------------------------------------------------------------------------------------------------------------------------------.
+ * |   `    |   !    |   @    |   #    |   $    |   %    |        |        |        |    ^   |   &    |   *    |   (    |   )    | BACKSP |
+ * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
+ * |   ~    |   !    |   @    |   #    |   $    |   %    | RESET  |RGB HUE-|RGB HUE+|    ^   |   &    |   *    |   (    |   )    | DEL    |
+ * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
+ * | DEL    |   F1   |   F2   |   F3   |   F4   |   F5   |   F6   |RGB SAT-|RGB SAT+| DVORAK |   _    |   +    |   {    |   }    |   |    |
+ * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
+ * |        |   F7   |   F8   |   F9   |   F10  |   F11  |   F12  |BRIGHT- |BRIGHT+ | QWERTY |        |        | HOME   | END    |        |
+ * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
+ * |        |        |        |        |        |        |        |RGB MODE|RGB MODE|        |        | PREV   | VOL UP |VOL DOWN| NEXT   |
+ * '--------------------------------------------------------------------------------------------------------------------------------------'
+ */
+ 
+ [_FN1] = { /* FUNCTION1 */
+  { KC_GRV , KC_EXLM,   KC_AT, KC_HASH,  KC_DLR, KC_PERC, _______, _______, _______, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC  },
+  { KC_TILD, KC_EXLM,   KC_AT, KC_HASH,  KC_DLR, KC_PERC,   RESET, RGB_HUD, RGB_HUI, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL   },
+  { KC_DEL,    KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,   KC_F6, RGB_SAD, RGB_SAI, TO(_DV), KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE  },
+  { _______,   KC_F7,   KC_F8,   KC_F9,  KC_F10,  KC_F11,  KC_F12, RGB_VAD, RGB_VAI, TO(_QW), _______, _______, KC_HOME,  KC_END, _______  },
+  { _______, _______, _______, _______, _______, _______, _______,RGB_RMOD, RGB_MOD, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY  },
+ },
+
+
+/* FUNCTION2
+ * .--------------------------------------------------------------------------------------------------------------------------------------.
+ * |   `    | 1      | 2      | 3      | 4      | 5      |        |        |        | 6      | 7      | 8      | 9      | 0      | BACKSP |
+ * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
+ * |   `    |        |        |   UP   |        |        | RESET  |RGB HUE-|RGB HUE+|        |        |        |        |        |        |
+ * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
+ * | DEL    |        |  LEFT  |  DOWN  | RIGHT  |        |        |RGB SAT-|RGB SAT+| DVORAK |   -    |   =    |   [    |   ]    |   \    |
+ * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
+ * |        |        |        |        |        |        |        |BRIGHT- |BRIGHT+ | QWERTY |        |        | PAGE UP| PAGE DN|        |
+ * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
+ * |        |        |        |        |        |        |        |RGB MODE|RGB MODE|        |        | PREV   | VOL UP |VOL DOWN| NEXT   |
+ * '--------------------------------------------------------------------------------------------------------------------------------------'
+ */    
+ 
+ [_FN2] = { /* FUNCTION2 */
+  {  KC_GRV,    KC_1,    KC_2,    KC_3,    KC_4,    KC_5, _______, _______, _______, KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_BSPC  },
+  {  KC_GRV, _______, _______,   KC_UP, _______, _______,   RESET, RGB_HUD, RGB_HUI, _______, _______, _______, _______, _______, KC_DEL   },
+  {  KC_DEL, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, RGB_SAD, RGB_SAI, TO(_DV), KC_MINS,  KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS  },
+  { _______, _______, _______, _______, _______, _______, _______, RGB_VAD, RGB_VAI, TO(_QW), _______, _______, KC_PGDN, KC_PGUP, _______  },
+  { _______, _______, _______, _______, _______, _______, _______,RGB_RMOD, RGB_MOD, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY  },
+ },
+ 
+/* NUMPAD
+ * .--------------------------------------------------------------------------------------------------------------------------------------.
+ * |        |        |        |        |        | /      | *      | -      |        |        |        |        |        |        |        |
+ * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
+ * |        |        |        |        |        | 7      | 8      | 9      |        |        |        |        |        |        |        |
+ * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
+ * |        |        |        |        |        | 4      | 5      | 6      |        |        |        |        |        |        |        |
+ * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
+ * |        |        |        |        |        | 1      | 2      | 3      |        |        |        |        |        |        |        |
+ * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
+ * |        |        |        |        |        | 0      | 0      | .      |        |        |        |        |        |        |        |
+ * '--------------------------------------------------------------------------------------------------------------------------------------'
+ */  
+
+  [_NP] = { /* NUMPAD */
+  { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______  },
+  { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______  },
+  { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______  },
+  { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______  },
+  { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______  },
+ }
+};
+
+
+
+const uint16_t PROGMEM fn_actions[] = {
+
+};
+
+const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
+{
+  // MACRODOWN only works in this function
+      switch(id) {
+        case 0:
+          if (record->event.pressed) {
+            register_code(KC_RSFT);
+            #ifdef BACKLIGHT_ENABLE
+              backlight_step();
+            #endif
+          } else {
+            unregister_code(KC_RSFT);
+          }
+        break;
+      }
+    return MACRO_NONE;
+};
+
+void led_set_user(uint8_t usb_led) {
+    if (usb_led & (1<<USB_LED_CAPS_LOCK)) {
+        rgblight_mode(18);
+    } else {
+        rgblight_mode(14);
+    }
+}
diff --git a/keyboards/xd75/keymaps/boy_314/readme.md b/keyboards/xd75/keymaps/boy_314/readme.md
new file mode 100644
index 0000000000..4008aff1c3
--- /dev/null
+++ b/keyboards/xd75/keymaps/boy_314/readme.md
@@ -0,0 +1,8 @@
+# Boy_314's XD75RE Layout
+- Default is DVORAK, FN+N to switch to QWERTY, FN+H to switch to DVORAK (N and H on QWERTY layout)
+- Features many symbols and function keys in secondary layers.
+- Dedicated bracket and braces keys on bottom right 4 keys, useful for programming
+- RGB underglow changes to a fast cycle mode when CAPS LOCK is activated
+- NOTE: WORK IN PROGRESS
+# THINGS TO DO
+- add numpad toggle layer
\ No newline at end of file
diff --git a/keyboards/xd75/keymaps/boy_314/rules.mk b/keyboards/xd75/keymaps/boy_314/rules.mk
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/keyboards/xd75/keymaps/default/readme.md b/keyboards/xd75/keymaps/default/readme.md
index b29295c748..a1c0236ed9 100644
--- a/keyboards/xd75/keymaps/default/readme.md
+++ b/keyboards/xd75/keymaps/default/readme.md
@@ -1 +1 @@
-# The default keymap for xd75, with led controls
+# The default keymap for xd75, with led controls
\ No newline at end of file