WATCHDOG_ENABLE = yes # Resets keyboard if matrix_scan isn't run every 250ms
-ifndef QUANTUM_DIR
- include ../../../../Makefile
-endif
-
-ifeq ($(strip $(ISSI_ENABLE)), yes)
- TMK_COMMON_DEFS += -DISSI_ENABLE
-endif
-
-ifeq ($(strip $(WATCHDOG_ENABLE)), yes)
- TMK_COMMON_DEFS += -DWATCHDOG_ENABLE
-endif
-
-
# # 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
AUDIO_ENABLE = yes # Audio output on port C6
UNICODE_ENABLE = no # Unicode
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
-RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight.
+RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight.
RGBLIGHT_CUSTOM_DRIVER = yes # RGB code is implemented in lefkeyboards, not qmk base
SLEEP_LED_ENABLE = yes # Breathing sleep LED during USB suspend
TAP_DANCE_ENABLE = no
WATCHDOG_ENABLE = no # Resets keyboard if matrix_scan isn't run every 250ms
CAPSLOCK_LED = no # Toggle back light LED of Caps Lock
-ifndef QUANTUM_DIR
- include ../../../../Makefile
-endif
-
-ifeq ($(strip $(ISSI_ENABLE)), yes)
- TMK_COMMON_DEFS += -DISSI_ENABLE
-endif
-
-ifeq ($(strip $(WATCHDOG_ENABLE)), yes)
- TMK_COMMON_DEFS += -DWATCHDOG_ENABLE
-endif
-
-ifeq ($(strip $(CAPSLOCK_LED)), yes)
- TMK_COMMON_DEFS += -DCAPSLOCK_LED
-endif
# Override the LFK78 hardware version:
#
AUDIO_ENABLE = yes # Audio output on port C6
UNICODE_ENABLE = no # Unicode
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
-RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight.
+RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight.
RGBLIGHT_CUSTOM_DRIVER = yes # RGB code is implemented in lefkeyboards, not qmk base
SLEEP_LED_ENABLE = yes # Breathing sleep LED during USB suspend
TAP_DANCE_ENABLE = no
WATCHDOG_ENABLE = no # Resets keyboard if matrix_scan isn't run every 250ms
-ifndef QUANTUM_DIR
- include ../../../../Makefile
-endif
-
-ifeq ($(strip $(ISSI_ENABLE)), yes)
- TMK_COMMON_DEFS += -DISSI_ENABLE
-endif
-
-ifeq ($(strip $(WATCHDOG_ENABLE)), yes)
- TMK_COMMON_DEFS += -DWATCHDOG_ENABLE
-endif
-
# # Set the LFK78 hardware version. This is defined in rules.mk, but can be overidden here if desired
# #
AUDIO_ENABLE = yes # Audio output on port C6
UNICODE_ENABLE = no # Unicode
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
-RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight.
+RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight.
RGBLIGHT_CUSTOM_DRIVER = yes # RGB code is implemented in lefkeyboards, not qmk base
SLEEP_LED_ENABLE = yes # Breathing sleep LED during USB suspend
TAP_DANCE_ENABLE = no
WATCHDOG_ENABLE = no # Resets keyboard if matrix_scan isn't run every 250ms
CAPSLOCK_LED = no # Toggle back light LED of Caps Lock
-ifndef QUANTUM_DIR
- include ../../../../Makefile
-endif
-
-ifeq ($(strip $(ISSI_ENABLE)), yes)
- TMK_COMMON_DEFS += -DISSI_ENABLE
-endif
-
-ifeq ($(strip $(WATCHDOG_ENABLE)), yes)
- TMK_COMMON_DEFS += -DWATCHDOG_ENABLE
-endif
-
-ifeq ($(strip $(CAPSLOCK_LED)), yes)
- TMK_COMMON_DEFS += -DCAPSLOCK_LED
-endif
-
# Override the LFK78 hardware version:
#
# B - first public release, uses atmega32u4, has audio, ISSI matrix split between RGB and backlight
uint16_t click_time = CLICK_MS;
uint8_t click_toggle = CLICK_ENABLED;
+__attribute__((weak))
+const Layer_Info layer_info[] = {
+ // Layer Mask Red Green Blue
+ {0x00000000, 0xFFFFFFFF, {0x0000, 0x0FFF, 0x0000}}, // base layer - green
+ {0x00000002, 0xFFFFFFFE, {0x0000, 0x0000, 0x0FFF}}, // function layer - blue
+ {0x00000004, 0xFFFFFFFC, {0x0FFF, 0x0000, 0x0FFF}}, // settings layer - magenta
+ {0xFFFFFFFF, 0xFFFFFFFF, {0x0FFF, 0x0FFF, 0x0FFF}}, // unknown layer - REQUIRED - white
+};
+
void matrix_init_kb(void)
{
matrix_init_user();
# Interrupt driven control endpoint task(+60)
OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
+
+BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
+MOUSEKEY_ENABLE = no # Mouse keys(+4700)
+EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
+CONSOLE_ENABLE = no # Console for debug(+400)
+COMMAND_ENABLE = no # Commands for debug and configuration
+NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
+MIDI_ENABLE = no # MIDI controls
+AUDIO_ENABLE = yes # Audio output on port C6
+UNICODE_ENABLE = no # Unicode
+BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
+RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight.
+RGBLIGHT_CUSTOM_DRIVER = yes # RGB code is implemented in lefkeyboards, not qmk base
+SLEEP_LED_ENABLE = yes # Breathing sleep LED during USB suspend
+TAP_DANCE_ENABLE = no
+
+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
+CAPSLOCK_LED = no # Toggle back light LED of Caps Lock
+
+
+ifeq ($(strip $(ISSI_ENABLE)), yes)
+ TMK_COMMON_DEFS += -DISSI_ENABLE
+endif
+
+ifeq ($(strip $(WATCHDOG_ENABLE)), yes)
+ TMK_COMMON_DEFS += -DWATCHDOG_ENABLE
+endif
+
+ifeq ($(strip $(CAPSLOCK_LED)), yes)
+ TMK_COMMON_DEFS += -DCAPSLOCK_LED
+endif
+
+# # 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)\"
WATCHDOG_ENABLE = yes # Resets keyboard if matrix_scan isn't run every 250ms
-ifndef QUANTUM_DIR
- include ../../../../Makefile
-endif
-
-ifeq ($(strip $(ISSI_ENABLE)), yes)
- TMK_COMMON_DEFS += -DISSI_ENABLE
-endif
-
-ifeq ($(strip $(WATCHDOG_ENABLE)), yes)
- TMK_COMMON_DEFS += -DWATCHDOG_ENABLE
-endif
# # Set the LFK78 hardware version. This is defined in rules.mk, but can be overidden here if desired
WATCHDOG_ENABLE = no # Resets keyboard if matrix_scan isn't run every 250ms
-ifndef QUANTUM_DIR
- include ../../../../Makefile
-endif
-
-ifeq ($(strip $(ISSI_ENABLE)), yes)
- TMK_COMMON_DEFS += -DISSI_ENABLE
-endif
-
-ifeq ($(strip $(WATCHDOG_ENABLE)), yes)
- TMK_COMMON_DEFS += -DWATCHDOG_ENABLE
-endif
# Override the LFK87 hardware version.
WATCHDOG_ENABLE = no # Resets keyboard if matrix_scan isn't run every 250ms
-ifndef QUANTUM_DIR
- include ../../../../Makefile
-endif
-
-ifeq ($(strip $(ISSI_ENABLE)), yes)
- TMK_COMMON_DEFS += -DISSI_ENABLE
-endif
-
-ifeq ($(strip $(WATCHDOG_ENABLE)), yes)
- TMK_COMMON_DEFS += -DWATCHDOG_ENABLE
-endif
-
-
# Override the LFK87 hardware version.
#
# A - Green PCB. at90usb1286 Only 3 exist
WATCHDOG_ENABLE = no # Resets keyboard if matrix_scan isn't run every 250ms
-ifndef QUANTUM_DIR
- include ../../../../Makefile
-endif
-
-ifeq ($(strip $(ISSI_ENABLE)), yes)
- TMK_COMMON_DEFS += -DISSI_ENABLE
-endif
-
-ifeq ($(strip $(WATCHDOG_ENABLE)), yes)
- TMK_COMMON_DEFS += -DWATCHDOG_ENABLE
-endif
# # Set the LFK78 hardware version. This is defined in rules.mk, but can be overidden here if desired
uint16_t click_time = CLICK_MS;
uint8_t click_toggle = CLICK_ENABLED;
+__attribute__((weak))
+const Layer_Info layer_info[] = {
+ // Layer Mask Red Green Blue
+ {0x00000000, 0xFFFFFFFF, {0x00, 0xFF, 0x00}}, // base layers - green
+ {0x00000002, 0xFFFFFFFE, {0x00, 0x00, 0xFF}}, // function layer - blue
+ {0x00000004, 0xFFFFFFFC, {0xFF, 0x00, 0xFF}}, // settings layer - magenta
+ {0xFFFFFFFF, 0xFFFFFFFF, {0xFF, 0xFF, 0xFF}}, // unknown layer - REQUIRED - white
+};
+
void matrix_init_kb(void)
{
// put your keyboard start-up code here
OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
LAYOUTS = tkl_ansi tkl_iso
+
+# Build Options
+# change to "no" to disable the options, or define them in the Makefile in
+# the appropriate keymap folder that will get included automatically
+#
+
+BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
+MOUSEKEY_ENABLE = no # Mouse keys(+4700)
+EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
+CONSOLE_ENABLE = no # Console for debug(+400)
+COMMAND_ENABLE = no # Commands for debug and configuration
+NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
+MIDI_ENABLE = no # MIDI controls
+AUDIO_ENABLE = yes # Audio output on port C6
+UNICODE_ENABLE = no # Unicode
+BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
+RGBLIGHT_ENABLE = yes # Enable RGB underlight
+RGBLIGHT_CUSTOM_DRIVER = yes # RGB code is implemented in lefkeyboards, not WS2812
+SLEEP_LED_ENABLE = yes # Breathing sleep LED during USB suspend
+TAP_DANCE_ENABLE = no
+
+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
+
+
+
+ifeq ($(strip $(ISSI_ENABLE)), yes)
+ OPT_DEFS += -DISSI_ENABLE
+endif
+
+ifeq ($(strip $(WATCHDOG_ENABLE)), yes)
+ OPT_DEFS += -DWATCHDOG_ENABLE
+endif
AUDIO_ENABLE = no # Audio output on port C6
UNICODE_ENABLE = no # Unicode
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
-RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight.
+RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight.
RGBLIGHT_CUSTOM_DRIVER = yes # RGB code is implemented in lefkeyboards, not qmk base
SLEEP_LED_ENABLE = yes # Breathing sleep LED during USB suspend
TAP_DANCE_ENABLE = no
WATCHDOG_ENABLE = no # Resets keyboard if matrix_scan isn't run every 250ms
-ifndef QUANTUM_DIR
- include ../../../../Makefile
-endif
-
-ifeq ($(strip $(ISSI_ENABLE)), yes)
- TMK_COMMON_DEFS += -DISSI_ENABLE
-endif
-
-ifeq ($(strip $(WATCHDOG_ENABLE)), yes)
- TMK_COMMON_DEFS += -DWATCHDOG_ENABLE
-endif
# # Set the LFK78 hardware version. This is defined in rules.mk, but can be overidden here if desired
OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
LAYOUTS = numpad_6x4
+
+BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
+MOUSEKEY_ENABLE = no # Mouse keys(+4700)
+EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
+CONSOLE_ENABLE = no # Console for debug(+400)
+COMMAND_ENABLE = no # Commands for debug and configuration
+NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+MIDI_ENABLE = no # MIDI controls
+AUDIO_ENABLE = no # Audio output on port C6
+UNICODE_ENABLE = no # Unicode
+BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
+RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight.
+RGBLIGHT_CUSTOM_DRIVER = yes # RGB code is implemented in lefkeyboards, not qmk base
+SLEEP_LED_ENABLE = yes # Breathing sleep LED during USB suspend
+TAP_DANCE_ENABLE = no
+
+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
+
+
+ifeq ($(strip $(ISSI_ENABLE)), yes)
+ TMK_COMMON_DEFS += -DISSI_ENABLE
+endif
+
+ifeq ($(strip $(WATCHDOG_ENABLE)), yes)
+ TMK_COMMON_DEFS += -DWATCHDOG_ENABLE
+endif
WATCHDOG_ENABLE = yes # Resets keyboard if matrix_scan isn't run every 250ms
-ifndef QUANTUM_DIR
- include ../../../../Makefile
-endif
ifeq ($(strip $(ISSI_ENABLE)), yes)
TMK_COMMON_DEFS += -DISSI_ENABLE
WATCHDOG_ENABLE = yes # Resets keyboard if matrix_scan isn't run every 250ms
-ifndef QUANTUM_DIR
- include ../../../../Makefile
-endif
-
ifeq ($(strip $(ISSI_ENABLE)), yes)
TMK_COMMON_DEFS += -DISSI_ENABLE
endif
uint8_t click_toggle = CLICK_ENABLED;
float my_song[][2] = SONG(ZELDA_PUZZLE);
+// Colors of the layer indicator LED
+// This list needs to define layer 0xFFFFFFFF, it is the end of the list, and the unknown layer
+__attribute__((weak))
+const Layer_Info layer_info[] = {
+ // Layer Mask Red Green Blue
+ {0x00000000, 0xFFFFFFFF, {0x00, 0xFF, 0x00}}, // base layers - green
+ {0x00000002, 0xFFFFFFFE, {0x00, 0x00, 0xFF}}, // function layer - blue
+ {0x00000004, 0xFFFFFFFC, {0xFF, 0x00, 0xFF}}, // settings layer - magenta
+ {0xFFFFFFFF, 0xFFFFFFFF, {0xFF, 0xFF, 0xFF}}, // unknown layer - REQUIRED - white
+};
void matrix_init_kb(void)
{