From 26eef35f07698d23aafae90e1c230b52e100a334 Mon Sep 17 00:00:00 2001 From: James Young Date: Sat, 29 Feb 2020 12:00:00 -0800 Subject: 2020 February 29 Breaking Changes Update (#8064) --- keyboards/gon/nerd60/config.h | 35 +++ keyboards/gon/nerd60/info.json | 78 +++++++ keyboards/gon/nerd60/keymaps/default/keymap.c | 20 ++ keyboards/gon/nerd60/keymaps/default/readme.md | 3 + keyboards/gon/nerd60/keymaps/mauin/keymap.c | 108 ++++++++++ keyboards/gon/nerd60/keymaps/mauin/readme.md | 5 + keyboards/gon/nerd60/keymaps/mauin/rules.mk | 20 ++ keyboards/gon/nerd60/nerd60.c | 1 + keyboards/gon/nerd60/nerd60.h | 22 ++ keyboards/gon/nerd60/readme.md | 27 +++ keyboards/gon/nerd60/rules.mk | 36 ++++ keyboards/gon/nerdtkl/config.h | 35 +++ keyboards/gon/nerdtkl/info.json | 104 +++++++++ keyboards/gon/nerdtkl/keymaps/default/keymap.c | 24 +++ keyboards/gon/nerdtkl/keymaps/default/readme.md | 3 + keyboards/gon/nerdtkl/keymaps/gam3cat/config.h | 10 + keyboards/gon/nerdtkl/keymaps/gam3cat/keymap.c | 269 ++++++++++++++++++++++++ keyboards/gon/nerdtkl/keymaps/gam3cat/readme.md | 114 ++++++++++ keyboards/gon/nerdtkl/keymaps/gam3cat/rules.mk | 26 +++ keyboards/gon/nerdtkl/nerdtkl.c | 1 + keyboards/gon/nerdtkl/nerdtkl.h | 24 +++ keyboards/gon/nerdtkl/readme.md | 27 +++ keyboards/gon/nerdtkl/rules.mk | 36 ++++ keyboards/gon/readme.md | 9 + 24 files changed, 1037 insertions(+) create mode 100644 keyboards/gon/nerd60/config.h create mode 100644 keyboards/gon/nerd60/info.json create mode 100644 keyboards/gon/nerd60/keymaps/default/keymap.c create mode 100644 keyboards/gon/nerd60/keymaps/default/readme.md create mode 100644 keyboards/gon/nerd60/keymaps/mauin/keymap.c create mode 100644 keyboards/gon/nerd60/keymaps/mauin/readme.md create mode 100644 keyboards/gon/nerd60/keymaps/mauin/rules.mk create mode 100644 keyboards/gon/nerd60/nerd60.c create mode 100644 keyboards/gon/nerd60/nerd60.h create mode 100644 keyboards/gon/nerd60/readme.md create mode 100644 keyboards/gon/nerd60/rules.mk create mode 100644 keyboards/gon/nerdtkl/config.h create mode 100644 keyboards/gon/nerdtkl/info.json create mode 100644 keyboards/gon/nerdtkl/keymaps/default/keymap.c create mode 100644 keyboards/gon/nerdtkl/keymaps/default/readme.md create mode 100644 keyboards/gon/nerdtkl/keymaps/gam3cat/config.h create mode 100644 keyboards/gon/nerdtkl/keymaps/gam3cat/keymap.c create mode 100644 keyboards/gon/nerdtkl/keymaps/gam3cat/readme.md create mode 100644 keyboards/gon/nerdtkl/keymaps/gam3cat/rules.mk create mode 100644 keyboards/gon/nerdtkl/nerdtkl.c create mode 100644 keyboards/gon/nerdtkl/nerdtkl.h create mode 100644 keyboards/gon/nerdtkl/readme.md create mode 100644 keyboards/gon/nerdtkl/rules.mk create mode 100644 keyboards/gon/readme.md (limited to 'keyboards/gon') diff --git a/keyboards/gon/nerd60/config.h b/keyboards/gon/nerd60/config.h new file mode 100644 index 0000000000..090b50cb6a --- /dev/null +++ b/keyboards/gon/nerd60/config.h @@ -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 diff --git a/keyboards/gon/nerd60/info.json b/keyboards/gon/nerd60/info.json new file mode 100644 index 0000000000..85e0fe9d54 --- /dev/null +++ b/keyboards/gon/nerd60/info.json @@ -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} + ] + } + } +} diff --git a/keyboards/gon/nerd60/keymaps/default/keymap.c b/keyboards/gon/nerd60/keymaps/default/keymap.c new file mode 100644 index 0000000000..d205e06de1 --- /dev/null +++ b/keyboards/gon/nerd60/keymaps/default/keymap.c @@ -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, _______, _______, _______, _______, _______, _______, _______ + ), +}; diff --git a/keyboards/gon/nerd60/keymaps/default/readme.md b/keyboards/gon/nerd60/keymaps/default/readme.md new file mode 100644 index 0000000000..b7d46191e6 --- /dev/null +++ b/keyboards/gon/nerd60/keymaps/default/readme.md @@ -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) diff --git a/keyboards/gon/nerd60/keymaps/mauin/keymap.c b/keyboards/gon/nerd60/keymaps/mauin/keymap.c new file mode 100644 index 0000000000..fc553bcf16 --- /dev/null +++ b/keyboards/gon/nerd60/keymaps/mauin/keymap.c @@ -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; + } +} diff --git a/keyboards/gon/nerd60/keymaps/mauin/readme.md b/keyboards/gon/nerd60/keymaps/mauin/readme.md new file mode 100644 index 0000000000..63be7c3923 --- /dev/null +++ b/keyboards/gon/nerd60/keymaps/mauin/readme.md @@ -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. diff --git a/keyboards/gon/nerd60/keymaps/mauin/rules.mk b/keyboards/gon/nerd60/keymaps/mauin/rules.mk new file mode 100644 index 0000000000..625fc9c029 --- /dev/null +++ b/keyboards/gon/nerd60/keymaps/mauin/rules.mk @@ -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 diff --git a/keyboards/gon/nerd60/nerd60.c b/keyboards/gon/nerd60/nerd60.c new file mode 100644 index 0000000000..5022732b80 --- /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 0000000000..3f8f538e27 --- /dev/null +++ b/keyboards/gon/nerd60/nerd60.h @@ -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 } \ +} diff --git a/keyboards/gon/nerd60/readme.md b/keyboards/gon/nerd60/readme.md new file mode 100644 index 0000000000..1b4689ea03 --- /dev/null +++ b/keyboards/gon/nerd60/readme.md @@ -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. diff --git a/keyboards/gon/nerd60/rules.mk b/keyboards/gon/nerd60/rules.mk new file mode 100644 index 0000000000..8446dd39ca --- /dev/null +++ b/keyboards/gon/nerd60/rules.mk @@ -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 diff --git a/keyboards/gon/nerdtkl/config.h b/keyboards/gon/nerdtkl/config.h new file mode 100644 index 0000000000..48f6c93c93 --- /dev/null +++ b/keyboards/gon/nerdtkl/config.h @@ -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 diff --git a/keyboards/gon/nerdtkl/info.json b/keyboards/gon/nerdtkl/info.json new file mode 100644 index 0000000000..475632ebf3 --- /dev/null +++ b/keyboards/gon/nerdtkl/info.json @@ -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} + ] + } + } +} diff --git a/keyboards/gon/nerdtkl/keymaps/default/keymap.c b/keyboards/gon/nerdtkl/keymaps/default/keymap.c new file mode 100644 index 0000000000..cca8e9108a --- /dev/null +++ b/keyboards/gon/nerdtkl/keymaps/default/keymap.c @@ -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 + ) + +}; diff --git a/keyboards/gon/nerdtkl/keymaps/default/readme.md b/keyboards/gon/nerdtkl/keymaps/default/readme.md new file mode 100644 index 0000000000..648157a051 --- /dev/null +++ b/keyboards/gon/nerdtkl/keymaps/default/readme.md @@ -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) diff --git a/keyboards/gon/nerdtkl/keymaps/gam3cat/config.h b/keyboards/gon/nerdtkl/keymaps/gam3cat/config.h new file mode 100644 index 0000000000..334beb0ac2 --- /dev/null +++ b/keyboards/gon/nerdtkl/keymaps/gam3cat/config.h @@ -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 diff --git a/keyboards/gon/nerdtkl/keymaps/gam3cat/keymap.c b/keyboards/gon/nerdtkl/keymaps/gam3cat/keymap.c new file mode 100644 index 0000000000..3142209d6f --- /dev/null +++ b/keyboards/gon/nerdtkl/keymaps/gam3cat/keymap.c @@ -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) { + +} diff --git a/keyboards/gon/nerdtkl/keymaps/gam3cat/readme.md b/keyboards/gon/nerdtkl/keymaps/gam3cat/readme.md new file mode 100644 index 0000000000..8630ea2966 --- /dev/null +++ b/keyboards/gon/nerdtkl/keymaps/gam3cat/readme.md @@ -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 | | | | | + *-----------------------------------------------------------------------* diff --git a/keyboards/gon/nerdtkl/keymaps/gam3cat/rules.mk b/keyboards/gon/nerdtkl/keymaps/gam3cat/rules.mk new file mode 100644 index 0000000000..65c2a5d622 --- /dev/null +++ b/keyboards/gon/nerdtkl/keymaps/gam3cat/rules.mk @@ -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 diff --git a/keyboards/gon/nerdtkl/nerdtkl.c b/keyboards/gon/nerdtkl/nerdtkl.c new file mode 100644 index 0000000000..e221e9e78e --- /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 0000000000..9dbc036194 --- /dev/null +++ b/keyboards/gon/nerdtkl/nerdtkl.h @@ -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 } \ +} diff --git a/keyboards/gon/nerdtkl/readme.md b/keyboards/gon/nerdtkl/readme.md new file mode 100644 index 0000000000..f8e982e770 --- /dev/null +++ b/keyboards/gon/nerdtkl/readme.md @@ -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. diff --git a/keyboards/gon/nerdtkl/rules.mk b/keyboards/gon/nerdtkl/rules.mk new file mode 100644 index 0000000000..8446dd39ca --- /dev/null +++ b/keyboards/gon/nerdtkl/rules.mk @@ -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 diff --git a/keyboards/gon/readme.md b/keyboards/gon/readme.md new file mode 100644 index 0000000000..22837c5a2e --- /dev/null +++ b/keyboards/gon/readme.md @@ -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/) -- cgit v1.2.1