summary refs log tree commit diff
path: root/keyboards
diff options
context:
space:
mode:
authorRyan <fauxpark@gmail.com>2023-05-02 10:10:55 +1000
committerGitHub <noreply@github.com>2023-05-02 10:10:55 +1000
commit4b1ec081d4acb72cd32911605ea985bd0ef6cb2e (patch)
tree765c478930e583e33802d6d2c1944f3164419f5e /keyboards
parent50a8287f34d6635c40bbefc62a0f857235c2e0bf (diff)
LFK87 refactor (#20635)
Diffstat (limited to 'keyboards')
-rw-r--r--keyboards/lfkeyboards/lfk87/config.h20
-rw-r--r--keyboards/lfkeyboards/lfk87/info.json10
-rw-r--r--keyboards/lfkeyboards/lfk87/keymaps/ca178858/rules.mk19
-rw-r--r--keyboards/lfkeyboards/lfk87/keymaps/default/rules.mk20
-rw-r--r--keyboards/lfkeyboards/lfk87/keymaps/gbchk/rules.mk18
-rw-r--r--keyboards/lfkeyboards/lfk87/keymaps/iso/rules.mk19
-rw-r--r--keyboards/lfkeyboards/lfk87/lfk87.h77
-rw-r--r--keyboards/lfkeyboards/lfk87/post_rules.mk6
-rw-r--r--keyboards/lfkeyboards/lfk87/reva/info.json223
-rw-r--r--keyboards/lfkeyboards/lfk87/reva/rules.mk0
-rw-r--r--keyboards/lfkeyboards/lfk87/revc/info.json223
-rw-r--r--keyboards/lfkeyboards/lfk87/revc/rules.mk0
-rw-r--r--keyboards/lfkeyboards/lfk87/rules.mk18
13 files changed, 453 insertions, 200 deletions
diff --git a/keyboards/lfkeyboards/lfk87/config.h b/keyboards/lfkeyboards/lfk87/config.h
index 7d583ed3ea..3a8f16e0fd 100644
--- a/keyboards/lfkeyboards/lfk87/config.h
+++ b/keyboards/lfkeyboards/lfk87/config.h
@@ -17,26 +17,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #pragma once
 
-
-#define DIODE_DIRECTION COL2ROW
-
-#ifdef LFK_TKL_REV_A
-/* RevB Matrix config */
-    #define MATRIX_ROWS 6
-    #define MATRIX_COLS 17
-    #define MATRIX_ROW_PINS {D2, D3, D4, D5, D6, D7 }
-    #define MATRIX_COL_PINS {A0, A1, A2, A3, A4, A5, A6, A7, E6, E7,\
-                             F0, F1, F2, F3, C0, C1, C2 }
-    #define RGBLED_NUM 25     // Number of LEDs
-#else
-/* RevC/D Matrix config */
-    #define MATRIX_ROWS 7
-    #define MATRIX_COLS 16
-    #define MATRIX_ROW_PINS {F2, D7, D6, D5, D4, D3, F3}
-    #define MATRIX_COL_PINS {A0, A1, A2, A3, A4, A5, A6, A7, C7, C1, C0, E1, E0, C2, C3, C4}
-    #define RGBLED_NUM 24     // Number of LEDs
-#endif
-
 #define AUDIO_VOICES
 #define AUDIO_PIN C6
 
diff --git a/keyboards/lfkeyboards/lfk87/info.json b/keyboards/lfkeyboards/lfk87/info.json
index be984e0eea..d76ee0c693 100644
--- a/keyboards/lfkeyboards/lfk87/info.json
+++ b/keyboards/lfkeyboards/lfk87/info.json
@@ -15,13 +15,5 @@
   "ws2812": {
     "pin": "F4"
   },
-  "community_layouts": ["tkl_ansi", "tkl_iso"],
-  "layouts": {
-    "LAYOUT_tkl_ansi": {
-      "layout": [{"label":"Esc", "x":0, "y":0}, {"label":"F1", "x":2, "y":0}, {"label":"F2", "x":3, "y":0}, {"label":"F3", "x":4, "y":0}, {"label":"F4", "x":5, "y":0}, {"label":"F5", "x":6.5, "y":0}, {"label":"F6", "x":7.5, "y":0}, {"label":"F7", "x":8.5, "y":0}, {"label":"F8", "x":9.5, "y":0}, {"label":"F9", "x":11, "y":0}, {"label":"F10", "x":12, "y":0}, {"label":"F11", "x":13, "y":0}, {"label":"F12", "x":14, "y":0}, {"label":"PrtSc", "x":15.25, "y":0}, {"label":"Scroll Lock", "x":16.25, "y":0}, {"label":"Pause", "x":17.25, "y":0}, {"label":"~", "x":0, "y":1.5}, {"label":"!", "x":1, "y":1.5}, {"label":"@", "x":2, "y":1.5}, {"label":"#", "x":3, "y":1.5}, {"label":"$", "x":4, "y":1.5}, {"label":"%", "x":5, "y":1.5}, {"label":"^", "x":6, "y":1.5}, {"label":"&", "x":7, "y":1.5}, {"label":"*", "x":8, "y":1.5}, {"label":"(", "x":9, "y":1.5}, {"label":")", "x":10, "y":1.5}, {"label":"_", "x":11, "y":1.5}, {"label":"+", "x":12, "y":1.5}, {"label":"Backspace", "x":13, "y":1.5, "w":2}, {"label":"Insert", "x":15.25, "y":1.5}, {"label":"Home", "x":16.25, "y":1.5}, {"label":"PgUp", "x":17.25, "y":1.5}, {"label":"Tab", "x":0, "y":2.5, "w":1.5}, {"label":"Q", "x":1.5, "y":2.5}, {"label":"W", "x":2.5, "y":2.5}, {"label":"E", "x":3.5, "y":2.5}, {"label":"R", "x":4.5, "y":2.5}, {"label":"T", "x":5.5, "y":2.5}, {"label":"Y", "x":6.5, "y":2.5}, {"label":"U", "x":7.5, "y":2.5}, {"label":"I", "x":8.5, "y":2.5}, {"label":"O", "x":9.5, "y":2.5}, {"label":"P", "x":10.5, "y":2.5}, {"label":"{", "x":11.5, "y":2.5}, {"label":"}", "x":12.5, "y":2.5}, {"label":"|", "x":13.5, "y":2.5, "w":1.5}, {"label":"Delete", "x":15.25, "y":2.5}, {"label":"End", "x":16.25, "y":2.5}, {"label":"PgDn", "x":17.25, "y":2.5}, {"label":"Caps Lock", "x":0, "y":3.5, "w":1.75}, {"label":"A", "x":1.75, "y":3.5}, {"label":"S", "x":2.75, "y":3.5}, {"label":"D", "x":3.75, "y":3.5}, {"label":"F", "x":4.75, "y":3.5}, {"label":"G", "x":5.75, "y":3.5}, {"label":"H", "x":6.75, "y":3.5}, {"label":"J", "x":7.75, "y":3.5}, {"label":"K", "x":8.75, "y":3.5}, {"label":"L", "x":9.75, "y":3.5}, {"label":":", "x":10.75, "y":3.5}, {"label":"\"", "x":11.75, "y":3.5}, {"label":"Enter", "x":12.75, "y":3.5, "w":2.25}, {"label":"Shift", "x":0, "y":4.5, "w":2.25}, {"label":"Z", "x":2.25, "y":4.5}, {"label":"X", "x":3.25, "y":4.5}, {"label":"C", "x":4.25, "y":4.5}, {"label":"V", "x":5.25, "y":4.5}, {"label":"B", "x":6.25, "y":4.5}, {"label":"N", "x":7.25, "y":4.5}, {"label":"M", "x":8.25, "y":4.5}, {"label":"<", "x":9.25, "y":4.5}, {"label":">", "x":10.25, "y":4.5}, {"label":"?", "x":11.25, "y":4.5}, {"label":"Shift", "x":12.25, "y":4.5, "w":2.75}, {"label":"\u2191", "x":16.25, "y":4.5}, {"label":"Ctrl", "x":0, "y":5.5, "w":1.25}, {"label":"Win", "x":1.25, "y":5.5, "w":1.25}, {"label":"Alt", "x":2.5, "y":5.5, "w":1.25}, {"x":3.75, "y":5.5, "w":6.25}, {"label":"Alt", "x":10, "y":5.5, "w":1.25}, {"label":"Win", "x":11.25, "y":5.5, "w":1.25}, {"label":"Menu", "x":12.5, "y":5.5, "w":1.25}, {"label":"Ctrl", "x":13.75, "y":5.5, "w":1.25}, {"label":"\u2190", "x":15.25, "y":5.5}, {"label":"\u2193", "x":16.25, "y":5.5}, {"label":"\u2192", "x":17.25, "y":5.5}]
-    },
-    "LAYOUT_tkl_iso": {
-      "layout": [{"label":"Esc", "x":0, "y":0}, {"label":"F1", "x":2, "y":0}, {"label":"F2", "x":3, "y":0}, {"label":"F3", "x":4, "y":0}, {"label":"F4", "x":5, "y":0}, {"label":"F5", "x":6.5, "y":0}, {"label":"F6", "x":7.5, "y":0}, {"label":"F7", "x":8.5, "y":0}, {"label":"F8", "x":9.5, "y":0}, {"label":"F9", "x":11, "y":0}, {"label":"F10", "x":12, "y":0}, {"label":"F11", "x":13, "y":0}, {"label":"F12", "x":14, "y":0}, {"label":"PrtSc", "x":15.25, "y":0}, {"label":"Scroll Lock", "x":16.25, "y":0}, {"label":"Pause", "x":17.25, "y":0}, {"label":"\u00ac", "x":0, "y":1.5}, {"label":"!", "x":1, "y":1.5}, {"label":"\"", "x":2, "y":1.5}, {"label":"\u00a3", "x":3, "y":1.5}, {"label":"$", "x":4, "y":1.5}, {"label":"%", "x":5, "y":1.5}, {"label":"^", "x":6, "y":1.5}, {"label":"&", "x":7, "y":1.5}, {"label":"*", "x":8, "y":1.5}, {"label":"(", "x":9, "y":1.5}, {"label":")", "x":10, "y":1.5}, {"label":"_", "x":11, "y":1.5}, {"label":"+", "x":12, "y":1.5}, {"label":"Backspace", "x":13, "y":1.5, "w":2}, {"label":"Insert", "x":15.25, "y":1.5}, {"label":"Home", "x":16.25, "y":1.5}, {"label":"PgUp", "x":17.25, "y":1.5}, {"label":"Tab", "x":0, "y":2.5, "w":1.5}, {"label":"Q", "x":1.5, "y":2.5}, {"label":"W", "x":2.5, "y":2.5}, {"label":"E", "x":3.5, "y":2.5}, {"label":"R", "x":4.5, "y":2.5}, {"label":"T", "x":5.5, "y":2.5}, {"label":"Y", "x":6.5, "y":2.5}, {"label":"U", "x":7.5, "y":2.5}, {"label":"I", "x":8.5, "y":2.5}, {"label":"O", "x":9.5, "y":2.5}, {"label":"P", "x":10.5, "y":2.5}, {"label":"{", "x":11.5, "y":2.5}, {"label":"}", "x":12.5, "y":2.5}, {"label":"Delete", "x":15.25, "y":2.5}, {"label":"End", "x":16.25, "y":2.5}, {"label":"PgDn", "x":17.25, "y":2.5}, {"label":"Caps Lock", "x":0, "y":3.5, "w":1.75}, {"label":"A", "x":1.75, "y":3.5}, {"label":"S", "x":2.75, "y":3.5}, {"label":"D", "x":3.75, "y":3.5}, {"label":"F", "x":4.75, "y":3.5}, {"label":"G", "x":5.75, "y":3.5}, {"label":"H", "x":6.75, "y":3.5}, {"label":"J", "x":7.75, "y":3.5}, {"label":"K", "x":8.75, "y":3.5}, {"label":"L", "x":9.75, "y":3.5}, {"label":":", "x":10.75, "y":3.5}, {"label":"@", "x":11.75, "y":3.5}, {"label":"~", "x":12.75, "y":3.5}, {"label":"Enter", "x":13.75, "y":2.5, "w":1.25, "h":2}, {"label":"Shift", "x":0, "y":4.5, "w":1.25}, {"label":"|", "x":1.25, "y":4.5}, {"label":"Z", "x":2.25, "y":4.5}, {"label":"X", "x":3.25, "y":4.5}, {"label":"C", "x":4.25, "y":4.5}, {"label":"V", "x":5.25, "y":4.5}, {"label":"B", "x":6.25, "y":4.5}, {"label":"N", "x":7.25, "y":4.5}, {"label":"M", "x":8.25, "y":4.5}, {"label":"<", "x":9.25, "y":4.5}, {"label":">", "x":10.25, "y":4.5}, {"label":"?", "x":11.25, "y":4.5}, {"label":"Shift", "x":12.25, "y":4.5, "w":2.75}, {"label":"\u2191", "x":16.25, "y":4.5}, {"label":"Ctrl", "x":0, "y":5.5, "w":1.25}, {"label":"Win", "x":1.25, "y":5.5, "w":1.25}, {"label":"Alt", "x":2.5, "y":5.5, "w":1.25}, {"x":3.75, "y":5.5, "w":6.25}, {"label":"AltGr", "x":10, "y":5.5, "w":1.25}, {"label":"Win", "x":11.25, "y":5.5, "w":1.25}, {"label":"Menu", "x":12.5, "y":5.5, "w":1.25}, {"label":"Ctrl", "x":13.75, "y":5.5, "w":1.25}, {"label":"\u2190", "x":15.25, "y":5.5}, {"label":"\u2193", "x":16.25, "y":5.5}, {"label":"\u2192", "x":17.25, "y":5.5}]
-    }
-  }
+  "community_layouts": ["tkl_ansi", "tkl_iso"]
 }
diff --git a/keyboards/lfkeyboards/lfk87/keymaps/ca178858/rules.mk b/keyboards/lfkeyboards/lfk87/keymaps/ca178858/rules.mk
index 567232cb76..ab5bc0930d 100644
--- a/keyboards/lfkeyboards/lfk87/keymaps/ca178858/rules.mk
+++ b/keyboards/lfkeyboards/lfk87/keymaps/ca178858/rules.mk
@@ -16,22 +16,3 @@ TAP_DANCE_ENABLE = yes
 
 ISSI_ENABLE = yes			# If the I2C pullup resistors aren't install this must be disabled
 WATCHDOG_ENABLE = yes		# Resets keyboard if matrix_scan isn't run every 250ms
-
-
-
-
-# # Set the LFK78 hardware version. This is defined in rules.mk, but can be overidden here if desired
-# #
-# # RevB - first public release, uses atmega32u4, has audio, ISSI matrix split between RGB and backlight
-# # RevC/D - at90usb1286, no audio, ISSI device 0 is backlight, 4 is RGB
-# #
-# # Set to B, C or D
-# LFK_REV = D
-
-# ifeq ($(LFK_REV), B)
-# 	MCU = atmega32u4
-# else
-# 	MCU = at90usb1286
-# endif
-# OPT_DEFS += -DLFK_REV_$(LFK_REV)
-# OPT_DEFS += -DUSB_PRODUCT=\"LFK_Rev$(LFK_REV)\"
diff --git a/keyboards/lfkeyboards/lfk87/keymaps/default/rules.mk b/keyboards/lfkeyboards/lfk87/keymaps/default/rules.mk
index 99a3287521..9babefffc8 100644
--- a/keyboards/lfkeyboards/lfk87/keymaps/default/rules.mk
+++ b/keyboards/lfkeyboards/lfk87/keymaps/default/rules.mk
@@ -12,23 +12,3 @@ SLEEP_LED_ENABLE = yes
 
 ISSI_ENABLE = yes			# If the I2C pullup resistors aren't install this must be disabled
 WATCHDOG_ENABLE = no		# Resets keyboard if matrix_scan isn't run every 250ms
-
-
-
-
-# Override the LFK87 hardware version.
-#
-# A - Green PCB. at90usb1286 Only 3 exist
-# B - We don't talk about RevB
-# C-D - Black PCB. at90usb646 First public release
-#
-# LFK_REV = C
-
-# ifeq ($(LFK_REV), A)
-# 	MCU = at90usb1286
-# 	OPT_DEFS += -DBOOTLOADER_SIZE=8192
-# else
-# 	MCU = at90usb646
-# 	OPT_DEFS += -DBOOTLOADER_SIZE=4096
-# endif
-# OPT_DEFS += -DLFK_TKL_REV_$(LFK_REV)
diff --git a/keyboards/lfkeyboards/lfk87/keymaps/gbchk/rules.mk b/keyboards/lfkeyboards/lfk87/keymaps/gbchk/rules.mk
index fc0be15230..9a6b4ff65a 100644
--- a/keyboards/lfkeyboards/lfk87/keymaps/gbchk/rules.mk
+++ b/keyboards/lfkeyboards/lfk87/keymaps/gbchk/rules.mk
@@ -15,21 +15,3 @@ SLEEP_LED_ENABLE = yes
 
 ISSI_ENABLE = yes			# If the I2C pullup resistors aren't install this must be disabled
 WATCHDOG_ENABLE = no		# Resets keyboard if matrix_scan isn't run every 250ms
-
-
-# Override the LFK87 hardware version.
-#
-# A - Green PCB. at90usb1286 Only 3 exist
-# B - We don't talk about RevB
-# C-D - Black PCB. at90usb646 First public release
-#
-# LFK_REV = C
-
-# ifeq ($(LFK_REV), A)
-# 	MCU = at90usb1286
-# 	OPT_DEFS += -DBOOTLOADER_SIZE=8192
-# else
-# 	MCU = at90usb646
-# 	OPT_DEFS += -DBOOTLOADER_SIZE=4096
-# endif
-# OPT_DEFS += -DLFK_TKL_REV_$(LFK_REV)
diff --git a/keyboards/lfkeyboards/lfk87/keymaps/iso/rules.mk b/keyboards/lfkeyboards/lfk87/keymaps/iso/rules.mk
index 4325b35d11..0e7008aa20 100644
--- a/keyboards/lfkeyboards/lfk87/keymaps/iso/rules.mk
+++ b/keyboards/lfkeyboards/lfk87/keymaps/iso/rules.mk
@@ -12,22 +12,3 @@ SLEEP_LED_ENABLE = yes
 
 ISSI_ENABLE = yes               # If the I2C pullup resistors aren't install this must be disabled
 WATCHDOG_ENABLE = no           # Resets keyboard if matrix_scan isn't run every 250ms
-
-
-
-
-# # Set the LFK78 hardware version. This is defined in rules.mk, but can be overidden here if desired
-# #
-# # RevB - first public release, uses atmega32u4, has audio, ISSI matrix split between RGB and backlight
-# # RevC/D - at90usb1286, no audio, ISSI device 0 is backlight, 4 is RGB
-# #
-# # Set to B, C or D
-# LFK_REV = D
-
-# ifeq ($(LFK_REV), B)
-# 	MCU = atmega32u4
-# else
-# 	MCU = at90usb1286
-# endif
-# OPT_DEFS += -DLFK_REV_$(LFK_REV)
-# OPT_DEFS += -DUSB_PRODUCT=\"LFK_Rev$(LFK_REV)\"
diff --git a/keyboards/lfkeyboards/lfk87/lfk87.h b/keyboards/lfkeyboards/lfk87/lfk87.h
index 5bd353a89e..d34bbfd688 100644
--- a/keyboards/lfkeyboards/lfk87/lfk87.h
+++ b/keyboards/lfkeyboards/lfk87/lfk87.h
@@ -1,5 +1,6 @@
 #pragma once
 
+#include QMK_KEYBOARD_H
 #include "quantum.h"
 #include "matrix.h"
 #include <avr/sfr_defs.h>
@@ -25,79 +26,3 @@ extern const Layer_Info layer_info[];
 
 void reset_keyboard_kb(void);
 void click(uint16_t freq, uint16_t duration);
-
-#define ___ KC_NO
-
-#ifdef LFK_TKL_REV_A
-#    ifndef LAYOUT_tkl_ansi
-#        define LAYOUT_tkl_ansi( \
-    k00,       k02, k03, k04, k05,    k06, k07, k08, k09,    k0A, k0B, k0C, k0D,   k0E, k0F, k0G, \
-    k10,  k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C,       k1D,   k1E, k1F, k1G, \
-    k20,    k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C,     k2D,   k2E, k2F, k2G, \
-    k30,     k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B,         k3C, \
-    k40,      k42, k43, k44, k45, k46, k47, k48, k49, k4A, k4B,             k4C,        k4F, \
-    k50,   k51,   k52,                 k56,            k5A,   k5B,   k5C,   k5D,   k5E, k5F, k5G \
-) { \
-    { k00, ___, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E, k0F, k0G }, \
-    { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1E, k1F, k1G }, \
-    { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, k2E, k2F, k2G }, \
-    { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, ___, ___, ___, ___ }, \
-    { k40, ___, k42, k43, k44, k45, k46, k47, k48, k49, k4A, k4B, k4C, ___, ___, k4F, ___ }, \
-    { k50, k51, k52, ___, ___, ___, k56, ___, ___, ___, k5A, k5B, k5C, k5D, k5E, k5F, k5G } \
-}
-    #endif // !LAYOUT_tkl_ansi
-#    ifndef LAYOUT_tkl_iso
-#        define LAYOUT_tkl_iso( \
-    k00,       k02, k03, k04, k05,    k06, k07, k08, k09,    k0A, k0B, k0C, k0D,   k0E, k0F, k0G, \
-    k10,  k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C,       k1D,   k1E, k1F, k1G, \
-    k20,    k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C,            k2E, k2F, k2G, \
-    k30,     k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C,    k2D, \
-    k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4A, k4B,             k4C,        k4F, \
-    k50,   k51,   k52,                 k56,            k5A,   k5B,   k5C,   k5D,   k5E, k5F, k5G \
-) { \
-    { k00, ___, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E, k0F, k0G }, \
-    { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1E, k1F, k1G }, \
-    { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, k2E, k2F, k2G }, \
-    { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, ___, ___, ___, ___ }, \
-    { k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4A, k4B, k4C, ___, ___, k4F, ___ }, \
-    { k50, k51, k52, ___, ___, ___, k56, ___, ___, ___, k5A, k5B, k5C, k5D, k5E, k5F, k5G } \
-}
-#    endif // !LAYOUT_tkl_iso
-#else  // RevC+ keymaps
-#    ifndef LAYOUT_tkl_ansi
-#        define LAYOUT_tkl_ansi( \
-    k60,       k00, k01, k02, k03,    k04, k05, k06, k07,    k08, k09, k0A, k0B,   k0D, k0E, k0F, \
-    k61,  k62, k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A,       k1B,   k1D, k1E, k1F, \
-    k63,    k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B,     k2C,   k2D, k2E, k2F, \
-    k50,     k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A,         k3B, \
-    k51,      k41, k42, k43, k44, k45, k46, k47, k48, k49, k4A,             k4B,        k4E, \
-    k52,   k53,   k54,                 k56,            k59,   k5A,   k5B,   k5C,   k5D, k5E, k5F \
-) { \
-    { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, ___, k0D, k0E, k0F }, \
-    { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, ___, k1D, k1E, k1F }, \
-    { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, k2E, k2F }, \
-    { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, ___, ___, ___, ___ }, \
-    { ___, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4A, k4B, ___, ___, k4E, ___ }, \
-    { k50, k51, k52, k53, k54, ___, k56, ___, ___, k59, k5A, k5B, k5C, k5D, k5E, k5F }, \
-    { k60, k61, k62, k63, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___ } \
-}
-#    endif // !LAYOUT_tkl_ansi
-#    ifndef LAYOUT_tkl_iso
-#        define LAYOUT_tkl_iso( \
-    k60,       k00, k01, k02, k03,    k04, k05, k06, k07,    k08, k09, k0A, k0B,   k0D, k0E, k0F, \
-    k61,  k62, k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A,       k1B,   k1D, k1E, k1F, \
-    k63,    k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B,            k2D, k2E, k2F, \
-    k50,     k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B,    k2C, \
-    k51, k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4A,             k4B,        k4E, \
-    k52,   k53,   k54,                 k56,            k59,   k5A,   k5B,   k5C,   k5D, k5E, k5F \
-) { \
-    { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, ___, k0D, k0E, k0F }, \
-    { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, ___, k1D, k1E, k1F }, \
-    { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, k2E, k2F }, \
-    { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, ___, ___, ___, ___ }, \
-    { k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4A, k4B, ___, ___, k4E, ___ }, \
-    { k50, k51, k52, k53, k54, ___, k56, ___, ___, k59, k5A, k5B, k5C, k5D, k5E, k5F }, \
-    { k60, k61, k62, k63, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___ } \
-}
-#    endif // !LAYOUT_tkl_iso
-#endif //Rev
diff --git a/keyboards/lfkeyboards/lfk87/post_rules.mk b/keyboards/lfkeyboards/lfk87/post_rules.mk
index 563462dd99..044d9754f1 100644
--- a/keyboards/lfkeyboards/lfk87/post_rules.mk
+++ b/keyboards/lfkeyboards/lfk87/post_rules.mk
@@ -1,9 +1,3 @@
-ifeq ($(LFK_REV), A)
-    MCU = at90usb1286
-else
-    MCU = at90usb646
-endif
-
 ifeq ($(strip $(ISSI_ENABLE)), yes)
     OPT_DEFS += -DISSI_ENABLE
 endif
diff --git a/keyboards/lfkeyboards/lfk87/reva/info.json b/keyboards/lfkeyboards/lfk87/reva/info.json
new file mode 100644
index 0000000000..457f3602ab
--- /dev/null
+++ b/keyboards/lfkeyboards/lfk87/reva/info.json
@@ -0,0 +1,223 @@
+{
+    "processor": "at90usb1286",
+    "bootloader": "atmel-dfu",
+    "matrix_pins": {
+        "cols": ["A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "E6", "E7", "F0", "F1", "F2", "F3", "C0", "C1", "C2"],
+        "rows": ["D2", "D3", "D4", "D5", "D6", "D7"]
+    },
+    "diode_direction": "COL2ROW",
+    "rgblight": {
+        "led_count": 25
+    },
+    "layouts": {
+        "LAYOUT_tkl_ansi": {
+            "layout": [
+                {"matrix": [0, 0], "x": 0, "y": 0},
+
+                {"matrix": [0, 2], "x": 2, "y": 0},
+                {"matrix": [0, 3], "x": 3, "y": 0},
+                {"matrix": [0, 4], "x": 4, "y": 0},
+                {"matrix": [0, 5], "x": 5, "y": 0},
+
+                {"matrix": [0, 6], "x": 6.5, "y": 0},
+                {"matrix": [0, 7], "x": 7.5, "y": 0},
+                {"matrix": [0, 8], "x": 8.5, "y": 0},
+                {"matrix": [0, 9], "x": 9.5, "y": 0},
+
+                {"matrix": [0, 10], "x": 11, "y": 0},
+                {"matrix": [0, 11], "x": 12, "y": 0},
+                {"matrix": [0, 12], "x": 13, "y": 0},
+                {"matrix": [0, 13], "x": 14, "y": 0},
+
+                {"matrix": [0, 14], "x": 15.25, "y": 0},
+                {"matrix": [0, 15], "x": 16.25, "y": 0},
+                {"matrix": [0, 16], "x": 17.25, "y": 0},
+
+                {"matrix": [1, 0], "x": 0, "y": 1.5},
+                {"matrix": [1, 1], "x": 1, "y": 1.5},
+                {"matrix": [1, 2], "x": 2, "y": 1.5},
+                {"matrix": [1, 3], "x": 3, "y": 1.5},
+                {"matrix": [1, 4], "x": 4, "y": 1.5},
+                {"matrix": [1, 5], "x": 5, "y": 1.5},
+                {"matrix": [1, 6], "x": 6, "y": 1.5},
+                {"matrix": [1, 7], "x": 7, "y": 1.5},
+                {"matrix": [1, 8], "x": 8, "y": 1.5},
+                {"matrix": [1, 9], "x": 9, "y": 1.5},
+                {"matrix": [1, 10], "x": 10, "y": 1.5},
+                {"matrix": [1, 11], "x": 11, "y": 1.5},
+                {"matrix": [1, 12], "x": 12, "y": 1.5},
+                {"matrix": [1, 13], "x": 13, "y": 1.5, "w": 2},
+
+                {"matrix": [1, 14], "x": 15.25, "y": 1.5},
+                {"matrix": [1, 15], "x": 16.25, "y": 1.5},
+                {"matrix": [1, 16], "x": 17.25, "y": 1.5},
+
+                {"matrix": [2, 0], "x": 0, "y": 2.5, "w": 1.5},
+                {"matrix": [2, 1], "x": 1.5, "y": 2.5},
+                {"matrix": [2, 2], "x": 2.5, "y": 2.5},
+                {"matrix": [2, 3], "x": 3.5, "y": 2.5},
+                {"matrix": [2, 4], "x": 4.5, "y": 2.5},
+                {"matrix": [2, 5], "x": 5.5, "y": 2.5},
+                {"matrix": [2, 6], "x": 6.5, "y": 2.5},
+                {"matrix": [2, 7], "x": 7.5, "y": 2.5},
+                {"matrix": [2, 8], "x": 8.5, "y": 2.5},
+                {"matrix": [2, 9], "x": 9.5, "y": 2.5},
+                {"matrix": [2, 10], "x": 10.5, "y": 2.5},
+                {"matrix": [2, 11], "x": 11.5, "y": 2.5},
+                {"matrix": [2, 12], "x": 12.5, "y": 2.5},
+                {"matrix": [2, 13], "x": 13.5, "y": 2.5, "w": 1.5},
+
+                {"matrix": [2, 14], "x": 15.25, "y": 2.5},
+                {"matrix": [2, 15], "x": 16.25, "y": 2.5},
+                {"matrix": [2, 16], "x": 17.25, "y": 2.5},
+
+                {"matrix": [3, 0], "x": 0, "y": 3.5, "w": 1.75},
+                {"matrix": [3, 1], "x": 1.75, "y": 3.5},
+                {"matrix": [3, 2], "x": 2.75, "y": 3.5},
+                {"matrix": [3, 3], "x": 3.75, "y": 3.5},
+                {"matrix": [3, 4], "x": 4.75, "y": 3.5},
+                {"matrix": [3, 5], "x": 5.75, "y": 3.5},
+                {"matrix": [3, 6], "x": 6.75, "y": 3.5},
+                {"matrix": [3, 7], "x": 7.75, "y": 3.5},
+                {"matrix": [3, 8], "x": 8.75, "y": 3.5},
+                {"matrix": [3, 9], "x": 9.75, "y": 3.5},
+                {"matrix": [3, 10], "x": 10.75, "y": 3.5},
+                {"matrix": [3, 11], "x": 11.75, "y": 3.5},
+                {"matrix": [3, 12], "x": 12.75, "y": 3.5, "w": 2.25},
+
+                {"matrix": [4, 0], "x": 0, "y": 4.5, "w": 2.25},
+                {"matrix": [4, 2], "x": 2.25, "y": 4.5},
+                {"matrix": [4, 3], "x": 3.25, "y": 4.5},
+                {"matrix": [4, 4], "x": 4.25, "y": 4.5},
+                {"matrix": [4, 5], "x": 5.25, "y": 4.5},
+                {"matrix": [4, 6], "x": 6.25, "y": 4.5},
+                {"matrix": [4, 7], "x": 7.25, "y": 4.5},
+                {"matrix": [4, 8], "x": 8.25, "y": 4.5},
+                {"matrix": [4, 9], "x": 9.25, "y": 4.5},
+                {"matrix": [4, 10], "x": 10.25, "y": 4.5},
+                {"matrix": [4, 11], "x": 11.25, "y": 4.5},
+                {"matrix": [4, 12], "x": 12.25, "y": 4.5, "w": 2.75},
+
+                {"matrix": [4, 15], "x": 16.25, "y": 4.5},
+
+                {"matrix": [5, 0], "x": 0, "y": 5.5, "w": 1.25},
+                {"matrix": [5, 1], "x": 1.25, "y": 5.5, "w": 1.25},
+                {"matrix": [5, 2], "x": 2.5, "y": 5.5, "w": 1.25},
+                {"matrix": [5, 6], "x": 3.75, "y": 5.5, "w": 6.25},
+                {"matrix": [5, 10], "x": 10, "y": 5.5, "w": 1.25},
+                {"matrix": [5, 11], "x": 11.25, "y": 5.5, "w": 1.25},
+                {"matrix": [5, 12], "x": 12.5, "y": 5.5, "w": 1.25},
+                {"matrix": [5, 13], "x": 13.75, "y": 5.5, "w": 1.25},
+
+                {"matrix": [5, 14], "x": 15.25, "y": 5.5},
+                {"matrix": [5, 15], "x": 16.25, "y": 5.5},
+                {"matrix": [5, 16], "x": 17.25, "y": 5.5}
+            ]
+        },
+        "LAYOUT_tkl_iso": {
+            "layout": [
+                {"matrix": [0, 0], "x": 0, "y": 0},
+
+                {"matrix": [0, 2], "x": 2, "y": 0},
+                {"matrix": [0, 3], "x": 3, "y": 0},
+                {"matrix": [0, 4], "x": 4, "y": 0},
+                {"matrix": [0, 5], "x": 5, "y": 0},
+
+                {"matrix": [0, 6], "x": 6.5, "y": 0},
+                {"matrix": [0, 7], "x": 7.5, "y": 0},
+                {"matrix": [0, 8], "x": 8.5, "y": 0},
+                {"matrix": [0, 9], "x": 9.5, "y": 0},
+
+                {"matrix": [0, 10], "x": 11, "y": 0},
+                {"matrix": [0, 11], "x": 12, "y": 0},
+                {"matrix": [0, 12], "x": 13, "y": 0},
+                {"matrix": [0, 13], "x": 14, "y": 0},
+
+                {"matrix": [0, 14], "x": 15.25, "y": 0},
+                {"matrix": [0, 15], "x": 16.25, "y": 0},
+                {"matrix": [0, 16], "x": 17.25, "y": 0},
+
+                {"matrix": [1, 0], "x": 0, "y": 1.5},
+                {"matrix": [1, 1], "x": 1, "y": 1.5},
+                {"matrix": [1, 2], "x": 2, "y": 1.5},
+                {"matrix": [1, 3], "x": 3, "y": 1.5},
+                {"matrix": [1, 4], "x": 4, "y": 1.5},
+                {"matrix": [1, 5], "x": 5, "y": 1.5},
+                {"matrix": [1, 6], "x": 6, "y": 1.5},
+                {"matrix": [1, 7], "x": 7, "y": 1.5},
+                {"matrix": [1, 8], "x": 8, "y": 1.5},
+                {"matrix": [1, 9], "x": 9, "y": 1.5},
+                {"matrix": [1, 10], "x": 10, "y": 1.5},
+                {"matrix": [1, 11], "x": 11, "y": 1.5},
+                {"matrix": [1, 12], "x": 12, "y": 1.5},
+                {"matrix": [1, 13], "x": 13, "y": 1.5, "w": 2},
+
+                {"matrix": [1, 14], "x": 15.25, "y": 1.5},
+                {"matrix": [1, 15], "x": 16.25, "y": 1.5},
+                {"matrix": [1, 16], "x": 17.25, "y": 1.5},
+
+                {"matrix": [2, 0], "x": 0, "y": 2.5, "w": 1.5},
+                {"matrix": [2, 1], "x": 1.5, "y": 2.5},
+                {"matrix": [2, 2], "x": 2.5, "y": 2.5},
+                {"matrix": [2, 3], "x": 3.5, "y": 2.5},
+                {"matrix": [2, 4], "x": 4.5, "y": 2.5},
+                {"matrix": [2, 5], "x": 5.5, "y": 2.5},
+                {"matrix": [2, 6], "x": 6.5, "y": 2.5},
+                {"matrix": [2, 7], "x": 7.5, "y": 2.5},
+                {"matrix": [2, 8], "x": 8.5, "y": 2.5},
+                {"matrix": [2, 9], "x": 9.5, "y": 2.5},
+                {"matrix": [2, 10], "x": 10.5, "y": 2.5},
+                {"matrix": [2, 11], "x": 11.5, "y": 2.5},
+                {"matrix": [2, 12], "x": 12.5, "y": 2.5},
+
+                {"matrix": [2, 14], "x": 15.25, "y": 2.5},
+                {"matrix": [2, 15], "x": 16.25, "y": 2.5},
+                {"matrix": [2, 16], "x": 17.25, "y": 2.5},
+
+                {"matrix": [3, 0], "x": 0, "y": 3.5, "w": 1.75},
+                {"matrix": [3, 1], "x": 1.75, "y": 3.5},
+                {"matrix": [3, 2], "x": 2.75, "y": 3.5},
+                {"matrix": [3, 3], "x": 3.75, "y": 3.5},
+                {"matrix": [3, 4], "x": 4.75, "y": 3.5},
+                {"matrix": [3, 5], "x": 5.75, "y": 3.5},
+                {"matrix": [3, 6], "x": 6.75, "y": 3.5},
+                {"matrix": [3, 7], "x": 7.75, "y": 3.5},
+                {"matrix": [3, 8], "x": 8.75, "y": 3.5},
+                {"matrix": [3, 9], "x": 9.75, "y": 3.5},
+                {"matrix": [3, 10], "x": 10.75, "y": 3.5},
+                {"matrix": [3, 11], "x": 11.75, "y": 3.5},
+                {"matrix": [3, 12], "x": 12.75, "y": 3.5},
+                {"matrix": [2, 13], "x": 13.75, "y": 2.5, "w": 1.25, "h": 2},
+
+                {"matrix": [4, 0], "x": 0, "y": 4.5, "w": 1.25},
+                {"matrix": [4, 1], "x": 1.25, "y": 4.5},
+                {"matrix": [4, 2], "x": 2.25, "y": 4.5},
+                {"matrix": [4, 3], "x": 3.25, "y": 4.5},
+                {"matrix": [4, 4], "x": 4.25, "y": 4.5},
+                {"matrix": [4, 5], "x": 5.25, "y": 4.5},
+                {"matrix": [4, 6], "x": 6.25, "y": 4.5},
+                {"matrix": [4, 7], "x": 7.25, "y": 4.5},
+                {"matrix": [4, 8], "x": 8.25, "y": 4.5},
+                {"matrix": [4, 9], "x": 9.25, "y": 4.5},
+                {"matrix": [4, 10], "x": 10.25, "y": 4.5},
+                {"matrix": [4, 11], "x": 11.25, "y": 4.5},
+                {"matrix": [4, 12], "x": 12.25, "y": 4.5, "w": 2.75},
+
+                {"matrix": [4, 15], "x": 16.25, "y": 4.5},
+
+                {"matrix": [5, 0], "x": 0, "y": 5.5, "w": 1.25},
+                {"matrix": [5, 1], "x": 1.25, "y": 5.5, "w": 1.25},
+                {"matrix": [5, 2], "x": 2.5, "y": 5.5, "w": 1.25},
+                {"matrix": [5, 6], "x": 3.75, "y": 5.5, "w": 6.25},
+                {"matrix": [5, 10], "x": 10, "y": 5.5, "w": 1.25},
+                {"matrix": [5, 11], "x": 11.25, "y": 5.5, "w": 1.25},
+                {"matrix": [5, 12], "x": 12.5, "y": 5.5, "w": 1.25},
+                {"matrix": [5, 13], "x": 13.75, "y": 5.5, "w": 1.25},
+
+                {"matrix": [5, 14], "x": 15.25, "y": 5.5},
+                {"matrix": [5, 15], "x": 16.25, "y": 5.5},
+                {"matrix": [5, 16], "x": 17.25, "y": 5.5}
+            ]
+        }
+    }
+}
diff --git a/keyboards/lfkeyboards/lfk87/reva/rules.mk b/keyboards/lfkeyboards/lfk87/reva/rules.mk
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/keyboards/lfkeyboards/lfk87/reva/rules.mk
diff --git a/keyboards/lfkeyboards/lfk87/revc/info.json b/keyboards/lfkeyboards/lfk87/revc/info.json
new file mode 100644
index 0000000000..7d18e71197
--- /dev/null
+++ b/keyboards/lfkeyboards/lfk87/revc/info.json
@@ -0,0 +1,223 @@
+{
+    "processor": "at90usb646",
+    "bootloader": "atmel-dfu",
+    "matrix_pins": {
+        "cols": ["A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "C7", "C1", "C0", "E1", "E0", "C2", "C3", "C4"],
+        "rows": ["F2", "D7", "D6", "D5", "D4", "D3", "F3"]
+    },
+    "diode_direction": "COL2ROW",
+    "rgblight": {
+        "led_count": 24
+    },
+    "layouts": {
+        "LAYOUT_tkl_ansi": {
+            "layout": [
+                {"matrix": [6, 0], "x": 0, "y": 0},
+
+                {"matrix": [0, 0], "x": 2, "y": 0},
+                {"matrix": [0, 1], "x": 3, "y": 0},
+                {"matrix": [0, 2], "x": 4, "y": 0},
+                {"matrix": [0, 3], "x": 5, "y": 0},
+
+                {"matrix": [0, 4], "x": 6.5, "y": 0},
+                {"matrix": [0, 5], "x": 7.5, "y": 0},
+                {"matrix": [0, 6], "x": 8.5, "y": 0},
+                {"matrix": [0, 7], "x": 9.5, "y": 0},
+
+                {"matrix": [0, 8], "x": 11, "y": 0},
+                {"matrix": [0, 9], "x": 12, "y": 0},
+                {"matrix": [0, 10], "x": 13, "y": 0},
+                {"matrix": [0, 11], "x": 14, "y": 0},
+
+                {"matrix": [0, 13], "x": 15.25, "y": 0},
+                {"matrix": [0, 14], "x": 16.25, "y": 0},
+                {"matrix": [0, 15], "x": 17.25, "y": 0},
+
+                {"matrix": [6, 1], "x": 0, "y": 1.5},
+                {"matrix": [6, 2], "x": 1, "y": 1.5},
+                {"matrix": [1, 0], "x": 2, "y": 1.5},
+                {"matrix": [1, 1], "x": 3, "y": 1.5},
+                {"matrix": [1, 2], "x": 4, "y": 1.5},
+                {"matrix": [1, 3], "x": 5, "y": 1.5},
+                {"matrix": [1, 4], "x": 6, "y": 1.5},
+                {"matrix": [1, 5], "x": 7, "y": 1.5},
+                {"matrix": [1, 6], "x": 8, "y": 1.5},
+                {"matrix": [1, 7], "x": 9, "y": 1.5},
+                {"matrix": [1, 8], "x": 10, "y": 1.5},
+                {"matrix": [1, 9], "x": 11, "y": 1.5},
+                {"matrix": [1, 10], "x": 12, "y": 1.5},
+                {"matrix": [1, 11], "x": 13, "y": 1.5, "w": 2},
+
+                {"matrix": [1, 13], "x": 15.25, "y": 1.5},
+                {"matrix": [1, 14], "x": 16.25, "y": 1.5},
+                {"matrix": [1, 15], "x": 17.25, "y": 1.5},
+
+                {"matrix": [6, 3], "x": 0, "y": 2.5, "w": 1.5},
+                {"matrix": [2, 0], "x": 1.5, "y": 2.5},
+                {"matrix": [2, 1], "x": 2.5, "y": 2.5},
+                {"matrix": [2, 2], "x": 3.5, "y": 2.5},
+                {"matrix": [2, 3], "x": 4.5, "y": 2.5},
+                {"matrix": [2, 4], "x": 5.5, "y": 2.5},
+                {"matrix": [2, 5], "x": 6.5, "y": 2.5},
+                {"matrix": [2, 6], "x": 7.5, "y": 2.5},
+                {"matrix": [2, 7], "x": 8.5, "y": 2.5},
+                {"matrix": [2, 8], "x": 9.5, "y": 2.5},
+                {"matrix": [2, 9], "x": 10.5, "y": 2.5},
+                {"matrix": [2, 10], "x": 11.5, "y": 2.5},
+                {"matrix": [2, 11], "x": 12.5, "y": 2.5},
+                {"matrix": [2, 12], "x": 13.5, "y": 2.5, "w": 1.5},
+
+                {"matrix": [2, 13], "x": 15.25, "y": 2.5},
+                {"matrix": [2, 14], "x": 16.25, "y": 2.5},
+                {"matrix": [2, 15], "x": 17.25, "y": 2.5},
+
+                {"matrix": [5, 0], "x": 0, "y": 3.5, "w": 1.75},
+                {"matrix": [3, 0], "x": 1.75, "y": 3.5},
+                {"matrix": [3, 1], "x": 2.75, "y": 3.5},
+                {"matrix": [3, 2], "x": 3.75, "y": 3.5},
+                {"matrix": [3, 3], "x": 4.75, "y": 3.5},
+                {"matrix": [3, 4], "x": 5.75, "y": 3.5},
+                {"matrix": [3, 5], "x": 6.75, "y": 3.5},
+                {"matrix": [3, 6], "x": 7.75, "y": 3.5},
+                {"matrix": [3, 7], "x": 8.75, "y": 3.5},
+                {"matrix": [3, 8], "x": 9.75, "y": 3.5},
+                {"matrix": [3, 9], "x": 10.75, "y": 3.5},
+                {"matrix": [3, 10], "x": 11.75, "y": 3.5},
+                {"matrix": [3, 11], "x": 12.75, "y": 3.5, "w": 2.25},
+
+                {"matrix": [5, 1], "x": 0, "y": 4.5, "w": 2.25},
+                {"matrix": [4, 1], "x": 2.25, "y": 4.5},
+                {"matrix": [4, 2], "x": 3.25, "y": 4.5},
+                {"matrix": [4, 3], "x": 4.25, "y": 4.5},
+                {"matrix": [4, 4], "x": 5.25, "y": 4.5},
+                {"matrix": [4, 5], "x": 6.25, "y": 4.5},
+                {"matrix": [4, 6], "x": 7.25, "y": 4.5},
+                {"matrix": [4, 7], "x": 8.25, "y": 4.5},
+                {"matrix": [4, 8], "x": 9.25, "y": 4.5},
+                {"matrix": [4, 9], "x": 10.25, "y": 4.5},
+                {"matrix": [4, 10], "x": 11.25, "y": 4.5},
+                {"matrix": [4, 11], "x": 12.25, "y": 4.5, "w": 2.75},
+
+                {"matrix": [4, 14], "x": 16.25, "y": 4.5},
+
+                {"matrix": [5, 2], "x": 0, "y": 5.5, "w": 1.25},
+                {"matrix": [5, 3], "x": 1.25, "y": 5.5, "w": 1.25},
+                {"matrix": [5, 4], "x": 2.5, "y": 5.5, "w": 1.25},
+                {"matrix": [5, 6], "x": 3.75, "y": 5.5, "w": 6.25},
+                {"matrix": [5, 9], "x": 10, "y": 5.5, "w": 1.25},
+                {"matrix": [5, 10], "x": 11.25, "y": 5.5, "w": 1.25},
+                {"matrix": [5, 11], "x": 12.5, "y": 5.5, "w": 1.25},
+                {"matrix": [5, 12], "x": 13.75, "y": 5.5, "w": 1.25},
+
+                {"matrix": [5, 13], "x": 15.25, "y": 5.5},
+                {"matrix": [5, 14], "x": 16.25, "y": 5.5},
+                {"matrix": [5, 15], "x": 17.25, "y": 5.5}
+            ]
+        },
+        "LAYOUT_tkl_iso": {
+            "layout": [
+                {"matrix": [6, 0], "x": 0, "y": 0},
+
+                {"matrix": [0, 0], "x": 2, "y": 0},
+                {"matrix": [0, 1], "x": 3, "y": 0},
+                {"matrix": [0, 2], "x": 4, "y": 0},
+                {"matrix": [0, 3], "x": 5, "y": 0},
+
+                {"matrix": [0, 4], "x": 6.5, "y": 0},
+                {"matrix": [0, 5], "x": 7.5, "y": 0},
+                {"matrix": [0, 6], "x": 8.5, "y": 0},
+                {"matrix": [0, 7], "x": 9.5, "y": 0},
+
+                {"matrix": [0, 8], "x": 11, "y": 0},
+                {"matrix": [0, 9], "x": 12, "y": 0},
+                {"matrix": [0, 10], "x": 13, "y": 0},
+                {"matrix": [0, 11], "x": 14, "y": 0},
+
+                {"matrix": [0, 13], "x": 15.25, "y": 0},
+                {"matrix": [0, 14], "x": 16.25, "y": 0},
+                {"matrix": [0, 15], "x": 17.25, "y": 0},
+
+                {"matrix": [6, 1], "x": 0, "y": 1.5},
+                {"matrix": [6, 2], "x": 1, "y": 1.5},
+                {"matrix": [1, 0], "x": 2, "y": 1.5},
+                {"matrix": [1, 1], "x": 3, "y": 1.5},
+                {"matrix": [1, 2], "x": 4, "y": 1.5},
+                {"matrix": [1, 3], "x": 5, "y": 1.5},
+                {"matrix": [1, 4], "x": 6, "y": 1.5},
+                {"matrix": [1, 5], "x": 7, "y": 1.5},
+                {"matrix": [1, 6], "x": 8, "y": 1.5},
+                {"matrix": [1, 7], "x": 9, "y": 1.5},
+                {"matrix": [1, 8], "x": 10, "y": 1.5},
+                {"matrix": [1, 9], "x": 11, "y": 1.5},
+                {"matrix": [1, 10], "x": 12, "y": 1.5},
+                {"matrix": [1, 11], "x": 13, "y": 1.5, "w": 2},
+
+                {"matrix": [1, 13], "x": 15.25, "y": 1.5},
+                {"matrix": [1, 14], "x": 16.25, "y": 1.5},
+                {"matrix": [1, 15], "x": 17.25, "y": 1.5},
+
+                {"matrix": [6, 3], "x": 0, "y": 2.5, "w": 1.5},
+                {"matrix": [2, 0], "x": 1.5, "y": 2.5},
+                {"matrix": [2, 1], "x": 2.5, "y": 2.5},
+                {"matrix": [2, 2], "x": 3.5, "y": 2.5},
+                {"matrix": [2, 3], "x": 4.5, "y": 2.5},
+                {"matrix": [2, 4], "x": 5.5, "y": 2.5},
+                {"matrix": [2, 5], "x": 6.5, "y": 2.5},
+                {"matrix": [2, 6], "x": 7.5, "y": 2.5},
+                {"matrix": [2, 7], "x": 8.5, "y": 2.5},
+                {"matrix": [2, 8], "x": 9.5, "y": 2.5},
+                {"matrix": [2, 9], "x": 10.5, "y": 2.5},
+                {"matrix": [2, 10], "x": 11.5, "y": 2.5},
+                {"matrix": [2, 11], "x": 12.5, "y": 2.5},
+
+                {"matrix": [2, 13], "x": 15.25, "y": 2.5},
+                {"matrix": [2, 14], "x": 16.25, "y": 2.5},
+                {"matrix": [2, 15], "x": 17.25, "y": 2.5},
+
+                {"matrix": [5, 0], "x": 0, "y": 3.5, "w": 1.75},
+                {"matrix": [3, 0], "x": 1.75, "y": 3.5},
+                {"matrix": [3, 1], "x": 2.75, "y": 3.5},
+                {"matrix": [3, 2], "x": 3.75, "y": 3.5},
+                {"matrix": [3, 3], "x": 4.75, "y": 3.5},
+                {"matrix": [3, 4], "x": 5.75, "y": 3.5},
+                {"matrix": [3, 5], "x": 6.75, "y": 3.5},
+                {"matrix": [3, 6], "x": 7.75, "y": 3.5},
+                {"matrix": [3, 7], "x": 8.75, "y": 3.5},
+                {"matrix": [3, 8], "x": 9.75, "y": 3.5},
+                {"matrix": [3, 9], "x": 10.75, "y": 3.5},
+                {"matrix": [3, 10], "x": 11.75, "y": 3.5},
+                {"matrix": [3, 11], "x": 12.75, "y": 3.5},
+                {"matrix": [2, 12], "x": 13.75, "y": 2.5, "w": 1.25, "h": 2},
+
+                {"matrix": [5, 1], "x": 0, "y": 4.5, "w": 1.25},
+                {"matrix": [4, 0], "x": 1.25, "y": 4.5},
+                {"matrix": [4, 1], "x": 2.25, "y": 4.5},
+                {"matrix": [4, 2], "x": 3.25, "y": 4.5},
+                {"matrix": [4, 3], "x": 4.25, "y": 4.5},
+                {"matrix": [4, 4], "x": 5.25, "y": 4.5},
+                {"matrix": [4, 5], "x": 6.25, "y": 4.5},
+                {"matrix": [4, 6], "x": 7.25, "y": 4.5},
+                {"matrix": [4, 7], "x": 8.25, "y": 4.5},
+                {"matrix": [4, 8], "x": 9.25, "y": 4.5},
+                {"matrix": [4, 9], "x": 10.25, "y": 4.5},
+                {"matrix": [4, 10], "x": 11.25, "y": 4.5},
+                {"matrix": [4, 11], "x": 12.25, "y": 4.5, "w": 2.75},
+
+                {"matrix": [4, 14], "x": 16.25, "y": 4.5},
+
+                {"matrix": [5, 2], "x": 0, "y": 5.5, "w": 1.25},
+                {"matrix": [5, 3], "x": 1.25, "y": 5.5, "w": 1.25},
+                {"matrix": [5, 4], "x": 2.5, "y": 5.5, "w": 1.25},
+                {"matrix": [5, 6], "x": 3.75, "y": 5.5, "w": 6.25},
+                {"matrix": [5, 9], "x": 10, "y": 5.5, "w": 1.25},
+                {"matrix": [5, 10], "x": 11.25, "y": 5.5, "w": 1.25},
+                {"matrix": [5, 11], "x": 12.5, "y": 5.5, "w": 1.25},
+                {"matrix": [5, 12], "x": 13.75, "y": 5.5, "w": 1.25},
+
+                {"matrix": [5, 13], "x": 15.25, "y": 5.5},
+                {"matrix": [5, 14], "x": 16.25, "y": 5.5},
+                {"matrix": [5, 15], "x": 17.25, "y": 5.5}
+            ]
+        }
+    }
+}
diff --git a/keyboards/lfkeyboards/lfk87/revc/rules.mk b/keyboards/lfkeyboards/lfk87/revc/rules.mk
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/keyboards/lfkeyboards/lfk87/revc/rules.mk
diff --git a/keyboards/lfkeyboards/lfk87/rules.mk b/keyboards/lfkeyboards/lfk87/rules.mk
index 9a0fd53343..2dc08f71f6 100644
--- a/keyboards/lfkeyboards/lfk87/rules.mk
+++ b/keyboards/lfkeyboards/lfk87/rules.mk
@@ -1,16 +1,3 @@
-# Set the LFK87 hardware version.
-#
-# A - Green PCB. at90usb1286 Only 3 exist
-# B - We don't talk about RevB
-# C-D - Black PCB. at90usb646 First public release
-#
-LFK_REV = C
-
-BOOTLOADER = atmel-dfu
-OPT_DEFS += -DLFK_TKL_REV_$(LFK_REV)
-
-# Extra source files for IS3731 lighting
-SRC = TWIlib.c issi.c lighting.c
 
 # Build Options
 #   change yes to no to disable
@@ -29,3 +16,8 @@ SLEEP_LED_ENABLE = yes
 
 ISSI_ENABLE = yes			# If the I2C pullup resistors aren't install this must be disabled
 WATCHDOG_ENABLE = no		# Resets keyboard if matrix_scan isn't run every 250ms
+
+# Extra source files for IS3731 lighting
+SRC += TWIlib.c issi.c lighting.c
+
+DEFAULT_FOLDER = lfkeyboards/lfk78/revc