From b6b363b1daee109efd1bffafc75b12b8d4267c36 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?S=E1=BA=AFn?= <59417802+MaiTheSan@users.noreply.github.com>
Date: Tue, 2 Apr 2024 10:57:13 +0700
Subject: [PATCH] Add VIAL support for Asmodus plaqueAD (#705)
* add VIAL support for Asmodus plaqueAD
* Reformat source
---
keyboards/asmodus/plaquead/info.json | 112 +++++++
keyboards/asmodus/plaquead/readme.md | 29 ++
keyboards/asmodus/plaquead/rgb/config.h | 25 ++
keyboards/asmodus/plaquead/rgb/info.json | 73 +++++
.../plaquead/rgb/keymaps/default/keymap.c | 78 +++++
.../asmodus/plaquead/rgb/keymaps/via/keymap.c | 78 +++++
.../asmodus/plaquead/rgb/keymaps/via/rules.mk | 1 +
.../plaquead/rgb/keymaps/vial/config.h | 19 ++
.../plaquead/rgb/keymaps/vial/keymap.c | 120 +++++++
.../plaquead/rgb/keymaps/vial/rules.mk | 3 +
.../plaquead/rgb/keymaps/vial/vial.json | 297 ++++++++++++++++++
keyboards/asmodus/plaquead/rgb/rgb.c | 71 +++++
keyboards/asmodus/plaquead/rgb/rules.mk | 1 +
keyboards/asmodus/plaquead/rules.mk | 1 +
keyboards/asmodus/plaquead/standard/config.h | 20 ++
keyboards/asmodus/plaquead/standard/info.json | 44 +++
.../standard/keymaps/default/keymap.c | 26 ++
.../plaquead/standard/keymaps/via/keymap.c | 26 ++
.../plaquead/standard/keymaps/via/rules.mk | 1 +
.../plaquead/standard/keymaps/vial/config.h | 19 ++
.../plaquead/standard/keymaps/vial/keymap.c | 68 ++++
.../plaquead/standard/keymaps/vial/rules.mk | 2 +
.../plaquead/standard/keymaps/vial/vial.json | 297 ++++++++++++++++++
keyboards/asmodus/plaquead/standard/rules.mk | 1 +
24 files changed, 1412 insertions(+)
create mode 100644 keyboards/asmodus/plaquead/info.json
create mode 100644 keyboards/asmodus/plaquead/readme.md
create mode 100644 keyboards/asmodus/plaquead/rgb/config.h
create mode 100644 keyboards/asmodus/plaquead/rgb/info.json
create mode 100644 keyboards/asmodus/plaquead/rgb/keymaps/default/keymap.c
create mode 100644 keyboards/asmodus/plaquead/rgb/keymaps/via/keymap.c
create mode 100644 keyboards/asmodus/plaquead/rgb/keymaps/via/rules.mk
create mode 100644 keyboards/asmodus/plaquead/rgb/keymaps/vial/config.h
create mode 100644 keyboards/asmodus/plaquead/rgb/keymaps/vial/keymap.c
create mode 100644 keyboards/asmodus/plaquead/rgb/keymaps/vial/rules.mk
create mode 100644 keyboards/asmodus/plaquead/rgb/keymaps/vial/vial.json
create mode 100644 keyboards/asmodus/plaquead/rgb/rgb.c
create mode 100644 keyboards/asmodus/plaquead/rgb/rules.mk
create mode 100644 keyboards/asmodus/plaquead/rules.mk
create mode 100644 keyboards/asmodus/plaquead/standard/config.h
create mode 100644 keyboards/asmodus/plaquead/standard/info.json
create mode 100644 keyboards/asmodus/plaquead/standard/keymaps/default/keymap.c
create mode 100644 keyboards/asmodus/plaquead/standard/keymaps/via/keymap.c
create mode 100644 keyboards/asmodus/plaquead/standard/keymaps/via/rules.mk
create mode 100644 keyboards/asmodus/plaquead/standard/keymaps/vial/config.h
create mode 100644 keyboards/asmodus/plaquead/standard/keymaps/vial/keymap.c
create mode 100644 keyboards/asmodus/plaquead/standard/keymaps/vial/rules.mk
create mode 100644 keyboards/asmodus/plaquead/standard/keymaps/vial/vial.json
create mode 100644 keyboards/asmodus/plaquead/standard/rules.mk
diff --git a/keyboards/asmodus/plaquead/info.json b/keyboards/asmodus/plaquead/info.json
new file mode 100644
index 0000000000..a38b905cae
--- /dev/null
+++ b/keyboards/asmodus/plaquead/info.json
@@ -0,0 +1,112 @@
+ {
+ "maintainer": "Mai The San",
+ "manufacturer": "Asmodus",
+ "processor": "RP2040",
+ "bootloader": "rp2040",
+ "diode_direction": "COL2ROW",
+ "matrix_pins": {
+ "rows": ["GP3", "GP1", "GP0", "GP25", "GP11", "GP9"],
+ "cols": ["GP29", "GP27", "GP26", "GP24", "GP23", "GP22", "GP21", "GP20", "GP19", "GP18", "GP17", "GP16", "GP15", "GP14", "GP13", "GP5", "GP4"]
+ },
+ "dynamic_keymap": {
+ "layer_count": 6
+ },
+ "url": "https://paramountkeeb.com/products/plaque-a-d",
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ {"matrix": [0, 0], "x": 0, "y": 0},
+ {"matrix": [0, 1], "x": 1.25, "y": 0},
+ {"matrix": [0, 2], "x": 2.25, "y": 0},
+ {"matrix": [0, 3], "x": 3.25, "y": 0},
+ {"matrix": [0, 4], "x": 4.25, "y": 0},
+ {"matrix": [0, 5], "x": 5.5, "y": 0},
+ {"matrix": [0, 6], "x": 6.5, "y": 0},
+ {"matrix": [0, 7], "x": 7.5, "y": 0},
+ {"matrix": [0, 8], "x": 8.5, "y": 0},
+ {"matrix": [0, 9], "x": 9.75, "y": 0},
+ {"matrix": [0, 10], "x": 10.75, "y": 0},
+ {"matrix": [0, 11], "x": 11.75, "y": 0},
+ {"matrix": [0, 12], "x": 12.75, "y": 0},
+ {"matrix": [0, 13], "x": 14, "y": 0},
+ {"matrix": [0, 14], "x": 15.25, "y": 0},
+ {"matrix": [0, 15], "x": 16.25, "y": 0},
+ {"matrix": [0, 16], "x": 17.25, "y": 0},
+ {"matrix": [1, 0], "x": 0, "y": 1.25},
+ {"matrix": [1, 1], "x": 1, "y": 1.25},
+ {"matrix": [1, 2], "x": 2, "y": 1.25},
+ {"matrix": [1, 3], "x": 3, "y": 1.25},
+ {"matrix": [1, 4], "x": 4, "y": 1.25},
+ {"matrix": [1, 5], "x": 5, "y": 1.25},
+ {"matrix": [1, 6], "x": 6, "y": 1.25},
+ {"matrix": [1, 7], "x": 7, "y": 1.25},
+ {"matrix": [1, 8], "x": 8, "y": 1.25},
+ {"matrix": [1, 9], "x": 9, "y": 1.25},
+ {"matrix": [1, 10], "x": 10, "y": 1.25},
+ {"matrix": [1, 11], "x": 11, "y": 1.25},
+ {"matrix": [1, 12], "x": 12, "y": 1.25},
+ {"matrix": [3, 12], "x": 13, "y": 1.25},
+ {"matrix": [1, 13], "x": 14, "y": 1.25},
+ {"matrix": [1, 14], "x": 15.25, "y": 1.25},
+ {"matrix": [1, 15], "x": 16.25, "y": 1.25},
+ {"matrix": [1, 16], "x": 17.25, "y": 1.25},
+ {"matrix": [2, 0], "w": 1.5, "x": 0, "y": 2.25},
+ {"matrix": [2, 1], "x": 1.5, "y": 2.25},
+ {"matrix": [2, 2], "x": 2.5, "y": 2.25},
+ {"matrix": [2, 3], "x": 3.5, "y": 2.25},
+ {"matrix": [2, 4], "x": 4.5, "y": 2.25},
+ {"matrix": [2, 5], "x": 5.5, "y": 2.25},
+ {"matrix": [2, 6], "x": 6.5, "y": 2.25},
+ {"matrix": [2, 7], "x": 7.5, "y": 2.25},
+ {"matrix": [2, 8], "x": 8.5, "y": 2.25},
+ {"matrix": [2, 9], "x": 9.5, "y": 2.25},
+ {"matrix": [2, 10], "x": 10.5, "y": 2.25},
+ {"matrix": [2, 11], "x": 11.5, "y": 2.25},
+ {"matrix": [2, 12], "x": 12.5, "y": 2.25},
+ {"matrix": [2, 13], "w": 1.5, "x": 13.5, "y": 2.25},
+ {"matrix": [2, 14], "x": 15.25, "y": 2.25},
+ {"matrix": [2, 15], "x": 16.25, "y": 2.25},
+ {"matrix": [2, 16], "x": 17.25, "y": 2.25},
+ {"matrix": [3, 0], "w": 1.75, "x": 0, "y": 3.25},
+ {"matrix": [3, 1], "x": 1.75, "y": 3.25},
+ {"matrix": [3, 2], "x": 2.75, "y": 3.25},
+ {"matrix": [3, 3], "x": 3.75, "y": 3.25},
+ {"matrix": [3, 4], "x": 4.75, "y": 3.25},
+ {"matrix": [3, 5], "x": 5.75, "y": 3.25},
+ {"matrix": [3, 6], "x": 6.75, "y": 3.25},
+ {"matrix": [3, 7], "x": 7.75, "y": 3.25},
+ {"matrix": [3, 8], "x": 8.75, "y": 3.25},
+ {"matrix": [3, 9], "x": 9.75, "y": 3.25},
+ {"matrix": [3, 10], "x": 10.75, "y": 3.25},
+ {"matrix": [3, 11], "x": 11.75, "y": 3.25},
+ {"matrix": [3, 13], "w": 2.25, "x": 12.75, "y": 3.25},
+ {"matrix": [4, 0], "w": 1.25, "x": 0, "y": 4.25},
+ {"matrix": [4, 1], "x": 1.25, "y": 4.25},
+ {"matrix": [4, 2], "x": 2.25, "y": 4.25},
+ {"matrix": [4, 3], "x": 3.25, "y": 4.25},
+ {"matrix": [4, 4], "x": 4.25, "y": 4.25},
+ {"matrix": [4, 5], "x": 5.25, "y": 4.25},
+ {"matrix": [4, 6], "x": 6.25, "y": 4.25},
+ {"matrix": [4, 7], "x": 7.25, "y": 4.25},
+ {"matrix": [4, 8], "x": 8.25, "y": 4.25},
+ {"matrix": [4, 9], "x": 9.25, "y": 4.25},
+ {"matrix": [4, 10], "x": 10.25, "y": 4.25},
+ {"matrix": [4, 11], "x": 11.25, "y": 4.25},
+ {"matrix": [4, 12], "w": 1.75, "x": 12.25, "y": 4.25},
+ {"matrix": [4, 13], "x": 14, "y": 4.25},
+ {"matrix": [4, 15], "x": 16.25, "y": 4.25},
+ {"matrix": [5, 0], "w": 1.25, "x": 0, "y": 5.25},
+ {"matrix": [5, 1], "w": 1.25, "x": 1.25, "y": 5.25},
+ {"matrix": [5, 2], "w": 1.25, "x": 2.5, "y": 5.25},
+ {"matrix": [5, 6], "w": 6.25, "x": 3.75, "y": 5.25},
+ {"matrix": [5, 10], "w": 1.25, "x": 10, "y": 5.25},
+ {"matrix": [5, 11], "w": 1.25, "x": 11.25, "y": 5.25},
+ {"matrix": [5, 12], "w": 1.25, "x": 12.5, "y": 5.25},
+ {"matrix": [5, 13], "w": 1.25, "x": 13.75, "y": 5.25},
+ {"matrix": [5, 14], "x": 15.25, "y": 5.25},
+ {"matrix": [5, 15], "x": 16.25, "y": 5.25},
+ {"matrix": [5, 16], "x": 17.25, "y": 5.25}
+ ]
+ }
+ }
+}
diff --git a/keyboards/asmodus/plaquead/readme.md b/keyboards/asmodus/plaquead/readme.md
new file mode 100644
index 0000000000..db307f24d9
--- /dev/null
+++ b/keyboards/asmodus/plaquead/readme.md
@@ -0,0 +1,29 @@
+# Plaque A.D
+
+![Plaque A.D](https://i.imgur.com/axShuI3.jpeg)
+
+A Hotswap Multi-layout F13 TKL PCB (h88c compatible) powered by RP2040.
+
+* Keyboard Maintainer: Mai The San
+* Hardware Supported: Plaque A.D PCB
+* Hardware Availability: [Plaque A.D](https://paramountkeeb.com/products/plaque-a-d)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make asmodus/plaquead:default
+ make asmodus/plaquead/rgb:default
+
+Flashing example for this keyboard:
+
+ make asmodus/plaquead:default:flash
+ make asmodus/plaquead/rgb:default:flash
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+## Bootloader
+
+Enter the bootloader in 3 ways:
+
+* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
+* **Physical reset button**: Briefly short the `RST` and `GND` pads on the SWD header twice, or short the `BOOT` header and plug in keyboard
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/asmodus/plaquead/rgb/config.h b/keyboards/asmodus/plaquead/rgb/config.h
new file mode 100644
index 0000000000..180e14831f
--- /dev/null
+++ b/keyboards/asmodus/plaquead/rgb/config.h
@@ -0,0 +1,25 @@
+/*
+Copyright 2024 Asmodus
+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 .
+*/
+
+#pragma once
+
+#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET
+#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 500U
+
+#define RP2040_FLASH_GENERIC_03H
+
+#ifdef RGB_MATRIX_ENABLE
+#define CAPS_LOCK_LED_INDEX 54
+#define SCROLL_LOCK_LED_INDEX 1
+#endif
\ No newline at end of file
diff --git a/keyboards/asmodus/plaquead/rgb/info.json b/keyboards/asmodus/plaquead/rgb/info.json
new file mode 100644
index 0000000000..7b45875fe9
--- /dev/null
+++ b/keyboards/asmodus/plaquead/rgb/info.json
@@ -0,0 +1,73 @@
+ {
+ "keyboard_name": "Plaque A.D RGB",
+ "usb": {
+ "vid": "0x5A50",
+ "pid": "0x1875",
+ "device_version": "0.0.1"
+ },
+ "features": {
+ "bootmagic": true,
+ "mousekey": true,
+ "extrakey": true,
+ "nkro": true,
+ "rgb_matrix": true
+ },
+ "ws2812": {
+ "pin": "GP2",
+ "driver": "vendor"
+ },
+ "rgb_matrix": {
+ "led_count": 136,
+ "center_point": [112, 32],
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "fractal": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
+ "default": {
+ "val": 60
+ },
+ "driver": "ws2812",
+ "sleep": true
+ }
+}
\ No newline at end of file
diff --git a/keyboards/asmodus/plaquead/rgb/keymaps/default/keymap.c b/keyboards/asmodus/plaquead/rgb/keymaps/default/keymap.c
new file mode 100644
index 0000000000..ba79e473b9
--- /dev/null
+++ b/keyboards/asmodus/plaquead/rgb/keymaps/default/keymap.c
@@ -0,0 +1,78 @@
+/*
+Copyright 2024 Asmodus
+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(
+ 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_F13, KC_PSCR, KC_SCRL, 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_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_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_TRNS, KC_UP,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, _______, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT)
+};
+
+// Code for indicator
+#if defined(RGB_MATRIX_ENABLE) && defined(CAPS_LOCK_LED_INDEX) && defined(SCROLL_LOCK_LED_INDEX)
+
+#if !defined(CAPS_LOCK_MAX_BRIGHTNESS)
+ #define CAPS_LOCK_MAX_BRIGHTNESS RGB_MATRIX_MAXIMUM_BRIGHTNESS
+#endif
+
+#if !defined(CAPS_LOCK_VAL_STEP)
+ #define CAPS_LOCK_VAL_STEP RGB_MATRIX_VAL_STEP
+#endif
+
+#if !defined(SCROLL_LOCK_MAX_BRIGHTNESS)
+ #define SCROLL_LOCK_MAX_BRIGHTNESS RGB_MATRIX_MAXIMUM_BRIGHTNESS
+#endif
+
+#if !defined(SCROLL_LOCK_VAL_STEP)
+ #define SCROLL_LOCK_VAL_STEP RGB_MATRIX_VAL_STEP
+#endif
+
+
+bool rgb_matrix_indicators_user(void) {
+ if (host_keyboard_led_state().caps_lock) {
+ uint8_t b = rgb_matrix_get_val();
+ if (b < CAPS_LOCK_VAL_STEP) {
+ b = CAPS_LOCK_VAL_STEP;
+ } else if (b < (CAPS_LOCK_MAX_BRIGHTNESS - CAPS_LOCK_VAL_STEP)) {
+ b += CAPS_LOCK_VAL_STEP; // one step more than current brightness
+ } else {
+ b = CAPS_LOCK_MAX_BRIGHTNESS;
+ }
+ rgb_matrix_set_color(CAPS_LOCK_LED_INDEX, b, b, b); // white, with the adjusted brightness
+ }
+ if (host_keyboard_led_state().scroll_lock) {
+ uint8_t b = rgb_matrix_get_val();
+ if (b < SCROLL_LOCK_VAL_STEP) {
+ b = SCROLL_LOCK_VAL_STEP;
+ } else if (b < (SCROLL_LOCK_MAX_BRIGHTNESS - SCROLL_LOCK_VAL_STEP)) {
+ b += SCROLL_LOCK_VAL_STEP; // one step more than current brightness
+ } else {
+ b = SCROLL_LOCK_MAX_BRIGHTNESS;
+ }
+ rgb_matrix_set_color(SCROLL_LOCK_LED_INDEX, b, b, b); // white, with the adjusted brightness
+ }
+ return false;
+}
+
+#endif
+
+// Code for Scroll Locks indicator
+
+
diff --git a/keyboards/asmodus/plaquead/rgb/keymaps/via/keymap.c b/keyboards/asmodus/plaquead/rgb/keymaps/via/keymap.c
new file mode 100644
index 0000000000..391453f11d
--- /dev/null
+++ b/keyboards/asmodus/plaquead/rgb/keymaps/via/keymap.c
@@ -0,0 +1,78 @@
+/*
+Copyright 2024 Asmodus
+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(
+ 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_F13, KC_PSCR, KC_SCRL, 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_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_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_TRNS, KC_UP,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT)
+};
+
+// Code for indicator
+#if defined(RGB_MATRIX_ENABLE) && defined(CAPS_LOCK_LED_INDEX) && defined(SCROLL_LOCK_LED_INDEX)
+
+#if !defined(CAPS_LOCK_MAX_BRIGHTNESS)
+ #define CAPS_LOCK_MAX_BRIGHTNESS RGB_MATRIX_MAXIMUM_BRIGHTNESS
+#endif
+
+#if !defined(CAPS_LOCK_VAL_STEP)
+ #define CAPS_LOCK_VAL_STEP RGB_MATRIX_VAL_STEP
+#endif
+
+#if !defined(SCROLL_LOCK_MAX_BRIGHTNESS)
+ #define SCROLL_LOCK_MAX_BRIGHTNESS RGB_MATRIX_MAXIMUM_BRIGHTNESS
+#endif
+
+#if !defined(SCROLL_LOCK_VAL_STEP)
+ #define SCROLL_LOCK_VAL_STEP RGB_MATRIX_VAL_STEP
+#endif
+
+
+bool rgb_matrix_indicators_user(void) {
+ if (host_keyboard_led_state().caps_lock) {
+ uint8_t b = rgb_matrix_get_val();
+ if (b < CAPS_LOCK_VAL_STEP) {
+ b = CAPS_LOCK_VAL_STEP;
+ } else if (b < (CAPS_LOCK_MAX_BRIGHTNESS - CAPS_LOCK_VAL_STEP)) {
+ b += CAPS_LOCK_VAL_STEP; // one step more than current brightness
+ } else {
+ b = CAPS_LOCK_MAX_BRIGHTNESS;
+ }
+ rgb_matrix_set_color(CAPS_LOCK_LED_INDEX, b, b, b); // white, with the adjusted brightness
+ }
+ if (host_keyboard_led_state().scroll_lock) {
+ uint8_t b = rgb_matrix_get_val();
+ if (b < SCROLL_LOCK_VAL_STEP) {
+ b = SCROLL_LOCK_VAL_STEP;
+ } else if (b < (SCROLL_LOCK_MAX_BRIGHTNESS - SCROLL_LOCK_VAL_STEP)) {
+ b += SCROLL_LOCK_VAL_STEP; // one step more than current brightness
+ } else {
+ b = SCROLL_LOCK_MAX_BRIGHTNESS;
+ }
+ rgb_matrix_set_color(SCROLL_LOCK_LED_INDEX, b, b, b); // white, with the adjusted brightness
+ }
+ return false;
+}
+
+#endif
+
+// Code for Scroll Locks indicator
+
+
diff --git a/keyboards/asmodus/plaquead/rgb/keymaps/via/rules.mk b/keyboards/asmodus/plaquead/rgb/keymaps/via/rules.mk
new file mode 100644
index 0000000000..1e5b99807c
--- /dev/null
+++ b/keyboards/asmodus/plaquead/rgb/keymaps/via/rules.mk
@@ -0,0 +1 @@
+VIA_ENABLE = yes
diff --git a/keyboards/asmodus/plaquead/rgb/keymaps/vial/config.h b/keyboards/asmodus/plaquead/rgb/keymaps/vial/config.h
new file mode 100644
index 0000000000..3197e53ae7
--- /dev/null
+++ b/keyboards/asmodus/plaquead/rgb/keymaps/vial/config.h
@@ -0,0 +1,19 @@
+/*
+Copyright 2024 Asmodus
+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 .
+*/
+
+#pragma once
+
+#define VIAL_UNLOCK_COMBO_ROWS { 0, 3 }
+#define VIAL_UNLOCK_COMBO_COLS { 0, 13 }
+#define VIAL_KEYBOARD_UID {0x9C, 0x48, 0x52, 0xD7, 0x95, 0xC0, 0x50, 0x8C}
\ No newline at end of file
diff --git a/keyboards/asmodus/plaquead/rgb/keymaps/vial/keymap.c b/keyboards/asmodus/plaquead/rgb/keymaps/vial/keymap.c
new file mode 100644
index 0000000000..37e03a3a4c
--- /dev/null
+++ b/keyboards/asmodus/plaquead/rgb/keymaps/vial/keymap.c
@@ -0,0 +1,120 @@
+/*
+Copyright 2024 Asmodus
+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(
+ 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_F13, KC_PSCR, KC_SCRL, 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_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_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_TRNS, KC_UP,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
+
+
+ [1] = LAYOUT(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
+
+ [4] = LAYOUT(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
+
+ [5] = LAYOUT(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
+
+};
+
+// Code for indicator
+#if defined(RGB_MATRIX_ENABLE) && defined(CAPS_LOCK_LED_INDEX) && defined(SCROLL_LOCK_LED_INDEX)
+
+#if !defined(CAPS_LOCK_MAX_BRIGHTNESS)
+ #define CAPS_LOCK_MAX_BRIGHTNESS RGB_MATRIX_MAXIMUM_BRIGHTNESS
+#endif
+
+#if !defined(CAPS_LOCK_VAL_STEP)
+ #define CAPS_LOCK_VAL_STEP RGB_MATRIX_VAL_STEP
+#endif
+
+#if !defined(SCROLL_LOCK_MAX_BRIGHTNESS)
+ #define SCROLL_LOCK_MAX_BRIGHTNESS RGB_MATRIX_MAXIMUM_BRIGHTNESS
+#endif
+
+#if !defined(SCROLL_LOCK_VAL_STEP)
+ #define SCROLL_LOCK_VAL_STEP RGB_MATRIX_VAL_STEP
+#endif
+
+
+bool rgb_matrix_indicators_user(void) {
+ if (host_keyboard_led_state().caps_lock) {
+ uint8_t b = rgb_matrix_get_val();
+ if (b < CAPS_LOCK_VAL_STEP) {
+ b = CAPS_LOCK_VAL_STEP;
+ } else if (b < (CAPS_LOCK_MAX_BRIGHTNESS - CAPS_LOCK_VAL_STEP)) {
+ b += CAPS_LOCK_VAL_STEP; // one step more than current brightness
+ } else {
+ b = CAPS_LOCK_MAX_BRIGHTNESS;
+ }
+ rgb_matrix_set_color(CAPS_LOCK_LED_INDEX, b, b, b); // white, with the adjusted brightness
+ }
+ if (host_keyboard_led_state().scroll_lock) {
+ uint8_t b = rgb_matrix_get_val();
+ if (b < SCROLL_LOCK_VAL_STEP) {
+ b = SCROLL_LOCK_VAL_STEP;
+ } else if (b < (SCROLL_LOCK_MAX_BRIGHTNESS - SCROLL_LOCK_VAL_STEP)) {
+ b += SCROLL_LOCK_VAL_STEP; // one step more than current brightness
+ } else {
+ b = SCROLL_LOCK_MAX_BRIGHTNESS;
+ }
+ rgb_matrix_set_color(SCROLL_LOCK_LED_INDEX, b, b, b); // white, with the adjusted brightness
+ }
+ return false;
+}
+
+#endif
+
+// Code for Scroll Locks indicator
+
+
diff --git a/keyboards/asmodus/plaquead/rgb/keymaps/vial/rules.mk b/keyboards/asmodus/plaquead/rgb/keymaps/vial/rules.mk
new file mode 100644
index 0000000000..31bb6d699f
--- /dev/null
+++ b/keyboards/asmodus/plaquead/rgb/keymaps/vial/rules.mk
@@ -0,0 +1,3 @@
+VIA_ENABLE = yes
+VIAL_ENABLE = yes
+VIALRGB_ENABLE = yes
\ No newline at end of file
diff --git a/keyboards/asmodus/plaquead/rgb/keymaps/vial/vial.json b/keyboards/asmodus/plaquead/rgb/keymaps/vial/vial.json
new file mode 100644
index 0000000000..c0f1cc9f8b
--- /dev/null
+++ b/keyboards/asmodus/plaquead/rgb/keymaps/vial/vial.json
@@ -0,0 +1,297 @@
+{
+ "name": "Plaque A.D RGB",
+ "vendorId": "0x5A50",
+ "productId": "0x1875",
+ "matrix": {
+ "rows": 6,
+ "cols": 17
+ },
+ "lighting": "vialrgb",
+ "layouts": {
+ "labels": [
+ "Split Backspace",
+ "ISO",
+ "Split Left Shift",
+ "Split Right Shift",
+ "Stepped Caps",
+ ["Bottom Row", "6.25U", "7U", "WKL"]
+ ],
+ "keymap": [
+ [
+ {
+ "x": 2.5
+ },
+ "0,0",
+ {
+ "x": 0.25
+ },
+ "0,1",
+ "0,2",
+ "0,3",
+ "0,4",
+ {
+ "x": 0.25
+ },
+ "0,5",
+ "0,6",
+ "0,7",
+ "0,8",
+ {
+ "x": 0.25
+ },
+ "0,9",
+ "0,10",
+ "0,11",
+ "0,12",
+ {
+ "x": 0.25
+ },
+ "0,13",
+ {
+ "x": 0.25
+ },
+ "0,14",
+ "0,15",
+ "0,16"
+ ],
+ [
+ {
+ "y": 0.25,
+ "x": 2.5
+ },
+ "1,0",
+ "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": 2
+ },
+ "1,13\n\n\n0,0",
+ {
+ "x": 0.25
+ },
+ "1,14",
+ "1,15",
+ "1,16",
+ {
+ "x": 1
+ },
+ "3,12\n\n\n0,1",
+ "1,13\n\n\n0,1"
+ ],
+ [
+ {
+ "x": 2.5,
+ "w": 1.5
+ },
+ "2,0",
+ "2,1",
+ "2,2",
+ "2,3",
+ "2,4",
+ "2,5",
+ "2,6",
+ "2,7",
+ "2,8",
+ "2,9",
+ "2,10",
+ "2,11",
+ "2,12",
+ {
+ "w": 1.5
+ },
+ "2,13\n\n\n1,0",
+ {
+ "x": 0.25
+ },
+ "2,14",
+ "2,15",
+ "2,16",
+ {
+ "x": 1.75,
+ "w": 1.25,
+ "h": 2,
+ "w2": 1.5,
+ "h2": 1,
+ "x2": -0.25
+ },
+ "2,13\n\n\n1,1"
+ ],
+ [
+ {
+ "w": 1.25,
+ "w2": 1.75,
+ "l": true
+ },
+ "3,0\n\n\n4,1",
+ {
+ "x": 1.25,
+ "w": 1.75
+ },
+ "3,0\n\n\n4,0",
+ "3,1",
+ "3,2",
+ "3,3",
+ "3,4",
+ "3,5",
+ "3,6",
+ "3,7",
+ "3,8",
+ "3,9",
+ "3,10",
+ "3,11",
+ {
+ "w": 2.25
+ },
+ "3,13\n\n\n1,0",
+ {
+ "x": 4
+ },
+ "3,13\n\n\n1,1"
+ ],
+ [
+ {
+ "w": 1.25
+ },
+ "4,0\n\n\n2,1",
+ "4,1\n\n\n2,1",
+ {
+ "x": 0.25,
+ "w": 2.25
+ },
+ "4,0\n\n\n2,0",
+ "4,2",
+ "4,3",
+ "4,4",
+ "4,5",
+ "4,6",
+ "4,7",
+ "4,8",
+ "4,9",
+ "4,10",
+ "4,11",
+ {
+ "w": 2.75
+ },
+ "4,12\n\n\n3,0",
+ {
+ "x": 1.25
+ },
+ "4,15",
+ {
+ "x": 1.25,
+ "w": 1.75
+ },
+ "4,12\n\n\n3,1",
+ "4,13\n\n\n3,1"
+ ],
+ [
+ {
+ "x": 2.5,
+ "w": 1.25
+ },
+ "5,0\n\n\n5,0",
+ {
+ "w": 1.25
+ },
+ "5,1\n\n\n5,0",
+ {
+ "w": 1.25
+ },
+ "5,2\n\n\n5,0",
+ {
+ "w": 6.25
+ },
+ "5,6\n\n\n5,0",
+ {
+ "w": 1.25
+ },
+ "5,10\n\n\n5,0",
+ {
+ "w": 1.25
+ },
+ "5,11\n\n\n5,0",
+ {
+ "w": 1.25
+ },
+ "5,12\n\n\n5,0",
+ {
+ "w": 1.25
+ },
+ "5,13\n\n\n5,0",
+ {
+ "x": 0.25
+ },
+ "5,14",
+ "5,15",
+ "5,16"
+ ],
+ [
+ {
+ "y": 0.25,
+ "x": 2.5,
+ "w": 1.5
+ },
+ "5,0\n\n\n5,1",
+ "5,1\n\n\n5,1",
+ {
+ "w": 1.5
+ },
+ "5,2\n\n\n5,1",
+ {
+ "w": 7
+ },
+ "5,6\n\n\n5,1",
+ {
+ "w": 1.5
+ },
+ "5,11\n\n\n5,1",
+ "5,12\n\n\n5,1",
+ {
+ "w": 1.5
+ },
+ "5,13\n\n\n5,1"
+ ],
+ [
+ {
+ "x": 2.5,
+ "w": 1.5
+ },
+ "5,0\n\n\n5,2",
+ {
+ "d": true
+ },
+ "5,1\n\n\n5,2",
+ {
+ "w": 1.5
+ },
+ "5,2\n\n\n5,2",
+ {
+ "w": 7
+ },
+ "5,6\n\n\n5,2",
+ {
+ "w": 1.5
+ },
+ "5,11\n\n\n5,2",
+ {
+ "d": true
+ },
+ "5,12\n\n\n5,2",
+ {
+ "w": 1.5
+ },
+ "5,13\n\n\n5,2"
+ ]
+ ]
+ }
+}
diff --git a/keyboards/asmodus/plaquead/rgb/rgb.c b/keyboards/asmodus/plaquead/rgb/rgb.c
new file mode 100644
index 0000000000..4f9d2b7749
--- /dev/null
+++ b/keyboards/asmodus/plaquead/rgb/rgb.c
@@ -0,0 +1,71 @@
+/*
+Copyright 2024 Asmodus
+
+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 "quantum.h"
+
+#ifdef RGB_MATRIX_ENABLE
+led_config_t g_led_config = { {
+// { 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 , 11 , 12 , NO_LED , 13 , 14 , 15 },
+// { 16 , 17 , 18 , 19 , 20 , 21 , 22 , 23 , 24 , 25 , 26 , 27 , 28 , 29 , 30 , 31 , 32 },
+// { 33 , 34 , 35 , 36 , 37 , 38 , 39 , 40 , 41 , 42 , 43 , 44 , 45 , 46 , 47 , 48 , 49 },
+// { 50 , 51 , 52 , 53 , 54 , 55 , 56 , 57 , 58 , 59 , 60 , 61 , 62 , NO_LED , NO_LED , NO_LED , NO_LED },
+// { 63 , NO_LED , 64 , 65 , 66 , 67 , 68 , 69 , 70 , 71 , 72 , 73 , 74 , NO_LED , NO_LED , 75 , NO_LED },
+// { 76 , 77 , 78 , NO_LED , NO_LED , NO_LED , 79 , NO_LED , NO_LED , 80 , 81 , 82 , 83 , NO_LED , 84 , 85 , 86 }
+//
+ { 17 , 16 , 15 , 14 , 13 , 12 , 10 , 9 , 8 , 7 , 6 , 5 , 4 , 3 , 2 , 1 , 0 },
+ { 18 , 19 , 20 , 21 , 22 , 23 , 24 , 25 , 26 , 27 , 28 , 29 , 30 , 33 , 34 , 35 , 36 },
+ { 53 , 52 , 51 , 50 , 49 , 48 , 47 , 46 , 45 , 44 , 43 , 42 , 41 , 40 , 39 , 38 , 37 },
+ { 54 , 55 , 56 , 57 , 58 , 59 , 60 , 61 , 62 , 63 , 64 , 65 , 31 , 66 , NO_LED , NO_LED , NO_LED },
+ { 82 , 80 , 79 , 78 , 77 , 76 , 75 , 74 , 73 , 72 , 71 , 70 , 69 , 67 , NO_LED , 93 , NO_LED },
+ { 83 , 84 , 85 , NO_LED , NO_LED , NO_LED , 86 , NO_LED , NO_LED , NO_LED , 88 , 89 , 90 , 91 , 92 , 94 , 95 }
+},{
+// "Fine-tuned" complex configuration
+{224,0 }, {211,0 }, {198,0 }, {182,0 }, {166,0 }, {153,0 }, {148,0 }, {140,0 }, {127,0 }, {110,0 }, { 97,0 }, { 84,0 }, { 71,0 }, { 55,0 }, { 42,0 }, { 29,0 }, { 16,0 }, { 0,0 },
+{ 0,15 }, { 13,15 }, { 26,15 }, { 39,15 }, { 52,15 }, { 65,15 }, { 78,15 }, { 91,15 }, {104,15 }, {117,15 }, {130,15 }, {143,15 }, {156,15 }, {175,15 }, {169,15 }, {182,15 }, {198,15 }, {211,15 }, {224,15 },
+{224,27 }, {211,27 }, {198,27 }, {179,27 }, {162,27 }, {149,27 }, {136,27 }, {123,27 }, {110,27 }, { 97,27 }, { 84,27 }, { 71,27 }, { 58,27 }, { 45,27 }, { 32,27 }, { 19,27 }, { 3,27 },
+{ 5,40 }, { 23,40 }, { 36,40 }, { 49,40 }, { 62,40 }, { 75,40 }, { 88,40 }, {101,40 }, {114,40 }, {127,40 }, {140,40 }, {153,40 }, {174,40 },
+{182,52 }, {170,52 }, {164,52 }, {146,52 }, {133,52 }, {120,52 }, {107,52 }, { 94,52 }, { 81,52 }, { 68,52 }, { 55,52 }, { 42,52 }, { 29,52 }, { 16,52 }, { 8,52 }, { 2,52 },
+{ 5,64 }, { 21,64 }, { 37,64 }, { 83,64 }, { 91,64 }, {131,64 }, {151,64 }, {167,64 }, {183,64 }, {198,64 }, {211,52 }, {211,64 }, {224,64 },
+
+{224,57 }, {224,45 }, {224,32 }, {224,20 },
+{224,5 }, {209,5 }, {194,5 }, {179,5 }, {164,5 }, {149,5 }, {134,5 }, {119,5 }, {104,5 }, {89,5 }, { 74,5 }, { 59,5 }, { 44,5 }, { 29,5 }, { 14,5 },
+{ 0,5 }, { 0,20 }, { 0,32 }, { 0,45 },
+{ 0,57 }, { 14,57 }, { 29,57 }, { 44,57 }, { 59,57 }, { 74,57 }, { 89,57 }, {104,57 }, {119,57 }, {134,57 }, {149,57 }, {164,57 }, {179,57 }, {194,57 }, {209,57 },
+
+
+
+// "Stock" simple configuration
+// { 224, 0}, { 210, 0}, { 196, 0}, { 182, 0}, { 168, 0}, { 154, 0}, { 140, 0}, { 126, 0}, { 112, 0}, { 98, 0}, { 84, 0}, { 70, 0}, { 56, 0}, { 28, 0}, { 14, 0}, { 0, 0},
+// { 0, 45}, { 14, 45}, { 28, 45}, { 42, 45}, { 56, 45}, { 70, 45}, { 84, 45}, { 98, 45}, { 112, 45}, { 126, 45}, { 140, 45}, { 154, 45}, { 168, 45}, { 182, 45}, { 196, 45}, { 210, 45}, { 224, 45},
+// { 224, 90}, { 210, 90}, { 196, 90}, { 182, 90}, { 168, 90}, { 154, 90}, { 140, 90}, { 126, 90}, { 112, 90}, { 98, 90}, { 84, 90}, { 70, 90}, { 56, 90}, { 42, 90}, { 28, 90}, { 14, 90}, { 0, 90},
+// { 0, 135}, { 14, 135}, { 28, 135}, { 42, 135}, { 56, 135}, { 70, 135}, { 84, 135}, { 98, 135}, { 112, 135}, { 126, 135}, { 140, 135}, { 154, 135}, { 168, 135},
+// { 224, 180}, { 196, 180}, { 182, 180}, { 168, 180}, { 154, 180}, { 140, 180}, { 126, 180}, { 112, 180}, { 98, 180}, { 84, 180}, { 70, 180}, { 56, 180}, { 14, 180},
+// { 0, 225}, { 14, 225}, { 28, 225}, { 84, 225}, { 126, 225}, { 140, 225}, { 154, 225}, { 168, 225}, { 196, 45}, { 210, 45}, { 224, 90}
+}, {
+ 4 , 4 , 4 , 4 , 4 , 4 , 4 , 4 , 4 , 4 , 4 , 4 , 4 , 4 , 4 , 4 , 4 , 4 ,
+ 4 , 4 , 4 , 4 , 4 , 4 , 4 , 4 , 4 , 4 , 4 , 4 , 4 , 1 , 1 , 1 , 4 , 4 , 4 ,
+ 4 , 4 , 4 , 4 , 4 , 4 , 4 , 4 , 4 , 4 , 4 , 4 , 4 , 4 , 4 , 4 , 4 ,
+ 1 , 4 , 4 , 4 , 4 , 4 , 4 , 4 , 4 , 4 , 4 , 4 , 1 ,
+ 4 , 1 , 1 , 4 , 4 , 4 , 4 , 4 , 4 , 4 , 4 , 4 , 4 , 1 , 1 , 4 ,
+ 1 , 1 , 1 , 4 , 4 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 ,
+
+
+ 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 ,
+ 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2
+
+} };
+#endif
diff --git a/keyboards/asmodus/plaquead/rgb/rules.mk b/keyboards/asmodus/plaquead/rgb/rules.mk
new file mode 100644
index 0000000000..6e7633bfe0
--- /dev/null
+++ b/keyboards/asmodus/plaquead/rgb/rules.mk
@@ -0,0 +1 @@
+# This file intentionally left blank
diff --git a/keyboards/asmodus/plaquead/rules.mk b/keyboards/asmodus/plaquead/rules.mk
new file mode 100644
index 0000000000..750753e989
--- /dev/null
+++ b/keyboards/asmodus/plaquead/rules.mk
@@ -0,0 +1 @@
+DEFAULT_FOLDER = asmodus/plaquead/standard
\ No newline at end of file
diff --git a/keyboards/asmodus/plaquead/standard/config.h b/keyboards/asmodus/plaquead/standard/config.h
new file mode 100644
index 0000000000..9186986955
--- /dev/null
+++ b/keyboards/asmodus/plaquead/standard/config.h
@@ -0,0 +1,20 @@
+/*
+Copyright 2024 Asmodus
+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 .
+*/
+
+#pragma once
+
+#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET
+#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 500U
+
+#define RP2040_FLASH_GENERIC_03H
\ No newline at end of file
diff --git a/keyboards/asmodus/plaquead/standard/info.json b/keyboards/asmodus/plaquead/standard/info.json
new file mode 100644
index 0000000000..fc6bc7f612
--- /dev/null
+++ b/keyboards/asmodus/plaquead/standard/info.json
@@ -0,0 +1,44 @@
+ {
+ "keyboard_name": "Plaque A.D",
+ "usb": {
+ "vid": "0x5A50",
+ "pid": "0x0875",
+ "device_version": "0.0.1"
+ },
+ "features": {
+ "bootmagic": true,
+ "mousekey": true,
+ "extrakey": true,
+ "nkro": true,
+ "rgblight": true
+ },
+ "dynamic_keymap": {
+ "layer_count": 6
+ },
+ "indicators": {
+ "caps_lock": "GP28",
+ "scroll_lock": "GP2"
+ },
+ "rgblight": {
+ "led_count": 38,
+ "saturation_steps": 8,
+ "brightness_steps": 8,
+ "sleep": true,
+ "animations": {
+ "alternating": true,
+ "breathing": true,
+ "christmas": true,
+ "knight": true,
+ "rainbow_mood": true,
+ "rainbow_swirl": true,
+ "rgb_test": true,
+ "snake": true,
+ "static_gradient": true,
+ "twinkle": true
+ }
+ },
+ "ws2812": {
+ "pin": "GP10",
+ "driver": "vendor"
+ }
+}
\ No newline at end of file
diff --git a/keyboards/asmodus/plaquead/standard/keymaps/default/keymap.c b/keyboards/asmodus/plaquead/standard/keymaps/default/keymap.c
new file mode 100644
index 0000000000..62744f0c87
--- /dev/null
+++ b/keyboards/asmodus/plaquead/standard/keymaps/default/keymap.c
@@ -0,0 +1,26 @@
+/*
+Copyright 2024 Asmodus
+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(
+ 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_F13, KC_PSCR, KC_SCRL, 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_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_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_TRNS, KC_UP,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, _______, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT)
+};
diff --git a/keyboards/asmodus/plaquead/standard/keymaps/via/keymap.c b/keyboards/asmodus/plaquead/standard/keymaps/via/keymap.c
new file mode 100644
index 0000000000..db9b639cb7
--- /dev/null
+++ b/keyboards/asmodus/plaquead/standard/keymaps/via/keymap.c
@@ -0,0 +1,26 @@
+/*
+Copyright 2024 Asmodus
+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(
+ 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_F13, KC_PSCR, KC_SCRL, 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_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_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_TRNS, KC_UP,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
+};
diff --git a/keyboards/asmodus/plaquead/standard/keymaps/via/rules.mk b/keyboards/asmodus/plaquead/standard/keymaps/via/rules.mk
new file mode 100644
index 0000000000..1e5b99807c
--- /dev/null
+++ b/keyboards/asmodus/plaquead/standard/keymaps/via/rules.mk
@@ -0,0 +1 @@
+VIA_ENABLE = yes
diff --git a/keyboards/asmodus/plaquead/standard/keymaps/vial/config.h b/keyboards/asmodus/plaquead/standard/keymaps/vial/config.h
new file mode 100644
index 0000000000..6559001280
--- /dev/null
+++ b/keyboards/asmodus/plaquead/standard/keymaps/vial/config.h
@@ -0,0 +1,19 @@
+/*
+Copyright 2024 Asmodus
+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 .
+*/
+
+#pragma once
+
+#define VIAL_UNLOCK_COMBO_ROWS { 0, 3 }
+#define VIAL_UNLOCK_COMBO_COLS { 0, 13 }
+#define VIAL_KEYBOARD_UID {0xF1, 0x51, 0xCF, 0x94, 0x3E, 0x04, 0xAF, 0x6B}
\ No newline at end of file
diff --git a/keyboards/asmodus/plaquead/standard/keymaps/vial/keymap.c b/keyboards/asmodus/plaquead/standard/keymaps/vial/keymap.c
new file mode 100644
index 0000000000..1e70631d8b
--- /dev/null
+++ b/keyboards/asmodus/plaquead/standard/keymaps/vial/keymap.c
@@ -0,0 +1,68 @@
+/*
+Copyright 2024 Asmodus
+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(
+ 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_F13, KC_PSCR, KC_SCRL, 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_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_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_TRNS, KC_UP,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
+
+
+ [1] = LAYOUT(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
+
+ [4] = LAYOUT(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
+
+ [5] = LAYOUT(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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/asmodus/plaquead/standard/keymaps/vial/rules.mk b/keyboards/asmodus/plaquead/standard/keymaps/vial/rules.mk
new file mode 100644
index 0000000000..6bc7063adc
--- /dev/null
+++ b/keyboards/asmodus/plaquead/standard/keymaps/vial/rules.mk
@@ -0,0 +1,2 @@
+VIA_ENABLE = yes
+VIAL_ENABLE = yes
\ No newline at end of file
diff --git a/keyboards/asmodus/plaquead/standard/keymaps/vial/vial.json b/keyboards/asmodus/plaquead/standard/keymaps/vial/vial.json
new file mode 100644
index 0000000000..2dcc0d408a
--- /dev/null
+++ b/keyboards/asmodus/plaquead/standard/keymaps/vial/vial.json
@@ -0,0 +1,297 @@
+{
+ "name": "Plaque A.D",
+ "vendorId": "0x5A50",
+ "productId": "0x0875",
+ "matrix": {
+ "rows": 6,
+ "cols": 17
+ },
+ "lighting": "qmk_rgblight",
+ "layouts": {
+ "labels": [
+ "Split Backspace",
+ "ISO",
+ "Split Left Shift",
+ "Split Right Shift",
+ "Stepped Caps",
+ ["Bottom Row", "6.25U", "7U", "WKL"]
+ ],
+ "keymap": [
+ [
+ {
+ "x": 2.5
+ },
+ "0,0",
+ {
+ "x": 0.25
+ },
+ "0,1",
+ "0,2",
+ "0,3",
+ "0,4",
+ {
+ "x": 0.25
+ },
+ "0,5",
+ "0,6",
+ "0,7",
+ "0,8",
+ {
+ "x": 0.25
+ },
+ "0,9",
+ "0,10",
+ "0,11",
+ "0,12",
+ {
+ "x": 0.25
+ },
+ "0,13",
+ {
+ "x": 0.25
+ },
+ "0,14",
+ "0,15",
+ "0,16"
+ ],
+ [
+ {
+ "y": 0.25,
+ "x": 2.5
+ },
+ "1,0",
+ "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": 2
+ },
+ "1,13\n\n\n0,0",
+ {
+ "x": 0.25
+ },
+ "1,14",
+ "1,15",
+ "1,16",
+ {
+ "x": 1
+ },
+ "3,12\n\n\n0,1",
+ "1,13\n\n\n0,1"
+ ],
+ [
+ {
+ "x": 2.5,
+ "w": 1.5
+ },
+ "2,0",
+ "2,1",
+ "2,2",
+ "2,3",
+ "2,4",
+ "2,5",
+ "2,6",
+ "2,7",
+ "2,8",
+ "2,9",
+ "2,10",
+ "2,11",
+ "2,12",
+ {
+ "w": 1.5
+ },
+ "2,13\n\n\n1,0",
+ {
+ "x": 0.25
+ },
+ "2,14",
+ "2,15",
+ "2,16",
+ {
+ "x": 1.75,
+ "w": 1.25,
+ "h": 2,
+ "w2": 1.5,
+ "h2": 1,
+ "x2": -0.25
+ },
+ "2,13\n\n\n1,1"
+ ],
+ [
+ {
+ "w": 1.25,
+ "w2": 1.75,
+ "l": true
+ },
+ "3,0\n\n\n4,1",
+ {
+ "x": 1.25,
+ "w": 1.75
+ },
+ "3,0\n\n\n4,0",
+ "3,1",
+ "3,2",
+ "3,3",
+ "3,4",
+ "3,5",
+ "3,6",
+ "3,7",
+ "3,8",
+ "3,9",
+ "3,10",
+ "3,11",
+ {
+ "w": 2.25
+ },
+ "3,13\n\n\n1,0",
+ {
+ "x": 4
+ },
+ "3,13\n\n\n1,1"
+ ],
+ [
+ {
+ "w": 1.25
+ },
+ "4,0\n\n\n2,1",
+ "4,1\n\n\n2,1",
+ {
+ "x": 0.25,
+ "w": 2.25
+ },
+ "4,0\n\n\n2,0",
+ "4,2",
+ "4,3",
+ "4,4",
+ "4,5",
+ "4,6",
+ "4,7",
+ "4,8",
+ "4,9",
+ "4,10",
+ "4,11",
+ {
+ "w": 2.75
+ },
+ "4,12\n\n\n3,0",
+ {
+ "x": 1.25
+ },
+ "4,15",
+ {
+ "x": 1.25,
+ "w": 1.75
+ },
+ "4,12\n\n\n3,1",
+ "4,13\n\n\n3,1"
+ ],
+ [
+ {
+ "x": 2.5,
+ "w": 1.25
+ },
+ "5,0\n\n\n5,0",
+ {
+ "w": 1.25
+ },
+ "5,1\n\n\n5,0",
+ {
+ "w": 1.25
+ },
+ "5,2\n\n\n5,0",
+ {
+ "w": 6.25
+ },
+ "5,6\n\n\n5,0",
+ {
+ "w": 1.25
+ },
+ "5,10\n\n\n5,0",
+ {
+ "w": 1.25
+ },
+ "5,11\n\n\n5,0",
+ {
+ "w": 1.25
+ },
+ "5,12\n\n\n5,0",
+ {
+ "w": 1.25
+ },
+ "5,13\n\n\n5,0",
+ {
+ "x": 0.25
+ },
+ "5,14",
+ "5,15",
+ "5,16"
+ ],
+ [
+ {
+ "y": 0.25,
+ "x": 2.5,
+ "w": 1.5
+ },
+ "5,0\n\n\n5,1",
+ "5,1\n\n\n5,1",
+ {
+ "w": 1.5
+ },
+ "5,2\n\n\n5,1",
+ {
+ "w": 7
+ },
+ "5,6\n\n\n5,1",
+ {
+ "w": 1.5
+ },
+ "5,11\n\n\n5,1",
+ "5,12\n\n\n5,1",
+ {
+ "w": 1.5
+ },
+ "5,13\n\n\n5,1"
+ ],
+ [
+ {
+ "x": 2.5,
+ "w": 1.5
+ },
+ "5,0\n\n\n5,2",
+ {
+ "d": true
+ },
+ "5,1\n\n\n5,2",
+ {
+ "w": 1.5
+ },
+ "5,2\n\n\n5,2",
+ {
+ "w": 7
+ },
+ "5,6\n\n\n5,2",
+ {
+ "w": 1.5
+ },
+ "5,11\n\n\n5,2",
+ {
+ "d": true
+ },
+ "5,12\n\n\n5,2",
+ {
+ "w": 1.5
+ },
+ "5,13\n\n\n5,2"
+ ]
+ ]
+ }
+}
diff --git a/keyboards/asmodus/plaquead/standard/rules.mk b/keyboards/asmodus/plaquead/standard/rules.mk
new file mode 100644
index 0000000000..6e7633bfe0
--- /dev/null
+++ b/keyboards/asmodus/plaquead/standard/rules.mk
@@ -0,0 +1 @@
+# This file intentionally left blank