Skip to content

Commit

Permalink
Keyboard: Planck THK (qmk#12597)
Browse files Browse the repository at this point in the history
Co-authored-by: Ryan <[email protected]>
Co-authored-by: Jack Humbert <[email protected]>
Co-authored-by: Drashna Jaelre <[email protected]>
  • Loading branch information
4 people committed May 26, 2021
1 parent 0211e30 commit 8ba537f
Show file tree
Hide file tree
Showing 11 changed files with 600 additions and 4 deletions.
4 changes: 2 additions & 2 deletions keyboards/planck/planck.c
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@ const keypos_t hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = {

__attribute__ ((weak))
void matrix_init_kb(void) {
// Turn status LED on
#ifdef __AVR__
// Turn status LED on, with the exception of THK
#if defined(__AVR_ATmega32U4__)
setPinOutput(E6);
writePinHigh(E6);
#endif
Expand Down
2 changes: 2 additions & 0 deletions keyboards/planck/planck.h
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@
#include "ez.h"
#elif defined(KEYBOARD_planck_light)
#include "light.h"
#elif defined(KEYBOARD_planck_thk)
#include "thk.h"
#elif defined(KEYBOARD_planck_rev1)
#include "rev1.h"
#elif defined(KEYBOARD_planck_rev2)
Expand Down
46 changes: 46 additions & 0 deletions keyboards/planck/thk/config.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
/*
* Copyright 2018 Jack Humbert <[email protected]>
* Copyright 2021 Erovia
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http:https://www.gnu.org/licenses/>.
*/

#pragma once

#include "config_common.h"
#define DEVICE_VER 0x0000
#undef PRODUCT
#define PRODUCT Planck THK
#define PRODUCT_ID 0x25A7

// THK has a different pin-out
#undef MATRIX_ROW_PINS
#undef MATRIX_COL_PINS

#define MATRIX_ROW_PINS { A7, A6, A5, A4 }
#define MATRIX_COL_PINS { D7, C2, C3, C4, C5, C6, C7, A3, A2, A1, A0, B0 }

#define ENCODERS_PAD_A { B4, B2 }
#define ENCODERS_PAD_B { B3, B1 }

#define TAPPING_TOGGLE 3

#define DIP_SWITCH_PINS { D0, D1, D4, D6 }

// THK uses D5 for audio
#undef AUDIO_PIN
#define AUDIO_PIN D5

// VUSB D- port
#define USB_CFG_DMINUS_BIT 3
158 changes: 158 additions & 0 deletions keyboards/planck/thk/info.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,158 @@
{
"manufacturer": "OLKB",
"keyboard_name": "Planck THK",
"maintainer": "Erovia",
"height": 4,
"width": 12,
"bootloader": "USBasp",
"debounce": 5,
"diode_direction": "COL2ROW",
"features": {
"audio": false,
"backlight": false,
"bluetooth": false,
"bootmagic_lite": true,
"command": false,
"console": false,
"dip_switch": true,
"encoder": true,
"extrakey": true,
"mousekey": true,
"nkro": false,
"rgblight": false,
"sleep_led": false
},
"matrix_pins": {
"cols": ["D7", "C2", "C3", "C4", "C5", "C6", "C7", "A3", "A2", "A1", "A0", "B0"],
"rows": ["A7", "A6", "A5", "A4"]
},
"processor": "atmega32a",
"qmk_lufa_bootloader": {
"esc_input": "D5",
"esc_output": "F1",
"led": "E6",
"speaker": "C6"
},
"url": "https://olkb.com/planck",
"usb": {
"device_ver": "0x0000",
"pid": "0x25A7",
"vid": "0x03A8"
},
"community_layouts": ["ortho_4x12", "planck_mit"],
"layout_aliases": {
"LAYOUT_planck_grid": "LAYOUT_ortho_4x12",
"LAYOUT_planck_mit": "LAYOUT_planck_1x2uC"
},
"layouts": {
"LAYOUT_ortho_4x12": {
"c_macro": true,
"filename": "keyboards/planck/thk/thk.h",
"key_count": 48,
"layout": [
{ "label": "k00", "matrix": [0, 0], "w": 1, "x": 0, "y": 0 },
{ "label": "k01", "matrix": [0, 1], "w": 1, "x": 1, "y": 0 },
{ "label": "k02", "matrix": [0, 2], "w": 1, "x": 2, "y": 0 },
{ "label": "k03", "matrix": [0, 3], "w": 1, "x": 3, "y": 0 },
{ "label": "k04", "matrix": [0, 4], "w": 1, "x": 4, "y": 0 },
{ "label": "k05", "matrix": [0, 5], "w": 1, "x": 5, "y": 0 },
{ "label": "k06", "matrix": [0, 6], "w": 1, "x": 6, "y": 0 },
{ "label": "k07", "matrix": [0, 7], "w": 1, "x": 7, "y": 0 },
{ "label": "k08", "matrix": [0, 8], "w": 1, "x": 8, "y": 0 },
{ "label": "k09", "matrix": [0, 9], "w": 1, "x": 9, "y": 0 },
{ "label": "k0a", "matrix": [0, 10], "w": 1, "x": 10, "y": 0 },
{ "label": "k0b", "matrix": [0, 11], "w": 1, "x": 11, "y": 0 },
{ "label": "k10", "matrix": [1, 0], "w": 1, "x": 0, "y": 1 },
{ "label": "k11", "matrix": [1, 1], "w": 1, "x": 1, "y": 1 },
{ "label": "k12", "matrix": [1, 2], "w": 1, "x": 2, "y": 1 },
{ "label": "k13", "matrix": [1, 3], "w": 1, "x": 3, "y": 1 },
{ "label": "k14", "matrix": [1, 4], "w": 1, "x": 4, "y": 1 },
{ "label": "k15", "matrix": [1, 5], "w": 1, "x": 5, "y": 1 },
{ "label": "k16", "matrix": [1, 6], "w": 1, "x": 6, "y": 1 },
{ "label": "k17", "matrix": [1, 7], "w": 1, "x": 7, "y": 1 },
{ "label": "k18", "matrix": [1, 8], "w": 1, "x": 8, "y": 1 },
{ "label": "k19", "matrix": [1, 9], "w": 1, "x": 9, "y": 1 },
{ "label": "k1a", "matrix": [1, 10], "w": 1, "x": 10, "y": 1 },
{ "label": "k1b", "matrix": [1, 11], "w": 1, "x": 11, "y": 1 },
{ "label": "k20", "matrix": [2, 0], "w": 1, "x": 0, "y": 2 },
{ "label": "k21", "matrix": [2, 1], "w": 1, "x": 1, "y": 2 },
{ "label": "k22", "matrix": [2, 2], "w": 1, "x": 2, "y": 2 },
{ "label": "k23", "matrix": [2, 3], "w": 1, "x": 3, "y": 2 },
{ "label": "k24", "matrix": [2, 4], "w": 1, "x": 4, "y": 2 },
{ "label": "k25", "matrix": [2, 5], "w": 1, "x": 5, "y": 2 },
{ "label": "k26", "matrix": [2, 6], "w": 1, "x": 6, "y": 2 },
{ "label": "k27", "matrix": [2, 7], "w": 1, "x": 7, "y": 2 },
{ "label": "k28", "matrix": [2, 8], "w": 1, "x": 8, "y": 2 },
{ "label": "k29", "matrix": [2, 9], "w": 1, "x": 9, "y": 2 },
{ "label": "k2a", "matrix": [2, 10], "w": 1, "x": 10, "y": 2 },
{ "label": "k2b", "matrix": [2, 11], "w": 1, "x": 11, "y": 2 },
{ "label": "k30", "matrix": [3, 0], "w": 1, "x": 0, "y": 3 },
{ "label": "k31", "matrix": [3, 1], "w": 1, "x": 1, "y": 3 },
{ "label": "k32", "matrix": [3, 2], "w": 1, "x": 2, "y": 3 },
{ "label": "k33", "matrix": [3, 3], "w": 1, "x": 3, "y": 3 },
{ "label": "k34", "matrix": [3, 4], "w": 1, "x": 4, "y": 3 },
{ "label": "k35", "matrix": [3, 5], "w": 1, "x": 5, "y": 3 },
{ "label": "k36", "matrix": [3, 6], "w": 1, "x": 6, "y": 3 },
{ "label": "k37", "matrix": [3, 7], "w": 1, "x": 7, "y": 3 },
{ "label": "k38", "matrix": [3, 8], "w": 1, "x": 8, "y": 3 },
{ "label": "k39", "matrix": [3, 9], "w": 1, "x": 9, "y": 3 },
{ "label": "k3a", "matrix": [3, 10], "w": 1, "x": 10, "y": 3 },
{ "label": "k3b", "matrix": [3, 11], "w": 1, "x": 11, "y": 3 }
]
},
"LAYOUT_planck_1x2uC": {
"c_macro": true,
"filename": "keyboards/planck/thk/thk.h",
"key_count": 47,
"layout": [
{ "label": "k00", "matrix": [0, 0], "w": 1, "x": 0, "y": 0 },
{ "label": "k01", "matrix": [0, 1], "w": 1, "x": 1, "y": 0 },
{ "label": "k02", "matrix": [0, 2], "w": 1, "x": 2, "y": 0 },
{ "label": "k03", "matrix": [0, 3], "w": 1, "x": 3, "y": 0 },
{ "label": "k04", "matrix": [0, 4], "w": 1, "x": 4, "y": 0 },
{ "label": "k05", "matrix": [0, 5], "w": 1, "x": 5, "y": 0 },
{ "label": "k06", "matrix": [0, 6], "w": 1, "x": 6, "y": 0 },
{ "label": "k07", "matrix": [0, 7], "w": 1, "x": 7, "y": 0 },
{ "label": "k08", "matrix": [0, 8], "w": 1, "x": 8, "y": 0 },
{ "label": "k09", "matrix": [0, 9], "w": 1, "x": 9, "y": 0 },
{ "label": "k0a", "matrix": [0, 10], "w": 1, "x": 10, "y": 0 },
{ "label": "k0b", "matrix": [0, 11], "w": 1, "x": 11, "y": 0 },
{ "label": "k10", "matrix": [1, 0], "w": 1, "x": 0, "y": 1 },
{ "label": "k11", "matrix": [1, 1], "w": 1, "x": 1, "y": 1 },
{ "label": "k12", "matrix": [1, 2], "w": 1, "x": 2, "y": 1 },
{ "label": "k13", "matrix": [1, 3], "w": 1, "x": 3, "y": 1 },
{ "label": "k14", "matrix": [1, 4], "w": 1, "x": 4, "y": 1 },
{ "label": "k15", "matrix": [1, 5], "w": 1, "x": 5, "y": 1 },
{ "label": "k16", "matrix": [1, 6], "w": 1, "x": 6, "y": 1 },
{ "label": "k17", "matrix": [1, 7], "w": 1, "x": 7, "y": 1 },
{ "label": "k18", "matrix": [1, 8], "w": 1, "x": 8, "y": 1 },
{ "label": "k19", "matrix": [1, 9], "w": 1, "x": 9, "y": 1 },
{ "label": "k1a", "matrix": [1, 10], "w": 1, "x": 10, "y": 1 },
{ "label": "k1b", "matrix": [1, 11], "w": 1, "x": 11, "y": 1 },
{ "label": "k20", "matrix": [2, 0], "w": 1, "x": 0, "y": 2 },
{ "label": "k21", "matrix": [2, 1], "w": 1, "x": 1, "y": 2 },
{ "label": "k22", "matrix": [2, 2], "w": 1, "x": 2, "y": 2 },
{ "label": "k23", "matrix": [2, 3], "w": 1, "x": 3, "y": 2 },
{ "label": "k24", "matrix": [2, 4], "w": 1, "x": 4, "y": 2 },
{ "label": "k25", "matrix": [2, 5], "w": 1, "x": 5, "y": 2 },
{ "label": "k26", "matrix": [2, 6], "w": 1, "x": 6, "y": 2 },
{ "label": "k27", "matrix": [2, 7], "w": 1, "x": 7, "y": 2 },
{ "label": "k28", "matrix": [2, 8], "w": 1, "x": 8, "y": 2 },
{ "label": "k29", "matrix": [2, 9], "w": 1, "x": 9, "y": 2 },
{ "label": "k2a", "matrix": [2, 10], "w": 1, "x": 10, "y": 2 },
{ "label": "k2b", "matrix": [2, 11], "w": 1, "x": 11, "y": 2 },
{ "label": "k30", "matrix": [3, 0], "w": 1, "x": 0, "y": 3 },
{ "label": "k31", "matrix": [3, 1], "w": 1, "x": 1, "y": 3 },
{ "label": "k32", "matrix": [3, 2], "w": 1, "x": 2, "y": 3 },
{ "label": "k33", "matrix": [3, 3], "w": 1, "x": 3, "y": 3 },
{ "label": "k34", "matrix": [3, 4], "w": 1, "x": 4, "y": 3 },
{ "label": "k35", "matrix": [3, 6], "w": 2, "x": 5, "y": 3 },
{ "label": "k37", "matrix": [3, 7], "w": 1, "x": 7, "y": 3 },
{ "label": "k38", "matrix": [3, 8], "w": 1, "x": 8, "y": 3 },
{ "label": "k39", "matrix": [3, 9], "w": 1, "x": 9, "y": 3 },
{ "label": "k3a", "matrix": [3, 10], "w": 1, "x": 10, "y": 3 },
{ "label": "k3b", "matrix": [3, 11], "w": 1, "x": 11, "y": 3 }
]
}
}
}
Loading

0 comments on commit 8ba537f

Please sign in to comment.