F_CPU = 16000000
+# Boot Section Size in bytes
+# Teensy halfKay 512
+# Atmel DFU loader 4096
+# LUFA bootloader 4096
+OPT_DEFS += -DBOOTLOADER_SIZE=4096
+
+
# Build Options
# *Comment out* to disable the options.
#
-#MOUSEKEY_ENABLE = yes # Mouse keys
-#PS2_MOUSE_ENABLE = yes # PS/2 mouse(TrackPoint) support
-#EXTRAKEY_ENABLE = yes # Audio control and System control
-#NKRO_ENABLE = yes # USB Nkey Rollover
+#BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration(+1000)
+MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
+EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
+CONSOLE_ENABLE = yes # Console for debug(+400)
+COMMAND_ENABLE = yes # Commands for debug and configuration
+#SLEEP_LED_ENABLE = yes # Breathing sleep LED during USB suspend
+#NKRO_ENABLE = yes # USB Nkey Rollover - not yet supported in LUFA
OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-# Build Options
-# *Comment out* to disable the options.
-#
-MOUSEKEY_ENABLE = yes # Mouse keys
-#PS2_MOUSE_ENABLE = yes # PS/2 mouse(TrackPoint) support
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = yes # Console for debug
-#NKRO_ENABLE = yes # USB Nkey Rollover
-
-
# Boot Section Size in bytes
# Teensy halfKay 512
# Atmel DFU loader 4096
OPT_DEFS += -DBOOTLOADER_SIZE=4096
+# Build Options
+# comment out to disable the options.
+#
+#BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration(+1000)
+MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
+EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
+CONSOLE_ENABLE = yes # Console for debug(+400)
+COMMAND_ENABLE = yes # Commands for debug and configuration
+#SLEEP_LED_ENABLE = yes # Breathing sleep LED during USB suspend
+#NKRO_ENABLE = yes # USB Nkey Rollover - not yet supported in LUFA
+
+
#---------------- Programming Options --------------------------
PROGRAM_CMD = teensy_loader_cli -mmcu=$(MCU) -w -v $(TARGET).hex
include $(TOP_DIR)/protocol.mk
include $(TOP_DIR)/common.mk
include $(TOP_DIR)/rules.mk
-
-hasu: EXTRAFLAGS += -DHASU
-hasu: all
#define MATRIX_ROWS 14
#define MATRIX_COLS 8
-/* Locking Caps Lock support */
-//#define MATRIX_HAS_LOCKING_CAPS
+
+/* legacy keymap support */
+#define USE_LEGACY_KEYMAP
+
+
+/* Mechanical locking CapsLock support. Use KC_LCAP instead of KC_CAPS in keymap */
+#define CAPSLOCK_LOCKING_ENABLE
+/* Locking CapsLock resynchronize hack */
+#define CAPSLOCK_LOCKING_RESYNC_ENABLE
+
/* magic key */
#define IS_COMMAND() ( \
)
-/* mouse keys */
-#ifdef MOUSEKEY_ENABLE
-# define MOUSEKEY_DELAY_TIME 192
-#endif
-
-
/* ports */
#define M0110_CLOCK_PORT PORTF
#define M0110_CLOCK_PIN PINF
is_modified = false;
key = m0110_recv_key();
-#ifdef MATRIX_HAS_LOCKING_CAPS
- // Send Caps key up event
- if (matrix_is_on(ROW(CAPS), COL(CAPS))) {
- is_modified = true;
- register_key(CAPS_BREAK);
- }
-#endif
if (key == M0110_NULL) {
return 0;
} else if (key == M0110_ERROR) {
return 0;
} else {
-#ifdef MATRIX_HAS_LOCKING_CAPS
- if (host_keyboard_leds() & (1<<USB_LED_CAPS_LOCK)) {
- // CAPS LOCK on:
- // Ignore LockingCaps key down event
- if (key == CAPS) return 0;
- // Convert LockingCaps key up event into down event
- if (key == CAPS_BREAK) key = CAPS;
- } else {
- // CAPS LOCK off:
- // Ignore LockingCaps key up event
- if (key == CAPS_BREAK) return 0;
- }
-#endif
is_modified = true;
register_key(key);
}