Skip to content

Commit

Permalink
[Keyboard] Idobao Montex V2(RGB) (#15865)
Browse files Browse the repository at this point in the history
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Christian Hofstede <4440939+chofstede@users.noreply.github.com>
Co-authored-by: Vino Rodrigues <github@m.vinorodrigues.com>
Co-authored-by: Vino Rodrigues <366673+vinorodrigues@users.noreply.github.com>
  • Loading branch information
5 people authored Jun 16, 2022
1 parent 8e5f8a5 commit 8e12845
Show file tree
Hide file tree
Showing 11 changed files with 420 additions and 0 deletions.
95 changes: 95 additions & 0 deletions keyboards/idobao/montex/v1rgb/config.h
Original file line number Diff line number Diff line change
@@ -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
36 changes: 36 additions & 0 deletions keyboards/idobao/montex/v1rgb/info.json
Original file line number Diff line number Diff line change
@@ -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 }
]
}
}
}
54 changes: 54 additions & 0 deletions keyboards/idobao/montex/v1rgb/keymaps/default/keymap.c
Original file line number Diff line number Diff line change
@@ -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
)
};
3 changes: 3 additions & 0 deletions keyboards/idobao/montex/v1rgb/keymaps/default/readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# The default keymap for RGB Version

![](https://idobao.github.io/kle/idobao-id27-v2.png)
94 changes: 94 additions & 0 deletions keyboards/idobao/montex/v1rgb/keymaps/via/keymap.c
Original file line number Diff line number Diff line change
@@ -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(
_______, _______, _______, _______, _______,
_______, _______, _______, _______, _______,
_______, _______, _______, _______, _______,
_______, _______, _______, _______,
_______, _______, _______, _______, _______,
_______, _______, _______
)
};
3 changes: 3 additions & 0 deletions keyboards/idobao/montex/v1rgb/keymaps/via/readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# The VIA keymap for RGB Version

![](https://idobao.github.io/kle/idobao-id27-v2.png)
2 changes: 2 additions & 0 deletions keyboards/idobao/montex/v1rgb/keymaps/via/rules.mk
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
VIA_ENABLE = yes
LTO_ENABLE = yes
30 changes: 30 additions & 0 deletions keyboards/idobao/montex/v1rgb/readme.md
Original file line number Diff line number Diff line change
@@ -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
21 changes: 21 additions & 0 deletions keyboards/idobao/montex/v1rgb/rules.mk
Original file line number Diff line number Diff line change
@@ -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
Loading

0 comments on commit 8e12845

Please sign in to comment.