aboutsummaryrefslogtreecommitdiff
path: root/keyboards/gon
diff options
context:
space:
mode:
authorJames Young <xxiinophobia@yahoo.com>2020-02-29 12:00:00 -0800
committerJames Young <xxiinophobia@yahoo.com>2020-02-29 11:59:30 -0800
commit26eef35f07698d23aafae90e1c230b52e100a334 (patch)
treeeb8e43fc58ca55788e6e89430af0db55ea79e324 /keyboards/gon
parent85041ff05bf0e5f4ff4535caf6e638491a5614c8 (diff)
downloadqmk_firmware-26eef35f07698d23aafae90e1c230b52e100a334.tar.gz
qmk_firmware-26eef35f07698d23aafae90e1c230b52e100a334.zip
2020 February 29 Breaking Changes Update (#8064)
Diffstat (limited to 'keyboards/gon')
-rw-r--r--keyboards/gon/nerd60/config.h35
-rw-r--r--keyboards/gon/nerd60/info.json78
-rw-r--r--keyboards/gon/nerd60/keymaps/default/keymap.c20
-rw-r--r--keyboards/gon/nerd60/keymaps/default/readme.md3
-rw-r--r--keyboards/gon/nerd60/keymaps/mauin/keymap.c108
-rw-r--r--keyboards/gon/nerd60/keymaps/mauin/readme.md5
-rw-r--r--keyboards/gon/nerd60/keymaps/mauin/rules.mk20
-rw-r--r--keyboards/gon/nerd60/nerd60.c1
-rw-r--r--keyboards/gon/nerd60/nerd60.h22
-rw-r--r--keyboards/gon/nerd60/readme.md27
-rw-r--r--keyboards/gon/nerd60/rules.mk36
-rw-r--r--keyboards/gon/nerdtkl/config.h35
-rw-r--r--keyboards/gon/nerdtkl/info.json104
-rw-r--r--keyboards/gon/nerdtkl/keymaps/default/keymap.c24
-rw-r--r--keyboards/gon/nerdtkl/keymaps/default/readme.md3
-rw-r--r--keyboards/gon/nerdtkl/keymaps/gam3cat/config.h10
-rw-r--r--keyboards/gon/nerdtkl/keymaps/gam3cat/keymap.c269
-rw-r--r--keyboards/gon/nerdtkl/keymaps/gam3cat/readme.md114
-rw-r--r--keyboards/gon/nerdtkl/keymaps/gam3cat/rules.mk26
-rw-r--r--keyboards/gon/nerdtkl/nerdtkl.c1
-rw-r--r--keyboards/gon/nerdtkl/nerdtkl.h24
-rw-r--r--keyboards/gon/nerdtkl/readme.md27
-rw-r--r--keyboards/gon/nerdtkl/rules.mk36
-rw-r--r--keyboards/gon/readme.md9
24 files changed, 1037 insertions, 0 deletions
diff --git a/keyboards/gon/nerd60/config.h b/keyboards/gon/nerd60/config.h
new file mode 100644
index 000000000..090b50cb6
--- /dev/null
+++ b/keyboards/gon/nerd60/config.h
@@ -0,0 +1,35 @@
1#pragma once
2
3#include "config_common.h"
4
5/* USB Device descriptor parameter */
6#define VENDOR_ID 0xFEED
7#define PRODUCT_ID 0x6FD7
8#define DEVICE_VER 0x0001
9#define MANUFACTURER GON
10#define PRODUCT NerD 60
11#define DESCRIPTION QMK port for the GON NerD 60 PCB
12
13/* key matrix size */
14#define MATRIX_ROWS 10
15#define MATRIX_COLS 8
16
17/* backlight */
18#define BACKLIGHT_PIN B7
19#define BACKLIGHT_LEVELS 3
20
21/* matrix pins */
22#define MATRIX_ROW_PINS { B4, E2, F4, F7, F1, F6, C6, F5, D7, C7 }
23#define MATRIX_COL_PINS { E6, B0, B1, B2, B3, F0, D0, D5 }
24#define UNUSED_PINS
25
26/* COL2ROW or ROW2COL */
27#define DIODE_DIRECTION COL2ROW
28
29/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
30#define DEBOUNCE 5
31
32/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
33#define LOCKING_SUPPORT_ENABLE
34/* Locking resynchronize hack */
35#define LOCKING_RESYNC_ENABLE
diff --git a/keyboards/gon/nerd60/info.json b/keyboards/gon/nerd60/info.json
new file mode 100644
index 000000000..85e0fe9d5
--- /dev/null
+++ b/keyboards/gon/nerd60/info.json
@@ -0,0 +1,78 @@
1{
2 "keyboard_name": "GON NerD 60",
3 "url": "",
4 "maintainer": "qmk",
5 "width": 15,
6 "height": 5,
7 "layouts": {
8 "LAYOUT_60": {
9 "key_count": 64,
10 "layout": [
11 {"label":"K80", "x":0, "y":0},
12 {"label":"K10", "x":1, "y":0},
13 {"label":"K01", "x":2, "y":0},
14 {"label":"K11", "x":3, "y":0},
15 {"label":"K02", "x":4, "y":0},
16 {"label":"K12", "x":5, "y":0},
17 {"label":"K03", "x":6, "y":0},
18 {"label":"K13", "x":7, "y":0},
19 {"label":"K04", "x":8, "y":0},
20 {"label":"K14", "x":9, "y":0},
21 {"label":"K05", "x":10, "y":0},
22 {"label":"K15", "x":11, "y":0},
23 {"label":"K06", "x":12, "y":0},
24 {"label":"K16", "x":13, "y":0, "w":2},
25 {"label":"K20", "x":0, "y":1, "w":1.5},
26 {"label":"K30", "x":1.5, "y":1},
27 {"label":"K21", "x":2.5, "y":1},
28 {"label":"K31", "x":3.5, "y":1},
29 {"label":"K22", "x":4.5, "y":1},
30 {"label":"K32", "x":5.5, "y":1},
31 {"label":"K23", "x":6.5, "y":1},
32 {"label":"K33", "x":7.5, "y":1},
33 {"label":"K24", "x":8.5, "y":1},
34 {"label":"K34", "x":9.5, "y":1},
35 {"label":"K25", "x":10.5, "y":1},
36 {"label":"K35", "x":11.5, "y":1},
37 {"label":"K26", "x":12.5, "y":1},
38 {"label":"K36", "x":13.5, "y":1, "w":1.5},
39 {"label":"K40", "x":0, "y":2, "w":1.75},
40 {"label":"K41", "x":1.75, "y":2},
41 {"label":"K51", "x":2.75, "y":2},
42 {"label":"K42", "x":3.75, "y":2},
43 {"label":"K52", "x":4.75, "y":2},
44 {"label":"K43", "x":5.75, "y":2},
45 {"label":"K53", "x":6.75, "y":2},
46 {"label":"K44", "x":7.75, "y":2},
47 {"label":"K54", "x":8.75, "y":2},
48 {"label":"K45", "x":9.75, "y":2},
49 {"label":"K55", "x":10.75, "y":2},
50 {"label":"K46", "x":11.75, "y":2},
51 {"label":"K17", "x":12.75, "y":2},
52 {"label":"K56", "x":13.75, "y":2, "w":1.25},
53 {"label":"K70", "x":0, "y":3, "w":1.25},
54 {"label":"K97", "x":1.25, "y":3},
55 {"label":"K61", "x":2.25, "y":3},
56 {"label":"K71", "x":3.25, "y":3},
57 {"label":"K62", "x":4.25, "y":3},
58 {"label":"K72", "x":5.25, "y":3},
59 {"label":"K63", "x":6.25, "y":3},
60 {"label":"K73", "x":7.25, "y":3},
61 {"label":"K64", "x":8.25, "y":3},
62 {"label":"K74", "x":9.25, "y":3},
63 {"label":"K65", "x":10.25, "y":3},
64 {"label":"K75", "x":11.25, "y":3},
65 {"label":"K66", "x":12.25, "y":3, "w":1.75},
66 {"label":"K76", "x":14, "y":3},
67 {"label":"K60", "x":0, "y":4, "w":1.25},
68 {"label":"K50", "x":1.25, "y":4, "w":1.25},
69 {"label":"K87", "x":2.5, "y":4, "w":1.25},
70 {"label":"K07", "x":3.75, "y":4, "w":6.25},
71 {"label":"K27", "x":10, "y":4, "w":1.25},
72 {"label":"K37", "x":11.25, "y":4, "w":1.25},
73 {"label":"K47", "x":12.5, "y":4, "w":1.25},
74 {"label":"K57", "x":13.75, "y":4, "w":1.25}
75 ]
76 }
77 }
78}
diff --git a/keyboards/gon/nerd60/keymaps/default/keymap.c b/keyboards/gon/nerd60/keymaps/default/keymap.c
new file mode 100644
index 000000000..d205e06de
--- /dev/null
+++ b/keyboards/gon/nerd60/keymaps/default/keymap.c
@@ -0,0 +1,20 @@
1#include QMK_KEYBOARD_H
2
3// Keymap layers
4const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
5 [0] = LAYOUT_60( /* Base */
6 KC_ESC, 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,
7 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,
8 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_NUHS, KC_ENT,
9 KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1),
10 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(1), KC_RCTL
11 ),
12
13 [1] = LAYOUT_60( /* System layer to have access to RESET button */
14 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,
15 _______, _______, _______, _______, _______, _______, _______, KC_PGUP, KC_UP, KC_PGDN, KC_PSCR, KC_SLCK, KC_PAUS, _______,
16 _______, _______, _______, _______, _______, _______, KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, KC_INS, KC_DEL, _______, _______,
17 _______, _______, KC_APP, _______, _______, _______, _______, KC_END, _______, _______, _______, _______, _______, _______,
18 RESET, _______, _______, _______, _______, _______, _______, _______
19 ),
20};
diff --git a/keyboards/gon/nerd60/keymaps/default/readme.md b/keyboards/gon/nerd60/keymaps/default/readme.md
new file mode 100644
index 000000000..b7d46191e
--- /dev/null
+++ b/keyboards/gon/nerd60/keymaps/default/readme.md
@@ -0,0 +1,3 @@
1# The default keymap for GON NerD 60
2
3![keymap](https://raw.githubusercontent.com/noroadsleft/qmk_images/master/keyboards/gon/nerd60/keymaps/default/keymap.png)
diff --git a/keyboards/gon/nerd60/keymaps/mauin/keymap.c b/keyboards/gon/nerd60/keymaps/mauin/keymap.c
new file mode 100644
index 000000000..fc553bcf1
--- /dev/null
+++ b/keyboards/gon/nerd60/keymaps/mauin/keymap.c
@@ -0,0 +1,108 @@
1#include QMK_KEYBOARD_H
2
3// Keymap layers
4#define BASE_LAYER 0
5#define FUNCTION_LAYER 1
6#define SYSTEM_LAYER 2
7
8// Key aliases
9#define __x__ KC_NO
10
11const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
12 /* Layer 0: Default Layer
13 * ,-----------------------------------------------------------.
14 * |Esc| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| = | BSp |
15 * |-----------------------------------------------------------|
16 * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \|
17 * |-----------------------------------------------------------|
18 * |Funct | A| S| D| F| G| H| J| K| L| ;| '|Enter |
19 * |-----------------------------------------------------------|
20 * |Shift | Z| X| C| V| B| N| M| ,| .| /| Shift |
21 * |-----------------------------------------------------------'
22 * | Ctl|Alt|Gui | Space |Gui |Alt| F2| Ctl |
23 * `-----------------------------------------------------------'
24 */
25 [BASE_LAYER] = LAYOUT_60(
26 F(0), 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, \
27 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, \
28 MO(1), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, __x__, KC_ENT, \
29 KC_LSFT, __x__, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, __x__, \
30 KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT, MO(2), KC_RCTL \
31 ),
32
33 /* Layer 1: Function Layer
34 * ,-----------------------------------------------------------.
35 * | | F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11| F12| Del |
36 * |-----------------------------------------------------------|
37 * | |Prv|Ply|Nxt| | |Pg^|Hme|Up |End| |Br-|Br+| |
38 * |-----------------------------------------------------------|
39 * |Hold |Mte|Vl-|Vl+| | |Pgv|Lft|Dwn|Rgt| | | |
40 * |-----------------------------------------------------------|
41 * | | | | | | | | | | | | |
42 * |-----------------------------------------------------------'
43 * | | | | | | | | |
44 * `-----------------------------------------------------------'
45 */
46 [FUNCTION_LAYER] = LAYOUT_60(
47 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, \
48 __x__, KC_MPRV, KC_MPLY, KC_MNXT, __x__, __x__, KC_PGUP, KC_HOME, KC_UP, KC_END, __x__, KC_SLCK, KC_PAUS, __x__, \
49 KC_TRNS, KC_MUTE, KC_VOLD, KC_VOLU, __x__, __x__, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, __x__, __x__, __x__, __x__, \
50 KC_LSFT, __x__, __x__, __x__, __x__, __x__, __x__, __x__, __x__, __x__, __x__, __x__, __x__, __x__, \
51 KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, __x__, __x__, __x__, __x__ \
52 ),
53
54 /* Layer 2: System Layer
55 * ,-----------------------------------------------------------.
56 * |Reset| | | | | | | | | | | | | |
57 * |-----------------------------------------------------------|
58 * | | | | | | | | | | | | | | |
59 * |-----------------------------------------------------------|
60 * | | | | | | | | | | | | | |
61 * |-----------------------------------------------------------|
62 * | | | | | | | | | | | | |
63 * |-----------------------------------------------------------'
64 * | | | | | | | | |
65 * `-----------------------------------------------------------'
66 */
67 [SYSTEM_LAYER] = LAYOUT_60(
68 RESET, __x__, __x__, __x__, __x__, __x__, __x__, __x__, __x__, __x__, __x__, __x__, __x__, __x__, \
69 __x__, __x__, __x__, __x__, __x__, __x__, __x__, __x__, __x__, __x__, __x__, __x__, __x__, __x__, \
70 __x__, __x__, __x__, __x__, __x__, __x__, __x__, __x__, __x__, __x__, __x__, __x__, __x__, __x__, \
71 __x__, __x__, __x__, __x__, __x__, __x__, __x__, __x__, __x__, __x__, __x__, __x__, __x__, __x__, \
72 __x__, __x__, __x__, __x__, __x__, __x__, KC_TRNS, __x__ \
73 ),
74};
75
76enum function_id {
77 ESC_GRV, // Makes Esc behave like `~ when pressed with the left GUI modifier. This is the "switch between windows of the same application" key combination in macOS
78};
79
80const uint16_t PROGMEM fn_actions[] = {
81 [0] = ACTION_FUNCTION(ESC_GRV),
82};
83
84void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) {
85 static uint8_t esc_grv_mask;
86 switch (id) {
87 case ESC_GRV:
88 esc_grv_mask = get_mods() & MOD_BIT(KC_LGUI);
89 if (record->event.pressed) {
90 if (esc_grv_mask) {
91 add_key(KC_GRV);
92 send_keyboard_report();
93 } else {
94 add_key(KC_ESC);
95 send_keyboard_report();
96 }
97 } else {
98 if (esc_grv_mask) {
99 del_key(KC_GRV);
100 send_keyboard_report();
101 } else {
102 del_key(KC_ESC);
103 send_keyboard_report();
104 }
105 }
106 break;
107 }
108}
diff --git a/keyboards/gon/nerd60/keymaps/mauin/readme.md b/keyboards/gon/nerd60/keymaps/mauin/readme.md
new file mode 100644
index 000000000..63be7c392
--- /dev/null
+++ b/keyboards/gon/nerd60/keymaps/mauin/readme.md
@@ -0,0 +1,5 @@
1# Mauin's keymap for the GON NerD
2
3This layout is based on a Pok3r style layout with a standard base layer.
4
5Function layers provide access to navigation and media keys.
diff --git a/keyboards/gon/nerd60/keymaps/mauin/rules.mk b/keyboards/gon/nerd60/keymaps/mauin/rules.mk
new file mode 100644
index 000000000..625fc9c02
--- /dev/null
+++ b/keyboards/gon/nerd60/keymaps/mauin/rules.mk
@@ -0,0 +1,20 @@
1# Build Options
2# change yes to no to disable
3#
4BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration
5MOUSEKEY_ENABLE = yes # Mouse keys
6EXTRAKEY_ENABLE = yes # Audio control and System control
7CONSOLE_ENABLE = no # Console for debug
8COMMAND_ENABLE = yes # Commands for debug and configuration
9# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
10SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
11# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
12NKRO_ENABLE = yes # USB Nkey Rollover
13BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
14RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
15MIDI_ENABLE = no # MIDI support
16UNICODE_ENABLE = no # Unicode
17BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
18AUDIO_ENABLE = no # Audio output on port C6
19FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches
20HD44780_ENABLE = no # Enable support for HD44780 based LCDs
diff --git a/keyboards/gon/nerd60/nerd60.c b/keyboards/gon/nerd60/nerd60.c
new file mode 100644
index 000000000..5022732b8
--- /dev/null
+++ b/keyboards/gon/nerd60/nerd60.c
@@ -0,0 +1 @@
#include "nerd60.h"
diff --git a/keyboards/gon/nerd60/nerd60.h b/keyboards/gon/nerd60/nerd60.h
new file mode 100644
index 000000000..3f8f538e2
--- /dev/null
+++ b/keyboards/gon/nerd60/nerd60.h
@@ -0,0 +1,22 @@
1#pragma once
2
3#include "quantum.h"
4
5#define LAYOUT_60( \
6 K80, K10, K01, K11, K02, K12, K03, K13, K04, K14, K05, K15, K06, K16, \
7 K20, K30, K21, K31, K22, K32, K23, K33, K24, K34, K25, K35, K26, K36, \
8 K40, K41, K51, K42, K52, K43, K53, K44, K54, K45, K55, K46, K17, K56, \
9 K70, K97, K61, K71, K62, K72, K63, K73, K64, K74, K65, K75, K66, K76, \
10 K60, K50, K87, K07, K27, K37, K47, K57 \
11) { \
12 { KC_NO, K01, K02, K03, K04, K05, K06, K07 }, \
13 { K10, K11, K12, K13, K14, K15, K16, K17 }, \
14 { K20, K21, K22, K23, K24, K25, K26, K27 }, \
15 { K30, K31, K32, K33, K34, K35, K36, K37 }, \
16 { K40, K41, K42, K43, K44, K45, K46, K47 }, \
17 { K50, K51, K52, K53, K54, K55, K56, K57 }, \
18 { K60, K61, K62, K63, K64, K65, K66, KC_NO }, \
19 { K70, K71, K72, K73, K74, K75, K76, KC_NO }, \
20 { K80, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, K87 }, \
21 { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, K97 } \
22}
diff --git a/keyboards/gon/nerd60/readme.md b/keyboards/gon/nerd60/readme.md
new file mode 100644
index 000000000..1b4689ea0
--- /dev/null
+++ b/keyboards/gon/nerd60/readme.md
@@ -0,0 +1,27 @@
1# GON NerD 60
2
3A Korean Custom 60%.
4
5* Keyboard Maintainer: QMK Community
6* Hardware Supported: GON NerD 60 PCB
7* Hardware Availability: [gonskeyboardworks.com](http://www.gonskeyboardworks.com/pcbs-and-controllers/113-nerd-60-ver20-pcb.html)
8
9Make example for this keyboard (after setting up your build environment):
10
11 make gon/nerd60: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).
14
15## Changing Bootloader
16
17It's not possible to simply flash this firmware on the GON NerD keyboard as the original bootloader does not support DFU connections.
18
19It is possible to change the bootloader of the GON NerD with an ISP programmer. A guide on how to change the bootloader on your GON NerD can be found here:
20[Converting NerD60 to TMK](https://deskthority.net/wiki/Converting_NerD60_to_TMK). After changing the bootloader you can flash your QMK keymap onto the keyboard.
21
22_After changing the bootloader on your GON NerD PCB you will not be able to go back to the original firmware and the official configuration software will
23not work anymore. You will lose your warranty and official support from GON!_
24
25## Reset button
26
27To run the `make dfu` command to flash keymaps onto the board, you need to put the board into DFU mode. As the GON NerD PCBs do not have a reset button on the board to put it into DFU mode, be sure to include a `RESET` button on your keymap. Otherwise you'll have to unscrew your keyboard from the case and short the GND and RST pins.
diff --git a/keyboards/gon/nerd60/rules.mk b/keyboards/gon/nerd60/rules.mk
new file mode 100644
index 000000000..8446dd39c
--- /dev/null
+++ b/keyboards/gon/nerd60/rules.mk
@@ -0,0 +1,36 @@
1# MCU name
2MCU = atmega32u4
3
4# Processor frequency
5F_CPU = 8000000
6
7# Bootloader selection
8# Teensy halfkay
9# Pro Micro caterina
10# Atmel DFU atmel-dfu
11# LUFA DFU lufa-dfu
12# QMK DFU qmk-dfu
13# ATmega32A bootloadHID
14# ATmega328P USBasp
15BOOTLOADER = atmel-dfu
16
17# Build Options
18# change yes to no to disable
19#
20BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration
21MOUSEKEY_ENABLE = yes # Mouse keys
22EXTRAKEY_ENABLE = yes # Audio control and System control
23CONSOLE_ENABLE = no # Console for debug
24COMMAND_ENABLE = yes # Commands for debug and configuration
25# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
26SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
27# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
28NKRO_ENABLE = yes # USB Nkey Rollover
29BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
30RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
31MIDI_ENABLE = no # MIDI support
32UNICODE_ENABLE = no # Unicode
33BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
34AUDIO_ENABLE = no # Audio output on port C6
35FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches
36HD44780_ENABLE = no # Enable support for HD44780 based LCDs
diff --git a/keyboards/gon/nerdtkl/config.h b/keyboards/gon/nerdtkl/config.h
new file mode 100644
index 000000000..48f6c93c9
--- /dev/null
+++ b/keyboards/gon/nerdtkl/config.h
@@ -0,0 +1,35 @@
1#pragma once
2
3#include "config_common.h"
4
5/* USB Device descriptor parameter */
6#define VENDOR_ID 0xFEED
7#define PRODUCT_ID 0x6965
8#define DEVICE_VER 0x0001
9#define MANUFACTURER GON
10#define PRODUCT NerD TKL
11#define DESCRIPTION QMK port for the GON NerD TKL PCB
12
13/* key matrix size */
14#define MATRIX_ROWS 10
15#define MATRIX_COLS 9
16
17/* backlight */
18#define BACKLIGHT_PIN B7
19#define BACKLIGHT_LEVELS 3
20
21/* matrix pins */
22#define MATRIX_ROW_PINS { B4, E2, F4, F7, F1, F6, C6, F5, D7, C7 }
23#define MATRIX_COL_PINS { E6, B0, B1, B2, B3, F0, D0, D5, D1 }
24#define UNUSED_PINS
25
26/* COL2ROW or ROW2COL */
27#define DIODE_DIRECTION COL2ROW
28
29/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
30#define DEBOUNCE 5
31
32/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
33#define LOCKING_SUPPORT_ENABLE
34/* Locking resynchronize hack */
35#define LOCKING_RESYNC_ENABLE
diff --git a/keyboards/gon/nerdtkl/info.json b/keyboards/gon/nerdtkl/info.json
new file mode 100644
index 000000000..475632ebf
--- /dev/null
+++ b/keyboards/gon/nerdtkl/info.json
@@ -0,0 +1,104 @@
1{
2 "keyboard_name": "GON NerD TKL",
3 "url": "",
4 "maintainer": "qmk",
5 "width": 18.25,
6 "height": 6.25,
7 "layouts": {
8 "LAYOUT_tkl": {
9 "key_count": 90,
10 "layout": [
11 {"label":"K80", "x":0, "y":0},
12 {"label":"K90", "x":2, "y":0},
13 {"label":"K81", "x":3, "y":0},
14 {"label":"K91", "x":4, "y":0},
15 {"label":"K82", "x":5, "y":0},
16 {"label":"K92", "x":6.5, "y":0},
17 {"label":"K83", "x":7.5, "y":0},
18 {"label":"K93", "x":8.5, "y":0},
19 {"label":"K84", "x":9.5, "y":0},
20 {"label":"K94", "x":11, "y":0},
21 {"label":"K85", "x":12, "y":0},
22 {"label":"K95", "x":13, "y":0},
23 {"label":"K86", "x":14, "y":0},
24 {"label":"K96", "x":15.25, "y":0},
25 {"label":"K88", "x":16.25, "y":0},
26 {"label":"K98", "x":17.25, "y":0},
27 {"label":"K00", "x":0, "y":1.25},
28 {"label":"K10", "x":1, "y":1.25},
29 {"label":"K01", "x":2, "y":1.25},
30 {"label":"K11", "x":3, "y":1.25},
31 {"label":"K02", "x":4, "y":1.25},
32 {"label":"K12", "x":5, "y":1.25},
33 {"label":"K03", "x":6, "y":1.25},
34 {"label":"K13", "x":7, "y":1.25},
35 {"label":"K04", "x":8, "y":1.25},
36 {"label":"K14", "x":9, "y":1.25},
37 {"label":"K05", "x":10, "y":1.25},
38 {"label":"K15", "x":11, "y":1.25},
39 {"label":"K06", "x":12, "y":1.25},
40 {"label":"K16", "x":13, "y":1.25, "w":2},
41 {"label":"K08", "x":15.25, "y":1.25},
42 {"label":"K18", "x":16.25, "y":1.25},
43 {"label":"K48", "x":17.25, "y":1.25},
44 {"label":"K20", "x":0, "y":2.25, "w":1.5},
45 {"label":"K30", "x":1.5, "y":2.25},
46 {"label":"K21", "x":2.5, "y":2.25},
47 {"label":"K31", "x":3.5, "y":2.25},
48 {"label":"K22", "x":4.5, "y":2.25},
49 {"label":"K32", "x":5.5, "y":2.25},
50 {"label":"K23", "x":6.5, "y":2.25},
51 {"label":"K33", "x":7.5, "y":2.25},
52 {"label":"K24", "x":8.5, "y":2.25},
53 {"label":"K34", "x":9.5, "y":2.25},
54 {"label":"K25", "x":10.5, "y":2.25},
55 {"label":"K35", "x":11.5, "y":2.25},
56 {"label":"K26", "x":12.5, "y":2.25},
57 {"label":"K36", "x":13.5, "y":2.25, "w":1.5},
58 {"label":"K28", "x":15.25, "y":2.25},
59 {"label":"K38", "x":16.25, "y":2.25},
60 {"label":"K58", "x":17.25, "y":2.25},
61 {"label":"K40", "x":0, "y":3.25, "w":1.75},
62 {"label":"K41", "x":1.75, "y":3.25},
63 {"label":"K51", "x":2.75, "y":3.25},
64 {"label":"K42", "x":3.75, "y":3.25},
65 {"label":"K52", "x":4.75, "y":3.25},
66 {"label":"K43", "x":5.75, "y":3.25},
67 {"label":"K53", "x":6.75, "y":3.25},
68 {"label":"K44", "x":7.75, "y":3.25},
69 {"label":"K54", "x":8.75, "y":3.25},
70 {"label":"K45", "x":9.75, "y":3.25},
71 {"label":"K55", "x":10.75, "y":3.25},
72 {"label":"K46", "x":11.75, "y":3.25},
73 {"label":"K17", "x":12.75, "y":3.25},
74 {"label":"K56", "x":13.75, "y":3.25, "w":1.25},
75 {"label":"K70", "x":0, "y":4.25, "w":1.25},
76 {"label":"K97", "x":1.25, "y":4.25},
77 {"label":"K61", "x":2.25, "y":4.25},
78 {"label":"K71", "x":3.25, "y":4.25},
79 {"label":"K62", "x":4.25, "y":4.25},
80 {"label":"K72", "x":5.25, "y":4.25},
81 {"label":"K63", "x":6.25, "y":4.25},
82 {"label":"K73", "x":7.25, "y":4.25},
83 {"label":"K64", "x":8.25, "y":4.25},
84 {"label":"K74", "x":9.25, "y":4.25},
85 {"label":"K65", "x":10.25, "y":4.25},
86 {"label":"K75", "x":11.25, "y":4.25},
87 {"label":"K66", "x":12.25, "y":4.25, "w":1.75},
88 {"label":"K76", "x":14, "y":4.25},
89 {"label":"K68", "x":16.25, "y":4.25},
90 {"label":"K60", "x":0, "y":5.25, "w":1.25},
91 {"label":"K50", "x":1.25, "y":5.25, "w":1.25},
92 {"label":"K87", "x":2.5, "y":5.25, "w":1.25},
93 {"label":"K07", "x":3.75, "y":5.25, "w":6.25},
94 {"label":"K27", "x":10, "y":5.25, "w":1.25},
95 {"label":"K37", "x":11.25, "y":5.25, "w":1.25},
96 {"label":"K47", "x":12.5, "y":5.25, "w":1.25},
97 {"label":"K57", "x":13.75, "y":5.25, "w":1.25},
98 {"label":"K67", "x":15.25, "y":5.25},
99 {"label":"K77", "x":16.25, "y":5.25},
100 {"label":"K78", "x":17.25, "y":5.25}
101 ]
102 }
103 }
104}
diff --git a/keyboards/gon/nerdtkl/keymaps/default/keymap.c b/keyboards/gon/nerdtkl/keymaps/default/keymap.c
new file mode 100644
index 000000000..cca8e9108
--- /dev/null
+++ b/keyboards/gon/nerdtkl/keymaps/default/keymap.c
@@ -0,0 +1,24 @@
1#include QMK_KEYBOARD_H
2
3// Keymap layers
4const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
5
6 [0] = LAYOUT_tkl( \
7 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,
8 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,
9 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,
10 KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT,
11 KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), KC_UP,
12 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
13 ),
14
15 [1] = LAYOUT_tkl( \
16 RESET, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
17 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
18 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
19 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
20 XXXXXXX, XXXXXXX, KC_APP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX,
21 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
22 )
23
24};
diff --git a/keyboards/gon/nerdtkl/keymaps/default/readme.md b/keyboards/gon/nerdtkl/keymaps/default/readme.md
new file mode 100644
index 000000000..648157a05
--- /dev/null
+++ b/keyboards/gon/nerdtkl/keymaps/default/readme.md
@@ -0,0 +1,3 @@
1# The default keymap for GON NerD TKL
2
3![keymap](https://raw.githubusercontent.com/noroadsleft/qmk_images/master/keyboards/gon/nerdtkl/keymaps/default/keymap.png)
diff --git a/keyboards/gon/nerdtkl/keymaps/gam3cat/config.h b/keyboards/gon/nerdtkl/keymaps/gam3cat/config.h
new file mode 100644
index 000000000..334beb0ac
--- /dev/null
+++ b/keyboards/gon/nerdtkl/keymaps/gam3cat/config.h
@@ -0,0 +1,10 @@
1#pragma once
2
3//Force NKRO to be enabled.
4#define FORCE_NKRO
5
6//GRAVE_ESC override for CTRL+SHIFT+ESC Windows task manager shortcut.
7//#define GRAVE_ESC_CTRL_OVERRIDE
8
9//Delay matrix scan for tap dance, reduce to activate modifier keys faster.
10//#define TAPPING_TERM 200
diff --git a/keyboards/gon/nerdtkl/keymaps/gam3cat/keymap.c b/keyboards/gon/nerdtkl/keymaps/gam3cat/keymap.c
new file mode 100644
index 000000000..3142209d6
--- /dev/null
+++ b/keyboards/gon/nerdtkl/keymaps/gam3cat/keymap.c
@@ -0,0 +1,269 @@
1#include QMK_KEYBOARD_H
2#include "version.h"
3
4enum layers {
5 _BL = 0, // Base Layer
6 _WL, // Workman Layer
7 _NL, // Norman Layer
8 _DL, // Dvorak Layer
9 _CL, // Base Layer
10 _FL, // Function Layer
11 _AL, // Adjust Layer
12};
13
14enum custom_keycodes {
15 QMK_REV = SAFE_RANGE,
16 KC_WEB,
17 KC_SP4,
18 DYNAMIC_MACRO_RANGE
19};
20
21extern backlight_config_t backlight_config;
22
23#include "dynamic_macro.h"
24#define FN_CAPS LT(_FL, KC_CAPS)
25#define KC_DMR1 DYN_REC_START1
26#define KC_DMR2 DYN_REC_START2
27#define KC_DMP1 DYN_MACRO_PLAY1
28#define KC_DMP2 DYN_MACRO_PLAY2
29#define KC_DMRS DYN_REC_STOP
30
31const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
32 /*#### _BL: Base Layer - Standard TKL QWERTY layout.
33 * .-----------------------------------------------------------------------.
34 * |Esc|||||F1 |F2 |F3 |F4 |||F5 |F6 |F7 |F8 |||F9 |F10|F11|F12|PSc|SLk|Pau|
35 * |-----------------------------------------------------------|-----------|
36 * |~ |1 |2 |3 |4 |5 |6 |7 |8 |9 |0 |- |= |Backsp |Ins|Hom|PgU|
37 * |-----------------------------------------------------------|-----------|
38 * |Tab |Q |W |E |R |T |Y |U |I |O |P |[ |] |\ |Del|End|PgD|
39 * |-----------------------------------------------------------|-----------|
40 * |Caps |A |S |D |F |G |H |J |K |L |; |' |Return | |
41 * |-----------------------------------------------------------|-----------|
42 * |Shift |Z |X |C |V |B |N |M |, |. |/ |Shift |Fn | | Up| |
43 * |-----------------------------------------------------------|-----------|
44 * |Ctrl |Win|Alt | Space |RAlt |Fn |Ctrl |Lft|Dwn|Rgt|
45 * *-----------------------------------------------------------------------*
46 */
47 [_BL] = LAYOUT_tkl( \
48 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, \
49 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, \
50 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, \
51 KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, XXXXXXX, KC_ENT, \
52 KC_LSFT, XXXXXXX, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(_FL), KC_UP, \
53 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RGUI, KC_RALT, MO(_FL), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT \
54 ),
55 /*#### _WL: Workman Layer.
56 * .-----------------------------------------------------------------------.
57 * | ||||| | | | ||| | | | ||| | | | | | | |
58 * .-----------------------------------------------------------|-----------|
59 * | | | | | | | | | | | |- |= | | | | |
60 * |-----------------------------------------------------------|-----------|
61 * | |Q |D |R |W |B |J |F |U |P |; |[ |] |\ | | | |
62 * |-----------------------------------------------------------|-----------|
63 * | |A |S |H |T |G |Y |N |E |O |I |' | | |
64 * |-----------------------------------------------------------|-----------|
65 * | |Z |X |M |C |V |K |L |, |. |/ | | | | | |
66 * |-----------------------------------------------------------|-----------|
67 * | | | | | | | | | | |
68 * *-----------------------------------------------------------------------*
69 */
70 [_WL] = LAYOUT_tkl( \
71 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
72 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
73 _______, KC_Q , KC_D , KC_R , KC_W , KC_B , KC_J , KC_F , KC_U , KC_P , KC_SCLN, _______, _______, _______, _______, _______, _______, \
74 _______, KC_A , KC_S , KC_H , KC_T , KC_G , KC_Y , KC_N , KC_E , KC_O , KC_I , _______, _______, _______, \
75 _______, _______, KC_Z , KC_X , KC_M , KC_C , KC_V , KC_K , KC_L , KC_COMM, KC_DOT , KC_SLSH, _______, _______, _______, \
76 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
77 ),
78 /*#### _NL: Norman Layer.
79 * .-----------------------------------------------------------------------.
80 * | ||||| | | | ||| | | | ||| | | | | | | |
81 * .-----------------------------------------------------------|-----------|
82 * | | | | | | | | | | | |- |= | | | | |
83 * |-----------------------------------------------------------|-----------|
84 * | |Q |W |D |F |K |J |U |R |L |; |[ |] |\ | | | |
85 * |-----------------------------------------------------------|-----------|
86 * | |A |S |E |T |G |Y |N |I |O |H |' | | |
87 * |-----------------------------------------------------------|-----------|
88 * | |Z |X |C |V |B |P |M |, |. |/ | | | | | |
89 * |-----------------------------------------------------------|-----------|
90 * | | | | | | | | | | |
91 * *-----------------------------------------------------------------------*
92 */
93 [_NL] = LAYOUT_tkl( \
94 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
95 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
96 _______, KC_Q , KC_W , KC_D , KC_F , KC_K , KC_J , KC_U , KC_R , KC_L , KC_SCLN, _______, _______, _______, _______, _______, _______, \
97 _______, KC_A , KC_S , KC_E , KC_T , KC_G , KC_Y , KC_N , KC_I , KC_O , KC_H , _______, _______, _______, \
98 _______, _______, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_P , KC_M , KC_COMM, KC_DOT , KC_SLSH, _______, _______, _______, \
99 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
100 ),
101 /*#### _DL: Dvorak Layer.
102 * .-----------------------------------------------------------------------.
103 * | ||||| | | | ||| | | | ||| | | | | | | |
104 * .-----------------------------------------------------------|-----------|
105 * | | | | | | | | | | | |[ |] | | | | |
106 * |-----------------------------------------------------------|-----------|
107 * | |' |, |. |P |Y |F |G |C |R |L |/ |= |\ | | | |
108 * |-----------------------------------------------------------|-----------|
109 * | |A |O |E |U |I |D |H |T |N |S |- | | |
110 * |-----------------------------------------------------------|-----------|
111 * | |; |Q |J |K |X |B |M |W |V |Z | | | | | |
112 * |-----------------------------------------------------------|-----------|
113 * | | | | | | | | | | |
114 * *-----------------------------------------------------------------------*
115 */
116 [_DL] = LAYOUT_tkl( \
117 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
118 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LBRC, KC_RBRC, _______, _______, _______, _______, \
119 _______, KC_QUOT, KC_COMM, KC_DOT , KC_P , KC_Y , KC_F , KC_G , KC_C , KC_R , KC_L , KC_SLSH, KC_EQL , _______, _______, _______, _______, \
120 _______, KC_A , KC_O , KC_E , KC_U , KC_I , KC_D , KC_H , KC_T , KC_N , KC_S , KC_MINS, _______, _______, \
121 _______, _______, KC_SCLN, KC_Q , KC_J , KC_K , KC_X , KC_B , KC_M , KC_W , KC_V , KC_Z , _______, _______, _______, \
122 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
123 ),
124 /*#### _CL: Colmak Layer.
125 * .-----------------------------------------------------------------------.
126 * | ||||| | | | ||| | | | ||| | | | | | | |
127 * .-----------------------------------------------------------|-----------|
128 * | | | | | | | | | | | |- |= | | | | |
129 * |-----------------------------------------------------------|-----------|
130 * | |Q |W |F |P |G |J |L |U |Y |; |[ |] |\ | | | |
131 * |-----------------------------------------------------------|-----------|
132 * | |A |R |S |T |D |H |N |E |I |O |' | | |
133 * |-----------------------------------------------------------|-----------|
134 * | |Z |X |C |V |B |K |M |, |. |/ | | | | | |
135 * |-----------------------------------------------------------|-----------|
136 * | | | | | | | | | | |
137 * *-----------------------------------------------------------------------*
138 */
139 [_CL] = LAYOUT_tkl( \
140 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
141 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
142 _______, KC_Q , KC_W , KC_F , KC_P , KC_G , KC_J , KC_L , KC_U , KC_Y , KC_SCLN, _______, _______, _______, _______, _______, _______, \
143 _______, KC_A , KC_R , KC_S , KC_T , KC_D , KC_H , KC_N , KC_E , KC_I , KC_O , _______, _______, _______, \
144 _______, _______, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_K , KC_M , KC_COMM, KC_DOT , KC_SLSH, _______, _______, _______, \
145 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
146 ),
147 /*#### _FL: Function Layer.
148 * .-----------------------------------------------------------------------.
149 * | ||||| | | | ||| | | | ||| |VlM|VlD|VlU| | | |
150 * .-----------------------------------------------------------|-----------|
151 * |Web| | | | | | | | | | | | | | | | |
152 * |-----------------------------------------------------------|-----------|
153 * |Fn_AL| | | | | | | | | | | | | | | | |
154 * |-----------------------------------------------------------|-----------|
155 * | | | | | | | |Lft|Dwn|Up |Rgt| | | |
156 * |-----------------------------------------------------------|-----------|
157 * | | | | | | | | | | | | |Fn | | | |
158 * |-----------------------------------------------------------|-----------|
159 * | | | | SP4 | |Fn | |WBk| |WFw|
160 * *-----------------------------------------------------------------------*
161 */
162 [_FL] = LAYOUT_tkl( \
163 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MUTE, KC_VOLD, KC_VOLU, XXXXXXX, XXXXXXX, XXXXXXX, \
164 KC_WEB, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
165 MO(_AL), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
166 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
167 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, \
168 XXXXXXX, XXXXXXX, KC_MENU, KC_SP4, XXXXXXX, _______, XXXXXXX, XXXXXXX, KC_WBAK, XXXXXXX, KC_WFWD \
169 ),
170 /*#### _AL: Adjust Layer - Keymap select, LED backlight, and Dynamic Macro settings.
171 * .-----------------------------------------------------------------------.
172 * |Rst||||| | | | ||| | | | ||| | | | | | | |
173 * .-----------------------------------------------------------|-----------|
174 * |Rev|Tog|Mod|H- |H+ |S- |S+ |V- |V+ | |BLT|BL-|BL+| | |MR1|MP1|
175 * |-----------------------------------------------------------|-----------|
176 * |Fn_AL|_BL|_WL| | | | | | | | | | | | MS|MR2|MP2|
177 * |-----------------------------------------------------------|-----------|
178 * | | | |_DL| | | | | | | | | | |
179 * |-----------------------------------------------------------|-----------|
180 * | | | |_CL| |_BL|_NL| | | | | |Fn | | | |
181 * |-----------------------------------------------------------|-----------|
182 * | | | | | |Fn | | | | |
183 * *-----------------------------------------------------------------------*
184 */
185 [_AL] = LAYOUT_tkl( \
186 RESET, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
187 QMK_REV, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, XXXXXXX, BL_TOGG, BL_DEC, BL_INC, XXXXXXX, XXXXXXX, KC_DMR1, KC_DMP1, \
188 _______, DF(_BL), DF(_WL), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_DMRS, KC_DMR2, KC_DMP2, \
189 XXXXXXX, XXXXXXX, XXXXXXX, DF(_DL), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
190 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, DF(_CL), XXXXXXX, DF(_BL), DF(_NL), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, \
191 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX \
192 ),
193};
194
195bool process_record_user(uint16_t keycode, keyrecord_t *record) {
196 switch (keycode) {
197 case QMK_REV:
198 if (record->event.pressed) {
199 SEND_STRING(QMK_KEYBOARD "/" QMK_KEYMAP "@" QMK_VERSION ":" QMK_BUILDDATE);
200 }
201 return false;
202 break;
203 case KC_WEB:
204 if (record->event.pressed) {
205 SEND_STRING(SS_LGUI("r"));
206 wait_ms(100);
207 SEND_STRING("chrome.exe\n");
208 }
209 return false;
210 break;
211 case KC_SP4:
212 if (record->event.pressed) {
213 SEND_STRING (" ");
214 }
215 return false;
216 break;
217 }
218 // Dynamic Macros.
219 if (!process_record_dynamic_macro(keycode, record)) {
220 return false;
221 }
222 return true;
223}
224
225void custom_backlight_level(uint8_t level) {
226 if (level > BACKLIGHT_LEVELS)
227 level = BACKLIGHT_LEVELS;
228 backlight_config.level = level;
229 backlight_config.enable = !!backlight_config.level;
230 backlight_set(backlight_config.level);
231}
232
233void matrix_init_user(void) {
234 #ifdef BACKLIGHT_ENABLE
235 custom_backlight_level(0);
236 #endif
237}
238
239void matrix_scan_user(void) {
240
241}
242
243uint32_t layer_state_set_user(uint32_t state) {
244 switch (biton32(state)) {
245 case _BL:
246 custom_backlight_level(0);
247 break;
248 case _WL:
249 case _NL:
250 case _DL:
251 case _CL:
252 custom_backlight_level(1);
253 break;
254 case _FL:
255 custom_backlight_level(2);
256 break;
257 case _AL:
258 custom_backlight_level(3);
259 break;
260 default:
261 custom_backlight_level(0);
262 break;
263 }
264 return state;
265}
266
267void led_set_user(uint8_t usb_led) {
268
269}
diff --git a/keyboards/gon/nerdtkl/keymaps/gam3cat/readme.md b/keyboards/gon/nerdtkl/keymaps/gam3cat/readme.md
new file mode 100644
index 000000000..8630ea296
--- /dev/null
+++ b/keyboards/gon/nerdtkl/keymaps/gam3cat/readme.md
@@ -0,0 +1,114 @@
1# Keymap Maintainer: Gam3cat
2make gonnerd:gam3cat
3## Layout Config:
42u backspace, 2.25u lshift/enter, [2.75u rshift] or [1.75u rshift, 1u Fn].
5[1.5u, 1u, 1.5u 1x7.0u, 1.5u, 1u, 1.5u, 3x1u] or [2x1.5u, 1x7.0u, 2x1.5u, 3x1u] bottom row.
6
7## Base Layer Selection:
8(Fn+TAB+( )): (Q)WERTY, (W)orkman, (N)orman, (D)vorak, (C)olmak
9
10### Base Layer Options:
11#### _BL: Base Layer - Standard TKL QWERTY layout.
12 .-----------------------------------------------------------------------.
13 |Esc|||||F1 |F2 |F3 |F4 |||F5 |F6 |F7 |F8 |||F9 |F10|F11|F12|PSc|SLk|Pau|
14 |-----------------------------------------------------------|-----------|
15 |~ |1 |2 |3 |4 |5 |6 |7 |8 |9 |0 |- |= |Backsp |Ins|Hom|PgU|
16 |-----------------------------------------------------------|-----------|
17 |Tab |Q |W |E |R |T |Y |U |I |O |P |[ |] |\ |Del|End|PgD|
18 |-----------------------------------------------------------|-----------|
19 |Caps |A |S |D |F |G |H |J |K |L |; |' |Return | |
20 |-----------------------------------------------------------|-----------|
21 |Shift |Z |X |C |V |B |N |M |, |. |/ |Shift |Fn | | Up| |
22 |-----------------------------------------------------------|-----------|
23 |Ctrl |Win|Alt | Space |RAlt |Fn |Ctrl |Lft|Dwn|Rgt|
24 *-----------------------------------------------------------------------*
25
26#### _WL: Workman Layer.
27 .-----------------------------------------------------------------------.
28 | ||||| | | | ||| | | | ||| | | | | | | |
29 .-----------------------------------------------------------|-----------|
30 | | | | | | | | | | | |- |= | | | | |
31 |-----------------------------------------------------------|-----------|
32 | |Q |D |R |W |B |J |F |U |P |; |[ |] |\ | | | |
33 |-----------------------------------------------------------|-----------|
34 | |A |S |H |T |G |Y |N |E |O |I |' | | |
35 |-----------------------------------------------------------|-----------|
36 | |Z |X |M |C |V |K |L |, |. |/ | | | | | |
37 |-----------------------------------------------------------|-----------|
38 | | | | | | | | | | |
39 *-----------------------------------------------------------------------*
40
41#### _NL: Norman Layer.
42 .-----------------------------------------------------------------------.
43 | ||||| | | | ||| | | | ||| | | | | | | |
44 .-----------------------------------------------------------|-----------|
45 | | | | | | | | | | | |- |= | | | | |
46 |-----------------------------------------------------------|-----------|
47 | |Q |W |D |F |K |J |U |R |L |; |[ |] |\ | | | |
48 |-----------------------------------------------------------|-----------|
49 | |A |S |E |T |G |Y |N |I |O |H |' | | |
50 |-----------------------------------------------------------|-----------|
51 | |Z |X |C |V |B |P |M |, |. |/ | | | | | |
52 |-----------------------------------------------------------|-----------|
53 | | | | | | | | | | |
54 *-----------------------------------------------------------------------*
55
56#### _DL: Dvorak Layer.
57 .-----------------------------------------------------------------------.
58 | ||||| | | | ||| | | | ||| | | | | | | |
59 .-----------------------------------------------------------|-----------|
60 | | | | | | | | | | | |[ |] | | | | |
61 |-----------------------------------------------------------|-----------|
62 | |' |, |. |P |Y |F |G |C |R |L |/ |= |\ | | | |
63 |-----------------------------------------------------------|-----------|
64 | |A |O |E |U |I |D |H |T |N |S |- | | |
65 |-----------------------------------------------------------|-----------|
66 | |; |Q |J |K |X |B |M |W |V |Z | | | | | |
67 |-----------------------------------------------------------|-----------|
68 | | | | | | | | | | |
69 *-----------------------------------------------------------------------*
70
71#### _CL: Colmak Layer.
72 .-----------------------------------------------------------------------.
73 | ||||| | | | ||| | | | ||| | | | | | | |
74 .-----------------------------------------------------------|-----------|
75 | | | | | | | | | | | |- |= | | | | |
76 |-----------------------------------------------------------|-----------|
77 | |Q |W |F |P |G |J |L |U |Y |; |[ |] |\ | | | |
78 |-----------------------------------------------------------|-----------|
79 | |A |R |S |T |D |H |N |E |I |O |' | | |
80 |-----------------------------------------------------------|-----------|
81 | |Z |X |C |V |B |K |M |, |. |/ | | | | | |
82 |-----------------------------------------------------------|-----------|
83 | | | | | | | | | | |
84 *-----------------------------------------------------------------------*
85
86#### _FL: Function Layer.
87 .-----------------------------------------------------------------------.
88 | ||||| | | | ||| | | | ||| |VlM|VlD|VlU| | | |
89 .-----------------------------------------------------------|-----------|
90 |Web| | | | | | | | | | | | | | | | |
91 |-----------------------------------------------------------|-----------|
92 |Fn_AL| | | | | | | | | | | | | | | | |
93 |-----------------------------------------------------------|-----------|
94 | | | | | | | |Lft|Dwn|Up |Rgt| | | |
95 |-----------------------------------------------------------|-----------|
96 | | | | | | | | | | | | |Fn | | | |
97 |-----------------------------------------------------------|-----------|
98 | | | | SP4 | |Fn | |WBk| |WFw|
99 *-----------------------------------------------------------------------*
100
101#### _AL: Adjust Layer - Keymap select, LED backlight, and Dynamic Macro settings.
102 .-----------------------------------------------------------------------.
103 |Rst||||| | | | ||| | | | ||| | | | | | | |
104 .-----------------------------------------------------------|-----------|
105 |Rev|Tog|Mod|H- |H+ |S- |S+ |V- |V+ | |BLT|BL-|BL+| | |MR1|MP1|
106 |-----------------------------------------------------------|-----------|
107 |Fn_AL|_BL|_WL| | | | | | | | | | | | MS|MR2|MP2|
108 |-----------------------------------------------------------|-----------|
109 | | | |_DL| | | | | | | | | | |
110 |-----------------------------------------------------------|-----------|
111 | | | |_CL| |_BL|_NL| | | | | |Fn | | | |
112 |-----------------------------------------------------------|-----------|
113 | | | | | |Fn | | | | |
114 *-----------------------------------------------------------------------*
diff --git a/keyboards/gon/nerdtkl/keymaps/gam3cat/rules.mk b/keyboards/gon/nerdtkl/keymaps/gam3cat/rules.mk
new file mode 100644
index 000000000..65c2a5d62
--- /dev/null
+++ b/keyboards/gon/nerdtkl/keymaps/gam3cat/rules.mk
@@ -0,0 +1,26 @@
1# Build Options
2# change yes to no to disable
3#
4BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration
5MOUSEKEY_ENABLE = no # Mouse keys
6EXTRAKEY_ENABLE = yes # Audio control and System control
7CONSOLE_ENABLE = no # Console for debug
8COMMAND_ENABLE = no # Commands for debug and configuration
9# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
10SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
11# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
12NKRO_ENABLE = yes # USB Nkey Rollover - If this doesn't work, add this to config.h: #define FORCE_NKRO
13BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
14RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
15MIDI_ENABLE = no # MIDI support
16UNICODE_ENABLE = no # Unicode
17UNICODEMAP_ENABLE = no # Enable extended unicode
18BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
19AUDIO_ENABLE = no # Audio output on port C6
20FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches
21HD44780_ENABLE = no # Enable support for HD44780 based LCDs
22#VARIABLE_TRACE = no # Use this to debug changes to variable values
23API_SYSEX_ENABLE = no # This enables using the Quantum SYSEX API to send strings
24KEY_LOCK_ENABLE = no # This enables key lock
25SPLIT_KEYBOARD = no # This enables split keyboard support and includes all necessary files located at quantum/split_common
26TAP_DANCE_ENABLE = no # Enable TapDance functionality
diff --git a/keyboards/gon/nerdtkl/nerdtkl.c b/keyboards/gon/nerdtkl/nerdtkl.c
new file mode 100644
index 000000000..e221e9e78
--- /dev/null
+++ b/keyboards/gon/nerdtkl/nerdtkl.c
@@ -0,0 +1 @@
#include "nerdtkl.h"
diff --git a/keyboards/gon/nerdtkl/nerdtkl.h b/keyboards/gon/nerdtkl/nerdtkl.h
new file mode 100644
index 000000000..9dbc03619
--- /dev/null
+++ b/keyboards/gon/nerdtkl/nerdtkl.h
@@ -0,0 +1,24 @@
1#pragma once
2
3#include "quantum.h"
4
5#define LAYOUT_tkl( \
6 K80, K90, K81, K91, K82, K92, K83, K93, K84, K94, K85, K95, K86, K96, K88, K98, \
7 K00, K10, K01, K11, K02, K12, K03, K13, K04, K14, K05, K15, K06, K16, K08, K18, K48, \
8 K20, K30, K21, K31, K22, K32, K23, K33, K24, K34, K25, K35, K26, K36, K28, K38, K58, \
9 K40, K41, K51, K42, K52, K43, K53, K44, K54, K45, K55, K46, K17, K56, \
10 K70, K97, K61, K71, K62, K72, K63, K73, K64, K74, K65, K75, K66, K76, K68, \
11 K60, K50, K87, K07, K27, K37, K47, K57, K67, K77, K78 \
12) \
13{ \
14 { K00, K01, K02, K03, K04, K05, K06, K07, K08 }, \
15 { K10, K11, K12, K13, K14, K15, K16, K17, K18 }, \
16 { K20, K21, K22, K23, K24, K25, K26, K27, K28 }, \
17 { K30, K31, K32, K33, K34, K35, K36, K37, K38 }, \
18 { K40, K41, K42, K43, K44, K45, K46, K47, K48 }, \
19 { K50, K51, K52, K53, K54, K55, K56, K57, K58 }, \
20 { K60, K61, K62, K63, K64, K65, K66, K67, K68 }, \
21 { K70, K71, K72, K73, K74, K75, K76, K77, K78 }, \
22 { K80, K81, K82, K83, K84, K85, K86, K87, K88 }, \
23 { K90, K91, K92, K93, K94, K95, K96, K97, K98 } \
24}
diff --git a/keyboards/gon/nerdtkl/readme.md b/keyboards/gon/nerdtkl/readme.md
new file mode 100644
index 000000000..f8e982e77
--- /dev/null
+++ b/keyboards/gon/nerdtkl/readme.md
@@ -0,0 +1,27 @@
1# GON NerD TKL
2
3A Korean Custom TKL.
4
5* Keyboard Maintainer: QMK Community
6* Hardware Supported: GON NerD TKL PCB
7* Hardware Availability: [gonskeyboardworks.com](http://www.gonskeyboardworks.com/pcbs-and-controllers/60-nerd-tkl-ver20-pcb.html)
8
9Make example for this keyboard (after setting up your build environment):
10
11 make gon/nerdtkl: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).
14
15## Changing Bootloader
16
17It's not possible to simply flash this firmware on the GON NerD keyboard as the original bootloader does not support DFU connections.
18
19It is possible to change the bootloader of the GON NerD with an ISP programmer. A guide on how to change the bootloader on your GON NerD can be found here:
20[Converting NerD60 to TMK](https://deskthority.net/wiki/Converting_NerD60_to_TMK). After changing the bootloader you can flash your QMK keymap onto the keyboard.
21
22_After changing the bootloader on your GON NerD PCB you will not be able to go back to the original firmware and the official configuration software will
23not work anymore. You will lose your warranty and official support from GON!_
24
25## Reset button
26
27To run the `make dfu` command to flash keymaps onto the board, you need to put the board into DFU mode. As the GON NerD PCBs do not have a reset button on the board to put it into DFU mode, be sure to include a `RESET` button on your keymap. Otherwise you'll have to unscrew your keyboard from the case and short the GND and RST pins.
diff --git a/keyboards/gon/nerdtkl/rules.mk b/keyboards/gon/nerdtkl/rules.mk
new file mode 100644
index 000000000..8446dd39c
--- /dev/null
+++ b/keyboards/gon/nerdtkl/rules.mk
@@ -0,0 +1,36 @@
1# MCU name
2MCU = atmega32u4
3
4# Processor frequency
5F_CPU = 8000000
6
7# Bootloader selection
8# Teensy halfkay
9# Pro Micro caterina
10# Atmel DFU atmel-dfu
11# LUFA DFU lufa-dfu
12# QMK DFU qmk-dfu
13# ATmega32A bootloadHID
14# ATmega328P USBasp
15BOOTLOADER = atmel-dfu
16
17# Build Options
18# change yes to no to disable
19#
20BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration
21MOUSEKEY_ENABLE = yes # Mouse keys
22EXTRAKEY_ENABLE = yes # Audio control and System control
23CONSOLE_ENABLE = no # Console for debug
24COMMAND_ENABLE = yes # Commands for debug and configuration
25# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
26SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
27# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
28NKRO_ENABLE = yes # USB Nkey Rollover
29BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
30RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
31MIDI_ENABLE = no # MIDI support
32UNICODE_ENABLE = no # Unicode
33BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
34AUDIO_ENABLE = no # Audio output on port C6
35FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches
36HD44780_ENABLE = no # Enable support for HD44780 based LCDs
diff --git a/keyboards/gon/readme.md b/keyboards/gon/readme.md
new file mode 100644
index 000000000..22837c5a2
--- /dev/null
+++ b/keyboards/gon/readme.md
@@ -0,0 +1,9 @@
1# GON
2
3Gon's Keyboard Works is a Korean online mechanical keyboard retailer.
4
5Website: [gonskeyboardworks.com](https://www.gonskeyboardworks.com/)
6
7* Keyboards Supported:
8 * [GON NerD 60](nerd60/)
9 * [GON NerD TKL](nerdtkl/)