diff --git a/keyboards/coseyfannitutti/discipline/keymaps/vial/config.h b/keyboards/coseyfannitutti/discipline/keymaps/vial/config.h
new file mode 100644
index 00000000000..fb5b18aba4a
--- /dev/null
+++ b/keyboards/coseyfannitutti/discipline/keymaps/vial/config.h
@@ -0,0 +1,7 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+
+#pragma once
+
+#define VIAL_KEYBOARD_UID {0x8F, 0x32, 0xE4, 0x3E, 0x0D, 0x12, 0xA8, 0x64}
+#define VIAL_UNLOCK_COMBO_ROWS { 0, 2 }
+#define VIAL_UNLOCK_COMBO_COLS { 0, 13 }
diff --git a/keyboards/coseyfannitutti/discipline/keymaps/vial/keymap.c b/keyboards/coseyfannitutti/discipline/keymaps/vial/keymap.c
new file mode 100644
index 00000000000..203529b4b30
--- /dev/null
+++ b/keyboards/coseyfannitutti/discipline/keymaps/vial/keymap.c
@@ -0,0 +1,37 @@
+/* Copyright 2019 COSEYFANNITUTTI
+ *
+ * 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 .
+ */
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [0] = LAYOUT_65_ansi(
+ QK_GESC, 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_GRV,
+ 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_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_PGUP,
+ 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_PGDN,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT),
+
+ [1] = LAYOUT_65_ansi(
+ /* esc 1 2 3 4 5 6 7 8 9 0 - = bkspc `~ */
+ 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_PSCR,
+ /* tab Q W E R T Y U I O P [ ] \ delete*/
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS,KC_TRNS,KC_TRNS,KC_INS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PAUS, KC_TRNS, KC_TRNS,
+ /* caps A S D F G H J K L ; ' enter pg up*/
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_HOME,
+ /* shift Z X C V B N M , . / shift up pg dn*/
+ KC_LSFT, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_RSFT, KC_VOLU, KC_END,
+ /* ctrl win alt space alt fn ctrl left down right*/
+ KC_LCTL, KC_LGUI, KC_LALT, KC_TRNS, KC_RALT, KC_TRNS, KC_RCTL, KC_TRNS, KC_VOLD, KC_TRNS)
+};
diff --git a/keyboards/coseyfannitutti/discipline/keymaps/vial/rules.mk b/keyboards/coseyfannitutti/discipline/keymaps/vial/rules.mk
new file mode 100644
index 00000000000..46f9f1360fb
--- /dev/null
+++ b/keyboards/coseyfannitutti/discipline/keymaps/vial/rules.mk
@@ -0,0 +1,3 @@
+VIA_ENABLE = yes
+VIAL_ENABLE = yes
+LTO_ENABLE = yes
diff --git a/keyboards/coseyfannitutti/discipline/keymaps/vial/vial.json b/keyboards/coseyfannitutti/discipline/keymaps/vial/vial.json
new file mode 100644
index 00000000000..bbdf8dd5bdd
--- /dev/null
+++ b/keyboards/coseyfannitutti/discipline/keymaps/vial/vial.json
@@ -0,0 +1,213 @@
+{
+ "name": "Discipline",
+ "vendorId": "0x6B62",
+ "productId": "0x6869",
+ "lighting": "none",
+ "matrix": {"rows": 5, "cols": 15},
+ "layouts": {
+ "labels": [
+ "ISO Enter",
+ "Split Left Shift",
+ ["Spacebar", "6.25U", "7U"],
+ ["Right Modifiers", "1U", "1.5U"]
+ ],
+ "keymap": [
+ [
+ {
+ "x": 2.5,
+ "c": "#777777"
+ },
+ "0,0",
+ {
+ "c": "#cccccc"
+ },
+ "0,1",
+ "0,2",
+ "0,3",
+ "0,4",
+ "0,5",
+ "0,6",
+ "0,7",
+ "0,8",
+ "0,9",
+ "0,10",
+ "0,11",
+ "0,12",
+ {
+ "c": "#aaaaaa",
+ "w": 2
+ },
+ "0,13",
+ "0,14"
+ ],
+ [
+ {
+ "x": 2.5,
+ "w": 1.5
+ },
+ "1,0",
+ {
+ "c": "#cccccc"
+ },
+ "1,1",
+ "1,2",
+ "1,3",
+ "1,4",
+ "1,5",
+ "1,6",
+ "1,7",
+ "1,8",
+ "1,9",
+ "1,10",
+ "1,11",
+ "1,12",
+ {
+ "w": 1.5
+ },
+ "1,13\n\n\n0,0",
+ {
+ "c": "#aaaaaa"
+ },
+ "1,14",
+ {
+ "x": 1.25,
+ "c": "#777777",
+ "w": 1.25,
+ "h": 2,
+ "w2": 1.5,
+ "h2": 1,
+ "x2": -0.25
+ },
+ "1,13\n\n\n0,1"
+ ],
+ [
+ {
+ "x": 2.5,
+ "c": "#aaaaaa",
+ "w": 1.75
+ },
+ "2,0",
+ {
+ "c": "#cccccc"
+ },
+ "2,1",
+ "2,2",
+ "2,3",
+ "2,4",
+ "2,5",
+ "2,6",
+ "2,7",
+ "2,8",
+ "2,9",
+ "2,10",
+ "2,11",
+ {
+ "c": "#777777",
+ "w": 2.25
+ },
+ "2,13\n\n\n0,0",
+ {
+ "c": "#aaaaaa"
+ },
+ "2,14",
+ {
+ "x": 0.25,
+ "c": "#cccccc"
+ },
+ "2,13\n\n\n0,1"
+ ],
+ [
+ {
+ "c": "#aaaaaa",
+ "w": 1.25
+ },
+ "3,0\n\n\n1,1",
+ {
+ "c": "#cccccc"
+ },
+ "3,1\n\n\n1,1",
+ {
+ "x": 0.25,
+ "c": "#aaaaaa",
+ "w": 2.25
+ },
+ "3,0\n\n\n1,0",
+ {
+ "c": "#cccccc"
+ },
+ "3,2",
+ "3,3",
+ "3,4",
+ "3,5",
+ "3,6",
+ "3,7",
+ "3,8",
+ "3,9",
+ "3,10",
+ "3,11",
+ {
+ "c": "#aaaaaa",
+ "w": 1.75
+ },
+ "3,12",
+ "3,13",
+ "3,14"
+ ],
+ [
+ {
+ "x": 2.5,
+ "w": 1.25
+ },
+ "4,0\n\n\n2,0",
+ {
+ "w": 1.25
+ },
+ "4,1\n\n\n2,0",
+ {
+ "w": 1.25
+ },
+ "4,2\n\n\n2,0",
+ {
+ "c": "#cccccc",
+ "w": 6.25
+ },
+ "4,6\n\n\n2,0",
+ {
+ "c": "#aaaaaa"
+ },
+ "4,9\n\n\n3,0",
+ "4,10\n\n\n3,0",
+ "4,11\n\n\n3,0",
+ "4,12",
+ "4,13",
+ "4,14"
+ ],
+ [
+ {
+ "y": 0.25,
+ "x": 2.5,
+ "w": 1.5
+ },
+ "4,0\n\n\n2,1",
+ {
+ "w": 1.5
+ },
+ "4,2\n\n\n2,1",
+ {
+ "c": "#cccccc",
+ "w": 7
+ },
+ "4,6\n\n\n2,1",
+ {
+ "c": "#aaaaaa",
+ "w": 1.5
+ },
+ "4,9\n\n\n3,1",
+ {
+ "w": 1.5
+ },
+ "4,10\n\n\n3,1"
+ ]
+ ]
+ }
+}
diff --git a/keyboards/moonlander/keymaps/vial/config.h b/keyboards/moonlander/keymaps/vial/config.h
new file mode 100644
index 00000000000..53c6f0398b4
--- /dev/null
+++ b/keyboards/moonlander/keymaps/vial/config.h
@@ -0,0 +1,11 @@
+// Copyright 2023 Oleg Titov
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+// Unique keyboard id
+#define VIAL_KEYBOARD_UID {0x20, 0xF2, 0xD5, 0xEA, 0xD8, 0x72, 0x04, 0xA6}
+
+// Unlock with keys "2" and "4"
+#define VIAL_UNLOCK_COMBO_ROWS { 0, 0 }
+#define VIAL_UNLOCK_COMBO_COLS { 2, 4 }
diff --git a/keyboards/moonlander/keymaps/vial/keymap.c b/keyboards/moonlander/keymaps/vial/keymap.c
new file mode 100644
index 00000000000..bf437f3ca86
--- /dev/null
+++ b/keyboards/moonlander/keymaps/vial/keymap.c
@@ -0,0 +1,73 @@
+/* Copyright 2020 ZSA Technology Labs, Inc <@zsa>
+ * Copyright 2020 Jack Humbert
+ * Copyright 2020 Christopher Courtney, aka Drashna Jael're (@drashna)
+ *
+ * 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 .
+ */
+
+
+
+#include QMK_KEYBOARD_H
+#include "version.h"
+
+enum layers {
+ BASE, // default layer
+ SYMB, // symbols
+ MDIA, // media keys
+};
+
+enum custom_keycodes {
+ VRSN = SAFE_RANGE,
+};
+
+// clang-format off
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [BASE] = LAYOUT_moonlander(
+ KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, KC_LEFT, KC_RGHT, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
+ KC_DEL, KC_Q, KC_W, KC_E, KC_R, KC_T, TG(SYMB), TG(SYMB), KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
+ KC_BSPC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_HYPR, KC_MEH, KC_H, KC_J, KC_K, KC_L, LT(MDIA, KC_SCLN), LGUI_T(KC_QUOT),
+ KC_LSFT, LCTL_T(KC_Z),KC_X,KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, RCTL_T(KC_SLSH), KC_RSFT,
+ LT(SYMB,KC_GRV), KC_NO, A(KC_LSFT), KC_LEFT, KC_RGHT, LALT_T(KC_APP), RCTL_T(KC_ESC), KC_UP, KC_DOWN, KC_LBRC, KC_RBRC, MO(SYMB),
+ KC_SPC, KC_BSPC, KC_LGUI, KC_LALT, KC_TAB, KC_ENT
+ ),
+
+ [SYMB] = LAYOUT_moonlander(
+ VRSN, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
+ _______, KC_EXLM, KC_AT, KC_LCBR, KC_RCBR, KC_PIPE, _______, _______, KC_UP, KC_7, KC_8, KC_9, KC_ASTR, KC_F12,
+ _______, KC_HASH, KC_DLR, KC_LPRN, KC_RPRN, KC_GRV, _______, _______, KC_DOWN, KC_4, KC_5, KC_6, KC_PLUS, _______,
+ _______, KC_PERC, KC_CIRC, KC_LBRC, KC_RBRC, KC_TILD, KC_AMPR, KC_1, KC_2, KC_3, KC_BSLS, _______,
+ EE_CLR, _______, _______, _______, _______, RGB_VAI, RGB_TOG, _______, KC_DOT, KC_0, KC_EQL, _______,
+ RGB_HUD, RGB_VAD, RGB_HUI, TOGGLE_LAYER_COLOR,_______, _______
+ ),
+
+ [MDIA] = LAYOUT_moonlander(
+ LED_LEVEL,_______,_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT,
+ _______, _______, _______, KC_MS_U, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, KC_MS_L, KC_MS_D, KC_MS_R, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPLY,
+ _______, _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_MNXT, _______, _______,
+ _______, _______, _______, KC_BTN1, KC_BTN2, _______, _______, KC_VOLU, KC_VOLD, KC_MUTE, _______, _______,
+ _______, _______, _______, _______, _______, _______
+ ),
+};
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ if (record->event.pressed) {
+ switch (keycode) {
+ case VRSN:
+ SEND_STRING (QMK_KEYBOARD "/" QMK_KEYMAP " @ " QMK_VERSION);
+ return false;
+ }
+ }
+ return true;
+}
diff --git a/keyboards/moonlander/keymaps/vial/rules.mk b/keyboards/moonlander/keymaps/vial/rules.mk
new file mode 100644
index 00000000000..6689dd363b9
--- /dev/null
+++ b/keyboards/moonlander/keymaps/vial/rules.mk
@@ -0,0 +1,3 @@
+VIA_ENABLE = yes # Enable VIA
+VIAL_ENABLE = yes # Enable VIAL
+VIALRGB_ENABLE = yes # Enable VIALRGB
diff --git a/keyboards/moonlander/keymaps/vial/vial.json b/keyboards/moonlander/keymaps/vial/vial.json
new file mode 100644
index 00000000000..a04e2a9c4f5
--- /dev/null
+++ b/keyboards/moonlander/keymaps/vial/vial.json
@@ -0,0 +1,320 @@
+{
+ "lighting": "vialrgb",
+ "matrix": {
+ "rows": 12,
+ "cols": 7
+ },
+ "layouts": {
+ "keymap": [
+ [
+ {
+ "x": 3.5
+ },
+ "0,3",
+ {
+ "x": 10.5
+ },
+ "6,3"
+ ],
+ [
+ {
+ "y": -0.875,
+ "x": 2.5
+ },
+ "0,2",
+ {
+ "x": 1
+ },
+ "0,4",
+ {
+ "x": 8.5
+ },
+ "6,2",
+ {
+ "x": 1
+ },
+ "6,4"
+ ],
+ [
+ {
+ "y": -0.875,
+ "x": 5.5
+ },
+ "0,5",
+ "0,6",
+ {
+ "x": 4.5
+ },
+ "6,0",
+ "6,1"
+ ],
+ [
+ {
+ "y": -0.875,
+ "x": 0.5
+ },
+ "0,0",
+ "0,1",
+ {
+ "x": 14.5
+ },
+ "6,5",
+ "6,6"
+ ],
+ [
+ {
+ "y": -0.375,
+ "x": 3.5
+ },
+ "1,3",
+ {
+ "x": 10.5
+ },
+ "7,3"
+ ],
+ [
+ {
+ "y": -0.875,
+ "x": 2.5
+ },
+ "1,2",
+ {
+ "x": 1
+ },
+ "1,4",
+ {
+ "x": 8.5
+ },
+ "7,2",
+ {
+ "x": 1
+ },
+ "7,4"
+ ],
+ [
+ {
+ "y": -0.875,
+ "x": 5.5
+ },
+ "1,5",
+ "1,6",
+ {
+ "x": 4.5
+ },
+ "7,0",
+ "7,1"
+ ],
+ [
+ {
+ "y": -0.875,
+ "x": 0.5
+ },
+ "1,0",
+ "1,1",
+ {
+ "x": 14.5
+ },
+ "7,5",
+ "7,6"
+ ],
+ [
+ {
+ "y": -0.375,
+ "x": 3.5
+ },
+ "2,3",
+ {
+ "x": 10.5
+ },
+ "8,3"
+ ],
+ [
+ {
+ "y": -0.875,
+ "x": 2.5
+ },
+ "2,2",
+ {
+ "x": 1
+ },
+ "2,4",
+ {
+ "x": 8.5
+ },
+ "8,2",
+ {
+ "x": 1
+ },
+ "8,4"
+ ],
+ [
+ {
+ "y": -0.875,
+ "x": 5.5
+ },
+ "2,5",
+ "2,6",
+ {
+ "x": 4.5
+ },
+ "8,0",
+ "8,1"
+ ],
+ [
+ {
+ "y": -0.875,
+ "x": 0.5
+ },
+ "2,0",
+ "2,1",
+ {
+ "x": 14.5
+ },
+ "8,5",
+ "8,6"
+ ],
+ [
+ {
+ "y": -0.375,
+ "x": 3.5
+ },
+ "3,3",
+ {
+ "x": 10.5
+ },
+ "9,3"
+ ],
+ [
+ {
+ "y": -0.875,
+ "x": 2.5
+ },
+ "3,2",
+ {
+ "x": 1
+ },
+ "3,4",
+ {
+ "x": 8.5
+ },
+ "9,2",
+ {
+ "x": 1
+ },
+ "9,4"
+ ],
+ [
+ {
+ "y": -0.875,
+ "x": 5.5
+ },
+ "3,5",
+ {
+ "x": 1,
+ "c": "#777777",
+ "w": 2
+ },
+ "5,3",
+ {
+ "x": 0.5,
+ "w": 2
+ },
+ "11,3",
+ {
+ "x": 1,
+ "c": "#cccccc"
+ },
+ "9,1"
+ ],
+ [
+ {
+ "y": -0.875,
+ "x": 0.5
+ },
+ "3,0",
+ "3,1",
+ {
+ "x": 14.5
+ },
+ "9,5",
+ "9,6"
+ ],
+ [
+ {
+ "y": -0.375,
+ "x": 3.5,
+ "c": "#777777"
+ },
+ "4,3",
+ {
+ "x": 10.5
+ },
+ "10,3"
+ ],
+ [
+ {
+ "y": -0.875,
+ "x": 2.5,
+ "c": "#cccccc"
+ },
+ "4,2",
+ {
+ "x": 1,
+ "c": "#777777"
+ },
+ "4,4",
+ {
+ "x": 8.5
+ },
+ "10,2",
+ {
+ "x": 1,
+ "c": "#cccccc"
+ },
+ "10,4"
+ ],
+ [
+ {
+ "y": -0.875,
+ "x": 6.5,
+ "h": 2
+ },
+ "5,0",
+ {
+ "h": 2
+ },
+ "5,1",
+ {
+ "h": 2
+ },
+ "5,2",
+ {
+ "x": 0.5,
+ "h": 2
+ },
+ "11,4",
+ {
+ "h": 2
+ },
+ "11,5",
+ {
+ "h": 2
+ },
+ "11,6"
+ ],
+ [
+ {
+ "y": -0.875,
+ "x": 0.5
+ },
+ "4,0",
+ "4,1",
+ {
+ "x": 14.5
+ },
+ "10,5",
+ "10,6"
+ ]
+ ]
+ }
+}
diff --git a/keyboards/splitkb/aurora/lily58/rev1/keymaps/vial/config.h b/keyboards/splitkb/aurora/lily58/rev1/keymaps/vial/config.h
new file mode 100644
index 00000000000..aebde906976
--- /dev/null
+++ b/keyboards/splitkb/aurora/lily58/rev1/keymaps/vial/config.h
@@ -0,0 +1,10 @@
+#pragma once
+
+#define VIAL_KEYBOARD_UID {0x0B, 0x9F, 0x90, 0x91, 0x81, 0x04, 0x83, 0xB1}
+/* Vial secure unlock - currently using both big keys, like with base lily58 */
+#define VIAL_UNLOCK_COMBO_ROWS {4, 9}
+#define VIAL_UNLOCK_COMBO_COLS {5, 5}
+
+/* saving some more space, */
+#undef LOCKING_SUPPORT_ENABLE
+#undef LOCKING_RESYNC_ENABLE
diff --git a/keyboards/splitkb/aurora/lily58/rev1/keymaps/vial/keymap.c b/keyboards/splitkb/aurora/lily58/rev1/keymaps/vial/keymap.c
new file mode 100644
index 00000000000..add4b7fd041
--- /dev/null
+++ b/keyboards/splitkb/aurora/lily58/rev1/keymaps/vial/keymap.c
@@ -0,0 +1,44 @@
+#include QMK_KEYBOARD_H
+
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [0] = LAYOUT(
+ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_GRV,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_MINS,
+ 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_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LBRC, KC_RBRC, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
+ KC_LALT, KC_LGUI, MO(1), KC_SPC, KC_ENT, MO(2), KC_BSPC, KC_RGUI
+ ),
+ [1] = LAYOUT(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ 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_GRV, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_TILD,
+ _______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE,
+ _______, _______, _______, _______, _______, MO(3), _______, _______
+ ),
+ [2] = LAYOUT(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______,
+ KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, XXXXXXX,
+ KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, KC_PLUS, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
+ _______, _______, MO(3), _______, _______, _______, _______, _______
+ ),
+ [3] = LAYOUT(
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI,
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD,
+ _______, _______, _______, _______, _______, _______, _______, _______
+ )
+};
+
+
+
+#ifdef ENCODER_MAP_ENABLE
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
+ [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_PGUP, KC_PGDN) },
+ [1] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) },
+ [2] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) },
+ [3] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) },
+};
+#endif
diff --git a/keyboards/splitkb/aurora/lily58/rev1/keymaps/vial/rules.mk b/keyboards/splitkb/aurora/lily58/rev1/keymaps/vial/rules.mk
new file mode 100644
index 00000000000..840f43bfa37
--- /dev/null
+++ b/keyboards/splitkb/aurora/lily58/rev1/keymaps/vial/rules.mk
@@ -0,0 +1,19 @@
+ENCODER_MAP_ENABLE = yes
+
+# Vial setup
+VIA_ENABLE = yes
+VIAL_ENABLE = yes
+
+# Saving space on atmega32u4
+ifeq ($(strip $(MCU)), atmega32u4)
+ OLED_ENABLE = no
+ MOUSEKEY_ENABLE = no
+ COMBO_ENABLE = no
+ KEY_OVERRIDE_ENABLE = no
+endif
+
+## build targets
+# Liatris
+# CONVERT_TO = liatris
+# promicro
+# BOOTLOADER = caterina
diff --git a/keyboards/splitkb/aurora/lily58/rev1/keymaps/vial/vial.json b/keyboards/splitkb/aurora/lily58/rev1/keymaps/vial/vial.json
new file mode 100644
index 00000000000..8dd6c33b424
--- /dev/null
+++ b/keyboards/splitkb/aurora/lily58/rev1/keymaps/vial/vial.json
@@ -0,0 +1,37 @@
+{
+ "lighting": "none",
+ "matrix": {
+ "cols": 6,
+ "rows": 10
+ },
+ "layouts": {
+ "keymap": [
+ [{"x": 3},"0,3",{"x": 6.5},"5,3"],
+ [{"x": 2,"y": -0.95},"0,2",{"x": 1},"0,4",{"x": 4.5},"5,4",{"x": 1},"5,2"],
+ [{"x": 5,"y": -0.85},"0,5",{"x": 2.5},"5,5"],
+ [{"x": 1,"y": -0.95},"0,1",{"x": 10.5},"5,1"],
+ [{"y": -0.94},"0,0",{"x": 12.5},"5,0"],
+ [{"x": 6.2,"y": -0.61},"0,1\n\n\n\n\n\n\n\n\ne",{"x": 0.1},"1,1\n\n\n\n\n\n\n\n\ne"],
+ [{"x": 3,"y": -0.7},"1,3",{"x": 6.5},"6,3"],
+ [{"x": 2,"y": -0.95},"1,2",{"x": 1},"1,4",{"x": 4.5},"6,4",{"x": 1},"6,2"],
+ [{"x": 5,"y": -0.85},"1,5",{"x": 2.5},"6,5"],
+ [{"x": 1,"y": -0.95},"1,1",{"x": 10.5},"6,1"],
+ [{"y": -0.95},"1,0",{"x": 12.5},"6,0"],
+ [{"x": 6.2,"y": -0.61},"0,0\n\n\n\n\n\n\n\n\ne",{"x": 0.1},"1,0\n\n\n\n\n\n\n\n\ne"],
+ [{"x": 3,"y": -0.70},"2,3",{"x": 6.5},"7,3"],
+ [{"x": 2,"y": -0.95},"2,2",{"x": 1},"2,4",{"x": 4.5},"7,4",{"x": 1},"7,2"],
+ [{"x": 5,"y": -0.85},"2,5",{"x": 2.5},"7,5"],
+ [{"x": 1,"y": -0.95},"2,1",{"x": 10.5},"7,1"],
+ [{"y": -0.95},"2,0",{"x": 12.5},"7,0"],
+ [{"x": 6.2,"y": -0.6},"4,1",{"x": 0.1},"9,1"],
+ [{"x": 3,"y": -0.7},"3,3",{"x": 6.5},"8,3"],
+ [{"x": 2,"y": -0.95},"3,2",{"x": 1},"3,4",{"x": 4.5},"8,4",{"x": 1},"8,2"],
+ [{"x": 5,"y": -0.85},"3,5",{"x": 2.5},"8,5"],
+ [{"x": 1,"y": -0.95},"3,1",{"x": 10.5},"8,1"],[{"y": -0.95},"3,0",{"x": 12.5},"8,0"],
+ [{"x": 2.5,"y": -0.18},"4,2","4,3",{"x": 5.5},"9,3","9,2"],
+ [{"x": 4.5,"y": -0.93},"4,4",{"x": 3.5},"9,4"],
+ [{"r": 58,"rx": 8,"ry": 4.8,"w": 1.75,"x": -0.8,"y": -0.65},"9,5"],
+ [{"r": -58,"rx": 6.5,"w": 1.75,"x": -0.95,"y": -0.65},"4,5"]
+ ]
+ }
+}
diff --git a/keyboards/tweetydabird/lotus58/keymaps/vial/config.h b/keyboards/tweetydabird/lotus58/keymaps/vial/config.h
new file mode 100644
index 00000000000..d8df14f5a63
--- /dev/null
+++ b/keyboards/tweetydabird/lotus58/keymaps/vial/config.h
@@ -0,0 +1,22 @@
+// Copyright 2022 Markus Knutsson (@TweetyDaBird)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#define VIAL_KEYBOARD_UID {0x5F, 0xEC, 0xD8, 0x46, 0x91, 0x40, 0x1B, 0x09}
+
+#define VIAL_UNLOCK_COMBO_ROWS {0, 0}
+#define VIAL_UNLOCK_COMBO_COLS {0, 5}
+
+// Static glow is ALWAYS on with RGBLIGHT
+#define RGBLIGHT_EFFECT_BREATHING
+#define RGBLIGHT_EFFECT_RAINBOW_MOOD
+
+#undef LOCKING_SUPPORT_ENABLE
+#undef LOCKING_RESYNC_ENABLE
+#define LAYER_STATE_8BIT
+
+// VIAL specific reduce memory
+#define VIAL_COMBO_ENTRIES 4
+#define VIAL_TAP_DANCE_ENTRIES 4
+#define VIAL_KEY_OVERRIDE_ENTRIES 4
diff --git a/keyboards/tweetydabird/lotus58/keymaps/vial/keymap.c b/keyboards/tweetydabird/lotus58/keymaps/vial/keymap.c
new file mode 100644
index 00000000000..8e24dde940d
--- /dev/null
+++ b/keyboards/tweetydabird/lotus58/keymaps/vial/keymap.c
@@ -0,0 +1,106 @@
+// Copyright 2022 Markus Knutsson (@TweetyDaBird)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include QMK_KEYBOARD_H
+#define ____ KC_TRNS
+
+#ifdef AUTO_SHIFT_ENABLE
+
+void keyboard_post_init_user(void) {
+ autoshift_disable();
+}
+#endif
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ [0] = LAYOUT(
+ QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_MPLY, KC_MPLY, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
+ 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_NUHS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
+ LCTL_T(KC_LEFT), KC_Z, KC_X, KC_C, KC_V, KC_B, KC_DOWN, KC_UP, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, RCTL_T(KC_RIGHT),
+ KC_DEL, TG(1), LALT_T(KC_LGUI), LSFT_T(KC_SPACE), RSFT_T(KC_ENTER), RALT_T(KC_APP), TG(2), KC_BSPC
+ ),
+
+ [1] = LAYOUT(
+ ____, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, ____, ____, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
+ ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____,
+ ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____,
+ ____, ____, ____, ____, ____, ____, KC_PGDN, KC_PGUP, ____, ____, ____, ____, ____, ____,
+ ____, ____, ____, ____, ____, ____, ____, ____
+ ),
+
+ [2] = LAYOUT(
+ ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____,
+ ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____,
+ ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____,
+ ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____,
+ ____, ____, ____, ____, ____, ____, ____, ____
+ ),
+
+ [3] = LAYOUT(
+ QK_BOOT, ____, ____, ____, NK_TOGG, AC_TOGG, ____, ____, ____, ____, ____, RGB_VAI, RGB_VAD, RGB_TOG,
+ QK_RBT, ____, ____, ____, ____, ____, ____, ____, ____, RGB_HUI, RGB_HUD, RGB_M_P,
+ ____, ____, ____, ____, ____, ____, ____, ____, ____, RGB_SAI, RGB_SAD, RGB_M_B,
+ ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, RGB_SPI, RGB_SPD, RGB_M_R,
+ ____, ____, ____, ____, ____, ____, ____, ____
+ ),
+};
+
+#if defined(ENCODER_MAP_ENABLE)
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+ [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
+ [1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
+ [2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
+ [3] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }
+};
+#endif
+
+#ifdef OLED_ENABLE
+
+static void print_status_narrow(void) {
+ // Create OLED content
+ oled_advance_page(true);
+ oled_write_P(PSTR("Lotus -58-"), false);
+ oled_advance_page(true);
+
+ // Print current layer
+ oled_write_P(PSTR("Layer"), false);
+ switch (get_highest_layer(layer_state)) {
+ case 0:
+ oled_write_P(PSTR("-Base\n"), false);
+ break;
+ case 1:
+ oled_write_P(PSTR("-Func\n"), false);
+ break;
+ case 2:
+ oled_write_P(PSTR("-Num \n"), false);
+ break;
+ case 3:
+ oled_write_P(PSTR("-Sys \n"), false);
+ break;
+ default:
+ oled_write_P(PSTR("Undef"), false);
+ }
+
+ // Display capslock
+ oled_advance_page(true);
+ led_t led_usb_state = host_keyboard_led_state();
+ oled_write_ln_P(PSTR("Caps- lock"), led_usb_state.caps_lock);
+
+#ifdef AUTO_SHIFT_ENABLE
+
+ bool autoshift = get_autoshift_state();
+ oled_advance_page(true);
+ oled_write_P(PSTR("Auto-Shift"), autoshift);
+ oled_advance_page(true);
+
+#endif
+
+}
+
+bool oled_task_user(void) {
+ print_status_narrow();
+ return false;
+}
+
+#endif
\ No newline at end of file
diff --git a/keyboards/tweetydabird/lotus58/keymaps/vial/rules.mk b/keyboards/tweetydabird/lotus58/keymaps/vial/rules.mk
new file mode 100644
index 00000000000..044dc609d69
--- /dev/null
+++ b/keyboards/tweetydabird/lotus58/keymaps/vial/rules.mk
@@ -0,0 +1,21 @@
+# Copyright 2022 Markus Knutsson (@TweetyDaBird)
+# SPDX-License-Identifier: GPL-2.0-or-later
+
+# Needed for VIAL compatability (all are needed)
+VIA_ENABLE = yes
+VIAL_ENABLE = yes
+ENCODER_MAP_ENABLE = yes
+
+# Reduce size on atmega32u4
+ifeq ($(strip $(MCU)), atmega32u4)
+ TAP_DANCE_ENABLE = no
+ QMK_SETTINGS = no
+ KEY_OVERRIDE_ENABLE = no
+ COMBO_ENABLE = no
+
+ # Reduce size even more for non-nanoboot bootloaders
+ ifneq ($(strip $(BOOTLOADER_SIZE)), 512)
+ MAGIC_ENABLE = no
+ MOUSEKEY_ENABLE = no
+ endif
+endif
\ No newline at end of file
diff --git a/keyboards/tweetydabird/lotus58/keymaps/vial/vial.json b/keyboards/tweetydabird/lotus58/keymaps/vial/vial.json
new file mode 100644
index 00000000000..fdb331bdbfa
--- /dev/null
+++ b/keyboards/tweetydabird/lotus58/keymaps/vial/vial.json
@@ -0,0 +1,420 @@
+{
+ "name": "Lotus 58 Glow VIAL",
+ "author": "Markus Knutsson",
+
+ "lighting": "qmk_rgblight",
+
+ "matrix": {
+ "rows": 10,
+ "cols": 6
+ },
+
+ "layouts": {
+ "labels":
+ [
+
+ [
+ "Left Encoder",
+ "Top Placement",
+ "Bottom Placement",
+ "No Encoder"
+ ],
+ [
+ "Right Encoder",
+ "Top Placement",
+ "Bottom Placement",
+ "No Encoder"
+ ]
+ ],
+
+ "keymap":
+ [
+ [
+ {
+ "y": 0.25,
+ "x": 3
+ },
+ "0,3",
+ {
+ "x": 9.25
+ },
+ "5,3"
+ ],
+ [
+ {
+ "y": -0.87,
+ "x": 2
+ },
+ "0,2",
+ {
+ "x": 1
+ },
+ "0,4",
+ {
+ "x": 7.25
+ },
+ "5,4",
+ {
+ "x": 1
+ },
+ "5,2"
+ ],
+ [
+ {
+ "y": -0.88,
+ "x": 5
+ },
+ "0,5"
+ ],
+ [
+ {
+ "y": -1,
+ "x": 11.25
+ },
+ "5,5"
+ ],
+ [
+ {
+ "y": -0.87,
+ "x": 1
+ },
+ "0,1",
+ {
+ "x": 13.25
+ },
+ "5,1"
+ ],
+ [
+ {
+ "y": -0.7499999999999999
+ },
+ "0,0",
+ {
+ "x": 15.25
+ },
+ "5,0"
+ ],
+ [
+ {
+ "y": -0.8799999999999999,
+ "x": 6
+ },
+ "4,0\n\n\n0,0",
+ {
+ "x": -1,
+ "d": true
+ },
+ "4,0\n\n\n0,1",
+ {
+ "x": 0.25
+ },
+ "0,1\n\n\n0,0\n\n\n\n\n\ne",
+ {
+ "x": -1,
+ "d": true
+ },
+ "0,1\n\n\n0,2\n\n\n\n\n\ne",
+ {
+ "x": 0.75
+ },
+ "1,1\n\n\n1,0\n\n\n\n\n\ne",
+ {
+ "x": -1,
+ "d": true
+ },
+ "1,1\n\n\n1,0\n\n\n\n\n\ne",
+ {
+ "x": 0.25,
+ "d": true
+ },
+ "9,0\n\n\n1,1",
+ {
+ "x": -1
+ },
+ "9,0\n\n\n1,0"
+ ],
+ [
+ {
+ "y": -0.75,
+ "x": 3
+ },
+ "1,3",
+ {
+ "x": 9.25
+ },
+ "6,3"
+ ],
+ [
+ {
+ "y": -0.8700000000000001,
+ "x": 2
+ },
+ "1,2",
+ {
+ "x": 1
+ },
+ "1,4",
+ {
+ "x": 7.25
+ },
+ "6,4",
+ {
+ "x": 1
+ },
+ "6,2"
+ ],
+ [
+ {
+ "y": -0.8799999999999999,
+ "x": 5
+ },
+ "1,5",
+ {
+ "x": 5.25
+ },
+ "6,5"
+ ],
+ [
+ {
+ "y": -0.8700000000000001,
+ "x": 1
+ },
+ "1,1",
+ {
+ "x": 13.25
+ },
+ "6,1"
+ ],
+ [
+ {
+ "y": -0.75
+ },
+ "1,0",
+ {
+ "x": 15.25
+ },
+ "6,0"
+ ],
+ [
+ {
+ "y": -0.8799999999999999,
+ "x": 7.25
+ },
+ "0,1\n\n\n0,1\n\n\n\n\n\ne",
+ {
+ "x": -1
+ },
+ "0,0\n\n\n0,0\n\n\n\n\n\ne",
+ {
+ "x": -1,
+ "d": true
+ },
+ "0,1\n\n\n0,2\n\n\n\n\n\ne",
+ {
+ "x": 0.75
+ },
+ "1,0\n\n\n1,0\n\n\n\n\n\ne",
+ {
+ "x": -1
+ },
+ "1,1\n\n\n1,1\n\n\n\n\n\ne",
+ {
+ "x": -1,
+ "d": true
+ },
+ "1,0\n\n\n1,2\n\n\n\n\n\ne"
+ ],
+ [
+ {
+ "y": -0.75,
+ "x": 3
+ },
+ "2,3",
+ {
+ "x": 9.25
+ },
+ "7,3"
+ ],
+ [
+ {
+ "y": -0.8700000000000001,
+ "x": 2
+ },
+ "2,2",
+ {
+ "x": 1,
+ "n": true
+ },
+ "2,4",
+ {
+ "x": 7.25,
+ "n": true
+ },
+ "7,4",
+ {
+ "x": 1
+ },
+ "7,2"
+ ],
+ [
+ {
+ "y": -0.8799999999999999,
+ "x": 5
+ },
+ "2,5",
+ {
+ "x": 5.25
+ },
+ "7,5"
+ ],
+ [
+ {
+ "y": -0.8700000000000001,
+ "x": 1
+ },
+ "2,1",
+ {
+ "x": 13.25
+ },
+ "7,1"
+ ],
+ [
+ {
+ "y": -0.8799999999999999,
+ "x": 6
+ },
+ "4,5",
+ {
+ "x": 3.25
+ },
+ "9,5"
+ ],
+ [
+ {
+ "y": -0.8700000000000001
+ },
+ "2,0",
+ {
+ "x": 15.25
+ },
+ "7,0"
+ ],
+ [
+ {
+ "y": -0.8799999999999999,
+ "x": 7.25
+ },
+ "0,0\n\n\n0,1\n\n\n\n\n\ne",
+ {
+ "x": 0.75
+ },
+ "1,0\n\n\n1,1\n\n\n\n\n\ne"
+ ],
+ [
+ {
+ "y": -0.75,
+ "x": 3
+ },
+ "3,3",
+ {
+ "x": 9.25
+ },
+ "8,3"
+ ],
+ [
+ {
+ "y": -0.8700000000000001,
+ "x": 2
+ },
+ "3,2",
+ {
+ "x": 1
+ },
+ "3,4",
+ {
+ "x": 7.25
+ },
+ "8,4",
+ {
+ "x": 1
+ },
+ "8,2"
+ ],
+ [
+ {
+ "y": -0.8799999999999999,
+ "x": 5
+ },
+ "3,5",
+ {
+ "x": 5.25
+ },
+ "8,5"
+ ],
+ [
+ {
+ "y": -0.8700000000000001,
+ "x": 1
+ },
+ "3,1",
+ {
+ "x": 13.25
+ },
+ "8,1"
+ ],
+ [
+ {
+ "y": -0.75
+ },
+ "3,0",
+ {
+ "x": 15.25
+ },
+ "8,0"
+ ],
+ [
+ {
+ "y": -0.5,
+ "x": 2.75
+ },
+ "4,1",
+ "4,2",
+ {
+ "x": 7.75
+ },
+ "9,2",
+ "9,1"
+ ],
+ [
+ {
+ "y": -0.8799999999999999,
+ "x": 4.75
+ },
+ "4,3",
+ {
+ "x": 5.75
+ },
+ "9,3"
+ ],
+ [
+ {
+ "r": 30,
+ "y": -5.5,
+ "x": 7.5,
+ "h": 1.5
+ },
+ "4,4"
+ ],
+ [
+ {
+ "r": -30,
+ "y": 7.630000000000001,
+ "x": 6.44,
+ "h": 1.5
+ },
+ "9,4"
+ ]
+
+]
+ }
+}
\ No newline at end of file
diff --git a/keyboards/tweetydabird/lotus58/lotus58.c b/keyboards/tweetydabird/lotus58/lotus58.c
index a06c88111cc..f1e433a4265 100644
--- a/keyboards/tweetydabird/lotus58/lotus58.c
+++ b/keyboards/tweetydabird/lotus58/lotus58.c
@@ -6,7 +6,7 @@
#ifdef OLED_ENABLE
oled_rotation_t oled_init_kb(oled_rotation_t rotation) {
- return OLED_ROTATION_90;
+ return OLED_ROTATION_270;
}
void render_logo(void) {
diff --git a/keyboards/ymdk/ymd09/keymaps/vial/rules.mk b/keyboards/ymdk/ymd09/keymaps/vial/rules.mk
index e089954dc84..18ce79e4c9c 100644
--- a/keyboards/ymdk/ymd09/keymaps/vial/rules.mk
+++ b/keyboards/ymdk/ymd09/keymaps/vial/rules.mk
@@ -5,3 +5,4 @@ QMK_SETTINGS = no
TAP_DANCE_ENABLE = no
COMBO_ENABLE = no
KEY_OVERRIDE_ENABLE = no
+VIALRGB_ENABLE = yes
diff --git a/keyboards/ymdk/ymd09/keymaps/vial/vial.json b/keyboards/ymdk/ymd09/keymaps/vial/vial.json
index e9758c1ae1f..9800b419d9a 100644
--- a/keyboards/ymdk/ymd09/keymaps/vial/vial.json
+++ b/keyboards/ymdk/ymd09/keymaps/vial/vial.json
@@ -2,7 +2,7 @@
"name": "YMDK YMD09",
"vendorId": "0x594D",
"productId": "0x4409",
- "lighting": "qmk_rgblight",
+ "lighting": "vialrgb",
"matrix" : {
"rows": 3,
"cols": 3