]> git.donarmstrong.com Git - qmk_firmware.git/commitdiff
Keyboard: adding Espectro (#4343)
authorTurboMech <32869044+TurboMech@users.noreply.github.com>
Sun, 4 Nov 2018 15:39:58 +0000 (10:39 -0500)
committerDrashna Jaelre <drashna@live.com>
Sun, 4 Nov 2018 15:39:58 +0000 (07:39 -0800)
* added Espectro

Added Espectro keyboard from MechKeys.ca

* Update keyboards/espectro/config.h

Co-Authored-By: TurboMech <32869044+TurboMech@users.noreply.github.com>
* Update keyboards/espectro/config.h

Co-Authored-By: TurboMech <32869044+TurboMech@users.noreply.github.com>
* Update keyboards/espectro/config.h

Co-Authored-By: TurboMech <32869044+TurboMech@users.noreply.github.com>
* Update keyboards/espectro/espectro.c

Co-Authored-By: TurboMech <32869044+TurboMech@users.noreply.github.com>
* Update keyboards/espectro/espectro.c

Co-Authored-By: TurboMech <32869044+TurboMech@users.noreply.github.com>
* Update keyboards/espectro/espectro.c

Co-Authored-By: TurboMech <32869044+TurboMech@users.noreply.github.com>
* Update keyboards/espectro/espectro.c

Co-Authored-By: TurboMech <32869044+TurboMech@users.noreply.github.com>
* Update keyboards/espectro/espectro.c

Co-Authored-By: TurboMech <32869044+TurboMech@users.noreply.github.com>
* Update keyboards/espectro/espectro.h

Co-Authored-By: TurboMech <32869044+TurboMech@users.noreply.github.com>
* Update keyboards/espectro/espectro.h

Co-Authored-By: TurboMech <32869044+TurboMech@users.noreply.github.com>
* Update keyboards/espectro/espectro.h

Co-Authored-By: TurboMech <32869044+TurboMech@users.noreply.github.com>
* Update keyboards/espectro/keymaps/default/keymap.c

Co-Authored-By: TurboMech <32869044+TurboMech@users.noreply.github.com>
* Update keyboards/espectro/keymaps/default/keymap.c

Co-Authored-By: TurboMech <32869044+TurboMech@users.noreply.github.com>
* Update keyboards/espectro/keymaps/mac/config.h

Co-Authored-By: TurboMech <32869044+TurboMech@users.noreply.github.com>
* Update keyboards/espectro/keymaps/mac/config.h

Co-Authored-By: TurboMech <32869044+TurboMech@users.noreply.github.com>
* Update keyboards/espectro/keymaps/mac/config.h

Co-Authored-By: TurboMech <32869044+TurboMech@users.noreply.github.com>
* Update keyboards/espectro/keymaps/mac/config.h

Co-Authored-By: TurboMech <32869044+TurboMech@users.noreply.github.com>
* Update keyboards/espectro/keymaps/mac/keymap.c

Co-Authored-By: TurboMech <32869044+TurboMech@users.noreply.github.com>
* Update keyboards/espectro/keymaps/mac/keymap.c

Co-Authored-By: TurboMech <32869044+TurboMech@users.noreply.github.com>
* Update keyboards/espectro/keymaps/mac/keymap.c

Co-Authored-By: TurboMech <32869044+TurboMech@users.noreply.github.com>
* Update keyboards/espectro/keymaps/mac/keymap.c

Co-Authored-By: TurboMech <32869044+TurboMech@users.noreply.github.com>
* Update keyboards/espectro/keymaps/mac/keymap.c

Co-Authored-By: TurboMech <32869044+TurboMech@users.noreply.github.com>
* Update keyboards/espectro/keymaps/mac/keymap.c

Co-Authored-By: TurboMech <32869044+TurboMech@users.noreply.github.com>
* Update keyboards/espectro/keymaps/mac/keymap.c

Co-Authored-By: TurboMech <32869044+TurboMech@users.noreply.github.com>
* Update keyboards/espectro/keymaps/mac/keymap.c

Co-Authored-By: TurboMech <32869044+TurboMech@users.noreply.github.com>
* Update keyboards/espectro/keymaps/mac/keymap.c

Co-Authored-By: TurboMech <32869044+TurboMech@users.noreply.github.com>
* Update keyboards/espectro/keymaps/mac/keymap.c

Co-Authored-By: TurboMech <32869044+TurboMech@users.noreply.github.com>
* Update keyboards/espectro/readme.md

Co-Authored-By: TurboMech <32869044+TurboMech@users.noreply.github.com>
* Update keyboards/espectro/readme.md

Co-Authored-By: TurboMech <32869044+TurboMech@users.noreply.github.com>
* Update keyboards/espectro/readme.md

Co-Authored-By: TurboMech <32869044+TurboMech@users.noreply.github.com>
* Update keyboards/espectro/readme.md

Co-Authored-By: TurboMech <32869044+TurboMech@users.noreply.github.com>
* Update keyboards/espectro/rules.mk

Co-Authored-By: TurboMech <32869044+TurboMech@users.noreply.github.com>
* Update keyboards/espectro/rules.mk

Co-Authored-By: TurboMech <32869044+TurboMech@users.noreply.github.com>
* Update keyboards/espectro/rules.mk

Co-Authored-By: TurboMech <32869044+TurboMech@users.noreply.github.com>
* Update keyboards/espectro/rules.mk

Co-Authored-By: TurboMech <32869044+TurboMech@users.noreply.github.com>
* Update keyboards/espectro/rules.mk

Co-Authored-By: TurboMech <32869044+TurboMech@users.noreply.github.com>
* Update keyboards/espectro/rules.mk

Co-Authored-By: TurboMech <32869044+TurboMech@users.noreply.github.com>
* Update keyboards/espectro/rules.mk

Co-Authored-By: TurboMech <32869044+TurboMech@users.noreply.github.com>
* Update keyboards/espectro/rules.mk

Co-Authored-By: TurboMech <32869044+TurboMech@users.noreply.github.com>
* Update keyboards/espectro/rules.mk

Co-Authored-By: TurboMech <32869044+TurboMech@users.noreply.github.com>
* Update keyboards/espectro/rules.mk

Co-Authored-By: TurboMech <32869044+TurboMech@users.noreply.github.com>
* Update keyboards/espectro/rules.mk

Co-Authored-By: TurboMech <32869044+TurboMech@users.noreply.github.com>
* fixing Espectro pull request

* fixing macros in mac keymap

keyboards/espectro/config.h [new file with mode: 0755]
keyboards/espectro/espectro.c [new file with mode: 0755]
keyboards/espectro/espectro.h [new file with mode: 0755]
keyboards/espectro/keymaps/default/keymap.c [new file with mode: 0755]
keyboards/espectro/keymaps/mac/config.h [new file with mode: 0644]
keyboards/espectro/keymaps/mac/keymap.c [new file with mode: 0644]
keyboards/espectro/keymaps/mac/readme.md [new file with mode: 0644]
keyboards/espectro/readme.md [new file with mode: 0644]
keyboards/espectro/rules.mk [new file with mode: 0755]

diff --git a/keyboards/espectro/config.h b/keyboards/espectro/config.h
new file mode 100755 (executable)
index 0000000..34852df
--- /dev/null
@@ -0,0 +1,70 @@
+/* Copyright 2018 @TurboMech /u/TurboMech <discord> @A9entOran9e#6134
+ *
+ * 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/>.
+ */
+
+#pragma once
+
+#include "config_common.h"
+
+/* USB Device descriptor parameter */
+#define VENDOR_ID       0xFEED
+#define PRODUCT_ID      0xCA96
+#define DEVICE_VER      0x0001
+#define MANUFACTURER    MECHKEYS
+#define PRODUCT         Espectro
+#define DESCRIPTION     96% keyboard
+
+/* key matrix size */
+#define MATRIX_ROWS 8
+#define MATRIX_COLS 13
+
+/* key matrix pins */
+#define MATRIX_ROW_PINS { B7, B3, E6, F0, D5, D4, D6, C7 }
+#define MATRIX_COL_PINS { C6, F1, F4, F5, F6, F7, D7, B4, B5, D0, D1, D2, D3}
+#define UNUSED_PINS
+
+/* COL2ROW or ROW2COL */
+#define DIODE_DIRECTION COL2ROW
+
+/* number of backlight levels */
+#define BACKLIGHT_PIN B6
+#define BACKLIGHT_LEVELS 5
+
+
+/* Set 0 if debouncing isn't needed */
+#define DEBOUNCING_DELAY 5
+
+/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
+#define LOCKING_SUPPORT_ENABLE
+
+/* Locking resynchronize hack */
+#define LOCKING_RESYNC_ENABLE
+
+/* key combination for command */
+#define IS_COMMAND() ( \
+    keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
+)
+
+#define RGB_DI_PIN E2
+#ifdef RGB_DI_PIN
+#define RGBLED_NUM 16
+#define RGBLIGHT_HUE_STEP 10
+#define RGBLIGHT_SAT_STEP 10
+#define RGBLIGHT_VAL_STEP 10
+
+#define RGBLIGHT_ANIMATIONS
+
+#endif
+
diff --git a/keyboards/espectro/espectro.c b/keyboards/espectro/espectro.c
new file mode 100755 (executable)
index 0000000..13030cd
--- /dev/null
@@ -0,0 +1,76 @@
+/* Copyright 2018 @TurboMech /u/TurboMech <discord> @A9entOran9e#6134
+ *
+ * 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
+#include "quantum.h"
+
+
+void matrix_scan_kb(void) {
+       // put your looping keyboard code here
+       // runs every cycle (a lot)
+
+       matrix_scan_user();
+}
+
+bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
+       // put your per-action keyboard code here
+       // runs for every action, just before processing by the firmware
+
+       return process_record_user(keycode, record);
+}
+
+void led_set_kb(uint8_t usb_led) {
+       // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here
+
+       led_set_user(usb_led);
+}
+
+__attribute__ ((weak))
+void led_set_user(uint8_t usb_led) {
+
+       if (usb_led & (1 << USB_LED_NUM_LOCK)) {
+               DDRB |= (1 << 0); PORTB &= ~(1 << 0);
+       } else {
+               DDRB &= ~(1 << 0); PORTB &= ~(1 << 0);
+       }
+
+       if (usb_led & (1 << USB_LED_CAPS_LOCK)) {
+               DDRB |= (1 << 2); PORTB &= ~(1 << 2);
+       } else {
+               DDRB &= ~(1 << 2); PORTB &= ~(1 << 2);
+       }
+
+       if (usb_led & (1 << USB_LED_SCROLL_LOCK)) {
+               DDRB |= (1 << 1); PORTB &= ~(1 << 1);
+       } else {
+               DDRB &= ~(1 << 1); PORTB &= ~(1 << 1);
+       }
+
+       if (usb_led & (1 << USB_LED_COMPOSE)) {
+
+       } else {
+
+       }
+
+       if (usb_led & (1 << USB_LED_KANA)) {
+
+       } else {
+
+       }
+
+}
+
diff --git a/keyboards/espectro/espectro.h b/keyboards/espectro/espectro.h
new file mode 100755 (executable)
index 0000000..3d6ea46
--- /dev/null
@@ -0,0 +1,91 @@
+/* Copyright 2018 @TurboMech /u/TurboMech <discord> @A9entOran9e#6134
+ *
+ * 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/>.
+ */
+
+
+#ifndef ESPECTRO_H
+#define ESPECTRO_H
+
+#include "quantum.h"
+
+
+//Arrow keys and 1.75u shift
+#define LAYOUT_default( \
+K000, K001, K002, K003, K004, K600, K601, K602, K603, K005, K006, K007, K008, K702, K009, K010, K011, K012, K712,  \
+K100, K101, K102, K103, K104, K604, K605, K606, K607, K105, K106, K107, K108,    K701,    K109, K110, K111, K112,  \
+  K200,   K201, K202, K203, K204, K608, K609, K610, K611, K205, K206, K207, K208,  K703,  K209, K210, K211, K212,  \
+  K300,    K301, K302, K303, K304, K612, K705, K706, K707, K305, K306, K307,    K308,     K309, K310, K311,        \
+   K400,    K402, K403, K404, K708, K709, K710, K711, K405, K406,  K407,  K408,     K704, K409, K410, K411, K412,  \
+K500, K501, K502,                K503,                      K504, K505, K506, K507, K508, K509, K510, K511         \
+) { \
+       { K000,   K001,   K002,   K003,   K004,   K005,   K006,   K007,   K008,   K009,   K010,   K011,   K012 },  \
+       { K100,   K101,   K102,   K103,   K104,   K105,   K106,   K107,   K108,   K109,   K110,   K111,   K112 },  \
+       { K200,   K201,   K202,   K203,   K204,   K205,   K206,   K207,   K208,   K209,   K210,   K211,   K212 },  \
+       { K300,   K301,   K302,   K303,   K304,   K305,   K306,   K307,   K308,   K309,   K310,   K311,   KC_NO }, \
+       { K400,   KC_NO,  K402,   K403,   K404,   K405,   K406,   K407,   K408,   K409,   K410,   K411,   K412 },  \
+       { K500,   K501,   K502,   K503,   K504,   K505,   K506,   K507,   K508,   K509,   K510,   K511,   KC_NO }, \
+       { K600,   K601,   K602,   K603,   K604,   K605,   K606,   K607,   K608,   K609,   K610,   K611,   K612 },  \
+       { KC_NO,  K701,   K702,   K703,   K704,   K705,   K706,   K707,   K708,   K709,   K710,   K711,   K712 },  \
+}
+
+// Split numpad (enter, 0), split shifts (right, left), split backspace
+// This is more of an example of every possible keycode placement
+#define LAYOUT_split_shift_and_bs( \
+K000, K001, K002, K003, K004, K600, K601, K602, K603, K005, K006, K007, K008, K702, K009, K010, K011, K012, K712,  \
+K100, K101, K102, K103, K104, K604, K605, K606, K607, K105, K106, K107, K108, K700, K701, K109, K110, K111, K112,  \
+  K200,   K201, K202, K203, K204, K608, K609, K610, K611, K205, K206, K207, K208,  K703,  K209, K210, K211, K212,  \
+  K300,    K301, K302, K303, K304, K612, K705, K706, K707, K305, K306, K307,    K308,     K309, K310, K311, K312,  \
+    K400, K401, K402, K403, K404, K708, K709, K710, K711, K405, K406, K407,   K408, K704, K409, K410, K411, K412,  \
+K500, K501, K502,                K503,                      K504, K505, K506, K507, K508, K509, K510, K511, K512   \
+) { \
+       { K000,   K001,   K002,   K003,   K004,   K005,   K006,   K007,   K008,   K009,   K010,   K011,   K012 },  \
+       { K100,   K101,   K102,   K103,   K104,   K105,   K106,   K107,   K108,   K109,   K110,   K111,   K112 },  \
+       { K200,   K201,   K202,   K203,   K204,   K205,   K206,   K207,   K208,   K209,   K210,   K211,   K212 },  \
+       { K300,   K301,   K302,   K303,   K304,   K305,   K306,   K307,   K308,   K309,   K310,   K311,   K312 },  \
+       { K400,   K401,   K402,   K403,   K404,   K405,   K406,   K407,   K408,   K409,   K410,   K411,   K412 },  \
+       { K500,   K501,   K502,   K503,   K504,   K505,   K506,   K507,   K508,   K509,   K510,   K511,   K512 },  \
+       { K600,   K601,   K602,   K603,   K604,   K605,   K606,   K607,   K608,   K609,   K610,   K611,   K612 },  \
+       { K701,   K701,   K702,   K703,   K704,   K705,   K706,   K707,   K708,   K709,   K710,   K711,   K712 },  \
+}
+
+
+
+
+/*
+Placement of every possible switch defined below.
+x2 means the diode allows two possible positions for the switch
+
+#define LAYOUT_all( \
+K000, K001, K002, K003, K004, K600, K601, K602, K603, K005, K006, K007, K008, K702, K009, K010, K011, K012, K712, \
+K100, K101, K102, K103, K104, K604, K605, K606, K607, K105, K106, K107, K108, K700, K701x2, K109, K110, K111, K112, \
+K200, K201, K202, K203, K204, K608, K609, K610, K611, K205, K206, K207, K208,     K703,   K209, K210, K211, K212, \
+                                                                                  K308,                     K212, \
+K300, K300, K301, K302, K304, K612, K705, K706, K707, K305, K306, K307,   K703, K308,     K309, K310, K311, K312, \
+K400x2, K401, K402, K403, K404, K708, K709, K710, K711, K405, K406, K407, K408, K408, K704, K409, K410, K411, K412, \
+                                                                                                            K412, \
+K500x2, K501x2, K502,               K503x3,                       K504x3, K505x2, K506x2, K507x2, K508x2, K509, K510x2, K511, K512  \
+)  { \
+       { K000,  K001,  K002,  K003,  K004,  K005,  K006,  K007,  K008,  K009,  K010,  K011,  K012 }, \
+       { K100,  K101,  K102,  K103,  K104,  K105,  K106,  K107,  K108,  K109,  K110,  K111,  K112 }, \
+       { K200,  K201,  K202,  K203,  K204,  K205,  K206,  K207,  K208,  K209,  K210,  K211,  K212 }, \
+       { K300,  K301,  K302,  K303,  K304,  K305,  K306,  K307,  K308,  K309,  K310,  K311,  K312 }, \
+       { K400,  K401,  K402,  K403,  K404,  K405,  K406,  K407,  K408,  K409,  K410,  K411,  K412 }, \
+       { K500,  K501,  K502,  K503,  K504,  K505,  K506,  K507,  K508,  K509,  K510,  K511,  K512 }, \
+       { K600,  K601,  K602,  K603,  K604,  K605,  K606,  K607,  K608,  K609,  K610,  K611,  K612 }, \
+       { K700,  K701,  K702,  K703,  K704,  K705,  K706,  K707,  K708,  K709,  K710,  K711,  K712 }, \
+}
+*/
+
+#endif
diff --git a/keyboards/espectro/keymaps/default/keymap.c b/keyboards/espectro/keymaps/default/keymap.c
new file mode 100755 (executable)
index 0000000..aeff733
--- /dev/null
@@ -0,0 +1,89 @@
+/* Copyright 2018 @TurboMech /u/TurboMech <discord> @A9entOran9e#6134
+ *
+ * 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 MODS_CTRL_MASK  (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT))
+
+#define _BL 0 //Base layer
+#define _FN1 1 //Function layer
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+/* BL
+____________________________________________________________________________________________________________________________________________________________________________
+|        |        |        |        |        |        |        |        |        |        |        |        |        |        |        |        |        |        |        |
+| ESC    |   F1   |   F2   |   F3   |   F4   |   F5   |   F6   |   F7   |   F8   |   F9   |  F10   |  F11   |  F12   | P SCN  |  HOME  |   END  |  P UP  | P DOWN |  DEL   |
+|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|
+|        |        |        |        |        |        |        |        |        |        |        |        |        |      BACK       |  NUM   |        |        |        |
+|  ~`    |   1    |   2    |   3    |   4    |   5    |   6    |   7    |   8    |   9    |   0    |  _ -   | =  +   |      SPACE      |  LOCK  |   /    |  *     |   -    |
+|________|________|________|________|________|________|________|________|________|________|________|________|________|_________________|________|________|________|________|
+|            |        |        |        |        |        |        |        |        |        |        |  [     |   ]    |             |        |        |        |        |
+|    TAB     |   Q    |   W    |   E    |   R    |   T    |   Y    |   U    |   I    |   O    |   P    |  {     |   }    |  |   \      |   7    |   8    |   9    |        |
+|____________|________|________|________|________|________|________|________|________|________|________|________|________|_____________|________|________|________|   +    |
+|              |        |        |        |        |        |        |        |        |        |   ;    |   '    |                    |        |        |        |        |
+|   CAPS LOCK  |   A    |   S    |   D    |   F    |   G    |   H    |   J    |   K    |   L    |   :    |   "    |       ENTER        |   4    |   5    |   6    |        |
+|______________|________|________|________|________|________|________|________|________|________|________|________|____________________|________|________|________|________|
+|                  |        |        |        |        |        |        |        |   ,    |    .   |   /    |                |        |        |        |        |        |
+|  SHIFT           |   Z    |   X    |   C    |   V    |   B    |   N    |   M    |   <    |    >   |   ?    |       SHIFT    |   UP   |   1    |   2    |   3    |        |
+|__________________|________|________|________|________|________|________|________|________|________|________|________________|________|________|________|________| ENTER  |
+|          |          |          |                                                        |        |        |   MO   |        |        |        |        |        |        |
+| CTRL     |   LGUI   | L ALT    |                      SPACE                             | R ALT  | R CTRL |  _FN   |  LEFT  |  DOWN  | RIGHT  |   0    |   .    |        |
+|__________|__________|__________|________________________________________________________|________|________|________|________|________|________|________|________|________|
+ */
+
+  [_BL] = LAYOUT_default(
+    KC_ESC,  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_PSCR, KC_SLCK, KC_PAUS, KC_PGUP, KC_PGDN,
+    KC_GRV,  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_BSPC,     KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS,
+      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_BSLS,     KC_P7,   KC_P8,   KC_P9,   KC_PPLS,
+       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_ENT,     KC_P4,   KC_P5,   KC_P6,
+        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_UP,   KC_P1,   KC_P2,   KC_P3,   KC_PENT,
+    KC_LCTL, KC_LGUI, KC_LALT,                   KC_SPC,                           KC_RALT,  KC_RCTL,  MO(1),  KC_LEFT, KC_DOWN, KC_RIGHT, KC_P0,  KC_PDOT
+  ),
+
+/* FN_1
+____________________________________________________________________________________________________________________________________________________________________________
+|        |        |        |        |        |        |        |        |        |        |        |        |        |        |  VOL   |  VOL   | NEXT   |        |        |
+| RESET  |        |        |        |        |        |        |        |        |        |        |        |        |  MUTE  |  DOWN  |   UP   | TRACK  |  HOME  |  END   |
+|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|
+|        |  RGB   |  RGB   |  RGB   |  RGB   |  RGB   |  RGB   |  RGB   |  RGB   |        |        |        |        |                 |        |        |        |        |
+|        | TOGGLE |  MODE  |INCREASE|DECREASE|  HUE   |  HUE   |  SAT   |        |        |        |        |        |      DELETE     |        |        |        |        |
+|________|________|________|________|________|INCREASE|DECREASE|INCREASE|DECREASE|________|________|________|________|_________________|________|________|________|________|
+|            | BACK   | BACK   |        |        |        |        |        |        |        |        |        |        |             |        |        |        |        |
+|            | LIGHT  | LIGHT  |        |        |        |        |        |        |        |        |        |        |             |        |        |        |        |
+|____________| TOGGLE |INCREASE|DECREASE|________|________|________|________|________|________|________|________|________|_____________|________|________|________|        |
+|              |        |        |        |        |        |        |        |        |        |        |        |                    |        |        |        |        |
+|              |        |        |        |        |        |        |        |        |        |        |        |                    |        |        |        |        |
+|______________|________|________|________|________|________|________|________|________|________|________|________|____________________|________|________|________|________|
+|                  |        |        |        |        |        |        |        |        |        |        |                |        |        |        |        |        |
+|                  |        |        |        |        |        |        |        |        |        |        |                |        |        |        |        |        |
+|__________________|________|________|________|________|________|________|________|________|________|________|________________|________|________|________|________|        |
+|          |          |          |                                                        |        |        |        |        |        |        |        |        |        |
+|          |          |          |                                                        |        |        |        |        |        |        |        |        |        |
+|__________|__________|__________|________________________________________________________|________|________|________|________|________|________|________|________|________|
+ */
+
+       [_FN1] = LAYOUT_default(
+    RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, KC_MNXT, KC_HOME,  KC_END,
+    _______, RGB_TOG, RGB_MOD, RGB_VAI, RGB_VAD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, _______, _______, _______, _______,      KC_DEL,    _______, _______, _______, _______,
+      _______, BL_TOGG,  BL_INC,  BL_DEC,  _______, _______, _______, _______, _______, _______, _______, _______, _______,    _______,  _______, _______, _______, _______,
+        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,          _______,    _______, _______, _______,
+         _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,    _______,         _______, _______, _______, _______, _______,
+    _______, _______, _______,                  _______,                                 _______,  _______,  _______,  _______, _______, _______, _______, _______
+  ),
+
+};
+
diff --git a/keyboards/espectro/keymaps/mac/config.h b/keyboards/espectro/keymaps/mac/config.h
new file mode 100644 (file)
index 0000000..a184952
--- /dev/null
@@ -0,0 +1,22 @@
+/* Copyright 2018 @TurboMech /u/TurboMech <discord> @A9entOran9e#6134
+ *
+ * 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/>.
+ */
+
+#pragma once
+
+#define TAPPING_TOGGLE 2
+
+// place overrides here
+
diff --git a/keyboards/espectro/keymaps/mac/keymap.c b/keyboards/espectro/keymaps/mac/keymap.c
new file mode 100644 (file)
index 0000000..4b72ff0
--- /dev/null
@@ -0,0 +1,167 @@
+/* Copyright 2018 @TurboMech /u/TurboMech <discord> @A9entOran9e#6134
+ *
+ * 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 MODS_CTRL_MASK  (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT))
+
+#define _QWERTY 0 //BASE layer
+#define _FUNCTION 1 //Function layer
+#define _WINDOWS 2 //Windows layer
+
+enum custom_keycodes {
+  PLACEHOLDER = SAFE_RANGE, // can always be here
+  EXPOSE,                   // Expose (LCTRL + UP)
+  LAUNCH,
+  DOCK,
+  SCRCAP,
+  CS1,
+  CS2,
+  QALL
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+/* Base Layer
+____________________________________________________________________________________________________________________________________________________________________________
+|        | SCREEN | SCREEN |        |        |SHOW    | TOGGLE |SCREEN  |CUSTOM  |CUSTOM  |PREVIOUS| PLAY/  |  NEXT  |        |        |        |        |        |        |
+| ESC    |BRIGHTEN|  DIM   | EXPOSE |LAUNCHPA|DESKTOP | DOCK   |CAPTURE |SHORTCUT|SHORTCUT| TRACK  |  PAUSE | TRACK  |  MUTE  | VOL DN | VOL UP | PG UP  |PG DOWN |  POWER |
+|________|________|________|________|________|________|________|________|___1____|___2____|________|________|________|________|________|________|________|________|________|
+|        |        |        |        |        |        |        |        |        |        |        |        |        |      BACK       |        |        |        |        |
+|  ~`    |   1    |   2    |   3    |   4    |   5    |   6    |   7    |   8    |   9    |   0    |  _ -   | =  +   |      SPACE      | DELETE |   /    |  *     |   -    |
+|________|________|________|________|________|________|________|________|________|________|________|________|________|_________________|________|________|________|________|
+|            |        |        |        |        |        |        |        |        |        |        |  [     |   ]    |             |        |        |        |        |
+|    TAB     |   Q    |   W    |   E    |   R    |   T    |   Y    |   U    |   I    |   O    |   P    |  {     |   }    |  |   \      |   7    |   8    |   9    |        |
+|____________|________|________|________|________|________|________|________|________|________|________|________|________|_____________|________|________|________|   +    |
+|              |        |        |        |        |        |        |        |        |        |   ;    |   '    |                    |        |        |        |        |
+|   CAPS LOCK  |   A    |   S    |   D    |   F    |   G    |   H    |   J    |   K    |   L    |   :    |   "    |       ENTER        |   4    |   5    |   6    |        |
+|______________|________|________|________|________|________|________|________|________|________|________|________|____________________|________|________|________|________|
+|                  |        |        |        |        |        |        |        |   ,    |    .   |   /    |                |        |        |        |        |        |
+|  SHIFT           |   Z    |   X    |   C    |   V    |   B    |   N    |   M    |   <    |    >   |   ?    |       SHIFT    |   UP   |   1    |   2    |   3    |        |
+|__________________|________|________|________|________|________|________|________|________|________|________|________________|________|________|________|________| ENTER  |
+|          |          |          |                                                        |        |        |   TT   |        |        |        |        |        |        |
+| CTRL     |  L ALT   | L GUI    |                      SPACE                             | R GUI  | R CTRL |  _FN   |  LEFT  |  DOWN  | RIGHT  |   0    |   .    |        |
+|__________|__________| COMMAND  |________________________________________________________|COMMAND |________|________|________|________|________|________|________|________|
+ */
+
+       [_QWERTY] = LAYOUT_default(
+               KC_ESC,  KC_F14,  KC_F15, EXPOSE, LAUNCH, KC_F11, DOCK,  SCRCAP, CS1,    CS2,    KC_MRWD, KC_MPLY, KC_MFFD, KC_MUTE, KC_VOLD, KC_VOLU, KC_PGUP, KC_PGDN, KC_POWER,
+               KC_GRV,  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_BSPC,     KC_DEL,  KC_PSLS, KC_PAST, KC_PMNS,
+      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_BSLS,     KC_P7,   KC_P8,   KC_P9,   KC_PPLS,
+       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_ENT,     KC_P4,   KC_P5,   KC_P6,
+        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_UP,   KC_P1,   KC_P2,   KC_P3,   KC_PENT,
+               KC_LCTL, KC_LALT, KC_LGUI,                   KC_SPC,                           KC_RGUI,  KC_RCTL,  TT(1),  KC_LEFT, KC_DOWN, KC_RIGHT, KC_P0,   KC_PDOT
+  ),
+/* FN1 - SEE readme.md
+____________________________________________________________________________________________________________________________________________________________________________
+|        |        |        |        |        |        |        |        |        |        |        |        |        |        |        |        |        |        |        |
+| QUIT   |   F1   |   F2   |   F3   |   F4   |  F5    |   F6   |   F7   |   F8   |   F9   |  F10   |  F11   |   F12  |        |        |        |  HOME  |  END   | RESET  |
+|_ALL____|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|
+|        |  RGB   |  RGB   |  RGB   |  RGB   |  RGB   |  RGB   |  RGB   |  RGB   |        |        |        |        |                 |        |        |        |        |
+|        | TOGGLE |  MODE  |INCREASE|DECREASE|  HUE   |  HUE   |  SAT   |        |        |        |        |        |      DELETE     |        |        |        |        |
+|________|________|________|________|________|INCREASE|DECREASE|INCREASE|DECREASE|________|________|________|________|_________________|________|________|________|________|
+|            | BACK   | BACK   |        |        |        |        |        |        |        |        |        |        |             |        |        |        |        |
+|            | LIGHT  | LIGHT  |        |        |        |        |        |        |        |        |        |        |             |        |        |        |        |
+|____________| TOGGLE |INCREASE|DECREASE|________|________|________|________|________|________|________|________|________|_____________|________|________|________|        |
+|              |        |        |        |        |        |        |        |        |        |        |        |                    |        |        |        |        |
+|              |        |        |        |        |        |        |        |        |        |        |        |                    |        |        |        |        |
+|______________|________|________|________|________|________|________|________|________|________|________|________|____________________|________|________|________|________|
+|                  |        |        |        |        |        |        |        |        |        |        |                |        |        |        |        |        |
+|                  |        |        |        |        |        |        |        |        |        |        |                |        |        |        |        |        |
+|__________________|________|________|________|________|________|________|________|________|________|________|________________|________|________|________|________|        |
+|          |          |          |                                                        |        |        |        |        |        |        |        |        |        |
+|          |          |          |                                                        |        |        |        |        |        |        |        |        |        |
+|__________|__________|__________|________________________________________________________|________|________|________|________|________|________|________|________|________|
+ */
+
+
+       [_FUNCTION] = LAYOUT_default(
+               QALL,    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_HOME, KC_END,  RESET,
+    _______, RGB_TOG, RGB_MOD, RGB_VAI, RGB_VAD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, _______, _______, _______, _______,      KC_DEL,     _______, _______, _______, _______,
+      _______, BL_TOGG,  BL_INC,  BL_DEC,  _______, _______, _______, _______, _______, _______, _______, _______, _______,    _______,   _______, _______, _______, _______,
+        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,          _______,     _______, _______, _______,
+         _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,    _______,         _______,  _______, _______, _______, _______,
+    _______, _______, _______,                  _______,                                 _______,  TO(2),  _______,  _______, _______,  _______, _______, _______
+
+  ),
+
+/* Windows layer
+____________________________________________________________________________________________________________________________________________________________________________
+|        |        |        |        |        |        |        |        |        |        |        |        |        |        |        |        |        |        |        |
+| ESC    |   F1   |   F2   |   F3   |   F4   |   F5   |   F6   |   F7   |   F8   |   F9   |  F10   |  F11   |  F12   | DELETE |  HOME  |   END  |  P UP  | P DOWN |  MENU  |
+|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|
+|        |        |        |        |        |        |        |        |        |        |        |        |        |      BACK       |  NUM   |        |        |        |
+|  ~`    |   1    |   2    |   3    |   4    |   5    |   6    |   7    |   8    |   9    |   0    |  _ -   | =  +   |      SPACE      |  LOCK  |   /    |  *     |   -    |
+|________|________|________|________|________|________|________|________|________|________|________|________|________|_________________|________|________|________|________|
+|            |        |        |        |        |        |        |        |        |        |        |  [     |   ]    |             |        |        |        |        |
+|    TAB     |   Q    |   W    |   E    |   R    |   T    |   Y    |   U    |   I    |   O    |   P    |  {     |   }    |  |   \      |   7    |   8    |   9    |        |
+|____________|________|________|________|________|________|________|________|________|________|________|________|________|_____________|________|________|________|   +    |
+|              |        |        |        |        |        |        |        |        |        |   ;    |   '    |                    |        |        |        |        |
+|   CAPS LOCK  |   A    |   S    |   D    |   F    |   G    |   H    |   J    |   K    |   L    |   :    |   "    |       ENTER        |   4    |   5    |   6    |        |
+|______________|________|________|________|________|________|________|________|________|________|________|________|____________________|________|________|________|________|
+|                  |        |        |        |        |        |        |        |   ,    |    .   |   /    |                |        |        |        |        |        |
+|  SHIFT           |   Z    |   X    |   C    |   V    |   B    |   N    |   M    |   <    |    >   |   ?    |       SHIFT    |   UP   |   1    |   2    |   3    |        |
+|__________________|________|________|________|________|________|________|________|________|________|________|________________|________|________|________|________| ENTER  |
+|          |          |          |                                                        |        |        |   TO   |        |        |        |        |        |        |
+| L GUI    |  L ALT   | L CTL    |                      SPACE                             | R CTL  | R ALT  |LAYER 0 |  LEFT  |  DOWN  | RIGHT  |   0    |   .    |        |
+|__________|__________|__________|________________________________________________________|________|________|________|________|________|________|________|________|________|
+ */
+
+
+       [_WINDOWS] = LAYOUT_default(
+    KC_ESC,  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_HOME, KC_END,  KC_PGUP, KC_PGDN, KC_MENU,
+    KC_GRV,  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_BSPC,      KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS,
+      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_BSLS,     KC_P7,   KC_P8,   KC_P9,   KC_PPLS,
+       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_ENT,     KC_P4,   KC_P5,   KC_P6,
+        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_UP,   KC_P1,   KC_P2,   KC_P3,   KC_PENT,
+    KC_LGUI, KC_LALT, KC_LCTL,                   KC_SPC,                           KC_RCTL,  KC_RALT,  TO(0),  KC_LEFT, KC_DOWN,  KC_RIGHT, KC_P0,   KC_PDOT
+  ),
+};
+
+
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+  if (record->event.pressed) {
+    switch (keycode) {
+    // dynamically generate these.
+      case EXPOSE:
+        SEND_STRING(SS_DOWN(X_LCTRL) SS_TAP(X_UP) SS_UP(X_LCTRL));
+        return false;
+      case LAUNCH:
+        SEND_STRING(SS_DOWN(X_LCTRL) SS_TAP(X_L) SS_UP(X_LCTRL));
+        return false;
+      case DOCK:
+        SEND_STRING(SS_DOWN(X_LALT) SS_DOWN(X_LGUI) SS_TAP(X_D) SS_UP(X_LGUI) SS_UP(X_LALT));
+        return false;
+      case SCRCAP:  //screen capture
+        SEND_STRING(SS_DOWN(X_LCTRL) SS_TAP(X_S) SS_UP(X_LCTRL));
+        return false;
+      case CS1:  //custom shortcut 1
+        SEND_STRING(SS_DOWN(X_LALT) SS_DOWN(X_LGUI) SS_TAP(X_1) SS_UP(X_LGUI) SS_UP(X_LALT));
+        return false;
+      case CS2:  //custom shortcut 2
+        SEND_STRING(SS_DOWN(X_LALT) SS_DOWN(X_LGUI) SS_TAP(X_2) SS_UP(X_LGUI) SS_UP(X_LALT));
+        return false;
+      case QALL:  //quit all applications
+        SEND_STRING(SS_DOWN(X_LALT) SS_DOWN(X_LGUI) SS_TAP(X_Q) SS_UP(X_LGUI) SS_UP(X_LALT));
+        return false;
+    }
+    return false;
+  }
+  return true;
+};
+
diff --git a/keyboards/espectro/keymaps/mac/readme.md b/keyboards/espectro/keymaps/mac/readme.md
new file mode 100644 (file)
index 0000000..fb62260
--- /dev/null
@@ -0,0 +1,56 @@
+# This is u/TurboMech's keyboard layout for Espectro.  
+
+## It is designed for Mac OS, due to the specific functions created.  
+
+### Here is the layout found in the keymap.c file.
+#####  I use shortcuts for the Function row (above number row) listed below
+  - Scrn Bright Up: F14
+  - Scrn Bright Down: F15
+  - Expose: LCTRL + Up 
+  - Launchpad: LCTRL + L
+  - Show Desktop: F11
+  - Show/Hide Dock: LALT + LGUI + D
+  - Screen Capture: LCTRL + S
+  - Custom Shortcut 1: LCTRL + LGUI + 1
+  - Custom Shortcut 2: LCTRL + LGUI + 2
+    - use the custom shortcuts for whatever you want: launch an application, a macro, etc.  
+  - Play/Pause: exactly that
+  - Mute / Volume Up / Volume Down: exactly what it says
+  - QALL: Quit all applications
+
+ ##### Going down the right side from Vol Down:
+  - POWER: this serves as the power button on Mac's only.  Press and hold the button as you would on your Macbook or iMac keyboard.
+  - Menu: this slides the notification bar on the right side (its the same as on iPhones/ iPads) 
+
+### See below keymaps for how to setup shortcuts on Mac
+
+#### Base Layer
+```
+Needs updating.
+```
+#### Function Layer 1 - See above for shortcuts
+```
+Needs updating
+```
+
+#### How to use/ setup shortcuts on Mac
+- First navigate to System Preferences > Keyboard > Shortcuts
+  - You can use any of them in here
+  - Just set them to the shortcut keys listed above
+
+#### How to make your own (to launch applications, quit all, etc.)
+- Navigate to Automator > New Document > click Service > Choose
+- Now we have to setup our shortcut
+  - Here's how to setup the Quit All Shortcut
+    - In the right window select the Service recieves dropdown > select No Input
+    - At the top left click the Name (Search) > type quit > click and hold Quit All Applications > drag to the right hand box (under the Service Recieves) 
+      - **IMPORTANT** You have to click the Run button at the upper right hand corner in order for these to actually work. 
+    - Now click File > Save > save it as Quit All Apps (or whatever you want) / you can also just exit out and it'll ask you if you want to save
+- Navigate back to System Preferences > Keyboard > Shortcuts
+    - The new shortcut can be found under services, set it to one of the shortcuts I listed above and done
+- The same applies for applications in the Name (search) just type the application you want to have as shortcut. Don't forget to run it, then do the same steps
+  to set it up as a shortcut.
+
+
+
+
diff --git a/keyboards/espectro/readme.md b/keyboards/espectro/readme.md
new file mode 100644 (file)
index 0000000..c4c0edc
--- /dev/null
@@ -0,0 +1,15 @@
+# Espectro
+
+![Espectro](https://cdn.shopify.com/s/files/1/1697/5323/products/IMG_0162_53a5ca83-3ce5-4741-92e8-10f769cf5ee1_1024x1024.jpg?v=1540701787)
+
+A 96% keyboard made and sold by MECHKEYS [More info on MECHKEYS](https://mechkeys.ca).
+
+Keyboard Maintainer: [TurboMech](https://github.com/TurboMech)  
+Hardware Supported: Espectro  
+Hardware Availability: [MECHKEYS](https://mechkeys.ca)  
+
+Make example for this keyboard (after setting up your build environment):
+
+    make espectro:default
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
diff --git a/keyboards/espectro/rules.mk b/keyboards/espectro/rules.mk
new file mode 100755 (executable)
index 0000000..2c28fe8
--- /dev/null
@@ -0,0 +1,61 @@
+# MCU name
+MCU = atmega32u4
+
+# Processor frequency.
+#     This will define a symbol, F_CPU, in all source code files equal to the
+#     processor frequency in Hz. You can then use this symbol in your source code to
+#     calculate timings. Do NOT tack on a 'UL' at the end, this will be done
+#     automatically to create a 32-bit value in your source code.
+#
+#     This will be an integer division of F_USB below, as it is sourced by
+#     F_USB after it has run through any CPU prescalers. Note that this value
+#     does not *change* the processor frequency - it should merely be updated to
+#     reflect the processor speed set externally so that the code can use accurate
+#     software delays.
+F_CPU = 16000000
+
+#
+# LUFA specific
+#
+# Target architecture (see library "Board Types" documentation).
+ARCH = AVR8
+
+# Input clock frequency.
+#     This will define a symbol, F_USB, in all source code files equal to the
+#     input clock frequency (before any prescaling is performed) in Hz. This value may
+#     differ from F_CPU if prescaling is used on the latter, and is required as the
+#     raw input clock is fed directly to the PLL sections of the AVR for high speed
+#     clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
+#     at the end, this will be done automatically to create a 32-bit value in your
+#     source code.
+#
+#     If no clock division is performed on the input clock inside the AVR (via the
+#     CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
+F_USB = $(F_CPU)
+
+# Bootloader
+#     This definition is optional, and if your keyboard supports multiple bootloaders of
+#     different sizes, comment this out, and the correct address will be loaded
+#     automatically (+60). See bootloader.mk for all options.
+BOOTLOADER = atmel-dfu
+
+# Interrupt driven control endpoint task(+60)
+OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
+
+
+# Boot Section Size in *bytes*
+
+
+# Build Options
+#   comment out to disable the options.
+#
+BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration(+1000)
+MOUSEKEY_ENABLE = no   # Mouse keys(+4700)
+EXTRAKEY_ENABLE = yes  # Audio control and System control(+450)
+CONSOLE_ENABLE = no    # Console for debug(+400)
+COMMAND_ENABLE = yes    # Commands for debug and configuration
+SLEEP_LED_ENABLE = yes  # Breathing sleep LED during USB suspend
+NKRO_ENABLE = yes              # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+BACKLIGHT_ENABLE = yes  # Enable keyboard backlight functionality
+AUDIO_ENABLE = no
+RGBLIGHT_ENABLE = yes