aboutsummaryrefslogtreecommitdiff
path: root/keyboards
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards')
-rw-r--r--keyboards/durgod/k320/keymaps/moults31/config.h20
-rw-r--r--keyboards/durgod/k320/keymaps/moults31/keymap.c84
-rw-r--r--keyboards/durgod/k320/keymaps/moults31/readme.md10
-rw-r--r--keyboards/durgod/k320/keymaps/moults31/rules.mk2
-rw-r--r--keyboards/dztech/dz60rgb/keymaps/moults31/keymap.c42
-rw-r--r--keyboards/dztech/dz60rgb/keymaps/moults31/readme.md11
-rw-r--r--keyboards/dztech/dz60rgb/keymaps/moults31/rules.mk1
-rw-r--r--keyboards/gmmk/pro/keymaps/moults31/keymap.c92
-rw-r--r--keyboards/knobgoblin/keymaps/moults31/keymap.c170
-rw-r--r--keyboards/knobgoblin/keymaps/moults31/readme.md3
-rw-r--r--keyboards/knobgoblin/keymaps/moults31/rules.mk3
-rw-r--r--keyboards/knobgoblin/keymaps/via/keymap.c8
12 files changed, 442 insertions, 4 deletions
diff --git a/keyboards/durgod/k320/keymaps/moults31/config.h b/keyboards/durgod/k320/keymaps/moults31/config.h
new file mode 100644
index 000000000..01f47b8c1
--- /dev/null
+++ b/keyboards/durgod/k320/keymaps/moults31/config.h
@@ -0,0 +1,20 @@
1/*
2 * Copyright 2021 moults31
3 *
4 * This program is free software: you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation, either version 2 of the License, or
7 * (at your option) any later version.
8 *
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
13 *
14 * You should have received a copy of the GNU General Public License
15 * along with this program. If not, see <http://www.gnu.org/licenses/>.
16 */
17
18#pragma once
19
20#define DYNAMIC_KEYMAP_LAYER_COUNT 3
diff --git a/keyboards/durgod/k320/keymaps/moults31/keymap.c b/keyboards/durgod/k320/keymaps/moults31/keymap.c
new file mode 100644
index 000000000..c44fe1585
--- /dev/null
+++ b/keyboards/durgod/k320/keymaps/moults31/keymap.c
@@ -0,0 +1,84 @@
1/* Copyright 2021 moults31
2 * Adapted from kuenhlee and Don Kjer and Coirault
3 *
4 * This program is free software: you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation, either version 2 of the License, or
7 * (at your option) any later version.
8 *
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
13 *
14 * You should have received a copy of the GNU General Public License
15 * along with this program. If not, see <http://www.gnu.org/licenses/>.
16 */
17#include QMK_KEYBOARD_H
18
19#include "moults31.h"
20
21// Layer shorthand
22enum _layer {
23 _BASE,
24 _FUNC,
25 _LAYER3
26};
27
28const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
29 /* Keymap _BASE: Base Layer (Default Layer)
30 * ,-----------------------------------------------------------. ,--------------.
31 * |Esc |f1| f2| f3| f4| | f5| f6| f7| f8| | f9|f10|f11|f12| |Prnt|ScLk|Paus|
32 * |-----------------------------------------------------------| |--------------|
33 * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0| - | = |Backsp | | Ins|Home|PgUp|
34 * |-----------------------------------------------------------| |--------------|
35 * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| | | Del| End|PgDn|
36 * |------------------------------------------------------ Ret | `--------------'
37 * |CAPS | A| S| D| F| G| H| J| K| L| ;| '| #| |
38 * |-----------------------------------------------------------| ,----.
39 * |Shift| \| Z| X| C| V| B| N| M| ,| .| /|Shift | | Up |
40 * |-----------------------------------------------------------| ,-------------.
41 * |Ctrl|Gui |Alt | Space |Alt | Fn |App |Ctrl| |Lft| Dn |Rig |
42 * `-----------------------------------------------------------' `-------------'
43 */
44 [_BASE] = LAYOUT_tkl_ansi( /* Base Layer */
45 KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS,
46 KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
47 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
48 KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
49 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
50 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FUNC),KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
51 ),
52 /* Keymap _FUNC: Function Layer
53 * ,-----------------------------------------------------------. ,--------------.
54 * | |Play|Stop|Prev|Next| |Mute|Vol+|Vol-| | | | | | | | | | |
55 * |-----------------------------------------------------------| |--------------|
56 * | | | | | | | | | | | | | | | | | | |
57 * |-----------------------------------------------------------| |--------------|
58 * | | | | | | | | | | | | | | | | | | |
59 * |------------------------------------------------------- | `--------------'
60 * | | | | | | | | | | | | | | |
61 * |-----------------------------------------------------------| ,----.
62 * | | | | | | | | | | | | | | | |
63 * |-----------------------------------------------------------| ,-------------.
64 * | | | | | |Func | | | | | | |
65 * `-----------------------------------------------------------' `-------------'
66 */
67 [_FUNC] = LAYOUT_tkl_ansi( /* Function Layer */
68 _______, KC_MPLY, KC_MSTP, KC_MRWD, KC_MFFD, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, _______, _______, _______, _______, _______,
69 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
70 _______, _______, M_VSC_VIEWSIZEINC, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
71 _______, M_VSC_EDGRPPRV, M_VSC_VIEWSIZEDEC, M_VSC_EDGRPNXT, _______, _______, _______, _______, _______, _______, _______, _______, _______,
72 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
73 _______, _______, _______, _______, _______, _______, _______, _______, M_VSC_MVEDTRPRVGRP, _______, M_VSC_MVEDTRNXTGRP
74 ),
75 [_LAYER3] = LAYOUT_tkl_ansi( /* Function Layer */
76 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
77 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
78 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
79 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
80 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
81 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
82 ),
83};
84
diff --git a/keyboards/durgod/k320/keymaps/moults31/readme.md b/keyboards/durgod/k320/keymaps/moults31/readme.md
new file mode 100644
index 000000000..e3a3f150f
--- /dev/null
+++ b/keyboards/durgod/k320/keymaps/moults31/readme.md
@@ -0,0 +1,10 @@
1# The default keymap for Durgod Taurus K320.
2
3Layer 0 : Standard Keys TKL layout
4
5Layer 1 : Media control and VScode navigation
6- Reusing Durgod's Original Media Control for Fn + F1 ~ Fn + F7
7
8## Supported PCBs
9
10This keymap intended for use on Durgod K320 ANSI
diff --git a/keyboards/durgod/k320/keymaps/moults31/rules.mk b/keyboards/durgod/k320/keymaps/moults31/rules.mk
new file mode 100644
index 000000000..36b7ba9cb
--- /dev/null
+++ b/keyboards/durgod/k320/keymaps/moults31/rules.mk
@@ -0,0 +1,2 @@
1VIA_ENABLE = yes
2LTO_ENABLE = yes
diff --git a/keyboards/dztech/dz60rgb/keymaps/moults31/keymap.c b/keyboards/dztech/dz60rgb/keymaps/moults31/keymap.c
new file mode 100644
index 000000000..98802270a
--- /dev/null
+++ b/keyboards/dztech/dz60rgb/keymaps/moults31/keymap.c
@@ -0,0 +1,42 @@
1/*
2 * Copyright 2021 moults31
3 *
4 * This program is free software: you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation, either version 2 of the License, or
7 * (at your option) any later version.
8 *
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
13 *
14 * You should have received a copy of the GNU General Public License
15 * along with this program. If not, see <http://www.gnu.org/licenses/>.
16 */
17
18#include QMK_KEYBOARD_H
19
20const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
21 [0] = LAYOUT(
22 KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC,
23 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
24 CTL_T(KC_CAPS), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
25 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_DOT, KC_SLSH, KC_RSHFT, KC_UP, LT(2, KC_DEL),
26 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_COMM, MO(1), KC_LEFT, KC_DOWN, KC_RGHT
27 ),
28 [1] = LAYOUT(
29 KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
30 _______, _______, KC_UP, _______, _______, _______, KC_CALC, _______, KC_INS, _______, KC_PSCR, KC_HOME, KC_END, RESET,
31 _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, KC_PGUP, KC_PGDN, EEP_RST,
32 _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, KC_MPLY, KC_VOLU, KC_MUTE,
33 _______, _______, _______, _______, _______, _______, KC_MPRV, KC_VOLD, KC_MNXT
34 ),
35 [2] = LAYOUT(
36 RGB_MOD, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
37 _______, _______, RGB_HUI, _______, _______, _______, _______, _______, _______, _______, _______, _______, EEP_RST, RESET,
38 _______, RGB_SAD, RGB_HUD, RGB_SAI, _______, _______, _______, _______, _______, _______, _______, _______, _______,
39 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, RGB_VAI, _______,
40 _______, _______, _______, _______, _______, _______, RGB_SPI, RGB_VAD, RGB_SPD
41 ),
42};
diff --git a/keyboards/dztech/dz60rgb/keymaps/moults31/readme.md b/keyboards/dztech/dz60rgb/keymaps/moults31/readme.md
new file mode 100644
index 000000000..19bccf13e
--- /dev/null
+++ b/keyboards/dztech/dz60rgb/keymaps/moults31/readme.md
@@ -0,0 +1,11 @@
1# moults31 DZ60RBG V2 Layout
2
3Similar to the default dz60rgb v2 layout with some minor changes for quality of life in programming.
4
5Brief summary of improvements over default:
6* More intuitive media keys in layer 1
7* More intuitive RGB control keys in layer 2
8* Standard left-alt
9* Anne Pro 2 style home/end placement in layer 1
10* Grave key moved to right-alt position for easier ctrl-grave vscode shortcut
11* Removed layer 4 (mac layout?)
diff --git a/keyboards/dztech/dz60rgb/keymaps/moults31/rules.mk b/keyboards/dztech/dz60rgb/keymaps/moults31/rules.mk
new file mode 100644
index 000000000..1e5b99807
--- /dev/null
+++ b/keyboards/dztech/dz60rgb/keymaps/moults31/rules.mk
@@ -0,0 +1 @@
VIA_ENABLE = yes
diff --git a/keyboards/gmmk/pro/keymaps/moults31/keymap.c b/keyboards/gmmk/pro/keymaps/moults31/keymap.c
new file mode 100644
index 000000000..90ac428c7
--- /dev/null
+++ b/keyboards/gmmk/pro/keymaps/moults31/keymap.c
@@ -0,0 +1,92 @@
1/* Copyright 2021 Glorious, LLC <salman@pcgamingrace.com>
2
3This program is free software: you can redistribute it and/or modify
4it under the terms of the GNU General Public License as published by
5the Free Software Foundation, either version 2 of the License, or
6(at your option) any later version.
7
8This program is distributed in the hope that it will be useful,
9but WITHOUT ANY WARRANTY; without even the implied warranty of
10MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11GNU General Public License for more details.
12
13You should have received a copy of the GNU General Public License
14along with this program. If not, see <http://www.gnu.org/licenses/>.
15*/
16
17#include QMK_KEYBOARD_H
18
19#include "moults31.h"
20
21const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
22
23// ESC F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 Prt Rotary(Mute)
24// ~ 1 2 3 4 5 6 7 8 9 0 - (=) BackSpc Del
25// Tab Q W E R T Y U I O P [ ] \ PgUp
26// Caps A S D F G H J K L ; " Enter PgDn
27// Sh_L Z X C V B N M , . ? Sh_R Up End
28// Ct_L Win_L Alt_L SPACE Alt_R FN Ct_R Left Down Right
29
30
31 // The FN key by default maps to a momentary toggle to layer 1 to provide access to the RESET key (to put the board into bootloader mode). Without
32 // this mapping, you have to open the case to hit the button on the bottom of the PCB (near the USB cable attachment) while plugging in the USB
33 // cable to get the board into bootloader mode - definitely not fun when you're working on your QMK builds. Remove this and put it back to KC_RGUI
34 // if that's your preference.
35 //
36 // To put the keyboard in bootloader mode, use FN+backslash. If you accidentally put it into bootloader, you can just unplug the USB cable and
37 // it'll be back to normal when you plug it back in.
38 [0] = LAYOUT(
39 KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_MPLY,
40 KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_HOME,
41 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_END,
42 KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_DEL,
43 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, MO(2),
44 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
45 ),
46
47 [1] = LAYOUT(
48 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE,
49 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
50 _______, _______, _______, _______, _______, _______, KC_CALC, _______, KC_INS, _______, KC_PSCR, _______, _______, RESET, _______,
51 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, KC_PGDN, _______, _______,
52 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
53 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
54 ),
55
56 [2] = LAYOUT(
57 M_GDB_STOP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, M_VSC_DBGCNSLFOCUS,
58 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
59 _______, _______, M_VSC_VIEWSIZEINC, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
60 _______, M_VSC_EDGRPPRV, M_VSC_VIEWSIZEDEC, M_VSC_EDGRPNXT, _______, _______, _______, _______, _______, _______, _______, _______, M_GDB_PLAY, M_GDB_PAUSE,
61 _______, M_VSC_FILEPRV, M_VSC_FILENXT, _______, _______, _______, _______, _______, _______, _______, _______, _______, M_GDB_STEPOUT, _______,
62 _______, _______, _______, _______, _______, _______, _______, M_GDB_RESTART, M_GDB_STEPIN, M_GDB_STEPOVER
63 ),
64
65};
66
67
68bool encoder_update_user(uint8_t index, bool clockwise) {
69 const layer_state_t curr_layer = get_highest_layer(layer_state);
70 if(curr_layer == 2) {
71 if (clockwise) {
72 moults31_tap_custom_code(M_VSC_FILENXT);
73 } else {
74 moults31_tap_custom_code(M_VSC_FILEPRV);
75 }
76 }
77 else if(curr_layer == 1) {
78 if (clockwise) {
79 moults31_tap_custom_code(M_VSC_VIEWSIZEINC);
80 } else {
81 moults31_tap_custom_code(M_VSC_VIEWSIZEDEC);
82 }
83 }
84 else {
85 if (clockwise) {
86 tap_code(KC_VOLU);
87 } else {
88 tap_code(KC_VOLD);
89 }
90 }
91 return false;
92}
diff --git a/keyboards/knobgoblin/keymaps/moults31/keymap.c b/keyboards/knobgoblin/keymaps/moults31/keymap.c
new file mode 100644
index 000000000..16830bc98
--- /dev/null
+++ b/keyboards/knobgoblin/keymaps/moults31/keymap.c
@@ -0,0 +1,170 @@
1/* Copyright 2020 MrT1ddl3s
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#include "moults31.h"
20
21const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
22
23 [0] = LAYOUT_ortho(
24 KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS,
25 KC_P7, KC_P8, KC_P9, KC_PPLS,
26 KC_P4, KC_P5, KC_P6, KC_PPLS,
27 KC_MPLY, KC_P1, KC_P2, KC_P3, KC_PENT,
28 KC_MUTE, MO(10), KC_P0, KC_PDOT, KC_PENT
29 ),
30
31 [1] = LAYOUT_ortho(
32 KC_ESC, KC_TRNS, KC_TRNS, KC_TRNS,
33 KC_HOME, KC_TRNS, KC_PGUP, KC_TRNS,
34 KC_END , KC_UP, KC_PGDN, KC_TRNS,
35 KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT, KC_SPC,
36 KC_TRNS, MO(10), KC_BSPC, KC_DEL, KC_TRNS
37 ),
38
39 [2] = LAYOUT_ortho(
40 KC_2, KC_TRNS, KC_TRNS, KC_TRNS,
41 M_VSC_MVEDTRPRVGRP, M_VSC_MVEDTRNXTGRP, KC_TRNS, KC_TRNS,
42 M_VSC_EDGRPPRV, M_VSC_EDGRPNXT, KC_TRNS, KC_TRNS,
43 KC_TRNS, M_VSC_SIDEBARFOCUS, M_VSC_SIDEBARCLOSE, M_VSC_TERMFOCUS, KC_TRNS,
44 M_VSC_FILECLOSE, MO(10), KC_TRNS, KC_TRNS, KC_TRNS
45 ),
46
47 [3] = LAYOUT_ortho(
48 KC_3, KC_TRNS, KC_TRNS, KC_TRNS,
49 KC_TRNS, KC_TRNS, KC_TRNS, M_GDB_PAUSE,
50 M_GDB_RESTART, M_GDB_STOP, KC_TRNS, M_GDB_PAUSE,
51 M_VSC_DBGCNSLFOCUS, M_GDB_STEPOVER, M_GDB_STEPIN, M_GDB_STEPOUT, M_GDB_PLAY,
52 KC_TRNS, MO(10), KC_TRNS, KC_TRNS, M_GDB_PLAY
53 ),
54
55 [4] = LAYOUT_ortho(
56 KC_4, KC_TRNS, KC_TRNS, KC_TRNS,
57 M_OBS_VOICE_UNMUTE, M_OBS_MOOSIC_MUTE, M_OBS_MOOSIC_UNMUTE, KC_TRNS,
58 M_OBS_DSKT_MUTE, M_OBS_DSKT_UNMUTE, M_OBS_VOICE_MUTE, KC_TRNS,
59 KC_TRNS, M_OBS_BRB, M_OBS_GAME, M_OBS_JSTCHT, KC_TRNS,
60 KC_TRNS, MO(10), KC_TRNS, KC_TRNS, KC_TRNS
61 ),
62
63 [5] = LAYOUT_ortho(
64 KC_5, KC_TRNS, KC_TRNS, KC_TRNS,
65 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
66 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
67 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
68 KC_TRNS, MO(10), KC_TRNS, KC_TRNS, KC_TRNS
69 ),
70
71 [6] = LAYOUT_ortho(
72 KC_6, KC_TRNS, KC_TRNS, KC_TRNS,
73 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
74 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
75 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
76 KC_TRNS, MO(10), KC_TRNS, KC_TRNS, KC_TRNS
77 ),
78
79 [7] = LAYOUT_ortho(
80 KC_7, KC_TRNS, KC_TRNS, KC_TRNS,
81 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
82 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
83 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
84 KC_TRNS, MO(10), KC_TRNS, KC_TRNS, KC_TRNS
85 ),
86
87 [8] = LAYOUT_ortho(
88 KC_8, KC_TRNS, KC_TRNS, KC_TRNS,
89 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
90 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
91 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
92 KC_TRNS, MO(10), KC_TRNS, KC_TRNS, KC_TRNS
93 ),
94
95 [9] = LAYOUT_ortho(
96 KC_9, KC_TRNS, KC_TRNS, KC_TRNS,
97 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
98 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
99 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
100 KC_TRNS, MO(10), KC_TRNS, KC_TRNS, KC_TRNS
101 ),
102
103 [10] = LAYOUT_ortho(
104 RESET, KC_TRNS, KC_TRNS, KC_TRNS,
105 TO(7), TO(8), TO(9), KC_TRNS,
106 TO(4), TO(5), TO(6), KC_TRNS,
107 KC_TRNS, TO(1), TO(2), TO(3), KC_TRNS,
108 KC_TRNS, KC_TRNS, TO(0), KC_TRNS, KC_TRNS
109 ),
110
111
112
113};
114
115/* byte map for the goblin logo, knob goblin text, and level text */
116static void render_goblin_logo(void) {
117 static const char PROGMEM my_logo[] = {
118 0x00, 0xe0, 0x40, 0x80, 0x80, 0x00, 0x00, 0x80, 0x80, 0xc0, 0x60, 0x20, 0x10, 0x08, 0x08, 0x08,
119 0x08, 0x08, 0x08, 0x10, 0x20, 0x60, 0xc0, 0x80, 0x80, 0x00, 0x00, 0x80, 0x80, 0x40, 0xe0, 0x00,
120 0x00, 0x03, 0x06, 0x3c, 0x49, 0x91, 0x21, 0x00, 0x40, 0x80, 0x80, 0x80, 0x80, 0x00, 0x60, 0x00,
121 0x00, 0x60, 0x00, 0x80, 0x80, 0x80, 0x80, 0x40, 0x00, 0x21, 0x91, 0x49, 0x3c, 0x06, 0x03, 0x00,
122 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x1f, 0x60, 0x40, 0xc0, 0x06, 0x0e, 0x0f, 0x67, 0x50, 0xc0,
123 0xc0, 0x50, 0x67, 0x0f, 0x0e, 0x06, 0xc0, 0x40, 0x60, 0x1f, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
124 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x7b, 0xc7, 0x8e, 0x1e, 0x3e, 0x3e,
125 0x3e, 0x3e, 0x1e, 0x8e, 0xc7, 0x7b, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
126 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x06, 0x04,
127 0x04, 0x06, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
128 0x03, 0x03, 0x03, 0x03, 0x03, 0x83, 0x03, 0x03, 0x03, 0x83, 0x03, 0x83, 0x03, 0x03, 0x03, 0x83,
129 0x03, 0x03, 0x83, 0x83, 0x83, 0x03, 0x03, 0x83, 0x83, 0x83, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03,
130 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x04, 0x06, 0x09, 0x10, 0x00, 0x1f, 0x03, 0x06, 0x0c, 0x1f,
131 0x00, 0x0f, 0x10, 0x10, 0x10, 0x0f, 0x00, 0x1f, 0x12, 0x12, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x00,
132 0x00, 0x78, 0xfc, 0x84, 0xa4, 0xa4, 0x68, 0x00, 0x78, 0x84, 0x84, 0x84, 0x78, 0x00, 0xfc, 0x94,
133 0x94, 0x68, 0x00, 0xfc, 0x80, 0x80, 0x80, 0x00, 0xfc, 0x00, 0xfc, 0x18, 0x30, 0x60, 0xfc, 0x00,
134 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
135 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
136 0x00, 0x00, 0x00, 0xf0, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x50, 0x50, 0x50, 0x00, 0xf0, 0x00, 0x00,
137 0x00, 0xf0, 0x00, 0xf0, 0x50, 0x50, 0x50, 0x00, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
138 0x00, 0x00, 0x00, 0x03, 0x02, 0x02, 0x02, 0x00, 0x03, 0x02, 0x02, 0x02, 0x00, 0x00, 0x01, 0x02,
139 0x01, 0x00, 0x00, 0x03, 0x02, 0x02, 0x02, 0x00, 0x03, 0x02, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00
140 };
141 oled_write_raw_P(my_logo, sizeof(my_logo));
142}
143
144void oled_task_user(void) {
145
146 render_goblin_logo();
147
148 oled_set_cursor(0,11);
149
150 switch (get_highest_layer(layer_state)) {
151 case 0:
152 oled_write_P(PSTR(" NUM\n"), false);
153 break;
154 case 1:
155 oled_write_P(PSTR(" NAV\n"), false);
156 break;
157 case 2:
158 oled_write_P(PSTR(" CODE\n"), false);
159 break;
160 case 3:
161 oled_write_P(PSTR(" GDB\n"), false);
162 break;
163 case 4:
164 oled_write_P(PSTR(" OBS\n"), false);
165 break;
166 default:
167 oled_write_P(PSTR(" NONE\n"), false);
168 break;
169 }
170}
diff --git a/keyboards/knobgoblin/keymaps/moults31/readme.md b/keyboards/knobgoblin/keymaps/moults31/readme.md
new file mode 100644
index 000000000..f137c78c3
--- /dev/null
+++ b/keyboards/knobgoblin/keymaps/moults31/readme.md
@@ -0,0 +1,3 @@
1# Ortho Knob Goblin Layout
2
3Via functionality for the Knob Goblin. Ortho layout. \ No newline at end of file
diff --git a/keyboards/knobgoblin/keymaps/moults31/rules.mk b/keyboards/knobgoblin/keymaps/moults31/rules.mk
new file mode 100644
index 000000000..533af592e
--- /dev/null
+++ b/keyboards/knobgoblin/keymaps/moults31/rules.mk
@@ -0,0 +1,3 @@
1VIA_ENABLE = YES
2LTO_ENABLE = YES
3BOOTLOADER = atmel-dfu
diff --git a/keyboards/knobgoblin/keymaps/via/keymap.c b/keyboards/knobgoblin/keymaps/via/keymap.c
index afe3226bb..4631dccd0 100644
--- a/keyboards/knobgoblin/keymaps/via/keymap.c
+++ b/keyboards/knobgoblin/keymaps/via/keymap.c
@@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
25 KC_MPLY, KC_P1, KC_P2, KC_P3, KC_PENT, 25 KC_MPLY, KC_P1, KC_P2, KC_P3, KC_PENT,
26 KC_MUTE, MO(1), KC_P0, KC_PDOT, KC_PENT 26 KC_MUTE, MO(1), KC_P0, KC_PDOT, KC_PENT
27 ), 27 ),
28 28
29 [1] = LAYOUT_ortho( 29 [1] = LAYOUT_ortho(
30 KC_ESC, KC_TRNS, KC_TRNS, KC_TRNS, 30 KC_ESC, KC_TRNS, KC_TRNS, KC_TRNS,
31 KC_HOME, KC_TRNS, KC_PGUP, KC_TRNS, 31 KC_HOME, KC_TRNS, KC_PGUP, KC_TRNS,
@@ -33,7 +33,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
33 KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT, KC_SPC, 33 KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT, KC_SPC,
34 KC_TRNS, KC_TRNS, KC_BSPC, KC_DEL, KC_TRNS 34 KC_TRNS, KC_TRNS, KC_BSPC, KC_DEL, KC_TRNS
35 ), 35 ),
36 36
37 [2] = LAYOUT_ortho( 37 [2] = LAYOUT_ortho(
38 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 38 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
39 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 39 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
@@ -41,7 +41,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
41 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 41 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
42 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS 42 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
43 ), 43 ),
44 44
45 [3] = LAYOUT_ortho( 45 [3] = LAYOUT_ortho(
46 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 46 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
47 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 47 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
@@ -50,4 +50,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
50 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS 50 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
51 ) 51 )
52 52
53}; \ No newline at end of file 53};