From fa1e674bbbb92f70e2baaea88d3c4c38e10aac72 Mon Sep 17 00:00:00 2001
From: MechMerlin <30334081+mechmerlin@users.noreply.github.com>
Date: Sun, 9 Sep 2018 19:45:59 -0700
Subject: [PATCH] 65% and 68 key community layouts (#3872)

* rename 68_ansi layout to 65_ansi layout

* more renames and readme change

* add company names

* add community layouts for 68_ansi

* add 68_ansi support for mf68 type boards

* update readme
---
 keyboards/mf68/mf68.h                          |  4 ++--
 keyboards/mf68/rules.mk                        |  2 ++
 keyboards/mf68_ble/mf68_ble.h                  |  4 ++--
 layouts/community/68_ansi/layout.json          |  5 +++++
 layouts/community/68_ansi/mechmerlin/keymap.c  | 18 ++++++++++++++++++
 layouts/community/68_ansi/mechmerlin/rules.mk  |  1 +
 layouts/community/68_ansi/readme.md            |  5 +++++
 .../default/65_ansi/default_65_ansi/keymap.c   | 11 +++++++++++
 layouts/default/65_ansi/layout.json            |  5 +++++
 layouts/default/65_ansi/readme.md              |  5 +++++
 .../default/68_ansi/default_68_ansi/keymap.c   |  8 ++++----
 layouts/default/68_ansi/layout.json            | 10 +++++-----
 layouts/default/68_ansi/readme.md              |  4 +++-
 13 files changed, 68 insertions(+), 14 deletions(-)
 create mode 100644 layouts/community/68_ansi/layout.json
 create mode 100644 layouts/community/68_ansi/mechmerlin/keymap.c
 create mode 100644 layouts/community/68_ansi/mechmerlin/rules.mk
 create mode 100644 layouts/community/68_ansi/readme.md
 create mode 100644 layouts/default/65_ansi/default_65_ansi/keymap.c
 create mode 100644 layouts/default/65_ansi/layout.json
 create mode 100644 layouts/default/65_ansi/readme.md

diff --git a/keyboards/mf68/mf68.h b/keyboards/mf68/mf68.h
index a7aefc6479..a55c1d60b0 100644
--- a/keyboards/mf68/mf68.h
+++ b/keyboards/mf68/mf68.h
@@ -3,7 +3,7 @@
 
 #include "quantum.h"
 
-#define LAYOUT( \
+#define LAYOUT_68_ansi( \
     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, K41, K42, K43, K44, K45, K46, K47,     K48, \
@@ -26,7 +26,7 @@
     K35,  K36, K37, K38, K40, K41, K42, K43, K44, K45, K46, K47,     K48, \
     K50,   K51, K52, K53, K54, K55, K56, K57, K58, K60, K61,    K62,          K63, \
     K64,  K65,  K66,                 K67,              K68,  K70,  K71,  K72, K73, K74 \
-) LAYOUT( \
+) LAYOUT_68_ansi( \
     KC_##K00, KC_##K01, KC_##K02, KC_##K03, KC_##K04, KC_##K05, KC_##K06, KC_##K07, KC_##K08, \
     KC_##K10, KC_##K11, KC_##K12, KC_##K13, KC_##K14, KC_##K15, KC_##K16, KC_##K17, KC_##K18, \
     KC_##K20, KC_##K21, KC_##K22, KC_##K23, KC_##K24, KC_##K25, KC_##K26, KC_##K27, KC_##K28, \
diff --git a/keyboards/mf68/rules.mk b/keyboards/mf68/rules.mk
index a535a9d0e5..9f6445686d 100644
--- a/keyboards/mf68/rules.mk
+++ b/keyboards/mf68/rules.mk
@@ -64,3 +64,5 @@ MIDI_ENABLE ?= no            # MIDI controls
 UNICODE_ENABLE ?= no         # Unicode
 BLUETOOTH_ENABLE ?= no       # Enable Bluetooth with the Adafruit EZ-Key HID
 AUDIO_ENABLE ?= no           # Audio output on port C6
+
+LAYOUTS = 68_ansi
\ No newline at end of file
diff --git a/keyboards/mf68_ble/mf68_ble.h b/keyboards/mf68_ble/mf68_ble.h
index fa17a93903..8ef14c98d4 100644
--- a/keyboards/mf68_ble/mf68_ble.h
+++ b/keyboards/mf68_ble/mf68_ble.h
@@ -3,7 +3,7 @@
 
 #include "quantum.h"
 
-#define LAYOUT( \
+#define LAYOUT_68_ansi( \
     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, K41, K42, K43, K44, K45, K46, K47,     K48, \
@@ -26,7 +26,7 @@
     K35,  K36, K37, K38, K40, K41, K42, K43, K44, K45, K46, K47,     K48, \
     K50,   K51, K52, K53, K54, K55, K56, K57, K58, K60, K61,    K62,          K63, \
     K64,  K65,  K66,                 K67,              K68,  K70,  K71,  K72, K73, K74 \
-) LAYOUT( \
+) LAYOUT_68_ansi( \
     KC_##K00, KC_##K01, KC_##K02, KC_##K03, KC_##K04, KC_##K05, KC_##K06, KC_##K07, KC_##K08, \
     KC_##K10, KC_##K11, KC_##K12, KC_##K13, KC_##K14, KC_##K15, KC_##K16, KC_##K17, KC_##K18, \
     KC_##K20, KC_##K21, KC_##K22, KC_##K23, KC_##K24, KC_##K25, KC_##K26, KC_##K27, KC_##K28, \
diff --git a/layouts/community/68_ansi/layout.json b/layouts/community/68_ansi/layout.json
new file mode 100644
index 0000000000..f81ee0bcbf
--- /dev/null
+++ b/layouts/community/68_ansi/layout.json
@@ -0,0 +1,5 @@
+[{a:7},"","","","","","","","","","","","","",{w:2},"",{x:0.25},"",""],
+[{w:1.5},"","","","","","","","","","","","","",{w:1.5},"",{x:0.25},"",""],
+[{w:1.75},"","","","","","","","","","","","",{w:2.25},""],
+[{w:2.25},"","","","","","","","","","","",{w:2.75},"",{x:0.25},""],
+[{w:1.25},"",{w:1.25},"",{w:1.25},"",{w:6.25},"",{w:1.25},"",{w:1.25},"",{w:1.25},"",{x:0.5},"","",""]
diff --git a/layouts/community/68_ansi/mechmerlin/keymap.c b/layouts/community/68_ansi/mechmerlin/keymap.c
new file mode 100644
index 0000000000..5059bd7d83
--- /dev/null
+++ b/layouts/community/68_ansi/mechmerlin/keymap.c
@@ -0,0 +1,18 @@
+#include QMK_KEYBOARD_H
+#include "mechmerlin.h"
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+    [_BL] = LAYOUT_68_ansi(\
+        KC_GESC, 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_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_PGDN,
+        KC_CTCP, 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,                                  MO(_FL), KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
+
+    [_FL] = LAYOUT_68_ansi(\
+        KC_GRV,  KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,   KC_F6,   KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F11,  KC_F12,  KC_DEL,  KC_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, 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, KC_MUTE, KC_VOLD, KC_VOLU, 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),
+    };
\ No newline at end of file
diff --git a/layouts/community/68_ansi/mechmerlin/rules.mk b/layouts/community/68_ansi/mechmerlin/rules.mk
new file mode 100644
index 0000000000..e2ce3d7731
--- /dev/null
+++ b/layouts/community/68_ansi/mechmerlin/rules.mk
@@ -0,0 +1 @@
+USER_NAME := mechmerlin
\ No newline at end of file
diff --git a/layouts/community/68_ansi/readme.md b/layouts/community/68_ansi/readme.md
new file mode 100644
index 0000000000..2180973de8
--- /dev/null
+++ b/layouts/community/68_ansi/readme.md
@@ -0,0 +1,5 @@
+# 68_ansi
+
+    LAYOUT_68_ansi
+
+This is the 68 key ANSI layout made popular by boards such as the Magicforce 68 and Varmilo VA68M. 
\ No newline at end of file
diff --git a/layouts/default/65_ansi/default_65_ansi/keymap.c b/layouts/default/65_ansi/default_65_ansi/keymap.c
new file mode 100644
index 0000000000..69fcccd632
--- /dev/null
+++ b/layouts/default/65_ansi/default_65_ansi/keymap.c
@@ -0,0 +1,11 @@
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+    /* layer 0: qwerty */
+    [0] = LAYOUT_65_ansi(\
+        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_HOME,
+        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_PGUP,
+        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_PGDN,
+        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_END,
+        KC_LCTL, KC_LGUI, KC_LALT,                KC_SPC,                                  KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT)
+    };
\ No newline at end of file
diff --git a/layouts/default/65_ansi/layout.json b/layouts/default/65_ansi/layout.json
new file mode 100644
index 0000000000..0fa92b0f2e
--- /dev/null
+++ b/layouts/default/65_ansi/layout.json
@@ -0,0 +1,5 @@
+["","","","","","","","","","","","","",{w:2},"",""],
+[{w:1.5},"","","","","","","","","","","","","",{w:1.5},"",""],
+[{w:1.75},"","","","","","","","","","","","",{w:2.25},"",""],
+[{w:2.25},"","","","","","","","","","","",{w:1.75},"","",""],
+[{w:1.25},"",{w:1.25},"",{w:1.25},"",{w:6.25},"","","","","","",""]
diff --git a/layouts/default/65_ansi/readme.md b/layouts/default/65_ansi/readme.md
new file mode 100644
index 0000000000..0cde8e727e
--- /dev/null
+++ b/layouts/default/65_ansi/readme.md
@@ -0,0 +1,5 @@
+# 65_ansi
+
+    LAYOUT_65_ansi
+
+This is the 65% ANSI layout made popular by boards such as the [Input Club Whitefox](https://github.com/qmk/qmk_firmware/tree/master/keyboards/whitefox) and [RAMA M65-A](https://github.com/qmk/qmk_firmware/tree/master/keyboards/jc65).
\ No newline at end of file
diff --git a/layouts/default/68_ansi/default_68_ansi/keymap.c b/layouts/default/68_ansi/default_68_ansi/keymap.c
index 59b0ea47d0..544f9c156a 100644
--- a/layouts/default/68_ansi/default_68_ansi/keymap.c
+++ b/layouts/default/68_ansi/default_68_ansi/keymap.c
@@ -3,9 +3,9 @@
 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
     /* layer 0: qwerty */
     [0] = LAYOUT_68_ansi(\
-        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_HOME,
-        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_PGUP,
-        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_PGDN,
-        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_END,
+        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_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_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)
     };
\ No newline at end of file
diff --git a/layouts/default/68_ansi/layout.json b/layouts/default/68_ansi/layout.json
index 0fa92b0f2e..f81ee0bcbf 100644
--- a/layouts/default/68_ansi/layout.json
+++ b/layouts/default/68_ansi/layout.json
@@ -1,5 +1,5 @@
-["","","","","","","","","","","","","",{w:2},"",""],
-[{w:1.5},"","","","","","","","","","","","","",{w:1.5},"",""],
-[{w:1.75},"","","","","","","","","","","","",{w:2.25},"",""],
-[{w:2.25},"","","","","","","","","","","",{w:1.75},"","",""],
-[{w:1.25},"",{w:1.25},"",{w:1.25},"",{w:6.25},"","","","","","",""]
+[{a:7},"","","","","","","","","","","","","",{w:2},"",{x:0.25},"",""],
+[{w:1.5},"","","","","","","","","","","","","",{w:1.5},"",{x:0.25},"",""],
+[{w:1.75},"","","","","","","","","","","","",{w:2.25},""],
+[{w:2.25},"","","","","","","","","","","",{w:2.75},"",{x:0.25},""],
+[{w:1.25},"",{w:1.25},"",{w:1.25},"",{w:6.25},"",{w:1.25},"",{w:1.25},"",{w:1.25},"",{x:0.5},"","",""]
diff --git a/layouts/default/68_ansi/readme.md b/layouts/default/68_ansi/readme.md
index eab8f312b2..2180973de8 100644
--- a/layouts/default/68_ansi/readme.md
+++ b/layouts/default/68_ansi/readme.md
@@ -1,3 +1,5 @@
 # 68_ansi
 
-    LAYOUT_68_ansi
\ No newline at end of file
+    LAYOUT_68_ansi
+
+This is the 68 key ANSI layout made popular by boards such as the Magicforce 68 and Varmilo VA68M. 
\ No newline at end of file