summaryrefslogtreecommitdiff
path: root/keyboards/maple_computing
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/maple_computing')
-rw-r--r--keyboards/maple_computing/6ball/keyboard.json55
-rw-r--r--keyboards/maple_computing/6ball/keymaps/default/keymap.c22
-rw-r--r--keyboards/maple_computing/6ball/readme.md14
-rwxr-xr-xkeyboards/maple_computing/c39/keyboard.json75
-rwxr-xr-xkeyboards/maple_computing/c39/keymaps/default/keymap.c45
-rwxr-xr-xkeyboards/maple_computing/c39/readme.md16
-rw-r--r--keyboards/maple_computing/christmas_tree/keymaps/default/keymap.c82
-rw-r--r--keyboards/maple_computing/christmas_tree/readme.md14
-rw-r--r--keyboards/maple_computing/christmas_tree/v2017/keyboard.json49
-rw-r--r--keyboards/maple_computing/ivy/keymaps/default/keymap.c41
-rw-r--r--keyboards/maple_computing/ivy/readme.md15
-rw-r--r--keyboards/maple_computing/ivy/rev1/keyboard.json42
-rw-r--r--keyboards/maple_computing/jnao/keyboard.json161
-rw-r--r--keyboards/maple_computing/jnao/keymaps/default/keymap.c155
-rw-r--r--keyboards/maple_computing/jnao/keymaps/default_4x12/keymap.c150
-rw-r--r--keyboards/maple_computing/jnao/readme.md14
-rw-r--r--keyboards/maple_computing/jnao/rules.mk3
-rw-r--r--keyboards/maple_computing/launchpad/keymaps/default/keymap.c56
-rw-r--r--keyboards/maple_computing/launchpad/readme.md32
-rw-r--r--keyboards/maple_computing/launchpad/rev1/keyboard.json63
-rw-r--r--keyboards/maple_computing/lets_split_eh/config.h23
-rw-r--r--keyboards/maple_computing/lets_split_eh/keyboard.json122
-rw-r--r--keyboards/maple_computing/lets_split_eh/keymaps/default/keymap.c120
-rw-r--r--keyboards/maple_computing/lets_split_eh/keymaps/doxish_dvorak/keymap.c159
-rw-r--r--keyboards/maple_computing/lets_split_eh/lets_split_eh.c16
-rw-r--r--keyboards/maple_computing/lets_split_eh/readme.md13
-rw-r--r--keyboards/maple_computing/lets_split_eh/rules.mk2
-rw-r--r--keyboards/maple_computing/minidox/keymaps/bepo/config.h3
-rw-r--r--keyboards/maple_computing/minidox/keymaps/bepo/keymap.c109
-rw-r--r--keyboards/maple_computing/minidox/keymaps/bepo/readme.md31
-rw-r--r--keyboards/maple_computing/minidox/keymaps/default/keymap.c148
-rw-r--r--keyboards/maple_computing/minidox/readme.md27
-rw-r--r--keyboards/maple_computing/minidox/rev1/keyboard.json87
-rw-r--r--keyboards/maple_computing/the_ruler/keyboard.json62
-rw-r--r--keyboards/maple_computing/the_ruler/keymaps/default/keymap.c45
-rw-r--r--keyboards/maple_computing/the_ruler/readme.md13
36 files changed, 2084 insertions, 0 deletions
diff --git a/keyboards/maple_computing/6ball/keyboard.json b/keyboards/maple_computing/6ball/keyboard.json
new file mode 100644
index 0000000000..f68f2ec8ba
--- /dev/null
+++ b/keyboards/maple_computing/6ball/keyboard.json
@@ -0,0 +1,55 @@
1{
2 "keyboard_name": "6-Ball",
3 "manufacturer": "That-Canadian",
4 "maintainer": "qmk",
5 "usb": {
6 "vid": "0xCEEB",
7 "pid": "0x0007",
8 "device_version": "0.0.1"
9 },
10 "rgblight": {
11 "led_count": 6,
12 "animations": {
13 "breathing": true,
14 "rainbow_mood": true,
15 "rainbow_swirl": true,
16 "snake": true,
17 "knight": true,
18 "christmas": true,
19 "static_gradient": true,
20 "rgb_test": true,
21 "alternating": true,
22 "twinkle": true
23 }
24 },
25 "ws2812": {
26 "pin": "F7"
27 },
28 "features": {
29 "bootmagic": false,
30 "extrakey": true,
31 "mousekey": true,
32 "nkro": true,
33 "rgblight": true,
34 "unicode": true
35 },
36 "matrix_pins": {
37 "cols": ["F4", "D4", "B5", "B6", "B2", "F6"],
38 "rows": ["F5"]
39 },
40 "diode_direction": "COL2ROW",
41 "development_board": "promicro",
42 "layouts": {
43 "LAYOUT": {
44 "layout": [
45 {"matrix": [0, 5], "x": 0, "y": 0.5},
46 {"matrix": [0, 0], "x": 1, "y": 0},
47 {"matrix": [0, 1], "x": 2, "y": 0.5},
48
49 {"matrix": [0, 4], "x": 0, "y": 1.5},
50 {"matrix": [0, 3], "x": 1, "y": 2},
51 {"matrix": [0, 2], "x": 2, "y": 1.5}
52 ]
53 }
54 }
55}
diff --git a/keyboards/maple_computing/6ball/keymaps/default/keymap.c b/keyboards/maple_computing/6ball/keymaps/default/keymap.c
new file mode 100644
index 0000000000..cc9911678a
--- /dev/null
+++ b/keyboards/maple_computing/6ball/keymaps/default/keymap.c
@@ -0,0 +1,22 @@
1#include QMK_KEYBOARD_H
2
3#define _MAIN 0
4#define _FN 1
5
6#define KC_CAPW LGUI(LSFT(KC_3)) // Capture whole screen
7#define KC_CPYW LGUI(LSFT(LCTL(KC_3))) // Copy whole screen
8#define KC_CAPP LGUI(LSFT(KC_4)) // Capture portion of screen
9#define KC_CPYP LGUI(LSFT(LCTL(KC_4))) // Copy portion of screen
10#define KC_X0 LT(_FN, KC_ESC)
11
12const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
13 [_MAIN] = LAYOUT(
14 KC_F, KC_X0, KC_LCTL,
15 KC_R, KC_D, KC_M
16 ),
17
18 [_FN] = LAYOUT(
19 KC_F, KC_TRNS, UG_HUEU,
20 UG_TOGG, UG_NEXT, UG_HUED
21 )
22};
diff --git a/keyboards/maple_computing/6ball/readme.md b/keyboards/maple_computing/6ball/readme.md
new file mode 100644
index 0000000000..0b91c8aa28
--- /dev/null
+++ b/keyboards/maple_computing/6ball/readme.md
@@ -0,0 +1,14 @@
16-Ball
2======
3
4A circular 6-key macropad made by ThatCanadian.
5
6Keyboard Maintainer: QMK Community
7Hardware Supported: Pro Micro ATmega32U4
8Hardware Availability: ThatCanadian
9
10Make example for this keyboard (after setting up your build environment):
11
12 make maple_computing/6ball:default
13
14See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) then the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information.
diff --git a/keyboards/maple_computing/c39/keyboard.json b/keyboards/maple_computing/c39/keyboard.json
new file mode 100755
index 0000000000..f2f396ccd7
--- /dev/null
+++ b/keyboards/maple_computing/c39/keyboard.json
@@ -0,0 +1,75 @@
1{
2 "keyboard_name": "C39",
3 "manufacturer": "Maple Computing",
4 "maintainer": "Space Cat",
5 "usb": {
6 "vid": "0xCA17",
7 "pid": "0xCA39",
8 "device_version": "0.0.1"
9 },
10 "features": {
11 "bootmagic": false,
12 "command": true,
13 "console": true,
14 "extrakey": true,
15 "mousekey": true,
16 "nkro": false
17 },
18 "matrix_pins": {
19 "cols": ["F4", "F5", "F6", "F7", "B1", "B3", "B2", "B6", "D7", "E6", "C6", "D2", "D3"],
20 "rows": ["D1", "B4", "B5"]
21 },
22 "diode_direction": "COL2ROW",
23 "processor": "atmega32u4",
24 "bootloader": "caterina",
25 "layout_aliases": {
26 "LAYOUT": "LAYOUT_ortho_3x13"
27 },
28 "layouts": {
29 "LAYOUT_ortho_3x13": {
30 "layout": [
31 {"matrix": [0, 0], "x": 0, "y": 0},
32 {"matrix": [0, 1], "x": 1, "y": 0},
33 {"matrix": [0, 2], "x": 2, "y": 0},
34 {"matrix": [0, 3], "x": 3, "y": 0},
35 {"matrix": [0, 4], "x": 4, "y": 0},
36 {"matrix": [0, 5], "x": 5, "y": 0},
37 {"matrix": [0, 6], "x": 6, "y": 0},
38 {"matrix": [0, 7], "x": 7, "y": 0},
39 {"matrix": [0, 8], "x": 8, "y": 0},
40 {"matrix": [0, 9], "x": 9, "y": 0},
41 {"matrix": [0, 10], "x": 10, "y": 0},
42 {"matrix": [0, 11], "x": 11.25, "y": 0},
43 {"matrix": [0, 12], "x": 12.25, "y": 0},
44
45 {"matrix": [1, 0], "x": 0, "y": 1},
46 {"matrix": [1, 1], "x": 1, "y": 1},
47 {"matrix": [1, 2], "x": 2, "y": 1},
48 {"matrix": [1, 3], "x": 3, "y": 1},
49 {"matrix": [1, 4], "x": 4, "y": 1},
50 {"matrix": [1, 5], "x": 5, "y": 1},
51 {"matrix": [1, 6], "x": 6, "y": 1},
52 {"matrix": [1, 7], "x": 7, "y": 1},
53 {"matrix": [1, 8], "x": 8, "y": 1},
54 {"matrix": [1, 9], "x": 9, "y": 1},
55 {"matrix": [1, 10], "x": 10, "y": 1},
56 {"matrix": [1, 11], "x": 11.25, "y": 1},
57 {"matrix": [1, 12], "x": 12.25, "y": 1},
58
59 {"matrix": [2, 0], "x": 0, "y": 2},
60 {"matrix": [2, 1], "x": 1, "y": 2},
61 {"matrix": [2, 2], "x": 2, "y": 2},
62 {"matrix": [2, 3], "x": 3, "y": 2},
63 {"matrix": [2, 4], "x": 4, "y": 2},
64 {"matrix": [2, 5], "x": 5, "y": 2},
65 {"matrix": [2, 6], "x": 6, "y": 2},
66 {"matrix": [2, 7], "x": 7, "y": 2},
67 {"matrix": [2, 8], "x": 8, "y": 2},
68 {"matrix": [2, 9], "x": 9, "y": 2},
69 {"matrix": [2, 10], "x": 10, "y": 2},
70 {"matrix": [2, 11], "x": 11.25, "y": 2},
71 {"matrix": [2, 12], "x": 12.25, "y": 2}
72 ]
73 }
74 }
75}
diff --git a/keyboards/maple_computing/c39/keymaps/default/keymap.c b/keyboards/maple_computing/c39/keymaps/default/keymap.c
new file mode 100755
index 0000000000..9de75190d0
--- /dev/null
+++ b/keyboards/maple_computing/c39/keymaps/default/keymap.c
@@ -0,0 +1,45 @@
1#include QMK_KEYBOARD_H
2
3// Each layer gets a name for readability, which is then used in the keymap matrix below.
4// The underscores don't mean anything - you can have a layer called STUFF or any other name.
5// Layer names don't all need to be of the same length, obviously, and you can also skip them
6// entirely and just use numbers.
7#define _QWERTY 0
8#define _FN1 1
9
10// Defines for task manager and such
11#define CALTDEL LCTL(LALT(KC_DEL))
12#define TSKMGR LCTL(LSFT(KC_ESC))
13
14const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
15
16/* Qwerty
17 * ,----------------------------------------------------------------------------. ,-------------.
18 * | Q | W | E | R | T | Bksp | Y | U | I | O | P | | M1 | M2 |
19 * |------+------+------+------+------+------+------+------+------+------+------+ |------+------|
20 * | A | S | D | F | G | Enter| H | J | K | L | ; | | M3 | M4 |
21 * |------+------+------+------+------+------+------+------+------+------+------+ |------+------|
22 * | Z | X | C | V | B | FN1 | N | M | , | . | / | | M5 | M6 |
23 * `----------------------------------------------------------------------------' `-------------'
24 */
25[_QWERTY] = LAYOUT(
26 KC_Q, KC_W, KC_E, KC_R, KC_T, KC_BSPC, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_1, KC_2,
27 KC_A, KC_S, KC_D, KC_F, KC_G, MT(MOD_LSFT, KC_ENT), KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_3, KC_4,
28 KC_Z, KC_X, KC_C, KC_V, KC_B, LT(_FN1, KC_SPC), KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_5, KC_6
29),
30
31/* FN1
32 * ,----------------------------------------------------------------------------. ,-------------.
33 * | 1 | 2 | 3 | 4 | 5 | Bksp | 6 | 7 | 8 | 9 | 0 | | M1 | M2 |
34 * |------+------+------+------+------+------+------+------+------+------+------+ |------+------|
35 * | 4 | 5 | 6 | + | | Enter| | | | | | | M3 | M4 |
36 * |------+------+------+------+------+------+------+------+------+------+------+ |------+------|
37 * | 7 | 8 | 9 | 0 | | FN1 | | | | | | | M5 | M6 |
38 * `----------------------------------------------------------------------------' `-------------'
39 */
40[_FN1] = LAYOUT(
41 KC_1, KC_2, KC_3, KC_4, KC_5, KC_BSPC, KC_6, KC_7, KC_8, KC_9, KC_0, KC_1, KC_2,
42 KC_4, KC_5, KC_6, KC_PLUS, _______, KC_ENT, _______, _______, _______, _______, _______, KC_3, KC_4,
43 KC_7, KC_8, KC_9, KC_0, _______, _______, _______, _______, _______, _______, _______, KC_5, KC_6
44),
45};
diff --git a/keyboards/maple_computing/c39/readme.md b/keyboards/maple_computing/c39/readme.md
new file mode 100755
index 0000000000..c74294e300
--- /dev/null
+++ b/keyboards/maple_computing/c39/readme.md
@@ -0,0 +1,16 @@
1# C39
2=======
3
4![C39](https://i.imgur.com/KuWIIuW.png)
5
6A compact 39 key keyboard.
7
8Keyboard Maintainer: [Maple Computing]()
9Hardware Supported: C39 PCB
10Hardware Availability: [SpaceCat.design](https://spacecat.design)
11
12Make example for this keyboard (after setting up your build environment):
13
14 make maple_computing/c39:default
15
16See 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/maple_computing/christmas_tree/keymaps/default/keymap.c b/keyboards/maple_computing/christmas_tree/keymaps/default/keymap.c
new file mode 100644
index 0000000000..44753644b1
--- /dev/null
+++ b/keyboards/maple_computing/christmas_tree/keymaps/default/keymap.c
@@ -0,0 +1,82 @@
1/* Copyright 2015-2017 Jack Humbert
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
20enum layers {
21 _BASE,
22 _FUNC
23};
24
25enum custom_keycodes {
26 FUNC = SAFE_RANGE,
27 BACKLIT
28};
29
30const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
31
32 /* Base
33 * ,------.
34 * | 1 |
35 * ,------+------.
36 * | 2 | 3 |
37 * ,------+------+------.
38 * | 4 | FUNC | 6 |
39 * `--------------------'
40 */
41 [_BASE] = LAYOUT(
42 KC_1,
43 KC_2, KC_3,
44 KC_4, MO(_FUNC), KC_6
45 ),
46
47 /* Func
48 * ,------.
49 * |BCKLIT|
50 * ,------+------.
51 * | 8 | 9 |
52 * ,------+------+------.
53 * | 0 | FUNC | QK_BOOT|
54 * `--------------------'
55 */
56 [_FUNC] = LAYOUT(
57 BACKLIT,
58 KC_8, KC_9,
59 KC_0, _______, QK_BOOT
60 )
61
62
63};
64
65bool process_record_user(uint16_t keycode, keyrecord_t *record) {
66 switch (keycode) {
67 case BACKLIT:
68 if (record->event.pressed) {
69 register_code(KC_RSFT);
70 #ifdef BACKLIGHT_ENABLE
71 register_code(KC_LSFT);
72 backlight_step();
73 #endif
74 } else {
75 unregister_code(KC_RSFT);
76 unregister_code(KC_LSFT);
77 }
78 return false;
79 break;
80 }
81 return true;
82}
diff --git a/keyboards/maple_computing/christmas_tree/readme.md b/keyboards/maple_computing/christmas_tree/readme.md
new file mode 100644
index 0000000000..2ede444ce4
--- /dev/null
+++ b/keyboards/maple_computing/christmas_tree/readme.md
@@ -0,0 +1,14 @@
1Christmas Tree
2===
3
4![Christmas Tree](https://i.imgur.com/I9FNdSv.png)
5
6A tiny 6 key macro pad, in the shape of a christmas tree, made by That-Canadian, SpaceCat, and ChillCaps.
7
8Keyboard Maintainer: [That-Canadian](https://github.com/That-Canadian)
9
10Make example for this keyboard (after setting up your build environment):
11
12 make maple_computing/christmas_tree/v2017:default
13
14See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) then the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information.
diff --git a/keyboards/maple_computing/christmas_tree/v2017/keyboard.json b/keyboards/maple_computing/christmas_tree/v2017/keyboard.json
new file mode 100644
index 0000000000..6682c574c9
--- /dev/null
+++ b/keyboards/maple_computing/christmas_tree/v2017/keyboard.json
@@ -0,0 +1,49 @@
1{
2 "keyboard_name": "Christmas Tree",
3 "manufacturer": "Maple Computing",
4 "url": "https://www.reddit.com/r/MechanicalKeyboards/comments/7cqxpf/gb_christmas_tree_pcb_gb_now_live/",
5 "maintainer": "That-Canadian",
6 "usb": {
7 "vid": "0xFEED",
8 "pid": "0x3070",
9 "device_version": "20.1.7"
10 },
11 "development_board": "promicro",
12 "features": {
13 "backlight": true,
14 "bootmagic": false,
15 "console": true,
16 "extrakey": true,
17 "mousekey": false,
18 "nkro": false
19 },
20 "qmk": {
21 "locking": {
22 "enabled": true,
23 "resync": true
24 }
25 },
26 "matrix_pins": {
27 "cols": ["D1"],
28 "rows": ["D3", "F4", "D0", "F6", "F5", "D4"]
29 },
30 "diode_direction": "COL2ROW",
31 "backlight": {
32 "driver": "timer",
33 "pin": "D2"
34 },
35 "layouts": {
36 "LAYOUT": {
37 "layout": [
38 {"matrix": [ 0, 0 ], "x": 1, "y": 0},
39
40 {"matrix": [ 1, 0 ], "x": 0.5, "y": 1},
41 {"matrix": [ 2, 0 ], "x": 1.5, "y": 1},
42
43 {"matrix": [ 3, 0 ], "x": 0, "y": 2},
44 {"matrix": [ 4, 0 ], "x": 1, "y": 2},
45 {"matrix": [ 5, 0 ], "x": 2, "y": 2}
46 ]
47 }
48 }
49}
diff --git a/keyboards/maple_computing/ivy/keymaps/default/keymap.c b/keyboards/maple_computing/ivy/keymaps/default/keymap.c
new file mode 100644
index 0000000000..f02580f19c
--- /dev/null
+++ b/keyboards/maple_computing/ivy/keymaps/default/keymap.c
@@ -0,0 +1,41 @@
1#include QMK_KEYBOARD_H
2
3
4// Each layer gets a name for readability, which is then used in the keymap matrix below.
5// The underscores don't mean anything - you can have a layer called STUFF or any other name.
6// Layer names don't all need to be of the same length, obviously, and you can also skip them
7// entirely and just use numbers.
8
9enum pad_layers {
10 _L1,
11 _FUNC
12};
13
14// Defines for task manager and such
15#define CALTDEL LCTL(LALT(KC_DEL))
16#define TSKMGR LCTL(LSFT(KC_ESC))
17
18const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
19
20/* Layer 1
21 * ,------.
22 * | 1 |
23 * |------|
24 * | 2 |
25 * |------|
26 * | FN |
27 * `------'
28 */
29[_L1] = LAYOUT(
30 KC_1,
31 KC_2,
32 MO(_FUNC)
33),
34
35[_FUNC] = LAYOUT(
36 CALTDEL,
37 TSKMGR,
38 _______
39)
40
41};
diff --git a/keyboards/maple_computing/ivy/readme.md b/keyboards/maple_computing/ivy/readme.md
new file mode 100644
index 0000000000..a3bc043b77
--- /dev/null
+++ b/keyboards/maple_computing/ivy/readme.md
@@ -0,0 +1,15 @@
1IVY
2===
3
4![Ivy](https://i.imgur.com/fnVQet6.jpg)
5
6Make example for this keyboard (after setting up your build environment):
7
8 make maple_computing/ivy/rev1:default
9
10Install examples:
11
12 make maple_computing/ivy/rev1:default:dfu
13
14See 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.
15Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
diff --git a/keyboards/maple_computing/ivy/rev1/keyboard.json b/keyboards/maple_computing/ivy/rev1/keyboard.json
new file mode 100644
index 0000000000..e5bc6beae7
--- /dev/null
+++ b/keyboards/maple_computing/ivy/rev1/keyboard.json
@@ -0,0 +1,42 @@
1{
2 "keyboard_name": "Ivy",
3 "manufacturer": "Maple Computing",
4 "maintainer": "That-Canadian",
5 "usb": {
6 "vid": "0x1337",
7 "pid": "0x6012",
8 "device_version": "0.0.1"
9 },
10 "matrix_pins": {
11 "cols": ["F5", "B3", "D5"],
12 "rows": ["F1", "B2", "D3"]
13 },
14 "diode_direction": "COL2ROW",
15 "backlight": {
16 "driver": "timer",
17 "pin": "D2"
18 },
19 "processor": "atmega32u4",
20 "bootloader": "caterina",
21 "features": {
22 "bootmagic": false,
23 "mousekey": false,
24 "extrakey": true,
25 "backlight": true
26 },
27 "qmk": {
28 "locking": {
29 "enabled": true,
30 "resync": true
31 }
32 },
33 "layouts": {
34 "LAYOUT": {
35 "layout": [
36 {"matrix": [0, 0], "x": 0, "y": 0},
37 {"matrix": [1, 1], "x": 1, "y": 0},
38 {"matrix": [2, 2], "x": 2, "y": 0}
39 ]
40 }
41 }
42}
diff --git a/keyboards/maple_computing/jnao/keyboard.json b/keyboards/maple_computing/jnao/keyboard.json
new file mode 100644
index 0000000000..012d51f8f5
--- /dev/null
+++ b/keyboards/maple_computing/jnao/keyboard.json
@@ -0,0 +1,161 @@
1{
2 "keyboard_name": "JNAO",
3 "manufacturer": "Maple Computing",
4 "maintainer": "That-Canadian",
5 "usb": {
6 "vid": "0x1337",
7 "pid": "0x6017",
8 "device_version": "0.0.1"
9 },
10 "matrix_pins": {
11 "cols": ["F1", "F4", "B1", "B2", "B3", "B7", "D1", "D2", "D4", "D6", "D7", "B4"],
12 "rows": ["E6", "F0", "F5", "F6", "F7"]
13 },
14 "diode_direction": "COL2ROW",
15 "backlight": {
16 "driver": "timer",
17 "pin": "D0"
18 },
19 "processor": "atmega32u4",
20 "bootloader": "atmel-dfu",
21 "features": {
22 "bootmagic": false,
23 "mousekey": false,
24 "extrakey": true,
25 "console": true,
26 "command": true,
27 "backlight": true
28 },
29 "qmk": {
30 "locking": {
31 "enabled": true,
32 "resync": true
33 }
34 },
35 "community_layouts": ["ortho_5x12", "ortho_4x12"],
36 "layouts": {
37 "LAYOUT_ortho_5x12": {
38 "layout": [
39 {"matrix": [0, 0], "x": 0, "y": 0},
40 {"matrix": [0, 1], "x": 1, "y": 0},
41 {"matrix": [0, 2], "x": 2, "y": 0},
42 {"matrix": [0, 3], "x": 3, "y": 0},
43 {"matrix": [0, 4], "x": 4, "y": 0},
44 {"matrix": [0, 5], "x": 5, "y": 0},
45 {"matrix": [0, 6], "x": 6, "y": 0},
46 {"matrix": [0, 7], "x": 7, "y": 0},
47 {"matrix": [0, 8], "x": 8, "y": 0},
48 {"matrix": [0, 9], "x": 9, "y": 0},
49 {"matrix": [0, 10], "x": 10, "y": 0},
50 {"matrix": [0, 11], "x": 11, "y": 0},
51
52 {"matrix": [1, 0], "x": 0, "y": 1},
53 {"matrix": [1, 1], "x": 1, "y": 1},
54 {"matrix": [1, 2], "x": 2, "y": 1},
55 {"matrix": [1, 3], "x": 3, "y": 1},
56 {"matrix": [1, 4], "x": 4, "y": 1},
57 {"matrix": [1, 5], "x": 5, "y": 1},
58 {"matrix": [1, 6], "x": 6, "y": 1},
59 {"matrix": [1, 7], "x": 7, "y": 1},
60 {"matrix": [1, 8], "x": 8, "y": 1},
61 {"matrix": [1, 9], "x": 9, "y": 1},
62 {"matrix": [1, 10], "x": 10, "y": 1},
63 {"matrix": [1, 11], "x": 11, "y": 1},
64
65 {"matrix": [2, 0], "x": 0, "y": 2},
66 {"matrix": [2, 1], "x": 1, "y": 2},
67 {"matrix": [2, 2], "x": 2, "y": 2},
68 {"matrix": [2, 3], "x": 3, "y": 2},
69 {"matrix": [2, 4], "x": 4, "y": 2},
70 {"matrix": [2, 5], "x": 5, "y": 2},
71 {"matrix": [2, 6], "x": 6, "y": 2},
72 {"matrix": [2, 7], "x": 7, "y": 2},
73 {"matrix": [2, 8], "x": 8, "y": 2},
74 {"matrix": [2, 9], "x": 9, "y": 2},
75 {"matrix": [2, 10], "x": 10, "y": 2},
76 {"matrix": [2, 11], "x": 11, "y": 2},
77
78 {"matrix": [3, 0], "x": 0, "y": 3},
79 {"matrix": [3, 1], "x": 1, "y": 3},
80 {"matrix": [3, 2], "x": 2, "y": 3},
81 {"matrix": [3, 3], "x": 3, "y": 3},
82 {"matrix": [3, 4], "x": 4, "y": 3},
83 {"matrix": [3, 5], "x": 5, "y": 3},
84 {"matrix": [3, 6], "x": 6, "y": 3},
85 {"matrix": [3, 7], "x": 7, "y": 3},
86 {"matrix": [3, 8], "x": 8, "y": 3},
87 {"matrix": [3, 9], "x": 9, "y": 3},
88 {"matrix": [3, 10], "x": 10, "y": 3},
89 {"matrix": [3, 11], "x": 11, "y": 3},
90
91 {"matrix": [4, 0], "x": 0, "y": 4},
92 {"matrix": [4, 1], "x": 1, "y": 4},
93 {"matrix": [4, 2], "x": 2, "y": 4},
94 {"matrix": [4, 3], "x": 3, "y": 4},
95 {"matrix": [4, 4], "x": 4, "y": 4},
96 {"matrix": [4, 5], "x": 5, "y": 4},
97 {"matrix": [4, 6], "x": 6, "y": 4},
98 {"matrix": [4, 7], "x": 7, "y": 4},
99 {"matrix": [4, 8], "x": 8, "y": 4},
100 {"matrix": [4, 9], "x": 9, "y": 4},
101 {"matrix": [4, 10], "x": 10, "y": 4},
102 {"matrix": [4, 11], "x": 11, "y": 4}
103 ]
104 },
105 "LAYOUT_ortho_4x12": {
106 "layout": [
107 {"matrix": [0, 0], "x": 0, "y": 0},
108 {"matrix": [0, 1], "x": 1, "y": 0},
109 {"matrix": [0, 2], "x": 2, "y": 0},
110 {"matrix": [0, 3], "x": 3, "y": 0},
111 {"matrix": [0, 4], "x": 4, "y": 0},
112 {"matrix": [0, 5], "x": 5, "y": 0},
113 {"matrix": [0, 6], "x": 6, "y": 0},
114 {"matrix": [0, 7], "x": 7, "y": 0},
115 {"matrix": [0, 8], "x": 8, "y": 0},
116 {"matrix": [0, 9], "x": 9, "y": 0},
117 {"matrix": [0, 10], "x": 10, "y": 0},
118 {"matrix": [0, 11], "x": 11, "y": 0},
119
120 {"matrix": [1, 0], "x": 0, "y": 1},
121 {"matrix": [1, 1], "x": 1, "y": 1},
122 {"matrix": [1, 2], "x": 2, "y": 1},
123 {"matrix": [1, 3], "x": 3, "y": 1},
124 {"matrix": [1, 4], "x": 4, "y": 1},
125 {"matrix": [1, 5], "x": 5, "y": 1},
126 {"matrix": [1, 6], "x": 6, "y": 1},
127 {"matrix": [1, 7], "x": 7, "y": 1},
128 {"matrix": [1, 8], "x": 8, "y": 1},
129 {"matrix": [1, 9], "x": 9, "y": 1},
130 {"matrix": [1, 10], "x": 10, "y": 1},
131 {"matrix": [1, 11], "x": 11, "y": 1},
132
133 {"matrix": [2, 0], "x": 0, "y": 2},
134 {"matrix": [2, 1], "x": 1, "y": 2},
135 {"matrix": [2, 2], "x": 2, "y": 2},
136 {"matrix": [2, 3], "x": 3, "y": 2},
137 {"matrix": [2, 4], "x": 4, "y": 2},
138 {"matrix": [2, 5], "x": 5, "y": 2},
139 {"matrix": [2, 6], "x": 6, "y": 2},
140 {"matrix": [2, 7], "x": 7, "y": 2},
141 {"matrix": [2, 8], "x": 8, "y": 2},
142 {"matrix": [2, 9], "x": 9, "y": 2},
143 {"matrix": [2, 10], "x": 10, "y": 2},
144 {"matrix": [2, 11], "x": 11, "y": 2},
145
146 {"matrix": [3, 0], "x": 0, "y": 3},
147 {"matrix": [3, 1], "x": 1, "y": 3},
148 {"matrix": [3, 2], "x": 2, "y": 3},
149 {"matrix": [3, 3], "x": 3, "y": 3},
150 {"matrix": [3, 4], "x": 4, "y": 3},
151 {"matrix": [3, 5], "x": 5, "y": 3},
152 {"matrix": [3, 6], "x": 6, "y": 3},
153 {"matrix": [3, 7], "x": 7, "y": 3},
154 {"matrix": [3, 8], "x": 8, "y": 3},
155 {"matrix": [3, 9], "x": 9, "y": 3},
156 {"matrix": [3, 10], "x": 10, "y": 3},
157 {"matrix": [3, 11], "x": 11, "y": 3}
158 ]
159 }
160 }
161}
diff --git a/keyboards/maple_computing/jnao/keymaps/default/keymap.c b/keyboards/maple_computing/jnao/keymaps/default/keymap.c
new file mode 100644
index 0000000000..3e86fd7c12
--- /dev/null
+++ b/keyboards/maple_computing/jnao/keymaps/default/keymap.c
@@ -0,0 +1,155 @@
1#include QMK_KEYBOARD_H
2
3enum layer_names {
4 _QWERTY,
5 _LOWER,
6 _RAISE,
7 _FUNCTION,
8 _ADJUST,
9};
10
11enum jnao_keycodes {
12 QWERTY = SAFE_RANGE,
13 LOWER,
14 RAISE,
15};
16
17// Defines for task manager and such
18#define CALTDEL LCTL(LALT(KC_DEL))
19#define TSKMGR LCTL(LSFT(KC_ESC))
20
21const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
22
23/* Qwerty
24 * ,-----------------------------------------------------------------------------------.
25 * | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Del |
26 * |------+------+------+------+------+------+------+------+------+------+------+------|
27 * | Tab | Q | W | E | R | T | Y | U | I | O | P | Bksp |
28 * |------+------+------+------+------+-------------+------+------+------+------+------|
29 * | Func | A | S | D | F | G | H | J | K | L | ; | Enter|
30 * |------+------+------+------+------+------|------+------+------+------+------+------|
31 * | Shift| Z | X | C | V | B | N | M | , | . | / | ' |
32 * |------+------+------+------+------+------+------+------+------+------+------+------|
33 * | Ctrl | ` | GUI | ALT |Lower | Space |Raise | Left | Down | Up |Right |
34 * `-----------------------------------------------------------------------------------'
35 */
36[_QWERTY] = LAYOUT_ortho_5x12(
37 KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL,
38 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
39 MO(_FUNCTION), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT,
40 OSM(MOD_LSFT), KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_QUOT,
41 KC_LCTL, KC_GRV, KC_LGUI, KC_LALT, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
42),
43
44/* Lower
45 * ,-----------------------------------------------------------------------------------.
46 * | ~ | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 |
47 * |------+------+------+------+------+-------------+------+------+------+------+------|
48 * | Esc | ! | @ | # | $ | % | ^ | & | * | ( | ) | Del |
49 * |------+------+------+------+------+-------------+------+------+------+------+------|
50 * | | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } |Enter |
51 * |------+------+------+------+------+------|------+------+------+------+------+------|
52 * | | F7 | F8 | F9 | F10 | F11 | F12 | | | Mute | | | |
53 * |------+------+------+------+------+------+------+------+------+------+------+------|
54 * | | | | |Lower | Bksp |Raise | Next | Vol- | Vol+ | Play |
55 * `-----------------------------------------------------------------------------------'
56 */
57[_LOWER] = LAYOUT_ortho_5x12(
58 KC_TILD, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
59 KC_ESC, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL,
60 _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, _______,
61 _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, KC_MUTE, _______, KC_PIPE,
62 _______, _______, _______, _______, _______, KC_BSPC, KC_BSPC, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
63),
64
65/* Raise
66 * ,-----------------------------------------------------------------------------------.
67 * | ` | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 |
68 * |------+------+------+------+------+------+------+------+------+------+------+------|
69 * | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Del |
70 * |------+------+------+------+------+-------------+------+------+------+------+------|
71 * | | 4 | 5 | 6 | + | F5 | F6 | - | = | [ | ] |Enter |
72 * |------+------+------+------+------+------|------+------+------+------+------+------|
73 * |Enter | 7 | 8 | 9 | - | F11 | F12 |ISO # |ISO / | Mute | | \ |
74 * |------+------+------+------+------+------+------+------+------+------+------+------|
75 * | | , | 0 | . |Lower | Bksp |Raise | Next | Vol- | Vol+ | Play |
76 * `-----------------------------------------------------------------------------------'
77 */
78[_RAISE] = LAYOUT_ortho_5x12(
79 KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
80 KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL,
81 _______, KC_4, KC_5, KC_6, KC_PLUS, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, _______,
82 KC_ENT, KC_7, KC_8, KC_9, KC_MINS, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_MUTE, _______, KC_BSLS,
83 _______, KC_COMM, KC_0, KC_DOT, _______, KC_BSPC, KC_BSPC, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
84),
85
86/* Adjust (Lower + Raise)
87 * ,-----------------------------------------------------------------------------------.
88 * | ESC | F1 | F2 | F3 |ALTF4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 |
89 * |------+------+------+------+------+------+------+------+------+------+------+------|
90 * |Taskmg| | | | | | | | | | |caltde|
91 * |------+------+------+------+------+-------------+------+------+------+------+------|
92 * | | | |Aud on|Audoff|AGnorm|AGswap|Qwerty| | | | |
93 * |------+------+------+------+------+------|------+------+------+------+------+------|
94 * | |Voice-|Voice+|Mus on|Musoff|MIDIon|MIDIof| | | | | |
95 * |------+------+------+------+------+------+------+------+------+------+------+------|
96 * | | | | | | | | | | | |QK_BOOT |
97 * `-----------------------------------------------------------------------------------'
98 */
99[_ADJUST] = LAYOUT_ortho_5x12(
100 KC_ESC, KC_F1, KC_F2, KC_F3, LALT(KC_F4), KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
101 TSKMGR, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, CALTDEL,
102 _______, _______, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, _______, _______, _______, _______,
103 _______, AU_PREV, AU_NEXT, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______,
104 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT
105),
106
107/* Function
108 * ,-----------------------------------------------------------------------------------.
109 * | Esc | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 |
110 * |------+------+------+------+------+------+------+------+------+------+------+------|
111 * | | | | | | | | | up | | | |
112 * |------+------+------+------+------+-------------+------+------+------+------+------|
113 * | | | | | | | | Left | Down |Right | | |
114 * |------+------+------+------+------+------|------+------+------+------+------+------|
115 * | Caps | | | | | | | | | | | |
116 * |------+------+------+------+------+------+------+------+------+------+------+------|
117 * | | | | | | | | | | | |
118 * `-----------------------------------------------------------------------------------'
119 */
120[_FUNCTION] = LAYOUT_ortho_5x12(
121 KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
122 _______, _______, _______, _______, _______, _______, _______, _______, KC_UP, _______, _______, _______,
123 _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______,
124 KC_CAPS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
125 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
126)
127
128
129};
130
131bool process_record_user(uint16_t keycode, keyrecord_t *record) {
132 switch (keycode) {
133 case LOWER:
134 if (record->event.pressed) {
135 layer_on(_LOWER);
136 update_tri_layer(_LOWER, _RAISE, _ADJUST);
137 } else {
138 layer_off(_LOWER);
139 update_tri_layer(_LOWER, _RAISE, _ADJUST);
140 }
141 return false;
142 break;
143 case RAISE:
144 if (record->event.pressed) {
145 layer_on(_RAISE);
146 update_tri_layer(_LOWER, _RAISE, _ADJUST);
147 } else {
148 layer_off(_RAISE);
149 update_tri_layer(_LOWER, _RAISE, _ADJUST);
150 }
151 return false;
152 break;
153 }
154 return true;
155};
diff --git a/keyboards/maple_computing/jnao/keymaps/default_4x12/keymap.c b/keyboards/maple_computing/jnao/keymaps/default_4x12/keymap.c
new file mode 100644
index 0000000000..2bb2568f87
--- /dev/null
+++ b/keyboards/maple_computing/jnao/keymaps/default_4x12/keymap.c
@@ -0,0 +1,150 @@
1#include QMK_KEYBOARD_H
2
3enum layer_names {
4 _QWERTY,
5 _LOWER,
6 _RAISE,
7 _FUNCTION,
8 _ADJUST,
9};
10
11enum planck_keycodes {
12 QWERTY = SAFE_RANGE,
13 LOWER,
14 RAISE
15};
16
17// Defines for task manager and such
18#define CALTDEL LCTL(LALT(KC_DEL))
19#define TSKMGR LCTL(LSFT(KC_ESC))
20
21const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
22
23/* Qwerty
24 * ,-----------------------------------------------------------------------------------.
25 * | Tab | Q | W | E | R | T | Y | U | I | O | P | Bksp |
26 * |------+------+------+------+------+-------------+------+------+------+------+------|
27 * | Func | A | S | D | F | G | H | J | K | L | ; | Enter|
28 * |------+------+------+------+------+------|------+------+------+------+------+------|
29 * | Shift| Z | X | C | V | B | N | M | , | . | / | ' |
30 * |------+------+------+------+------+------+------+------+------+------+------+------|
31 * | Ctrl | ` | GUI | Alt |Lower | Space |Raise | Left | Down | Up |Right |
32 * `-----------------------------------------------------------------------------------'
33 */
34[_QWERTY] = LAYOUT_ortho_4x12(
35 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
36 MO(_FUNCTION), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT,
37 OSM(MOD_LSFT), KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_QUOT,
38 KC_LCTL, KC_GRV, KC_LGUI, KC_LALT, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
39),
40
41/* Lower
42 * ,-----------------------------------------------------------------------------------.
43 * | Esc | ! | @ | # | $ | % | ^ | & | * | ( | ) | Del |
44 * |------+------+------+------+------+-------------+------+------+------+------+------|
45 * | | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } |Enter |
46 * |------+------+------+------+------+------|------+------+------+------+------+------|
47 * | | F7 | F8 | F9 | F10 | F11 | F12 | | | Mute | | | |
48 * |------+------+------+------+------+------+------+------+------+------+------+------|
49 * | | | | |Lower | Bksp | Bksp |Raise | Next | Vol- | Vol+ | Play |
50 * `-----------------------------------------------------------------------------------'
51 */
52[_LOWER] = LAYOUT_ortho_4x12(
53 KC_ESC, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL,
54 _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, _______,
55 _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, KC_MUTE, _______, KC_PIPE,
56 _______, _______, _______, _______, _______, KC_BSPC, KC_BSPC, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
57),
58
59/* Raise
60 * ,-----------------------------------------------------------------------------------.
61 * | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Del |
62 * |------+------+------+------+------+-------------+------+------+------+------+------|
63 * | | 4 | 5 | 6 | + | F5 | F6 | - | = | [ | ] |Enter |
64 * |------+------+------+------+------+------|------+------+------+------+------+------|
65 * |Enter | 7 | 8 | 9 | - | F11 | F12 |ISO # |ISO / | Mute | | \ |
66 * |------+------+------+------+------+------+------+------+------+------+------+------|
67 * | | , | 0 | . |Lower | Bksp | Bksp |Raise | Next | Vol- | Vol+ | Play |
68 * `-----------------------------------------------------------------------------------'
69 */
70[_RAISE] = LAYOUT_ortho_4x12(
71 KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL,
72 _______, KC_4, KC_5, KC_6, KC_PLUS, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, _______,
73 KC_ENT, KC_7, KC_8, KC_9, KC_MINS, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_MUTE, _______, KC_BSLS,
74 _______, KC_COMM, KC_0, KC_DOT, _______, KC_BSPC, KC_BSPC, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
75),
76
77/* Adjust (Lower + Raise)
78 * ,-----------------------------------------------------------------------------------.
79 * |Taskmg| | | | | | | | | | |caltde|
80 * |------+------+------+------+------+-------------+------+------+------+------+------|
81 * | | | |Aud on|Audoff|AGnorm|AGswap|Qwerty| | | | |
82 * |------+------+------+------+------+------|------+------+------+------+------+------|
83 * | |Voice-|Voice+|Mus on|Musoff|MIDIon|MIDIof| | | | | |
84 * |------+------+------+------+------+------+------+------+------+------+------+------|
85 * | | | | | | | | | | | | QK_BOOT|
86 * `-----------------------------------------------------------------------------------'
87 */
88[_ADJUST] = LAYOUT_ortho_4x12(
89 TSKMGR, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, CALTDEL,
90 _______, _______, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, _______, _______, _______, _______,
91 _______, AU_PREV, AU_NEXT, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______,
92 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT
93),
94
95/* Function
96 * ,-----------------------------------------------------------------------------------.
97 * | | | | | | | | | Up | | | |
98 * |------+------+------+------+------+-------------+------+------+------+------+------|
99 * | | | | | | | | Left | Down |Right | | |
100 * |------+------+------+------+------+------|------+------+------+------+------+------|
101 * | Caps | | | | | | | | | | | |
102 * |------+------+------+------+------+------+------+------+------+------+------+------|
103 * | | | | | | | | | | | |
104 * `-----------------------------------------------------------------------------------'
105 */
106[_FUNCTION] = LAYOUT_ortho_4x12(
107 _______, _______, _______, _______, _______, _______, _______, _______, KC_UP, _______, _______, _______,
108 _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______,
109 KC_CAPS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
110 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
111)
112
113};
114
115#ifdef AUDIO_ENABLE
116
117float tone_startup[][2] = SONG(STARTUP_SOUND);
118float tone_qwerty[][2] = SONG(QWERTY_SOUND);
119float tone_dvorak[][2] = SONG(DVORAK_SOUND);
120float tone_colemak[][2] = SONG(COLEMAK_SOUND);
121float music_scale[][2] = SONG(MUSIC_SCALE_SOUND);
122
123float tone_goodbye[][2] = SONG(GOODBYE_SOUND);
124#endif
125
126bool process_record_user(uint16_t keycode, keyrecord_t *record) {
127 switch (keycode) {
128 case LOWER:
129 if (record->event.pressed) {
130 layer_on(_LOWER);
131 update_tri_layer(_LOWER, _RAISE, _ADJUST);
132 } else {
133 layer_off(_LOWER);
134 update_tri_layer(_LOWER, _RAISE, _ADJUST);
135 }
136 return false;
137 break;
138 case RAISE:
139 if (record->event.pressed) {
140 layer_on(_RAISE);
141 update_tri_layer(_LOWER, _RAISE, _ADJUST);
142 } else {
143 layer_off(_RAISE);
144 update_tri_layer(_LOWER, _RAISE, _ADJUST);
145 }
146 return false;
147 break;
148 }
149 return true;
150}
diff --git a/keyboards/maple_computing/jnao/readme.md b/keyboards/maple_computing/jnao/readme.md
new file mode 100644
index 0000000000..dd7b280a08
--- /dev/null
+++ b/keyboards/maple_computing/jnao/readme.md
@@ -0,0 +1,14 @@
1JNAO
2====
3
4An no-frills 5x12 or 4x12 ortholinear keyboard
5
6Keyboard Maintainer: [That-Canadian](https://github.com/that-canadian)
7Hardware Supported: JNAO PCB
8Hardware Availability: [SpaceCat](https://spacecat.design) and [Keebio](https://keeb.io/)
9
10Make example for this keyboard (after setting up your build environment):
11
12 make maple_computing/jnao:default
13
14See 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/maple_computing/jnao/rules.mk b/keyboards/maple_computing/jnao/rules.mk
new file mode 100644
index 0000000000..09057bea54
--- /dev/null
+++ b/keyboards/maple_computing/jnao/rules.mk
@@ -0,0 +1,3 @@
1# Disable unsupported hardware
2RGBLIGHT_SUPPORTED = no
3AUDIO_SUPPORTED = no
diff --git a/keyboards/maple_computing/launchpad/keymaps/default/keymap.c b/keyboards/maple_computing/launchpad/keymaps/default/keymap.c
new file mode 100644
index 0000000000..efd67e8c1b
--- /dev/null
+++ b/keyboards/maple_computing/launchpad/keymaps/default/keymap.c
@@ -0,0 +1,56 @@
1// Below layout is based upon /u/That-Canadian's planck layout
2#include QMK_KEYBOARD_H
3
4
5// Each layer gets a name for readability, which is then used in the keymap matrix below.
6// The underscores don't mean anything - you can have a layer called STUFF or any other name.
7// Layer names don't all need to be of the same length, obviously, and you can also skip them
8// entirely and just use numbers.
9enum layer_names {
10 _QWERTY,
11 _FUNC
12};
13
14// Defines for task manager and such
15#define CALTDEL LCTL(LALT(KC_DEL))
16#define TSKMGR LCTL(LSFT(KC_ESC))
17
18const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
19
20/* Qwerty
21 * ,-------------.
22 * | 1 | 2 |
23 * |------+------|
24 * | 3 | 4 |
25 * |------+------|
26 * | 5 | 6 |
27 * |------+------|
28 * | FUNC | 8 |
29 * `-------------'
30 */
31[_QWERTY] = LAYOUT(
32 KC_1, KC_2,
33 KC_3, KC_4,
34 KC_5, KC_6,
35 MO(_FUNC), KC_8
36),
37
38/* Function
39 * ,-------------.
40 * | Q |CALDEL|
41 * |------+------|
42 * | A |TSKMGR|
43 * |------+------|
44 * | Z | X |
45 * |------+------|
46 * | | C |
47 * `-------------'
48 */
49[_FUNC] = LAYOUT(
50 KC_Q, CALTDEL,
51 KC_A, TSKMGR,
52 KC_Z, KC_X,
53 _______, KC_C
54)
55
56};
diff --git a/keyboards/maple_computing/launchpad/readme.md b/keyboards/maple_computing/launchpad/readme.md
new file mode 100644
index 0000000000..1dc7a9b4cf
--- /dev/null
+++ b/keyboards/maple_computing/launchpad/readme.md
@@ -0,0 +1,32 @@
1Launch Pad
2===
3
4![Launch Pad](https://i.imgur.com/WVTe0Ku.png)
5
6-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
7
8A budget-minded, 4-8 key macro-pad with built in legs, plate & case.
9
10Supports MX & Alps switches. 2x 1u or 1x 2u supported for each row.
11
12Supports 2u PCB-Mount stabilizers.
13
14Runs off of 1x Pro Micro & 8x diodes (1n4148).
15
16Optional "Reset" switch can be used on the PCB.
17
18A fantastic project for beginners to learn to solder, veteran's of the hobby who want to add an easy macro-pad to their collection, and everyone in between.
19
20-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
21
22Make example for this keyboard (after setting up your build environment):
23
24 make maple_computing/launchpad/rev1:default
25
26See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) then the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information.
27
28-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
29
30Due to PCB tolerance issues outside of our control, the snap-apart legs included on the PCB may need extra padding to prevent a small amount of wobbling once placed properly. We have included small, clear, and semi-permanent "glue dots" in each order (PCB Only -and- Full Kit) to help with this. You may also use plastic wrap, tape, Elmer's glue, hot glue, rubber cement, etc. We advise against using anything more "permanent" in case you wish to make changes to your Launch Pad in the future. It is also best to attach legs after all of your soldering and building is finished, to get the most accurate feel for your Launch Pad.
31
32-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
diff --git a/keyboards/maple_computing/launchpad/rev1/keyboard.json b/keyboards/maple_computing/launchpad/rev1/keyboard.json
new file mode 100644
index 0000000000..9f7a23c7c8
--- /dev/null
+++ b/keyboards/maple_computing/launchpad/rev1/keyboard.json
@@ -0,0 +1,63 @@
1{
2 "keyboard_name": "Launch Pad",
3 "manufacturer": "Maple Computing",
4 "maintainer": "qmk",
5 "usb": {
6 "vid": "0x1337",
7 "pid": "0x6007",
8 "device_version": "0.0.1"
9 },
10 "rgblight": {
11 "led_count": 10,
12 "animations": {
13 "breathing": true,
14 "rainbow_mood": true,
15 "rainbow_swirl": true,
16 "snake": true,
17 "knight": true,
18 "christmas": true,
19 "static_gradient": true,
20 "rgb_test": true,
21 "alternating": true,
22 "twinkle": true
23 }
24 },
25 "ws2812": {
26 "pin": "F6"
27 },
28 "matrix_pins": {
29 "cols": ["D2", "F7"],
30 "rows": ["C6", "B1", "B3", "D7"]
31 },
32 "diode_direction": "COL2ROW",
33 "development_board": "promicro",
34 "features": {
35 "bootmagic": false,
36 "mousekey": false,
37 "extrakey": true,
38 "nkro": true
39 },
40 "qmk": {
41 "locking": {
42 "enabled": true,
43 "resync": true
44 }
45 },
46 "layouts": {
47 "LAYOUT": {
48 "layout": [
49 {"matrix": [0, 0], "x": 0, "y": 0},
50 {"matrix": [0, 1], "x": 1, "y": 0},
51
52 {"matrix": [1, 0], "x": 0, "y": 1},
53 {"matrix": [1, 1], "x": 1, "y": 1},
54
55 {"matrix": [2, 0], "x": 0, "y": 2},
56 {"matrix": [2, 1], "x": 1, "y": 2},
57
58 {"matrix": [3, 0], "x": 0, "y": 3},
59 {"matrix": [3, 1], "x": 1, "y": 3}
60 ]
61 }
62 }
63}
diff --git a/keyboards/maple_computing/lets_split_eh/config.h b/keyboards/maple_computing/lets_split_eh/config.h
new file mode 100644
index 0000000000..22b97cfb6a
--- /dev/null
+++ b/keyboards/maple_computing/lets_split_eh/config.h
@@ -0,0 +1,23 @@
1/*
2Copyright 2012 Jun Wako <wakojun@gmail.com>
3Copyright 2015 Jack Humbert
4
5This program is free software: you can redistribute it and/or modify
6it under the terms of the GNU General Public License as published by
7the Free Software Foundation, either version 2 of the License, or
8(at your option) any later version.
9
10This program is distributed in the hope that it will be useful,
11but WITHOUT ANY WARRANTY; without even the implied warranty of
12MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13GNU General Public License for more details.
14
15You should have received a copy of the GNU General Public License
16along with this program. If not, see <http://www.gnu.org/licenses/>.
17*/
18
19#pragma once
20
21// The 'EH' has previously forced use of I2C so this default has been kept
22// however users can undef to use serial
23#define USE_I2C
diff --git a/keyboards/maple_computing/lets_split_eh/keyboard.json b/keyboards/maple_computing/lets_split_eh/keyboard.json
new file mode 100644
index 0000000000..90965090b1
--- /dev/null
+++ b/keyboards/maple_computing/lets_split_eh/keyboard.json
@@ -0,0 +1,122 @@
1{
2 "keyboard_name": "Lets Split Eh?",
3 "manufacturer": "That-Canadian",
4 "maintainer": "qmk",
5 "usb": {
6 "vid": "0xFEED",
7 "pid": "0xE401",
8 "device_version": "1.0.0"
9 },
10 "matrix_pins": {
11 "cols": ["F4", "F5", "C6", "B6", "B5", "D5"],
12 "rows": ["B1", "B3", "D7", "B4"]
13 },
14 "diode_direction": "COL2ROW",
15 "backlight": {
16 "pin": "B7"
17 },
18 "rgblight": {
19 "led_count": 12,
20 "split_count": [6, 6],
21 "sleep": true,
22 "animations": {
23 "breathing": true,
24 "rainbow_mood": true,
25 "rainbow_swirl": true,
26 "snake": true,
27 "knight": true,
28 "christmas": true,
29 "static_gradient": true,
30 "rgb_test": true,
31 "alternating": true,
32 "twinkle": true
33 }
34 },
35 "ws2812": {
36 "pin": "B2"
37 },
38 "split": {
39 "enabled": true,
40 "handedness": {
41 "pin": "D3"
42 },
43 "serial": {
44 "pin": "D0"
45 }
46 },
47 "processor": "atmega32u4",
48 "bootloader": "atmel-dfu",
49 "features": {
50 "bootmagic": true,
51 "mousekey": false,
52 "extrakey": true,
53 "nkro": true,
54 "backlight": true,
55 "rgblight": true
56 },
57 "community_layouts": ["ortho_4x12"],
58 "layout_aliases": {
59 "LAYOUT": "LAYOUT_ortho_4x12"
60 },
61 "layouts": {
62 "LAYOUT_ortho_4x12": {
63 "layout": [
64 {"matrix": [0, 0], "x": 0, "y": 0},
65 {"matrix": [0, 1], "x": 1, "y": 0},
66 {"matrix": [0, 2], "x": 2, "y": 0},
67 {"matrix": [0, 3], "x": 3, "y": 0},
68 {"matrix": [0, 4], "x": 4, "y": 0},
69 {"matrix": [0, 5], "x": 5, "y": 0},
70
71 {"matrix": [4, 0], "x": 7, "y": 0},
72 {"matrix": [4, 1], "x": 8, "y": 0},
73 {"matrix": [4, 2], "x": 9, "y": 0},
74 {"matrix": [4, 3], "x": 10, "y": 0},
75 {"matrix": [4, 4], "x": 11, "y": 0},
76 {"matrix": [4, 5], "x": 12, "y": 0},
77
78 {"matrix": [1, 0], "x": 0, "y": 1},
79 {"matrix": [1, 1], "x": 1, "y": 1},
80 {"matrix": [1, 2], "x": 2, "y": 1},
81 {"matrix": [1, 3], "x": 3, "y": 1},
82 {"matrix": [1, 4], "x": 4, "y": 1},
83 {"matrix": [1, 5], "x": 5, "y": 1},
84
85 {"matrix": [5, 0], "x": 7, "y": 1},
86 {"matrix": [5, 1], "x": 8, "y": 1},
87 {"matrix": [5, 2], "x": 9, "y": 1},
88 {"matrix": [5, 3], "x": 10, "y": 1},
89 {"matrix": [5, 4], "x": 11, "y": 1},
90 {"matrix": [5, 5], "x": 12, "y": 1},
91
92 {"matrix": [2, 0], "x": 0, "y": 2},
93 {"matrix": [2, 1], "x": 1, "y": 2},
94 {"matrix": [2, 2], "x": 2, "y": 2},
95 {"matrix": [2, 3], "x": 3, "y": 2},
96 {"matrix": [2, 4], "x": 4, "y": 2},
97 {"matrix": [2, 5], "x": 5, "y": 2},
98
99 {"matrix": [6, 0], "x": 7, "y": 2},
100 {"matrix": [6, 1], "x": 8, "y": 2},
101 {"matrix": [6, 2], "x": 9, "y": 2},
102 {"matrix": [6, 3], "x": 10, "y": 2},
103 {"matrix": [6, 4], "x": 11, "y": 2},
104 {"matrix": [6, 5], "x": 12, "y": 2},
105
106 {"matrix": [3, 0], "x": 0, "y": 3},
107 {"matrix": [3, 1], "x": 1, "y": 3},
108 {"matrix": [3, 2], "x": 2, "y": 3},
109 {"matrix": [3, 3], "x": 3, "y": 3},
110 {"matrix": [3, 4], "x": 4, "y": 3},
111 {"matrix": [3, 5], "x": 5, "y": 3},
112
113 {"matrix": [7, 0], "x": 7, "y": 3},
114 {"matrix": [7, 1], "x": 8, "y": 3},
115 {"matrix": [7, 2], "x": 9, "y": 3},
116 {"matrix": [7, 3], "x": 10, "y": 3},
117 {"matrix": [7, 4], "x": 11, "y": 3},
118 {"matrix": [7, 5], "x": 12, "y": 3}
119 ]
120 }
121 }
122}
diff --git a/keyboards/maple_computing/lets_split_eh/keymaps/default/keymap.c b/keyboards/maple_computing/lets_split_eh/keymaps/default/keymap.c
new file mode 100644
index 0000000000..28e6730670
--- /dev/null
+++ b/keyboards/maple_computing/lets_split_eh/keymaps/default/keymap.c
@@ -0,0 +1,120 @@
1#include QMK_KEYBOARD_H
2
3// Each layer gets a name for readability, which is then used in the keymap matrix below.
4// The underscores don't mean anything - you can have a layer called STUFF or any other name.
5// Layer names don't all need to be of the same length, obviously, and you can also skip them
6// entirely and just use numbers.
7enum layers {
8 _QWERTY,
9 _LOWER,
10 _RAISE,
11 _FUNCTION,
12 _ADJUST,
13};
14
15#define LOWER MO(_LOWER)
16#define RAISE MO(_RAISE)
17#define FUNCTION MO(_FUNCTION)
18#define ADJUST MO(_ADJUST)
19
20// Defines for task manager and such
21#define CALTDEL LCTL(LALT(KC_DEL))
22#define TSKMGR LCTL(LSFT(KC_ESC))
23
24const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
25
26/* Qwerty
27 * ,-----------------------------------------------------------------------------------.
28 * | Tab | Q | W | E | R | T | Y | U | I | O | P | Bksp |
29 * |------+------+------+------+------+-------------+------+------+------+------+------|
30 * | Func | A | S | D | F | G | H | J | K | L | ; | Enter|
31 * |------+------+------+------+------+------|------+------+------+------+------+------|
32 * | Shift| Z | X | C | V | B | N | M | , | . | / | ' |
33 * |------+------+------+------+------+------+------+------+------+------+------+------|
34 * | Ctrl | ` | GUI | Alt |Lower | Space |Raise | Left | Down | Up |Right |
35 * `-----------------------------------------------------------------------------------'
36 */
37[_QWERTY] = LAYOUT(
38 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
39 FUNCTION, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT,
40 OSM(MOD_LSFT), KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_QUOT,
41 KC_LCTL, KC_GRV, KC_LGUI, KC_LALT, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
42),
43
44/* Lower
45 * ,-----------------------------------------------------------------------------------.
46 * | Esc | ! | @ | # | $ | % | ^ | & | * | ( | ) | Del |
47 * |------+------+------+------+------+-------------+------+------+------+------+------|
48 * | | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } |Enter |
49 * |------+------+------+------+------+------|------+------+------+------+------+------|
50 * | | F7 | F8 | F9 | F10 | F11 | F12 | | | Mute | | | |
51 * |------+------+------+------+------+------+------+------+------+------+------+------|
52 * | | | | |Lower | Bksp | Bksp |Raise | Next | Vol- | Vol+ | Play |
53 * `-----------------------------------------------------------------------------------'
54 */
55[_LOWER] = LAYOUT(
56 KC_ESC, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL,
57 _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, _______,
58 _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, KC_MUTE, _______, KC_PIPE,
59 _______, _______, _______, _______, _______, KC_BSPC, KC_BSPC, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
60),
61
62/* Raise
63 * ,-----------------------------------------------------------------------------------.
64 * | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Del |
65 * |------+------+------+------+------+-------------+------+------+------+------+------|
66 * | | 4 | 5 | 6 | + | F5 | F6 | - | = | [ | ] |Enter |
67 * |------+------+------+------+------+------|------+------+------+------+------+------|
68 * |Enter | 7 | 8 | 9 | - | F11 | F12 |ISO # |ISO / | Mute | | \ |
69 * |------+------+------+------+------+------+------+------+------+------+------+------|
70 * | | , | 0 | . |Lower | Bksp | Bksp |Raise | Next | Vol- | Vol+ | Play |
71 * `-----------------------------------------------------------------------------------'
72 */
73[_RAISE] = LAYOUT(
74 KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL,
75 _______, KC_4, KC_5, KC_6, KC_PLUS, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, _______,
76 KC_ENT, KC_7, KC_8, KC_9, KC_MINS, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_MUTE, _______, KC_BSLS,
77 _______, KC_COMM, KC_0, KC_DOT, _______, KC_BSPC, KC_BSPC, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
78),
79
80/* Adjust (Lower + Raise)
81 * ,-----------------------------------------------------------------------------------.
82 * |Taskmg| | | | | | |RGBMOD|RGBVAI|RGBSAI|RGBHUI|caltde|
83 * |------+------+------+------+------+-------------+------+------+------+------+------|
84 * | | | | | | | |RGBRMO|RGBVAD|RGBSAD|RGBHUD|RGBTOG|
85 * |------+------+------+------+------+------|------+------+------+------+------+------|
86 * | | | | | | | | | | | |BLSTEP|
87 * |------+------+------+------+------+------+------+------+------+------+------+------|
88 * | | | | | | | | | | | | QK_BOOT|
89 * `-----------------------------------------------------------------------------------'
90 */
91[_ADJUST] = LAYOUT(
92 TSKMGR, _______, _______, _______, _______, _______, _______, UG_NEXT, UG_VALU, UG_SATU, UG_HUEU, CALTDEL,
93 _______, _______, _______, _______, _______, _______, _______, UG_PREV, UG_VALD, UG_SATD, UG_HUED, UG_TOGG,
94 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_STEP,
95 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT
96),
97
98/* Function
99 * ,-----------------------------------------------------------------------------------.
100 * | | | | | | | | | Up | | | |
101 * |------+------+------+------+------+-------------+------+------+------+------+------|
102 * | | | | | | | | Left | Down |Right | | |
103 * |------+------+------+------+------+------|------+------+------+------+------+------|
104 * | Caps | | | | | | | | | | | |
105 * |------+------+------+------+------+------+------+------+------+------+------+------|
106 * | | | | | | | | | | | |
107 * `-----------------------------------------------------------------------------------'
108 */
109[_FUNCTION] = LAYOUT(
110 _______, _______, _______, _______, _______, _______, _______, _______, KC_UP, _______, _______, _______,
111 _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______,
112 KC_CAPS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
113 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
114)
115
116};
117
118layer_state_t layer_state_set_user(layer_state_t state) {
119 return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
120}
diff --git a/keyboards/maple_computing/lets_split_eh/keymaps/doxish_dvorak/keymap.c b/keyboards/maple_computing/lets_split_eh/keymaps/doxish_dvorak/keymap.c
new file mode 100644
index 0000000000..d8de3d5b42
--- /dev/null
+++ b/keyboards/maple_computing/lets_split_eh/keymaps/doxish_dvorak/keymap.c
@@ -0,0 +1,159 @@
1#include QMK_KEYBOARD_H
2
3// Each layer gets a name for readability, which is then used in the keymap matrix below.
4// The underscores don't mean anything - you can have a layer called STUFF or any other name.
5// Layer names don't all need to be of the same length, obviously, and you can also skip them
6// entirely and just use numbers.
7#define _DVORAK 0
8
9#define _LOWER 3
10#define _RAISE 4
11#define _FUNCTION 15
12#define _ADJUST 16
13
14enum custom_keycodes {
15 DVORAK = SAFE_RANGE,
16 LOWER,
17 RAISE,
18 ADJUST
19};
20
21// Defines for task manager and such
22#define CALTDEL LCTL(LALT(KC_DEL))
23#define TSKMGR LCTL(LSFT(KC_ESC))
24
25const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
26
27/* Dvorak
28 * ,-----------------------------------------------------------------------------------.
29 * | ' | , | . | P | Y | Tab | Bksp | F | G | C | R | L |
30 * |------+------+------+------+------+-------------+------+------+------+------+------|
31 * | A | O | E | U | I | Enter| Enter| D | H | T | N | S |
32 * |------+------+------+------+------+------|------+------+------+------+------+------|
33 * | ; | Q | J | K | X | Shift| Shift| B | M | W | V | Z |
34 * |------+------+------+------+------+------+------+------+------+------+------+------|
35 * | Ctrl | GUI | Alt | Shift|Space |Lower |Raise |Space | Left | Down | Up |Right |
36 * `-----------------------------------------------------------------------------------'
37 */
38[_DVORAK] = LAYOUT(
39 KC_QUOTE, KC_COMMA, KC_DOT, KC_P, KC_Y, KC_TAB, KC_BSPC, KC_F, KC_G, KC_C, KC_R, KC_L,
40 KC_A, KC_O, KC_E, KC_U, KC_I, KC_ENT, KC_ENT, KC_D, KC_H, KC_T, KC_N, KC_S,
41 KC_SCLN, KC_Q, KC_J, KC_K, KC_X, OSM(MOD_LSFT), OSM(MOD_RSFT), KC_B, KC_M, KC_W, KC_V, KC_Z,
42 KC_LCTL, KC_LGUI, KC_LALT, OSM(MOD_LSFT), KC_SPC, LOWER, RAISE, KC_SPC, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
43),
44
45/*[BASE] = LAYOUT(
46 * KC_QUOTE, KC_COMMA, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L,
47 * KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S,
48 * KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z,
49 * OSM(MOD_LSFT), OSM(MOD_LCTL), MO(KEYSEL), MO(BROWSER_CONTROL), MO(COMBINED), MO(KEYNAV), KC_ENTER, KC_SPACE, KC_BSPC, RCTL(KC_BSPC), KC_CAPS, OSM(MOD_LSFT)
50 * ),
51 *KC_GRV,
52 */
53/* Lower
54 * ,-----------------------------------------------------------------------------------.
55 * | Esc | ! | @ | # | $ | % | ^ | & | * | ( | ) | Del |
56 * |------+------+------+------+------+-------------+------+------+------+------+------|
57 * | | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } |Enter |
58 * |------+------+------+------+------+------|------+------+------+------+------+------|
59 * | | F7 | F8 | F9 | F10 | F11 | F12 | | | Mute | | | |
60 * |------+------+------+------+------+------+------+------+------+------+------+------|
61 * | | | | |Lower | Bksp | Bksp |Raise | Next | Vol- | Vol+ | Play |
62 * `-----------------------------------------------------------------------------------'
63 */
64[_LOWER] = LAYOUT(
65 KC_ESC, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL,
66 _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, _______,
67 _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, KC_MUTE, _______, KC_PIPE,
68 _______, _______, _______, _______, KC_BSPC, _______, _______, KC_BSPC, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
69),
70
71/* Raise
72 * ,-----------------------------------------------------------------------------------.
73 * | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Del |
74 * |------+------+------+------+------+-------------+------+------+------+------+------|
75 * | | 4 | 5 | 6 | + | F5 | F6 | - | = | [ | ] |Enter |
76 * |------+------+------+------+------+------|------+------+------+------+------+------|
77 * |Enter | 7 | 8 | 9 | - | F11 | F12 |ISO # |ISO / | Mute | | \ |
78 * |------+------+------+------+------+------+------+------+------+------+------+------|
79 * | | , | 0 | . |Lower | Bksp | Bksp |Raise | Next | Vol- | Vol+ | Play |
80 * `-----------------------------------------------------------------------------------'
81 */
82[_RAISE] = LAYOUT(
83 KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL,
84 _______, KC_4, KC_5, KC_6, KC_PLUS, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, _______,
85 KC_ENT, KC_7, KC_8, KC_9, KC_MINS, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_MUTE, _______, KC_BSLS,
86 _______, KC_COMM, KC_0, KC_DOT, _______, KC_BSPC, KC_BSPC, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
87),
88
89/* Adjust (Lower + Raise)
90 * ,-----------------------------------------------------------------------------------.
91 * |Taskmg| | | | | | | |RGBVAI|RGBSAI|RGBHUI|caltde|
92 * |------+------+------+------+------+-------------+------+------+------+------+------|
93 * | | | | | | | |Qwerty|RGBVAD|RGBSAD|RGBHUD|RGBTOG|
94 * |------+------+------+------+------+------|------+------+------+------+------+------|
95 * | | | | | | | | | | | |BLSTEP|
96 * |------+------+------+------+------+------+------+------+------+------+------+------|
97 * | | | | | | | | | | | | QK_BOOT|
98 * `-----------------------------------------------------------------------------------'
99 */
100[_ADJUST] = LAYOUT(
101 TSKMGR, _______, _______, _______, _______, _______, KC_DEL, _______, UG_VALU, UG_SATU, UG_HUEU, CALTDEL,
102 _______, _______, _______, _______, _______, _______, _______, DVORAK, UG_VALD, UG_SATD, UG_HUED, UG_TOGG,
103 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_STEP,
104 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT
105),
106
107/* Function
108 * ,-----------------------------------------------------------------------------------.
109 * | | | | | | | | | Up | | | |
110 * |------+------+------+------+------+-------------+------+------+------+------+------|
111 * | | | | | | | | Left | Down |Right | | |
112 * |------+------+------+------+------+------|------+------+------+------+------+------|
113 * | Caps | | | | | | | | | | | |
114 * |------+------+------+------+------+------+------+------+------+------+------+------|
115 * | | | | | | | | | | | |
116 * `-----------------------------------------------------------------------------------'
117 */
118[_FUNCTION] = LAYOUT(
119 _______, _______, _______, _______, _______, _______, _______, _______, KC_UP, _______, _______, _______,
120 _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______,
121 KC_CAPS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
122 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
123)
124
125};
126
127bool process_record_user(uint16_t keycode, keyrecord_t *record) {
128 switch (keycode) {
129 case LOWER:
130 if (record->event.pressed) {
131 layer_on(_LOWER);
132 update_tri_layer(_LOWER, _RAISE, _ADJUST);
133 } else {
134 layer_off(_LOWER);
135 update_tri_layer(_LOWER, _RAISE, _ADJUST);
136 }
137 return false;
138 break;
139 case RAISE:
140 if (record->event.pressed) {
141 layer_on(_RAISE);
142 update_tri_layer(_LOWER, _RAISE, _ADJUST);
143 } else {
144 layer_off(_RAISE);
145 update_tri_layer(_LOWER, _RAISE, _ADJUST);
146 }
147 return false;
148 break;
149 case ADJUST:
150 if (record->event.pressed) {
151 layer_on(_ADJUST);
152 } else {
153 layer_off(_ADJUST);
154 }
155 return false;
156 break;
157 }
158 return true;
159}
diff --git a/keyboards/maple_computing/lets_split_eh/lets_split_eh.c b/keyboards/maple_computing/lets_split_eh/lets_split_eh.c
new file mode 100644
index 0000000000..37e8b3ab9b
--- /dev/null
+++ b/keyboards/maple_computing/lets_split_eh/lets_split_eh.c
@@ -0,0 +1,16 @@
1#include "quantum.h"
2
3#ifdef SWAP_HANDS_ENABLE
4__attribute__ ((weak))
5const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = {
6
7 {{0, 4}, {1, 4}, {2, 4}, {3, 4}, {4, 4}, {5, 4}},
8 {{0, 5}, {1, 5}, {2, 5}, {3, 5}, {4, 5}, {5, 5}},
9 {{0, 6}, {1, 6}, {2, 6}, {3, 6}, {4, 6}, {5, 6}},
10 {{0, 7}, {1, 7}, {2, 7}, {3, 7}, {4, 7}, {5, 7}},
11 {{0, 0}, {1, 0}, {2, 0}, {3, 0}, {4, 0}, {5, 0}},
12 {{0, 1}, {1, 1}, {2, 1}, {3, 1}, {4, 1}, {5, 1}},
13 {{0, 2}, {1, 2}, {2, 2}, {3, 2}, {4, 2}, {5, 2}},
14 {{0, 3}, {1, 3}, {2, 3}, {3, 3}, {4, 3}, {5, 3}},
15};
16#endif
diff --git a/keyboards/maple_computing/lets_split_eh/readme.md b/keyboards/maple_computing/lets_split_eh/readme.md
new file mode 100644
index 0000000000..dc769b72c4
--- /dev/null
+++ b/keyboards/maple_computing/lets_split_eh/readme.md
@@ -0,0 +1,13 @@
1# Let's Split Eh?
2
3![Let's Split Eh?](https://i.imgur.com/VMQG4qw.jpg?1)
4
5This is a split 40% ortho board. It is the exact same footprint and the Let's Split keyboard by wootpatoot. This board has USB-C / RGB Underglow / and is all on-board. Meant as a drop-in replacement for the V2 Let's Split.
6
7Keyboard Maintainer: [Christopher Poole (That-Canadian)](https://github.com/That-Canadian)
8
9Make example for this keyboard (after setting up your build environment):
10
11 make maple_computing/lets_split_eh:default
12
13See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) then the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information.
diff --git a/keyboards/maple_computing/lets_split_eh/rules.mk b/keyboards/maple_computing/lets_split_eh/rules.mk
new file mode 100644
index 0000000000..271780b75e
--- /dev/null
+++ b/keyboards/maple_computing/lets_split_eh/rules.mk
@@ -0,0 +1,2 @@
1# Disable unsupported hardware
2AUDIO_SUPPORTED = no
diff --git a/keyboards/maple_computing/minidox/keymaps/bepo/config.h b/keyboards/maple_computing/minidox/keymaps/bepo/config.h
new file mode 100644
index 0000000000..1809262044
--- /dev/null
+++ b/keyboards/maple_computing/minidox/keymaps/bepo/config.h
@@ -0,0 +1,3 @@
1#pragma once
2
3#define EE_HANDS
diff --git a/keyboards/maple_computing/minidox/keymaps/bepo/keymap.c b/keyboards/maple_computing/minidox/keymaps/bepo/keymap.c
new file mode 100644
index 0000000000..587cd02c35
--- /dev/null
+++ b/keyboards/maple_computing/minidox/keymaps/bepo/keymap.c
@@ -0,0 +1,109 @@
1#include QMK_KEYBOARD_H
2#include "keymap_bepo.h"
3
4enum layers {
5 _BEPO,
6 _LOWER,
7 _RAISE,
8 _ADJUST,
9};
10
11#define TABLO LT(_LOWER, KC_TAB)
12#define ENTRA LT(_RAISE, KC_ENTER)
13
14const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
15
16/* BEPO
17 *
18 * ,----------------------------------. ,----------------------------------.
19 * | B | W | P | O | ’ | | ^ | V | D | L | J |
20 * |------+------+------+------+------| |------+------+------+------+------|
21 * | A | U | I | E | , | | C | T | S | R | N |
22 * |------+------+------+------+------| |------+------+------+------+------|
23 * | Z/GUI| Y/Alt| X/Ctl| ./Sft| K | | M | Q/Sft| G/Ctl| H/Alt| F/GUI|
24 * `----------------------------------' `----------------------------------'
25 * ,------.------.------. ,------,------.------.
26 * | Del | Tab | | | |Enter |Escape|
27 * | | LOWER| Space| |BckSpc|RAISE | |
28 * `------'------| | | |------'------'
29 * | | | |
30 * `------' `------'
31 */
32[_BEPO] = LAYOUT(
33 BP_B, BP_W, BP_P, BP_O, BP_QUOT, BP_DCIR, BP_V , BP_D, BP_L, BP_J,
34 BP_A, BP_U, BP_I, BP_E, BP_COMM, BP_C, BP_T, BP_S, BP_R, BP_N,
35 LGUI_T(BP_Z), ALT_T(BP_Y), CTL_T(BP_X), SFT_T(BP_DOT), BP_K, BP_M, SFT_T(BP_Q), CTL_T(BP_G), ALT_T(BP_H), LGUI_T(BP_F),
36 KC_DEL, TABLO, KC_SPC, KC_BSPC, ENTRA , KC_ESC
37),
38
39/* Lower.
40 *
41 * ,----------------------------------. ,----------------------------------.
42 * | | | É | & | œ | È | | PgUp | Home | Up | End |ScrlUp|
43 * |------+------+------+------+------| |------+------+------+------+------|
44 * | æ | Ù | ¨ | € | $ | | PgDn | Left | Down | Right|ScrlDn|
45 * |------+------+------+------+------| |------+------+------+------+------|
46 * | À | Alt | Ctl | Shift| Ç | | | Shift| Ctl | Alt | |
47 * `----------------------------------' `----------------------------------'
48 * ,------,------,------. ,------,------,------.
49 * | | | | | | | |
50 * `------'------| | | |------'------'
51 * | | | |
52 * `------' `------'
53 */
54[_LOWER] = LAYOUT(
55 ALGR(BP_B), BP_EACU, ALGR(BP_P), ALGR(BP_O), BP_EGRV, KC_PGUP, KC_HOME, KC_UP, KC_END, MS_WHLU,
56 ALGR(BP_A), ALGR(BP_U), ALGR(BP_I), ALGR(BP_E), BP_DLR, KC_PGDN, KC_LEFT, KC_DOWN, KC_RIGHT, MS_WHLD,
57 BP_AGRV, KC_LALT, KC_LCTL, KC_LSFT, BP_CCED, _______, KC_LSFT, KC_LCTL, KC_LALT, _______,
58 _______, _______, _______, _______, _______, _______
59),
60
61/* Raise
62 *
63 * ,----------------------------------. ,----------------------------------.
64 * | " | < | > | ( | ) | | @ | + | - | / | * |
65 * |------+------+------+------+------| |------+------+------+------+------|
66 * | ` | { | } | [ | ] | | ~ | = | % | \ | # |
67 * |------+------+------+------+------| |------+------+------+------+------|
68 * | | | Alt | Ctl | Shift| ' | | | Shift| Ctl | Alt | & |
69 * `----------------------------------' `----------------------------------'
70 * ,------,------,------. ,------,------,------.
71 * | | | | | | | |
72 * `------'------| _ | | |------'------'
73 * | | | |
74 * `------' `------'
75 */
76[_RAISE] = LAYOUT(
77 BP_DQUO, ALGR(BP_LDAQ), ALGR(BP_RDAQ), BP_LPRN, BP_RPRN, BP_AT, BP_PLUS, BP_MINS, BP_SLSH, BP_ASTR,
78 S(BP_PERC), ALGR(BP_Y), ALGR(BP_X), ALGR(BP_LPRN), ALGR(BP_RPRN), ALGR(BP_K), BP_EQL, BP_PERC, ALGR(BP_AGRV), S(BP_DLR),
79 ALGR(BP_B), KC_LALT, KC_LCTL, KC_LSFT, ALGR(BP_COMM), _______, KC_LSFT, KC_LCTL, KC_LALT, ALGR(BP_P),
80 _______, _______, ALGR(KC_SPC), _______, _______, _______
81),
82
83/* Adjust (Lower + Raise)
84 * (GUI, ALT, Ctrl, Shft ONLY on left-hand home row)
85 *
86 * ,----------------------------------. ,----------------------------------.
87 * | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 |
88 * |------+------+------+------+------| |------+------+------+------+------|
89 * | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 |
90 * |------+------+------+------+------| |------+------+------+------+------|
91 * | F11 | Alt | Ctl | Shift| | | | Shift| Ctl | Alt | F12 |
92 * `----------------------------------' `----------------------------------'
93 * ,------,------,------. ,------,------,------.
94 * | | | | | | | |
95 * `------'------| | | |------'------'
96 * | | | |
97 * `------' `------'
98 */
99[_ADJUST] = LAYOUT(
100 KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10,
101 S(BP_DQUO), S(BP_LDAQ), S(BP_RDAQ), S(BP_LPRN), S(BP_RPRN), S(BP_AT), S(BP_PLUS), S(BP_MINS), S(BP_SLSH), S(BP_ASTR),
102 KC_F11, KC_LALT, KC_LCTL, KC_LSFT, _______, _______, KC_LSFT, KC_LCTL, KC_LALT, KC_F12 ,
103 _______, _______, _______, _______, _______, _______
104)
105};
106
107layer_state_t layer_state_set_user(layer_state_t state) {
108 return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
109}
diff --git a/keyboards/maple_computing/minidox/keymaps/bepo/readme.md b/keyboards/maple_computing/minidox/keymaps/bepo/readme.md
new file mode 100644
index 0000000000..f928c94471
--- /dev/null
+++ b/keyboards/maple_computing/minidox/keymaps/bepo/readme.md
@@ -0,0 +1,31 @@
1# MiniDox Bepo
2
3As the minidox has a restricted number of keys as compared to regular keyboards, some adjustments were made.
4These adjustments allow for improved ergonomics when typing English and programming languages (in particular javascript).
5
6>Keys have been grouped and rearranged to meet the needs of principals programming usages. Most used groups are placed at the opposite of thumb layout-activation key, not to seek the same hand too much:
7 1. **Arrows/Navigation:** most used with `2.` after standard characters. To navigate comfortably during a long time, the group is placed at the opposite of the thumb-activated layout key.
8 2. **Programming blocks characters:** most used with `1.` after standard characters. *Group placed at the opposite of the thumb-activated layout key*.
9 3. **Operators:** less used than navigation. *Same side of the thumb-activated layout key*.
10 4. **French special characters:** to keep basic characters on main layout and because they are less used in programming and english, french special characters have been moved to a specific layout, counter to Bepo's original main layout. *Same side of the thumb-activated layout key.*
11
12*Here is a list of other ergonomic choices :*
13
14- `Alt` both sides (instead of `AltGr`), as special characters are now handled by layouts, and to comfortably get all shortcuts with both hands (e.g. `alt/tab`...).
15- Numbers on home row, and Function keys on corresponding upper row.
16- Greater/less-than-sign in place of `«` `»`, for easier programming, and because the majority of OS and softwares replace `"` with `«` `»`.
17- Mirror `&` and `|` on little finger, lower row, raise layout (`raiser + &` on little finger is more handy than `raiser + &` on index finger).
18- `’/?` in place of `È` to keep `M` on the right hand side.
19- Better reachability for `W` `Z` `~` `backtick`...
20
21## Firmware :
22[Recent bepo firmware](https://bepo.fr/wiki/Accueil) `1.1rc2` switched generic apostrophe and typographic one.
23As the majority of OS and softwares replace **`'`** with **`’`**, I personnaly do prefer 2008 bepo firmware which keeps generic apostrophe on main layout. In fact, the apostrophe get replaced in text editors, but not in the IDEs while programming.
24Or you also can [switch them by following those instructions.](https://bepo.fr/wiki/Apostrophe)
25
26## Layout :
27![Minidox - Bepo custom layout by dolie](https://user-images.githubusercontent.com/18349922/77227968-f42d9980-6b7b-11ea-9a11-58b1f47842e9.png)
28
29#### N.B.
30I have been using and fine tuned this layout for about a year, and I really enjoy it. 🙂
31
diff --git a/keyboards/maple_computing/minidox/keymaps/default/keymap.c b/keyboards/maple_computing/minidox/keymaps/default/keymap.c
new file mode 100644
index 0000000000..93a8e7025e
--- /dev/null
+++ b/keyboards/maple_computing/minidox/keymaps/default/keymap.c
@@ -0,0 +1,148 @@
1#include QMK_KEYBOARD_H
2
3
4// Each layer gets a name for readability, which is then used in the keymap matrix below.
5// The underscores don't mean anything - you can have a layer called STUFF or any other name.
6// Layer names don't all need to be of the same length, obviously, and you can also skip them
7// entirely and just use numbers.
8enum layer_names {
9 _QWERTY,
10 _LOWER,
11 _RAISE,
12 _ADJUST
13};
14
15enum custom_keycodes {
16 LOWER = SAFE_RANGE,
17 RAISE,
18 ADJUST,
19};
20
21// Defines for task manager and such
22#define CALTDEL LCTL(LALT(KC_DEL))
23#define TSKMGR LCTL(LSFT(KC_ESC))
24
25const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
26
27/* Qwerty
28 *
29 * ,----------------------------------. ,----------------------------------.
30 * | Q | W | E | R | T | | Y | U | I | O | P |
31 * |------+------+------+------+------| |------+------+------+------+------|
32 * | A | S | D | F | G | | H | J | K | L | ; |
33 * |------+------+------+------+------| |------+------+------+------+------|
34 * | Z | X | C | V | B | | N | M | , | . | / |
35 * `----------------------------------' `----------------------------------'
36 * ,--------------------. ,------,-------------.
37 * | Ctrl | LOWER| | | | RAISE| Shift|
38 * `-------------| Space| |BckSpc|------+------.
39 * | | | |
40 * `------' `------'
41 */
42[_QWERTY] = LAYOUT_split_3x5_3(
43 KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,
44 KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN,
45 KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH,
46 KC_LCTL, LOWER, KC_SPC, KC_BSPC, RAISE, OSM(MOD_LSFT)
47),
48
49/* Raise
50 *
51 * ,----------------------------------. ,----------------------------------.
52 * | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 |
53 * |------+------+------+------+------| |------+------+------+------+------|
54 * | Tab | Left | Down | Up | Right| | | - | = | [ | ] |
55 * |------+------+------+------+------| |------+------+------+------+------|
56 * | Ctrl| ` | GUI | Alt | | | | | | \ | ' |
57 * `----------------------------------' `----------------------------------'
58 * ,--------------------. ,------,-------------.
59 * | | LOWER| | | | RAISE| |
60 * `-------------| | | |------+------.
61 * | | | |
62 * `------' `------'
63 */
64[_RAISE] = LAYOUT_split_3x5_3(
65 KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0,
66 KC_TAB, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC,
67 KC_LCTL, KC_GRV, KC_LGUI, KC_LALT, _______, _______, _______, _______, KC_BSLS, KC_QUOT,
68 _______, _______, _______, _______, _______, _______
69),
70
71/* Lower
72 *
73 * ,----------------------------------. ,----------------------------------.
74 * | ! | @ | # | $ | % | | ^ | & | * | ( | ) |
75 * |------+------+------+------+------| |------+------+------+------+------|
76 * | Esc | | | | | | | _ | + | { | } |
77 * |------+------+------+------+------| |------+------+------+------+------|
78 * | Caps| ~ | | | | | | | | | | " |
79 * `----------------------------------' `----------------------------------'
80 * ,--------------------. ,------,-------------.
81 * | | LOWER| | | | RAISE| Del |
82 * `-------------| | | Enter|------+------.
83 * | | | |
84 * `------' `------'
85 */
86[_LOWER] = LAYOUT_split_3x5_3(
87 KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN,
88 KC_ESC, _______, _______, _______, _______, _______, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR,
89 KC_CAPS, KC_TILD, _______, _______, _______, _______, _______, _______, KC_PIPE, KC_DQT,
90 _______, _______, _______, KC_ENT, _______, KC_DEL
91),
92
93/* Adjust (Lower + Raise)
94 *
95 * ,----------------------------------. ,----------------------------------.
96 * | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 |
97 * |------+------+------+------+------| |------+------+------+------+------|
98 * | F11 | F12 | | | | | | | |Taskmg|caltde|
99 * |------+------+------+------+------| |------+------+------+------+------|
100 * | Reset| | | | | | | | | | |
101 * `----------------------------------' `----------------------------------'
102 * ,--------------------. ,------,-------------.
103 * | | LOWER| | | | RAISE| |
104 * `-------------| | | |------+------.
105 * | | | |
106 * `------' `------'
107 */
108[_ADJUST] = LAYOUT_split_3x5_3(
109 KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10,
110 KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, TSKMGR, CALTDEL,
111 QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______,
112 _______, _______, _______, _______, _______, _______
113)
114};
115
116bool process_record_user(uint16_t keycode, keyrecord_t *record) {
117 switch (keycode) {
118 case LOWER:
119 if (record->event.pressed) {
120 layer_on(_LOWER);
121 update_tri_layer(_LOWER, _RAISE, _ADJUST);
122 } else {
123 layer_off(_LOWER);
124 update_tri_layer(_LOWER, _RAISE, _ADJUST);
125 }
126 return false;
127 break;
128 case RAISE:
129 if (record->event.pressed) {
130 layer_on(_RAISE);
131 update_tri_layer(_LOWER, _RAISE, _ADJUST);
132 } else {
133 layer_off(_RAISE);
134 update_tri_layer(_LOWER, _RAISE, _ADJUST);
135 }
136 return false;
137 break;
138 case ADJUST:
139 if (record->event.pressed) {
140 layer_on(_ADJUST);
141 } else {
142 layer_off(_ADJUST);
143 }
144 return false;
145 break;
146 }
147 return true;
148}
diff --git a/keyboards/maple_computing/minidox/readme.md b/keyboards/maple_computing/minidox/readme.md
new file mode 100644
index 0000000000..934985348c
--- /dev/null
+++ b/keyboards/maple_computing/minidox/readme.md
@@ -0,0 +1,27 @@
1# MiniDox
2
3![MiniDox](http://i.imgur.com/iWb3yO0.jpg)
4
5A compact version of the ErgoDox
6
7* Keyboard Maintainer: That-Canadian
8* Hardware Supported: MiniDox PCB rev1 Pro Micro
9
10Make example for this keyboard (after setting up your build environment):
11
12 make maple_computing/minidox/rev1:default
13
14Flashing example for this keyboard ([using the command line](https://docs.qmk.fm/#/newbs_flashing?id=flash-your-keyboard-from-the-command-line)):
15
16 make maple_computing/minidox/rev1:default:flash
17
18See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) then the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information.
19
20## Build Guide
21
22A build guide for putting together the MiniDox v1 can be found here: [MiniDox Build Log / Guide](http://imgur.com/a/vImo6)
23
24
25## Choosing which board to plug the USB cable into (choosing Master)
26
27Because the two boards are identical, the firmware has logic to differentiate the left and right board. It uses two strategies to figure things out, [EE_HANDS](https://docs.qmk.fm/#/feature_split_keyboard?id=handedness-by-eeprom) or [by define](https://docs.qmk.fm/#/feature_split_keyboard?id=handedness-by-define). See [setting-handedness](https://docs.qmk.fm/#/config_options?id=setting-handedness) for more information.
diff --git a/keyboards/maple_computing/minidox/rev1/keyboard.json b/keyboards/maple_computing/minidox/rev1/keyboard.json
new file mode 100644
index 0000000000..a11c2d94e6
--- /dev/null
+++ b/keyboards/maple_computing/minidox/rev1/keyboard.json
@@ -0,0 +1,87 @@
1{
2 "keyboard_name": "MiniDox",
3 "manufacturer": "That-Canadian",
4 "maintainer": "qmk",
5 "usb": {
6 "vid": "0xFEED",
7 "pid": "0x3060",
8 "device_version": "0.0.1"
9 },
10 "matrix_pins": {
11 "cols": ["F4", "D3", "D2", "D1", "D4"],
12 "rows": ["B2", "B6", "B4", "B5"]
13 },
14 "diode_direction": "COL2ROW",
15 "split": {
16 "enabled": true,
17 "serial": {
18 "pin": "D0"
19 }
20 },
21 "development_board": "promicro",
22 "features": {
23 "bootmagic": false,
24 "mousekey": true,
25 "extrakey": true,
26 "command": true
27 },
28 "qmk": {
29 "locking": {
30 "enabled": true,
31 "resync": true
32 }
33 },
34 "community_layouts": ["split_3x5_3"],
35 "layout_aliases": {
36 "LAYOUT": "LAYOUT_split_3x5_3"
37 },
38 "layouts": {
39 "LAYOUT_split_3x5_3": {
40 "layout": [
41 {"matrix": [0, 0], "x": 0, "y": 0.375},
42 {"matrix": [0, 1], "x": 1, "y": 0.125},
43 {"matrix": [0, 2], "x": 2, "y": 0},
44 {"matrix": [0, 3], "x": 3, "y": 0.125},
45 {"matrix": [0, 4], "x": 4, "y": 0.25},
46
47 {"matrix": [4, 4], "x": 7, "y": 0.25},
48 {"matrix": [4, 3], "x": 8, "y": 0.125},
49 {"matrix": [4, 2], "x": 9, "y": 0},
50 {"matrix": [4, 1], "x": 10, "y": 0.125},
51 {"matrix": [4, 0], "x": 11, "y": 0.375},
52
53 {"matrix": [1, 0], "x": 0, "y": 1.375},
54 {"matrix": [1, 1], "x": 1, "y": 1.125},
55 {"matrix": [1, 2], "x": 2, "y": 1},
56 {"matrix": [1, 3], "x": 3, "y": 1.125},
57 {"matrix": [1, 4], "x": 4, "y": 1.25},
58
59 {"matrix": [5, 4], "x": 7, "y": 1.25},
60 {"matrix": [5, 3], "x": 8, "y": 1.125},
61 {"matrix": [5, 2], "x": 9, "y": 1},
62 {"matrix": [5, 1], "x": 10, "y": 1.125},
63 {"matrix": [5, 0], "x": 11, "y": 1.375},
64
65 {"matrix": [2, 0], "x": 0, "y": 2.375},
66 {"matrix": [2, 1], "x": 1, "y": 2.125},
67 {"matrix": [2, 2], "x": 2, "y": 2},
68 {"matrix": [2, 3], "x": 3, "y": 2.125},
69 {"matrix": [2, 4], "x": 4, "y": 2.25},
70
71 {"matrix": [6, 4], "x": 7, "y": 2.25},
72 {"matrix": [6, 3], "x": 8, "y": 2.125},
73 {"matrix": [6, 2], "x": 9, "y": 2},
74 {"matrix": [6, 1], "x": 10, "y": 2.125},
75 {"matrix": [6, 0], "x": 11, "y": 2.375},
76
77 {"matrix": [3, 2], "x": 2.5, "y": 4.75},
78 {"matrix": [3, 3], "x": 3.5, "y": 4.75},
79 {"matrix": [3, 4], "x": 4.5, "y": 3.75, "h": 2},
80
81 {"matrix": [7, 4], "x": 6.5, "y": 3.75, "h": 2},
82 {"matrix": [7, 3], "x": 7.5, "y": 4.75},
83 {"matrix": [7, 2], "x": 8.5, "y": 4.75}
84 ]
85 }
86 }
87}
diff --git a/keyboards/maple_computing/the_ruler/keyboard.json b/keyboards/maple_computing/the_ruler/keyboard.json
new file mode 100644
index 0000000000..3cca7e577a
--- /dev/null
+++ b/keyboards/maple_computing/the_ruler/keyboard.json
@@ -0,0 +1,62 @@
1{
2 "keyboard_name": "The Ruler",
3 "manufacturer": "Maple Computing",
4 "maintainer": "qmk",
5 "usb": {
6 "vid": "0x1337",
7 "pid": "0x6007",
8 "device_version": "0.0.1"
9 },
10 "rgblight": {
11 "hue_steps": 10,
12 "led_count": 1,
13 "animations": {
14 "breathing": true,
15 "rainbow_mood": true,
16 "rainbow_swirl": true,
17 "snake": true,
18 "knight": true,
19 "christmas": true,
20 "static_gradient": true,
21 "rgb_test": true,
22 "alternating": true,
23 "twinkle": true
24 }
25 },
26 "ws2812": {
27 "pin": "E6"
28 },
29 "features": {
30 "bootmagic": false,
31 "command": true,
32 "extrakey": true,
33 "mousekey": true,
34 "nkro": false,
35 "rgblight": true
36 },
37 "qmk": {
38 "locking": {
39 "enabled": true,
40 "resync": true
41 }
42 },
43 "matrix_pins": {
44 "cols": ["D6", "D7", "B4", "B5", "B6", "C6"],
45 "rows": ["C7"]
46 },
47 "diode_direction": "COL2ROW",
48 "processor": "atmega32u4",
49 "bootloader": "atmel-dfu",
50 "layouts": {
51 "LAYOUT": {
52 "layout": [
53 {"matrix": [0, 0], "x": 0, "y": 0},
54 {"matrix": [0, 1], "x": 1, "y": 0},
55 {"matrix": [0, 2], "x": 2, "y": 0},
56 {"matrix": [0, 3], "x": 3, "y": 0},
57 {"matrix": [0, 4], "x": 4, "y": 0},
58 {"matrix": [0, 5], "x": 5, "y": 0, "w": 2}
59 ]
60 }
61 }
62}
diff --git a/keyboards/maple_computing/the_ruler/keymaps/default/keymap.c b/keyboards/maple_computing/the_ruler/keymaps/default/keymap.c
new file mode 100644
index 0000000000..833f9a1eea
--- /dev/null
+++ b/keyboards/maple_computing/the_ruler/keymaps/default/keymap.c
@@ -0,0 +1,45 @@
1#include QMK_KEYBOARD_H
2
3
4// Each layer gets a name for readability, which is then used in the keymap matrix below.
5// The underscores don't mean anything - you can have a layer called STUFF or any other name.
6// Layer names don't all need to be of the same length, obviously, and you can also skip them
7// entirely and just use numbers.
8#define _DEFAULT 0
9#define _FN_1 1
10#define _FN_2 2
11
12// Defines for task manager and such
13#define CALTDEL LCTL(LALT(KC_DEL))
14#define TSKMGR LCTL(LSFT(KC_ESC))
15
16const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
17
18/* Default Layer
19 * ,-----------------------------------------------.
20 * | FN_2 | 2 |TSKMGR |CALTDEL| ESC | FN_1 |
21 * `-----------------------------------------------'
22 */
23[_DEFAULT] = LAYOUT(
24 MO(_FN_2), KC_2, TSKMGR, CALTDEL, KC_ESC, MO(_FN_1)
25),
26
27/* FN 1 Layer
28 * ,-----------------------------------------------.
29 * |UG_TOGG|UG_HUED|UG_HUEU|UG_SATD|UG_SATU| FN_1 |
30 * `-----------------------------------------------'
31 */
32[_FN_1] = LAYOUT(
33 UG_TOGG, UG_HUED, UG_HUEU, UG_SATD, UG_SATU, _______
34),
35
36/* FN 2 Layer
37 * ,-----------------------------------------------.
38 * | FN_2 |UG_VALD|UG_VALU|UG_NEXT|TSKMGR | QK_BOOT |
39 * `-----------------------------------------------'
40 */
41[_FN_2] = LAYOUT(
42 _______, UG_VALD, UG_VALU, UG_NEXT, TSKMGR, QK_BOOT
43)
44
45};
diff --git a/keyboards/maple_computing/the_ruler/readme.md b/keyboards/maple_computing/the_ruler/readme.md
new file mode 100644
index 0000000000..ff958db029
--- /dev/null
+++ b/keyboards/maple_computing/the_ruler/readme.md
@@ -0,0 +1,13 @@
1# The Ruler PCB
2
3A custom keyboard PCB ruler, that can also function as a macro pad.
4
5Keyboard Maintainer: Maple Computing
6Hardware Supported: PCB Ruler V1 by That-Canadian and Bishop Keyboards
7Hardware Availability: [Bishop Keyboards](https://bishopkeyboards.com/product/pcb-ruler-gloss-black-silver/)
8
9Make example for this keyboard (after setting up your build environment):
10
11 make maple_computing/the_ruler:default
12
13See 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).