From 7ca426f7e8af988b6b28e29e9bfca082200e5b77 Mon Sep 17 00:00:00 2001
From: James <noroadsleft@users.noreply.github.com>
Date: Thu, 26 Apr 2018 11:06:59 -0700
Subject: [PATCH] QMK Configurator update for the Pearl 40% (#2810)

* QMK Configurator updates for the Pearl 40%

Attempt to get the physical layout as displayed in the Configurator more true-to-life.

* Bugfixes per mechmerlin

"By changing KEYMAP to LAYOUT in the .h file, all the keymaps who rely on KEYMAP are now broken. You need to go into the keymap directory and fix all the keymaps affected by this change. Should just be an issue of renaming KEYMAP to LAYOUT."

* Merge pull request #2 from noroadsleft/noroadsleft-patch-20180425

Bugfixes per mechmerlin

* keymap.c updates for Pearl

-#include "pearl.h"
+#QMK_KEYBOARD_H
---
 keyboards/pearl/info.json                      | 13 +++++++++++++
 keyboards/pearl/keymaps/default/keymap.c       |  6 +++---
 keyboards/pearl/keymaps/jetpacktuxedo/keymap.c | 10 +++++-----
 keyboards/pearl/keymaps/phil/keymap.c          | 14 +++++++-------
 keyboards/pearl/keymaps/rask/keymap.c          | 12 ++++++------
 keyboards/pearl/pearl.h                        |  2 +-
 6 files changed, 35 insertions(+), 22 deletions(-)
 create mode 100644 keyboards/pearl/info.json

diff --git a/keyboards/pearl/info.json b/keyboards/pearl/info.json
new file mode 100644
index 000000000000..300af0ecdf55
--- /dev/null
+++ b/keyboards/pearl/info.json
@@ -0,0 +1,13 @@
+{
+  "keyboard_name": "Pearl", 
+  "url": "", 
+  "maintainer": "qmk", 
+  "bootloader": "", 
+  "width": 13, 
+  "height": 4, 
+  "layouts": {
+    "LAYOUT": {
+      "layout": [{"label":"Esc", "x":0, "y":0}, {"label":"Q", "x":1, "y":0}, {"label":"W", "x":2, "y":0}, {"label":"E", "x":3, "y":0}, {"label":"R", "x":4, "y":0}, {"label":"T", "x":5, "y":0}, {"label":"Y", "x":6, "y":0}, {"label":"U", "x":7, "y":0}, {"label":"I", "x":8, "y":0}, {"label":"O", "x":9, "y":0}, {"label":"P", "x":10, "y":0}, {"label":"{", "x":11, "y":0}, {"label":"Backspace", "x":12, "y":0}, {"label":"Tab", "x":0, "y":1, "w":1.5}, {"label":"A", "x":1.5, "y":1}, {"label":"S", "x":2.5, "y":1}, {"label":"D", "x":3.5, "y":1}, {"label":"F", "x":4.5, "y":1}, {"label":"G", "x":5.5, "y":1}, {"label":"H", "x":6.5, "y":1}, {"label":"J", "x":7.5, "y":1}, {"label":"K", "x":8.5, "y":1}, {"label":"L", "x":9.5, "y":1}, {"label":":", "x":10.5, "y":1}, {"label":"\\", "x":11.5, "y":1, "w":1.5}, {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, {"label":"Z", "x":1.75, "y":2}, {"label":"X", "x":2.75, "y":2}, {"label":"C", "x":3.75, "y":2}, {"label":"V", "x":4.75, "y":2}, {"label":"B", "x":5.75, "y":2}, {"label":"N", "x":6.75, "y":2}, {"label":"M", "x":7.75, "y":2}, {"label":"<", "x":8.75, "y":2}, {"label":">", "x":9.75, "y":2}, {"label":"?", "x":10.75, "y":2}, {"label":"Shift", "x":11.75, "y":2, "w":1.25}, {"label":"Alt", "x":1.13, "y":3}, {"label":"Ctrl", "x":2.13, "y":3, "w":1.25}, {"label":"Win", "x":3.375, "y":3, "w":1.25}, {"label":"Shift", "x":4.625, "y":3, "w":2.25}, {"x":6.875, "y":3, "w":1.25}, {"x":8.125, "y":3, "w":1.5}, {"label":"Menu", "x":9.625, "y":3}, {"label":"Fn", "x":10.63, "y":3, "w":1.25}]
+    }
+  }
+}
\ No newline at end of file
diff --git a/keyboards/pearl/keymaps/default/keymap.c b/keyboards/pearl/keymaps/default/keymap.c
index 5efb6499b570..94b82c9a1a37 100644
--- a/keyboards/pearl/keymaps/default/keymap.c
+++ b/keyboards/pearl/keymaps/default/keymap.c
@@ -15,16 +15,16 @@ 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 "pearl.h"
+#include QMK_KEYBOARD_H
 
 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-  [0] = KEYMAP(
+  [0] = LAYOUT(
       KC_GESC,               KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I,    KC_O,   KC_P,    KC_LBRC, KC_BSPC,
       KC_TAB,                KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K,    KC_L,   KC_SCLN, KC_ENT,
       MT(MOD_LSFT, KC_CAPS), KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
       KC_LCTL,               KC_LALT,    KC_LGUI,    KC_LSFT,    KC_SPC,        KC_SPC, KC_APP,  MO(1)
       ),
-  [1] = KEYMAP(
+  [1] = LAYOUT(
       KC_GRV,  KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_EQL,  KC_SLEP,
       KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_UP,   KC_QUOT, KC_BSLS,
       KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS,
diff --git a/keyboards/pearl/keymaps/jetpacktuxedo/keymap.c b/keyboards/pearl/keymaps/jetpacktuxedo/keymap.c
index d8e96f1a04ed..300663e507ed 100644
--- a/keyboards/pearl/keymaps/jetpacktuxedo/keymap.c
+++ b/keyboards/pearl/keymaps/jetpacktuxedo/keymap.c
@@ -1,25 +1,25 @@
-#include "pearl.h"
+#include QMK_KEYBOARD_H
 
 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-  [0] = KEYMAP(
+  [0] = LAYOUT(
     KC_GESC,       KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I,    KC_O,    KC_P,    KC_LBRC, KC_RBRC,
     LT(2, KC_TAB), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K,    KC_L,    KC_SCLN, LT(2,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_LCTL,    KC_LGUI, KC_LALT,    KC_BSPC,    KC_NO,      LT(1, KC_SPC),    MO(3), KC_RALT
   ),
-  [1] = KEYMAP(
+  [1] = LAYOUT(
     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_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_UP,   KC_RGHT, KC_QUOT, KC_TRNS,
     KC_TRNS, RGB_TOG, RGB_SMOD, RGB_VAI, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_BSLS, KC_TRNS,
     KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL,  KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
   ),
-  [2] = KEYMAP(
+  [2] = LAYOUT(
     KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_UNDS, KC_PLUS,
     KC_TRNS, RGB_SAI, RGB_SAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_PGUP, KC_END, KC_DQUO, KC_TRNS,
     KC_TRNS, RGB_HUI, RGB_HUD, RGB_VAI, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PIPE, KC_TRNS,
     KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL,  KC_TRNS, KC_TRNS,  KC_TRNS, KC_TRNS
   ),
-  [3] = KEYMAP(
+  [3] = LAYOUT(
     KC_TRNS, KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,   KC_F6,   KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_TRNS, RESET,
     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, KC_TRNS, BL_INC,  BL_DEC,  KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
diff --git a/keyboards/pearl/keymaps/phil/keymap.c b/keyboards/pearl/keymaps/phil/keymap.c
index a28fecd26217..80a39dd2ad64 100755
--- a/keyboards/pearl/keymaps/phil/keymap.c
+++ b/keyboards/pearl/keymaps/phil/keymap.c
@@ -23,40 +23,40 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #define _FN2 4
 #define LIGHT 5
 
-#include "pearl.h"
+#include QMK_KEYBOARD_H
 
 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-  [COLEMAK] = KEYMAP(
+  [COLEMAK] = LAYOUT(
       KC_TAB,           KC_Q,    KC_W,    KC_F,    KC_P,   KC_G,   KC_J,   KC_L,   KC_U,    KC_Y,    KC_SCLN,  KC_NO, KC_BSPC,
       LGUI_T(KC_ESC),   KC_A,    KC_R,    KC_S,    KC_T,   KC_D,   KC_H,   KC_N,   KC_E,    KC_I,    KC_O,     KC_QUOT,
       LSFT_T(KC_DEL),   KC_Z,    KC_X,    KC_C,    KC_V,   KC_B,   KC_K,   KC_M,   KC_COMM, KC_DOT,  KC_SLSH,  RSFT_T(KC_ENT),
       KC_LCTL,          KC_LGUI, KC_LALT,    LT(_FN1, KC_SPC),    KC_NO,        LT(_FN2, KC_SPC), TG(QWERTY),  TG(WIN)
       ),
-  [QWERTY] = KEYMAP(
+  [QWERTY] = LAYOUT(
       KC_TRNS,   KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I,    KC_O,   KC_P,    KC_NO, KC_TRNS,
       KC_TRNS,   KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K,    KC_L,   KC_SCLN, KC_TRNS,
       KC_TRNS,   KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_TRNS,
       KC_TRNS,          KC_TRNS, KC_TRNS,    KC_TRNS,    KC_NO,        KC_TRNS, KC_TRNS,  KC_TRNS
       ),
-  [WIN] = KEYMAP(
+  [WIN] = LAYOUT(
       KC_TRNS,        KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO,  KC_TRNS,
       LCTL_T(KC_ESC), 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_LGUI, KC_LALT, KC_LCTL, KC_TRNS, KC_NO,  KC_TRNS,  KC_TRNS,  KC_TRNS
       ),
-  [_FN1] = KEYMAP(
+  [_FN1] = LAYOUT(
       KC_GRV,  KC_MNXT, KC_NO, KC_PIPE, KC_PLUS,  KC_LBRC, KC_RBRC, KC_HOME, KC_UP,   KC_END,  KC_PGUP,   KC_NO,  KC_TRNS,
       KC_TRNS, KC_MPLY, KC_SPC, KC_UNDS, KC_EQUAL, KC_LPRN, KC_RPRN, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDOWN, KC_TRNS,
       KC_TRNS, KC_MPRV, KC_NO, KC_BSLS, KC_MINUS, KC_LCBR, KC_RCBR, KC_NO,   KC_MUTE, KC_VOLU, KC_VOLD,   KC_CAPS,
       KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO,  KC_TRNS,  KC_TRNS,  KC_TRNS
       ),
-  [_FN2] = KEYMAP(
+  [_FN2] = LAYOUT(
       KC_TILD,   KC_EXLM, KC_AT,   KC_HASH, KC_DLR,  KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LBRC, KC_RBRC, KC_NO,  KC_TRNS,
       KC_TRNS,   KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_TRNS,
       KC_TRNS,   KC_NO,   KC_NO,   KC_NO,   KC_NO,   KC_NO,   KC_NO,   KC_F9,   KC_F10,  KC_F11,  KC_F12,  KC_CAPS,
       TG(LIGHT), KC_TRNS, KC_TRNS, KC_TRNS, KC_NO,  KC_TRNS,  KC_TRNS,  KC_TRNS
       ),
-  [LIGHT] = KEYMAP(
+  [LIGHT] = LAYOUT(
       RESET, KC_NO,  BL_ON,   BL_INC,  BL_BRTG, RGB_M_P,  RGB_M_B, RGB_MOD,  RGB_HUI,  RGB_SAI, RGB_VAI, KC_NO,  KC_NO,
       KC_NO, KC_NO,  BL_TOGG, BL_STEP, KC_NO,   RGB_M_SN, RGB_M_K, RGB_TOG,  RGB_HUD,  RGB_SAD, RGB_VAD, KC_NO,
       KC_NO, KC_NO,  BL_OFF,  BL_DEC,  KC_NO,   KC_NO,    KC_NO,   RGB_RMOD, RGB_M_SW, RGB_M_R, RGB_M_G, KC_NO,
diff --git a/keyboards/pearl/keymaps/rask/keymap.c b/keyboards/pearl/keymaps/rask/keymap.c
index b9f1350939b8..ae633f45d8ab 100644
--- a/keyboards/pearl/keymaps/rask/keymap.c
+++ b/keyboards/pearl/keymaps/rask/keymap.c
@@ -1,38 +1,38 @@
-#include "pearl.h"
+#include QMK_KEYBOARD_H
 
 #define ____ KC_TRNS
 
 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
     // BASE LAYER
-    [0] = KEYMAP(
+    [0] = LAYOUT(
         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,
         MO(2),      KC_A,       KC_S,       KC_D,       KC_F,   KC_G,   KC_H,   KC_J,   KC_K,       KC_L,   KC_SCLN,                KC_ENT,
         KC_LSFT,    KC_Z,       KC_X,       KC_C,       KC_V,   KC_B,   KC_N,   KC_M,   KC_COMM,    KC_DOT, KC_SLSH,                MO(3),
                     KC_LCTL,    KC_LALT,    KC_BSPC,    MO(1),          MO(1),          KC_SPC,     KC_RALT,            KC_LGUI
     ),
     // BASE LAYER TWO (Fn1)
-    [1] = KEYMAP(
+    [1] = LAYOUT(
         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_QUOT,                KC_BSLS,
         ____,       ____,       ____,       ____,       ____,   ____,   ____,   ____,   ____,       ____,   ____,                   KC_RSFT,
                     ____,       ____,       ____,       ____,           ____,           ____,       ____,               ____
     ),
     // FROW LAYER AND ARROWS (Fn2)
-    [2] = KEYMAP(
+    [2] = LAYOUT(
         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_UP,  ____,                   ____,
         ____,       ____,       ____,       ____,       ____,   ____,   ____,   ____,   KC_LEFT,    KC_DOWN,KC_RGHT,                MO(4),
                     ____,       ____,       ____,       ____,           ____,           ____,       ____,               ____
     ),
     // MEDIA AND RGB (Fn3)
-    [3] = KEYMAP(
+    [3] = LAYOUT(
         ____,       ____,       ____,       ____,       ____,   ____,   ____,   ____,   ____,       KC_MPRV,KC_MPLY,    KC_MNXT,    KC_DEL,
         ____,       ____,       ____,       RGB_HUI,    RGB_SAI,RGB_VAI,____,   ____,   ____,       ____,   ____,                   ____,
         ____,       RGB_MOD,    RGB_TOG,    RGB_HUD,    RGB_SAD,RGB_VAD,____,   ____,   ____,       ____,   ____,                   ____,
                     ____,       ____,       ____,       ____,           ____,           ____,       ____,               ____
     ),
     // UTIL (Fn1+Fn3)
-    [4] = KEYMAP(
+    [4] = LAYOUT(
         ____,       ____,       ____,       ____,       ____,   ____,   ____,   ____,   ____,       ____,   ____,       KC_PSCR,    ____,
         ____,       ____,       ____,       ____,       ____,   ____,   ____,   ____,   ____,       KC_PGUP,____,                   ____,
         ____,       ____,       ____,       ____,       ____,   ____,   ____,   ____,   KC_HOME,    KC_PGDN,KC_END,                 ____,
diff --git a/keyboards/pearl/pearl.h b/keyboards/pearl/pearl.h
index 4ead4cedf91e..4c3f0cb6fe1c 100644
--- a/keyboards/pearl/pearl.h
+++ b/keyboards/pearl/pearl.h
@@ -21,7 +21,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #include "quantum.h"
 #include "pearl.h"
 
-#define KEYMAP( \
+#define LAYOUT( \
   K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C,\
    K10,  K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A,  K1B, \
     K20,  K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B,\