diff --git a/converter/m0110_usb/Makefile b/converter/m0110_usb/Makefile
index bf0f083f6d..d98e68556a 100644
--- a/converter/m0110_usb/Makefile
+++ b/converter/m0110_usb/Makefile
@@ -32,13 +32,23 @@ MCU = atmega32u4 # Teensy 2.0
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
diff --git a/converter/m0110_usb/Makefile.lufa b/converter/m0110_usb/Makefile.lufa
index 8c12ca7834..8266409c8a 100644
--- a/converter/m0110_usb/Makefile.lufa
+++ b/converter/m0110_usb/Makefile.lufa
@@ -55,16 +55,6 @@ F_USB = $(F_CPU)
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
@@ -72,6 +62,18 @@ CONSOLE_ENABLE = yes # Console for debug
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
@@ -86,6 +88,3 @@ include $(TOP_DIR)/protocol/lufa.mk
include $(TOP_DIR)/protocol.mk
include $(TOP_DIR)/common.mk
include $(TOP_DIR)/rules.mk
-
-hasu: EXTRAFLAGS += -DHASU
-hasu: all
diff --git a/converter/m0110_usb/config.h b/converter/m0110_usb/config.h
index d43f283838..f7a4b9bc97 100644
--- a/converter/m0110_usb/config.h
+++ b/converter/m0110_usb/config.h
@@ -34,8 +34,16 @@ along with this program. If not, see .
#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() ( \
@@ -44,12 +52,6 @@ along with this program. If not, see .
)
-/* mouse keys */
-#ifdef MOUSEKEY_ENABLE
-# define MOUSEKEY_DELAY_TIME 192
-#endif
-
-
/* ports */
#define M0110_CLOCK_PORT PORTF
#define M0110_CLOCK_PIN PINF
diff --git a/converter/m0110_usb/matrix.c b/converter/m0110_usb/matrix.c
index c71a4874c2..2189c0b56f 100644
--- a/converter/m0110_usb/matrix.c
+++ b/converter/m0110_usb/matrix.c
@@ -74,31 +74,11 @@ uint8_t matrix_scan(void)
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<