~ruther/qmk_firmware

f145696dad27893b11213b314797711541431a9f — MechMerlin 5 years ago 7fe0123
E85 Hotswap/Soldered Fixes (#10173)

* split up the e85 into hotswap and soldered variants

* remove layout_all LAYOUT macro for hotswap pcb

* add copyright header to  to all config files

* remove list of alternate bootloaders

* spruce up config file

* comply with PR check list

* Update keyboards/exclusive/e85/hotswap/info.json

* Update keyboards/exclusive/e85/hotswap/info.json

* Update keyboards/exclusive/e85/hotswap/info.json

* Update keyboards/exclusive/e85/rules.mk

* Update keyboards/exclusive/e85/config.h

* Update keyboards/exclusive/e85/hotswap/config.h

* Update keyboards/exclusive/e85/soldered/config.h

* remove LAYOUT_all in hotswap and also remove superfluous comments

* remove the soldered tsangan map
M keyboards/exclusive/e85/config.h => keyboards/exclusive/e85/config.h +0 -3
@@ 21,11 21,8 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.

/* USB Device descriptor parameter */
#define VENDOR_ID 0x4558 // EX
#define PRODUCT_ID 0xE851 // E8.5 Version 1
#define DEVICE_VER 0x0001
#define MANUFACTURER Exclusive
#define PRODUCT E8.5 Hotswap PCB
#define DESCRIPTION A custom TKL keyboard

/* key matrix size */
#define MATRIX_ROWS 11

A keyboards/exclusive/e85/hotswap/config.h => keyboards/exclusive/e85/hotswap/config.h +18 -0
@@ 0,0 1,18 @@
/* Copyright 2020 MechMerlin
 *
 * 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/>.
 */

#define PRODUCT_ID 0xE851 // E8.5 Hotswap
#define PRODUCT E8.5 Hotswap PCB

R keyboards/exclusive/e85/e85.c => keyboards/exclusive/e85/hotswap/hotswap.c +1 -1
@@ 14,4 14,4 @@
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */

#include "e85.h"
#include "hotswap.h"

A keyboards/exclusive/e85/hotswap/hotswap.h => keyboards/exclusive/e85/hotswap/hotswap.h +63 -0
@@ 0,0 1,63 @@
/* Copyright 2020 MechMerlin
 *
 * 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 "quantum.h"

#define ___ KC_NO

#define LAYOUT_ansi_standard( \
    K00,  K01, K02, K03, K04,  K05, K06, K07, K08,  K68, K67, K65, K64,   K63,  K66, K62, K61,  \
    K10, K11, K12, K13, K14, K15, K16, K17, K18, K78, K70, K77, K75, K73,       K76, K72, K71,  \
    K20,   K21, K22, K23, K24, K25, K26, K27, K28, K88, K87, K85, K84, K83,     K86, K82, K81,  \
    K30,    K31, K32, K33, K34, K35, K36, K37, K38, K98, K97, K95, K93,                         \
    K40,       K42, K43, K44, K45, K46, K47, K48, KA8, KA7, KA5, KA4,                K92,       \
    K50,   K51, K52,                  K56,             K58,  K57,   K54, K53,   KA6, KA2, KA1   \
) { \
    { K00,   K01,   K02,   K03,   K04,   K05,   K06,   K07,   K08   }, \
    { K10,   K11,   K12,   K13,   K14,   K15,   K16,   K17,   K18   }, \
    { K20,   K21,   K22,   K23,   K24,   K25,   K26,   K27,   K28   }, \
    { K30,   K31,   K32,   K33,   K34,   K35,   K36,   K37,   K38   }, \
    { K40,   KC_NO, K42,   K43,   K44,   K45,   K46,   K47,   K48   }, \
    { K50,   K51,   K52,   K53,   K54,   KC_NO, K56,   K57,   K58   }, \
    { KC_NO, K61,   K62,   K63,   K64,   K65,   K66,   K67,   K68   }, \
    { K70,   K71,   K72,   K73,   KC_NO, K75,   K76,   K77,   K78   }, \
    { KC_NO, K81,   K82,   K83,   K84,   K85,   K86,   K87,   K88   }, \
    { KC_NO, KC_NO, K92,   K93,   KC_NO, K95,   KC_NO, K97,   K98   }, \
    { KC_NO, KA1,   KA2,   KC_NO, KA4,   KA5,   KA6,   KA7,   KA8   }, \
}

#define LAYOUT_ansi_tsangan( \
    K00,  K01, K02, K03, K04,  K05, K06, K07, K08,  K68, K67, K65, K64,   K63,  K66, K62, K61,  \
    K10, K11, K12, K13, K14, K15, K16, K17, K18, K78, K70, K77, K75, K73,       K76, K72, K71,  \
    K20,   K21, K22, K23, K24, K25, K26, K27, K28, K88, K87, K85, K84, K83,     K86, K82, K81,  \
    K30,    K31, K32, K33, K34, K35, K36, K37, K38, K98, K97, K95, K93,                         \
    K40,       K42, K43, K44, K45, K46, K47, K48, KA8, KA7, KA5, KA4,                K92,       \
    K50,   K51, K52,                  K56,                 K57,   K54, K53,     KA6, KA2, KA1   \
) { \
    { K00,   K01,   K02,   K03,   K04,   K05,   K06,   K07,   K08   }, \
    { K10,   K11,   K12,   K13,   K14,   K15,   K16,   K17,   K18   }, \
    { K20,   K21,   K22,   K23,   K24,   K25,   K26,   K27,   K28   }, \
    { K30,   K31,   K32,   K33,   K34,   K35,   K36,   K37,   K38   }, \
    { K40,   KC_NO, K42,   K43,   K44,   K45,   K46,   K47,   K48   }, \
    { K50,   K51,   K52,   K53,   K54,   KC_NO, K56,   K57,   KC_NO }, \
    { KC_NO, K61,   K62,   K63,   K64,   K65,   K66,   K67,   K68   }, \
    { K70,   K71,   K72,   K73,   KC_NO, K75,   K76,   K77,   K78   }, \
    { KC_NO, K81,   K82,   K83,   K84,   K85,   K86,   K87,   K88   }, \
    { KC_NO, KC_NO, K92,   K93,   KC_NO, K95,   KC_NO, K97,   K98   }, \
    { KC_NO, KA1,   KA2,   KC_NO, KA4,   KA5,   KA6,   KA7,   KA8   }, \
}

A keyboards/exclusive/e85/hotswap/info.json => keyboards/exclusive/e85/hotswap/info.json +193 -0
@@ 0,0 1,193 @@
{
    "keyboard_name": "Exclusive E8.5 TKL",
    "url": "",
    "maintainer": "qmk",
    "width": 18.25,
    "height": 6.5,
    "layouts": {
        "LAYOUT_ansi_standard": {
            "layout": [
                {"label":"K00 (E6,D0)", "x":0, "y":0},
                {"label":"K01 (E6,D1)", "x":1.25, "y":0},
                {"label":"K02 (E6,D2)", "x":2.25, "y":0},
                {"label":"K03 (E6,D3)", "x":3.25, "y":0},
                {"label":"K04 (E6,D5)", "x":4.25, "y":0},
                {"label":"K05 (E6,D4)", "x":5.5, "y":0},
                {"label":"K06 (E6,D6)", "x":6.5, "y":0},
                {"label":"K07 (E6,D7)", "x":7.5, "y":0},
                {"label":"K08 (E6,B4)", "x":8.5, "y":0},
                {"label":"K68 (F7,B4)", "x":9.75, "y":0},
                {"label":"K67 (F7,D7)", "x":10.75, "y":0},
                {"label":"K65 (F7,D4)", "x":11.75, "y":0},
                {"label":"K64 (F7,D5)", "x":12.75, "y":0},
                {"label":"K63 (F7,D3)", "x":14, "y":0},
                {"label":"K66 (F7,D6)", "x":15.25, "y":0},
                {"label":"K62 (F7,D2)", "x":16.25, "y":0},
                {"label":"K61 (F7,D1)", "x":17.25, "y":0},
                {"label":"K10 (B0,D0)", "x":0, "y":1.5},
                {"label":"K11 (B0,D1)", "x":1, "y":1.5},
                {"label":"K12 (B0,D2)", "x":2, "y":1.5},
                {"label":"K13 (B0,D3)", "x":3, "y":1.5},
                {"label":"K14 (B0,D5)", "x":4, "y":1.5},
                {"label":"K15 (B0,D4)", "x":5, "y":1.5},
                {"label":"K16 (B0,D6)", "x":6, "y":1.5},
                {"label":"K17 (B0,D7)", "x":7, "y":1.5},
                {"label":"K18 (B0,B4)", "x":8, "y":1.5},
                {"label":"K78 (F6,B4)", "x":9, "y":1.5},
                {"label":"K70 (F6,D0)", "x":10, "y":1.5},
                {"label":"K77 (F6,D7)", "x":11, "y":1.5},
                {"label":"K75 (F6,D4)", "x":12, "y":1.5},
                {"label":"K73 (F6,D3)", "x":13, "y":1.5, "w":2},
                {"label":"K76 (F6,D6)", "x":15.25, "y":1.5},
                {"label":"K72 (F6,D2)", "x":16.25, "y":1.5},
                {"label":"K71 (F6,D1)", "x":17.25, "y":1.5},
                {"label":"K20 (B1,D0)", "x":0, "y":2.5, "w":1.5},
                {"label":"K21 (B1,D1)", "x":1.5, "y":2.5},
                {"label":"K22 (B1,D2)", "x":2.5, "y":2.5},
                {"label":"K23 (B1,D3)", "x":3.5, "y":2.5},
                {"label":"K24 (B1,D5)", "x":4.5, "y":2.5},
                {"label":"K25 (B1,D4)", "x":5.5, "y":2.5},
                {"label":"K26 (B1,D6)", "x":6.5, "y":2.5},
                {"label":"K27 (B1,D7)", "x":7.5, "y":2.5},
                {"label":"K28 (B1,B4)", "x":8.5, "y":2.5},
                {"label":"K88 (F5,B4)", "x":9.5, "y":2.5},
                {"label":"K87 (F5,D7)", "x":10.5, "y":2.5},
                {"label":"K85 (F5,D4)", "x":11.5, "y":2.5},
                {"label":"K84 (F5,D5)", "x":12.5, "y":2.5},
                {"label":"K83 (F5,D3)", "x":13.5, "y":2.5, "w":1.5},
                {"label":"K86 (F5,D6)", "x":15.25, "y":2.5},
                {"label":"K82 (F5,D2)", "x":16.25, "y":2.5},
                {"label":"K81 (F5,D1)", "x":17.25, "y":2.5},
                {"label":"K30 (B2,D0)", "x":0, "y":3.5, "w":1.75},
                {"label":"K31 (B2,D1)", "x":1.75, "y":3.5},
                {"label":"K32 (B2,D2)", "x":2.75, "y":3.5},
                {"label":"K33 (B2,D3)", "x":3.75, "y":3.5},
                {"label":"K34 (B2,D5)", "x":4.75, "y":3.5},
                {"label":"K35 (B2,D4)", "x":5.75, "y":3.5},
                {"label":"K36 (B2,D6)", "x":6.75, "y":3.5},
                {"label":"K37 (B2,D7)", "x":7.75, "y":3.5},
                {"label":"K38 (B2,B4)", "x":8.75, "y":3.5},
                {"label":"K98 (F4,B4)", "x":9.75, "y":3.5},
                {"label":"K97 (F4,D7)", "x":10.75, "y":3.5},
                {"label":"K95 (F4,D4)", "x":11.75, "y":3.5},
                {"label":"K93 (F4,D3)", "x":12.75, "y":3.5, "w":2.25},
                {"label":"K40 (B3,D0)", "x":0, "y":4.5, "w":2.25},
                {"label":"K42 (B3,D2)", "x":2.25, "y":4.5},
                {"label":"K43 (B3,D3)", "x":3.25, "y":4.5},
                {"label":"K44 (B3,D5)", "x":4.25, "y":4.5},
                {"label":"K45 (B3,D4)", "x":5.25, "y":4.5},
                {"label":"K46 (B3,D6)", "x":6.25, "y":4.5},
                {"label":"K47 (B3,D7)", "x":7.25, "y":4.5},
                {"label":"K48 (B3,B4)", "x":8.25, "y":4.5},
                {"label":"KA8 (F1,B4)", "x":9.25, "y":4.5},
                {"label":"KA7 (F1,D7)", "x":10.25, "y":4.5},
                {"label":"KA5 (F1,D4)", "x":11.25, "y":4.5},
                {"label":"KA4 (F1,D5)", "x":12.25, "y":4.5, "w":2.75},
                {"label":"K92 (F4,D2)", "x":16.25, "y":4.5},
                {"label":"K50 (B7,D0)", "x":0, "y":5.5, "w":1.25},
                {"label":"K51 (B7,D1)", "x":1.25, "y":5.5, "w":1.25},
                {"label":"K52 (B7,D2)", "x":2.5, "y":5.5, "w":1.25},
                {"label":"K56 (B7,D6)", "x":3.75, "y":5.5, "w":6.25},
                {"label":"K58 (B7,B4)", "x":10, "y":5.5, "w":1.25},
                {"label":"K57 (B7,D7)", "x":11.25, "y":5.5, "w":1.25},
                {"label":"K54 (B7,D5)", "x":12.5, "y":5.5, "w":1.25},
                {"label":"K53 (B7,D3)", "x":13.75, "y":5.5, "w":1.25},
                {"label":"KA6 (F1,D6)", "x":15.25, "y":5.5},
                {"label":"KA2 (F1,D2)", "x":16.25, "y":5.5},
                {"label":"KA1 (F1,D1)", "x":17.25, "y":5.5}
            ]
        },

        "LAYOUT_ansi_tsangan": {
            "layout": [
                {"label":"K00 (E6,D0)", "x":0, "y":0},
                {"label":"K01 (E6,D1)", "x":1.25, "y":0},
                {"label":"K02 (E6,D2)", "x":2.25, "y":0},
                {"label":"K03 (E6,D3)", "x":3.25, "y":0},
                {"label":"K04 (E6,D5)", "x":4.25, "y":0},
                {"label":"K05 (E6,D4)", "x":5.5, "y":0},
                {"label":"K06 (E6,D6)", "x":6.5, "y":0},
                {"label":"K07 (E6,D7)", "x":7.5, "y":0},
                {"label":"K08 (E6,B4)", "x":8.5, "y":0},
                {"label":"K68 (F7,B4)", "x":9.75, "y":0},
                {"label":"K67 (F7,D7)", "x":10.75, "y":0},
                {"label":"K65 (F7,D4)", "x":11.75, "y":0},
                {"label":"K64 (F7,D5)", "x":12.75, "y":0},
                {"label":"K63 (F7,D3)", "x":14, "y":0},
                {"label":"K66 (F7,D6)", "x":15.25, "y":0},
                {"label":"K62 (F7,D2)", "x":16.25, "y":0},
                {"label":"K61 (F7,D1)", "x":17.25, "y":0},
                {"label":"K10 (B0,D0)", "x":0, "y":1.5},
                {"label":"K11 (B0,D1)", "x":1, "y":1.5},
                {"label":"K12 (B0,D2)", "x":2, "y":1.5},
                {"label":"K13 (B0,D3)", "x":3, "y":1.5},
                {"label":"K14 (B0,D5)", "x":4, "y":1.5},
                {"label":"K15 (B0,D4)", "x":5, "y":1.5},
                {"label":"K16 (B0,D6)", "x":6, "y":1.5},
                {"label":"K17 (B0,D7)", "x":7, "y":1.5},
                {"label":"K18 (B0,B4)", "x":8, "y":1.5},
                {"label":"K78 (F6,B4)", "x":9, "y":1.5},
                {"label":"K70 (F6,D0)", "x":10, "y":1.5},
                {"label":"K77 (F6,D7)", "x":11, "y":1.5},
                {"label":"K75 (F6,D4)", "x":12, "y":1.5},
                {"label":"K73 (F6,D3)", "x":13, "y":1.5, "w":2},
                {"label":"K76 (F6,D6)", "x":15.25, "y":1.5},
                {"label":"K72 (F6,D2)", "x":16.25, "y":1.5},
                {"label":"K71 (F6,D1)", "x":17.25, "y":1.5},
                {"label":"K20 (B1,D0)", "x":0, "y":2.5, "w":1.5},
                {"label":"K21 (B1,D1)", "x":1.5, "y":2.5},
                {"label":"K22 (B1,D2)", "x":2.5, "y":2.5},
                {"label":"K23 (B1,D3)", "x":3.5, "y":2.5},
                {"label":"K24 (B1,D5)", "x":4.5, "y":2.5},
                {"label":"K25 (B1,D4)", "x":5.5, "y":2.5},
                {"label":"K26 (B1,D6)", "x":6.5, "y":2.5},
                {"label":"K27 (B1,D7)", "x":7.5, "y":2.5},
                {"label":"K28 (B1,B4)", "x":8.5, "y":2.5},
                {"label":"K88 (F5,B4)", "x":9.5, "y":2.5},
                {"label":"K87 (F5,D7)", "x":10.5, "y":2.5},
                {"label":"K85 (F5,D4)", "x":11.5, "y":2.5},
                {"label":"K84 (F5,D5)", "x":12.5, "y":2.5},
                {"label":"K83 (F5,D3)", "x":13.5, "y":2.5, "w":1.5},
                {"label":"K86 (F5,D6)", "x":15.25, "y":2.5},
                {"label":"K82 (F5,D2)", "x":16.25, "y":2.5},
                {"label":"K81 (F5,D1)", "x":17.25, "y":2.5},
                {"label":"K30 (B2,D0)", "x":0, "y":3.5, "w":1.75},
                {"label":"K31 (B2,D1)", "x":1.75, "y":3.5},
                {"label":"K32 (B2,D2)", "x":2.75, "y":3.5},
                {"label":"K33 (B2,D3)", "x":3.75, "y":3.5},
                {"label":"K34 (B2,D5)", "x":4.75, "y":3.5},
                {"label":"K35 (B2,D4)", "x":5.75, "y":3.5},
                {"label":"K36 (B2,D6)", "x":6.75, "y":3.5},
                {"label":"K37 (B2,D7)", "x":7.75, "y":3.5},
                {"label":"K38 (B2,B4)", "x":8.75, "y":3.5},
                {"label":"K98 (F4,B4)", "x":9.75, "y":3.5},
                {"label":"K97 (F4,D7)", "x":10.75, "y":3.5},
                {"label":"K95 (F4,D4)", "x":11.75, "y":3.5},
                {"label":"K93 (F4,D3)", "x":12.75, "y":3.5, "w":2.25},
                {"label":"K40 (B3,D0)", "x":0, "y":4.5, "w":2.25},
                {"label":"K42 (B3,D2)", "x":2.25, "y":4.5},
                {"label":"K43 (B3,D3)", "x":3.25, "y":4.5},
                {"label":"K44 (B3,D5)", "x":4.25, "y":4.5},
                {"label":"K45 (B3,D4)", "x":5.25, "y":4.5},
                {"label":"K46 (B3,D6)", "x":6.25, "y":4.5},
                {"label":"K47 (B3,D7)", "x":7.25, "y":4.5},
                {"label":"K48 (B3,B4)", "x":8.25, "y":4.5},
                {"label":"KA8 (F1,B4)", "x":9.25, "y":4.5},
                {"label":"KA7 (F1,D7)", "x":10.25, "y":4.5},
                {"label":"KA5 (F1,D4)", "x":11.25, "y":4.5},
                {"label":"KA4 (F1,D5)", "x":12.25, "y":4.5, "w":2.75},
                {"label":"K92 (F4,D2)", "x":16.25, "y":4.5},
                {"label":"K50 (B7,D0)", "x":0, "y":5.5, "w":1.5},
                {"label":"K51 (B7,D1)", "x":1.5, "y":5.5},
                {"label":"K52 (B7,D2)", "x":2.5, "y":5.5, "w":1.5},
                {"label":"K56 (B7,D6)", "x":4, "y":5.5, "w":7},
                {"label":"K57 (B7,D7)", "x":11, "y":5.5, "w":1.5},
                {"label":"K54 (B7,D5)", "x":12.5, "y":5.5},
                {"label":"K53 (B7,D3)", "x":13.5, "y":5.5, "w":1.5},
                {"label":"KA6 (F1,D6)", "x":15.25, "y":5.5},
                {"label":"KA2 (F1,D2)", "x":16.25, "y":5.5},
                {"label":"KA1 (F1,D1)", "x":17.25, "y":5.5}
            ]
        }
    }
}

R keyboards/exclusive/e85/keymaps/default/keymap.c => keyboards/exclusive/e85/hotswap/keymaps/default/keymap.c +0 -0
R keyboards/exclusive/e85/keymaps/standard/keymap.c => keyboards/exclusive/e85/hotswap/keymaps/standard/keymap.c +0 -0
R keyboards/exclusive/e85/keymaps/tsangan/keymap.c => keyboards/exclusive/e85/hotswap/keymaps/tsangan/keymap.c +0 -0
A keyboards/exclusive/e85/hotswap/keymaps/via/config.h => keyboards/exclusive/e85/hotswap/keymaps/via/config.h +17 -0
@@ 0,0 1,17 @@
  /* Copyright 2020 MechMerlin
 *
 * 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/>.
 */
  
  #define DYNAMIC_KEYMAP_LAYER_COUNT 3
\ No newline at end of file

R keyboards/exclusive/e85/keymaps/via/keymap.c => keyboards/exclusive/e85/hotswap/keymaps/via/keymap.c +0 -0
R keyboards/exclusive/e85/keymaps/via/rules.mk => keyboards/exclusive/e85/hotswap/keymaps/via/rules.mk +0 -0
A keyboards/exclusive/e85/hotswap/readme.md => keyboards/exclusive/e85/hotswap/readme.md +17 -0
@@ 0,0 1,17 @@
# Exclusive E8.5 Hotswap

Hotswap PCB for Exclusive E8.5. 

Switch Matrix is identical between the standard and tsangan variants. Please select the correct layout. 

* Keyboard Maintainer: [MechMerlin](https://github.com/mechmerlin)
* Hardware Supported: E8.5 Hotswap, atmega32u4
* Hardware Availability: [Geekhack GB](https://geekhack.org/index.php?topic=103520)

Make example for this keyboard (after setting up your build environment):

    make exclusive/e85/hotswap:default

**Reset Key**: The board can be reset by shorting the two holes underneath the PCB, or pressing the reset button on the reverse side. 

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).

A keyboards/exclusive/e85/hotswap/rules.mk => keyboards/exclusive/e85/hotswap/rules.mk +0 -0
D keyboards/exclusive/e85/keymaps/via/config.h => keyboards/exclusive/e85/keymaps/via/config.h +0 -1
@@ 1,1 0,0 @@
  #define DYNAMIC_KEYMAP_LAYER_COUNT 3
\ No newline at end of file

M keyboards/exclusive/e85/readme.md => keyboards/exclusive/e85/readme.md +4 -5
@@ 1,16 1,15 @@
# Exclusive E8.5 Hotswap

Custom hotswap PCB for Exclusive E8.5. 
Custom PCBs for Exclusive E8.5. 

The switch matrix is identical between all three PCB variants of this board. Choose the correct LAYOUT that best matches the physical LAYOUT of your PCB.  

* Keyboard Maintainer: [MechMerlin](https://github.com/mechmerlin)
* Keyboard Maintainer: [MechMerlin](https://github.com/mechmerlin), [rebeccaby](https://github.com/rebeccaby)
* Hardware Supported: E8.5 Hotswap/Soldered, atmega32u4
* Hardware Availability: [Geekhack GB](https://geekhack.org/index.php?topic=103520)

Make example for this keyboard (after setting up your build environment):

    make exclusive/e85:default
    make exclusive/e85/hotswap:default
    make exclusive/e85/soldered:default

**Reset Key**: The board can be reset by shorting the two holes underneath the PCB, or pressing the reset button on the reverse side. 


M keyboards/exclusive/e85/rules.mk => keyboards/exclusive/e85/rules.mk +3 -10
@@ 2,13 2,6 @@
MCU = atmega32u4

# Bootloader selection
#   Teensy       halfkay
#   Pro Micro    caterina
#   Atmel DFU    atmel-dfu
#   LUFA DFU     lufa-dfu
#   QMK DFU      qmk-dfu
#   ATmega32A    bootloadHID
#   ATmega328P   USBasp
BOOTLOADER = atmel-dfu

# Build Options


@@ 25,8 18,8 @@ SLEEP_LED_ENABLE = no       # Breathing sleep LED during USB suspend
NKRO_ENABLE = no            # USB Nkey Rollover
BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = yes       # Enable keyboard RGB underglow
MIDI_ENABLE = no            # MIDI support
BLUETOOTH_ENABLE = no       # Enable Bluetooth with the Adafruit EZ-Key HID
BLUETOOTH_ENABLE = no       # Enable Bluetooth
AUDIO_ENABLE = no           # Audio output
FAUXCLICKY_ENABLE = no      # Use buzzer to emulate clicky switches
LTO_ENABLE = yes

DEFAULT_FOLDER = exclusive/e85/hotswap

A keyboards/exclusive/e85/soldered/config.h => keyboards/exclusive/e85/soldered/config.h +18 -0
@@ 0,0 1,18 @@
/* Copyright 2020 MechMerlin
 *
 * 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/>.
 */

#define PRODUCT_ID 0xE852 // E8.5 Soldered
#define PRODUCT E8.5 Soldered PCB

R keyboards/exclusive/e85/info.json => keyboards/exclusive/e85/soldered/info.json +0 -0
A keyboards/exclusive/e85/soldered/keymaps/default/keymap.c => keyboards/exclusive/e85/soldered/keymaps/default/keymap.c +37 -0
@@ 0,0 1,37 @@
/* Copyright 2020 MechMerlin
 *
 * 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

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
    [0] = LAYOUT_ansi_tsangan(
        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,     MO(1),     KC_PSCR, KC_SLCK, KC_PAUS,
        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_INS,  KC_HOME, KC_PGUP,
        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_DEL,  KC_END,  KC_PGDN,
        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_LSFT,            KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, KC_RSFT,                            KC_UP,
        KC_LCTL,     KC_LGUI, KC_LALT,                             KC_SPC,                                 KC_RALT,     KC_RGUI, KC_RCTL,        KC_LEFT, KC_DOWN, KC_RGHT
    ),
    
    [1] = LAYOUT_ansi_tsangan(
        _______,   _______, _______, _______, _______,   _______, _______, _______, _______,   _______, _______, _______, _______,    _______,   _______, _______, _______,
        RGB_MOD, RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,            _______, _______, _______,
        _______,     _______, _______, _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______,        _______, _______, _______,
        BL_TOGG,       _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
        _______,            _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,                            _______,
        _______,     _______, _______,                            _______,                                 _______,     _______, _______,        _______, _______, _______
    ),

};

A keyboards/exclusive/e85/soldered/keymaps/standard/keymap.c => keyboards/exclusive/e85/soldered/keymaps/standard/keymap.c +37 -0
@@ 0,0 1,37 @@
/* Copyright 2020 MechMerlin
 *
 * 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

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
    [0] = LAYOUT_ansi_standard(
        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,     MO(1),     KC_PSCR, KC_SLCK, KC_PAUS,
        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_INS,  KC_HOME, KC_PGUP,
        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_DEL,  KC_END,  KC_PGDN,
        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_LSFT,            KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, KC_RSFT,                            KC_UP,
        KC_LCTL,     KC_LGUI, KC_LALT,                             KC_SPC,                                 KC_RALT, KC_APP,  KC_RGUI, KC_RCTL,        KC_LEFT, KC_DOWN, KC_RGHT
    ),
    
    [1] = LAYOUT_ansi_standard(
        _______,   _______, _______, _______, _______,   _______, _______, _______, _______,   _______, _______, _______, _______,    _______,   _______, _______, _______,
        RGB_MOD, RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,            _______, _______, _______,
        _______,     _______, _______, _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______,        _______, _______, _______,
        BL_TOGG,       _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
        _______,            _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,                            _______,
        _______,     _______, _______,                            _______,                                 _______, _______,   _______, _______,        _______, _______, _______
    ),

};

A keyboards/exclusive/e85/soldered/keymaps/via/config.h => keyboards/exclusive/e85/soldered/keymaps/via/config.h +17 -0
@@ 0,0 1,17 @@
 /* Copyright 2020 MechMerlin
 *
 * 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/>.
 */
 
  #define DYNAMIC_KEYMAP_LAYER_COUNT 3
\ No newline at end of file

A keyboards/exclusive/e85/soldered/keymaps/via/keymap.c => keyboards/exclusive/e85/soldered/keymaps/via/keymap.c +45 -0
@@ 0,0 1,45 @@
/* Copyright 2020 MechMerlin
 *
 * 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

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
    [0] = LAYOUT_ansi_tsangan(
        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,     MO(1),     KC_PSCR, KC_SLCK, KC_PAUS,
        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_INS,  KC_HOME, KC_PGUP,
        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_DEL,  KC_END,  KC_PGDN,
        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_LSFT,            KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, KC_RSFT,                            KC_UP,
        KC_LCTL,     KC_LGUI, KC_LALT,                             KC_SPC,                                 KC_RALT,     KC_RGUI, KC_RCTL,        KC_LEFT, KC_DOWN, KC_RGHT
    ),

    [1] = LAYOUT_ansi_tsangan(
        _______,   _______, _______, _______, _______,   _______, _______, _______, _______,   _______, _______, _______, _______,    _______,   _______, _______, _______,
        RGB_MOD, RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,            _______, _______, _______,
        _______,     _______, _______, _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______,        _______, _______, _______,
        BL_TOGG,       _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
        _______,            _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,                            _______,
        _______,     _______, _______,                            _______,                                 _______,     _______, _______,        _______, _______, _______
    ),

    [2] = LAYOUT_ansi_tsangan(
        _______,   _______, _______, _______, _______,   _______, _______, _______, _______,   _______, _______, _______, _______,    _______,   _______, _______, _______,
        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,            _______, _______, _______,
        _______,     _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,        _______, _______, _______,
        _______,       _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
        _______,            _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,                            _______,
        _______,     _______, _______,                            _______,                                 _______,     _______, _______,        _______, _______, _______
    ),
};

A keyboards/exclusive/e85/soldered/keymaps/via/rules.mk => keyboards/exclusive/e85/soldered/keymaps/via/rules.mk +3 -0
@@ 0,0 1,3 @@
VIA_ENABLE = yes
CONSOLE_ENABLE = no        # Console for debug
COMMAND_ENABLE = no        # Commands for debug and configuration
\ No newline at end of file

A keyboards/exclusive/e85/soldered/readme.md => keyboards/exclusive/e85/soldered/readme.md +15 -0
@@ 0,0 1,15 @@
# Exclusive E8.5 Soldered

Soldered PCB for Exclusive E8.5.  

* Keyboard Maintainer: [MechMerlin](https://github.com/mechmerlin), [rebeccaby](https://github.com/rebeccaby)
* Hardware Supported: E8.5 Soldered, atmega32u4
* Hardware Availability: [Geekhack GB](https://geekhack.org/index.php?topic=103520)

Make example for this keyboard (after setting up your build environment):

    make exclusive/e85/soldered:default

**Reset Key**: The board can be reset by shorting the two holes underneath the PCB, or pressing the reset button on the reverse side. 

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).

A keyboards/exclusive/e85/soldered/rules.mk => keyboards/exclusive/e85/soldered/rules.mk +0 -0
A keyboards/exclusive/e85/soldered/soldered.c => keyboards/exclusive/e85/soldered/soldered.c +17 -0
@@ 0,0 1,17 @@
/* Copyright 2020 MechMerlin
 *
 * 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 "soldered.h"

R keyboards/exclusive/e85/e85.h => keyboards/exclusive/e85/soldered/soldered.h +7 -10
@@ 20,7 20,6 @@

#define ___ KC_NO

// This is the layout for the soldered PCB
#define LAYOUT_all( \
    K00,  K01, K02, K03, K04,  K05, K06, K07, K08,  K68, K67, K65, K64,   K63,  K66, K62, K61,  \
    K10, K11, K12, K13, K14, K15, K16, K17, K18, K78, K70, K77, K75, K74, K73,  K76, K72, K71,  \


@@ 42,12 41,11 @@
    { KC_NO, KA1,   KA2,   KA3,   KA4,   KA5,   KA6,   KA7,   KA8   }, \
}

// This is the layout for one hotswap PCB and can also be used on the soldered edition 
#define LAYOUT_ansi_standard( \
    K00,  K01, K02, K03, K04,  K05, K06, K07, K08,  K68, K67, K65, K64,   K63,  K66, K62, K61,  \
    K10, K11, K12, K13, K14, K15, K16, K17, K18, K78, K70, K77, K75, K73,       K76, K72, K71,  \
    K20,   K21, K22, K23, K24, K25, K26, K27, K28, K88, K87, K85, K84, K83,     K86, K82, K81,  \
    K30,    K31, K32, K33, K34, K35, K36, K37, K38, K98, K97, K95, K93,                         \
    K20,   K21, K22, K23, K24, K25, K26, K27, K28, K88, K87, K85, K84, K94,     K86, K82, K81,  \
    K30,    K31, K32, K33, K34, K35, K36, K37, K38, K98, K97, K95, K83,                         \
    K40,       K42, K43, K44, K45, K46, K47, K48, KA8, KA7, KA5, KA4,                K92,       \
    K50,   K51, K52,                  K56,             K58,  K57,   K54, K53,   KA6, KA2, KA1   \
) { \


@@ 60,16 58,15 @@
    { KC_NO, K61,   K62,   K63,   K64,   K65,   K66,   K67,   K68   }, \
    { K70,   K71,   K72,   K73,   KC_NO, K75,   K76,   K77,   K78   }, \
    { KC_NO, K81,   K82,   K83,   K84,   K85,   K86,   K87,   K88   }, \
    { KC_NO, KC_NO, K92,   K93,   KC_NO, K95,   KC_NO, K97,   K98   }, \
    { KC_NO, KC_NO, K92,   KC_NO,   K94,   K95,   KC_NO, K97,   K98   }, \
    { KC_NO, KA1,   KA2,   KC_NO, KA4,   KA5,   KA6,   KA7,   KA8   }, \
}

// This is the layout for one hotswap PCB and can also be used on the soldered edition 
#define LAYOUT_ansi_tsangan( \
    K00,  K01, K02, K03, K04,  K05, K06, K07, K08,  K68, K67, K65, K64,   K63,  K66, K62, K61,  \
    K10, K11, K12, K13, K14, K15, K16, K17, K18, K78, K70, K77, K75, K73,       K76, K72, K71,  \
    K20,   K21, K22, K23, K24, K25, K26, K27, K28, K88, K87, K85, K84, K83,     K86, K82, K81,  \
    K30,    K31, K32, K33, K34, K35, K36, K37, K38, K98, K97, K95, K93,                         \
    K20,   K21, K22, K23, K24, K25, K26, K27, K28, K88, K87, K85, K84, K94,     K86, K82, K81,  \
    K30,    K31, K32, K33, K34, K35, K36, K37, K38, K98, K97, K95, K83,                         \
    K40,       K42, K43, K44, K45, K46, K47, K48, KA8, KA7, KA5, KA4,                K92,       \
    K50,   K51, K52,                  K56,                 K57,   K54, K53,     KA6, KA2, KA1   \
) { \


@@ 82,6 79,6 @@
    { KC_NO, K61,   K62,   K63,   K64,   K65,   K66,   K67,   K68   }, \
    { K70,   K71,   K72,   K73,   KC_NO, K75,   K76,   K77,   K78   }, \
    { KC_NO, K81,   K82,   K83,   K84,   K85,   K86,   K87,   K88   }, \
    { KC_NO, KC_NO, K92,   K93,   KC_NO, K95,   KC_NO, K97,   K98   }, \
    { KC_NO, KA1,   KA2,   KC_NO, KA4,   KA5,   KA6,   KA7,   KA8   }, \
    { KC_NO, KC_NO, K92,   KC_NO,   K94,   K95,   KC_NO, K97,   K98   }, \
    { KC_NO, KA1,   KA2,   KC_NO, KA4,   KA5,   KA6,   KA7,   KA8   },   \
}