summaryrefslogtreecommitdiffstats
path: root/keyboards/idobao/montex/v2
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/idobao/montex/v2')
-rwxr-xr-xkeyboards/idobao/montex/v2/config.h92
-rwxr-xr-xkeyboards/idobao/montex/v2/info.json67
-rwxr-xr-xkeyboards/idobao/montex/v2/keymaps/default/keymap.c54
-rwxr-xr-xkeyboards/idobao/montex/v2/keymaps/via/keymap.c114
4 files changed, 327 insertions, 0 deletions
diff --git a/keyboards/idobao/montex/v2/config.h b/keyboards/idobao/montex/v2/config.h
new file mode 100755
index 0000000000..eaed5dde7a
--- /dev/null
+++ b/keyboards/idobao/montex/v2/config.h
@@ -0,0 +1,92 @@
+// Copyright 2022 IBNobody (@IBNobody)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#include "config_common.h"
+
+/* LED Matrix & Animations */
+#define RGB_DI_PIN B1
+
+#if defined(RGB_DI_PIN) && defined(RGB_MATRIX_ENABLE)
+ #ifndef ID27_DISABLE_UNDERGLOW
+ #define RGB_MATRIX_LED_COUNT 31 // The number of LEDs connected
+ #else
+ #define RGB_MATRIX_LED_COUNT 27 // -4 disabled underglow LEDs
+ #endif
+
+ // #define RGB_MATRIX_FRAMEBUFFER_EFFECTS // don't use, too few key to make it look good
+ #define RGB_MATRIX_KEYPRESSES
+
+ #define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
+ #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 // RGB_MATRIX_ENABLE
+
+/* -----------------------
+ * Feature disable options
+ * These options are also useful to firmware size reduction.
+ * ----------------------- */
+
+/* disable debug print */
+// #define NO_DEBUG
+
+/* disable print */
+// #define NO_PRINT
+
+/* disable action features */
+// #define NO_ACTION_LAYER
+// #define NO_ACTION_TAPPING
+// #define NO_ACTION_ONESHOT
diff --git a/keyboards/idobao/montex/v2/info.json b/keyboards/idobao/montex/v2/info.json
new file mode 100755
index 0000000000..7bbda8f9a2
--- /dev/null
+++ b/keyboards/idobao/montex/v2/info.json
@@ -0,0 +1,67 @@
+{
+ "manufacturer": "IDOBAO",
+ "keyboard_name": "Montex ID27v2",
+ "maintainer": "IBNobody",
+ "bootloader": "atmel-dfu",
+ "diode_direction": "ROW2COL",
+ "debounce": 5,
+ "features": {
+ "bootmagic": true,
+ "command": false,
+ "console": false,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": true,
+ "backlight": false,
+ "rgblight": false
+ },
+ "matrix_pins": {
+ "cols": ["D5", "D3", "D2", "D1", "D0"],
+ "rows": ["D4", "D6", "D7", "B4", "B5", "C6"]
+ },
+ "processor": "atmega32u4",
+ "url": "https://idobao.net/search?type=product&q=montex*",
+ "usb": {
+ "device_version": "2.0.0",
+ "pid": "0x0227",
+ "vid": "0x6964"
+ },
+ "layouts": {
+ "LAYOUT_numpad_6x5": {
+ "layout": [
+ { "matrix": [0, 0], "x": 0, "y": 0 },
+ { "matrix": [0, 1], "x": 1, "y": 0 },
+ { "matrix": [0, 2], "x": 2, "y": 0 },
+ { "matrix": [0, 3], "x": 3, "y": 0 },
+ { "matrix": [0, 4], "x": 4, "y": 0 },
+
+ { "matrix": [1, 0], "x": 0, "y": 1 },
+ { "matrix": [1, 1], "x": 1, "y": 1 },
+ { "matrix": [1, 2], "x": 2, "y": 1 },
+ { "matrix": [1, 3], "x": 3, "y": 1 },
+ { "matrix": [1, 4], "x": 4, "y": 1 },
+
+ { "matrix": [2, 0], "x": 0, "y": 2 },
+ { "matrix": [2, 1], "x": 1, "y": 2 },
+ { "matrix": [2, 2], "x": 2, "y": 2 },
+ { "matrix": [2, 3], "x": 3, "y": 2 },
+ { "matrix": [2, 4], "x": 4, "y": 2, "h": 2 },
+
+ { "matrix": [3, 0], "x": 0, "y": 3 },
+ { "matrix": [3, 1], "x": 1, "y": 3 },
+ { "matrix": [3, 2], "x": 2, "y": 3 },
+ { "matrix": [3, 3], "x": 3, "y": 3 },
+
+ { "matrix": [4, 0], "x": 0, "y": 4 },
+ { "matrix": [4, 1], "x": 1, "y": 4 },
+ { "matrix": [4, 2], "x": 2, "y": 4 },
+ { "matrix": [4, 3], "x": 3, "y": 4 },
+ { "matrix": [5, 3], "x": 4, "y": 4, "h": 2 },
+
+ { "matrix": [5, 0], "x": 0, "y": 5 },
+ { "matrix": [5, 1], "x": 1, "y": 5, "w": 2 },
+ { "matrix": [5, 2], "x": 3, "y": 5 }
+ ]
+ }
+ }
+}
diff --git a/keyboards/idobao/montex/v2/keymaps/default/keymap.c b/keyboards/idobao/montex/v2/keymaps/default/keymap.c
new file mode 100755
index 0000000000..db37bc72c7
--- /dev/null
+++ b/keyboards/idobao/montex/v2/keymaps/default/keymap.c
@@ -0,0 +1,54 @@
+// Copyright 2022 IBNobody (@IBNobody)
+// 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(
+ QK_GESC, KC_TAB, KC_F1, KC_CALC, KC_BSPC,
+ KC_LCTL, KC_NUM, 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_LSFT, 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_SCRL,
+ 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/v2/keymaps/via/keymap.c b/keyboards/idobao/montex/v2/keymaps/via/keymap.c
new file mode 100755
index 0000000000..5f62688917
--- /dev/null
+++ b/keyboards/idobao/montex/v2/keymaps/via/keymap.c
@@ -0,0 +1,114 @@
+// Copyright 2022 IBNobody (@IBNobody)
+// 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,
+ _EMPTY4,
+ _EMPTY5
+};
+
+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(
+ QK_GESC, KC_TAB, KC_F1, KC_CALC, KC_BSPC,
+ KC_LCTL, KC_NUM, 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_LSFT, 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_SCRL,
+ 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
+ ),
+
+ /* 4 extra layers incase you want to map the top row to layer buttons
+ * ┌───┬───┬───┬───┬───┐
+ * │ │ │ │ │ │
+ * ├───┼───┼───┼───┼───┤
+ * │ │ │ │ │ │
+ * ├───┼───┼───┼───┼───┤
+ * │ │ │ │ │ │
+ * ├───┼───┼───┼───┤ │
+ * │ │ │ │ │ │
+ * ├───┼───┼───┼───┤───┤
+ * │ │ │ │ │ │
+ * ├───┼───┴───┼───┤ │
+ * │ │ │ │ │
+ * └───┴───────┴───┴───┘
+ */
+ [_EMPTY2] = LAYOUT_numpad_6x5(
+ _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______,
+ _______, _______, _______, _______,
+ _______, _______, _______, _______, _______,
+ _______, _______, _______
+ ),
+
+ [_EMPTY3] = LAYOUT_numpad_6x5(
+ _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______,
+ _______, _______, _______, _______,
+ _______, _______, _______, _______, _______,
+ _______, _______, _______
+ ),
+
+ [_EMPTY4] = LAYOUT_numpad_6x5(
+ _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______,
+ _______, _______, _______, _______,
+ _______, _______, _______, _______, _______,
+ _______, _______, _______
+ ),
+
+ [_EMPTY5] = LAYOUT_numpad_6x5(
+ _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______,
+ _______, _______, _______, _______,
+ _______, _______, _______, _______, _______,
+ _______, _______, _______
+ )
+};