aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRob Owens <rtowens17@gmail.com>2021-07-03 02:58:13 -0500
committerGitHub <noreply@github.com>2021-07-03 00:58:13 -0700
commitc55bb3d4787b2801ac447d8051cf1435f7e87f64 (patch)
tree088e6e41e8be99ca686e6703d4afa743dac064b5
parent2af5d493e32dffe89d8b4908905d57a42aa47e53 (diff)
downloadqmk_firmware-c55bb3d4787b2801ac447d8051cf1435f7e87f64.tar.gz
qmk_firmware-c55bb3d4787b2801ac447d8051cf1435f7e87f64.zip
[Keyboard] Add support for Idobao Montex (#13214)
Co-authored-by: Drashna Jaelre <drashna@live.com> Co-authored-by: Ryan <fauxpark@gmail.com>
-rw-r--r--keyboards/montex/config.h64
-rw-r--r--keyboards/montex/info.json45
-rw-r--r--keyboards/montex/keymaps/default/keymap.c67
-rw-r--r--keyboards/montex/montex.c17
-rw-r--r--keyboards/montex/montex.h35
-rw-r--r--keyboards/montex/readme.md21
-rw-r--r--keyboards/montex/rules.mk22
-rw-r--r--layouts/default/numpad_6x5/default_numpad_6x5/keymap.c67
-rw-r--r--layouts/default/numpad_6x5/info.json45
-rw-r--r--layouts/default/numpad_6x5/layout.json6
-rw-r--r--layouts/default/numpad_6x5/readme.md3
11 files changed, 392 insertions, 0 deletions
diff --git a/keyboards/montex/config.h b/keyboards/montex/config.h
new file mode 100644
index 000000000..bad7b355f
--- /dev/null
+++ b/keyboards/montex/config.h
@@ -0,0 +1,64 @@
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 &lt;http://www.gnu.org/licenses/&gt;.
15*/
16
17#pragma once
18
19#include "config_common.h"
20
21/* USB Device descriptor parameter */
22#define VENDOR_ID 0xFEED
23#define PRODUCT_ID 0x6060
24#define DEVICE_VER 0x0001
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/* number of backlight levels */
41#define BACKLIGHT_PIN B6
42#ifdef BACKLIGHT_PIN
43#define BACKLIGHT_LEVELS 3
44#endif
45
46/* Set 0 if debouncing isn't needed */
47#define DEBOUNCE 5
48
49/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
50#define LOCKING_SUPPORT_ENABLE
51
52/* Locking resynchronize hack */
53#define LOCKING_RESYNC_ENABLE
54
55
56
57#define RGB_DI_PIN B1
58#ifdef RGB_DI_PIN
59#define RGBLIGHT_ANIMATIONS
60#define RGBLED_NUM 4
61#define RGBLIGHT_HUE_STEP 8
62#define RGBLIGHT_SAT_STEP 8
63#define RGBLIGHT_VAL_STEP 8
64#endif
diff --git a/keyboards/montex/info.json b/keyboards/montex/info.json
new file mode 100644
index 000000000..411bc53ac
--- /dev/null
+++ b/keyboards/montex/info.json
@@ -0,0 +1,45 @@
1{
2 "keyboard_name": "montex numpad",
3 "url": "https://www.idobao.net/products/ldobao-montex-pad-hot-swappable-mechanical-keyboard-kit",
4 "maintainer": "NachoxMacho",
5 "width": 5,
6 "height": 6,
7 "layouts": {
8 "LAYOUT_numpad_6x5": {
9 "layout": [
10 { "label": "0,0", "x": 0, "y": 0},
11 { "label": "0,1", "x": 1, "y": 0},
12 { "label": "0,2", "x": 2, "y": 0},
13 { "label": "0,3", "x": 3, "y": 0},
14 { "label": "0,4", "x": 4, "y": 0},
15
16 { "label": "1,0", "x": 0, "y": 1.25},
17 { "label": "1,1", "x": 1, "y": 1.25},
18 { "label": "1,2", "x": 2, "y": 1.25},
19 { "label": "1,3", "x": 3, "y": 1.25},
20 { "label": "1,4", "x": 4, "y": 1.25},
21
22 { "label": "2,0", "x": 0, "y": 2.25},
23 { "label": "2,1", "x": 1, "y": 2.25},
24 { "label": "2,2", "x": 2, "y": 2.25},
25 { "label": "2,3", "x": 3, "y": 2.25},
26
27 { "label": "3,0", "x": 0, "y": 3.25},
28 { "label": "3,1", "x": 1, "y": 3.25},
29 { "label": "3,2", "x": 2, "y": 3.25},
30 { "label": "3,3", "x": 3, "y": 3.25},
31 { "label": "3,4", "x": 4, "y": 2.25, "h": 2},
32
33 { "label": "4,0", "x": 0, "y": 4.25},
34 { "label": "4,1", "x": 1, "y": 4.25},
35 { "label": "4,2", "x": 2, "y": 4.25},
36 { "label": "4,3", "x": 3, "y": 4.25},
37
38 { "label": "5,0", "x": 0, "y": 5.25},
39 { "label": "5,1", "x": 1, "y": 5.25, "w": 2},
40 { "label": "5,2", "x": 3, "y": 5.25},
41 { "label": "5,3", "x": 4, "y": 4.25, "h": 2}
42 ]
43 }
44 }
45}
diff --git a/keyboards/montex/keymaps/default/keymap.c b/keyboards/montex/keymaps/default/keymap.c
new file mode 100644
index 000000000..a15c576cb
--- /dev/null
+++ b/keyboards/montex/keymaps/default/keymap.c
@@ -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 &lt;http://www.gnu.org/licenses/&gt;.
15*/
16
17#include QMK_KEYBOARD_H
18
19const 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};
diff --git a/keyboards/montex/montex.c b/keyboards/montex/montex.c
new file mode 100644
index 000000000..4d3ecb186
--- /dev/null
+++ b/keyboards/montex/montex.c
@@ -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 &lt;http://www.gnu.org/licenses/&gt;.
15*/
16
17#include "montex.h"
diff --git a/keyboards/montex/montex.h b/keyboards/montex/montex.h
new file mode 100644
index 000000000..d57097fa8
--- /dev/null
+++ b/keyboards/montex/montex.h
@@ -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 &lt;http://www.gnu.org/licenses/&gt;.
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}
diff --git a/keyboards/montex/readme.md b/keyboards/montex/readme.md
new file mode 100644
index 000000000..8c4a7226c
--- /dev/null
+++ b/keyboards/montex/readme.md
@@ -0,0 +1,21 @@
1# IDOBAO MONTEX
2
3A hotswap numpad from IDOBAO.
4
5## Support:
6
7* Keyboard Maintainer: [NachoxMacho](https://github.com/NachoxMacho)
8* Hardware Supported: IDOBAO MONTEX
9* Hardware Availability: [IDOBAO](https://www.idobao.net/products/ldobao-montex-pad-hot-swappable-mechanical-keyboard-kit)
10
11
12To 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.
13On 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.
14If none of that works, there is a reset button on the PCB underside which you can access by removing the back plate.
15Then press the button labeled SW2 located between the 2 upper LEDs.
16
17Make example for this keyboard (after setting up your build environment):
18
19 make montex:default
20
21See 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).
diff --git a/keyboards/montex/rules.mk b/keyboards/montex/rules.mk
new file mode 100644
index 000000000..5a286ce0f
--- /dev/null
+++ b/keyboards/montex/rules.mk
@@ -0,0 +1,22 @@
1# MCU name
2MCU = atmega32u4
3
4# Bootloader selection
5BOOTLOADER = atmel-dfu
6
7# Build Options
8# change yes to no to disable
9#
10BOOTMAGIC_ENABLE = full # Virtual DIP switch configuration
11MOUSEKEY_ENABLE = yes # Mouse keys
12EXTRAKEY_ENABLE = yes # Audio control and System control
13CONSOLE_ENABLE = no # Console for debug
14COMMAND_ENABLE = no # Commands for debug and configuration
15# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
16SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
17# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
18NKRO_ENABLE = yes # USB Nkey Rollover
19BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
20RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
21BLUETOOTH_ENABLE = no # Enable Bluetooth
22AUDIO_ENABLE = no # Audio output
diff --git a/layouts/default/numpad_6x5/default_numpad_6x5/keymap.c b/layouts/default/numpad_6x5/default_numpad_6x5/keymap.c
new file mode 100644
index 000000000..27ef07d19
--- /dev/null
+++ b/layouts/default/numpad_6x5/default_numpad_6x5/keymap.c
@@ -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 &lt;http://www.gnu.org/licenses/&gt;.
15*/
16
17#include QMK_KEYBOARD_H
18
19const 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};
diff --git a/layouts/default/numpad_6x5/info.json b/layouts/default/numpad_6x5/info.json
new file mode 100644
index 000000000..eff9614c3
--- /dev/null
+++ b/layouts/default/numpad_6x5/info.json
@@ -0,0 +1,45 @@
1{
2 "keyboard_name": "6x5 number pad layout",
3 "url": "",
4 "maintainer": "qmk",
5 "width": 5,
6 "height": 6,
7 "layouts": {
8 "LAYOUT_numpad_6x5": {
9 "layout": [
10 {"x":0, "y":0},
11 {"x":1, "y":0},
12 {"x":2, "y":0},
13 {"x":3, "y":0},
14 {"x":4, "y":0},
15
16 {"x":0, "y":1},
17 {"x":1, "y":1},
18 {"x":2, "y":1},
19 {"x":3, "y":1},
20 {"x":4, "y":1},
21
22 {"x":0, "y":2},
23 {"x":1, "y":2},
24 {"x":2, "y":2},
25 {"x":3, "y":2},
26
27 {"x":0, "y":3},
28 {"x":1, "y":3},
29 {"x":2, "y":3},
30 {"x":3, "y":3},
31 {"x":4, "y":2, "h":2},
32
33 {"x":0, "y":4},
34 {"x":1, "y":4},
35 {"x":2, "y":4},
36 {"x":3, "y":4},
37
38 {"x":0, "y":5},
39 {"x":1, "y":5, "w":2},
40 {"x":3, "y":5},
41 {"x":4, "y":4, "h":2}
42 ]
43 }
44 }
45}
diff --git a/layouts/default/numpad_6x5/layout.json b/layouts/default/numpad_6x5/layout.json
new file mode 100644
index 000000000..4204c99c5
--- /dev/null
+++ b/layouts/default/numpad_6x5/layout.json
@@ -0,0 +1,6 @@
1[{a:7},"","","","",""],
2["","","","",""],
3["","","","",{h:2},""],
4["","","",""],
5["","","","",{h:2},""],
6["",{w:2},"",""]
diff --git a/layouts/default/numpad_6x5/readme.md b/layouts/default/numpad_6x5/readme.md
new file mode 100644
index 000000000..0c6d0959e
--- /dev/null
+++ b/layouts/default/numpad_6x5/readme.md
@@ -0,0 +1,3 @@
1# numpad_6x5
2
3 LAYOUT_numpad_6x5