Skip to content

Commit 24e29a8

Browse files
authored
Add Montex V2 (#10)
1 parent 65a84b0 commit 24e29a8

File tree

9 files changed

+362
-0
lines changed

9 files changed

+362
-0
lines changed

keyboards/idobao/montex/v2/config.h

Lines changed: 107 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,107 @@
1+
/* Copyright 2021 NachoxMacho
2+
*
3+
* This program is free software: you can redistribute it and/or modify
4+
* it under the terms of the GNU General Public License as published by
5+
* the Free Software Foundation, either version 2 of the License, or
6+
* (at your option) any later version.
7+
*
8+
* This program is distributed in the hope that it will be useful,
9+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
10+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11+
* GNU General Public License for more details.
12+
*
13+
* You should have received a copy of the GNU General Public License
14+
* along with this program. If not, see <http://www.gnu.org/licenses/>.
15+
*/
16+
17+
#pragma once
18+
19+
#include "config_common.h"
20+
21+
/* USB Device descriptor parameter */
22+
#define VENDOR_ID 0x6964
23+
#define PRODUCT_ID 0x6060
24+
#define DEVICE_VER 0x0002
25+
#define MANUFACTURER Idobao
26+
#define PRODUCT Montex
27+
28+
/* key matrix size */
29+
#define MATRIX_ROWS 6
30+
#define MATRIX_COLS 5
31+
32+
/* key matrix pins */
33+
#define MATRIX_ROW_PINS { D4, D6, D7, B4, B5, C6 }
34+
#define MATRIX_COL_PINS { D5, D3, D2, D1, D0 }
35+
#define UNUSED_PINS
36+
37+
/* COL2ROW or ROW2COL */
38+
#define DIODE_DIRECTION ROW2COL
39+
40+
/* Set 0 if debouncing isn't needed */
41+
#define DEBOUNCE 5
42+
43+
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
44+
#define LOCKING_SUPPORT_ENABLE
45+
46+
/* Locking resynchronize hack */
47+
#define LOCKING_RESYNC_ENABLE
48+
49+
#define RGB_DI_PIN B1
50+
#ifdef RGB_DI_PIN
51+
#define RGBLIGHT_SLEEP
52+
#define RGBLIGHT_ANIMATIONS
53+
#define RGBLIGHT_HUE_STEP 8
54+
#define RGBLIGHT_SAT_STEP 8
55+
#define RGBLIGHT_VAL_STEP 8
56+
57+
// Uncomment out to use the underbody LEDs, hidden by the aluminum case. Useful for the acrylic bottom
58+
// #define MONTEX_USE_UNDERBODY
59+
60+
// LED MAP
61+
//
62+
// 4 3 2 1 0
63+
// LED05, LED04, LED03, LED02, LED01
64+
// +----------------------------------------
65+
// |
66+
// | 5 6 7 8 9
67+
// | LED10, LED09, LED08, LED07, LED06
68+
// +---------------------------------------+
69+
// 10 |
70+
// LED11 |
71+
// 14 13 12 11 |
72+
// LED15, LED14, LED13, LED12 |
73+
// +---------------------------------------+
74+
// |
75+
// | 15 16 17 18
76+
// | LED19, LED18, LED17, LED16
77+
// +---------------------------------------+
78+
// 19 |
79+
// LED24 |
80+
// +---------------------------------------+
81+
// | 23 22 21 20
82+
// | LED23, LED22, LED21, LED20
83+
// |
84+
// | 24 25 26
85+
// | LED27, LED26, LED25
86+
// +---------------------------------------+
87+
// |
88+
// UNDERBODY LIGHTING |
89+
// |
90+
// 29 30 |
91+
// LED29, LED28 |
92+
// +-------------- |
93+
// | |
94+
// | 28 27 |
95+
// | LED30, LED31 |
96+
// |---------------------------------------+
97+
98+
#ifdef MONTEX_USE_UNDERBODY
99+
#define RGBLED_NUM 31
100+
#define RGBLIGHT_LED_MAP {4,3,2,1,0,9,8,7,6,5,14,13,12,11,10,18,17,16,15,23,22,21,20,19,26,25,24,29,30,28,27}
101+
#else
102+
#define RGBLED_NUM 27
103+
#define RGBLIGHT_LED_MAP {4,3,2,1,0,9,8,7,6,5,14,13,12,11,10,18,17,16,15,23,22,21,20,19,26,25,24}
104+
#endif
105+
106+
107+
#endif

keyboards/idobao/montex/v2/info.json

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
{
2+
"keyboard_name": "montex numpad",
3+
"url": "https://www.idobao.net/products/ldobao-montex-pad-hot-swappable-mechanical-keyboard-kit",
4+
"maintainer": "IBNobody",
5+
"layouts": {
6+
"LAYOUT_numpad_6x5": {
7+
"layout": [
8+
{ "label": "0,0", "x": 0, "y": 0},
9+
{ "label": "0,1", "x": 1, "y": 0},
10+
{ "label": "0,2", "x": 2, "y": 0},
11+
{ "label": "0,3", "x": 3, "y": 0},
12+
{ "label": "0,4", "x": 4, "y": 0},
13+
14+
{ "label": "1,0", "x": 0, "y": 1.25},
15+
{ "label": "1,1", "x": 1, "y": 1.25},
16+
{ "label": "1,2", "x": 2, "y": 1.25},
17+
{ "label": "1,3", "x": 3, "y": 1.25},
18+
{ "label": "1,4", "x": 4, "y": 1.25},
19+
20+
{ "label": "2,0", "x": 0, "y": 2.25},
21+
{ "label": "2,1", "x": 1, "y": 2.25},
22+
{ "label": "2,2", "x": 2, "y": 2.25},
23+
{ "label": "2,3", "x": 3, "y": 2.25},
24+
25+
{ "label": "3,0", "x": 0, "y": 3.25},
26+
{ "label": "3,1", "x": 1, "y": 3.25},
27+
{ "label": "3,2", "x": 2, "y": 3.25},
28+
{ "label": "3,3", "x": 3, "y": 3.25},
29+
{ "label": "3,4", "x": 4, "y": 2.25, "h": 2},
30+
31+
{ "label": "4,0", "x": 0, "y": 4.25},
32+
{ "label": "4,1", "x": 1, "y": 4.25},
33+
{ "label": "4,2", "x": 2, "y": 4.25},
34+
{ "label": "4,3", "x": 3, "y": 4.25},
35+
36+
{ "label": "5,0", "x": 0, "y": 5.25},
37+
{ "label": "5,1", "x": 1, "y": 5.25, "w": 2},
38+
{ "label": "5,2", "x": 3, "y": 5.25},
39+
{ "label": "5,3", "x": 4, "y": 4.25, "h": 2}
40+
]
41+
}
42+
}
43+
}
Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
/* Copyright 2021 NachoxMacho
2+
*
3+
* This program is free software: you can redistribute it and/or modify
4+
* it under the terms of the GNU General Public License as published by
5+
* the Free Software Foundation, either version 2 of the License, or
6+
* (at your option) any later version.
7+
*
8+
* This program is distributed in the hope that it will be useful,
9+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
10+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11+
* GNU General Public License for more details.
12+
*
13+
* You should have received a copy of the GNU General Public License
14+
* along with this program. If not, see <http://www.gnu.org/licenses/>.
15+
*/
16+
17+
#include QMK_KEYBOARD_H
18+
19+
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
20+
/*
21+
* ┌───┌───┬───┬───┬───┐
22+
* │ ` │Esc│Tab│MO1│Bsp│
23+
* ├───┼───┼───┼───┼───┤
24+
* │ , │Num│ / │ * │ - │
25+
* ├───┼───┼───┼───┼───┤
26+
* │Gui│ 7 │ 8 │ 9 │ │
27+
* ├───┼───┼───┼───┤ + │
28+
* │Alt│ 4 │ 5 │ 6 │ │
29+
* ├───┼───┼───┼───┼───┤
30+
* │Shi│ 1 │ 2 │ 3 │ │
31+
* ├───┼───┴───┼───┤Ent│
32+
* │Ctr│ 0 │ . │ │
33+
* └───┴───────┴───┴───┘
34+
*/
35+
[0] = LAYOUT_numpad_6x5(
36+
KC_GRAVE, KC_ESC, KC_TAB, MO(1), KC_BSPC,
37+
KC_COMMA, KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS,
38+
KC_LGUI, KC_P7, KC_P8, KC_P9,
39+
KC_LALT, KC_P4, KC_P5, KC_P6, KC_PPLS,
40+
KC_LSHIFT, KC_P1, KC_P2, KC_P3,
41+
KC_LCTRL, KC_P0, KC_PDOT, KC_PENT
42+
),
43+
44+
/*
45+
* ┌───┌───┐───┬───┬───┐
46+
* │Rst│ ` │Tab│MO1│Bsp│
47+
* ├───┼───┘───┼───┼───┤
48+
* │ , │Num│ / │ * │ - │
49+
* ├───┼───┼───┼───┼───┤
50+
* │Gui│Hom│ ↑ │PgU│ │
51+
* ├───┼───┼───┼───┤ + │
52+
* │Alt│ ← │ │ → │ │
53+
* ├───┼───┼───┼───┤───┤
54+
* │Shi│End│ ↓ │PgD│ │
55+
* ├───┼───┴───┼───┤Ent│
56+
* │Ctr│Insert │Del│ │
57+
* └───┴───────┴───┘───┘
58+
*/
59+
[1] = LAYOUT_numpad_6x5(
60+
RESET, _______, _______, _______, _______,
61+
_______, _______, _______, _______, _______,
62+
_______, KC_HOME, KC_UP, KC_PGUP,
63+
_______, KC_LEFT, XXXXXXX, KC_RGHT, _______,
64+
_______, KC_END, KC_DOWN, KC_PGDN,
65+
_______, KC_INS, KC_DEL, _______
66+
)
67+
};
Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
/* Copyright 2021 Tybera
2+
*
3+
* This program is free software: you can redistribute it and/or modify
4+
* it under the terms of the GNU General Public License as published by
5+
* the Free Software Foundation, either version 2 of the License, or
6+
* (at your option) any later version.
7+
*
8+
* This program is distributed in the hope that it will be useful,
9+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
10+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11+
* GNU General Public License for more details.
12+
*
13+
* You should have received a copy of the GNU General Public License
14+
* along with this program. If not, see <http://www.gnu.org/licenses/>.
15+
*/
16+
17+
#include QMK_KEYBOARD_H
18+
19+
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
20+
[0] = LAYOUT_numpad_6x5(
21+
KC_GRAVE, KC_ESC, KC_TAB, MO(1), KC_BSPC,
22+
KC_COMMA, KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS,
23+
KC_LGUI, KC_P7, KC_P8, KC_P9,
24+
KC_LALT, KC_P4, KC_P5, KC_P6, KC_PPLS,
25+
KC_LSHIFT, KC_P1, KC_P2, KC_P3,
26+
KC_LCTRL, KC_P0, KC_PDOT, KC_PENT
27+
),
28+
[1] = LAYOUT_numpad_6x5(
29+
RESET, _______, _______, _______, _______,
30+
_______, _______, _______, _______, _______,
31+
_______, KC_HOME, KC_UP, KC_PGUP,
32+
_______, KC_LEFT, XXXXXXX, KC_RGHT, _______,
33+
_______, KC_END, KC_DOWN, KC_PGDN,
34+
_______, KC_INS, KC_DEL, _______
35+
),
36+
[2] = LAYOUT_numpad_6x5(
37+
_______, _______, _______, _______, _______,
38+
_______, _______, _______, _______, _______,
39+
_______, _______, _______, _______,
40+
_______, _______, _______, _______, _______,
41+
_______, _______, _______, _______,
42+
_______, _______, _______, _______
43+
),
44+
[3] = LAYOUT_numpad_6x5(
45+
_______, _______, _______, _______, _______,
46+
_______, _______, _______, _______, _______,
47+
_______, _______, _______, _______,
48+
_______, _______, _______, _______, _______,
49+
_______, _______, _______, _______,
50+
_______, _______, _______, _______
51+
)
52+
};
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
LTO_ENABLE = yes
2+
VIA_ENABLE = yes

keyboards/idobao/montex/v2/readme.md

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
# IDOBAO MONTEX
2+
3+
A hotswap numpad from IDOBAO.
4+
5+
## Support:
6+
7+
* Keyboard Maintainer: [IBNobody](https://github.com/IBNobody)
8+
* Hardware Supported: IDOBAO MONTEX
9+
* Hardware Availability: [IDOBAO](https://www.idobao.net/products/ldobao-montex-pad-hot-swappable-mechanical-keyboard-kit)
10+
11+
12+
To jump to the bootloader, the default in the repository and stock on the board is to hold the 4th key on the top row and tap the first key in the top row.
13+
On some stock keyboard firmware, the top and second from the top row pins have been reversed so you may need to press those keys on the second row.
14+
If none of that works, there is a reset button on the PCB underside which you can access by removing the back plate.
15+
Then press the button labeled SW2 located between the 2 upper LEDs.
16+
17+
Make example for this keyboard (after setting up your build environment):
18+
19+
make idobao/montex/v2:default
20+
21+
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).

keyboards/idobao/montex/v2/rules.mk

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
# MCU name
2+
MCU = atmega32u4
3+
4+
# Bootloader selection
5+
BOOTLOADER = atmel-dfu
6+
7+
# Build Options
8+
# change yes to no to disable
9+
#
10+
BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
11+
MOUSEKEY_ENABLE = yes # Mouse keys
12+
EXTRAKEY_ENABLE = yes # Audio control and System control
13+
CONSOLE_ENABLE = no # Console for debug
14+
COMMAND_ENABLE = no # Commands for debug and configuration
15+
NKRO_ENABLE = yes # Enable N-Key Rollover
16+
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
17+
RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
18+
AUDIO_ENABLE = no # Audio output

keyboards/idobao/montex/v2/v2.c

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
/* Copyright 2021 NachoxMacho
2+
*
3+
* This program is free software: you can redistribute it and/or modify
4+
* it under the terms of the GNU General Public License as published by
5+
* the Free Software Foundation, either version 2 of the License, or
6+
* (at your option) any later version.
7+
*
8+
* This program is distributed in the hope that it will be useful,
9+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
10+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11+
* GNU General Public License for more details.
12+
*
13+
* You should have received a copy of the GNU General Public License
14+
* along with this program. If not, see <http://www.gnu.org/licenses/>.
15+
*/
16+
17+
#include "v2.h"

keyboards/idobao/montex/v2/v2.h

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
/* Copyright 2021 NachoxMacho
2+
*
3+
* This program is free software: you can redistribute it and/or modify
4+
* it under the terms of the GNU General Public License as published by
5+
* the Free Software Foundation, either version 2 of the License, or
6+
* (at your option) any later version.
7+
*
8+
* This program is distributed in the hope that it will be useful,
9+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
10+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11+
* GNU General Public License for more details.
12+
*
13+
* You should have received a copy of the GNU General Public License
14+
* along with this program. If not, see <http://www.gnu.org/licenses/>.
15+
*/
16+
17+
#pragma once
18+
19+
#include "quantum.h"
20+
21+
#define LAYOUT_numpad_6x5( \
22+
K00, K01, K02, K03, K04, \
23+
K10, K11, K12, K13, K14, \
24+
K20, K21, K22, K23, \
25+
K30, K31, K32, K33, K34, \
26+
K40, K41, K42, K43, \
27+
K50, K51, K52, K53 \
28+
) { \
29+
{ K00, K01, K02, K03, K04 }, \
30+
{ K10, K11, K12, K13, K14 }, \
31+
{ K20, K21, K22, K23, K34 }, \
32+
{ K30, K31, K32, K33, KC_NO }, \
33+
{ K40, K41, K42, K43, KC_NO }, \
34+
{ K50, K51, K52, K53, KC_NO } \
35+
}

0 commit comments

Comments
 (0)