~ruther/qmk_firmware

4b1ec081d4acb72cd32911605ea985bd0ef6cb2e — Ryan 2 years ago 50a8287
LFK87 refactor (#20635)

M keyboards/lfkeyboards/lfk87/config.h => keyboards/lfkeyboards/lfk87/config.h +0 -20
@@ 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


M keyboards/lfkeyboards/lfk87/info.json => keyboards/lfkeyboards/lfk87/info.json +1 -9
@@ 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"]
}

M keyboards/lfkeyboards/lfk87/keymaps/ca178858/rules.mk => keyboards/lfkeyboards/lfk87/keymaps/ca178858/rules.mk +0 -19
@@ 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)\"

M keyboards/lfkeyboards/lfk87/keymaps/default/rules.mk => keyboards/lfkeyboards/lfk87/keymaps/default/rules.mk +0 -20
@@ 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)

M keyboards/lfkeyboards/lfk87/keymaps/gbchk/rules.mk => keyboards/lfkeyboards/lfk87/keymaps/gbchk/rules.mk +0 -18
@@ 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)

M keyboards/lfkeyboards/lfk87/keymaps/iso/rules.mk => keyboards/lfkeyboards/lfk87/keymaps/iso/rules.mk +0 -19
@@ 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)\"

M keyboards/lfkeyboards/lfk87/lfk87.h => keyboards/lfkeyboards/lfk87/lfk87.h +1 -76
@@ 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

M keyboards/lfkeyboards/lfk87/post_rules.mk => keyboards/lfkeyboards/lfk87/post_rules.mk +0 -6
@@ 1,9 1,3 @@
ifeq ($(LFK_REV), A)
    MCU = at90usb1286
else
    MCU = at90usb646
endif

ifeq ($(strip $(ISSI_ENABLE)), yes)
    OPT_DEFS += -DISSI_ENABLE
endif

A keyboards/lfkeyboards/lfk87/reva/info.json => keyboards/lfkeyboards/lfk87/reva/info.json +223 -0
@@ 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}
            ]
        }
    }
}

A keyboards/lfkeyboards/lfk87/reva/rules.mk => keyboards/lfkeyboards/lfk87/reva/rules.mk +0 -0
A keyboards/lfkeyboards/lfk87/revc/info.json => keyboards/lfkeyboards/lfk87/revc/info.json +223 -0
@@ 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}
            ]
        }
    }
}

A keyboards/lfkeyboards/lfk87/revc/rules.mk => keyboards/lfkeyboards/lfk87/revc/rules.mk +0 -0
M keyboards/lfkeyboards/lfk87/rules.mk => keyboards/lfkeyboards/lfk87/rules.mk +5 -13
@@ 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