aboutsummaryrefslogtreecommitdiffstats
path: root/keyboards/wilba_tech
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/wilba_tech')
-rw-r--r--keyboards/wilba_tech/rama_works_koyu/config.h26
-rw-r--r--keyboards/wilba_tech/rama_works_koyu/keymaps/via/keymap.c36
-rw-r--r--keyboards/wilba_tech/rama_works_koyu/keymaps/via/rules.mk1
-rw-r--r--keyboards/wilba_tech/rama_works_koyu/rama_works_koyu.h2
-rw-r--r--keyboards/wilba_tech/rama_works_koyu/rules.mk4
-rw-r--r--keyboards/wilba_tech/rama_works_m10_b/config.h27
-rw-r--r--keyboards/wilba_tech/rama_works_m10_b/keymaps/knops/config.h1
-rw-r--r--keyboards/wilba_tech/rama_works_m10_b/keymaps/via/keymap.c13
-rw-r--r--keyboards/wilba_tech/rama_works_m10_b/keymaps/via/rules.mk1
-rw-r--r--keyboards/wilba_tech/rama_works_m10_b/rules.mk8
-rw-r--r--keyboards/wilba_tech/rama_works_m60_a/config.h26
-rw-r--r--keyboards/wilba_tech/rama_works_m60_a/keymaps/via/keymap.c40
-rw-r--r--keyboards/wilba_tech/rama_works_m60_a/keymaps/via/rules.mk1
-rw-r--r--keyboards/wilba_tech/rama_works_m60_a/rama_works_m60_a.h2
-rw-r--r--keyboards/wilba_tech/rama_works_m60_a/rules.mk4
-rw-r--r--keyboards/wilba_tech/rama_works_m6_a/config.h26
-rw-r--r--keyboards/wilba_tech/rama_works_m6_a/keymaps/via/keymap.c16
-rw-r--r--keyboards/wilba_tech/rama_works_m6_a/keymaps/via/rules.mk1
-rw-r--r--keyboards/wilba_tech/rama_works_m6_a/rules.mk9
-rw-r--r--keyboards/wilba_tech/rama_works_m6_b/config.h26
-rw-r--r--keyboards/wilba_tech/rama_works_m6_b/keymaps/via/keymap.c16
-rw-r--r--keyboards/wilba_tech/rama_works_m6_b/keymaps/via/rules.mk1
-rw-r--r--keyboards/wilba_tech/rama_works_m6_b/rules.mk4
-rw-r--r--keyboards/wilba_tech/rama_works_u80_a/config.h27
-rw-r--r--keyboards/wilba_tech/rama_works_u80_a/keymaps/via/keymap.c37
-rw-r--r--keyboards/wilba_tech/rama_works_u80_a/keymaps/via/rules.mk1
-rw-r--r--keyboards/wilba_tech/rama_works_u80_a/rama_works_u80_a.h2
-rw-r--r--keyboards/wilba_tech/rama_works_u80_a/rules.mk5
-rw-r--r--keyboards/wilba_tech/via_api.h49
-rw-r--r--keyboards/wilba_tech/via_keycodes.h77
-rw-r--r--keyboards/wilba_tech/wt60_a/config.h25
-rw-r--r--keyboards/wilba_tech/wt60_a/keymaps/via/rules.mk3
-rw-r--r--keyboards/wilba_tech/wt60_a/rules.mk2
-rw-r--r--keyboards/wilba_tech/wt60_d/config.h20
-rw-r--r--keyboards/wilba_tech/wt60_d/keymaps/via/rules.mk3
-rw-r--r--keyboards/wilba_tech/wt60_d/rules.mk8
-rw-r--r--keyboards/wilba_tech/wt60_d/wt60_d.c18
-rw-r--r--keyboards/wilba_tech/wt65_a/config.h25
-rw-r--r--keyboards/wilba_tech/wt65_a/keymaps/via/rules.mk3
-rw-r--r--keyboards/wilba_tech/wt65_a/rules.mk2
-rw-r--r--keyboards/wilba_tech/wt65_b/config.h25
-rw-r--r--keyboards/wilba_tech/wt65_b/keymaps/via/rules.mk3
-rw-r--r--keyboards/wilba_tech/wt65_b/rules.mk2
-rw-r--r--keyboards/wilba_tech/wt69_a/config.h23
-rw-r--r--keyboards/wilba_tech/wt69_a/keymaps/via/rules.mk3
-rw-r--r--keyboards/wilba_tech/wt69_a/rules.mk2
-rw-r--r--keyboards/wilba_tech/wt75_a/config.h25
-rw-r--r--keyboards/wilba_tech/wt75_a/keymaps/via/rules.mk3
-rw-r--r--keyboards/wilba_tech/wt75_a/rules.mk2
-rw-r--r--keyboards/wilba_tech/wt75_b/config.h25
-rw-r--r--keyboards/wilba_tech/wt75_b/keymaps/via/rules.mk3
-rw-r--r--keyboards/wilba_tech/wt75_b/rules.mk2
-rw-r--r--keyboards/wilba_tech/wt75_c/config.h29
-rw-r--r--keyboards/wilba_tech/wt75_c/keymaps/via/rules.mk3
-rw-r--r--keyboards/wilba_tech/wt75_c/rules.mk2
-rw-r--r--keyboards/wilba_tech/wt80_a/config.h24
-rw-r--r--keyboards/wilba_tech/wt80_a/keymaps/via/rules.mk3
-rw-r--r--keyboards/wilba_tech/wt80_a/rules.mk2
-rw-r--r--keyboards/wilba_tech/wt8_a/config.h23
-rw-r--r--keyboards/wilba_tech/wt8_a/keymaps/via/rules.mk69
-rw-r--r--keyboards/wilba_tech/wt8_a/rules.mk2
-rw-r--r--keyboards/wilba_tech/wt_main.c434
-rw-r--r--keyboards/wilba_tech/wt_mono_backlight.c9
-rw-r--r--keyboards/wilba_tech/wt_rgb_backlight.c244
-rw-r--r--keyboards/wilba_tech/wt_rgb_backlight.h1
-rw-r--r--keyboards/wilba_tech/zeal60/config.h24
-rw-r--r--keyboards/wilba_tech/zeal60/keymaps/via/keymap.c38
-rw-r--r--keyboards/wilba_tech/zeal60/keymaps/via/rules.mk1
-rw-r--r--keyboards/wilba_tech/zeal60/rules.mk4
-rw-r--r--keyboards/wilba_tech/zeal60/zeal60.h2
-rw-r--r--keyboards/wilba_tech/zeal65/config.h24
-rw-r--r--keyboards/wilba_tech/zeal65/info.json2
-rw-r--r--keyboards/wilba_tech/zeal65/keymaps/split_bs/keymap.c8
-rw-r--r--keyboards/wilba_tech/zeal65/keymaps/via/keymap.c38
-rw-r--r--keyboards/wilba_tech/zeal65/keymaps/via/rules.mk1
-rw-r--r--keyboards/wilba_tech/zeal65/rules.mk4
-rw-r--r--keyboards/wilba_tech/zeal65/zeal65.h4
77 files changed, 690 insertions, 1021 deletions
diff --git a/keyboards/wilba_tech/rama_works_koyu/config.h b/keyboards/wilba_tech/rama_works_koyu/config.h
index f3e21aa15..9cbbd6620 100644
--- a/keyboards/wilba_tech/rama_works_koyu/config.h
+++ b/keyboards/wilba_tech/rama_works_koyu/config.h
@@ -18,7 +18,7 @@
#include "config_common.h"
// USB Device descriptor parameter
-#define VENDOR_ID 0x5241 // "RW"
+#define VENDOR_ID 0x5241 // "RA"
#define PRODUCT_ID 0x4B59 // "KY"
#define DEVICE_VER 0x0001
#define MANUFACTURER RAMA WORKS
@@ -119,24 +119,6 @@
#define RGB_BACKLIGHT_LAYER_2_INDICATOR { .color = { .h = 0, .s = 0 }, .index = 255 }
#define RGB_BACKLIGHT_LAYER_3_INDICATOR { .color = { .h = 0, .s = 0 }, .index = 255 }
-#define DYNAMIC_KEYMAP_LAYER_COUNT 4
-
-// EEPROM usage
-
-// TODO: refactor with new user EEPROM code (coming soon)
-#define EEPROM_MAGIC 0x451F
-#define EEPROM_MAGIC_ADDR 34
-// Bump this every time we change what we store
-// This will automatically reset the EEPROM with defaults
-// and avoid loading invalid data from the EEPROM
-#define EEPROM_VERSION 0x08
-#define EEPROM_VERSION_ADDR 36
-
-// Backlight config starts after EEPROM version
-#define RGB_BACKLIGHT_CONFIG_EEPROM_ADDR 37
-// Dynamic keymap starts after backlight config (37+31)
-#define DYNAMIC_KEYMAP_EEPROM_ADDR 68
-// Dynamic macro starts after dynamic keymaps (68+(4*5*15*2)) = (68+600)
-#define DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR 668
-#define DYNAMIC_KEYMAP_MACRO_EEPROM_SIZE 356
-#define DYNAMIC_KEYMAP_MACRO_COUNT 16
+// Backlight config starts after VIA's EEPROM usage,
+// dynamic keymaps start after this.
+#define VIA_EEPROM_CUSTOM_CONFIG_SIZE 31 \ No newline at end of file
diff --git a/keyboards/wilba_tech/rama_works_koyu/keymaps/via/keymap.c b/keyboards/wilba_tech/rama_works_koyu/keymaps/via/keymap.c
new file mode 100644
index 000000000..f6bc94fbd
--- /dev/null
+++ b/keyboards/wilba_tech/rama_works_koyu/keymaps/via/keymap.c
@@ -0,0 +1,36 @@
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ // Default layer
+ [0] = LAYOUT_all(
+ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_DEL, KC_HOME,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC, KC_PGUP,
+ KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END,
+ MO(1), KC_LGUI, KC_LALT, KC_SPC, MO(2), KC_LEFT, KC_DOWN, KC_RGHT),
+
+ // Fn1 Layer
+ [1] = LAYOUT_all(
+ KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL, KC_TRNS,
+ KC_CAPS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_EJCT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
+
+ // Fn2 Layer
+ [2] = LAYOUT_all(
+ KC_TRNS, EF_DEC, EF_INC, H1_DEC, H1_INC, H2_DEC, H2_INC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, BR_DEC, BR_INC, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, S1_DEC, S1_INC, S2_DEC, S2_INC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, ES_DEC, ES_INC, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
+
+ // Fn3 Layer
+ [3] = LAYOUT_all(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
+};
diff --git a/keyboards/wilba_tech/rama_works_koyu/keymaps/via/rules.mk b/keyboards/wilba_tech/rama_works_koyu/keymaps/via/rules.mk
new file mode 100644
index 000000000..1e5b99807
--- /dev/null
+++ b/keyboards/wilba_tech/rama_works_koyu/keymaps/via/rules.mk
@@ -0,0 +1 @@
+VIA_ENABLE = yes
diff --git a/keyboards/wilba_tech/rama_works_koyu/rama_works_koyu.h b/keyboards/wilba_tech/rama_works_koyu/rama_works_koyu.h
index f51bc5c61..b9c033e09 100644
--- a/keyboards/wilba_tech/rama_works_koyu/rama_works_koyu.h
+++ b/keyboards/wilba_tech/rama_works_koyu/rama_works_koyu.h
@@ -18,7 +18,7 @@
#include "quantum.h"
#include "keyboards/wilba_tech/wt_rgb_backlight_keycodes.h"
-#include "keyboards/wilba_tech/via_keycodes.h"
+#include "via.h"
#define ____ KC_NO
diff --git a/keyboards/wilba_tech/rama_works_koyu/rules.mk b/keyboards/wilba_tech/rama_works_koyu/rules.mk
index cf6a8a96a..80a3b32b2 100644
--- a/keyboards/wilba_tech/rama_works_koyu/rules.mk
+++ b/keyboards/wilba_tech/rama_works_koyu/rules.mk
@@ -20,7 +20,7 @@ OPT_DEFS += -DNO_SUSPEND_POWER_DOWN
# 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)
+BOOTMAGIC_ENABLE = lite # 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)
@@ -36,8 +36,6 @@ RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-RAW_ENABLE = yes
-DYNAMIC_KEYMAP_ENABLE = yes
CIE1931_CURVE = yes
# project specific files
diff --git a/keyboards/wilba_tech/rama_works_m10_b/config.h b/keyboards/wilba_tech/rama_works_m10_b/config.h
index f72ecae85..d2e67e0c9 100644
--- a/keyboards/wilba_tech/rama_works_m10_b/config.h
+++ b/keyboards/wilba_tech/rama_works_m10_b/config.h
@@ -15,13 +15,12 @@ You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-#ifndef CONFIG_H
-#define CONFIG_H
+#pragma once
#include "config_common.h"
/* USB Device descriptor parameter */
-#define VENDOR_ID 0x5241 // "RW"
+#define VENDOR_ID 0x5241 // "RA"
#define PRODUCT_ID 0x00AB // 10-B
#define DEVICE_VER 0x0001
#define MANUFACTURER RAMA WORKS
@@ -180,25 +179,3 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */
//#define MIDI_TONE_KEYCODE_OCTAVES 1
-
-#define DYNAMIC_KEYMAP_LAYER_COUNT 4
-
-// EEPROM usage
-
-// TODO: refactor with new user EEPROM code (coming soon)
-#define EEPROM_MAGIC 0x451F
-#define EEPROM_MAGIC_ADDR 34
-// Bump this every time we change what we store
-// This will automatically reset the EEPROM with defaults
-// and avoid loading invalid data from the EEPROM
-#define EEPROM_VERSION 0x08
-#define EEPROM_VERSION_ADDR 36
-
-// Dynamic keymap starts after EEPROM version
-#define DYNAMIC_KEYMAP_EEPROM_ADDR 37
-// Dynamic macro starts after dynamic keymaps (37+(4*10*2)) = (37+80)
-#define DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR 117
-#define DYNAMIC_KEYMAP_MACRO_EEPROM_SIZE 907
-#define DYNAMIC_KEYMAP_MACRO_COUNT 16
-
-#endif
diff --git a/keyboards/wilba_tech/rama_works_m10_b/keymaps/knops/config.h b/keyboards/wilba_tech/rama_works_m10_b/keymaps/knops/config.h
index 7c3ec9601..511dc9537 100644
--- a/keyboards/wilba_tech/rama_works_m10_b/keymaps/knops/config.h
+++ b/keyboards/wilba_tech/rama_works_m10_b/keymaps/knops/config.h
@@ -19,6 +19,7 @@
#include "../../config.h"
+#undef VIA_ENABLE
#undef RAW_ENABLE
#undef DYNAMIC_KEYMAP_ENABLE
diff --git a/keyboards/wilba_tech/rama_works_m10_b/keymaps/via/keymap.c b/keyboards/wilba_tech/rama_works_m10_b/keymaps/via/keymap.c
new file mode 100644
index 000000000..8c97a5cfb
--- /dev/null
+++ b/keyboards/wilba_tech/rama_works_m10_b/keymaps/via/keymap.c
@@ -0,0 +1,13 @@
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ LAYOUT(
+ KC_KP_7, KC_KP_8, KC_KP_9, KC_KP_4, KC_KP_5, KC_KP_6, KC_KP_1, KC_KP_2, KC_KP_3, KC_KP_0 ),
+ LAYOUT(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ),
+ LAYOUT(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ),
+ LAYOUT(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS )
+};
diff --git a/keyboards/wilba_tech/rama_works_m10_b/keymaps/via/rules.mk b/keyboards/wilba_tech/rama_works_m10_b/keymaps/via/rules.mk
new file mode 100644
index 000000000..1e5b99807
--- /dev/null
+++ b/keyboards/wilba_tech/rama_works_m10_b/keymaps/via/rules.mk
@@ -0,0 +1 @@
+VIA_ENABLE = yes
diff --git a/keyboards/wilba_tech/rama_works_m10_b/rules.mk b/keyboards/wilba_tech/rama_works_m10_b/rules.mk
index 07372d0ac..e970f6c7a 100644
--- a/keyboards/wilba_tech/rama_works_m10_b/rules.mk
+++ b/keyboards/wilba_tech/rama_works_m10_b/rules.mk
@@ -14,7 +14,7 @@ BOOTLOADER = atmel-dfu
# Build Options
# change yes to no to disable
#
-BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
+BOOTMAGIC_ENABLE = lite # 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)
@@ -29,9 +29,3 @@ UNICODE_ENABLE = no # Unicode
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
AUDIO_ENABLE = no # Audio output on port C6
FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches
-
-RAW_ENABLE = yes
-DYNAMIC_KEYMAP_ENABLE = yes
-
-# project specific files
-SRC = keyboards/wilba_tech/wt_main.c
diff --git a/keyboards/wilba_tech/rama_works_m60_a/config.h b/keyboards/wilba_tech/rama_works_m60_a/config.h
index 1ee76750c..8381a4db0 100644
--- a/keyboards/wilba_tech/rama_works_m60_a/config.h
+++ b/keyboards/wilba_tech/rama_works_m60_a/config.h
@@ -18,7 +18,7 @@
#include "config_common.h"
// USB Device descriptor parameter
-#define VENDOR_ID 0x5241 // "RW"
+#define VENDOR_ID 0x5241 // "RA"
#define PRODUCT_ID 0x060A // 60-A
#define DEVICE_VER 0x0001
#define MANUFACTURER RAMA WORKS
@@ -116,24 +116,6 @@
#define RGB_BACKLIGHT_LAYER_2_INDICATOR { .color = { .h = 0, .s = 0 }, .index = 255 }
#define RGB_BACKLIGHT_LAYER_3_INDICATOR { .color = { .h = 0, .s = 0 }, .index = 255 }
-#define DYNAMIC_KEYMAP_LAYER_COUNT 4
-
-// EEPROM usage
-
-// TODO: refactor with new user EEPROM code (coming soon)
-#define EEPROM_MAGIC 0x451F
-#define EEPROM_MAGIC_ADDR 34
-// Bump this every time we change what we store
-// This will automatically reset the EEPROM with defaults
-// and avoid loading invalid data from the EEPROM
-#define EEPROM_VERSION 0x08
-#define EEPROM_VERSION_ADDR 36
-
-// Backlight config starts after EEPROM version
-#define RGB_BACKLIGHT_CONFIG_EEPROM_ADDR 37
-// Dynamic keymap starts after backlight config (37+31)
-#define DYNAMIC_KEYMAP_EEPROM_ADDR 68
-// Dynamic macro starts after dynamic keymaps (68+(4*5*14*2)) = (68+560)
-#define DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR 628
-#define DYNAMIC_KEYMAP_MACRO_EEPROM_SIZE 396
-#define DYNAMIC_KEYMAP_MACRO_COUNT 16
+// Backlight config starts after VIA's EEPROM usage,
+// dynamic keymaps start after this.
+#define VIA_EEPROM_CUSTOM_CONFIG_SIZE 31
diff --git a/keyboards/wilba_tech/rama_works_m60_a/keymaps/via/keymap.c b/keyboards/wilba_tech/rama_works_m60_a/keymaps/via/keymap.c
new file mode 100644
index 000000000..7b6d9b756
--- /dev/null
+++ b/keyboards/wilba_tech/rama_works_m60_a/keymaps/via/keymap.c
@@ -0,0 +1,40 @@
+// M60-A layout
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+// Default layer
+[0] = LAYOUT_60_hhkb(
+ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_DEL,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC,
+ KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, FN_MO13,
+ KC_LGUI, KC_LALT, KC_SPC, KC_RALT, FN_MO23),
+
+// Fn1 Layer
+[1] = LAYOUT_60_hhkb(
+ KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL,
+ KC_CAPS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_EJCT, KC_TRNS, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
+
+// Fn2 Layer
+[2] = LAYOUT_60_hhkb(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
+
+// Fn3 Layer (zeal60 Configuration)
+[3] = LAYOUT_60_hhkb(
+ KC_TRNS, EF_DEC, EF_INC, H1_DEC, H1_INC, H2_DEC, H2_INC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, BR_DEC, BR_INC, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, S1_DEC, S1_INC, S2_DEC, S2_INC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, ES_DEC, ES_INC, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
+
+};
+
+
diff --git a/keyboards/wilba_tech/rama_works_m60_a/keymaps/via/rules.mk b/keyboards/wilba_tech/rama_works_m60_a/keymaps/via/rules.mk
new file mode 100644
index 000000000..1e5b99807
--- /dev/null
+++ b/keyboards/wilba_tech/rama_works_m60_a/keymaps/via/rules.mk
@@ -0,0 +1 @@
+VIA_ENABLE = yes
diff --git a/keyboards/wilba_tech/rama_works_m60_a/rama_works_m60_a.h b/keyboards/wilba_tech/rama_works_m60_a/rama_works_m60_a.h
index 01e096fee..2c690122b 100644
--- a/keyboards/wilba_tech/rama_works_m60_a/rama_works_m60_a.h
+++ b/keyboards/wilba_tech/rama_works_m60_a/rama_works_m60_a.h
@@ -17,7 +17,7 @@
#include "quantum.h"
#include "keyboards/wilba_tech/wt_rgb_backlight_keycodes.h"
-#include "keyboards/wilba_tech/via_keycodes.h"
+#include "via.h"
#define XXX KC_NO
diff --git a/keyboards/wilba_tech/rama_works_m60_a/rules.mk b/keyboards/wilba_tech/rama_works_m60_a/rules.mk
index 1dec6c074..e4e934bdb 100644
--- a/keyboards/wilba_tech/rama_works_m60_a/rules.mk
+++ b/keyboards/wilba_tech/rama_works_m60_a/rules.mk
@@ -20,7 +20,7 @@ OPT_DEFS += -DNO_SUSPEND_POWER_DOWN
# 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)
+BOOTMAGIC_ENABLE = lite # 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)
@@ -36,8 +36,6 @@ RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-RAW_ENABLE = yes
-DYNAMIC_KEYMAP_ENABLE = yes
CIE1931_CURVE = yes
LAYOUTS = 60_hhkb
diff --git a/keyboards/wilba_tech/rama_works_m6_a/config.h b/keyboards/wilba_tech/rama_works_m6_a/config.h
index 07396450d..1a61604bb 100644
--- a/keyboards/wilba_tech/rama_works_m6_a/config.h
+++ b/keyboards/wilba_tech/rama_works_m6_a/config.h
@@ -18,7 +18,7 @@
#include "config_common.h"
/* USB Device descriptor parameter */
-#define VENDOR_ID 0x5241 // "RW"
+#define VENDOR_ID 0x5241 // "RA"
#define PRODUCT_ID 0x006A // 6-A
#define DEVICE_VER 0x0001
#define MANUFACTURER RAMA WORKS
@@ -103,27 +103,9 @@
#define RGB_BACKLIGHT_ENABLED 0
-#define DYNAMIC_KEYMAP_LAYER_COUNT 4
-
-// EEPROM usage
-
-// TODO: refactor with new user EEPROM code (coming soon)
-#define EEPROM_MAGIC 0x451F
-#define EEPROM_MAGIC_ADDR 34
-// Bump this every time we change what we store
-// This will automatically reset the EEPROM with defaults
-// and avoid loading invalid data from the EEPROM
-#define EEPROM_VERSION 0x08
-#define EEPROM_VERSION_ADDR 36
-
// NOTE: M6-A doesn't use RGB backlight, but we keep this
// consistent with M6-B which does.
-// Backlight config starts after EEPROM version
-#define RGB_BACKLIGHT_CONFIG_EEPROM_ADDR 37
-// Dynamic keymap starts after backlight config (37+43)
-#define DYNAMIC_KEYMAP_EEPROM_ADDR 80
-// Dynamic macro starts after dynamic keymaps (80+(4*6*2)) = (80+48)
-#define DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR 128
-#define DYNAMIC_KEYMAP_MACRO_EEPROM_SIZE 896
-#define DYNAMIC_KEYMAP_MACRO_COUNT 16
+// Backlight config starts after VIA's EEPROM usage,
+// dynamic keymaps start after this.
+#define VIA_EEPROM_CUSTOM_CONFIG_SIZE 43
diff --git a/keyboards/wilba_tech/rama_works_m6_a/keymaps/via/keymap.c b/keyboards/wilba_tech/rama_works_m6_a/keymaps/via/keymap.c
new file mode 100644
index 000000000..7a408fa8a
--- /dev/null
+++ b/keyboards/wilba_tech/rama_works_m6_a/keymaps/via/keymap.c
@@ -0,0 +1,16 @@
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ LAYOUT(
+ KC_1, KC_2, KC_3, KC_4, KC_5, KC_6),
+
+ LAYOUT(
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO),
+
+ LAYOUT(
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO),
+
+ LAYOUT(
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO) };
+
diff --git a/keyboards/wilba_tech/rama_works_m6_a/keymaps/via/rules.mk b/keyboards/wilba_tech/rama_works_m6_a/keymaps/via/rules.mk
new file mode 100644
index 000000000..1e5b99807
--- /dev/null
+++ b/keyboards/wilba_tech/rama_works_m6_a/keymaps/via/rules.mk
@@ -0,0 +1 @@
+VIA_ENABLE = yes
diff --git a/keyboards/wilba_tech/rama_works_m6_a/rules.mk b/keyboards/wilba_tech/rama_works_m6_a/rules.mk
index 5feee3112..26185cb38 100644
--- a/keyboards/wilba_tech/rama_works_m6_a/rules.mk
+++ b/keyboards/wilba_tech/rama_works_m6_a/rules.mk
@@ -19,7 +19,7 @@ OPT_DEFS += -DNO_SUSPEND_POWER_DOWN
# Build Options
# change yes to no to disable
#
-BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
+BOOTMAGIC_ENABLE = lite # 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)
@@ -34,10 +34,3 @@ RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. Do not enable this
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-
-RAW_ENABLE = yes
-DYNAMIC_KEYMAP_ENABLE = yes
-CIE1931_CURVE = no
-
-# project specific files
-SRC = keyboards/wilba_tech/wt_main.c
diff --git a/keyboards/wilba_tech/rama_works_m6_b/config.h b/keyboards/wilba_tech/rama_works_m6_b/config.h
index 535c64b80..3ebfd80da 100644
--- a/keyboards/wilba_tech/rama_works_m6_b/config.h
+++ b/keyboards/wilba_tech/rama_works_m6_b/config.h
@@ -18,7 +18,7 @@
#include "config_common.h"
/* USB Device descriptor parameter */
-#define VENDOR_ID 0x5241 // "RW"
+#define VENDOR_ID 0x5241 // "RA"
#define PRODUCT_ID 0x006B // 6-B
#define DEVICE_VER 0x0001
#define MANUFACTURER RAMA WORKS
@@ -149,24 +149,6 @@
#define RGB_BACKLIGHT_LAYER_2_INDICATOR { .color = { .h = 0, .s = 0 }, .index = 255 }
#define RGB_BACKLIGHT_LAYER_3_INDICATOR { .color = { .h = 0, .s = 0 }, .index = 255 }
-#define DYNAMIC_KEYMAP_LAYER_COUNT 4
-
-// EEPROM usage
-
-// TODO: refactor with new user EEPROM code (coming soon)
-#define EEPROM_MAGIC 0x451F
-#define EEPROM_MAGIC_ADDR 34
-// Bump this every time we change what we store
-// This will automatically reset the EEPROM with defaults
-// and avoid loading invalid data from the EEPROM
-#define EEPROM_VERSION 0x08
-#define EEPROM_VERSION_ADDR 36
-
-// Backlight config starts after EEPROM version
-#define RGB_BACKLIGHT_CONFIG_EEPROM_ADDR 37
-// Dynamic keymap starts after backlight config (37+43)
-#define DYNAMIC_KEYMAP_EEPROM_ADDR 80
-// Dynamic macro starts after dynamic keymaps (80+(4*6*2)) = (80+48)
-#define DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR 128
-#define DYNAMIC_KEYMAP_MACRO_EEPROM_SIZE 896
-#define DYNAMIC_KEYMAP_MACRO_COUNT 16
+// Backlight config starts after VIA's EEPROM usage,
+// dynamic keymaps start after this.
+#define VIA_EEPROM_CUSTOM_CONFIG_SIZE 43
diff --git a/keyboards/wilba_tech/rama_works_m6_b/keymaps/via/keymap.c b/keyboards/wilba_tech/rama_works_m6_b/keymaps/via/keymap.c
new file mode 100644
index 000000000..7a408fa8a
--- /dev/null
+++ b/keyboards/wilba_tech/rama_works_m6_b/keymaps/via/keymap.c
@@ -0,0 +1,16 @@
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ LAYOUT(
+ KC_1, KC_2, KC_3, KC_4, KC_5, KC_6),
+
+ LAYOUT(
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO),
+
+ LAYOUT(
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO),
+
+ LAYOUT(
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO) };
+
diff --git a/keyboards/wilba_tech/rama_works_m6_b/keymaps/via/rules.mk b/keyboards/wilba_tech/rama_works_m6_b/keymaps/via/rules.mk
new file mode 100644
index 000000000..1e5b99807
--- /dev/null
+++ b/keyboards/wilba_tech/rama_works_m6_b/keymaps/via/rules.mk
@@ -0,0 +1 @@
+VIA_ENABLE = yes
diff --git a/keyboards/wilba_tech/rama_works_m6_b/rules.mk b/keyboards/wilba_tech/rama_works_m6_b/rules.mk
index 4c14af06c..05212a3be 100644
--- a/keyboards/wilba_tech/rama_works_m6_b/rules.mk
+++ b/keyboards/wilba_tech/rama_works_m6_b/rules.mk
@@ -19,7 +19,7 @@ OPT_DEFS += -DNO_SUSPEND_POWER_DOWN
# Build Options
# change yes to no to disable
#
-BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
+BOOTMAGIC_ENABLE = lite # 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)
@@ -35,8 +35,6 @@ RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. Do not enable this
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-RAW_ENABLE = yes
-DYNAMIC_KEYMAP_ENABLE = yes
CIE1931_CURVE = yes
# project specific files
diff --git a/keyboards/wilba_tech/rama_works_u80_a/config.h b/keyboards/wilba_tech/rama_works_u80_a/config.h
index d0bf0ed1e..748b2cb29 100644
--- a/keyboards/wilba_tech/rama_works_u80_a/config.h
+++ b/keyboards/wilba_tech/rama_works_u80_a/config.h
@@ -19,7 +19,7 @@
#include "config_common.h"
/* USB Device descriptor parameter */
-#define VENDOR_ID 0x5241 // "RW"
+#define VENDOR_ID 0x5241 // "RA"
#define PRODUCT_ID 0x080A // 80-A
#define DEVICE_VER 0x0001
#define MANUFACTURER RAMA WORKS
@@ -232,25 +232,6 @@
#define RGB_BACKLIGHT_LAYER_2_INDICATOR { .color = { .h = 0, .s = 0 }, .index = 255 }
#define RGB_BACKLIGHT_LAYER_3_INDICATOR { .color = { .h = 0, .s = 0 }, .index = 255 }
-
-#define DYNAMIC_KEYMAP_LAYER_COUNT 4
-
-// EEPROM usage
-
-// TODO: refactor with new user EEPROM code (coming soon)
-#define EEPROM_MAGIC 0x451F
-#define EEPROM_MAGIC_ADDR 34
-// Bump this every time we change what we store
-// This will automatically reset the EEPROM with defaults
-// and avoid loading invalid data from the EEPROM
-#define EEPROM_VERSION 0x07
-#define EEPROM_VERSION_ADDR 36
-
-// Backlight config starts after EEPROM version
-#define RGB_BACKLIGHT_CONFIG_EEPROM_ADDR 37
-// Dynamic keymap starts after backlight config (37+31)
-#define DYNAMIC_KEYMAP_EEPROM_ADDR 68
-// Dynamic macro starts after dynamic keymaps (68+(4*6*17*2)) = (68+816)
-#define DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR 884
-#define DYNAMIC_KEYMAP_MACRO_EEPROM_SIZE 140
-#define DYNAMIC_KEYMAP_MACRO_COUNT 16
+// Backlight config starts after VIA's EEPROM usage,
+// dynamic keymaps start after this.
+#define VIA_EEPROM_CUSTOM_CONFIG_SIZE 31
diff --git a/keyboards/wilba_tech/rama_works_u80_a/keymaps/via/keymap.c b/keyboards/wilba_tech/rama_works_u80_a/keymaps/via/keymap.c
new file mode 100644
index 000000000..548843427
--- /dev/null
+++ b/keyboards/wilba_tech/rama_works_u80_a/keymaps/via/keymap.c
@@ -0,0 +1,37 @@
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ [0] = LAYOUT_all(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS,
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
+
+ [1] = LAYOUT_all(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, EF_DEC, EF_INC, H1_DEC, H1_INC, H2_DEC, H2_INC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, BR_DEC, BR_INC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, S1_DEC, S1_INC, S2_DEC, S2_INC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, ES_DEC, ES_INC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
+
+ [2] = LAYOUT_all(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
+
+ [3] = LAYOUT_all(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
+};
+
diff --git a/keyboards/wilba_tech/rama_works_u80_a/keymaps/via/rules.mk b/keyboards/wilba_tech/rama_works_u80_a/keymaps/via/rules.mk
new file mode 100644
index 000000000..1e5b99807
--- /dev/null
+++ b/keyboards/wilba_tech/rama_works_u80_a/keymaps/via/rules.mk
@@ -0,0 +1 @@
+VIA_ENABLE = yes
diff --git a/keyboards/wilba_tech/rama_works_u80_a/rama_works_u80_a.h b/keyboards/wilba_tech/rama_works_u80_a/rama_works_u80_a.h
index c057db4cc..c5380e4a6 100644
--- a/keyboards/wilba_tech/rama_works_u80_a/rama_works_u80_a.h
+++ b/keyboards/wilba_tech/rama_works_u80_a/rama_works_u80_a.h
@@ -18,7 +18,7 @@
#include "quantum.h"
#include "keyboards/wilba_tech/wt_rgb_backlight_keycodes.h"
-#include "keyboards/wilba_tech/via_keycodes.h"
+#include "via.h"
#define ____ KC_NO
diff --git a/keyboards/wilba_tech/rama_works_u80_a/rules.mk b/keyboards/wilba_tech/rama_works_u80_a/rules.mk
index 0f02cd04f..443776d4a 100644
--- a/keyboards/wilba_tech/rama_works_u80_a/rules.mk
+++ b/keyboards/wilba_tech/rama_works_u80_a/rules.mk
@@ -14,7 +14,7 @@ BOOTLOADER = atmel-dfu
# Build Options
# change yes to no to disable
#
-BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
+BOOTMAGIC_ENABLE = lite # 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)
@@ -29,9 +29,6 @@ UNICODE_ENABLE = no # Unicode
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
AUDIO_ENABLE = no # Audio output on port C6
FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches
-
-RAW_ENABLE = yes
-DYNAMIC_KEYMAP_ENABLE = yes
CIE1931_CURVE = yes
# project specific files
diff --git a/keyboards/wilba_tech/via_api.h b/keyboards/wilba_tech/via_api.h
deleted file mode 100644
index f04bb1b46..000000000
--- a/keyboards/wilba_tech/via_api.h
+++ /dev/null
@@ -1,49 +0,0 @@
-/* Copyright 2017 Jason Williams (Wilba)
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#pragma once
-
-#define PROTOCOL_VERSION 0x0008
-
-enum via_command_id
-{
- id_get_protocol_version = 0x01, // always 0x01
- id_get_keyboard_value,
- id_set_keyboard_value,
- id_dynamic_keymap_get_keycode,
- id_dynamic_keymap_set_keycode,
- id_dynamic_keymap_reset,
- id_backlight_config_set_value,
- id_backlight_config_get_value,
- id_backlight_config_save,
- id_eeprom_reset,
- id_bootloader_jump,
- id_dynamic_keymap_macro_get_count,
- id_dynamic_keymap_macro_get_buffer_size,
- id_dynamic_keymap_macro_get_buffer,
- id_dynamic_keymap_macro_set_buffer,
- id_dynamic_keymap_macro_reset,
- id_dynamic_keymap_get_layer_count,
- id_dynamic_keymap_get_buffer,
- id_dynamic_keymap_set_buffer,
- id_unhandled = 0xFF,
-};
-
-enum via_keyboard_value_id
-{
- id_uptime = 0x01,
- id_firmware_version
-};
-
diff --git a/keyboards/wilba_tech/via_keycodes.h b/keyboards/wilba_tech/via_keycodes.h
deleted file mode 100644
index bed48d64b..000000000
--- a/keyboards/wilba_tech/via_keycodes.h
+++ /dev/null
@@ -1,77 +0,0 @@
-/* Copyright 2017 Jason Williams (Wilba)
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#pragma once
-
-// Can't use SAFE_RANGE here, it might change if someone adds
-// new values to enum quantum_keycodes.
-// Need to keep checking 0x5F10 is still in the safe range.
-// TODO: merge this into quantum_keycodes
-// Backlight keycodes are in range 0x5F00-0x5F0F
-enum via_keycodes {
- FN_MO13 = 0x5F10,
- FN_MO23,
- MACRO00,
- MACRO01,
- MACRO02,
- MACRO03,
- MACRO04,
- MACRO05,
- MACRO06,
- MACRO07,
- MACRO08,
- MACRO09,
- MACRO10,
- MACRO11,
- MACRO12,
- MACRO13,
- MACRO14,
- MACRO15,
-};
-
-enum user_keycodes {
- USER00 = 0x5F80,
- USER01,
- USER02,
- USER03,
- USER04,
- USER05,
- USER06,
- USER07,
- USER08,
- USER09,
- USER10,
- USER11,
- USER12,
- USER13,
- USER14,
- USER15,
-};
-
-// VIA specific "action functions", introduced with Zeal60
-// These are only valid IDs in action_function()
-// Use FN_TT13, FN_TT23, etc. in keymaps
-enum via_action_functions {
- TRIPLE_TAP_1_3 = 0x31,
- TRIPLE_TAP_2_3 = 0x32
-};
-
-// Bitwise OR the above with 0x0F00 to use in F(x) macro
-// This reserves the top 256 of the 4096 range of F(x) keycodes,
-// leaving the rest for use in fn_actions[] or actions in EEPROM.
-#define FN_TT13 F((0x0F00|TRIPLE_TAP_1_3))
-#define FN_TT23 F((0x0F00|TRIPLE_TAP_2_3))
-
-#define TG_NKRO MAGIC_TOGGLE_NKRO
diff --git a/keyboards/wilba_tech/wt60_a/config.h b/keyboards/wilba_tech/wt60_a/config.h
index 6e1e0e81c..269afbcb8 100644
--- a/keyboards/wilba_tech/wt60_a/config.h
+++ b/keyboards/wilba_tech/wt60_a/config.h
@@ -200,24 +200,7 @@
// the default effect speed (0-3)
#define MONO_BACKLIGHT_EFFECT_SPEED 0
-#define DYNAMIC_KEYMAP_LAYER_COUNT 4
-
-// EEPROM usage
-
-// TODO: refactor with new user EEPROM code (coming soon)
-#define EEPROM_MAGIC 0x4520
-#define EEPROM_MAGIC_ADDR 34
-// Bump this every time we change what we store
-// This will automatically reset the EEPROM with defaults
-// and avoid loading invalid data from the EEPROM
-#define EEPROM_VERSION 0x08
-#define EEPROM_VERSION_ADDR 36
-
-// Backlight config starts after EEPROM version
-#define MONO_BACKLIGHT_CONFIG_EEPROM_ADDR 37
-// Dynamic keymap starts after backlight config (37+7)
-#define DYNAMIC_KEYMAP_EEPROM_ADDR 44
-// Dynamic macro starts after dynamic keymaps (44+(4*5*14*2)) = (44+560)
-#define DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR 604
-#define DYNAMIC_KEYMAP_MACRO_EEPROM_SIZE 420
-#define DYNAMIC_KEYMAP_MACRO_COUNT 16
+// Backlight config starts after VIA's EEPROM usage,
+// dynamic keymaps start after this.
+#define VIA_EEPROM_CUSTOM_CONFIG_SIZE 7
+
diff --git a/keyboards/wilba_tech/wt60_a/keymaps/via/rules.mk b/keyboards/wilba_tech/wt60_a/keymaps/via/rules.mk
index 4880a57be..1e5b99807 100644
--- a/keyboards/wilba_tech/wt60_a/keymaps/via/rules.mk
+++ b/keyboards/wilba_tech/wt60_a/keymaps/via/rules.mk
@@ -1,2 +1 @@
-RAW_ENABLE = yes
-DYNAMIC_KEYMAP_ENABLE = yes
+VIA_ENABLE = yes
diff --git a/keyboards/wilba_tech/wt60_a/rules.mk b/keyboards/wilba_tech/wt60_a/rules.mk
index 111c94ee8..c59e94e83 100644
--- a/keyboards/wilba_tech/wt60_a/rules.mk
+++ b/keyboards/wilba_tech/wt60_a/rules.mk
@@ -14,7 +14,7 @@ BOOTLOADER = atmel-dfu
# Build Options
# change yes to no to disable
#
-BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
+BOOTMAGIC_ENABLE = lite # 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)
diff --git a/keyboards/wilba_tech/wt60_d/config.h b/keyboards/wilba_tech/wt60_d/config.h
index 066465d42..acb69ba04 100644
--- a/keyboards/wilba_tech/wt60_d/config.h
+++ b/keyboards/wilba_tech/wt60_d/config.h
@@ -178,23 +178,3 @@
/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */
//#define MIDI_TONE_KEYCODE_OCTAVES 1
-
-#define DYNAMIC_KEYMAP_LAYER_COUNT 4
-
-// EEPROM usage
-
-// TODO: refactor with new user EEPROM code (coming soon)
-#define EEPROM_MAGIC 0x451F
-#define EEPROM_MAGIC_ADDR 34
-// Bump this every time we change what we store
-// This will automatically reset the EEPROM with defaults
-// and avoid loading invalid data from the EEPROM
-#define EEPROM_VERSION 0x08
-#define EEPROM_VERSION_ADDR 36
-
-// Dynamic keymap starts after EEPROM version
-#define DYNAMIC_KEYMAP_EEPROM_ADDR 37
-// Dynamic macro starts after dynamic keymaps (37+(4*5*14*2)) = (37+560)
-#define DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR 597
-#define DYNAMIC_KEYMAP_MACRO_EEPROM_SIZE 427
-#define DYNAMIC_KEYMAP_MACRO_COUNT 16
diff --git a/keyboards/wilba_tech/wt60_d/keymaps/via/rules.mk b/keyboards/wilba_tech/wt60_d/keymaps/via/rules.mk
index 4880a57be..1e5b99807 100644
--- a/keyboards/wilba_tech/wt60_d/keymaps/via/rules.mk
+++ b/keyboards/wilba_tech/wt60_d/keymaps/via/rules.mk
@@ -1,2 +1 @@
-RAW_ENABLE = yes
-DYNAMIC_KEYMAP_ENABLE = yes
+VIA_ENABLE = yes
diff --git a/keyboards/wilba_tech/wt60_d/rules.mk b/keyboards/wilba_tech/wt60_d/rules.mk
index 07372d0ac..a5c98a1c6 100644
--- a/keyboards/wilba_tech/wt60_d/rules.mk
+++ b/keyboards/wilba_tech/wt60_d/rules.mk
@@ -14,7 +14,7 @@ BOOTLOADER = atmel-dfu
# Build Options
# change yes to no to disable
#
-BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
+BOOTMAGIC_ENABLE = lite # 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)
@@ -29,9 +29,3 @@ UNICODE_ENABLE = no # Unicode
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
AUDIO_ENABLE = no # Audio output on port C6
FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches
-
-RAW_ENABLE = yes
-DYNAMIC_KEYMAP_ENABLE = yes
-
-# project specific files
-SRC = keyboards/wilba_tech/wt_main.c
diff --git a/keyboards/wilba_tech/wt60_d/wt60_d.c b/keyboards/wilba_tech/wt60_d/wt60_d.c
index ccff6d62c..52a773368 100644
--- a/keyboards/wilba_tech/wt60_d/wt60_d.c
+++ b/keyboards/wilba_tech/wt60_d/wt60_d.c
@@ -1,17 +1 @@
-/* Copyright 2018 Jason Williams (Wilba)
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-// Nothing to see here, move along... ;-)
+#include "wt60_d.h"
diff --git a/keyboards/wilba_tech/wt65_a/config.h b/keyboards/wilba_tech/wt65_a/config.h
index 9d67c317b..ad4c120f4 100644
--- a/keyboards/wilba_tech/wt65_a/config.h
+++ b/keyboards/wilba_tech/wt65_a/config.h
@@ -197,24 +197,7 @@
// the default effect speed (0-3)
#define MONO_BACKLIGHT_EFFECT_SPEED 0
-#define DYNAMIC_KEYMAP_LAYER_COUNT 4
-
-// EEPROM usage
-
-// TODO: refactor with new user EEPROM code (coming soon)
-#define EEPROM_MAGIC 0x4520
-#define EEPROM_MAGIC_ADDR 34
-// Bump this every time we change what we store
-// This will automatically reset the EEPROM with defaults
-// and avoid loading invalid data from the EEPROM
-#define EEPROM_VERSION 0x08
-#define EEPROM_VERSION_ADDR 36
-
-// Backlight config starts after EEPROM version
-#define MONO_BACKLIGHT_CONFIG_EEPROM_ADDR 37
-// Dynamic keymap starts after backlight config (37+7)
-#define DYNAMIC_KEYMAP_EEPROM_ADDR 44
-// Dynamic macro starts after dynamic keymaps (44+(4*5*15*2)) = (44+600)
-#define DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR 644
-#define DYNAMIC_KEYMAP_MACRO_EEPROM_SIZE 380
-#define DYNAMIC_KEYMAP_MACRO_COUNT 16
+// Backlight config starts after VIA's EEPROM usage,
+// dynamic keymaps start after this.
+#define VIA_EEPROM_CUSTOM_CONFIG_SIZE 7
+
diff --git a/keyboards/wilba_tech/wt65_a/keymaps/via/rules.mk b/keyboards/wilba_tech/wt65_a/keymaps/via/rules.mk
index 4880a57be..1e5b99807 100644
--- a/keyboards/wilba_tech/wt65_a/keymaps/via/rules.mk
+++ b/keyboards/wilba_tech/wt65_a/keymaps/via/rules.mk
@@ -1,2 +1 @@
-RAW_ENABLE = yes
-DYNAMIC_KEYMAP_ENABLE = yes
+VIA_ENABLE = yes
diff --git a/keyboards/wilba_tech/wt65_a/rules.mk b/keyboards/wilba_tech/wt65_a/rules.mk
index 111c94ee8..c59e94e83 100644
--- a/keyboards/wilba_tech/wt65_a/rules.mk
+++ b/keyboards/wilba_tech/wt65_a/rules.mk
@@ -14,7 +14,7 @@ BOOTLOADER = atmel-dfu
# Build Options
# change yes to no to disable
#
-BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
+BOOTMAGIC_ENABLE = lite # 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)
diff --git a/keyboards/wilba_tech/wt65_b/config.h b/keyboards/wilba_tech/wt65_b/config.h
index 8b2437fc9..f98fa4e72 100644
--- a/keyboards/wilba_tech/wt65_b/config.h
+++ b/keyboards/wilba_tech/wt65_b/config.h
@@ -197,24 +197,7 @@
// the default effect speed (0-3)
#define MONO_BACKLIGHT_EFFECT_SPEED 0
-#define DYNAMIC_KEYMAP_LAYER_COUNT 4
-
-// EEPROM usage
-
-// TODO: refactor with new user EEPROM code (coming soon)
-#define EEPROM_MAGIC 0x4520
-#define EEPROM_MAGIC_ADDR 34
-// Bump this every time we change what we store
-// This will automatically reset the EEPROM with defaults
-// and avoid loading invalid data from the EEPROM
-#define EEPROM_VERSION 0x08
-#define EEPROM_VERSION_ADDR 36
-
-// Backlight config starts after EEPROM version
-#define MONO_BACKLIGHT_CONFIG_EEPROM_ADDR 37
-// Dynamic keymap starts after backlight config (37+7)
-#define DYNAMIC_KEYMAP_EEPROM_ADDR 44
-// Dynamic macro starts after dynamic keymaps (44+(4*5*15*2)) = (44+600)
-#define DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR 644
-#define DYNAMIC_KEYMAP_MACRO_EEPROM_SIZE 380
-#define DYNAMIC_KEYMAP_MACRO_COUNT 16
+// Backlight config starts after VIA's EEPROM usage,
+// dynamic keymaps start after this.
+#define VIA_EEPROM_CUSTOM_CONFIG_SIZE 7
+
diff --git a/keyboards/wilba_tech/wt65_b/keymaps/via/rules.mk b/keyboards/wilba_tech/wt65_b/keymaps/via/rules.mk
index 4880a57be..1e5b99807 100644
--- a/keyboards/wilba_tech/wt65_b/keymaps/via/rules.mk
+++ b/keyboards/wilba_tech/wt65_b/keymaps/via/rules.mk
@@ -1,2 +1 @@
-RAW_ENABLE = yes
-DYNAMIC_KEYMAP_ENABLE = yes
+VIA_ENABLE = yes
diff --git a/keyboards/wilba_tech/wt65_b/rules.mk b/keyboards/wilba_tech/wt65_b/rules.mk
index 111c94ee8..c59e94e83 100644
--- a/keyboards/wilba_tech/wt65_b/rules.mk
+++ b/keyboards/wilba_tech/wt65_b/rules.mk
@@ -14,7 +14,7 @@ BOOTLOADER = atmel-dfu
# Build Options
# change yes to no to disable
#
-BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
+BOOTMAGIC_ENABLE = lite # 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)
diff --git a/keyboards/wilba_tech/wt69_a/config.h b/keyboards/wilba_tech/wt69_a/config.h
index 57546cb49..b10745344 100644
--- a/keyboards/wilba_tech/wt69_a/config.h
+++ b/keyboards/wilba_tech/wt69_a/config.h
@@ -178,26 +178,3 @@
/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */
//#define MIDI_TONE_KEYCODE_OCTAVES 1
-
-// Does not use WT_MONO_BACKLIGHT
-//#define WT_MONO_BACKLIGHT
-
-#define DYNAMIC_KEYMAP_LAYER_COUNT 4
-
-// EEPROM usage
-
-// TODO: refactor with new user EEPROM code (coming soon)
-#define EEPROM_MAGIC 0x451F
-#define EEPROM_MAGIC_ADDR 34
-// Bump this every time we change what we store
-// This will automatically reset the EEPROM with defaults
-// and avoid loading invalid data from the EEPROM
-#define EEPROM_VERSION 0x08
-#define EEPROM_VERSION_ADDR 36
-
-// Dynamic keymap starts after EEPROM version
-#define DYNAMIC_KEYMAP_EEPROM_ADDR 37
-// Dynamic macro starts after dynamic keymaps (37+(4*5*17*2)) = (37+680)
-#define DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR 717
-#define DYNAMIC_KEYMAP_MACRO_EEPROM_SIZE 307
-#define DYNAMIC_KEYMAP_MACRO_COUNT 16
diff --git a/keyboards/wilba_tech/wt69_a/keymaps/via/rules.mk b/keyboards/wilba_tech/wt69_a/keymaps/via/rules.mk
index 4880a57be..1e5b99807 100644
--- a/keyboards/wilba_tech/wt69_a/keymaps/via/rules.mk
+++ b/keyboards/wilba_tech/wt69_a/keymaps/via/rules.mk
@@ -1,2 +1 @@
-RAW_ENABLE = yes
-DYNAMIC_KEYMAP_ENABLE = yes
+VIA_ENABLE = yes
diff --git a/keyboards/wilba_tech/wt69_a/rules.mk b/keyboards/wilba_tech/wt69_a/rules.mk
index 7d1c2aa1b..25f3ecbf1 100644
--- a/keyboards/wilba_tech/wt69_a/rules.mk
+++ b/keyboards/wilba_tech/wt69_a/rules.mk
@@ -14,7 +14,7 @@ BOOTLOADER = atmel-dfu
# Build Options
# change yes to no to disable
#
-BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
+BOOTMAGIC_ENABLE = lite # 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)
diff --git a/keyboards/wilba_tech/wt75_a/config.h b/keyboards/wilba_tech/wt75_a/config.h
index f63bbf69c..0c0a2ff08 100644
--- a/keyboards/wilba_tech/wt75_a/config.h
+++ b/keyboards/wilba_tech/wt75_a/config.h
@@ -200,24 +200,7 @@
// the default effect speed (0-3)
#define MONO_BACKLIGHT_EFFECT_SPEED 0
-#define DYNAMIC_KEYMAP_LAYER_COUNT 4
-
-// EEPROM usage
-
-// TODO: refactor with new user EEPROM code (coming soon)
-#define EEPROM_MAGIC 0x4520
-#define EEPROM_MAGIC_ADDR 34
-// Bump this every time we change what we store
-// This will automatically reset the EEPROM with defaults
-// and avoid loading invalid data from the EEPROM
-#define EEPROM_VERSION 0x08
-#define EEPROM_VERSION_ADDR 36
-
-// Backlight config starts after EEPROM version
-#define MONO_BACKLIGHT_CONFIG_EEPROM_ADDR 37
-// Dynamic keymap starts after backlight config (37+7)
-#define DYNAMIC_KEYMAP_EEPROM_ADDR 44
-// Dynamic macro starts after dynamic keymaps (44+(4*6*15*2)) = (44+720)
-#define DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR 764
-#define DYNAMIC_KEYMAP_MACRO_EEPROM_SIZE 260
-#define DYNAMIC_KEYMAP_MACRO_COUNT 16
+// Backlight config starts after VIA's EEPROM usage,
+// dynamic keymaps start after this.
+#define VIA_EEPROM_CUSTOM_CONFIG_SIZE 7
+
diff --git a/keyboards/wilba_tech/wt75_a/keymaps/via/rules.mk b/keyboards/wilba_tech/wt75_a/keymaps/via/rules.mk
index 4880a57be..1e5b99807 100644
--- a/keyboards/wilba_tech/wt75_a/keymaps/via/rules.mk
+++ b/keyboards/wilba_tech/wt75_a/keymaps/via/rules.mk
@@ -1,2 +1 @@
-RAW_ENABLE = yes
-DYNAMIC_KEYMAP_ENABLE = yes
+VIA_ENABLE = yes
diff --git a/keyboards/wilba_tech/wt75_a/rules.mk b/keyboards/wilba_tech/wt75_a/rules.mk
index 111c94ee8..c59e94e83 100644
--- a/keyboards/wilba_tech/wt75_a/rules.mk
+++ b/keyboards/wilba_tech/wt75_a/rules.mk
@@ -14,7 +14,7 @@ BOOTLOADER = atmel-dfu
# Build Options
# change yes to no to disable
#
-BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
+BOOTMAGIC_ENABLE = lite # 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)
diff --git a/keyboards/wilba_tech/wt75_b/config.h b/keyboards/wilba_tech/wt75_b/config.h
index b173b0241..0c7b3dbfa 100644
--- a/keyboards/wilba_tech/wt75_b/config.h
+++ b/keyboards/wilba_tech/wt75_b/config.h
@@ -200,24 +200,7 @@
// the default effect speed (0-3)
#define MONO_BACKLIGHT_EFFECT_SPEED 0
-#define DYNAMIC_KEYMAP_LAYER_COUNT 4
-
-// EEPROM usage
-
-// TODO: refactor with new user EEPROM code (coming soon)
-#define EEPROM_MAGIC 0x4520
-#define EEPROM_MAGIC_ADDR 34
-// Bump this every time we change what we store
-// This will automatically reset the EEPROM with defaults
-// and avoid loading invalid data from the EEPROM
-#define EEPROM_VERSION 0x08
-#define EEPROM_VERSION_ADDR 36
-
-// Backlight config starts after EEPROM version
-#define MONO_BACKLIGHT_CONFIG_EEPROM_ADDR 37
-// Dynamic keymap starts after backlight config (37+7)
-#define DYNAMIC_KEYMAP_EEPROM_ADDR 44
-// Dynamic macro starts after dynamic keymaps (44+(4*6*16*2)) = (44+768)
-#define DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR 812
-#define DYNAMIC_KEYMAP_MACRO_EEPROM_SIZE 212
-#define DYNAMIC_KEYMAP_MACRO_COUNT 16
+// Backlight config starts after VIA's EEPROM usage,
+// dynamic keymaps start after this.
+#define VIA_EEPROM_CUSTOM_CONFIG_SIZE 7
+
diff --git a/keyboards/wilba_tech/wt75_b/keymaps/via/rules.mk b/keyboards/wilba_tech/wt75_b/keymaps/via/rules.mk
index 4880a57be..1e5b99807 100644
--- a/keyboards/wilba_tech/wt75_b/keymaps/via/rules.mk
+++ b/keyboards/wilba_tech/wt75_b/keymaps/via/rules.mk
@@ -1,2 +1 @@
-RAW_ENABLE = yes
-DYNAMIC_KEYMAP_ENABLE = yes
+VIA_ENABLE = yes
diff --git a/keyboards/wilba_tech/wt75_b/rules.mk b/keyboards/wilba_tech/wt75_b/rules.mk
index 111c94ee8..c59e94e83 100644
--- a/keyboards/wilba_tech/wt75_b/rules.mk
+++ b/keyboards/wilba_tech/wt75_b/rules.mk
@@ -14,7 +14,7 @@ BOOTLOADER = atmel-dfu
# Build Options
# change yes to no to disable
#
-BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
+BOOTMAGIC_ENABLE = lite # 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)
diff --git a/keyboards/wilba_tech/wt75_c/config.h b/keyboards/wilba_tech/wt75_c/config.h
index 710599877..b84f2444d 100644
--- a/keyboards/wilba_tech/wt75_c/config.h
+++ b/keyboards/wilba_tech/wt75_c/config.h
@@ -198,26 +198,9 @@
#define MONO_BACKLIGHT_EFFECT 1
// the default effect speed (0-3)
-#define MONO_BACKLIGHT_EFFECT_SPEED 0
-
-#define DYNAMIC_KEYMAP_LAYER_COUNT 4
-
-// EEPROM usage
-
-// TODO: refactor with new user EEPROM code (coming soon)
-#define EEPROM_MAGIC 0x4520
-#define EEPROM_MAGIC_ADDR 34
-// Bump this every time we change what we store
-// This will automatically reset the EEPROM with defaults
-// and avoid loading invalid data from the EEPROM
-#define EEPROM_VERSION 0x08
-#define EEPROM_VERSION_ADDR 36
-
-// Backlight config starts after EEPROM version
-#define MONO_BACKLIGHT_CONFIG_EEPROM_ADDR 37
-// Dynamic keymap starts after backlight config (37+7)
-#define DYNAMIC_KEYMAP_EEPROM_ADDR 44
-// Dynamic macro starts after dynamic keymaps (44+(4*6*16*2)) = (44+768)
-#define DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR 812
-#define DYNAMIC_KEYMAP_MACRO_EEPROM_SIZE 212
-#define DYNAMIC_KEYMAP_MACRO_COUNT 16
+#define MONO_BACKLIGHT_EFFECT_SPEED 000
+
+// Backlight config starts after VIA's EEPROM usage,
+// dynamic keymaps start after this.
+#define VIA_EEPROM_CUSTOM_CONFIG_SIZE 7
+
diff --git a/keyboards/wilba_tech/wt75_c/keymaps/via/rules.mk b/keyboards/wilba_tech/wt75_c/keymaps/via/rules.mk
index 4880a57be..1e5b99807 100644
--- a/keyboards/wilba_tech/wt75_c/keymaps/via/rules.mk
+++ b/keyboards/wilba_tech/wt75_c/keymaps/via/rules.mk
@@ -1,2 +1 @@
-RAW_ENABLE = yes
-DYNAMIC_KEYMAP_ENABLE = yes
+VIA_ENABLE = yes
diff --git a/keyboards/wilba_tech/wt75_c/rules.mk b/keyboards/wilba_tech/wt75_c/rules.mk
index 111c94ee8..c59e94e83 100644
--- a/keyboards/wilba_tech/wt75_c/rules.mk
+++ b/keyboards/wilba_tech/wt75_c/rules.mk
@@ -14,7 +14,7 @@ BOOTLOADER = atmel-dfu
# Build Options
# change yes to no to disable
#
-BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
+BOOTMAGIC_ENABLE = lite # 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)
diff --git a/keyboards/wilba_tech/wt80_a/config.h b/keyboards/wilba_tech/wt80_a/config.h
index 15dac9047..b706956ef 100644
--- a/keyboards/wilba_tech/wt80_a/config.h
+++ b/keyboards/wilba_tech/wt80_a/config.h
@@ -197,24 +197,6 @@
// the default effect speed (0-3)
#define MONO_BACKLIGHT_EFFECT_SPEED 0
-#define DYNAMIC_KEYMAP_LAYER_COUNT 4
-
-// EEPROM usage
-
-// TODO: refactor with new user EEPROM code (coming soon)
-#define EEPROM_MAGIC 0x4520
-#define EEPROM_MAGIC_ADDR 34
-// Bump this every time we change what we store
-// This will automatically reset the EEPROM with defaults
-// and avoid loading invalid data from the EEPROM
-#define EEPROM_VERSION 0x08
-#define EEPROM_VERSION_ADDR 36
-
-// Backlight config starts after EEPROM version
-#define MONO_BACKLIGHT_CONFIG_EEPROM_ADDR 37
-// Dynamic keymap starts after backlight config (37+7)
-#define DYNAMIC_KEYMAP_EEPROM_ADDR 44
-// Dynamic macro starts after dynamic keymaps (44+(4*6*17*2)) = (44+816)
-#define DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR 860
-#define DYNAMIC_KEYMAP_MACRO_EEPROM_SIZE 164
-#define DYNAMIC_KEYMAP_MACRO_COUNT 16
+// Backlight config starts after VIA's EEPROM usage,
+// dynamic keymaps start after this.
+#define VIA_EEPROM_CUSTOM_CONFIG_SIZE 7
diff --git a/keyboards/wilba_tech/wt80_a/keymaps/via/rules.mk b/keyboards/wilba_tech/wt80_a/keymaps/via/rules.mk
index 4880a57be..1e5b99807 100644
--- a/keyboards/wilba_tech/wt80_a/keymaps/via/rules.mk
+++ b/keyboards/wilba_tech/wt80_a/keymaps/via/rules.mk
@@ -1,2 +1 @@
-RAW_ENABLE = yes
-DYNAMIC_KEYMAP_ENABLE = yes
+VIA_ENABLE = yes
diff --git a/keyboards/wilba_tech/wt80_a/rules.mk b/keyboards/wilba_tech/wt80_a/rules.mk
index 111c94ee8..c59e94e83 100644
--- a/keyboards/wilba_tech/wt80_a/rules.mk
+++ b/keyboards/wilba_tech/wt80_a/rules.mk
@@ -14,7 +14,7 @@ BOOTLOADER = atmel-dfu
# Build Options
# change yes to no to disable
#
-BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
+BOOTMAGIC_ENABLE = lite # 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)
diff --git a/keyboards/wilba_tech/wt8_a/config.h b/keyboards/wilba_tech/wt8_a/config.h
index 08556650d..9af0d0050 100644
--- a/keyboards/wilba_tech/wt8_a/config.h
+++ b/keyboards/wilba_tech/wt8_a/config.h
@@ -90,26 +90,3 @@
*
*/
//#define FORCE_NKRO
-
-// Does not use WT_MONO_BACKLIGHT
-// #define WT_MONO_BACKLIGHT
-
-#define DYNAMIC_KEYMAP_LAYER_COUNT 4
-
-// EEPROM usage
-
-// TODO: refactor with new user EEPROM code (coming soon)
-#define EEPROM_MAGIC 0x451F
-#define EEPROM_MAGIC_ADDR 34
-// Bump this every time we change what we store
-// This will automatically reset the EEPROM with defaults
-// and avoid loading invalid data from the EEPROM
-#define EEPROM_VERSION 0x08
-#define EEPROM_VERSION_ADDR 36
-
-// Dynamic keymap starts after EEPROM version
-#define DYNAMIC_KEYMAP_EEPROM_ADDR 37
-// Dynamic macro starts after dynamic keymaps (37+(4*1*8*2)) = (37+64)
-#define DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR 101
-#define DYNAMIC_KEYMAP_MACRO_EEPROM_SIZE 923
-#define DYNAMIC_KEYMAP_MACRO_COUNT 16
diff --git a/keyboards/wilba_tech/wt8_a/keymaps/via/rules.mk b/keyboards/wilba_tech/wt8_a/keymaps/via/rules.mk
index f072c6719..1e5b99807 100644
--- a/keyboards/wilba_tech/wt8_a/keymaps/via/rules.mk
+++ b/keyboards/wilba_tech/wt8_a/keymaps/via/rules.mk
@@ -1,68 +1 @@
-# project specific files
-SRC = keyboards/wilba_tech/wt_main.c
-
-# MCU name
-MCU = atmega32u4
-
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-
-# Boot Section
-BOOTLOADER = atmel-dfu
-
-
-# Build Options
-# change yes to no to disable
-#
-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
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-NKRO_ENABLE = yes # USB Nkey Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default
-MIDI_ENABLE = no # MIDI support (+2400 to 4200, depending on config)
-UNICODE_ENABLE = no # Unicode
-BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
-AUDIO_ENABLE = no # Audio output on port C6
-FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches
-
-RAW_ENABLE = yes
-DYNAMIC_KEYMAP_ENABLE = yes \ No newline at end of file
+VIA_ENABLE = yes
diff --git a/keyboards/wilba_tech/wt8_a/rules.mk b/keyboards/wilba_tech/wt8_a/rules.mk
index 7d1c2aa1b..25f3ecbf1 100644
--- a/keyboards/wilba_tech/wt8_a/rules.mk
+++ b/keyboards/wilba_tech/wt8_a/rules.mk
@@ -14,7 +14,7 @@ BOOTLOADER = atmel-dfu
# Build Options
# change yes to no to disable
#
-BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
+BOOTMAGIC_ENABLE = lite # 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)
diff --git a/keyboards/wilba_tech/wt_main.c b/keyboards/wilba_tech/wt_main.c
index 32fc6f9e4..1ad12ee4a 100644
--- a/keyboards/wilba_tech/wt_main.c
+++ b/keyboards/wilba_tech/wt_main.c
@@ -23,361 +23,177 @@
#if MONO_BACKLIGHT_ENABLED
#include "keyboards/wilba_tech/wt_mono_backlight.h"
#endif // MONO_BACKLIGHT_ENABLED
-#include "keyboards/wilba_tech/via_api.h" // Temporary hack
-#include "keyboards/wilba_tech/via_keycodes.h" // Temporary hack
-#include "raw_hid.h"
-#include "dynamic_keymap.h"
-#include "timer.h"
-#include "tmk_core/common/eeprom.h"
-
-bool eeprom_is_valid(void)
-{
- return (eeprom_read_word(((void*)EEPROM_MAGIC_ADDR)) == EEPROM_MAGIC &&
- eeprom_read_byte(((void*)EEPROM_VERSION_ADDR)) == EEPROM_VERSION);
-}
-
-void eeprom_set_valid(bool valid)
-{
- eeprom_update_word(((void*)EEPROM_MAGIC_ADDR), valid ? EEPROM_MAGIC : 0xFFFF);
- eeprom_update_byte(((void*)EEPROM_VERSION_ADDR), valid ? EEPROM_VERSION : 0xFF);
-}
-
-void eeprom_reset(void)
-{
- // Set the Zeal60 specific EEPROM state as invalid.
- eeprom_set_valid(false);
- // Set the TMK/QMK EEPROM state as invalid.
- eeconfig_disable();
-}
-
-#ifdef RAW_ENABLE
-
-void raw_hid_receive( uint8_t *data, uint8_t length )
-{
- uint8_t *command_id = &(data[0]);
- uint8_t *command_data = &(data[1]);
- switch ( *command_id )
- {
- case id_get_protocol_version:
- {
- command_data[0] = PROTOCOL_VERSION >> 8;
- command_data[1] = PROTOCOL_VERSION & 0xFF;
- break;
- }
- case id_get_keyboard_value:
- {
- if ( command_data[0] == id_uptime )
- {
- uint32_t value = timer_read32();
- command_data[1] = (value >> 24 ) & 0xFF;
- command_data[2] = (value >> 16 ) & 0xFF;
- command_data[3] = (value >> 8 ) & 0xFF;
- command_data[4] = value & 0xFF;
- }
- else
- {
- *command_id = id_unhandled;
- }
- break;
- }
-#ifdef DYNAMIC_KEYMAP_ENABLE
- case id_dynamic_keymap_get_keycode:
- {
- uint16_t keycode = dynamic_keymap_get_keycode( command_data[0], command_data[1], command_data[2] );
- command_data[3] = keycode >> 8;
- command_data[4] = keycode & 0xFF;
- break;
- }
- case id_dynamic_keymap_set_keycode:
- {
- dynamic_keymap_set_keycode( command_data[0], command_data[1], command_data[2], ( command_data[3] << 8 ) | command_data[4] );
- break;
- }
- case id_dynamic_keymap_reset:
- {
- dynamic_keymap_reset();
- break;
- }
- case id_dynamic_keymap_macro_get_count:
- {
- command_data[0] = dynamic_keymap_macro_get_count();
- break;
- }
- case id_dynamic_keymap_macro_get_buffer_size:
- {
- uint16_t size = dynamic_keymap_macro_get_buffer_size();
- command_data[0] = size >> 8;
- command_data[1] = size & 0xFF;
- break;
- }
- case id_dynamic_keymap_macro_get_buffer:
- {
- uint16_t offset = ( command_data[0] << 8 ) | command_data[1];
- uint16_t size = command_data[2]; // size <= 28
- dynamic_keymap_macro_get_buffer( offset, size, &command_data[3] );
- break;
- }
- case id_dynamic_keymap_macro_set_buffer:
- {
- uint16_t offset = ( command_data[0] << 8 ) | command_data[1];
- uint16_t size = command_data[2]; // size <= 28
- dynamic_keymap_macro_set_buffer( offset, size, &command_data[3] );
- break;
- }
- case id_dynamic_keymap_macro_reset:
- {
- dynamic_keymap_macro_reset();
- break;
- }
- case id_dynamic_keymap_get_layer_count:
- {
- command_data[0] = dynamic_keymap_get_layer_count();
- break;
- }
- case id_dynamic_keymap_get_buffer:
- {
- uint16_t offset = ( command_data[0] << 8 ) | command_data[1];
- uint16_t size = command_data[2]; // size <= 28
- dynamic_keymap_get_buffer( offset, size, &command_data[3] );
- break;
- }
- case id_dynamic_keymap_set_buffer:
- {
- uint16_t offset = ( command_data[0] << 8 ) | command_data[1];
- uint16_t size = command_data[2]; // size <= 28
- dynamic_keymap_set_buffer( offset, size, &command_data[3] );
- break;
- }
-#endif // DYNAMIC_KEYMAP_ENABLE
-#if RGB_BACKLIGHT_ENABLED || MONO_BACKLIGHT_ENABLED
- case id_backlight_config_set_value:
- {
- backlight_config_set_value(command_data);
- break;
- }
- case id_backlight_config_get_value:
- {
- backlight_config_get_value(command_data);
- break;
- }
- case id_backlight_config_save:
- {
- backlight_config_save();
- break;
- }
-#endif // RGB_BACKLIGHT_ENABLED || MONO_BACKLIGHT_ENABLED
- case id_eeprom_reset:
- {
- eeprom_reset();
- break;
- }
- case id_bootloader_jump:
- {
- // Need to send data back before the jump
- // Informs host that the command is handled
- raw_hid_send( data, length );
- // Give host time to read it
- wait_ms(100);
- bootloader_jump();
- break;
- }
- default:
- {
- // Unhandled message.
- *command_id = id_unhandled;
- break;
- }
- }
-
- // Return same buffer with values changed
- raw_hid_send( data, length );
-
-}
+#include "via.h"
+#ifndef VIA_ENABLE
+#include "tmk_core/common/eeprom.h"
+#include "version.h" // for QMK_BUILDDATE used in EEPROM magic
#endif
-void main_init(void)
+// Called from via_init() if VIA_ENABLE
+// Called from matrix_init_kb() if not VIA_ENABLE
+void via_init_kb(void)
{
- // If the EEPROM has the magic, the data is good.
- // OK to load from EEPROM.
- if (eeprom_is_valid()) {
-#if RGB_BACKLIGHT_ENABLED || MONO_BACKLIGHT_ENABLED
- backlight_config_load();
-#endif // RGB_BACKLIGHT_ENABLED || MONO_BACKLIGHT_ENABLED
- } else {
+ // If the EEPROM has the magic, the data is good.
+ // OK to load from EEPROM
+ if (via_eeprom_is_valid()) {
#if RGB_BACKLIGHT_ENABLED || MONO_BACKLIGHT_ENABLED
- // If the EEPROM has not been saved before, or is out of date,
- // save the default values to the EEPROM. Default values
- // come from construction of the backlight_config instance.
- backlight_config_save();
+ backlight_config_load();
#endif // RGB_BACKLIGHT_ENABLED || MONO_BACKLIGHT_ENABLED
-#ifdef DYNAMIC_KEYMAP_ENABLE
- // This resets the keymaps in EEPROM to what is in flash.
- dynamic_keymap_reset();
- // This resets the macros in EEPROM to nothing.
- dynamic_keymap_macro_reset();
-#endif // DYNAMIC_KEYMAP_ENABLE
- // Save the magic number last, in case saving was interrupted
- eeprom_set_valid(true);
- }
-
+ } else {
#if RGB_BACKLIGHT_ENABLED || MONO_BACKLIGHT_ENABLED
- // Initialize LED drivers for backlight.
- backlight_init_drivers();
-
- backlight_timer_init();
- backlight_timer_enable();
+ // If the EEPROM has not been saved before, or is out of date,
+ // save the default values to the EEPROM. Default values
+ // come from construction of the backlight_config instance.
+ backlight_config_save();
#endif // RGB_BACKLIGHT_ENABLED || MONO_BACKLIGHT_ENABLED
-}
-void bootmagic_lite(void)
-{
- // The lite version of TMK's bootmagic.
- // 100% less potential for accidentally making the
- // keyboard do stupid things.
+ // DO NOT set EEPROM valid here, let caller do this
+ }
- // We need multiple scans because debouncing can't be turned off.
- matrix_scan();
- wait_ms(DEBOUNCE);
- wait_ms(DEBOUNCE);
- matrix_scan();
+#if RGB_BACKLIGHT_ENABLED || MONO_BACKLIGHT_ENABLED
+ // Initialize LED drivers for backlight.
+ backlight_init_drivers();
- // If the Esc (matrix 0,0) is held down on power up,
- // reset the EEPROM valid state and jump to bootloader.
- if ( matrix_get_row(0) & (1<<0) ) {
- eeprom_reset();
- bootloader_jump();
- }
+ backlight_timer_init();
+ backlight_timer_enable();
+#endif // RGB_BACKLIGHT_ENABLED || MONO_BACKLIGHT_ENABLED
}
void matrix_init_kb(void)
{
- bootmagic_lite();
- main_init();
- matrix_init_user();
+ // If VIA is disabled, we still need to load backlight settings.
+ // Call via_init_kb() the same way as via_init(), with setting
+ // EEPROM valid afterwards.
+#ifndef VIA_ENABLE
+ via_init_kb();
+ via_eeprom_set_valid(true);
+#endif // VIA_ENABLE
+
+ matrix_init_user();
}
void matrix_scan_kb(void)
{
#if RGB_BACKLIGHT_ENABLED || MONO_BACKLIGHT_ENABLED
- // This only updates the LED driver buffers if something has changed.
- backlight_update_pwm_buffers();
+ // This only updates the LED driver buffers if something has changed.
+ backlight_update_pwm_buffers();
#endif // RGB_BACKLIGHT_ENABLED || MONO_BACKLIGHT_ENABLED
- matrix_scan_user();
+ matrix_scan_user();
}
bool process_record_kb(uint16_t keycode, keyrecord_t *record)
{
#if RGB_BACKLIGHT_ENABLED || MONO_BACKLIGHT_ENABLED
- process_record_backlight(keycode, record);
+ process_record_backlight(keycode, record);
#endif // RGB_BACKLIGHT_ENABLED || MONO_BACKLIGHT_ENABLED
- switch(keycode) {
- case FN_MO13:
- if (record->event.pressed) {
- layer_on(1);
- update_tri_layer(1, 2, 3);
- } else {
- layer_off(1);
- update_tri_layer(1, 2, 3);
- }
- return false;
- break;
- case FN_MO23:
- if (record->event.pressed) {
- layer_on(2);
- update_tri_layer(1, 2, 3);
- } else {
- layer_off(2);
- update_tri_layer(1, 2, 3);
- }
- return false;
- break;
- }
-
-#ifdef DYNAMIC_KEYMAP_ENABLE
- // Handle macros
- if (record->event.pressed) {
- if ( keycode >= MACRO00 && keycode <= MACRO15 )
- {
- uint8_t id = keycode - MACRO00;
- dynamic_keymap_macro_send(id);
- return false;
- }
- }
-#endif //DYNAMIC_KEYMAP_ENABLE
-
- return process_record_user(keycode, record);
-}
-
-// This overrides the one in quantum/keymap_common.c
-uint16_t keymap_function_id_to_action( uint16_t function_id )
-{
- // Zeal60 specific "action functions" are 0xF00 to 0xFFF
- // i.e. F(0xF00) to F(0xFFF) are mapped to
- // enum zeal60_action_functions by masking last 8 bits.
- if ( function_id >= 0x0F00 && function_id <= 0x0FFF )
- {
- uint8_t id = function_id & 0xFF;
- switch ( id ) {
- case TRIPLE_TAP_1_3:
- case TRIPLE_TAP_2_3:
- {
- return ACTION_FUNCTION_TAP(id);
- break;
- }
- default:
- break;
- }
- }
-
- return pgm_read_word(&fn_actions[function_id]);
-}
-
-
-// Zeal60 specific "action functions"
-void action_function(keyrecord_t *record, uint8_t id, uint8_t opt)
-{
- switch (id)
- {
- case TRIPLE_TAP_1_3:
- case TRIPLE_TAP_2_3:
- if (record->event.pressed) {
- layer_on( id == TRIPLE_TAP_1_3 ? 1 : 2 );
- if (record->tap.count && !record->tap.interrupted) {
- if (record->tap.count >= 3) {
- layer_invert(3);
- }
- } else {
- record->tap.count = 0;
- }
- } else {
- layer_off( id == TRIPLE_TAP_1_3 ? 1 : 2 );
- }
- break;
- }
+ return process_record_user(keycode, record);
}
void led_set_kb(uint8_t usb_led)
{
#if RGB_BACKLIGHT_ENABLED || MONO_BACKLIGHT_ENABLED
- backlight_set_indicator_state(usb_led);
+ backlight_set_indicator_state(usb_led);
#endif // RGB_BACKLIGHT_ENABLED || MONO_BACKLIGHT_ENABLED
- led_set_user(usb_led);
+ led_set_user(usb_led);
}
void suspend_power_down_kb(void)
{
#if RGB_BACKLIGHT_ENABLED || MONO_BACKLIGHT_ENABLED
- backlight_set_suspend_state(true);
+ backlight_set_suspend_state(true);
#endif // RGB_BACKLIGHT_ENABLED || MONO_BACKLIGHT_ENABLED
}
void suspend_wakeup_init_kb(void)
{
#if RGB_BACKLIGHT_ENABLED || MONO_BACKLIGHT_ENABLED
- backlight_set_suspend_state(false);
+ backlight_set_suspend_state(false);
#endif // RGB_BACKLIGHT_ENABLED || MONO_BACKLIGHT_ENABLED
}
+// Moving this to the bottom of this source file is a workaround
+// for an intermittent compiler error for Atmel compiler.
+#ifdef VIA_ENABLE
+void raw_hid_receive_kb(uint8_t *data, uint8_t length) {
+ uint8_t *command_id = &(data[0]);
+ uint8_t *command_data = &(data[1]);
+ switch ( *command_id )
+ {
+#if RGB_BACKLIGHT_ENABLED || MONO_BACKLIGHT_ENABLED
+ case id_backlight_config_set_value:
+ {
+ backlight_config_set_value(command_data);
+ break;
+ }
+ case id_backlight_config_get_value:
+ {
+ backlight_config_get_value(command_data);
+ break;
+ }
+ case id_backlight_config_save:
+ {
+ backlight_config_save();
+ break;
+ }
+#endif // RGB_BACKLIGHT_ENABLED || MONO_BACKLIGHT_ENABLED
+ default:
+ {
+ // Unhandled message.
+ *command_id = id_unhandled;
+ *command_data = *command_data; // force use of variable
+ break;
+ }
+ }
+ // DO NOT call raw_hid_send(data,length) here, let caller do this
+}
+#endif // VIA_ENABLE
+
+//
+// In the case of VIA being disabled, we still need to check if
+// keyboard level EEPROM memory is valid before loading.
+// Thus these are copies of the same functions in VIA, since
+// the backlight settings reuse VIA's EEPROM magic/version,
+// and the ones in via.c won't be compiled in.
+//
+// Yes, this is sub-optimal, and is only here for completeness
+// (i.e. catering to the 1% of people that want wilba.tech LED bling
+// AND want persistent settings BUT DON'T want to use dynamic keymaps/VIA).
+//
+#ifndef VIA_ENABLE
+
+bool via_eeprom_is_valid(void)
+{
+ char *p = QMK_BUILDDATE; // e.g. "2019-11-05-11:29:54"
+ uint8_t magic0 = ( ( p[2] & 0x0F ) << 4 ) | ( p[3] & 0x0F );
+ uint8_t magic1 = ( ( p[5] & 0x0F ) << 4 ) | ( p[6] & 0x0F );
+ uint8_t magic2 = ( ( p[8] & 0x0F ) << 4 ) | ( p[9] & 0x0F );
+
+ return (eeprom_read_byte( (void*)VIA_EEPROM_MAGIC_ADDR+0 ) == magic0 &&
+ eeprom_read_byte( (void*)VIA_EEPROM_MAGIC_ADDR+1 ) == magic1 &&
+ eeprom_read_byte( (void*)VIA_EEPROM_MAGIC_ADDR+2 ) == magic2 );
+}
+
+void via_eeprom_set_valid(bool valid)
+{
+ char *p = QMK_BUILDDATE; // e.g. "2019-11-05-11:29:54"
+ uint8_t magic0 = ( ( p[2] & 0x0F ) << 4 ) | ( p[3] & 0x0F );
+ uint8_t magic1 = ( ( p[5] & 0x0F ) << 4 ) | ( p[6] & 0x0F );
+ uint8_t magic2 = ( ( p[8] & 0x0F ) << 4 ) | ( p[9] & 0x0F );
+
+ eeprom_update_byte( (void*)VIA_EEPROM_MAGIC_ADDR+0, valid ? magic0 : 0xFF);
+ eeprom_update_byte( (void*)VIA_EEPROM_MAGIC_ADDR+1, valid ? magic1 : 0xFF);
+ eeprom_update_byte( (void*)VIA_EEPROM_MAGIC_ADDR+2, valid ? magic2 : 0xFF);
+}
+
+void via_eeprom_reset(void)
+{
+ // Set the VIA specific EEPROM state as invalid.
+ via_eeprom_set_valid(false);
+ // Set the TMK/QMK EEPROM state as invalid.
+ eeconfig_disable();
+}
+
+#endif // VIA_ENABLE
diff --git a/keyboards/wilba_tech/wt_mono_backlight.c b/keyboards/wilba_tech/wt_mono_backlight.c
index 69d82e582..daf738da2 100644
--- a/keyboards/wilba_tech/wt_mono_backlight.c
+++ b/keyboards/wilba_tech/wt_mono_backlight.c
@@ -19,12 +19,17 @@
#include "wt_rgb_backlight_api.h" // reuse these for now
#include "wt_rgb_backlight_keycodes.h" // reuse these for now
-#include "drivers/avr/i2c_master.h"
-#include "drivers/issi/is31fl3736.h"
#include <avr/interrupt.h>
+#include "drivers/avr/i2c_master.h"
#include "progmem.h"
#include "quantum/color.h"
+#include "tmk_core/common/eeprom.h"
+
+#include "via.h" // uses only the EEPROM address
+#define MONO_BACKLIGHT_CONFIG_EEPROM_ADDR (VIA_EEPROM_CUSTOM_CONFIG_ADDR)
+
+#include "drivers/issi/is31fl3736.h"
#define ISSI_ADDR_DEFAULT 0x50
diff --git a/keyboards/wilba_tech/wt_rgb_backlight.c b/keyboards/wilba_tech/wt_rgb_backlight.c
index ca8c3269f..babb844d2 100644
--- a/keyboards/wilba_tech/wt_rgb_backlight.c
+++ b/keyboards/wilba_tech/wt_rgb_backlight.c
@@ -14,9 +14,9 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-#if defined(RGB_BACKLIGHT_ZEAL60) || defined(RGB_BACKLIGHT_ZEAL65) || defined(RGB_BACKLIGHT_M60_A) || defined(RGB_BACKLIGHT_M6_B) || defined(RGB_BACKLIGHT_KOYU) || defined(RGB_BACKLIGHT_HS60) || defined(RGB_BACKLIGHT_NK65) || defined(RGB_BACKLIGHT_U80_A)
+#if defined(RGB_BACKLIGHT_ZEAL60) || defined(RGB_BACKLIGHT_ZEAL65) || defined(RGB_BACKLIGHT_M60_A) || defined(RGB_BACKLIGHT_M6_B) || defined(RGB_BACKLIGHT_KOYU) || defined(RGB_BACKLIGHT_HS60) || defined(RGB_BACKLIGHT_NK65) || defined(RGB_BACKLIGHT_U80_A) || defined(RGB_BACKLIGHT_DAWN60)
#else
-#error None of the following was defined: RGB_BACKLIGHT_ZEAL60, RGB_BACKLIGHT_ZEAL65, RGB_BACKLIGHT_M60_A, RGB_BACKLIGHT_M6_B, RGB_BACKLIGHT_KOYU, RGB_BACKLIGHT_HS60, RGB_BACKLIGHT_NK65, RGB_BACKLIGHT_U80_A
+#error None of the following was defined: RGB_BACKLIGHT_ZEAL60, RGB_BACKLIGHT_ZEAL65, RGB_BACKLIGHT_M60_A, RGB_BACKLIGHT_M6_B, RGB_BACKLIGHT_KOYU, RGB_BACKLIGHT_HS60, RGB_BACKLIGHT_NK65, RGB_BACKLIGHT_U80_A, RGB_BACKLIGHT_DAWN60
#endif
#ifndef MAX
@@ -33,18 +33,25 @@
#include "wt_rgb_backlight_keycodes.h"
#if !defined(RGB_BACKLIGHT_HS60) && !defined(RGB_BACKLIGHT_NK65)
-#include <avr/io.h>
-#include <util/delay.h>
#include <avr/interrupt.h>
#include "drivers/avr/i2c_master.h"
#else
#include "ch.h"
#include "hal.h"
#include "drivers/arm/i2c_master.h"
-#include "tmk_core/common/eeprom.h"
#endif
+
+#if defined(RGB_BACKLIGHT_DAWN60)
+#include "drivers/avr/ws2812.h"
+LED_TYPE g_ws2812_leds[WS2812_LED_TOTAL];
+#endif
+
#include "progmem.h"
#include "quantum/color.h"
+#include "tmk_core/common/eeprom.h"
+
+#include "via.h" // uses only the EEPROM address
+#define RGB_BACKLIGHT_CONFIG_EEPROM_ADDR (VIA_EEPROM_CUSTOM_CONFIG_ADDR)
#if defined(RGB_BACKLIGHT_M6_B)
#include "drivers/issi/is31fl3218.h"
@@ -59,6 +66,8 @@
#include "drivers/issi/is31fl3731.h"
#if defined(RGB_BACKLIGHT_U80_A)
#define BACKLIGHT_LED_COUNT 108
+#elif defined(RGB_BACKLIGHT_DAWN60)
+#define BACKLIGHT_LED_COUNT 84 //64 + 20
#else
#define BACKLIGHT_LED_COUNT 72
#endif
@@ -461,6 +470,87 @@ const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
{2, C9_16, C7_15, C6_15}, // LF16
{2, C8_16, C7_16, C6_16}, // LF17
};
+#elif defined(RGB_BACKLIGHT_DAWN60)
+// This is a 7-bit address, that gets left-shifted and bit 0
+// set to 0 for write, 1 for read (as per I2C protocol)
+#define ISSI_ADDR_1 0x74
+#define ISSI_ADDR_2 0x76
+
+const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
+/* Refer to IS31 manual for these locations
+ * driver
+ * | R location
+ * | | G location
+ * | | | B location
+ * | | | | */
+ {0, C1_1, C3_2, C4_2}, //A1
+ {0, C1_2, C2_2, C4_3}, //A2
+ {0, C1_3, C2_3, C3_3}, //A3
+ {0, C1_4, C2_4, C3_4}, //A4
+ {0, C1_5, C2_5, C3_5}, //A5
+ {0, C1_6, C2_6, C3_6}, //A6
+ {0, C1_7, C2_7, C3_7}, //A7
+ {0, C1_8, C2_8, C3_8}, //A8
+ {0, C9_1, C8_1, C7_1}, //A9
+ {0, C9_2, C8_2, C7_2}, //A10
+ {0, C9_3, C8_3, C7_3}, //A11
+ {0, C9_4, C8_4, C7_4}, //A12
+ {0, C9_5, C8_5, C7_5}, //A13
+ {0, C9_6, C8_6, C7_6}, //A14
+ {0, C9_7, C8_7, C6_6}, //A15
+ {0, C9_8, C7_7, C6_7}, //A16
+
+ {0, C1_9, C3_10, C4_10}, //B1
+ {0, C1_10, C2_10, C4_11}, //B2
+ {0, C1_11, C2_11, C3_11}, //B3
+ {0, C1_12, C2_12, C3_12}, //B4
+ {0, C1_13, C2_13, C3_13}, //B5
+ {0, C1_14, C2_14, C3_14}, //B6
+ {0, C1_15, C2_15, C3_15}, //B7
+ {0, C1_16, C2_16, C3_16}, //B8
+ {0, C9_9, C8_9, C7_9}, //B9
+ {0, C9_10, C8_10, C7_10}, //B10
+ {0, C9_11, C8_11, C7_11}, //B11
+ {0, C9_12, C8_12, C7_12}, //B12
+ {0, C9_13, C8_13, C7_13}, //B13
+ {0, C9_14, C8_14, C7_14}, //B14
+ {0, C9_15, C8_15, C6_14}, //B15
+ {0, C9_16, C7_15, C6_15}, //B16
+
+ {1, C1_1, C3_2, C4_2}, //C1
+ {1, C1_2, C2_2, C4_3}, //C2
+ {1, C1_3, C2_3, C3_3}, //C3
+ {1, C1_4, C2_4, C3_4}, //C4
+ {1, C1_5, C2_5, C3_5}, //C5
+ {1, C1_6, C2_6, C3_6}, //C6
+ {1, C1_7, C2_7, C3_7}, //C7
+ {1, C1_8, C2_8, C3_8}, //C8
+ {1, C9_1, C8_1, C7_1}, //C9
+ {1, C9_2, C8_2, C7_2}, //C10
+ {1, C9_3, C8_3, C7_3}, //C11
+ {1, C9_4, C8_4, C7_4}, //C12
+ {1, C9_5, C8_5, C7_5}, //C13
+ {1, C9_6, C8_6, C7_6}, //C14
+ {1, C9_7, C8_7, C6_6}, //C15
+ {1, C9_8, C7_7, C6_7}, //C16
+
+ {1, C1_9, C3_10, C4_10}, //D1
+ {1, C1_10, C2_10, C4_11}, //D2
+ {1, C1_11, C2_11, C3_11}, //D3
+ {1, C1_12, C2_12, C3_12}, //D4
+ {1, C1_13, C2_13, C3_13}, //D5
+ {1, C1_14, C2_14, C3_14}, //D6
+ {1, C1_15, C2_15, C3_15}, //D7
+ {1, C1_16, C2_16, C3_16}, //D8
+ {1, C9_9, C8_9, C7_9}, //D9
+ {1, C9_10, C8_10, C7_10}, //D10
+ {1, C9_11, C8_11, C7_11}, //D11
+ {1, C9_12, C8_12, C7_12}, //D12
+ {1, C9_13, C8_13, C7_13}, //D13
+ {1, C9_14, C8_14, C7_14}, //D14
+ {1, C9_15, C8_15, C6_14}, //D15
+ {1, C9_16, C7_15, C6_15} //D16
+};
#elif !defined(RGB_BACKLIGHT_M6_B)
// This is a 7-bit address, that gets left-shifted and bit 0
// set to 0 for write, 1 for read (as per I2C protocol)
@@ -803,6 +893,50 @@ const Point g_map_led_to_point[BACKLIGHT_LED_COUNT] PROGMEM = {
const Point g_map_led_to_point_polar[BACKLIGHT_LED_COUNT] PROGMEM = {
{160,255}, {96,255}, {77,255}, {179,255}, {51,255}, {205,255}
};
+#elif defined(RGB_BACKLIGHT_DAWN60)
+const Point g_map_led_to_point[BACKLIGHT_LED_COUNT] PROGMEM = {
+ // LA1..LA16
+ {104, 16}, {88 , 16}, {72 , 16}, {56 , 16}, {40 , 16}, {24 , 16}, {4 , 16}, {6 , 32},
+ {112, 0}, {96 , 0}, {80 , 0}, {64 , 0}, {48 , 0}, {32 , 0}, {16 , 0}, {0 , 0},
+
+ // LB1..LB16
+ {128, 0}, {144, 0}, {160, 0}, {176, 0}, {192, 0}, {208, 0}, {224, 0}, {214, 32},
+ {120, 16}, {136, 16}, {152, 16}, {168, 16}, {184, 16}, {200, 16}, {220, 16}, {224, 48},
+
+ // LC1..LC16
+ {100, 48}, {84 , 48}, {68 , 48}, {52 , 48}, {36 , 48}, {102, 64}, {42 , 64}, {22 , 64},
+ {108, 32}, {92 , 32}, {76 , 32}, {60 , 32}, {44 , 32}, {28 , 32}, {10 , 48}, {2 , 64},
+
+ // LD1..LD16
+ {124, 32}, {140, 32}, {156, 32}, {172, 32}, {188, 32}, {180, 48}, {202, 48}, {224, 64},
+ {116, 48}, {132, 48}, {148, 48}, {164, 48}, {160, 64}, {176, 64}, {192, 64}, {208, 64},
+
+ //RGB UNDERGLOW
+ {27 , 3}, {64 , 3}, {100, 3}, {137, 3}, {173, 3}, {209, 3}, {242, 4}, {255, 8}, {255,32}, {255,64},
+ {241,64}, {212,64}, {173,64}, {137,64}, {100,64}, {63 ,64}, {28 ,64}, {0 ,64}, {0 ,32}, {0 , 8}, //20
+};
+
+const Point g_map_led_to_point_polar[BACKLIGHT_LED_COUNT] PROGMEM = {
+ //LA1..LA16
+ {70,129}, {80,139}, {89,157}, {96,181}, {101,208}, {105,238}, {109,255}, {128,247},
+ {64,255}, {70,255}, {75,255}, {80,255}, {85,255}, {89,255}, {93,255}, {96,255},
+ //LB1..LB16
+ {58,255}, {53,255}, {48,255}, {43,255}, {39,255}, {34,255}, {32,255}, {255,233},
+ {58,129}, {48,139}, {39,157}, {32,181}, {27,208}, {23,238}, {19,255}, {237,255},
+ //LC1..LC16
+ {183,131}, {173,143}, {165,163}, {159,188}, {154,216}, {188,255}, {170,255}, {165,255},
+ {128,9}, {128,46}, {128,82}, {128,119}, {128,155}, {128,192}, {147,255}, {161,255},
+ //LD1..LD16
+ {0,27}, {0,64}, {0,101}, {0,137}, {0,174}, {228,201}, {235,255}, {224,255},
+ {195,128}, {206,136}, {215,152}, {222,175}, {208,255}, {213,255}, {217, 255}, {222,225},
+
+ //UNDERGLOW, {A,D}
+ //1 - 10
+ {91,255}, {84,255}, {74,255}, {60,255}, {48,255}, {39,255}, {32,255}, {27,255}, {0,255}, {236,255},
+ //11 - 20
+ {234,255}, {222,255}, {213,255}, {197,255}, {180,255}, {167,255}, {152,255}, {147,255}, {128,255}, {101,255}
+};
+
#endif
// This may seem counter-intuitive, but it's quite flexible.
@@ -822,10 +956,12 @@ void map_led_to_point( uint8_t index, Point *point )
switch (index)
{
+#if !defined(RGB_BACKLIGHT_DAWN60)
case 18+4: // LB4A
if ( g_config.use_split_backspace )
point->x -= 8;
break;
+#endif
#if defined(RGB_BACKLIGHT_ZEAL60)
case 18+14: // LB14A
if ( g_config.use_iso_enter )
@@ -854,6 +990,28 @@ void map_led_to_point( uint8_t index, Point *point )
point->x -= 8;
break;
#endif
+#if defined(RGB_BACKLIGHT_DAWN60)
+ case 15+6: // LB6A
+ if ( !g_config.use_split_backspace )
+ point->x += 8;
+ break;
+ case 31+6: // LC6A
+ if ( g_config.use_7u_spacebar )
+ point->x = 112;
+ break;
+ case 47+16: // LD16A
+ if ( g_config.use_7u_spacebar )
+ point->x -= 8;
+ break;
+ case 47+6: // LD6A
+ if ( g_config.use_split_right_shift )
+ point->x += 6;
+ break;
+ case 47+7: // LD7A
+ if ( g_config.use_split_right_shift )
+ point->x += 6;
+ break;
+#endif
}
}
@@ -992,6 +1150,20 @@ const uint8_t g_map_row_column_to_led[MATRIX_ROWS][MATRIX_COLS] PROGMEM = {
const uint8_t g_map_row_column_to_led[MATRIX_ROWS][MATRIX_COLS] PROGMEM = {
{ 0, 3, 5, 1, 2, 4 }
};
+#elif defined(RGB_BACKLIGHT_DAWN60)
+//Dawn60
+// A16, A15, A14, A13, A12, A11, A10, A9, B1, B2, B3, B4, B5, B6,
+// A7, A6, A5, A4, A3, A2, A1, B9, B10, B11, B12, B13, B14, B15,
+// A8, C14, C13, C12, C11, C10, C9, D1, D2, D3, D4, D5, B8, B7,
+// C15, C5, C4, C3, C2, C1, D9, D10, D11, D12, ---, D6, D7, B16,
+// C16, C8, C7, ---, ---, C6, ---, ---, ---, D13, D14, D15, D16, D8,
+const uint8_t g_map_row_column_to_led[MATRIX_ROWS][MATRIX_COLS] PROGMEM = {
+ { -1+16, -1+15, -1+14, -1+13, -1+12, -1+11, -1+10, -1+9 , 15+1 , 15+2 , 15+3 , 15+4 , 15+5 , 15+6 },
+ { -1+7 , -1+6 , -1+5 , -1+4 , -1+3 , -1+2 , -1 +1, 15+9 , 15+10, 15+11, 15+12, 15+13, 15+14, 15+15},
+ { -1+8 , 31+14, 31+13, 31+12, 31+11, 31+10, 31+9 , 47+1 , 47+2 , 47+3 , 47+4 , 47+5 , 15+8 , 15+7 },
+ { 31+15, 31+5 , 31+4 , 31+3 , 31+2 , 31+1 , 47+9 , 47+10, 47+11, 47+12, 255 ,47+6 , 47+7 , 15+16},
+ { 31+16, 31+8 , 31+7 , 255 , 255 , 31+6 , 255 , 255 , 255 , 47+13, 47+14, 47+15, 47+16, 47+8 }
+};
#endif
void map_row_column_to_led( uint8_t row, uint8_t column, uint8_t *led )
@@ -1047,6 +1219,15 @@ void backlight_set_color( int index, uint8_t red, uint8_t green, uint8_t blue )
IS31FL3218_set_color( index, red, green, blue );
#elif defined(RGB_BACKLIGHT_HS60) || defined(RGB_BACKLIGHT_NK65)
IS31FL3733_set_color( index, red, green, blue );
+#elif defined(RGB_BACKLIGHT_DAWN60)
+ if( index < DRIVER_LED_TOTAL ) {
+ IS31FL3731_set_color( index, red, green, blue );
+ } else {
+ g_ws2812_leds[index - DRIVER_LED_TOTAL].r = red;
+ g_ws2812_leds[index - DRIVER_LED_TOTAL].g = green;
+ g_ws2812_leds[index - DRIVER_LED_TOTAL].b = blue;
+ ws2812_setleds(g_ws2812_leds, WS2812_LED_TOTAL);
+ }
#else
IS31FL3731_set_color( index, red, green, blue );
#endif
@@ -1057,7 +1238,18 @@ void backlight_set_color_all( uint8_t red, uint8_t green, uint8_t blue )
#if defined(RGB_BACKLIGHT_M6_B)
IS31FL3218_set_color_all( red, green, blue );
#elif defined(RGB_BACKLIGHT_HS60) || defined(RGB_BACKLIGHT_NK65)
- IS31FL3733_set_color_all( red, green, blue );
+ // This is done to avoid indicator LEDs being set
+ for (int i = 0; i < BACKLIGHT_LED_COUNT; i++) {
+ IS31FL3733_set_color(i, red, green, blue);
+ }
+#elif defined(RGB_BACKLIGHT_DAWN60)
+ IS31FL3731_set_color_all( red, green, blue );
+ for (uint8_t i = 0; i < WS2812_LED_TOTAL; i++) {
+ g_ws2812_leds[i].r = red;
+ g_ws2812_leds[i].g = green;
+ g_ws2812_leds[i].b = blue;
+ }
+ ws2812_setleds(g_ws2812_leds, WS2812_LED_TOTAL);
#else
IS31FL3731_set_color_all( red, green, blue );
#endif
@@ -1264,6 +1456,16 @@ void backlight_effect_alphas_mods(void)
}
}
}
+#if defined(RGB_BACKLIGHT_DAWN60)
+ for (int i = 0; i < WS2812_LED_TOTAL; i++) {
+ if ((RGB_UNDERGLOW_ALPHA_TOP_START <= i && i <= RGB_UNDERGLOW_ALPHA_TOP_END) ||
+ (RGB_UNDERGLOW_ALPHA_BOT_START <= i && i <= RGB_UNDERGLOW_ALPHA_BOT_END)) {
+ backlight_set_color(i + DRIVER_LED_TOTAL, rgb1.r, rgb1.g, rgb1.b);
+ } else {
+ backlight_set_color(i + DRIVER_LED_TOTAL, rgb2.r, rgb2.g, rgb2.b);
+ }
+ }
+#endif
}
void backlight_effect_gradient_up_down(void)
@@ -1300,6 +1502,7 @@ void backlight_effect_gradient_up_down(void)
hsv.h = g_config.color_1.h + ( deltaH * y );
hsv.s = g_config.color_1.s + ( deltaS * y );
rgb = hsv_to_rgb( hsv );
+
backlight_set_color( i, rgb.r, rgb.g, rgb.b );
}
}
@@ -1340,7 +1543,7 @@ void backlight_effect_raindrops(bool initialize)
hsv.h = h1 + ( deltaH * ( rand() & 0x03 ) );
hsv.s = s1 + ( deltaS * ( rand() & 0x03 ) );
// Override brightness with global brightness control
- hsv.v = g_config.brightness;;
+ hsv.v = g_config.brightness;
rgb = hsv_to_rgb( hsv );
backlight_set_color( i, rgb.r, rgb.g, rgb.b );
@@ -1356,7 +1559,7 @@ void backlight_effect_cycle_all(void)
for ( int i=0; i<BACKLIGHT_LED_COUNT; i++ )
{
uint16_t offset2 = g_key_hit[i]<<2;
-#if !defined(RGB_BACKLIGHT_HS60) && !defined(RGB_BACKLIGHT_NK65)
+#if !defined(RGB_BACKLIGHT_HS60) && !defined(RGB_BACKLIGHT_NK65) && !defined(RGB_BACKLIGHT_DAWN60)
// stabilizer LEDs use spacebar hits
if ( i == 36+6 || i == 54+13 || // LC6, LD13
( g_config.use_7u_spacebar && i == 54+14 ) ) // LD14
@@ -1381,7 +1584,7 @@ void backlight_effect_cycle_left_right(void)
for ( int i=0; i<BACKLIGHT_LED_COUNT; i++ )
{
uint16_t offset2 = g_key_hit[i]<<2;
-#if !defined(RGB_BACKLIGHT_HS60) && !defined(RGB_BACKLIGHT_NK65)
+#if !defined(RGB_BACKLIGHT_HS60) && !defined(RGB_BACKLIGHT_NK65) && !defined(RGB_BACKLIGHT_DAWN60)
// stabilizer LEDs use spacebar hits
if ( i == 36+6 || i == 54+13 || // LC6, LD13
( g_config.use_7u_spacebar && i == 54+14 ) ) // LD14
@@ -1408,7 +1611,7 @@ void backlight_effect_cycle_up_down(void)
for ( int i=0; i<BACKLIGHT_LED_COUNT; i++ )
{
uint16_t offset2 = g_key_hit[i]<<2;
-#if !defined(RGB_BACKLIGHT_HS60) && !defined(RGB_BACKLIGHT_NK65)
+#if !defined(RGB_BACKLIGHT_HS60) && !defined(RGB_BACKLIGHT_NK65) && !defined(RGB_BACKLIGHT_DAWN60)
// stabilizer LEDs use spacebar hits
if ( i == 36+6 || i == 54+13 || // LC6, LD13
( g_config.use_7u_spacebar && i == 54+14 ) ) // LD14
@@ -1549,22 +1752,6 @@ void backlight_effect_indicators(void)
{
backlight_effect_indicators_set_colors( g_config.caps_lock_indicator.index, g_config.caps_lock_indicator.color );
}
-
-#if defined(RGB_BACKLIGHT_NK65)
- if ( IS_LED_ON(g_indicator_state, USB_LED_CAPS_LOCK) ) {
- IS31FL3733_set_color( 7+64-1, 0, 255, 0 );
- } else {
- IS31FL3733_set_color( 7+64-1, 0, 0, 0 );
- }
- if ( IS_LAYER_ON(1) ) {
- IS31FL3733_set_color( 6+64-1, 255, 0, 255 );
- } else if ( IS_LAYER_ON(2) ) {
- IS31FL3733_set_color( 6+64-1, 0, 255, 0 );
- } else {
- IS31FL3733_set_color( 6+64-1, 0, 0, 0 );
- }
-#endif
-
// This if/else if structure allows higher layers to
// override lower ones. If we set layer 3's indicator
// to none, then it will NOT show layer 2 or layer 1
@@ -2166,6 +2353,10 @@ void backlight_init_drivers(void)
( index == 54+13 ) || // LD13
( index >= 72+0 && index <= 72+8 ) || // LE0-LE8
( index == 90+13 ) ); // LF13
+#elif defined(RGB_BACKLIGHT_DAWN60)
+ bool enabled = !( ( index == 15+7 && !g_config.use_split_backspace ) || //other backspace
+ ( index == 47+13 && g_config.use_7u_spacebar ) || //LD13
+ ( index == 47+15 && g_config.use_7u_spacebar ) ); //LD15
#endif
// This only caches it for later
IS31FL3731_set_led_control_register( index, enabled, enabled, enabled );
@@ -2434,3 +2625,4 @@ void backlight_debug_led( bool state )
}
#endif // defined(RGB_DEBUGGING_ONLY)
+
diff --git a/keyboards/wilba_tech/wt_rgb_backlight.h b/keyboards/wilba_tech/wt_rgb_backlight.h
index aa24e3491..648465886 100644
--- a/keyboards/wilba_tech/wt_rgb_backlight.h
+++ b/keyboards/wilba_tech/wt_rgb_backlight.h
@@ -107,4 +107,3 @@ void backlight_color_2_sat_decrease(void);
void backlight_test_led( uint8_t index, bool red, bool green, bool blue );
void backlight_debug_led(bool state);
-
diff --git a/keyboards/wilba_tech/zeal60/config.h b/keyboards/wilba_tech/zeal60/config.h
index 6b9529a6f..cb2f6a96b 100644
--- a/keyboards/wilba_tech/zeal60/config.h
+++ b/keyboards/wilba_tech/zeal60/config.h
@@ -115,24 +115,6 @@
#define RGB_BACKLIGHT_LAYER_2_INDICATOR { .color = { .h = 0, .s = 0 }, .index = 255 }
#define RGB_BACKLIGHT_LAYER_3_INDICATOR { .color = { .h = 0, .s = 0 }, .index = 255 }
-#define DYNAMIC_KEYMAP_LAYER_COUNT 4
-
-// EEPROM usage
-
-// TODO: refactor with new user EEPROM code (coming soon)
-#define EEPROM_MAGIC 0x451F
-#define EEPROM_MAGIC_ADDR 34
-// Bump this every time we change what we store
-// This will automatically reset the EEPROM with defaults
-// and avoid loading invalid data from the EEPROM
-#define EEPROM_VERSION 0x08
-#define EEPROM_VERSION_ADDR 36
-
-// Backlight config starts after EEPROM version
-#define RGB_BACKLIGHT_CONFIG_EEPROM_ADDR 37
-// Dynamic keymap starts after backlight config (37+31)
-#define DYNAMIC_KEYMAP_EEPROM_ADDR 68
-// Dynamic macro starts after dynamic keymaps (68+(4*5*14*2)) = (68+560)
-#define DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR 628
-#define DYNAMIC_KEYMAP_MACRO_EEPROM_SIZE 396
-#define DYNAMIC_KEYMAP_MACRO_COUNT 16
+// Backlight config starts after VIA's EEPROM usage,
+// dynamic keymaps start after this.
+#define VIA_EEPROM_CUSTOM_CONFIG_SIZE 31 \ No newline at end of file
diff --git a/keyboards/wilba_tech/zeal60/keymaps/via/keymap.c b/keyboards/wilba_tech/zeal60/keymaps/via/keymap.c
new file mode 100644
index 000000000..395790d29
--- /dev/null
+++ b/keyboards/wilba_tech/zeal60/keymaps/via/keymap.c
@@ -0,0 +1,38 @@
+// Default layout for Zeal60
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+// Default layer
+[0] = LAYOUT_60_all(
+ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
+ KC_LSFT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RSFT,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, FN_MO13, FN_MO23, KC_RCTL),
+
+// Fn1 Layer
+[1] = LAYOUT_60_all(
+ KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_TRNS,
+ KC_CAPS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, KC_TRNS,
+ KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGUP, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_END, KC_PGDN, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
+
+// Fn2 Layer
+[2] = LAYOUT_60_all(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
+
+// Fn3 Layer (zeal60 Configuration)
+[3] = LAYOUT_60_all(
+ KC_TRNS, EF_DEC, EF_INC, H1_DEC, H1_INC, H2_DEC, H2_INC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, BR_DEC, BR_INC, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, S1_DEC, S1_INC, S2_DEC, S2_INC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, ES_DEC, ES_INC, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
+
+};
diff --git a/keyboards/wilba_tech/zeal60/keymaps/via/rules.mk b/keyboards/wilba_tech/zeal60/keymaps/via/rules.mk
new file mode 100644
index 000000000..1e5b99807
--- /dev/null
+++ b/keyboards/wilba_tech/zeal60/keymaps/via/rules.mk
@@ -0,0 +1 @@
+VIA_ENABLE = yes
diff --git a/keyboards/wilba_tech/zeal60/rules.mk b/keyboards/wilba_tech/zeal60/rules.mk
index 11f3867de..3067be73d 100644
--- a/keyboards/wilba_tech/zeal60/rules.mk
+++ b/keyboards/wilba_tech/zeal60/rules.mk
@@ -20,7 +20,7 @@ OPT_DEFS += -DNO_SUSPEND_POWER_DOWN
# 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)
+BOOTMAGIC_ENABLE = lite # 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)
@@ -36,8 +36,6 @@ RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
SLEEP_LED_ENABLE ?= no # Breathing sleep LED during USB suspend
-RAW_ENABLE = yes
-DYNAMIC_KEYMAP_ENABLE = yes
CIE1931_CURVE = yes
LAYOUTS = 60_ansi 60_iso 60_hhkb 60_ansi_split_bs_rshift
diff --git a/keyboards/wilba_tech/zeal60/zeal60.h b/keyboards/wilba_tech/zeal60/zeal60.h
index 0d4f1b908..016531d22 100644
--- a/keyboards/wilba_tech/zeal60/zeal60.h
+++ b/keyboards/wilba_tech/zeal60/zeal60.h
@@ -17,7 +17,7 @@
#include "quantum.h"
#include "keyboards/wilba_tech/wt_rgb_backlight_keycodes.h"
-#include "keyboards/wilba_tech/via_keycodes.h"
+#include "via.h"
#define XXX KC_NO
diff --git a/keyboards/wilba_tech/zeal65/config.h b/keyboards/wilba_tech/zeal65/config.h
index f452fbd47..01649d76f 100644
--- a/keyboards/wilba_tech/zeal65/config.h
+++ b/keyboards/wilba_tech/zeal65/config.h
@@ -115,24 +115,6 @@
#define RGB_BACKLIGHT_LAYER_2_INDICATOR { .color = { .h = 0, .s = 0 }, .index = 255 }
#define RGB_BACKLIGHT_LAYER_3_INDICATOR { .color = { .h = 0, .s = 0 }, .index = 255 }
-#define DYNAMIC_KEYMAP_LAYER_COUNT 4
-
-// EEPROM usage
-
-// TODO: refactor with new user EEPROM code (coming soon)
-#define EEPROM_MAGIC 0x451F
-#define EEPROM_MAGIC_ADDR 34
-// Bump this every time we change what we store
-// This will automatically reset the EEPROM with defaults
-// and avoid loading invalid data from the EEPROM
-#define EEPROM_VERSION 0x08
-#define EEPROM_VERSION_ADDR 36
-
-// Backlight config starts after EEPROM version
-#define RGB_BACKLIGHT_CONFIG_EEPROM_ADDR 37
-// Dynamic keymap starts after backlight config (37+31)
-#define DYNAMIC_KEYMAP_EEPROM_ADDR 68
-// Dynamic macro starts after dynamic keymaps (68+(4*5*15*2)) = (68+600)
-#define DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR 668
-#define DYNAMIC_KEYMAP_MACRO_EEPROM_SIZE 356
-#define DYNAMIC_KEYMAP_MACRO_COUNT 16
+// Backlight config starts after VIA's EEPROM usage,
+// dynamic keymaps start after this.
+#define VIA_EEPROM_CUSTOM_CONFIG_SIZE 31
diff --git a/keyboards/wilba_tech/zeal65/info.json b/keyboards/wilba_tech/zeal65/info.json
index d83895ed9..709f7cefe 100644
--- a/keyboards/wilba_tech/zeal65/info.json
+++ b/keyboards/wilba_tech/zeal65/info.json
@@ -6,7 +6,7 @@
"width": 16,
"height": 5,
"layouts": {
- "LAYOUT_65_split_bs": {
+ "LAYOUT_65_all": {
"layout": [{"label":"Esc", "x":0, "y":0}, {"label":"!", "x":1, "y":0}, {"label":"@", "x":2, "y":0}, {"label":"#", "x":3, "y":0}, {"label":"$", "x":4, "y":0}, {"label":"%", "x":5, "y":0}, {"label":"^", "x":6, "y":0}, {"label":"&", "x":7, "y":0}, {"label":"*", "x":8, "y":0}, {"label":"(", "x":9, "y":0}, {"label":")", "x":10, "y":0}, {"label":"_", "x":11, "y":0}, {"label":"+", "x":12, "y":0}, {"label":"|", "x":13, "y":0}, {"label":"Del", "x":14, "y":0}, {"label":"Home", "x":15, "y":0}, {"label":"Tab", "x":0, "y":1, "w":1.5}, {"label":"Q", "x":1.5, "y":1}, {"label":"W", "x":2.5, "y":1}, {"label":"E", "x":3.5, "y":1}, {"label":"R", "x":4.5, "y":1}, {"label":"T", "x":5.5, "y":1}, {"label":"Y", "x":6.5, "y":1}, {"label":"U", "x":7.5, "y":1}, {"label":"I", "x":8.5, "y":1}, {"label":"O", "x":9.5, "y":1}, {"label":"P", "x":10.5, "y":1}, {"label":"{", "x":11.5, "y":1}, {"label":"}", "x":12.5, "y":1}, {"label":"Backspace", "x":13.5, "y":1, "w":1.5}, {"label":"PgUp", "x":15, "y":1}, {"label":"Control", "x":0, "y":2, "w":1.75}, {"label":"A", "x":1.75, "y":2}, {"label":"S", "x":2.75, "y":2}, {"label":"D", "x":3.75, "y":2}, {"label":"F", "x":4.75, "y":2}, {"label":"G", "x":5.75, "y":2}, {"label":"H", "x":6.75, "y":2}, {"label":"J", "x":7.75, "y":2}, {"label":"K", "x":8.75, "y":2}, {"label":"L", "x":9.75, "y":2}, {"label":":", "x":10.75, "y":2}, {"label":"\"", "x":11.75, "y":2}, {"label":"Enter", "x":12.75, "y":2, "w":2.25}, {"label":"PgDn", "x":15, "y":2}, {"label":"Shift", "x":0, "y":3, "w":2.25}, {"label":"Z", "x":2.25, "y":3}, {"label":"X", "x":3.25, "y":3}, {"label":"C", "x":4.25, "y":3}, {"label":"V", "x":5.25, "y":3}, {"label":"B", "x":6.25, "y":3}, {"label":"N", "x":7.25, "y":3}, {"label":"M", "x":8.25, "y":3}, {"label":"<", "x":9.25, "y":3}, {"label":">", "x":10.25, "y":3}, {"label":"?", "x":11.25, "y":3}, {"label":"Shift", "x":12.25, "y":3, "w":1.75}, {"label":"\u2191", "x":14, "y":3}, {"label":"End", "x":15, "y":3}, {"label":"Win", "x":0, "y":4, "w":1.5}, {"label":"Alt", "x":1.5, "y":4, "w":1.5}, {"x":3, "y":4, "w":7}, {"label":"Fn2", "x":10, "y":4, "w":1.5}, {"label":"Fn1", "x":11.5, "y":4, "w":1.5}, {"label":"\u2190", "x":13, "y":4}, {"label":"\u2193", "x":14, "y":4}, {"label":"\u2192", "x":15, "y":4}]
},
"LAYOUT_65_normie": {
diff --git a/keyboards/wilba_tech/zeal65/keymaps/split_bs/keymap.c b/keyboards/wilba_tech/zeal65/keymaps/split_bs/keymap.c
index 96b04c358..2c6d24e8f 100644
--- a/keyboards/wilba_tech/zeal65/keymaps/split_bs/keymap.c
+++ b/keyboards/wilba_tech/zeal65/keymaps/split_bs/keymap.c
@@ -4,7 +4,7 @@
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// Default layer
-[0] = LAYOUT_65_split_bs(
+[0] = LAYOUT_65_all(
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_DEL, KC_HOME,
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC, KC_PGUP,
KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN,
@@ -12,7 +12,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_LGUI, KC_LALT, KC_SPC, FN_MO23, FN_MO13, KC_LEFT, KC_DOWN, KC_RGHT),
// Fn1 Layer
-[1] = LAYOUT_65_split_bs(
+[1] = LAYOUT_65_all(
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL, KC_TRNS,
KC_CAPS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
@@ -20,7 +20,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
// Fn2 Layer
-[2] = LAYOUT_65_split_bs(
+[2] = LAYOUT_65_all(
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
@@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
// Fn3 Layer (zeal60 Configuration)
-[3] = LAYOUT_65_split_bs(
+[3] = LAYOUT_65_all(
KC_TRNS, EF_DEC, EF_INC, H1_DEC, H1_INC, H2_DEC, H2_INC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, BR_DEC, BR_INC, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, S1_DEC, S1_INC, S2_DEC, S2_INC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
diff --git a/keyboards/wilba_tech/zeal65/keymaps/via/keymap.c b/keyboards/wilba_tech/zeal65/keymaps/via/keymap.c
new file mode 100644
index 000000000..2c6d24e8f
--- /dev/null
+++ b/keyboards/wilba_tech/zeal65/keymaps/via/keymap.c
@@ -0,0 +1,38 @@
+// Split-backspace layout for Zeal65
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+// Default layer
+[0] = LAYOUT_65_all(
+ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_DEL, KC_HOME,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC, KC_PGUP,
+ KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END,
+ KC_LGUI, KC_LALT, KC_SPC, FN_MO23, FN_MO13, KC_LEFT, KC_DOWN, KC_RGHT),
+
+// Fn1 Layer
+[1] = LAYOUT_65_all(
+ KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL, KC_TRNS,
+ KC_CAPS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
+
+// Fn2 Layer
+[2] = LAYOUT_65_all(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
+
+// Fn3 Layer (zeal60 Configuration)
+[3] = LAYOUT_65_all(
+ KC_TRNS, EF_DEC, EF_INC, H1_DEC, H1_INC, H2_DEC, H2_INC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, BR_DEC, BR_INC, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, S1_DEC, S1_INC, S2_DEC, S2_INC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
+
+};
diff --git a/keyboards/wilba_tech/zeal65/keymaps/via/rules.mk b/keyboards/wilba_tech/zeal65/keymaps/via/rules.mk
new file mode 100644
index 000000000..1e5b99807
--- /dev/null
+++ b/keyboards/wilba_tech/zeal65/keymaps/via/rules.mk
@@ -0,0 +1 @@
+VIA_ENABLE = yes
diff --git a/keyboards/wilba_tech/zeal65/rules.mk b/keyboards/wilba_tech/zeal65/rules.mk
index 6c8783eb2..94d487cbb 100644
--- a/keyboards/wilba_tech/zeal65/rules.mk
+++ b/keyboards/wilba_tech/zeal65/rules.mk
@@ -20,7 +20,7 @@ OPT_DEFS += -DNO_SUSPEND_POWER_DOWN
# 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)
+BOOTMAGIC_ENABLE = lite # 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)
@@ -36,8 +36,6 @@ RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-RAW_ENABLE = yes
-DYNAMIC_KEYMAP_ENABLE = yes
CIE1931_CURVE = yes
# project specific files
diff --git a/keyboards/wilba_tech/zeal65/zeal65.h b/keyboards/wilba_tech/zeal65/zeal65.h
index d8528e6c5..34c129416 100644
--- a/keyboards/wilba_tech/zeal65/zeal65.h
+++ b/keyboards/wilba_tech/zeal65/zeal65.h
@@ -17,11 +17,11 @@
#include "quantum.h"
#include "keyboards/wilba_tech/wt_rgb_backlight_keycodes.h"
-#include "keyboards/wilba_tech/via_keycodes.h"
+#include "via.h"
#define XXX KC_NO
-#define LAYOUT_65_split_bs( \
+#define LAYOUT_65_all( \
K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K2D, K0E, \
K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, \
K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2E, \