summaryrefslogtreecommitdiff
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/>.
17 17
18#pragma once 18#pragma once
19 19
20
21#define DIODE_DIRECTION COL2ROW
22
23#ifdef LFK_TKL_REV_A
24/* RevB Matrix config */
25 #define MATRIX_ROWS 6
26 #define MATRIX_COLS 17
27 #define MATRIX_ROW_PINS {D2, D3, D4, D5, D6, D7 }
28 #define MATRIX_COL_PINS {A0, A1, A2, A3, A4, A5, A6, A7, E6, E7,\
29 F0, F1, F2, F3, C0, C1, C2 }
30 #define RGBLED_NUM 25 // Number of LEDs
31#else
32/* RevC/D Matrix config */
33 #define MATRIX_ROWS 7
34 #define MATRIX_COLS 16
35 #define MATRIX_ROW_PINS {F2, D7, D6, D5, D4, D3, F3}
36 #define MATRIX_COL_PINS {A0, A1, A2, A3, A4, A5, A6, A7, C7, C1, C0, E1, E0, C2, C3, C4}
37 #define RGBLED_NUM 24 // Number of LEDs
38#endif
39
40#define AUDIO_VOICES 20#define AUDIO_VOICES
41#define AUDIO_PIN C6 21#define AUDIO_PIN C6
42 22
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 @@
15 "ws2812": { 15 "ws2812": {
16 "pin": "F4" 16 "pin": "F4"
17 }, 17 },
18 "community_layouts": ["tkl_ansi", "tkl_iso"], 18 "community_layouts": ["tkl_ansi", "tkl_iso"]
19 "layouts": {
20 "LAYOUT_tkl_ansi": {
21 "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}]
22 },
23 "LAYOUT_tkl_iso": {
24 "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}]
25 }
26 }
27} 19}
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
16 16
17ISSI_ENABLE = yes # If the I2C pullup resistors aren't install this must be disabled 17ISSI_ENABLE = yes # If the I2C pullup resistors aren't install this must be disabled
18WATCHDOG_ENABLE = yes # Resets keyboard if matrix_scan isn't run every 250ms 18WATCHDOG_ENABLE = yes # Resets keyboard if matrix_scan isn't run every 250ms
19
20
21
22
23# # Set the LFK78 hardware version. This is defined in rules.mk, but can be overidden here if desired
24# #
25# # RevB - first public release, uses atmega32u4, has audio, ISSI matrix split between RGB and backlight
26# # RevC/D - at90usb1286, no audio, ISSI device 0 is backlight, 4 is RGB
27# #
28# # Set to B, C or D
29# LFK_REV = D
30
31# ifeq ($(LFK_REV), B)
32# MCU = atmega32u4
33# else
34# MCU = at90usb1286
35# endif
36# OPT_DEFS += -DLFK_REV_$(LFK_REV)
37# 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
12 12
13ISSI_ENABLE = yes # If the I2C pullup resistors aren't install this must be disabled 13ISSI_ENABLE = yes # If the I2C pullup resistors aren't install this must be disabled
14WATCHDOG_ENABLE = no # Resets keyboard if matrix_scan isn't run every 250ms 14WATCHDOG_ENABLE = no # Resets keyboard if matrix_scan isn't run every 250ms
15
16
17
18
19# Override the LFK87 hardware version.
20#
21# A - Green PCB. at90usb1286 Only 3 exist
22# B - We don't talk about RevB
23# C-D - Black PCB. at90usb646 First public release
24#
25# LFK_REV = C
26
27# ifeq ($(LFK_REV), A)
28# MCU = at90usb1286
29# OPT_DEFS += -DBOOTLOADER_SIZE=8192
30# else
31# MCU = at90usb646
32# OPT_DEFS += -DBOOTLOADER_SIZE=4096
33# endif
34# 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
15 15
16ISSI_ENABLE = yes # If the I2C pullup resistors aren't install this must be disabled 16ISSI_ENABLE = yes # If the I2C pullup resistors aren't install this must be disabled
17WATCHDOG_ENABLE = no # Resets keyboard if matrix_scan isn't run every 250ms 17WATCHDOG_ENABLE = no # Resets keyboard if matrix_scan isn't run every 250ms
18
19
20# Override the LFK87 hardware version.
21#
22# A - Green PCB. at90usb1286 Only 3 exist
23# B - We don't talk about RevB
24# C-D - Black PCB. at90usb646 First public release
25#
26# LFK_REV = C
27
28# ifeq ($(LFK_REV), A)
29# MCU = at90usb1286
30# OPT_DEFS += -DBOOTLOADER_SIZE=8192
31# else
32# MCU = at90usb646
33# OPT_DEFS += -DBOOTLOADER_SIZE=4096
34# endif
35# 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
12 12
13ISSI_ENABLE = yes # If the I2C pullup resistors aren't install this must be disabled 13ISSI_ENABLE = yes # If the I2C pullup resistors aren't install this must be disabled
14WATCHDOG_ENABLE = no # Resets keyboard if matrix_scan isn't run every 250ms 14WATCHDOG_ENABLE = no # Resets keyboard if matrix_scan isn't run every 250ms
15
16
17
18
19# # Set the LFK78 hardware version. This is defined in rules.mk, but can be overidden here if desired
20# #
21# # RevB - first public release, uses atmega32u4, has audio, ISSI matrix split between RGB and backlight
22# # RevC/D - at90usb1286, no audio, ISSI device 0 is backlight, 4 is RGB
23# #
24# # Set to B, C or D
25# LFK_REV = D
26
27# ifeq ($(LFK_REV), B)
28# MCU = atmega32u4
29# else
30# MCU = at90usb1286
31# endif
32# OPT_DEFS += -DLFK_REV_$(LFK_REV)
33# 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 @@
1#pragma once 1#pragma once
2 2
3#include QMK_KEYBOARD_H
3#include "quantum.h" 4#include "quantum.h"
4#include "matrix.h" 5#include "matrix.h"
5#include <avr/sfr_defs.h> 6#include <avr/sfr_defs.h>
@@ -25,79 +26,3 @@ extern const Layer_Info layer_info[];
25 26
26void reset_keyboard_kb(void); 27void reset_keyboard_kb(void);
27void click(uint16_t freq, uint16_t duration); 28void click(uint16_t freq, uint16_t duration);
28
29#define ___ KC_NO
30
31#ifdef LFK_TKL_REV_A
32# ifndef LAYOUT_tkl_ansi
33# define LAYOUT_tkl_ansi( \
34 k00, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E, k0F, k0G, \
35 k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1E, k1F, k1G, \
36 k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, k2E, k2F, k2G, \
37 k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, \
38 k40, k42, k43, k44, k45, k46, k47, k48, k49, k4A, k4B, k4C, k4F, \
39 k50, k51, k52, k56, k5A, k5B, k5C, k5D, k5E, k5F, k5G \
40) { \
41 { k00, ___, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E, k0F, k0G }, \
42 { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1E, k1F, k1G }, \
43 { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, k2E, k2F, k2G }, \
44 { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, ___, ___, ___, ___ }, \
45 { k40, ___, k42, k43, k44, k45, k46, k47, k48, k49, k4A, k4B, k4C, ___, ___, k4F, ___ }, \
46 { k50, k51, k52, ___, ___, ___, k56, ___, ___, ___, k5A, k5B, k5C, k5D, k5E, k5F, k5G } \
47}
48 #endif // !LAYOUT_tkl_ansi
49# ifndef LAYOUT_tkl_iso
50# define LAYOUT_tkl_iso( \
51 k00, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E, k0F, k0G, \
52 k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1E, k1F, k1G, \
53 k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2E, k2F, k2G, \
54 k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k2D, \
55 k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4A, k4B, k4C, k4F, \
56 k50, k51, k52, k56, k5A, k5B, k5C, k5D, k5E, k5F, k5G \
57) { \
58 { k00, ___, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E, k0F, k0G }, \
59 { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1E, k1F, k1G }, \
60 { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, k2E, k2F, k2G }, \
61 { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, ___, ___, ___, ___ }, \
62 { k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4A, k4B, k4C, ___, ___, k4F, ___ }, \
63 { k50, k51, k52, ___, ___, ___, k56, ___, ___, ___, k5A, k5B, k5C, k5D, k5E, k5F, k5G } \
64}
65# endif // !LAYOUT_tkl_iso
66#else // RevC+ keymaps
67# ifndef LAYOUT_tkl_ansi
68# define LAYOUT_tkl_ansi( \
69 k60, k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0D, k0E, k0F, \
70 k61, k62, k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1D, k1E, k1F, \
71 k63, k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, k2E, k2F, \
72 k50, k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, \
73 k51, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4A, k4B, k4E, \
74 k52, k53, k54, k56, k59, k5A, k5B, k5C, k5D, k5E, k5F \
75) { \
76 { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, ___, k0D, k0E, k0F }, \
77 { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, ___, k1D, k1E, k1F }, \
78 { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, k2E, k2F }, \
79 { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, ___, ___, ___, ___ }, \
80 { ___, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4A, k4B, ___, ___, k4E, ___ }, \
81 { k50, k51, k52, k53, k54, ___, k56, ___, ___, k59, k5A, k5B, k5C, k5D, k5E, k5F }, \
82 { k60, k61, k62, k63, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___ } \
83}
84# endif // !LAYOUT_tkl_ansi
85# ifndef LAYOUT_tkl_iso
86# define LAYOUT_tkl_iso( \
87 k60, k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0D, k0E, k0F, \
88 k61, k62, k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1D, k1E, k1F, \
89 k63, k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2D, k2E, k2F, \
90 k50, k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k2C, \
91 k51, k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4A, k4B, k4E, \
92 k52, k53, k54, k56, k59, k5A, k5B, k5C, k5D, k5E, k5F \
93) { \
94 { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, ___, k0D, k0E, k0F }, \
95 { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, ___, k1D, k1E, k1F }, \
96 { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, k2E, k2F }, \
97 { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, ___, ___, ___, ___ }, \
98 { k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4A, k4B, ___, ___, k4E, ___ }, \
99 { k50, k51, k52, k53, k54, ___, k56, ___, ___, k59, k5A, k5B, k5C, k5D, k5E, k5F }, \
100 { k60, k61, k62, k63, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___ } \
101}
102# endif // !LAYOUT_tkl_iso
103#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 @@
1ifeq ($(LFK_REV), A)
2 MCU = at90usb1286
3else
4 MCU = at90usb646
5endif
6
7ifeq ($(strip $(ISSI_ENABLE)), yes) 1ifeq ($(strip $(ISSI_ENABLE)), yes)
8 OPT_DEFS += -DISSI_ENABLE 2 OPT_DEFS += -DISSI_ENABLE
9endif 3endif
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 @@
1{
2 "processor": "at90usb1286",
3 "bootloader": "atmel-dfu",
4 "matrix_pins": {
5 "cols": ["A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "E6", "E7", "F0", "F1", "F2", "F3", "C0", "C1", "C2"],
6 "rows": ["D2", "D3", "D4", "D5", "D6", "D7"]
7 },
8 "diode_direction": "COL2ROW",
9 "rgblight": {
10 "led_count": 25
11 },
12 "layouts": {
13 "LAYOUT_tkl_ansi": {
14 "layout": [
15 {"matrix": [0, 0], "x": 0, "y": 0},
16
17 {"matrix": [0, 2], "x": 2, "y": 0},
18 {"matrix": [0, 3], "x": 3, "y": 0},
19 {"matrix": [0, 4], "x": 4, "y": 0},
20 {"matrix": [0, 5], "x": 5, "y": 0},
21
22 {"matrix": [0, 6], "x": 6.5, "y": 0},
23 {"matrix": [0, 7], "x": 7.5, "y": 0},
24 {"matrix": [0, 8], "x": 8.5, "y": 0},
25 {"matrix": [0, 9], "x": 9.5, "y": 0},
26
27 {"matrix": [0, 10], "x": 11, "y": 0},
28 {"matrix": [0, 11], "x": 12, "y": 0},
29 {"matrix": [0, 12], "x": 13, "y": 0},
30 {"matrix": [0, 13], "x": 14, "y": 0},
31
32 {"matrix": [0, 14], "x": 15.25, "y": 0},
33 {"matrix": [0, 15], "x": 16.25, "y": 0},
34 {"matrix": [0, 16], "x": 17.25, "y": 0},
35
36 {"matrix": [1, 0], "x": 0, "y": 1.5},
37 {"matrix": [1, 1], "x": 1, "y": 1.5},
38 {"matrix": [1, 2], "x": 2, "y": 1.5},
39 {"matrix": [1, 3], "x": 3, "y": 1.5},
40 {"matrix": [1, 4], "x": 4, "y": 1.5},
41 {"matrix": [1, 5], "x": 5, "y": 1.5},
42 {"matrix": [1, 6], "x": 6, "y": 1.5},
43 {"matrix": [1, 7], "x": 7, "y": 1.5},
44 {"matrix": [1, 8], "x": 8, "y": 1.5},
45 {"matrix": [1, 9], "x": 9, "y": 1.5},
46 {"matrix": [1, 10], "x": 10, "y": 1.5},
47 {"matrix": [1, 11], "x": 11, "y": 1.5},
48 {"matrix": [1, 12], "x": 12, "y": 1.5},
49 {"matrix": [1, 13], "x": 13, "y": 1.5, "w": 2},
50
51 {"matrix": [1, 14], "x": 15.25, "y": 1.5},
52 {"matrix": [1, 15], "x": 16.25, "y": 1.5},
53 {"matrix": [1, 16], "x": 17.25, "y": 1.5},
54
55 {"matrix": [2, 0], "x": 0, "y": 2.5, "w": 1.5},
56 {"matrix": [2, 1], "x": 1.5, "y": 2.5},
57 {"matrix": [2, 2], "x": 2.5, "y": 2.5},
58 {"matrix": [2, 3], "x": 3.5, "y": 2.5},
59 {"matrix": [2, 4], "x": 4.5, "y": 2.5},
60 {"matrix": [2, 5], "x": 5.5, "y": 2.5},
61 {"matrix": [2, 6], "x": 6.5, "y": 2.5},
62 {"matrix": [2, 7], "x": 7.5, "y": 2.5},
63 {"matrix": [2, 8], "x": 8.5, "y": 2.5},
64 {"matrix": [2, 9], "x": 9.5, "y": 2.5},
65 {"matrix": [2, 10], "x": 10.5, "y": 2.5},
66 {"matrix": [2, 11], "x": 11.5, "y": 2.5},
67 {"matrix": [2, 12], "x": 12.5, "y": 2.5},
68 {"matrix": [2, 13], "x": 13.5, "y": 2.5, "w": 1.5},
69
70 {"matrix": [2, 14], "x": 15.25, "y": 2.5},
71 {"matrix": [2, 15], "x": 16.25, "y": 2.5},
72 {"matrix": [2, 16], "x": 17.25, "y": 2.5},
73
74 {"matrix": [3, 0], "x": 0, "y": 3.5, "w": 1.75},
75 {"matrix": [3, 1], "x": 1.75, "y": 3.5},
76 {"matrix": [3, 2], "x": 2.75, "y": 3.5},
77 {"matrix": [3, 3], "x": 3.75, "y": 3.5},
78 {"matrix": [3, 4], "x": 4.75, "y": 3.5},
79 {"matrix": [3, 5], "x": 5.75, "y": 3.5},
80 {"matrix": [3, 6], "x": 6.75, "y": 3.5},
81 {"matrix": [3, 7], "x": 7.75, "y": 3.5},
82 {"matrix": [3, 8], "x": 8.75, "y": 3.5},
83 {"matrix": [3, 9], "x": 9.75, "y": 3.5},
84 {"matrix": [3, 10], "x": 10.75, "y": 3.5},
85 {"matrix": [3, 11], "x": 11.75, "y": 3.5},
86 {"matrix": [3, 12], "x": 12.75, "y": 3.5, "w": 2.25},
87
88 {"matrix": [4, 0], "x": 0, "y": 4.5, "w": 2.25},
89 {"matrix": [4, 2], "x": 2.25, "y": 4.5},
90 {"matrix": [4, 3], "x": 3.25, "y": 4.5},
91 {"matrix": [4, 4], "x": 4.25, "y": 4.5},
92 {"matrix": [4, 5], "x": 5.25, "y": 4.5},
93 {"matrix": [4, 6], "x": 6.25, "y": 4.5},
94 {"matrix": [4, 7], "x": 7.25, "y": 4.5},
95 {"matrix": [4, 8], "x": 8.25, "y": 4.5},
96 {"matrix": [4, 9], "x": 9.25, "y": 4.5},
97 {"matrix": [4, 10], "x": 10.25, "y": 4.5},
98 {"matrix": [4, 11], "x": 11.25, "y": 4.5},
99 {"matrix": [4, 12], "x": 12.25, "y": 4.5, "w": 2.75},
100
101 {"matrix": [4, 15], "x": 16.25, "y": 4.5},
102
103 {"matrix": [5, 0], "x": 0, "y": 5.5, "w": 1.25},
104 {"matrix": [5, 1], "x": 1.25, "y": 5.5, "w": 1.25},
105 {"matrix": [5, 2], "x": 2.5, "y": 5.5, "w": 1.25},
106 {"matrix": [5, 6], "x": 3.75, "y": 5.5, "w": 6.25},
107 {"matrix": [5, 10], "x": 10, "y": 5.5, "w": 1.25},
108 {"matrix": [5, 11], "x": 11.25, "y": 5.5, "w": 1.25},
109 {"matrix": [5, 12], "x": 12.5, "y": 5.5, "w": 1.25},
110 {"matrix": [5, 13], "x": 13.75, "y": 5.5, "w": 1.25},
111
112 {"matrix": [5, 14], "x": 15.25, "y": 5.5},
113 {"matrix": [5, 15], "x": 16.25, "y": 5.5},
114 {"matrix": [5, 16], "x": 17.25, "y": 5.5}
115 ]
116 },
117 "LAYOUT_tkl_iso": {
118 "layout": [
119 {"matrix": [0, 0], "x": 0, "y": 0},
120
121 {"matrix": [0, 2], "x": 2, "y": 0},
122 {"matrix": [0, 3], "x": 3, "y": 0},
123 {"matrix": [0, 4], "x": 4, "y": 0},
124 {"matrix": [0, 5], "x": 5, "y": 0},
125
126 {"matrix": [0, 6], "x": 6.5, "y": 0},
127 {"matrix": [0, 7], "x": 7.5, "y": 0},
128 {"matrix": [0, 8], "x": 8.5, "y": 0},
129 {"matrix": [0, 9], "x": 9.5, "y": 0},
130
131 {"matrix": [0, 10], "x": 11, "y": 0},
132 {"matrix": [0, 11], "x": 12, "y": 0},
133 {"matrix": [0, 12], "x": 13, "y": 0},
134 {"matrix": [0, 13], "x": 14, "y": 0},
135
136 {"matrix": [0, 14], "x": 15.25, "y": 0},
137 {"matrix": [0, 15], "x": 16.25, "y": 0},
138 {"matrix": [0, 16], "x": 17.25, "y": 0},
139
140 {"matrix": [1, 0], "x": 0, "y": 1.5},
141 {"matrix": [1, 1], "x": 1, "y": 1.5},
142 {"matrix": [1, 2], "x": 2, "y": 1.5},
143 {"matrix": [1, 3], "x": 3, "y": 1.5},
144 {"matrix": [1, 4], "x": 4, "y": 1.5},
145 {"matrix": [1, 5], "x": 5, "y": 1.5},
146 {"matrix": [1, 6], "x": 6, "y": 1.5},
147 {"matrix": [1, 7], "x": 7, "y": 1.5},
148 {"matrix": [1, 8], "x": 8, "y": 1.5},
149 {"matrix": [1, 9], "x": 9, "y": 1.5},
150 {"matrix": [1, 10], "x": 10, "y": 1.5},
151 {"matrix": [1, 11], "x": 11, "y": 1.5},
152 {"matrix": [1, 12], "x": 12, "y": 1.5},
153 {"matrix": [1, 13], "x": 13, "y": 1.5, "w": 2},
154
155 {"matrix": [1, 14], "x": 15.25, "y": 1.5},
156 {"matrix": [1, 15], "x": 16.25, "y": 1.5},
157 {"matrix": [1, 16], "x": 17.25, "y": 1.5},
158
159 {"matrix": [2, 0], "x": 0, "y": 2.5, "w": 1.5},
160 {"matrix": [2, 1], "x": 1.5, "y": 2.5},
161 {"matrix": [2, 2], "x": 2.5, "y": 2.5},
162 {"matrix": [2, 3], "x": 3.5, "y": 2.5},
163 {"matrix": [2, 4], "x": 4.5, "y": 2.5},
164 {"matrix": [2, 5], "x": 5.5, "y": 2.5},
165 {"matrix": [2, 6], "x": 6.5, "y": 2.5},
166 {"matrix": [2, 7], "x": 7.5, "y": 2.5},
167 {"matrix": [2, 8], "x": 8.5, "y": 2.5},
168 {"matrix": [2, 9], "x": 9.5, "y": 2.5},
169 {"matrix": [2, 10], "x": 10.5, "y": 2.5},
170 {"matrix": [2, 11], "x": 11.5, "y": 2.5},
171 {"matrix": [2, 12], "x": 12.5, "y": 2.5},
172
173 {"matrix": [2, 14], "x": 15.25, "y": 2.5},
174 {"matrix": [2, 15], "x": 16.25, "y": 2.5},
175 {"matrix": [2, 16], "x": 17.25, "y": 2.5},
176
177 {"matrix": [3, 0], "x": 0, "y": 3.5, "w": 1.75},
178 {"matrix": [3, 1], "x": 1.75, "y": 3.5},
179 {"matrix": [3, 2], "x": 2.75, "y": 3.5},
180 {"matrix": [3, 3], "x": 3.75, "y": 3.5},
181 {"matrix": [3, 4], "x": 4.75, "y": 3.5},
182 {"matrix": [3, 5], "x": 5.75, "y": 3.5},
183 {"matrix": [3, 6], "x": 6.75, "y": 3.5},
184 {"matrix": [3, 7], "x": 7.75, "y": 3.5},
185 {"matrix": [3, 8], "x": 8.75, "y": 3.5},
186 {"matrix": [3, 9], "x": 9.75, "y": 3.5},
187 {"matrix": [3, 10], "x": 10.75, "y": 3.5},
188 {"matrix": [3, 11], "x": 11.75, "y": 3.5},
189 {"matrix": [3, 12], "x": 12.75, "y": 3.5},
190 {"matrix": [2, 13], "x": 13.75, "y": 2.5, "w": 1.25, "h": 2},
191
192 {"matrix": [4, 0], "x": 0, "y": 4.5, "w": 1.25},
193 {"matrix": [4, 1], "x": 1.25, "y": 4.5},
194 {"matrix": [4, 2], "x": 2.25, "y": 4.5},
195 {"matrix": [4, 3], "x": 3.25, "y": 4.5},
196 {"matrix": [4, 4], "x": 4.25, "y": 4.5},
197 {"matrix": [4, 5], "x": 5.25, "y": 4.5},
198 {"matrix": [4, 6], "x": 6.25, "y": 4.5},
199 {"matrix": [4, 7], "x": 7.25, "y": 4.5},
200 {"matrix": [4, 8], "x": 8.25, "y": 4.5},
201 {"matrix": [4, 9], "x": 9.25, "y": 4.5},
202 {"matrix": [4, 10], "x": 10.25, "y": 4.5},
203 {"matrix": [4, 11], "x": 11.25, "y": 4.5},
204 {"matrix": [4, 12], "x": 12.25, "y": 4.5, "w": 2.75},
205
206 {"matrix": [4, 15], "x": 16.25, "y": 4.5},
207
208 {"matrix": [5, 0], "x": 0, "y": 5.5, "w": 1.25},
209 {"matrix": [5, 1], "x": 1.25, "y": 5.5, "w": 1.25},
210 {"matrix": [5, 2], "x": 2.5, "y": 5.5, "w": 1.25},
211 {"matrix": [5, 6], "x": 3.75, "y": 5.5, "w": 6.25},
212 {"matrix": [5, 10], "x": 10, "y": 5.5, "w": 1.25},
213 {"matrix": [5, 11], "x": 11.25, "y": 5.5, "w": 1.25},
214 {"matrix": [5, 12], "x": 12.5, "y": 5.5, "w": 1.25},
215 {"matrix": [5, 13], "x": 13.75, "y": 5.5, "w": 1.25},
216
217 {"matrix": [5, 14], "x": 15.25, "y": 5.5},
218 {"matrix": [5, 15], "x": 16.25, "y": 5.5},
219 {"matrix": [5, 16], "x": 17.25, "y": 5.5}
220 ]
221 }
222 }
223}
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 @@
1{
2 "processor": "at90usb646",
3 "bootloader": "atmel-dfu",
4 "matrix_pins": {
5 "cols": ["A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "C7", "C1", "C0", "E1", "E0", "C2", "C3", "C4"],
6 "rows": ["F2", "D7", "D6", "D5", "D4", "D3", "F3"]
7 },
8 "diode_direction": "COL2ROW",
9 "rgblight": {
10 "led_count": 24
11 },
12 "layouts": {
13 "LAYOUT_tkl_ansi": {
14 "layout": [
15 {"matrix": [6, 0], "x": 0, "y": 0},
16
17 {"matrix": [0, 0], "x": 2, "y": 0},
18 {"matrix": [0, 1], "x": 3, "y": 0},
19 {"matrix": [0, 2], "x": 4, "y": 0},
20 {"matrix": [0, 3], "x": 5, "y": 0},
21
22 {"matrix": [0, 4], "x": 6.5, "y": 0},
23 {"matrix": [0, 5], "x": 7.5, "y": 0},
24 {"matrix": [0, 6], "x": 8.5, "y": 0},
25 {"matrix": [0, 7], "x": 9.5, "y": 0},
26
27 {"matrix": [0, 8], "x": 11, "y": 0},
28 {"matrix": [0, 9], "x": 12, "y": 0},
29 {"matrix": [0, 10], "x": 13, "y": 0},
30 {"matrix": [0, 11], "x": 14, "y": 0},
31
32 {"matrix": [0, 13], "x": 15.25, "y": 0},
33 {"matrix": [0, 14], "x": 16.25, "y": 0},
34 {"matrix": [0, 15], "x": 17.25, "y": 0},
35
36 {"matrix": [6, 1], "x": 0, "y": 1.5},
37 {"matrix": [6, 2], "x": 1, "y": 1.5},
38 {"matrix": [1, 0], "x": 2, "y": 1.5},
39 {"matrix": [1, 1], "x": 3, "y": 1.5},
40 {"matrix": [1, 2], "x": 4, "y": 1.5},
41 {"matrix": [1, 3], "x": 5, "y": 1.5},
42 {"matrix": [1, 4], "x": 6, "y": 1.5},
43 {"matrix": [1, 5], "x": 7, "y": 1.5},
44 {"matrix": [1, 6], "x": 8, "y": 1.5},
45 {"matrix": [1, 7], "x": 9, "y": 1.5},
46 {"matrix": [1, 8], "x": 10, "y": 1.5},
47 {"matrix": [1, 9], "x": 11, "y": 1.5},
48 {"matrix": [1, 10], "x": 12, "y": 1.5},
49 {"matrix": [1, 11], "x": 13, "y": 1.5, "w": 2},
50
51 {"matrix": [1, 13], "x": 15.25, "y": 1.5},
52 {"matrix": [1, 14], "x": 16.25, "y": 1.5},
53 {"matrix": [1, 15], "x": 17.25, "y": 1.5},
54
55 {"matrix": [6, 3], "x": 0, "y": 2.5, "w": 1.5},
56 {"matrix": [2, 0], "x": 1.5, "y": 2.5},
57 {"matrix": [2, 1], "x": 2.5, "y": 2.5},
58 {"matrix": [2, 2], "x": 3.5, "y": 2.5},
59 {"matrix": [2, 3], "x": 4.5, "y": 2.5},
60 {"matrix": [2, 4], "x": 5.5, "y": 2.5},
61 {"matrix": [2, 5], "x": 6.5, "y": 2.5},
62 {"matrix": [2, 6], "x": 7.5, "y": 2.5},
63 {"matrix": [2, 7], "x": 8.5, "y": 2.5},
64 {"matrix": [2, 8], "x": 9.5, "y": 2.5},
65 {"matrix": [2, 9], "x": 10.5, "y": 2.5},
66 {"matrix": [2, 10], "x": 11.5, "y": 2.5},
67 {"matrix": [2, 11], "x": 12.5, "y": 2.5},
68 {"matrix": [2, 12], "x": 13.5, "y": 2.5, "w": 1.5},
69
70 {"matrix": [2, 13], "x": 15.25, "y": 2.5},
71 {"matrix": [2, 14], "x": 16.25, "y": 2.5},
72 {"matrix": [2, 15], "x": 17.25, "y": 2.5},
73
74 {"matrix": [5, 0], "x": 0, "y": 3.5, "w": 1.75},
75 {"matrix": [3, 0], "x": 1.75, "y": 3.5},
76 {"matrix": [3, 1], "x": 2.75, "y": 3.5},
77 {"matrix": [3, 2], "x": 3.75, "y": 3.5},
78 {"matrix": [3, 3], "x": 4.75, "y": 3.5},
79 {"matrix": [3, 4], "x": 5.75, "y": 3.5},
80 {"matrix": [3, 5], "x": 6.75, "y": 3.5},
81 {"matrix": [3, 6], "x": 7.75, "y": 3.5},
82 {"matrix": [3, 7], "x": 8.75, "y": 3.5},
83 {"matrix": [3, 8], "x": 9.75, "y": 3.5},
84 {"matrix": [3, 9], "x": 10.75, "y": 3.5},
85 {"matrix": [3, 10], "x": 11.75, "y": 3.5},
86 {"matrix": [3, 11], "x": 12.75, "y": 3.5, "w": 2.25},
87
88 {"matrix": [5, 1], "x": 0, "y": 4.5, "w": 2.25},
89 {"matrix": [4, 1], "x": 2.25, "y": 4.5},
90 {"matrix": [4, 2], "x": 3.25, "y": 4.5},
91 {"matrix": [4, 3], "x": 4.25, "y": 4.5},
92 {"matrix": [4, 4], "x": 5.25, "y": 4.5},
93 {"matrix": [4, 5], "x": 6.25, "y": 4.5},
94 {"matrix": [4, 6], "x": 7.25, "y": 4.5},
95 {"matrix": [4, 7], "x": 8.25, "y": 4.5},
96 {"matrix": [4, 8], "x": 9.25, "y": 4.5},
97 {"matrix": [4, 9], "x": 10.25, "y": 4.5},
98 {"matrix": [4, 10], "x": 11.25, "y": 4.5},
99 {"matrix": [4, 11], "x": 12.25, "y": 4.5, "w": 2.75},
100
101 {"matrix": [4, 14], "x": 16.25, "y": 4.5},
102
103 {"matrix": [5, 2], "x": 0, "y": 5.5, "w": 1.25},
104 {"matrix": [5, 3], "x": 1.25, "y": 5.5, "w": 1.25},
105 {"matrix": [5, 4], "x": 2.5, "y": 5.5, "w": 1.25},
106 {"matrix": [5, 6], "x": 3.75, "y": 5.5, "w": 6.25},
107 {"matrix": [5, 9], "x": 10, "y": 5.5, "w": 1.25},
108 {"matrix": [5, 10], "x": 11.25, "y": 5.5, "w": 1.25},
109 {"matrix": [5, 11], "x": 12.5, "y": 5.5, "w": 1.25},
110 {"matrix": [5, 12], "x": 13.75, "y": 5.5, "w": 1.25},
111
112 {"matrix": [5, 13], "x": 15.25, "y": 5.5},
113 {"matrix": [5, 14], "x": 16.25, "y": 5.5},
114 {"matrix": [5, 15], "x": 17.25, "y": 5.5}
115 ]
116 },
117 "LAYOUT_tkl_iso": {
118 "layout": [
119 {"matrix": [6, 0], "x": 0, "y": 0},
120
121 {"matrix": [0, 0], "x": 2, "y": 0},
122 {"matrix": [0, 1], "x": 3, "y": 0},
123 {"matrix": [0, 2], "x": 4, "y": 0},
124 {"matrix": [0, 3], "x": 5, "y": 0},
125
126 {"matrix": [0, 4], "x": 6.5, "y": 0},
127 {"matrix": [0, 5], "x": 7.5, "y": 0},
128 {"matrix": [0, 6], "x": 8.5, "y": 0},
129 {"matrix": [0, 7], "x": 9.5, "y": 0},
130
131 {"matrix": [0, 8], "x": 11, "y": 0},
132 {"matrix": [0, 9], "x": 12, "y": 0},
133 {"matrix": [0, 10], "x": 13, "y": 0},
134 {"matrix": [0, 11], "x": 14, "y": 0},
135
136 {"matrix": [0, 13], "x": 15.25, "y": 0},
137 {"matrix": [0, 14], "x": 16.25, "y": 0},
138 {"matrix": [0, 15], "x": 17.25, "y": 0},
139
140 {"matrix": [6, 1], "x": 0, "y": 1.5},
141 {"matrix": [6, 2], "x": 1, "y": 1.5},
142 {"matrix": [1, 0], "x": 2, "y": 1.5},
143 {"matrix": [1, 1], "x": 3, "y": 1.5},
144 {"matrix": [1, 2], "x": 4, "y": 1.5},
145 {"matrix": [1, 3], "x": 5, "y": 1.5},
146 {"matrix": [1, 4], "x": 6, "y": 1.5},
147 {"matrix": [1, 5], "x": 7, "y": 1.5},
148 {"matrix": [1, 6], "x": 8, "y": 1.5},
149 {"matrix": [1, 7], "x": 9, "y": 1.5},
150 {"matrix": [1, 8], "x": 10, "y": 1.5},
151 {"matrix": [1, 9], "x": 11, "y": 1.5},
152 {"matrix": [1, 10], "x": 12, "y": 1.5},
153 {"matrix": [1, 11], "x": 13, "y": 1.5, "w": 2},
154
155 {"matrix": [1, 13], "x": 15.25, "y": 1.5},
156 {"matrix": [1, 14], "x": 16.25, "y": 1.5},
157 {"matrix": [1, 15], "x": 17.25, "y": 1.5},
158
159 {"matrix": [6, 3], "x": 0, "y": 2.5, "w": 1.5},
160 {"matrix": [2, 0], "x": 1.5, "y": 2.5},
161 {"matrix": [2, 1], "x": 2.5, "y": 2.5},
162 {"matrix": [2, 2], "x": 3.5, "y": 2.5},
163 {"matrix": [2, 3], "x": 4.5, "y": 2.5},
164 {"matrix": [2, 4], "x": 5.5, "y": 2.5},
165 {"matrix": [2, 5], "x": 6.5, "y": 2.5},
166 {"matrix": [2, 6], "x": 7.5, "y": 2.5},
167 {"matrix": [2, 7], "x": 8.5, "y": 2.5},
168 {"matrix": [2, 8], "x": 9.5, "y": 2.5},
169 {"matrix": [2, 9], "x": 10.5, "y": 2.5},
170 {"matrix": [2, 10], "x": 11.5, "y": 2.5},
171 {"matrix": [2, 11], "x": 12.5, "y": 2.5},
172
173 {"matrix": [2, 13], "x": 15.25, "y": 2.5},
174 {"matrix": [2, 14], "x": 16.25, "y": 2.5},
175 {"matrix": [2, 15], "x": 17.25, "y": 2.5},
176
177 {"matrix": [5, 0], "x": 0, "y": 3.5, "w": 1.75},
178 {"matrix": [3, 0], "x": 1.75, "y": 3.5},
179 {"matrix": [3, 1], "x": 2.75, "y": 3.5},
180 {"matrix": [3, 2], "x": 3.75, "y": 3.5},
181 {"matrix": [3, 3], "x": 4.75, "y": 3.5},
182 {"matrix": [3, 4], "x": 5.75, "y": 3.5},
183 {"matrix": [3, 5], "x": 6.75, "y": 3.5},
184 {"matrix": [3, 6], "x": 7.75, "y": 3.5},
185 {"matrix": [3, 7], "x": 8.75, "y": 3.5},
186 {"matrix": [3, 8], "x": 9.75, "y": 3.5},
187 {"matrix": [3, 9], "x": 10.75, "y": 3.5},
188 {"matrix": [3, 10], "x": 11.75, "y": 3.5},
189 {"matrix": [3, 11], "x": 12.75, "y": 3.5},
190 {"matrix": [2, 12], "x": 13.75, "y": 2.5, "w": 1.25, "h": 2},
191
192 {"matrix": [5, 1], "x": 0, "y": 4.5, "w": 1.25},
193 {"matrix": [4, 0], "x": 1.25, "y": 4.5},
194 {"matrix": [4, 1], "x": 2.25, "y": 4.5},
195 {"matrix": [4, 2], "x": 3.25, "y": 4.5},
196 {"matrix": [4, 3], "x": 4.25, "y": 4.5},
197 {"matrix": [4, 4], "x": 5.25, "y": 4.5},
198 {"matrix": [4, 5], "x": 6.25, "y": 4.5},
199 {"matrix": [4, 6], "x": 7.25, "y": 4.5},
200 {"matrix": [4, 7], "x": 8.25, "y": 4.5},
201 {"matrix": [4, 8], "x": 9.25, "y": 4.5},
202 {"matrix": [4, 9], "x": 10.25, "y": 4.5},
203 {"matrix": [4, 10], "x": 11.25, "y": 4.5},
204 {"matrix": [4, 11], "x": 12.25, "y": 4.5, "w": 2.75},
205
206 {"matrix": [4, 14], "x": 16.25, "y": 4.5},
207
208 {"matrix": [5, 2], "x": 0, "y": 5.5, "w": 1.25},
209 {"matrix": [5, 3], "x": 1.25, "y": 5.5, "w": 1.25},
210 {"matrix": [5, 4], "x": 2.5, "y": 5.5, "w": 1.25},
211 {"matrix": [5, 6], "x": 3.75, "y": 5.5, "w": 6.25},
212 {"matrix": [5, 9], "x": 10, "y": 5.5, "w": 1.25},
213 {"matrix": [5, 10], "x": 11.25, "y": 5.5, "w": 1.25},
214 {"matrix": [5, 11], "x": 12.5, "y": 5.5, "w": 1.25},
215 {"matrix": [5, 12], "x": 13.75, "y": 5.5, "w": 1.25},
216
217 {"matrix": [5, 13], "x": 15.25, "y": 5.5},
218 {"matrix": [5, 14], "x": 16.25, "y": 5.5},
219 {"matrix": [5, 15], "x": 17.25, "y": 5.5}
220 ]
221 }
222 }
223}
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 @@
1# Set the LFK87 hardware version.
2#
3# A - Green PCB. at90usb1286 Only 3 exist
4# B - We don't talk about RevB
5# C-D - Black PCB. at90usb646 First public release
6#
7LFK_REV = C
8
9BOOTLOADER = atmel-dfu
10OPT_DEFS += -DLFK_TKL_REV_$(LFK_REV)
11
12# Extra source files for IS3731 lighting
13SRC = TWIlib.c issi.c lighting.c
14 1
15# Build Options 2# Build Options
16# change yes to no to disable 3# change yes to no to disable
@@ -29,3 +16,8 @@ SLEEP_LED_ENABLE = yes
29 16
30ISSI_ENABLE = yes # If the I2C pullup resistors aren't install this must be disabled 17ISSI_ENABLE = yes # If the I2C pullup resistors aren't install this must be disabled
31WATCHDOG_ENABLE = no # Resets keyboard if matrix_scan isn't run every 250ms 18WATCHDOG_ENABLE = no # Resets keyboard if matrix_scan isn't run every 250ms
19
20# Extra source files for IS3731 lighting
21SRC += TWIlib.c issi.c lighting.c
22
23DEFAULT_FOLDER = lfkeyboards/lfk78/revc