1
0
Fork 0

2020 February 29 Breaking Changes Update (#8064)

This commit is contained in:
James Young 2020-02-29 12:00:00 -08:00
parent 85041ff05b
commit 26eef35f07
No known key found for this signature in database
GPG key ID: 06FAA77B63D48E80
362 changed files with 27772 additions and 8810 deletions

View file

@ -0,0 +1,35 @@
#pragma once
#include "config_common.h"
/* USB Device descriptor parameter */
#define VENDOR_ID 0xFEED
#define PRODUCT_ID 0x6FD7
#define DEVICE_VER 0x0001
#define MANUFACTURER GON
#define PRODUCT NerD 60
#define DESCRIPTION QMK port for the GON NerD 60 PCB
/* key matrix size */
#define MATRIX_ROWS 10
#define MATRIX_COLS 8
/* backlight */
#define BACKLIGHT_PIN B7
#define BACKLIGHT_LEVELS 3
/* matrix pins */
#define MATRIX_ROW_PINS { B4, E2, F4, F7, F1, F6, C6, F5, D7, C7 }
#define MATRIX_COL_PINS { E6, B0, B1, B2, B3, F0, D0, D5 }
#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCE 5
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
#define LOCKING_SUPPORT_ENABLE
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE

View file

@ -0,0 +1,78 @@
{
"keyboard_name": "GON NerD 60",
"url": "",
"maintainer": "qmk",
"width": 15,
"height": 5,
"layouts": {
"LAYOUT_60": {
"key_count": 64,
"layout": [
{"label":"K80", "x":0, "y":0},
{"label":"K10", "x":1, "y":0},
{"label":"K01", "x":2, "y":0},
{"label":"K11", "x":3, "y":0},
{"label":"K02", "x":4, "y":0},
{"label":"K12", "x":5, "y":0},
{"label":"K03", "x":6, "y":0},
{"label":"K13", "x":7, "y":0},
{"label":"K04", "x":8, "y":0},
{"label":"K14", "x":9, "y":0},
{"label":"K05", "x":10, "y":0},
{"label":"K15", "x":11, "y":0},
{"label":"K06", "x":12, "y":0},
{"label":"K16", "x":13, "y":0, "w":2},
{"label":"K20", "x":0, "y":1, "w":1.5},
{"label":"K30", "x":1.5, "y":1},
{"label":"K21", "x":2.5, "y":1},
{"label":"K31", "x":3.5, "y":1},
{"label":"K22", "x":4.5, "y":1},
{"label":"K32", "x":5.5, "y":1},
{"label":"K23", "x":6.5, "y":1},
{"label":"K33", "x":7.5, "y":1},
{"label":"K24", "x":8.5, "y":1},
{"label":"K34", "x":9.5, "y":1},
{"label":"K25", "x":10.5, "y":1},
{"label":"K35", "x":11.5, "y":1},
{"label":"K26", "x":12.5, "y":1},
{"label":"K36", "x":13.5, "y":1, "w":1.5},
{"label":"K40", "x":0, "y":2, "w":1.75},
{"label":"K41", "x":1.75, "y":2},
{"label":"K51", "x":2.75, "y":2},
{"label":"K42", "x":3.75, "y":2},
{"label":"K52", "x":4.75, "y":2},
{"label":"K43", "x":5.75, "y":2},
{"label":"K53", "x":6.75, "y":2},
{"label":"K44", "x":7.75, "y":2},
{"label":"K54", "x":8.75, "y":2},
{"label":"K45", "x":9.75, "y":2},
{"label":"K55", "x":10.75, "y":2},
{"label":"K46", "x":11.75, "y":2},
{"label":"K17", "x":12.75, "y":2},
{"label":"K56", "x":13.75, "y":2, "w":1.25},
{"label":"K70", "x":0, "y":3, "w":1.25},
{"label":"K97", "x":1.25, "y":3},
{"label":"K61", "x":2.25, "y":3},
{"label":"K71", "x":3.25, "y":3},
{"label":"K62", "x":4.25, "y":3},
{"label":"K72", "x":5.25, "y":3},
{"label":"K63", "x":6.25, "y":3},
{"label":"K73", "x":7.25, "y":3},
{"label":"K64", "x":8.25, "y":3},
{"label":"K74", "x":9.25, "y":3},
{"label":"K65", "x":10.25, "y":3},
{"label":"K75", "x":11.25, "y":3},
{"label":"K66", "x":12.25, "y":3, "w":1.75},
{"label":"K76", "x":14, "y":3},
{"label":"K60", "x":0, "y":4, "w":1.25},
{"label":"K50", "x":1.25, "y":4, "w":1.25},
{"label":"K87", "x":2.5, "y":4, "w":1.25},
{"label":"K07", "x":3.75, "y":4, "w":6.25},
{"label":"K27", "x":10, "y":4, "w":1.25},
{"label":"K37", "x":11.25, "y":4, "w":1.25},
{"label":"K47", "x":12.5, "y":4, "w":1.25},
{"label":"K57", "x":13.75, "y":4, "w":1.25}
]
}
}
}

View file

@ -0,0 +1,20 @@
#include QMK_KEYBOARD_H
// Keymap layers
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT_60( /* Base */
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,
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_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,
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_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(1), KC_RCTL
),
[1] = LAYOUT_60( /* System layer to have access to RESET button */
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,
_______, _______, _______, _______, _______, _______, _______, KC_PGUP, KC_UP, KC_PGDN, KC_PSCR, KC_SLCK, KC_PAUS, _______,
_______, _______, _______, _______, _______, _______, KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, KC_INS, KC_DEL, _______, _______,
_______, _______, KC_APP, _______, _______, _______, _______, KC_END, _______, _______, _______, _______, _______, _______,
RESET, _______, _______, _______, _______, _______, _______, _______
),
};

View file

@ -0,0 +1,3 @@
# The default keymap for GON NerD 60
![keymap](https://raw.githubusercontent.com/noroadsleft/qmk_images/master/keyboards/gon/nerd60/keymaps/default/keymap.png)

View file

@ -0,0 +1,108 @@
#include QMK_KEYBOARD_H
// Keymap layers
#define BASE_LAYER 0
#define FUNCTION_LAYER 1
#define SYSTEM_LAYER 2
// Key aliases
#define __x__ KC_NO
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Layer 0: Default Layer
* ,-----------------------------------------------------------.
* |Esc| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| = | BSp |
* |-----------------------------------------------------------|
* |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \|
* |-----------------------------------------------------------|
* |Funct | A| S| D| F| G| H| J| K| L| ;| '|Enter |
* |-----------------------------------------------------------|
* |Shift | Z| X| C| V| B| N| M| ,| .| /| Shift |
* |-----------------------------------------------------------'
* | Ctl|Alt|Gui | Space |Gui |Alt| F2| Ctl |
* `-----------------------------------------------------------'
*/
[BASE_LAYER] = LAYOUT_60(
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, \
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, \
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, \
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__, \
KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT, MO(2), KC_RCTL \
),
/* Layer 1: Function Layer
* ,-----------------------------------------------------------.
* | | F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11| F12| Del |
* |-----------------------------------------------------------|
* | |Prv|Ply|Nxt| | |Pg^|Hme|Up |End| |Br-|Br+| |
* |-----------------------------------------------------------|
* |Hold |Mte|Vl-|Vl+| | |Pgv|Lft|Dwn|Rgt| | | |
* |-----------------------------------------------------------|
* | | | | | | | | | | | | |
* |-----------------------------------------------------------'
* | | | | | | | | |
* `-----------------------------------------------------------'
*/
[FUNCTION_LAYER] = LAYOUT_60(
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, \
__x__, KC_MPRV, KC_MPLY, KC_MNXT, __x__, __x__, KC_PGUP, KC_HOME, KC_UP, KC_END, __x__, KC_SLCK, KC_PAUS, __x__, \
KC_TRNS, KC_MUTE, KC_VOLD, KC_VOLU, __x__, __x__, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, __x__, __x__, __x__, __x__, \
KC_LSFT, __x__, __x__, __x__, __x__, __x__, __x__, __x__, __x__, __x__, __x__, __x__, __x__, __x__, \
KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, __x__, __x__, __x__, __x__ \
),
/* Layer 2: System Layer
* ,-----------------------------------------------------------.
* |Reset| | | | | | | | | | | | | |
* |-----------------------------------------------------------|
* | | | | | | | | | | | | | | |
* |-----------------------------------------------------------|
* | | | | | | | | | | | | | |
* |-----------------------------------------------------------|
* | | | | | | | | | | | | |
* |-----------------------------------------------------------'
* | | | | | | | | |
* `-----------------------------------------------------------'
*/
[SYSTEM_LAYER] = LAYOUT_60(
RESET, __x__, __x__, __x__, __x__, __x__, __x__, __x__, __x__, __x__, __x__, __x__, __x__, __x__, \
__x__, __x__, __x__, __x__, __x__, __x__, __x__, __x__, __x__, __x__, __x__, __x__, __x__, __x__, \
__x__, __x__, __x__, __x__, __x__, __x__, __x__, __x__, __x__, __x__, __x__, __x__, __x__, __x__, \
__x__, __x__, __x__, __x__, __x__, __x__, __x__, __x__, __x__, __x__, __x__, __x__, __x__, __x__, \
__x__, __x__, __x__, __x__, __x__, __x__, KC_TRNS, __x__ \
),
};
enum function_id {
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
};
const uint16_t PROGMEM fn_actions[] = {
[0] = ACTION_FUNCTION(ESC_GRV),
};
void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) {
static uint8_t esc_grv_mask;
switch (id) {
case ESC_GRV:
esc_grv_mask = get_mods() & MOD_BIT(KC_LGUI);
if (record->event.pressed) {
if (esc_grv_mask) {
add_key(KC_GRV);
send_keyboard_report();
} else {
add_key(KC_ESC);
send_keyboard_report();
}
} else {
if (esc_grv_mask) {
del_key(KC_GRV);
send_keyboard_report();
} else {
del_key(KC_ESC);
send_keyboard_report();
}
}
break;
}
}

View file

@ -0,0 +1,5 @@
# Mauin's keymap for the GON NerD
This layout is based on a Pok3r style layout with a standard base layer.
Function layers provide access to navigation and media keys.

View file

@ -0,0 +1,20 @@
# Build Options
# change yes to no to disable
#
BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration
MOUSEKEY_ENABLE = yes # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = yes # Commands for debug and configuration
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
NKRO_ENABLE = yes # USB Nkey Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
MIDI_ENABLE = no # MIDI support
UNICODE_ENABLE = no # Unicode
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
AUDIO_ENABLE = no # Audio output on port C6
FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches
HD44780_ENABLE = no # Enable support for HD44780 based LCDs

View file

@ -0,0 +1 @@
#include "nerd60.h"

View file

@ -0,0 +1,22 @@
#pragma once
#include "quantum.h"
#define LAYOUT_60( \
K80, K10, K01, K11, K02, K12, K03, K13, K04, K14, K05, K15, K06, K16, \
K20, K30, K21, K31, K22, K32, K23, K33, K24, K34, K25, K35, K26, K36, \
K40, K41, K51, K42, K52, K43, K53, K44, K54, K45, K55, K46, K17, K56, \
K70, K97, K61, K71, K62, K72, K63, K73, K64, K74, K65, K75, K66, K76, \
K60, K50, K87, K07, K27, K37, K47, K57 \
) { \
{ KC_NO, K01, K02, K03, K04, K05, K06, K07 }, \
{ K10, K11, K12, K13, K14, K15, K16, K17 }, \
{ K20, K21, K22, K23, K24, K25, K26, K27 }, \
{ K30, K31, K32, K33, K34, K35, K36, K37 }, \
{ K40, K41, K42, K43, K44, K45, K46, K47 }, \
{ K50, K51, K52, K53, K54, K55, K56, K57 }, \
{ K60, K61, K62, K63, K64, K65, K66, KC_NO }, \
{ K70, K71, K72, K73, K74, K75, K76, KC_NO }, \
{ K80, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, K87 }, \
{ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, K97 } \
}

View file

@ -0,0 +1,27 @@
# GON NerD 60
A Korean Custom 60%.
* Keyboard Maintainer: QMK Community
* Hardware Supported: GON NerD 60 PCB
* Hardware Availability: [gonskeyboardworks.com](http://www.gonskeyboardworks.com/pcbs-and-controllers/113-nerd-60-ver20-pcb.html)
Make example for this keyboard (after setting up your build environment):
make gon/nerd60:default
See 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).
## Changing Bootloader
It's not possible to simply flash this firmware on the GON NerD keyboard as the original bootloader does not support DFU connections.
It 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:
[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.
_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
not work anymore. You will lose your warranty and official support from GON!_
## Reset button
To 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.

View file

@ -0,0 +1,36 @@
# MCU name
MCU = atmega32u4
# Processor frequency
F_CPU = 8000000
# Bootloader selection
# Teensy halfkay
# Pro Micro caterina
# Atmel DFU atmel-dfu
# LUFA DFU lufa-dfu
# QMK DFU qmk-dfu
# ATmega32A bootloadHID
# ATmega328P USBasp
BOOTLOADER = atmel-dfu
# Build Options
# change yes to no to disable
#
BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration
MOUSEKEY_ENABLE = yes # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = yes # Commands for debug and configuration
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
NKRO_ENABLE = yes # USB Nkey Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
MIDI_ENABLE = no # MIDI support
UNICODE_ENABLE = no # Unicode
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
AUDIO_ENABLE = no # Audio output on port C6
FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches
HD44780_ENABLE = no # Enable support for HD44780 based LCDs

View file

@ -0,0 +1,35 @@
#pragma once
#include "config_common.h"
/* USB Device descriptor parameter */
#define VENDOR_ID 0xFEED
#define PRODUCT_ID 0x6965
#define DEVICE_VER 0x0001
#define MANUFACTURER GON
#define PRODUCT NerD TKL
#define DESCRIPTION QMK port for the GON NerD TKL PCB
/* key matrix size */
#define MATRIX_ROWS 10
#define MATRIX_COLS 9
/* backlight */
#define BACKLIGHT_PIN B7
#define BACKLIGHT_LEVELS 3
/* matrix pins */
#define MATRIX_ROW_PINS { B4, E2, F4, F7, F1, F6, C6, F5, D7, C7 }
#define MATRIX_COL_PINS { E6, B0, B1, B2, B3, F0, D0, D5, D1 }
#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCE 5
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
#define LOCKING_SUPPORT_ENABLE
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE

View file

@ -0,0 +1,104 @@
{
"keyboard_name": "GON NerD TKL",
"url": "",
"maintainer": "qmk",
"width": 18.25,
"height": 6.25,
"layouts": {
"LAYOUT_tkl": {
"key_count": 90,
"layout": [
{"label":"K80", "x":0, "y":0},
{"label":"K90", "x":2, "y":0},
{"label":"K81", "x":3, "y":0},
{"label":"K91", "x":4, "y":0},
{"label":"K82", "x":5, "y":0},
{"label":"K92", "x":6.5, "y":0},
{"label":"K83", "x":7.5, "y":0},
{"label":"K93", "x":8.5, "y":0},
{"label":"K84", "x":9.5, "y":0},
{"label":"K94", "x":11, "y":0},
{"label":"K85", "x":12, "y":0},
{"label":"K95", "x":13, "y":0},
{"label":"K86", "x":14, "y":0},
{"label":"K96", "x":15.25, "y":0},
{"label":"K88", "x":16.25, "y":0},
{"label":"K98", "x":17.25, "y":0},
{"label":"K00", "x":0, "y":1.25},
{"label":"K10", "x":1, "y":1.25},
{"label":"K01", "x":2, "y":1.25},
{"label":"K11", "x":3, "y":1.25},
{"label":"K02", "x":4, "y":1.25},
{"label":"K12", "x":5, "y":1.25},
{"label":"K03", "x":6, "y":1.25},
{"label":"K13", "x":7, "y":1.25},
{"label":"K04", "x":8, "y":1.25},
{"label":"K14", "x":9, "y":1.25},
{"label":"K05", "x":10, "y":1.25},
{"label":"K15", "x":11, "y":1.25},
{"label":"K06", "x":12, "y":1.25},
{"label":"K16", "x":13, "y":1.25, "w":2},
{"label":"K08", "x":15.25, "y":1.25},
{"label":"K18", "x":16.25, "y":1.25},
{"label":"K48", "x":17.25, "y":1.25},
{"label":"K20", "x":0, "y":2.25, "w":1.5},
{"label":"K30", "x":1.5, "y":2.25},
{"label":"K21", "x":2.5, "y":2.25},
{"label":"K31", "x":3.5, "y":2.25},
{"label":"K22", "x":4.5, "y":2.25},
{"label":"K32", "x":5.5, "y":2.25},
{"label":"K23", "x":6.5, "y":2.25},
{"label":"K33", "x":7.5, "y":2.25},
{"label":"K24", "x":8.5, "y":2.25},
{"label":"K34", "x":9.5, "y":2.25},
{"label":"K25", "x":10.5, "y":2.25},
{"label":"K35", "x":11.5, "y":2.25},
{"label":"K26", "x":12.5, "y":2.25},
{"label":"K36", "x":13.5, "y":2.25, "w":1.5},
{"label":"K28", "x":15.25, "y":2.25},
{"label":"K38", "x":16.25, "y":2.25},
{"label":"K58", "x":17.25, "y":2.25},
{"label":"K40", "x":0, "y":3.25, "w":1.75},
{"label":"K41", "x":1.75, "y":3.25},
{"label":"K51", "x":2.75, "y":3.25},
{"label":"K42", "x":3.75, "y":3.25},
{"label":"K52", "x":4.75, "y":3.25},
{"label":"K43", "x":5.75, "y":3.25},
{"label":"K53", "x":6.75, "y":3.25},
{"label":"K44", "x":7.75, "y":3.25},
{"label":"K54", "x":8.75, "y":3.25},
{"label":"K45", "x":9.75, "y":3.25},
{"label":"K55", "x":10.75, "y":3.25},
{"label":"K46", "x":11.75, "y":3.25},
{"label":"K17", "x":12.75, "y":3.25},
{"label":"K56", "x":13.75, "y":3.25, "w":1.25},
{"label":"K70", "x":0, "y":4.25, "w":1.25},
{"label":"K97", "x":1.25, "y":4.25},
{"label":"K61", "x":2.25, "y":4.25},
{"label":"K71", "x":3.25, "y":4.25},
{"label":"K62", "x":4.25, "y":4.25},
{"label":"K72", "x":5.25, "y":4.25},
{"label":"K63", "x":6.25, "y":4.25},
{"label":"K73", "x":7.25, "y":4.25},
{"label":"K64", "x":8.25, "y":4.25},
{"label":"K74", "x":9.25, "y":4.25},
{"label":"K65", "x":10.25, "y":4.25},
{"label":"K75", "x":11.25, "y":4.25},
{"label":"K66", "x":12.25, "y":4.25, "w":1.75},
{"label":"K76", "x":14, "y":4.25},
{"label":"K68", "x":16.25, "y":4.25},
{"label":"K60", "x":0, "y":5.25, "w":1.25},
{"label":"K50", "x":1.25, "y":5.25, "w":1.25},
{"label":"K87", "x":2.5, "y":5.25, "w":1.25},
{"label":"K07", "x":3.75, "y":5.25, "w":6.25},
{"label":"K27", "x":10, "y":5.25, "w":1.25},
{"label":"K37", "x":11.25, "y":5.25, "w":1.25},
{"label":"K47", "x":12.5, "y":5.25, "w":1.25},
{"label":"K57", "x":13.75, "y":5.25, "w":1.25},
{"label":"K67", "x":15.25, "y":5.25},
{"label":"K77", "x":16.25, "y":5.25},
{"label":"K78", "x":17.25, "y":5.25}
]
}
}
}

View file

@ -0,0 +1,24 @@
#include QMK_KEYBOARD_H
// Keymap layers
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT_tkl( \
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,
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,
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,
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,
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,
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
),
[1] = LAYOUT_tkl( \
RESET, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
XXXXXXX, XXXXXXX, KC_APP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
)
};

View file

@ -0,0 +1,3 @@
# The default keymap for GON NerD TKL
![keymap](https://raw.githubusercontent.com/noroadsleft/qmk_images/master/keyboards/gon/nerdtkl/keymaps/default/keymap.png)

View file

@ -0,0 +1,10 @@
#pragma once
//Force NKRO to be enabled.
#define FORCE_NKRO
//GRAVE_ESC override for CTRL+SHIFT+ESC Windows task manager shortcut.
//#define GRAVE_ESC_CTRL_OVERRIDE
//Delay matrix scan for tap dance, reduce to activate modifier keys faster.
//#define TAPPING_TERM 200

View file

@ -0,0 +1,269 @@
#include QMK_KEYBOARD_H
#include "version.h"
enum layers {
_BL = 0, // Base Layer
_WL, // Workman Layer
_NL, // Norman Layer
_DL, // Dvorak Layer
_CL, // Base Layer
_FL, // Function Layer
_AL, // Adjust Layer
};
enum custom_keycodes {
QMK_REV = SAFE_RANGE,
KC_WEB,
KC_SP4,
DYNAMIC_MACRO_RANGE
};
extern backlight_config_t backlight_config;
#include "dynamic_macro.h"
#define FN_CAPS LT(_FL, KC_CAPS)
#define KC_DMR1 DYN_REC_START1
#define KC_DMR2 DYN_REC_START2
#define KC_DMP1 DYN_MACRO_PLAY1
#define KC_DMP2 DYN_MACRO_PLAY2
#define KC_DMRS DYN_REC_STOP
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/*#### _BL: Base Layer - Standard TKL QWERTY layout.
* .-----------------------------------------------------------------------.
* |Esc|||||F1 |F2 |F3 |F4 |||F5 |F6 |F7 |F8 |||F9 |F10|F11|F12|PSc|SLk|Pau|
* |-----------------------------------------------------------|-----------|
* |~ |1 |2 |3 |4 |5 |6 |7 |8 |9 |0 |- |= |Backsp |Ins|Hom|PgU|
* |-----------------------------------------------------------|-----------|
* |Tab |Q |W |E |R |T |Y |U |I |O |P |[ |] |\ |Del|End|PgD|
* |-----------------------------------------------------------|-----------|
* |Caps |A |S |D |F |G |H |J |K |L |; |' |Return | |
* |-----------------------------------------------------------|-----------|
* |Shift |Z |X |C |V |B |N |M |, |. |/ |Shift |Fn | | Up| |
* |-----------------------------------------------------------|-----------|
* |Ctrl |Win|Alt | Space |RAlt |Fn |Ctrl |Lft|Dwn|Rgt|
* *-----------------------------------------------------------------------*
*/
[_BL] = LAYOUT_tkl( \
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, \
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, \
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, \
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, \
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, \
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RGUI, KC_RALT, MO(_FL), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT \
),
/*#### _WL: Workman Layer.
* .-----------------------------------------------------------------------.
* | ||||| | | | ||| | | | ||| | | | | | | |
* .-----------------------------------------------------------|-----------|
* | | | | | | | | | | | |- |= | | | | |
* |-----------------------------------------------------------|-----------|
* | |Q |D |R |W |B |J |F |U |P |; |[ |] |\ | | | |
* |-----------------------------------------------------------|-----------|
* | |A |S |H |T |G |Y |N |E |O |I |' | | |
* |-----------------------------------------------------------|-----------|
* | |Z |X |M |C |V |K |L |, |. |/ | | | | | |
* |-----------------------------------------------------------|-----------|
* | | | | | | | | | | |
* *-----------------------------------------------------------------------*
*/
[_WL] = LAYOUT_tkl( \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
_______, KC_Q , KC_D , KC_R , KC_W , KC_B , KC_J , KC_F , KC_U , KC_P , KC_SCLN, _______, _______, _______, _______, _______, _______, \
_______, KC_A , KC_S , KC_H , KC_T , KC_G , KC_Y , KC_N , KC_E , KC_O , KC_I , _______, _______, _______, \
_______, _______, KC_Z , KC_X , KC_M , KC_C , KC_V , KC_K , KC_L , KC_COMM, KC_DOT , KC_SLSH, _______, _______, _______, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
),
/*#### _NL: Norman Layer.
* .-----------------------------------------------------------------------.
* | ||||| | | | ||| | | | ||| | | | | | | |
* .-----------------------------------------------------------|-----------|
* | | | | | | | | | | | |- |= | | | | |
* |-----------------------------------------------------------|-----------|
* | |Q |W |D |F |K |J |U |R |L |; |[ |] |\ | | | |
* |-----------------------------------------------------------|-----------|
* | |A |S |E |T |G |Y |N |I |O |H |' | | |
* |-----------------------------------------------------------|-----------|
* | |Z |X |C |V |B |P |M |, |. |/ | | | | | |
* |-----------------------------------------------------------|-----------|
* | | | | | | | | | | |
* *-----------------------------------------------------------------------*
*/
[_NL] = LAYOUT_tkl( \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
_______, KC_Q , KC_W , KC_D , KC_F , KC_K , KC_J , KC_U , KC_R , KC_L , KC_SCLN, _______, _______, _______, _______, _______, _______, \
_______, KC_A , KC_S , KC_E , KC_T , KC_G , KC_Y , KC_N , KC_I , KC_O , KC_H , _______, _______, _______, \
_______, _______, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_P , KC_M , KC_COMM, KC_DOT , KC_SLSH, _______, _______, _______, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
),
/*#### _DL: Dvorak Layer.
* .-----------------------------------------------------------------------.
* | ||||| | | | ||| | | | ||| | | | | | | |
* .-----------------------------------------------------------|-----------|
* | | | | | | | | | | | |[ |] | | | | |
* |-----------------------------------------------------------|-----------|
* | |' |, |. |P |Y |F |G |C |R |L |/ |= |\ | | | |
* |-----------------------------------------------------------|-----------|
* | |A |O |E |U |I |D |H |T |N |S |- | | |
* |-----------------------------------------------------------|-----------|
* | |; |Q |J |K |X |B |M |W |V |Z | | | | | |
* |-----------------------------------------------------------|-----------|
* | | | | | | | | | | |
* *-----------------------------------------------------------------------*
*/
[_DL] = LAYOUT_tkl( \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LBRC, KC_RBRC, _______, _______, _______, _______, \
_______, KC_QUOT, KC_COMM, KC_DOT , KC_P , KC_Y , KC_F , KC_G , KC_C , KC_R , KC_L , KC_SLSH, KC_EQL , _______, _______, _______, _______, \
_______, KC_A , KC_O , KC_E , KC_U , KC_I , KC_D , KC_H , KC_T , KC_N , KC_S , KC_MINS, _______, _______, \
_______, _______, KC_SCLN, KC_Q , KC_J , KC_K , KC_X , KC_B , KC_M , KC_W , KC_V , KC_Z , _______, _______, _______, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
),
/*#### _CL: Colmak Layer.
* .-----------------------------------------------------------------------.
* | ||||| | | | ||| | | | ||| | | | | | | |
* .-----------------------------------------------------------|-----------|
* | | | | | | | | | | | |- |= | | | | |
* |-----------------------------------------------------------|-----------|
* | |Q |W |F |P |G |J |L |U |Y |; |[ |] |\ | | | |
* |-----------------------------------------------------------|-----------|
* | |A |R |S |T |D |H |N |E |I |O |' | | |
* |-----------------------------------------------------------|-----------|
* | |Z |X |C |V |B |K |M |, |. |/ | | | | | |
* |-----------------------------------------------------------|-----------|
* | | | | | | | | | | |
* *-----------------------------------------------------------------------*
*/
[_CL] = LAYOUT_tkl( \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
_______, KC_Q , KC_W , KC_F , KC_P , KC_G , KC_J , KC_L , KC_U , KC_Y , KC_SCLN, _______, _______, _______, _______, _______, _______, \
_______, KC_A , KC_R , KC_S , KC_T , KC_D , KC_H , KC_N , KC_E , KC_I , KC_O , _______, _______, _______, \
_______, _______, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_K , KC_M , KC_COMM, KC_DOT , KC_SLSH, _______, _______, _______, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
),
/*#### _FL: Function Layer.
* .-----------------------------------------------------------------------.
* | ||||| | | | ||| | | | ||| |VlM|VlD|VlU| | | |
* .-----------------------------------------------------------|-----------|
* |Web| | | | | | | | | | | | | | | | |
* |-----------------------------------------------------------|-----------|
* |Fn_AL| | | | | | | | | | | | | | | | |
* |-----------------------------------------------------------|-----------|
* | | | | | | | |Lft|Dwn|Up |Rgt| | | |
* |-----------------------------------------------------------|-----------|
* | | | | | | | | | | | | |Fn | | | |
* |-----------------------------------------------------------|-----------|
* | | | | SP4 | |Fn | |WBk| |WFw|
* *-----------------------------------------------------------------------*
*/
[_FL] = LAYOUT_tkl( \
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MUTE, KC_VOLD, KC_VOLU, XXXXXXX, XXXXXXX, XXXXXXX, \
KC_WEB, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
MO(_AL), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, \
XXXXXXX, XXXXXXX, KC_MENU, KC_SP4, XXXXXXX, _______, XXXXXXX, XXXXXXX, KC_WBAK, XXXXXXX, KC_WFWD \
),
/*#### _AL: Adjust Layer - Keymap select, LED backlight, and Dynamic Macro settings.
* .-----------------------------------------------------------------------.
* |Rst||||| | | | ||| | | | ||| | | | | | | |
* .-----------------------------------------------------------|-----------|
* |Rev|Tog|Mod|H- |H+ |S- |S+ |V- |V+ | |BLT|BL-|BL+| | |MR1|MP1|
* |-----------------------------------------------------------|-----------|
* |Fn_AL|_BL|_WL| | | | | | | | | | | | MS|MR2|MP2|
* |-----------------------------------------------------------|-----------|
* | | | |_DL| | | | | | | | | | |
* |-----------------------------------------------------------|-----------|
* | | | |_CL| |_BL|_NL| | | | | |Fn | | | |
* |-----------------------------------------------------------|-----------|
* | | | | | |Fn | | | | |
* *-----------------------------------------------------------------------*
*/
[_AL] = LAYOUT_tkl( \
RESET, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
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, \
_______, DF(_BL), DF(_WL), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_DMRS, KC_DMR2, KC_DMP2, \
XXXXXXX, XXXXXXX, XXXXXXX, DF(_DL), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, DF(_CL), XXXXXXX, DF(_BL), DF(_NL), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, \
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX \
),
};
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
switch (keycode) {
case QMK_REV:
if (record->event.pressed) {
SEND_STRING(QMK_KEYBOARD "/" QMK_KEYMAP "@" QMK_VERSION ":" QMK_BUILDDATE);
}
return false;
break;
case KC_WEB:
if (record->event.pressed) {
SEND_STRING(SS_LGUI("r"));
wait_ms(100);
SEND_STRING("chrome.exe\n");
}
return false;
break;
case KC_SP4:
if (record->event.pressed) {
SEND_STRING (" ");
}
return false;
break;
}
// Dynamic Macros.
if (!process_record_dynamic_macro(keycode, record)) {
return false;
}
return true;
}
void custom_backlight_level(uint8_t level) {
if (level > BACKLIGHT_LEVELS)
level = BACKLIGHT_LEVELS;
backlight_config.level = level;
backlight_config.enable = !!backlight_config.level;
backlight_set(backlight_config.level);
}
void matrix_init_user(void) {
#ifdef BACKLIGHT_ENABLE
custom_backlight_level(0);
#endif
}
void matrix_scan_user(void) {
}
uint32_t layer_state_set_user(uint32_t state) {
switch (biton32(state)) {
case _BL:
custom_backlight_level(0);
break;
case _WL:
case _NL:
case _DL:
case _CL:
custom_backlight_level(1);
break;
case _FL:
custom_backlight_level(2);
break;
case _AL:
custom_backlight_level(3);
break;
default:
custom_backlight_level(0);
break;
}
return state;
}
void led_set_user(uint8_t usb_led) {
}

View file

@ -0,0 +1,114 @@
# Keymap Maintainer: Gam3cat
make gonnerd:gam3cat
## Layout Config:
2u backspace, 2.25u lshift/enter, [2.75u rshift] or [1.75u rshift, 1u Fn].
[1.5u, 1u, 1.5u 1x7.0u, 1.5u, 1u, 1.5u, 3x1u] or [2x1.5u, 1x7.0u, 2x1.5u, 3x1u] bottom row.
## Base Layer Selection:
(Fn+TAB+( )): (Q)WERTY, (W)orkman, (N)orman, (D)vorak, (C)olmak
### Base Layer Options:
#### _BL: Base Layer - Standard TKL QWERTY layout.
.-----------------------------------------------------------------------.
|Esc|||||F1 |F2 |F3 |F4 |||F5 |F6 |F7 |F8 |||F9 |F10|F11|F12|PSc|SLk|Pau|
|-----------------------------------------------------------|-----------|
|~ |1 |2 |3 |4 |5 |6 |7 |8 |9 |0 |- |= |Backsp |Ins|Hom|PgU|
|-----------------------------------------------------------|-----------|
|Tab |Q |W |E |R |T |Y |U |I |O |P |[ |] |\ |Del|End|PgD|
|-----------------------------------------------------------|-----------|
|Caps |A |S |D |F |G |H |J |K |L |; |' |Return | |
|-----------------------------------------------------------|-----------|
|Shift |Z |X |C |V |B |N |M |, |. |/ |Shift |Fn | | Up| |
|-----------------------------------------------------------|-----------|
|Ctrl |Win|Alt | Space |RAlt |Fn |Ctrl |Lft|Dwn|Rgt|
*-----------------------------------------------------------------------*
#### _WL: Workman Layer.
.-----------------------------------------------------------------------.
| ||||| | | | ||| | | | ||| | | | | | | |
.-----------------------------------------------------------|-----------|
| | | | | | | | | | | |- |= | | | | |
|-----------------------------------------------------------|-----------|
| |Q |D |R |W |B |J |F |U |P |; |[ |] |\ | | | |
|-----------------------------------------------------------|-----------|
| |A |S |H |T |G |Y |N |E |O |I |' | | |
|-----------------------------------------------------------|-----------|
| |Z |X |M |C |V |K |L |, |. |/ | | | | | |
|-----------------------------------------------------------|-----------|
| | | | | | | | | | |
*-----------------------------------------------------------------------*
#### _NL: Norman Layer.
.-----------------------------------------------------------------------.
| ||||| | | | ||| | | | ||| | | | | | | |
.-----------------------------------------------------------|-----------|
| | | | | | | | | | | |- |= | | | | |
|-----------------------------------------------------------|-----------|
| |Q |W |D |F |K |J |U |R |L |; |[ |] |\ | | | |
|-----------------------------------------------------------|-----------|
| |A |S |E |T |G |Y |N |I |O |H |' | | |
|-----------------------------------------------------------|-----------|
| |Z |X |C |V |B |P |M |, |. |/ | | | | | |
|-----------------------------------------------------------|-----------|
| | | | | | | | | | |
*-----------------------------------------------------------------------*
#### _DL: Dvorak Layer.
.-----------------------------------------------------------------------.
| ||||| | | | ||| | | | ||| | | | | | | |
.-----------------------------------------------------------|-----------|
| | | | | | | | | | | |[ |] | | | | |
|-----------------------------------------------------------|-----------|
| |' |, |. |P |Y |F |G |C |R |L |/ |= |\ | | | |
|-----------------------------------------------------------|-----------|
| |A |O |E |U |I |D |H |T |N |S |- | | |
|-----------------------------------------------------------|-----------|
| |; |Q |J |K |X |B |M |W |V |Z | | | | | |
|-----------------------------------------------------------|-----------|
| | | | | | | | | | |
*-----------------------------------------------------------------------*
#### _CL: Colmak Layer.
.-----------------------------------------------------------------------.
| ||||| | | | ||| | | | ||| | | | | | | |
.-----------------------------------------------------------|-----------|
| | | | | | | | | | | |- |= | | | | |
|-----------------------------------------------------------|-----------|
| |Q |W |F |P |G |J |L |U |Y |; |[ |] |\ | | | |
|-----------------------------------------------------------|-----------|
| |A |R |S |T |D |H |N |E |I |O |' | | |
|-----------------------------------------------------------|-----------|
| |Z |X |C |V |B |K |M |, |. |/ | | | | | |
|-----------------------------------------------------------|-----------|
| | | | | | | | | | |
*-----------------------------------------------------------------------*
#### _FL: Function Layer.
.-----------------------------------------------------------------------.
| ||||| | | | ||| | | | ||| |VlM|VlD|VlU| | | |
.-----------------------------------------------------------|-----------|
|Web| | | | | | | | | | | | | | | | |
|-----------------------------------------------------------|-----------|
|Fn_AL| | | | | | | | | | | | | | | | |
|-----------------------------------------------------------|-----------|
| | | | | | | |Lft|Dwn|Up |Rgt| | | |
|-----------------------------------------------------------|-----------|
| | | | | | | | | | | | |Fn | | | |
|-----------------------------------------------------------|-----------|
| | | | SP4 | |Fn | |WBk| |WFw|
*-----------------------------------------------------------------------*
#### _AL: Adjust Layer - Keymap select, LED backlight, and Dynamic Macro settings.
.-----------------------------------------------------------------------.
|Rst||||| | | | ||| | | | ||| | | | | | | |
.-----------------------------------------------------------|-----------|
|Rev|Tog|Mod|H- |H+ |S- |S+ |V- |V+ | |BLT|BL-|BL+| | |MR1|MP1|
|-----------------------------------------------------------|-----------|
|Fn_AL|_BL|_WL| | | | | | | | | | | | MS|MR2|MP2|
|-----------------------------------------------------------|-----------|
| | | |_DL| | | | | | | | | | |
|-----------------------------------------------------------|-----------|
| | | |_CL| |_BL|_NL| | | | | |Fn | | | |
|-----------------------------------------------------------|-----------|
| | | | | |Fn | | | | |
*-----------------------------------------------------------------------*

View file

@ -0,0 +1,26 @@
# Build Options
# change yes to no to disable
#
BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration
MOUSEKEY_ENABLE = no # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = no # Commands for debug and configuration
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
NKRO_ENABLE = yes # USB Nkey Rollover - If this doesn't work, add this to config.h: #define FORCE_NKRO
BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
MIDI_ENABLE = no # MIDI support
UNICODE_ENABLE = no # Unicode
UNICODEMAP_ENABLE = no # Enable extended unicode
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
AUDIO_ENABLE = no # Audio output on port C6
FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches
HD44780_ENABLE = no # Enable support for HD44780 based LCDs
#VARIABLE_TRACE = no # Use this to debug changes to variable values
API_SYSEX_ENABLE = no # This enables using the Quantum SYSEX API to send strings
KEY_LOCK_ENABLE = no # This enables key lock
SPLIT_KEYBOARD = no # This enables split keyboard support and includes all necessary files located at quantum/split_common
TAP_DANCE_ENABLE = no # Enable TapDance functionality

View file

@ -0,0 +1 @@
#include "nerdtkl.h"

View file

@ -0,0 +1,24 @@
#pragma once
#include "quantum.h"
#define LAYOUT_tkl( \
K80, K90, K81, K91, K82, K92, K83, K93, K84, K94, K85, K95, K86, K96, K88, K98, \
K00, K10, K01, K11, K02, K12, K03, K13, K04, K14, K05, K15, K06, K16, K08, K18, K48, \
K20, K30, K21, K31, K22, K32, K23, K33, K24, K34, K25, K35, K26, K36, K28, K38, K58, \
K40, K41, K51, K42, K52, K43, K53, K44, K54, K45, K55, K46, K17, K56, \
K70, K97, K61, K71, K62, K72, K63, K73, K64, K74, K65, K75, K66, K76, K68, \
K60, K50, K87, K07, K27, K37, K47, K57, K67, K77, K78 \
) \
{ \
{ K00, K01, K02, K03, K04, K05, K06, K07, K08 }, \
{ K10, K11, K12, K13, K14, K15, K16, K17, K18 }, \
{ K20, K21, K22, K23, K24, K25, K26, K27, K28 }, \
{ K30, K31, K32, K33, K34, K35, K36, K37, K38 }, \
{ K40, K41, K42, K43, K44, K45, K46, K47, K48 }, \
{ K50, K51, K52, K53, K54, K55, K56, K57, K58 }, \
{ K60, K61, K62, K63, K64, K65, K66, K67, K68 }, \
{ K70, K71, K72, K73, K74, K75, K76, K77, K78 }, \
{ K80, K81, K82, K83, K84, K85, K86, K87, K88 }, \
{ K90, K91, K92, K93, K94, K95, K96, K97, K98 } \
}

View file

@ -0,0 +1,27 @@
# GON NerD TKL
A Korean Custom TKL.
* Keyboard Maintainer: QMK Community
* Hardware Supported: GON NerD TKL PCB
* Hardware Availability: [gonskeyboardworks.com](http://www.gonskeyboardworks.com/pcbs-and-controllers/60-nerd-tkl-ver20-pcb.html)
Make example for this keyboard (after setting up your build environment):
make gon/nerdtkl:default
See 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).
## Changing Bootloader
It's not possible to simply flash this firmware on the GON NerD keyboard as the original bootloader does not support DFU connections.
It 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:
[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.
_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
not work anymore. You will lose your warranty and official support from GON!_
## Reset button
To 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.

View file

@ -0,0 +1,36 @@
# MCU name
MCU = atmega32u4
# Processor frequency
F_CPU = 8000000
# Bootloader selection
# Teensy halfkay
# Pro Micro caterina
# Atmel DFU atmel-dfu
# LUFA DFU lufa-dfu
# QMK DFU qmk-dfu
# ATmega32A bootloadHID
# ATmega328P USBasp
BOOTLOADER = atmel-dfu
# Build Options
# change yes to no to disable
#
BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration
MOUSEKEY_ENABLE = yes # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = yes # Commands for debug and configuration
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
NKRO_ENABLE = yes # USB Nkey Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
MIDI_ENABLE = no # MIDI support
UNICODE_ENABLE = no # Unicode
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
AUDIO_ENABLE = no # Audio output on port C6
FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches
HD44780_ENABLE = no # Enable support for HD44780 based LCDs

9
keyboards/gon/readme.md Normal file
View file

@ -0,0 +1,9 @@
# GON
Gon's Keyboard Works is a Korean online mechanical keyboard retailer.
Website: [gonskeyboardworks.com](https://www.gonskeyboardworks.com/)
* Keyboards Supported:
* [GON NerD 60](nerd60/)
* [GON NerD TKL](nerdtkl/)