aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormrT1ddl3s <60518619+mrT1ddl3s@users.noreply.github.com>2021-02-16 10:46:02 -0700
committerGitHub <noreply@github.com>2021-02-16 09:46:02 -0800
commit9a2b0a5db15a48a0297a4b82665d462361261600 (patch)
tree7434f13254f2709fda9d29260aad42acdf976aa6
parent4a10dfb54d42fe81d1acf578152e264dac725b8d (diff)
downloadqmk_firmware-9a2b0a5db15a48a0297a4b82665d462361261600.tar.gz
qmk_firmware-9a2b0a5db15a48a0297a4b82665d462361261600.zip
[Keyboard] Knob Goblin add via support (#11831)
Co-authored-by: Ryan <fauxpark@gmail.com> Co-authored-by: Drashna Jaelre <drashna@live.com> Co-authored-by: Joel Challis <git@zvecr.com>
-rw-r--r--keyboards/knobgoblin/config.h9
-rw-r--r--keyboards/knobgoblin/info.json45
-rw-r--r--keyboards/knobgoblin/keymaps/ortho/keymap.c5
-rw-r--r--keyboards/knobgoblin/keymaps/via/keymap.c53
-rw-r--r--keyboards/knobgoblin/keymaps/via/readme.md3
-rw-r--r--keyboards/knobgoblin/keymaps/via/rules.mk2
-rw-r--r--keyboards/knobgoblin/knobgoblin.c21
-rw-r--r--keyboards/knobgoblin/readme.md4
-rw-r--r--keyboards/knobgoblin/rules.mk2
9 files changed, 107 insertions, 37 deletions
diff --git a/keyboards/knobgoblin/config.h b/keyboards/knobgoblin/config.h
index bee6056a0..ed6d69d6f 100644
--- a/keyboards/knobgoblin/config.h
+++ b/keyboards/knobgoblin/config.h
@@ -19,12 +19,11 @@
19#include "config_common.h" 19#include "config_common.h"
20 20
21/* USB Device descriptor parameter */ 21/* USB Device descriptor parameter */
22#define VENDOR_ID 0xFEED 22#define VENDOR_ID 0x4B47 // KG
23#define PRODUCT_ID 0x0000 23#define PRODUCT_ID 0x0000
24#define DEVICE_VER 0x0001 24#define DEVICE_VER 0x0001
25#define MANUFACTURER MrT1ddl3s 25#define MANUFACTURER MrT1ddl3s
26#define PRODUCT knobgoblin 26#define PRODUCT Knob Goblin
27
28/* key matrix size */ 27/* key matrix size */
29#define MATRIX_ROWS 5 28#define MATRIX_ROWS 5
30#define MATRIX_COLS 5 29#define MATRIX_COLS 5
@@ -43,3 +42,7 @@
43#define DIODE_DIRECTION COL2ROW 42#define DIODE_DIRECTION COL2ROW
44 43
45#define DEBOUNCE 2 44#define DEBOUNCE 2
45
46/*Bootmagic position definition because (0,0) is not used*/
47#define BOOTMAGIC_LITE_ROW 0
48#define BOOTMAGIC_LITE_COLUMN 1
diff --git a/keyboards/knobgoblin/info.json b/keyboards/knobgoblin/info.json
index 16404131b..f63e00b44 100644
--- a/keyboards/knobgoblin/info.json
+++ b/keyboards/knobgoblin/info.json
@@ -8,32 +8,33 @@
8 "LAYOUT_ortho": { 8 "LAYOUT_ortho": {
9 "layout": [ 9 "layout": [
10 10
11 {"x": 1, "y": 0}, 11 {"Label": "F17", "x": 1, "y": 0},
12 {"x": 2, "y": 0}, 12 {"Label": "F18", "x": 2, "y": 0},
13 {"x": 3, "y": 0}, 13 {"Label": "F19", "x": 3, "y": 0},
14 {"x": 4, "y": 0}, 14 {"Label": "F20", "x": 4, "y": 0},
15 15
16 {"x": 1, "y": 1}, 16 {"Label": "F13", "x": 1, "y": 1},
17 {"x": 2, "y": 1}, 17 {"Label": "F14", "x": 2, "y": 1},
18 {"x": 3, "y": 1}, 18 {"Label": "F15", "x": 3, "y": 1},
19 {"x": 4, "y": 1}, 19 {"Label": "F16", "x": 4, "y": 1},
20 20
21 {"x": 1, "y": 2}, 21 {"Label": "F9", "x": 1, "y": 2},
22 {"x": 2, "y": 2}, 22 {"Label": "F10", "x": 2, "y": 2},
23 {"x": 3, "y": 2}, 23 {"Label": "F11", "x": 3, "y": 2},
24 {"x": 4, "y": 2}, 24 {"Label": "F12", "x": 4, "y": 2},
25 25
26 {"x": 0, "y": 3}, 26 {"Label": "K2", "x": 0, "y": 3},
27 {"x": 1, "y": 3}, 27 {"Label": "F5", "x": 1, "y": 3},
28 {"x": 2, "y": 3}, 28 {"Label": "F6", "x": 2, "y": 3},
29 {"x": 3, "y": 3}, 29 {"Label": "F7", "x": 3, "y": 3},
30 {"x": 4, "y": 3}, 30 {"Label": "F8", "x": 4, "y": 3},
31
32 {"Label": "K1", "x": 0, "y": 4},
33 {"Label": "F1", "x": 1, "y": 4},
34 {"Label": "F2", "x": 2, "y": 4},
35 {"Label": "F3", "x": 3, "y": 4},
36 {"Label": "F4", "x": 4, "y": 4}
31 37
32 {"x": 0, "y": 4},
33 {"x": 1, "y": 4},
34 {"x": 2, "y": 4},
35 {"x": 3, "y": 4},
36 {"x": 4, "y": 4}
37 ] 38 ]
38 } 39 }
39 } 40 }
diff --git a/keyboards/knobgoblin/keymaps/ortho/keymap.c b/keyboards/knobgoblin/keymaps/ortho/keymap.c
index 57c68a8b1..8c2955ea7 100644
--- a/keyboards/knobgoblin/keymaps/ortho/keymap.c
+++ b/keyboards/knobgoblin/keymaps/ortho/keymap.c
@@ -25,12 +25,13 @@ 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,
32 KC_END , KC_UP, KC_PGDN, KC_TRNS, 32 KC_END , KC_UP, KC_PGDN, KC_TRNS,
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};
diff --git a/keyboards/knobgoblin/keymaps/via/keymap.c b/keyboards/knobgoblin/keymaps/via/keymap.c
new file mode 100644
index 000000000..afe3226bb
--- /dev/null
+++ b/keyboards/knobgoblin/keymaps/via/keymap.c
@@ -0,0 +1,53 @@
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
19const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
20
21 [0] = LAYOUT_ortho(
22 KC_EQL, KC_PSLS, KC_PAST, KC_PMNS,
23 KC_P7, KC_P8, KC_P9, KC_PPLS,
24 KC_P4, KC_P5, KC_P6, KC_PPLS,
25 KC_MPLY, KC_P1, KC_P2, KC_P3, KC_PENT,
26 KC_MUTE, MO(1), KC_P0, KC_PDOT, KC_PENT
27 ),
28
29 [1] = LAYOUT_ortho(
30 KC_ESC, KC_TRNS, KC_TRNS, KC_TRNS,
31 KC_HOME, KC_TRNS, KC_PGUP, KC_TRNS,
32 KC_END , KC_UP, KC_PGDN, KC_TRNS,
33 KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT, KC_SPC,
34 KC_TRNS, KC_TRNS, KC_BSPC, KC_DEL, KC_TRNS
35 ),
36
37 [2] = LAYOUT_ortho(
38 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
39 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
40 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
43 ),
44
45 [3] = LAYOUT_ortho(
46 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
47 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
48 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
49 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
50 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
51 )
52
53}; \ No newline at end of file
diff --git a/keyboards/knobgoblin/keymaps/via/readme.md b/keyboards/knobgoblin/keymaps/via/readme.md
new file mode 100644
index 000000000..f137c78c3
--- /dev/null
+++ b/keyboards/knobgoblin/keymaps/via/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/via/rules.mk b/keyboards/knobgoblin/keymaps/via/rules.mk
new file mode 100644
index 000000000..ee1c5e7ae
--- /dev/null
+++ b/keyboards/knobgoblin/keymaps/via/rules.mk
@@ -0,0 +1,2 @@
1VIA_ENABLE = YES
2LTO_ENABLE = YES
diff --git a/keyboards/knobgoblin/knobgoblin.c b/keyboards/knobgoblin/knobgoblin.c
index 8905e770f..2f5e02b13 100644
--- a/keyboards/knobgoblin/knobgoblin.c
+++ b/keyboards/knobgoblin/knobgoblin.c
@@ -74,22 +74,29 @@ static void render_goblin_logo(void) {
74__attribute__((weak)) void oled_task_user(void) { 74__attribute__((weak)) void oled_task_user(void) {
75 75
76 render_goblin_logo(); 76 render_goblin_logo();
77
78 oled_set_cursor(0,11);
77 79
78 switch (get_highest_layer(layer_state)) { 80 switch (get_highest_layer(layer_state)) {
79 case 0: 81 case 0:
80 oled_set_cursor(0,11); 82 oled_write_P(PSTR(" ONE\n"), false);
81 oled_advance_char();
82 oled_write_P(PSTR("ONE\n"), false);
83 break; 83 break;
84 case 1: 84 case 1:
85 oled_set_cursor(0,11); 85 oled_write_P(PSTR(" TWO\n"), false);
86 oled_advance_char();
87 oled_write_P(PSTR("TWO\n"), false);
88 break; 86 break;
89 case 2: 87 case 2:
90 oled_set_cursor(0,11);
91 oled_write_P(PSTR("THREE\n"), false); 88 oled_write_P(PSTR("THREE\n"), false);
92 break; 89 break;
90 case 3:
91 oled_write_P(PSTR(" FOUR\n"), false);
92 break;
93 case 4:
94 oled_write_P(PSTR(" FIVE\n"), false);
95 break;
96 case 5:
97 oled_write_P(PSTR(" SIX\n"), false);
98 break;
99
93 } 100 }
94} 101}
95#endif 102#endif
diff --git a/keyboards/knobgoblin/readme.md b/keyboards/knobgoblin/readme.md
index 20ebc92e9..0ce2b0c9c 100644
--- a/keyboards/knobgoblin/readme.md
+++ b/keyboards/knobgoblin/readme.md
@@ -1,12 +1,12 @@
1# KNOBGOBLIN 1# KNOBGOBLIN
2 2
3![Knob Goblin](https://i.imgur.com/oYnzqqNl.jpg) 3![Knob Goblin](https://i.imgur.com/oYnzqqN.jpg)
4 4
5A 5x4 numpad with 2x rotary encoder and OLED support. 5A 5x4 numpad with 2x rotary encoder and OLED support.
6 6
7* Keyboard Maintainer: [MrT1ddl3s](https://github.com/mrT1ddl3s) 7* Keyboard Maintainer: [MrT1ddl3s](https://github.com/mrT1ddl3s)
8* Hardware Supported: knobgoblin PCB 8* Hardware Supported: knobgoblin PCB
9* Hardware Availability: Occasional group buy.[knobgoblin.xyz](https://knobgoblin.xyz) 9* Hardware Availability: Occasional group buy - [knob-goblin.com](https://knob-goblin.com)
10 10
11Make example for this keyboard (after setting up your build environment): 11Make example for this keyboard (after setting up your build environment):
12 12
diff --git a/keyboards/knobgoblin/rules.mk b/keyboards/knobgoblin/rules.mk
index d1c86defb..17211c095 100644
--- a/keyboards/knobgoblin/rules.mk
+++ b/keyboards/knobgoblin/rules.mk
@@ -7,7 +7,7 @@ BOOTLOADER = caterina
7# Build Options 7# Build Options
8# change yes to no to disable 8# change yes to no to disable
9# 9#
10BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration 10BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
11MOUSEKEY_ENABLE = no # Mouse keys 11MOUSEKEY_ENABLE = no # Mouse keys
12EXTRAKEY_ENABLE = yes # Audio control and System control 12EXTRAKEY_ENABLE = yes # Audio control and System control
13CONSOLE_ENABLE = yes # Console for debug 13CONSOLE_ENABLE = yes # Console for debug