diff options
| author | mrT1ddl3s <60518619+mrT1ddl3s@users.noreply.github.com> | 2021-02-16 10:46:02 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-02-16 09:46:02 -0800 |
| commit | 9a2b0a5db15a48a0297a4b82665d462361261600 (patch) | |
| tree | 7434f13254f2709fda9d29260aad42acdf976aa6 | |
| parent | 4a10dfb54d42fe81d1acf578152e264dac725b8d (diff) | |
| download | qmk_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.h | 9 | ||||
| -rw-r--r-- | keyboards/knobgoblin/info.json | 45 | ||||
| -rw-r--r-- | keyboards/knobgoblin/keymaps/ortho/keymap.c | 5 | ||||
| -rw-r--r-- | keyboards/knobgoblin/keymaps/via/keymap.c | 53 | ||||
| -rw-r--r-- | keyboards/knobgoblin/keymaps/via/readme.md | 3 | ||||
| -rw-r--r-- | keyboards/knobgoblin/keymaps/via/rules.mk | 2 | ||||
| -rw-r--r-- | keyboards/knobgoblin/knobgoblin.c | 21 | ||||
| -rw-r--r-- | keyboards/knobgoblin/readme.md | 4 | ||||
| -rw-r--r-- | keyboards/knobgoblin/rules.mk | 2 |
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 | |||
| 19 | const 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 | |||
| 3 | Via 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 @@ | |||
| 1 | VIA_ENABLE = YES | ||
| 2 | LTO_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 |  | 3 |  |
| 4 | 4 | ||
| 5 | A 5x4 numpad with 2x rotary encoder and OLED support. | 5 | A 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 | ||
| 11 | Make example for this keyboard (after setting up your build environment): | 11 | Make 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 | # |
| 10 | BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration | 10 | BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration |
| 11 | MOUSEKEY_ENABLE = no # Mouse keys | 11 | MOUSEKEY_ENABLE = no # Mouse keys |
| 12 | EXTRAKEY_ENABLE = yes # Audio control and System control | 12 | EXTRAKEY_ENABLE = yes # Audio control and System control |
| 13 | CONSOLE_ENABLE = yes # Console for debug | 13 | CONSOLE_ENABLE = yes # Console for debug |
