~ruther/qmk_firmware

995b31a565e88b29e1f6a4493e7ab8b3d7951f99 — MechMerlin 6 years ago 066465f
[Keyboard] HB85 Refactor/Layout Addition (#5451)

* introduce stt layout with K(row)(col)

* set bootmagic to lite

* Rename the original LAYOUT to LAYOUT_all
Introduce the STT layout

In additional the whole matrix was changed to support the K(row)(col) notation.

* rename LAYOUT to LAYOUT_all

* add QMK Configurator support

* stt keymap based on mrpetrov's default configuration on the hb85 he lent me

* update readme

* introduce basic and aop layouts along with QMK Configurator support for them

* add a new line

* add EEP_RST to layer 1 as it is needed to get rgb underglow to work

* add documentation on how to reset the eeprom on the board

* put contributors names where appropriate
M keyboards/gray_studio/hb85/hb85.c => keyboards/gray_studio/hb85/hb85.c +2 -1
@@ 1,5 1,6 @@
/*
Copyright 2017 Luiz Ribeiro <luizribeiro@gmail.com>
Copyright 2017 Luiz Ribeiro <luizribeiro@gmail.com>, 
          2019 fcoury <felipe.coury@gmail.com>

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

M keyboards/gray_studio/hb85/hb85.h => keyboards/gray_studio/hb85/hb85.h +76 -24
@@ 1,5 1,5 @@
/*
Copyright 2017 Luiz Ribeiro <luizribeiro@gmail.com>
Copyright 2019 fcoury <felipe.coury@gmail.com>, MechMerlin <mechmerlin@gmail.com>

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


@@ 19,30 19,82 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.

#include "quantum.h"

#define LAYOUT( \
         K12,    K11, K10, K00, K01,  K02, K03, K04, K05,  K06, K07, K08, K09,  K13,            \
  K28, K27, K26, K25, K24, K14, K15, K16, K17, K18, K19, K20, K21, K22, K23, K77, K76, K75,     \
  K43,   K42, K41, K40, K39, K29, K30, K31, K32, K33, K34, K35, K36,    K37, K38, K74, K73,     \
  K57,    K56, K55, K54, K53, K44, K45, K46, K47, K48, K49, K50,        K51, K52, K88, K87,     \
  K72, K71, K70, K69, K68, K58, K59, K60, K61, K62, K63, K66,      K64, K65, K67, K90, K89,     \
        K86, K85,                  K78,                 K79, K80,  K81, K82, K83, K84, K91      \
// Generic layout enabling splits, and all positions available in STT, Basic, and AOP. 

#define LAYOUT_all( \
  K0C, K0B, K0A, K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0E,                     \
  K1E, K1D, K1C, K1B, K1A, K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K59, K58, K57, \
  K2E, K2D, K2C, K2B, K2A, K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K56, K55,      \
  K3E, K3D, K3C, K3B, K3A, K30, K31, K32, K33, K34, K35, K36, K37, K39, K76, K75,           \
  K4E, K4D, K4C, K4B, K4A, K40, K41, K42, K43, K44, K45, K48, K46, K47, K49, K78, K77,      \
  K6D, K6C, K61, K64, K65, K66, K67, K68, K69, K79                                          \
) \
{ \
  { K00  , K01  , K02  , K03  , K04  , K05  , K06  , K07  , K08  , K09  , K10  , K11  , K12  , KC_NO, K13   }, \
  { K14  , K15  , K16  , K17  , K18  , K19  , K20  , K21  , K22  , K23  , K24  , K25  , K26  , K27  , K28   }, \
  { K29  , K30  , K31  , K32  , K33  , K34  , K35  , K36  , K37  , K38  , K39  , K40  , K41  , K42  , K43   }, \
  { K44  , K45  , K46  , K47  , K48  , K49  , K50  , K51  , KC_NO, K52  , K53  , K54  , K55  , K56  , K57   }, \
  { K58  , K59  , K60  , K61  , K62  , K63  , K64  , K65  , K66  , K67  , K68  , K69  , K70  , K71  , K72   }, \
  { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, K73  , K74  , K75  , K76  , K77  , KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, \
  { KC_NO, K78  , KC_NO, KC_NO, K79  , K80  , K81  , K82  , K83  , K84  , KC_NO, KC_NO, K85  , K86  , KC_NO }, \
  { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, K87  , K88  , K89  , K90  , K91  , KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }  \
  { K00,   K01,   K02,   K03,   K04,   K05, K06, K07, K08,   K09, K0A,   K0B,   K0C,   KC_NO, K0E   }, \
  { K10,   K11,   K12,   K13,   K14,   K15, K16, K17, K18,   K19, K1A,   K1B,   K1C,   K1D,   K1E   }, \
  { K20,   K21,   K22,   K23,   K24,   K25, K26, K27, K28,   K29, K2A,   K2B,   K2C,   K2D,   K2E   }, \
  { K30,   K31,   K32,   K33,   K34,   K35, K36, K37, KC_NO, K39, K3A,   K3B,   K3C,   K3D,   K3E   }, \
  { K40,   K41,   K42,   K43,   K44,   K45, K46, K47, K48,   K49, K4A,   K4B,   K4C,   K4D,   K4E   }, \
  { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, K55, K56, K57, K58,   K59, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, \
  { KC_NO, K61,   KC_NO, KC_NO, K64,   K65, K66, K67, K68,   K69, KC_NO, KC_NO, K6C,   K6D,   KC_NO }, \
  { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, K75, K76, K77, K78,   K79, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }  \
}

//  F3     F4     F5     F6     F7     F8     F9     F10    F11    F12    F2     F1     ESC           FN
//  5      6      7      8      9      0      -      =      BS     BS     4      3      2      1      ~
//  T      Y      U      I      O      P      [      ]      |      PAD7   R      E      W      Q      Tab
//  G      H      J      K      L      ;      '      ENTR          PAD4   F      D      S      A      CAPS
//  V      B      N      M      ,      .      RSFT   UP     /      PAD1   C      X      Z      EUR2   LSFT
//                                     PAD9   PAD8   PAD-   PAD*   PAD/
//         SPC                  RALT   RCTL   LEFT   DOWN   RGHT   PAD0                 LALT   LGUI
//                                     PAD6   PAD5   PAD3   PAD2   PAD.
// Layout with blocker

#define LAYOUT_stt( \
  K0C, K0B, K0A, K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0E,                \
  K1E, K1D, K1C, K1B, K1A, K10, K11, K12, K13, K14, K15, K16, K17, K18, K59, K58, K57, \
  K2E, K2D, K2C, K2B, K2A, K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K56, K55, \
  K3E, K3D, K3C, K3B, K3A, K30, K31, K32, K33, K34, K35, K36, K37, K39, K76, K75,      \
  K4E, K4C, K4B, K4A, K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K78, K77,      \
  K6D, K6C, K61, K64, K65, K67, K68, K69, K79                                          \
) \
{ \
  { K00,   K01,   K02,   K03,   K04,   K05, K06,   K07, K08,   K09,   K0A,   K0B,   K0C,   KC_NO, K0E   }, \
  { K10,   K11,   K12,   K13,   K14,   K15, K16,   K17, K18,   KC_NO, K1A,   K1B,   K1C,   K1D,   K1E   }, \
  { K20,   K21,   K22,   K23,   K24,   K25, K26,   K27, K28,   K29,   K2A,   K2B,   K2C,   K2D,   K2E   }, \
  { K30,   K31,   K32,   K33,   K34,   K35, K36,   K37, KC_NO, K39,   K3A,   K3B,   K3C,   K3D,   K3E   }, \
  { K40,   K41,   K42,   K43,   K44,   K45, K46,   K47, K48,   K49,   K4A,   K4B,   K4C,   KC_NO, K4E   }, \
  { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, K55, K56,   K57, K58,   K59,   KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, \
  { KC_NO, K61,   KC_NO, KC_NO, K64,   K65, KC_NO, K67, K68,   K69,   KC_NO, KC_NO, K6C,   K6D,   KC_NO }, \
  { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, K75, K76,   K77, K78,   K79,   KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, \
}

#define LAYOUT_basic( \
  K0C, K0B, K0A, K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0E,                \
  K1E, K1D, K1C, K1B, K1A, K10, K11, K12, K13, K14, K15, K16, K17, K18, K59, K58, K57, \
  K2E, K2D, K2C, K2B, K2A, K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K56, K55, \
  K3E, K3D, K3C, K3B, K3A, K30, K31, K32, K33, K34, K35, K36, K37, K39, K76, K75,      \
  K4E, K4C, K4B, K4A, K40, K41, K42, K43, K44, K45, K46, K47, K49, K77,                \
  K6D, K6C, K61, K64, K65                                                              \
) \
{ \
  { K00,   K01,   K02,   K03,   K04,   K05, K06,   K07,   K08,   K09,   K0A,   K0B,   K0C,   KC_NO, K0E   }, \
  { K10,   K11,   K12,   K13,   K14,   K15, K16,   K17,   K18,   KC_NO, K1A,   K1B,   K1C,   K1D,   K1E   }, \
  { K20,   K21,   K22,   K23,   K24,   K25, K26,   K27,   K28,   K29,   K2A,   K2B,   K2C,   K2D,   K2E   }, \
  { K30,   K31,   K32,   K33,   K34,   K35, K36,   K37,   KC_NO, K39,   K3A,   K3B,   K3C,   K3D,   K3E   }, \
  { K40,   K41,   K42,   K43,   K44,   K45, K46,   K47,   KC_NO, K49,   K4A,   K4B,   K4C,   KC_NO, K4E   }, \
  { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, K55, K56,   K57,   K58,   K59,   KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, \
  { KC_NO, K61,   KC_NO, KC_NO, K64,   K65, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, K6C,   K6D,   KC_NO }, \
  { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, K75, K76,   K77,   KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, \
}

#define LAYOUT_aop( \
  K0C, K0B, K0A, K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0E,                \
  K1E, K1D, K1C, K1B, K1A, K10, K11, K12, K13, K14, K15, K16, K17, K18, K59, K58, K57, \
  K2E, K2D, K2C, K2B, K2A, K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K56, K55, \
  K3E, K3D, K3C, K3B, K3A, K30, K31, K32, K33, K34, K35, K36, K37, K39, K76, K75,      \
  K4E, K4C, K4B, K4A, K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K78, K77,      \
  K6D, K6C, K61, K64, K65, K66, K67, K68, K69, K79                                     \
) \
{ \
  { K00,   K01,   K02,   K03,   K04,   K05, K06, K07, K08,   K09,   K0A,   K0B,   K0C,   KC_NO, K0E   }, \
  { K10,   K11,   K12,   K13,   K14,   K15, K16, K17, K18,   KC_NO, K1A,   K1B,   K1C,   K1D,   K1E   }, \
  { K20,   K21,   K22,   K23,   K24,   K25, K26, K27, K28,   K29,   K2A,   K2B,   K2C,   K2D,   K2E   }, \
  { K30,   K31,   K32,   K33,   K34,   K35, K36, K37, KC_NO, K39,   K3A,   K3B,   K3C,   K3D,   K3E   }, \
  { K40,   K41,   K42,   K43,   K44,   K45, K46, K47, K48,   K49,   K4A,   K4B,   K4C,   KC_NO, K4E   }, \
  { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, K55, K56, K57, K58,   K59,   KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, \
  { KC_NO, K61,   KC_NO, KC_NO, K64,   K65, K66, K67, K68,   K69,   KC_NO, KC_NO, K6C,   K6D,   KC_NO }, \
  { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, K75, K76, K77, K78,   K79,   KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, \
}

A keyboards/gray_studio/hb85/info.json => keyboards/gray_studio/hb85/info.json +24 -0
@@ 0,0 1,24 @@
{
    "keyboard_name": "Gray Studio HB85", 
    "url": "", 
    "maintainer": "qmk", 
    "width": 18, 
    "height": 6.25, 
    "layouts": {
        "LAYOUT_all": {
            "layout": [{"x":1.5, "y":0}, {"x":2.75, "y":0}, {"x":3.75, "y":0}, {"x":4.75, "y":0}, {"x":5.75, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11.25, "y":0}, {"x":12.25, "y":0}, {"x":13.25, "y":0}, {"x":14.25, "y":0}, {"x":15.5, "y":0}, {"x":0, "y":1.25}, {"x":1, "y":1.25}, {"x":2, "y":1.25}, {"x":3, "y":1.25}, {"x":4, "y":1.25}, {"x":5, "y":1.25}, {"x":6, "y":1.25}, {"x":7, "y":1.25}, {"x":8, "y":1.25}, {"x":9, "y":1.25}, {"x":10, "y":1.25}, {"x":11, "y":1.25}, {"x":12, "y":1.25}, {"x":13, "y":1.25}, {"x":14, "y":1.25}, {"x":15, "y":1.25}, {"x":16, "y":1.25}, {"x":17, "y":1.25}, {"x":0, "y":2.25, "w":1.5}, {"x":1.5, "y":2.25}, {"x":2.5, "y":2.25}, {"x":3.5, "y":2.25}, {"x":4.5, "y":2.25}, {"x":5.5, "y":2.25}, {"x":6.5, "y":2.25}, {"x":7.5, "y":2.25}, {"x":8.5, "y":2.25}, {"x":9.5, "y":2.25}, {"x":10.5, "y":2.25}, {"x":11.5, "y":2.25}, {"x":12.5, "y":2.25}, {"x":13.5, "y":2.25, "w":1.5}, {"x":15, "y":2.25}, {"x":16, "y":2.25}, {"x":17, "y":2.25}, {"x":0, "y":3.25, "w":1.75}, {"x":1.75, "y":3.25}, {"x":2.75, "y":3.25}, {"x":3.75, "y":3.25}, {"x":4.75, "y":3.25}, {"x":5.75, "y":3.25}, {"x":6.75, "y":3.25}, {"x":7.75, "y":3.25}, {"x":8.75, "y":3.25}, {"x":9.75, "y":3.25}, {"x":10.75, "y":3.25}, {"x":11.75, "y":3.25}, {"x":12.75, "y":3.25, "w":2.25}, {"x":15, "y":3.25}, {"x":16, "y":3.25}, {"x":17, "y":3.25}, {"x":0, "y":4.25, "w":1.25}, {"x":1.25, "y":4.25}, {"x":2.25, "y":4.25}, {"x":3.25, "y":4.25}, {"x":4.25, "y":4.25}, {"x":5.25, "y":4.25}, {"x":6.25, "y":4.25}, {"x":7.25, "y":4.25}, {"x":8.25, "y":4.25}, {"x":9.25, "y":4.25}, {"x":10.25, "y":4.25}, {"x":11.25, "y":4.25}, {"x":12.25, "y":4.25, "w":1.75}, {"x":14, "y":4.25}, {"x":15, "y":4.25}, {"x":16, "y":4.25}, {"x":17, "y":4.25}, {"x":1.25, "y":5.25, "w":1.25}, {"x":2.5, "y":5.25, "w":1.25}, {"x":3.75, "y":5.25, "w":6.25}, {"x":10, "y":5.25}, {"x":11, "y":5.25}, {"x":12, "y":5.25}, {"x":13, "y":5.25}, {"x":14, "y":5.25}, {"x":15, "y":5.25}, {"x":16, "y":5.25}]
        },

        "LAYOUT_stt": {
            "layout": [{"x":1.5, "y":0}, {"x":2.75, "y":0}, {"x":3.75, "y":0}, {"x":4.75, "y":0}, {"x":5.75, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11.25, "y":0}, {"x":12.25, "y":0}, {"x":13.25, "y":0}, {"x":14.25, "y":0}, {"x":15.5, "y":0}, {"x":0, "y":1.25}, {"x":1, "y":1.25}, {"x":2, "y":1.25}, {"x":3, "y":1.25}, {"x":4, "y":1.25}, {"x":5, "y":1.25}, {"x":6, "y":1.25}, {"x":7, "y":1.25}, {"x":8, "y":1.25}, {"x":9, "y":1.25}, {"x":10, "y":1.25}, {"x":11, "y":1.25}, {"x":12, "y":1.25}, {"x":13, "y":1.25, "w":2}, {"x":15, "y":1.25}, {"x":16, "y":1.25}, {"x":17, "y":1.25}, {"x":0, "y":2.25, "w":1.5}, {"x":1.5, "y":2.25}, {"x":2.5, "y":2.25}, {"x":3.5, "y":2.25}, {"x":4.5, "y":2.25}, {"x":5.5, "y":2.25}, {"x":6.5, "y":2.25}, {"x":7.5, "y":2.25}, {"x":8.5, "y":2.25}, {"x":9.5, "y":2.25}, {"x":10.5, "y":2.25}, {"x":11.5, "y":2.25}, {"x":12.5, "y":2.25}, {"x":13.5, "y":2.25, "w":1.5}, {"x":15, "y":2.25}, {"x":16, "y":2.25}, {"x":17, "y":2.25}, {"x":0, "y":3.25, "w":1.75}, {"x":1.75, "y":3.25}, {"x":2.75, "y":3.25}, {"x":3.75, "y":3.25}, {"x":4.75, "y":3.25}, {"x":5.75, "y":3.25}, {"x":6.75, "y":3.25}, {"x":7.75, "y":3.25}, {"x":8.75, "y":3.25}, {"x":9.75, "y":3.25}, {"x":10.75, "y":3.25}, {"x":11.75, "y":3.25}, {"x":12.75, "y":3.25, "w":2.25}, {"x":15, "y":3.25}, {"x":16, "y":3.25}, {"x":17, "y":3.25}, {"x":0, "y":4.25, "w":2.25}, {"x":2.25, "y":4.25}, {"x":3.25, "y":4.25}, {"x":4.25, "y":4.25}, {"x":5.25, "y":4.25}, {"x":6.25, "y":4.25}, {"x":7.25, "y":4.25}, {"x":8.25, "y":4.25}, {"x":9.25, "y":4.25}, {"x":10.25, "y":4.25}, {"x":11.25, "y":4.25}, {"x":12.25, "y":4.25, "w":1.75}, {"x":14, "y":4.25}, {"x":15, "y":4.25}, {"x":16, "y":4.25}, {"x":17, "y":4.25}, {"x":1.25, "y":5.25, "w":1.25}, {"x":2.5, "y":5.25, "w":1.25}, {"x":3.75, "y":5.25, "w":6.25}, {"x":10, "y":5.25, "w":1.25}, {"x":11.25, "y":5.25, "w":1.25}, {"x":13, "y":5.25}, {"x":14, "y":5.25}, {"x":15, "y":5.25}, {"x":16, "y":5.25}]
        },

        "LAYOUT_basic": {
            "layout": [{"x":1.5, "y":0}, {"x":2.75, "y":0}, {"x":3.75, "y":0}, {"x":4.75, "y":0}, {"x":5.75, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11.25, "y":0}, {"x":12.25, "y":0}, {"x":13.25, "y":0}, {"x":14.25, "y":0}, {"x":15.5, "y":0}, {"x":0, "y":1.25}, {"x":1, "y":1.25}, {"x":2, "y":1.25}, {"x":3, "y":1.25}, {"x":4, "y":1.25}, {"x":5, "y":1.25}, {"x":6, "y":1.25}, {"x":7, "y":1.25}, {"x":8, "y":1.25}, {"x":9, "y":1.25}, {"x":10, "y":1.25}, {"x":11, "y":1.25}, {"x":12, "y":1.25}, {"x":13, "y":1.25, "w":2}, {"x":15, "y":1.25}, {"x":16, "y":1.25}, {"x":17, "y":1.25}, {"x":0, "y":2.25, "w":1.5}, {"x":1.5, "y":2.25}, {"x":2.5, "y":2.25}, {"x":3.5, "y":2.25}, {"x":4.5, "y":2.25}, {"x":5.5, "y":2.25}, {"x":6.5, "y":2.25}, {"x":7.5, "y":2.25}, {"x":8.5, "y":2.25}, {"x":9.5, "y":2.25}, {"x":10.5, "y":2.25}, {"x":11.5, "y":2.25}, {"x":12.5, "y":2.25}, {"x":13.5, "y":2.25, "w":1.5}, {"x":15, "y":2.25}, {"x":16, "y":2.25}, {"x":17, "y":2.25}, {"x":0, "y":3.25, "w":1.75}, {"x":1.75, "y":3.25}, {"x":2.75, "y":3.25}, {"x":3.75, "y":3.25}, {"x":4.75, "y":3.25}, {"x":5.75, "y":3.25}, {"x":6.75, "y":3.25}, {"x":7.75, "y":3.25}, {"x":8.75, "y":3.25}, {"x":9.75, "y":3.25}, {"x":10.75, "y":3.25}, {"x":11.75, "y":3.25}, {"x":12.75, "y":3.25, "w":2.25}, {"x":15, "y":3.25}, {"x":16, "y":3.25}, {"x":17, "y":3.25}, {"x":0, "y":4.25, "w":2.25}, {"x":2.25, "y":4.25}, {"x":3.25, "y":4.25}, {"x":4.25, "y":4.25}, {"x":5.25, "y":4.25}, {"x":6.25, "y":4.25}, {"x":7.25, "y":4.25}, {"x":8.25, "y":4.25}, {"x":9.25, "y":4.25}, {"x":10.25, "y":4.25}, {"x":11.25, "y":4.25}, {"x":12.25, "y":4.25, "w":2.75}, {"x":15, "y":4.25, "w":2}, {"x":17, "y":4.25}, {"x":1.25, "y":5.25, "w":1.25}, {"x":2.5, "y":5.25, "w":1.25}, {"x":3.75, "y":5.25, "w":6.25}, {"x":10, "y":5.25, "w":1.25}, {"x":11.25, "y":5.25, "w":1.25}]
        },

        "LAYOUT_aop": {
            "layout": [{"x":1.5, "y":0}, {"x":2.75, "y":0}, {"x":3.75, "y":0}, {"x":4.75, "y":0}, {"x":5.75, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11.25, "y":0}, {"x":12.25, "y":0}, {"x":13.25, "y":0}, {"x":14.25, "y":0}, {"x":15.5, "y":0}, {"x":0, "y":1.25}, {"x":1, "y":1.25}, {"x":2, "y":1.25}, {"x":3, "y":1.25}, {"x":4, "y":1.25}, {"x":5, "y":1.25}, {"x":6, "y":1.25}, {"x":7, "y":1.25}, {"x":8, "y":1.25}, {"x":9, "y":1.25}, {"x":10, "y":1.25}, {"x":11, "y":1.25}, {"x":12, "y":1.25}, {"x":13, "y":1.25, "w":2}, {"x":15, "y":1.25}, {"x":16, "y":1.25}, {"x":17, "y":1.25}, {"x":0, "y":2.25, "w":1.5}, {"x":1.5, "y":2.25}, {"x":2.5, "y":2.25}, {"x":3.5, "y":2.25}, {"x":4.5, "y":2.25}, {"x":5.5, "y":2.25}, {"x":6.5, "y":2.25}, {"x":7.5, "y":2.25}, {"x":8.5, "y":2.25}, {"x":9.5, "y":2.25}, {"x":10.5, "y":2.25}, {"x":11.5, "y":2.25}, {"x":12.5, "y":2.25}, {"x":13.5, "y":2.25, "w":1.5}, {"x":15, "y":2.25}, {"x":16, "y":2.25}, {"x":17, "y":2.25}, {"x":0, "y":3.25, "w":1.75}, {"x":1.75, "y":3.25}, {"x":2.75, "y":3.25}, {"x":3.75, "y":3.25}, {"x":4.75, "y":3.25}, {"x":5.75, "y":3.25}, {"x":6.75, "y":3.25}, {"x":7.75, "y":3.25}, {"x":8.75, "y":3.25}, {"x":9.75, "y":3.25}, {"x":10.75, "y":3.25}, {"x":11.75, "y":3.25}, {"x":12.75, "y":3.25, "w":2.25}, {"x":15, "y":3.25}, {"x":16, "y":3.25}, {"x":17, "y":3.25}, {"x":0, "y":4.25, "w":2.25}, {"x":2.25, "y":4.25}, {"x":3.25, "y":4.25}, {"x":4.25, "y":4.25}, {"x":5.25, "y":4.25}, {"x":6.25, "y":4.25}, {"x":7.25, "y":4.25}, {"x":8.25, "y":4.25}, {"x":9.25, "y":4.25}, {"x":10.25, "y":4.25}, {"x":11.25, "y":4.25}, {"x":12.25, "y":4.25, "w":1.75}, {"x":14, "y":4.25}, {"x":15, "y":4.25}, {"x":16, "y":4.25}, {"x":17, "y":4.25}, {"x":1.25, "y":5.25, "w":1.25}, {"x":2.5, "y":5.25, "w":1.25}, {"x":3.75, "y":5.25, "w":6.25}, {"x":10, "y":5.25}, {"x":11, "y":5.25}, {"x":12, "y":5.25}, {"x":13, "y":5.25}, {"x":14, "y":5.25}, {"x":15, "y":5.25}, {"x":16, "y":5.25}]
        }
    }
}
\ No newline at end of file

M keyboards/gray_studio/hb85/keymaps/default/keymap.c => keyboards/gray_studio/hb85/keymaps/default/keymap.c +3 -3
@@ 1,5 1,5 @@
/*
Copyright 2017 Luiz Ribeiro <luizribeiro@gmail.com>
Copyright 2019 Felipe Coury <felipe.coury@gmail.com>

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


@@ 26,7 26,7 @@ enum layers {
#define KC_TGCT MO(_CTRL) // Toggles CTRL layer

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
    [_BASE] = LAYOUT(
    [_BASE] = LAYOUT_all(
        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_TGCT,                           \
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_BSPC, 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  ,     \


@@ 35,7 35,7 @@ KC_LSFT, KC_NO  , KC_Z  , KC_Z   , KC_X   , KC_V   , KC_B   , KC_N   , KC_M   , 
    KC_LCTL, KC_LALT,                                  KC_SPC ,                               KC_RALT, KC_RGUI,      KC_LEFT, KC_DOWN, KC_RGHT, KC_P0  , KC_PDOT      \
    ),

    [_CTRL] = LAYOUT(
    [_CTRL] = LAYOUT_all(
        RESET ,    _______, _______, _______, _______,  _______, _______, _______, _______,  _______, _______, _______, _______,  _______,                            \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,     \
_______,     RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______,      _______, _______, _______, _______,     \

A keyboards/gray_studio/hb85/keymaps/stt/keymap.c => keyboards/gray_studio/hb85/keymaps/stt/keymap.c +38 -0
@@ 0,0 1,38 @@
/*
Copyright 2019 MechMerlin <mechmerlin@gmail.com>

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_stt(
        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_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_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_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_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_P1,   KC_P2,   KC_P3,   \
        KC_LCTL, KC_LALT,                                  KC_SPC,                          KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0    \
    ),

    [1] = LAYOUT_stt(
        RESET,   RGB_M_P,  RGB_M_B,  RGB_M_R,  RGB_M_SW, RGB_M_SN, RGB_M_K,  RGB_M_X,  RGB_M_G,  KC_TRNS,  KC_TRNS,  KC_TRNS, KC_TRNS, KC_TRNS,                            \
        EEP_RST, KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \
        BL_TOGG, BL_STEP,  BL_INC,   BL_DEC,   BL_BRTG,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \
        RGB_TOG, RGB_MOD,  RGB_HUI,  RGB_SAI,  RGB_VAI,  RGB_SPI,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,          \
        KC_TRNS, RGB_RMOD, RGB_HUD,  RGB_SAD,  RGB_VAD,  RGB_SPD,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,          \
        KC_TRNS, KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS                                                                             \
    ),
};

M keyboards/gray_studio/hb85/readme.md => keyboards/gray_studio/hb85/readme.md +30 -42
@@ 2,59 2,47 @@

![Gray Studio HB85](https://i.imgur.com/Sk3cupR.jpg)

A HitBit MSX Computer inspired Keyboard.
A Sony HitBit MSX Computer inspired Keyboard.

Keyboard Maintainer: [Felipe Coury](https://github.com/fcoury)  
Hardware Supported: Gray Studio HB85  
Hardware Availability: Group buy finished  
Hardware Availability: [Group buy](https://en.zfrontier.com/products/gray-hb85) finished  

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

    make hb85:default
    make gray_studio/hb85:default

See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) then the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information.
Flashing

ps2avr(GB) boards use an atmega32a microcontroller and a different bootloader. It is not flashable using the regular QMK methods. 

ps2avrGB keyboard firmware
==========================
**Reset Key:** To put the HB85 into reset, hold F3 (`K00`) while plugging in. 

This keyboard uses the port of the QMK firmware for boards that are based on the
ps2avrGB firmware.
Windows: 
1. Download [HIDBootFlash](http://vusb.wikidot.com/project:hidbootflash).
2. Place your keyboard into reset. 
3. Press the `Find Device` button and ensure that your keyboard is found.
4. Press the `Open .hex File` button and locate the `.hex` file you created.
5. Press the `Flash Device` button and wait for the process to complete. 

Note that this is a complete replacement for the firmware, so you won't be
using Bootmapper Client to change any keyboard settings, since not all the
USB report options are supported.
macOS:
1. Install homebrew by typing the following:   
    ```
    /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
    ```
2. Install `crosspack-avr`.  
    ```
    brew cask install crosspack-avr
    ```
3. Install the following packages:
    ```
    brew install python
    pip3 install pyusb
    brew install --HEAD`https://raw.githubusercontent.com/robertgzr/homebrew-tap/master/bootloadhid.rb

## Installing
4. Place your keyboard into reset. 
5. Flash the board by typing `bootloadHID -r` followed by the path to your `.hex` file. 

First, install the requirements. These commands are for OSX, but all you
need is the AVR toolchain and `bootloadHID` for flashing:
**Please Note:** You will need to use the `EEP_RST` keycode first, followed by unplugging/replugging the board to get RGB underglow effects to work.

```
$ brew cask install crosspack-avr
$ brew install --HEAD https://raw.githubusercontent.com/robertgzr/homebrew-tap/master/bootloadhid.rb
$ pip install pyusb
```

Then, with the keyboard plugged in, simply run this command from the
`qmk_firmware` directory:

```
$ make hb85
$ bootloadHID -r hb85_default.hex
```

## Setting the board to bootloader mode

Hold the F3 key while plugging the USB cable.

## Troubleshooting

From my experience, it's really hard to brick these boards. But these
tricks have been useful when it got stuck in a weird scenario.

1. Try plugging the board in while holding the bootloader key. This will force
   it to boot only the bootloader without loading the firmware. Once this is
   done, just reflash the board with the original firmware.
2. Sometimes USB hubs can act weird, so try connecting the board directly
   to your computer or plugging/unplugging the USB hub.
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).
\ No newline at end of file

M keyboards/gray_studio/hb85/rules.mk => keyboards/gray_studio/hb85/rules.mk +2 -2
@@ 1,4 1,4 @@
# Copyright 2017 Luiz Ribeiro <luizribeiro@gmail.com>
# Copyright 2019 fcoury <felipe.coury@gmail.com>
#
# 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


@@ 31,7 31,7 @@ F_CPU = 12000000
BOOTLOADER = bootloadHID

# build options
BOOTMAGIC_ENABLE = full
BOOTMAGIC_ENABLE = lite
MOUSEKEY_ENABLE = no
EXTRAKEY_ENABLE = yes
CONSOLE_ENABLE = yes