summaryrefslogtreecommitdiffstats
path: root/keyboards/idobao
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/idobao')
-rwxr-xr-xkeyboards/idobao/montex/v1rgb/config.h95
-rwxr-xr-xkeyboards/idobao/montex/v1rgb/info.json36
-rwxr-xr-xkeyboards/idobao/montex/v1rgb/keymaps/default/keymap.c54
-rwxr-xr-xkeyboards/idobao/montex/v1rgb/keymaps/default/readme.md3
-rwxr-xr-xkeyboards/idobao/montex/v1rgb/keymaps/via/keymap.c94
-rwxr-xr-xkeyboards/idobao/montex/v1rgb/keymaps/via/readme.md3
-rwxr-xr-xkeyboards/idobao/montex/v1rgb/keymaps/via/rules.mk2
-rwxr-xr-xkeyboards/idobao/montex/v1rgb/readme.md30
-rwxr-xr-xkeyboards/idobao/montex/v1rgb/rules.mk21
-rwxr-xr-xkeyboards/idobao/montex/v1rgb/v1rgb.c58
-rwxr-xr-xkeyboards/idobao/montex/v1rgb/v1rgb.h24
11 files changed, 420 insertions, 0 deletions
diff --git a/keyboards/idobao/montex/v1rgb/config.h b/keyboards/idobao/montex/v1rgb/config.h
new file mode 100755
index 0000000000..609aeb417e
--- /dev/null
+++ b/keyboards/idobao/montex/v1rgb/config.h
@@ -0,0 +1,95 @@
+// Copyright 2022 peepeetee (@peepeetee)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#include "config_common.h"
+
+/* USB Device descriptor parameter */
+#define VENDOR_ID 0x6964 // "id"
+#define PRODUCT_ID 0x0127
+#define DEVICE_VER 0x0001
+#define MANUFACTURER IDOBAO
+#define PRODUCT Montex RGB
+
+/* key matrix size */
+#define MATRIX_ROWS 6
+#define MATRIX_COLS 5
+
+/*
+ * Keyboard Matrix Assignments
+ *
+ * Change this to how you wired your keyboard
+ * COLS: AVR pins used for columns, left to right
+ * ROWS: AVR pins used for rows, top to bottom
+ * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
+ * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
+ */
+#define MATRIX_ROW_PINS { D4, D6, D7, B4, B5, C6 }
+#define MATRIX_COL_PINS { D5, D3, D2, D1, D0 }
+
+#define DIODE_DIRECTION ROW2COL
+
+#define RGB_DI_PIN B1
+
+#if defined(RGB_DI_PIN) && defined(RGB_MATRIX_ENABLE)
+
+ // The number of LEDs connected
+ #define DRIVER_LED_TOTAL 31
+
+ #define RGB_MATRIX_KEYPRESSES // reacts to keypresses
+ #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 180 // Limit to vendor-recommended value
+
+ // RGB Matrix Animation modes. Explicitly enabled
+ // For full list of effects, see:
+ // https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
+ /* *** Items disabled are visually unappealing in a 5x6 key matrix *** */
+ #define ENABLE_RGB_MATRIX_SOLID_COLOR
+ #define ENABLE_RGB_MATRIX_ALPHAS_MODS
+ #define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
+ #define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
+ #define ENABLE_RGB_MATRIX_BREATHING
+ // #define ENABLE_RGB_MATRIX_BAND_SAT
+ // #define ENABLE_RGB_MATRIX_BAND_VAL
+ // #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
+ // #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
+ // #define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
+ // #define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
+ #define ENABLE_RGB_MATRIX_CYCLE_ALL
+ #define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
+ #define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
+ // #define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
+ #define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
+ // #define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
+ #define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
+ #define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
+ // #define ENABLE_RGB_MATRIX_DUAL_BEACON
+ #define ENABLE_RGB_MATRIX_RAINBOW_BEACON
+ // #define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
+ #define ENABLE_RGB_MATRIX_RAINDROPS
+ #define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
+ #define ENABLE_RGB_MATRIX_HUE_BREATHING
+ #define ENABLE_RGB_MATRIX_HUE_PENDULUM
+ #define ENABLE_RGB_MATRIX_HUE_WAVE
+ #define ENABLE_RGB_MATRIX_PIXEL_RAIN
+ #define ENABLE_RGB_MATRIX_PIXEL_FLOW
+ // #define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
+
+ // enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
+ // #define ENABLE_RGB_MATRIX_TYPING_HEATMAP
+ // #define ENABLE_RGB_MATRIX_DIGITAL_RAIN
+
+ // enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
+ // #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
+ #define ENABLE_RGB_MATRIX_SOLID_REACTIVE
+ #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
+ #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
+ // #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
+ // #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
+ // #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
+ // #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
+ #define ENABLE_RGB_MATRIX_SPLASH
+ // #define ENABLE_RGB_MATRIX_MULTISPLASH
+ #define ENABLE_RGB_MATRIX_SOLID_SPLASH
+ // #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
+#endif
diff --git a/keyboards/idobao/montex/v1rgb/info.json b/keyboards/idobao/montex/v1rgb/info.json
new file mode 100755
index 0000000000..27144e499c
--- /dev/null
+++ b/keyboards/idobao/montex/v1rgb/info.json
@@ -0,0 +1,36 @@
+{
+ "keyboard_name": "IDOBAO MONTEX RGB",
+ "layouts": {
+ "LAYOUT_numpad_6x5": {
+ "layout": [
+ { "label": "K00 (D4,D5)", "x": 0, "y": 0 },
+ { "label": "K01 (D4,D3)", "x": 1, "y": 0 },
+ { "label": "K02 (D4,D2)", "x": 2, "y": 0 },
+ { "label": "K03 (D4,D1)", "x": 3, "y": 0 },
+ { "label": "K04 (D4,D0)", "x": 4, "y": 0 },
+ { "label": "K10 (D6,D5)", "x": 0, "y": 1 },
+ { "label": "K11 (D6,D3)", "x": 1, "y": 1 },
+ { "label": "K12 (D6,D2)", "x": 2, "y": 1 },
+ { "label": "K13 (D6,D1)", "x": 3, "y": 1 },
+ { "label": "K14 (D6,D0)", "x": 4, "y": 1 },
+ { "label": "K20 (D7,D5)", "x": 0, "y": 2 },
+ { "label": "K21 (D7,D3)", "x": 1, "y": 2 },
+ { "label": "K22 (D7,D2)", "x": 2, "y": 2 },
+ { "label": "K23 (D7,D1)", "x": 3, "y": 2 },
+ { "label": "K24 (D7,D0)", "x": 4, "y": 2, "h": 2 },
+ { "label": "K30 (B4,D5)", "x": 0, "y": 3 },
+ { "label": "K31 (B4,D3)", "x": 1, "y": 3 },
+ { "label": "K32 (B4,D2)", "x": 2, "y": 3 },
+ { "label": "K33 (B4,D1)", "x": 3, "y": 3 },
+ { "label": "K40 (B5,D5)", "x": 0, "y": 4 },
+ { "label": "K41 (B5,D3)", "x": 1, "y": 4 },
+ { "label": "K42 (B5,D2)", "x": 2, "y": 4 },
+ { "label": "K43 (B5,D1)", "x": 3, "y": 4 },
+ { "label": "K53 (C6,D1)", "x": 4, "y": 4, "h": 2 },
+ { "label": "K50 (C6,D5)", "x": 0, "y": 5 },
+ { "label": "K51 (C6,D3)", "x": 1, "y": 5, "w": 2 },
+ { "label": "K52 (C6,D2)", "x": 3, "y": 5 }
+ ]
+ }
+ }
+}
diff --git a/keyboards/idobao/montex/v1rgb/keymaps/default/keymap.c b/keyboards/idobao/montex/v1rgb/keymaps/default/keymap.c
new file mode 100755
index 0000000000..e4b9b2b180
--- /dev/null
+++ b/keyboards/idobao/montex/v1rgb/keymaps/default/keymap.c
@@ -0,0 +1,54 @@
+// Copyright 2022 peepeetee (@peepeetee)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ /*
+ * ┌───┬───┬───┬───┬───┐
+ * │Esc│Tab│ F1│Cal│Bsp│
+ * ├───┼───┼───┼───┼───┤
+ * │Ctr│Num│ / │ * │ - │
+ * ├───┼───┼───┼───┼───┤
+ * │Gui│ 7 │ 8 │ 9 │ │
+ * ├───┼───┼───┼───┤ + │
+ * │Alt│ 4 │ 5 │ 6 │ │
+ * ├───┼───┼───┼───┼───┤
+ * │Shi│ 1 │ 2 │ 3 │ │
+ * ├───┼───┴───┼───┤Ent│
+ * │MO1│ 0 │ . │ │
+ * └───┴───────┴───┴───┘
+ */
+ [0] = LAYOUT_numpad_6x5(
+ KC_GESC, KC_TAB, KC_F1, KC_CALC, KC_BSPC,
+ KC_LCTRL, KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS,
+ KC_LGUI, KC_P7, KC_P8, KC_P9, KC_PPLS,
+ KC_LALT, KC_P4, KC_P5, KC_P6,
+ KC_LSHIFT, KC_P1, KC_P2, KC_P3, KC_PENT,
+ MO(1), KC_P0, KC_PDOT
+ ),
+
+ /*
+ * ┌───┬───┬───┬───┬───┐
+ * │Rst│TOG│MOD│PSc│SLk│
+ * ├───┼───┼───┼───┼───┤
+ * │Hu+│ │Sp-│Sp+│Br-│
+ * ├───┼───┼───┼───┼───┤
+ * │Hu-│Hom│ ↑ │PgU│ │
+ * ├───┼───┼───┼───┤Br+│
+ * │St+│ ← │ │ → │ │
+ * ├───┼───┼───┼───┼───┤
+ * │St-│End│ ↓ │PgD│ │
+ * ├───┼───┴───┼───┤Ent│
+ * │mo1│Insert │Del│ │
+ * └───┴───────┴───┴───┘
+ */
+ [1] = LAYOUT_numpad_6x5(
+ QK_BOOT, RGB_TOG, RGB_MOD, KC_PSCR, KC_SLCK,
+ RGB_HUI, XXXXXXX, RGB_SPD, RGB_SPI, RGB_VAD,
+ RGB_HUD, KC_HOME, KC_UP, KC_PGUP, RGB_VAI,
+ RGB_SAI, KC_LEFT, XXXXXXX, KC_RGHT,
+ RGB_SAD, KC_END, KC_DOWN, KC_PGDN, KC_ENT,
+ _______, KC_INS, KC_DEL
+ )
+};
diff --git a/keyboards/idobao/montex/v1rgb/keymaps/default/readme.md b/keyboards/idobao/montex/v1rgb/keymaps/default/readme.md
new file mode 100755
index 0000000000..a5ed54cbc5
--- /dev/null
+++ b/keyboards/idobao/montex/v1rgb/keymaps/default/readme.md
@@ -0,0 +1,3 @@
+# The default keymap for RGB Version
+
+![](https://idobao.github.io/kle/idobao-id27-v2.png)
diff --git a/keyboards/idobao/montex/v1rgb/keymaps/via/keymap.c b/keyboards/idobao/montex/v1rgb/keymaps/via/keymap.c
new file mode 100755
index 0000000000..7a48d6faee
--- /dev/null
+++ b/keyboards/idobao/montex/v1rgb/keymaps/via/keymap.c
@@ -0,0 +1,94 @@
+// Copyright 2022 peepeetee (@peepeetee)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include QMK_KEYBOARD_H
+
+enum montex_layers {
+ _BASE,
+ _FN,
+ _EMPTY2, // Just to initialize dynamic layers in VIA
+ _EMPTY3
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ /*
+ * ┌───┌───┬───┬───┬───┐
+ * │Esc│Tab│ F1│Cal│Bsp│
+ * ├───┼───┼───┼───┼───┤
+ * │Ctr│Num│ / │ * │ - │
+ * ├───┼───┼───┼───┼───┤
+ * │Gui│ 7 │ 8 │ 9 │ │
+ * ├───┼───┼───┼───┤ + │
+ * │Alt│ 4 │ 5 │ 6 │ │
+ * ├───┼───┼───┼───┼───┤
+ * │Shi│ 1 │ 2 │ 3 │ │
+ * ├───┼───┴───┼───┤Ent│
+ * │MO1│ 0 │ . │ │
+ * └───┴───────┴───┴───┘
+ */
+ [_BASE] = LAYOUT_numpad_6x5(
+ KC_GESC, KC_TAB, KC_F1, KC_CALC, KC_BSPC,
+ KC_LCTRL, KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS,
+ KC_LGUI, KC_P7, KC_P8, KC_P9, KC_PPLS,
+ KC_LALT, KC_P4, KC_P5, KC_P6,
+ KC_LSHIFT, KC_P1, KC_P2, KC_P3, KC_PENT,
+ MO(1), KC_P0, KC_PDOT
+ ),
+
+ /*
+ * ┌───┬───┬───┬───┬───┐
+ * │Rst│TOG│MOD│PSs│SLk│
+ * ├───┼───┼───┼───┼───┤
+ * │Hu+│ │Sp-│Sp+│Br-│
+ * ├───┼───┼───┼───┼───┤
+ * │Hu-│Hom│ ↑ │PgU│ │
+ * ├───┼───┼───┼───┤Br+│
+ * │St+│ ← │ │ → │ │
+ * ├───┼───┼───┼───├───┤
+ * │St-│End│ ↓ │PgD│ │
+ * ├───┼───┴───┼───┤Ent│
+ * │mo1│Insert │Del│ │
+ * └───┴───────┴───┴───┘
+ */
+ [_FN] = LAYOUT_numpad_6x5(
+ QK_BOOT, RGB_TOG, RGB_MOD, KC_PSCR, KC_SLCK,
+ RGB_HUI, XXXXXXX, RGB_SPD, RGB_SPI, RGB_VAD,
+ RGB_HUD, KC_HOME, KC_UP, KC_PGUP, RGB_VAI,
+ RGB_SAI, KC_LEFT, XXXXXXX, KC_RGHT,
+ RGB_SAD, KC_END, KC_DOWN, KC_PGDN, KC_ENT,
+ _______, KC_INS, KC_DEL
+ ),
+
+ /*
+ * ┌───┬───┬───┬───┬───┐
+ * │ │ │ │ │ │
+ * ├───┼───┼───┼───┼───┤
+ * │ │ │ │ │ │
+ * ├───┼───┼───┼───┼───┤
+ * │ │ │ │ │ │
+ * ├───┼───┼───┼───┤ │
+ * │ │ │ │ │ │
+ * ├───┼───┼───┼───├───┤
+ * │ │ │ │ │ │
+ * ├───┼───┴───┼───┤ │
+ * │ │ │ │ │
+ * └───┴───────┴───┴───┘
+ */
+ [_EMPTY2] = LAYOUT_numpad_6x5(
+ _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______,
+ _______, _______, _______, _______,
+ _______, _______, _______, _______, _______,
+ _______, _______, _______
+ ),
+
+ [_EMPTY3] = LAYOUT_numpad_6x5(
+ _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______,
+ _______, _______, _______, _______,
+ _______, _______, _______, _______, _______,
+ _______, _______, _______
+ )
+};
diff --git a/keyboards/idobao/montex/v1rgb/keymaps/via/readme.md b/keyboards/idobao/montex/v1rgb/keymaps/via/readme.md
new file mode 100755
index 0000000000..692de7e69f
--- /dev/null
+++ b/keyboards/idobao/montex/v1rgb/keymaps/via/readme.md
@@ -0,0 +1,3 @@
+# The VIA keymap for RGB Version
+
+![](https://idobao.github.io/kle/idobao-id27-v2.png)
diff --git a/keyboards/idobao/montex/v1rgb/keymaps/via/rules.mk b/keyboards/idobao/montex/v1rgb/keymaps/via/rules.mk
new file mode 100755
index 0000000000..36b7ba9cbc
--- /dev/null
+++ b/keyboards/idobao/montex/v1rgb/keymaps/via/rules.mk
@@ -0,0 +1,2 @@
+VIA_ENABLE = yes
+LTO_ENABLE = yes
diff --git a/keyboards/idobao/montex/v1rgb/readme.md b/keyboards/idobao/montex/v1rgb/readme.md
new file mode 100755
index 0000000000..296f05f239
--- /dev/null
+++ b/keyboards/idobao/montex/v1rgb/readme.md
@@ -0,0 +1,30 @@
+# IDOBAO MONTEX RGB
+
+![MONTEX RGB](https://idobao.github.io/assets/img/idobao-id27.png)
+
+A hotswap RGB numpad from IDOBAO.
+
+* Keyboard Maintainer:
+ - [peepeetee](https://github.com/peepeetee)
+ - [vinorodrigues](https://github.com/vinorodrigues)
+ - [willi-on-fire](https://github.com/willi-on-fire)
+* Hardware Supported: IDOBAO MONTEX RGB
+* Hardware Availability: [Drop](https://drop.com/buy/idobao-montex-numpad-hotswappable-kit), [AliExpress](https://www.aliexpress.com/item/1005003885788698.html) & [IDOBAO.net](https://idobao.net/collections/20-layout/products/idobao-montex-pad-hot-swappable-keyboard-kit-%E7%9A%84%E5%89%AF%E6%9C%AC)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make idobao/montex/v1rgb:default
+
+Flashing example for this keyboard:
+
+ make idobao/montex/v1rgb: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 [Esc]) and plug in the keyboard
+* **Physical reset button**: Briefly press the button on the back of the PCB
+* **Keycode in layout**: Press the key mapped to `RESET` if it is available
diff --git a/keyboards/idobao/montex/v1rgb/rules.mk b/keyboards/idobao/montex/v1rgb/rules.mk
new file mode 100755
index 0000000000..c4d4a6ae66
--- /dev/null
+++ b/keyboards/idobao/montex/v1rgb/rules.mk
@@ -0,0 +1,21 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+BOOTLOADER = atmel-dfu
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = no # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
+NKRO_ENABLE = no # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+RGB_MATRIX_ENABLE = yes
+RGB_MATRIX_DRIVER = WS2812
+
+LAYOUTS = numpad_6x5
diff --git a/keyboards/idobao/montex/v1rgb/v1rgb.c b/keyboards/idobao/montex/v1rgb/v1rgb.c
new file mode 100755
index 0000000000..3d2a847c00
--- /dev/null
+++ b/keyboards/idobao/montex/v1rgb/v1rgb.c
@@ -0,0 +1,58 @@
+// Copyright 2022 peepeetee (@peepeetee)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include "v1rgb.h"
+
+#ifdef RGB_MATRIX_ENABLE
+
+/* WS2812 indices always start at 0
+ * underglow = 0-3
+ * note: starting point of 4 and jump from 6 to 7
+ * ┌───┌───┐───┬───┬───┐
+ * │ 6 │ 5 │ 4 │30 │29 │
+ * ├───┼───┘───┼───┼───┤
+ * │24 │25 │26 │27 │28 │
+ * ├───┼───┼───┼───┼───┤
+ * │23 │22 │21 │20 │19 │
+ * ├───┼───┼───┼───┤ │
+ * │15 │16 │17 │18 │ │
+ * ├───┼───┼───┼───┤───┤
+ * │14 │13 │12 │11 │10 │
+ * ├───┼───┴───┼───┤ │
+ * │ 7 │ 8 │ 9 │ │
+ * └───┴───────┴───┘───┘
+ */
+
+led_config_t g_led_config = { {
+ // Key Matrix to LED Index
+ { 6, 5, 4, 30, 29},
+ { 24, 25, 26, 27, 28},
+ { 23, 22, 21, 20, 19},
+ { 15, 16, 17, 18, NO_LED},
+ { 14, 13, 12, 11, NO_LED},
+ { 7, 8, 9, 10, NO_LED}
+}, {
+ // LED Index to Physical Position
+ /* underglow: because this is under the kb, you want the colors on the edge (corners) of the acrylic plate */
+ { 224,0 }, { 224,64}, { 0,64 }, { 0,0 }, // 0-3 (underglow)
+ /* per-key: origins generated from https://xelus.netlify.app/guides/KLE_to_RGB_parser */
+ { 112,0 }, { 56,0 }, { 0,0 }, /* ---- */ /* ---- */ // 4-6 (top row middle to left)
+ { 0,64 }, { 84,64 }, { 168,64 }, // 7-9 (jump to bottom left)
+ { 224,58 }, { 168,41 }, { 112,41 }, { 56,41 }, { 0,41 }, // 10-14 (flow Z pattern upwards...)
+ { 0,29 }, { 56,29 }, { 112,29 }, { 168,29 }, // 15-18
+ { 224,35 }, { 168,29 }, { 112,29 }, { 56,29 }, { 0,29 }, // 19-23
+ { 0,17 }, { 56,17 }, { 112,17 }, { 168,17 }, { 224,17 }, // 24-28
+ /* ---- */ /* ---- */ /* ---- */ { 224,0 }, { 168,0 } // 29-30 (end at top)
+}, {
+ // LED Index to Flag
+ 2, 2, 2, 2, // 0 1 2 3 (underglow)
+ 1, 1, 1, // 4 5 6
+ 4, 4, 4, 4, // 7 - 10
+ 4, 4, 4, 4, //11 - 14
+ 4, 4, 4, 4, //15 - 18
+ 4, 4, 4, 4, 4, //19 - 23
+ 4, 4, 4, 4, 4, //24 - 28
+ 1, 1 //29 30
+} };
+
+#endif
diff --git a/keyboards/idobao/montex/v1rgb/v1rgb.h b/keyboards/idobao/montex/v1rgb/v1rgb.h
new file mode 100755
index 0000000000..e069771c6f
--- /dev/null
+++ b/keyboards/idobao/montex/v1rgb/v1rgb.h
@@ -0,0 +1,24 @@
+// Copyright 2022 peepeetee (@peepeetee)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#include "quantum.h"
+
+#define ___ KC_NO
+
+#define LAYOUT_numpad_6x5( \
+ K00, K01, K02, K03, K04, \
+ K10, K11, K12, K13, K14, \
+ K20, K21, K22, K23, K24, \
+ K30, K31, K32, K33, \
+ K40, K41, K42, K43, K53, \
+ K50, K51, K52 \
+) { \
+ { K00, K01, K02, K03, K04 }, \
+ { K10, K11, K12, K13, K14 }, \
+ { K20, K21, K22, K23, K24 }, \
+ { K30, K31, K32, K33, ___ }, \
+ { K40, K41, K42, K43, ___ }, \
+ { K50, K51, K52, K53, ___ }, \
+}