summaryrefslogtreecommitdiff
path: root/keyboards/lfkeyboards/lfk87
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/lfkeyboards/lfk87')
-rw-r--r--keyboards/lfkeyboards/lfk87/config.h21
-rw-r--r--keyboards/lfkeyboards/lfk87/info.json13
-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.c16
-rw-r--r--keyboards/lfkeyboards/lfk87/lfk87.h76
-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/reva.c16
-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/revc.c17
-rw-r--r--keyboards/lfkeyboards/lfk87/revc/rules.mk0
-rw-r--r--keyboards/lfkeyboards/lfk87/rules.mk18
16 files changed, 488 insertions, 217 deletions
diff --git a/keyboards/lfkeyboards/lfk87/config.h b/keyboards/lfkeyboards/lfk87/config.h
index 3120a184e6..3a8f16e0fd 100644
--- a/keyboards/lfkeyboards/lfk87/config.h
+++ b/keyboards/lfkeyboards/lfk87/config.h
@@ -17,32 +17,11 @@ 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
#define BACKLIGHT_PWM_MAP {2, 4, 8, 16, 40, 55, 70, 128, 200, 255}
-#define RGB_DI_PIN F4 // Have to set it to something to get the ws2812 code to compile
#define RGBLIGHT_EFFECT_BREATHING
#define RGBLIGHT_EFFECT_RAINBOW_MOOD
#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
diff --git a/keyboards/lfkeyboards/lfk87/info.json b/keyboards/lfkeyboards/lfk87/info.json
index 9ba48f7b29..d76ee0c693 100644
--- a/keyboards/lfkeyboards/lfk87/info.json
+++ b/keyboards/lfkeyboards/lfk87/info.json
@@ -12,13 +12,8 @@
"driver": "custom",
"levels": 10
},
- "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}]
- }
- }
+ "ws2812": {
+ "pin": "F4"
+ },
+ "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.c b/keyboards/lfkeyboards/lfk87/lfk87.c
index ce81aa7d27..3e95361a33 100644
--- a/keyboards/lfkeyboards/lfk87/lfk87.c
+++ b/keyboards/lfkeyboards/lfk87/lfk87.c
@@ -3,7 +3,6 @@
#include <avr/timer_avr.h>
#include <avr/wdt.h>
#include "lfk87.h"
-#include "keymap.h"
#include "issi.h"
#include "TWIlib.h"
#include "lighting.h"
@@ -154,18 +153,3 @@ const uint8_t rgb_matrices[] = {6, 7};
const uint8_t rgb_sequence[] = {
27, 29, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 11, 15, 14, 20, 21, 22, 23, 24, 25, 26
};
-
-// Maps switch LEDs from Row/Col to ISSI matrix.
-// Value breakdown:
-// Bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
-// | | ISSI Col | ISSI Row |
-// / |
-// Device
-const uint8_t switch_leds[MATRIX_ROWS][MATRIX_COLS] =
-LAYOUT_tkl_ansi(
- 0x19, 0x18, 0x17, 0x16, 0x15, 0x14, 0x13, 0x12, 0x11, 0x99, 0x98, 0x97, 0x96, 0x95, 0x94, 0x93, 0x92, 0x91,
- 0x29, 0x28, 0x27, 0x26, 0x25, 0x24, 0x23, 0x22, 0x21, 0xA9, 0xA8, 0xA7, 0xA6, 0xA5, 0xA4, 0xA3, 0xA2, 0xA1,
- 0x39, 0x38, 0x37, 0x36, 0x35, 0x34, 0x33, 0x32, 0x31, 0xB9, 0xB8, 0xB7, 0xB6, 0xB5, 0xB3,
- 0x49, 0x48, 0x47, 0x45, 0x44, 0x43, 0x42, 0x41, 0xC9, 0xC8, 0xC7, 0xC6, 0xC5, 0xC4, 0xC2,
- 0x59, 0x58, 0x57, 0x56, 0x55, 0x51, 0xD6, 0xE5, 0xE4, 0xE3, 0xE2, 0xE1,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00);
diff --git a/keyboards/lfkeyboards/lfk87/lfk87.h b/keyboards/lfkeyboards/lfk87/lfk87.h
index 5bd353a89e..d17c1da26f 100644
--- a/keyboards/lfkeyboards/lfk87/lfk87.h
+++ b/keyboards/lfkeyboards/lfk87/lfk87.h
@@ -25,79 +25,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/reva.c b/keyboards/lfkeyboards/lfk87/reva/reva.c
new file mode 100644
index 0000000000..86289c7a01
--- /dev/null
+++ b/keyboards/lfkeyboards/lfk87/reva/reva.c
@@ -0,0 +1,16 @@
+#include "quantum.h"
+
+// Maps switch LEDs from Row/Col to ISSI matrix.
+// Value breakdown:
+// Bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
+// | | ISSI Col | ISSI Row |
+// / |
+// Device
+const uint8_t switch_leds[MATRIX_ROWS][MATRIX_COLS] = {
+ {0x19, 0x00, 0x18, 0x17, 0x16, 0x15, 0x14, 0x13, 0x12, 0x11, 0x99, 0x98, 0x97, 0x96, 0x95, 0x94, 0x93},
+ {0x92, 0x91, 0x29, 0x28, 0x27, 0x26, 0x25, 0x24, 0x23, 0x22, 0x21, 0xA9, 0xA8, 0xA7, 0xA6, 0xA5, 0xA4},
+ {0xA3, 0xA2, 0xA1, 0x39, 0x38, 0x37, 0x36, 0x35, 0x34, 0x33, 0x32, 0x31, 0xB9, 0xB8, 0xB7, 0xB6, 0xB5},
+ {0xB3, 0x49, 0x48, 0x47, 0x45, 0x44, 0x43, 0x42, 0x41, 0xC9, 0xC8, 0xC7, 0xC6, 0x00, 0x00, 0x00, 0x00},
+ {0xC5, 0x00, 0xC4, 0xC2, 0x59, 0x58, 0x57, 0x56, 0x55, 0x51, 0xD6, 0xE5, 0xE4, 0x00, 0x00, 0xE3, 0x00},
+ {0xE2, 0xE1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+};
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/revc.c b/keyboards/lfkeyboards/lfk87/revc/revc.c
new file mode 100644
index 0000000000..f14a1f38e5
--- /dev/null
+++ b/keyboards/lfkeyboards/lfk87/revc/revc.c
@@ -0,0 +1,17 @@
+#include "quantum.h"
+
+// Maps switch LEDs from Row/Col to ISSI matrix.
+// Value breakdown:
+// Bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
+// | | ISSI Col | ISSI Row |
+// / |
+// Device
+const uint8_t switch_leds[MATRIX_ROWS][MATRIX_COLS] = {
+ {0x18, 0x17, 0x16, 0x15, 0x14, 0x13, 0x12, 0x11, 0x99, 0x98, 0x97, 0x96, 0x00, 0x95, 0x94, 0x93},
+ {0x29, 0x28, 0x27, 0x26, 0x25, 0x24, 0x23, 0x22, 0x21, 0xA9, 0xA8, 0xA7, 0x00, 0xA6, 0xA5, 0xA4},
+ {0xA2, 0xA1, 0x39, 0x38, 0x37, 0x36, 0x35, 0x34, 0x33, 0x32, 0x31, 0xB9, 0xB8, 0xB7, 0xB6, 0xB5},
+ {0x49, 0x48, 0x47, 0x45, 0x44, 0x43, 0x42, 0x41, 0xC9, 0xC8, 0xC7, 0xC6, 0x00, 0x00, 0x00, 0x00},
+ {0x00, 0xC4, 0xC2, 0x59, 0x58, 0x57, 0x56, 0x55, 0x51, 0xD6, 0xE5, 0xE4, 0x00, 0x00, 0xE3, 0x00},
+ {0xB3, 0xC5, 0xE2, 0xE1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
+ {0x19, 0x92, 0x91, 0xA3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+};
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