~ruther/qmk_firmware

0ab88f534227f908ed7ab6f4e20f83a8a19b2423 — noclew 4 years ago 8dfe37a
[Keyboard] Vanana, Vaguette Lite, and Waaffle (#11441)

* added Vanana / Vaguette Lite / Waaffle

* changed extra GPIO allocations of Waaffle and Vanana

* Apply suggestions from code review

changed layout name of vaguette Lite / requested by drashna

* Apply suggestions from code review

Requested keymap changes have been made.

* all changes requested by collaborators are made

* RGB config updated / keymap updated

* fixed vaguette lite info.json

* fixed vaguette lite info.json

* fixed vaguette lite info.json

* Apply suggestions from code review

request changes are made

* pre rename h

* vaguettelite reanmed to lowercases

* fixed vanana keymap

* Apply suggestions from code review

* changed Bootmagic key of VaguetteLite as suggested

* Updated via keymap of Vaguette Lite as suggested

* add vaguette lite 6.25 layout

* added vaguette lite noclew keymap

* updated vaguette lite 6.25u keymap description

* updated vanana default keymap

* updated keymap spacing

* reabased from the official repo

* Update keymap.c

fixed vaguette lite keymap

* Apply suggestions from code review

All the requested changes by a collaborator were made.

* updated info.json of Vanana and readme files of Vanana and waffle

* rename LAYOUT_waaffle to LAYOUT_ortho_5x16

Also adjusts the info.json data to put a visual gap between the extension and main PCBs.

* make rules.mk and info.json specific to rev3

Removes nckiibs/waaffle as a build target, as it redirects to the only extant revision in the repository.

* add controller board build targets

Adds build targets for Pro Micro and Elite-C builds, with appropriate defaults for each.

Running `make nckiibs/waaffle/rev3` defaults to a Pro Micro-based build.
43 files changed, 1947 insertions(+), 0 deletions(-)

A keyboards/nckiibs/vaguettelite/config.h
A keyboards/nckiibs/vaguettelite/info.json
A keyboards/nckiibs/vaguettelite/keymaps/default/keymap.c
A keyboards/nckiibs/vaguettelite/keymaps/default/readme.md
A keyboards/nckiibs/vaguettelite/keymaps/default_625u_universal/keymap.c
A keyboards/nckiibs/vaguettelite/keymaps/default_625u_universal/readme.md
A keyboards/nckiibs/vaguettelite/keymaps/noclew/keymap.c
A keyboards/nckiibs/vaguettelite/keymaps/noclew/readme.md
A keyboards/nckiibs/vaguettelite/keymaps/via/keymap.c
A keyboards/nckiibs/vaguettelite/keymaps/via/rules.mk
A keyboards/nckiibs/vaguettelite/readme.md
A keyboards/nckiibs/vaguettelite/rules.mk
A keyboards/nckiibs/vaguettelite/vaguettelite.c
A keyboards/nckiibs/vaguettelite/vaguettelite.h
A keyboards/nckiibs/vanana/config.h
A keyboards/nckiibs/vanana/info.json
A keyboards/nckiibs/vanana/keymaps/default/keymap.c
A keyboards/nckiibs/vanana/keymaps/default/readme.md
A keyboards/nckiibs/vanana/keymaps/via/keymap.c
A keyboards/nckiibs/vanana/keymaps/via/rules.mk
A keyboards/nckiibs/vanana/readme.md
A keyboards/nckiibs/vanana/rev1/config.h
A keyboards/nckiibs/vanana/rev1/rev1.c
A keyboards/nckiibs/vanana/rev1/rev1.h
A keyboards/nckiibs/vanana/rev1/rules.mk
A keyboards/nckiibs/vanana/rev2/config.h
A keyboards/nckiibs/vanana/rev2/rev2.c
A keyboards/nckiibs/vanana/rev2/rev2.h
A keyboards/nckiibs/vanana/rev2/rules.mk
A keyboards/nckiibs/vanana/rules.mk
A keyboards/nckiibs/waaffle/config.h
A keyboards/nckiibs/waaffle/keymaps/default/keymap.c
A keyboards/nckiibs/waaffle/keymaps/default/readme.md
A keyboards/nckiibs/waaffle/keymaps/via/keymap.c
A keyboards/nckiibs/waaffle/keymaps/via/rules.mk
A keyboards/nckiibs/waaffle/readme.md
A keyboards/nckiibs/waaffle/rev3/config.h
A keyboards/nckiibs/waaffle/rev3/elite_c/rules.mk
A keyboards/nckiibs/waaffle/rev3/info.json
A keyboards/nckiibs/waaffle/rev3/pro_micro/rules.mk
A keyboards/nckiibs/waaffle/rev3/rev3.c
A keyboards/nckiibs/waaffle/rev3/rev3.h
A keyboards/nckiibs/waaffle/rev3/rules.mk
A keyboards/nckiibs/vaguettelite/config.h => keyboards/nckiibs/vaguettelite/config.h +119 -0
@@ 0,0 1,119 @@
/*
Copyright 2020 noclew

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 2 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.
*/

#pragma once

#include "config_common.h"

/* USB Device descriptor parameter */
#define VENDOR_ID    0x9906
#define PRODUCT_ID   0x0011
#define DEVICE_VER   0x0003
#define MANUFACTURER dELIKEEb
#define PRODUCT      Vaguette Lite

/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 12

/*
 * Keyboard Matrix Assignments
 *
 * Change this to how you wired your keyboard
 * COLS: AVR pins used for columns, left to right
 * ROWS: AVR pins used for rows, top to bottom
 * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
 *                  ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
 *
 */
#define MATRIX_ROW_PINS { F4, B3, D1, D2, D3, F5 }
#define MATRIX_COL_PINS { F6, F7, B1, B2, B6, B5, B4, E6, D7, C6, D0, D4 }
#define UNUSED_PINS

/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW

/*rotary encoder setting*/
#define ENCODERS_PAD_A { D5, F1 }
#define ENCODERS_PAD_B { B7, F0 }

#define RGB_DI_PIN C7
#ifdef RGB_DI_PIN
#    define RGBLED_NUM 9
#    define RGBLIGHT_HUE_STEP 8
#    define RGBLIGHT_SAT_STEP 8
#    define RGBLIGHT_VAL_STEP 8
#    define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */
#    define RGBLIGHT_SLEEP  /* If defined, the RGB lighting will be switched off when the host goes to sleep */
/*== all animations enable ==*/
// #    define RGBLIGHT_ANIMATIONS
/*== or choose animations ==*/
// #    define RGBLIGHT_EFFECT_BREATHING
#    define RGBLIGHT_EFFECT_RAINBOW_MOOD
#    define RGBLIGHT_EFFECT_RAINBOW_SWIRL
// #    define RGBLIGHT_EFFECT_SNAKE
// #    define RGBLIGHT_EFFECT_KNIGHT
// #    define RGBLIGHT_EFFECT_CHRISTMAS
#    define RGBLIGHT_EFFECT_STATIC_GRADIENT
// #    define RGBLIGHT_EFFECT_RGB_TEST
// #    define RGBLIGHT_EFFECT_ALTERNATING
/*== customize breathing effect ==*/
/*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/
#    define RGBLIGHT_BREATHE_TABLE_SIZE 256      // 256(default) or 128 or 64
/*==== use exp() and sin() ====*/
#    define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85  // 1 to 2.7
#    define RGBLIGHT_EFFECT_BREATHE_MAX    255   // 0 to 255
#endif

/* 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

/* If defined, GRAVE_ESC will always act as ESC when CTRL is held.
 * This is useful for the Windows task manager shortcut (ctrl+shift+esc).
 */
//#define GRAVE_ESC_CTRL_OVERRIDE

//#define FORCE_NKRO

/*
 * Feature disable options
 *  These options are also useful to firmware size reduction.
 */

/* disable debug print */
//#define NO_DEBUG

/* disable print */
//#define NO_PRINT

/* disable action features */
//#define NO_ACTION_LAYER
//#define NO_ACTION_TAPPING
//#define NO_ACTION_ONESHOT

/* disable these deprecated features by default */
#define NO_ACTION_MACRO
#define NO_ACTION_FUNCTION

/* Bootmagic Lite key configuration */
#define BOOTMAGIC_LITE_ROW 0
#define BOOTMAGIC_LITE_COLUMN 0

A keyboards/nckiibs/vaguettelite/info.json => keyboards/nckiibs/vaguettelite/info.json +15 -0
@@ 0,0 1,15 @@
{
    "keyboard_name": "vaguettelite",
    "url": "",
    "maintainer": "noclew",
    "width": 15,
    "height": 5,
    "layouts": {
        "LAYOUT_all": {
            "layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":0, "y":1, "w":1.5}, {"x":1.5, "y":1}, {"x":2.5, "y":1}, {"x":3.5, "y":1}, {"x":4.5, "y":1}, {"x":5.5, "y":1}, {"x":6.5, "y":1}, {"x":7.5, "y":1}, {"x":8.5, "y":1}, {"x":9.5, "y":1}, {"x":10.5, "y":1}, {"x":11.5, "y":1, "w":1.5}, {"x":13, "y":1}, {"x":14, "y":1}, {"x":0, "y":2, "w":1.75}, {"x":1.75, "y":2}, {"x":2.75, "y":2}, {"x":3.75, "y":2}, {"x":4.75, "y":2}, {"x":5.75, "y":2}, {"x":6.75, "y":2}, {"x":7.75, "y":2}, {"x":8.75, "y":2}, {"x":9.75, "y":2}, {"x":10.75, "y":2}, {"x":11.75, "y":2, "w":1.25}, {"x":13, "y":2}, {"x":14, "y":2}, {"x":0, "y":3}, {"x":1, "y":3, "w":1.25}, {"x":2.25, "y":3}, {"x":3.25, "y":3}, {"x":4.25, "y":3}, {"x":5.25, "y":3}, {"x":6.25, "y":3}, {"x":7.25, "y":3}, {"x":8.25, "y":3}, {"x":9.25, "y":3}, {"x":10.25, "y":3}, {"x":11.25, "y":3}, {"x":12.25, "y":3, "w":1.75}, {"x":14, "y":3}, {"x":0, "y":4, "w":1.25}, {"x":1.25, "y":4}, {"x":2.25, "y":4, "w":1.25}, {"x":3.5, "y":4}, {"x":4.5, "y":4, "w":1.25}, {"x":5.75, "y":4, "w":2}, {"x":7.75, "y":4, "w":1.25}, {"x":9, "y":4}, {"x":10, "y":4}, {"x":11, "y":4}, {"x":12, "y":4}, {"x":13, "y":4}, {"x":14, "y":4}]
        },
        "LAYOUT_625u_universal": {
            "layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":0, "y":1, "w":1.5}, {"x":1.5, "y":1}, {"x":2.5, "y":1}, {"x":3.5, "y":1}, {"x":4.5, "y":1}, {"x":5.5, "y":1}, {"x":6.5, "y":1}, {"x":7.5, "y":1}, {"x":8.5, "y":1}, {"x":9.5, "y":1}, {"x":10.5, "y":1}, {"x":11.5, "y":1, "w":1.5}, {"x":13, "y":1}, {"x":14, "y":1}, {"x":0, "y":2, "w":1.75}, {"x":1.75, "y":2}, {"x":2.75, "y":2}, {"x":3.75, "y":2}, {"x":4.75, "y":2}, {"x":5.75, "y":2}, {"x":6.75, "y":2}, {"x":7.75, "y":2}, {"x":8.75, "y":2}, {"x":9.75, "y":2}, {"x":10.75, "y":2}, {"x":11.75, "y":2, "w":2.25}, {"x":14, "y":2}, {"x":0, "y":3, "w":2.25}, {"x":2.25, "y":3}, {"x":3.25, "y":3}, {"x":4.25, "y":3}, {"x":5.25, "y":3}, {"x":6.25, "y":3}, {"x":7.25, "y":3}, {"x":8.25, "y":3}, {"x":9.25, "y":3}, {"x":10.25, "y":3}, {"x":11.25, "y":3}, {"x":12.25, "y":3, "w":2.75}, {"x":0, "y":4, "w":1.25}, {"x":1.25, "y":4, "w":1.25}, {"x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":6.25}, {"x":10, "y":4}, {"x":11, "y":4}, {"x":12, "y":4}, {"x":13, "y":4}, {"x":14, "y":4}]
        }
    }
}

A keyboards/nckiibs/vaguettelite/keymaps/default/keymap.c => keyboards/nckiibs/vaguettelite/keymaps/default/keymap.c +134 -0
@@ 0,0 1,134 @@
/* Copyright 2020 noclew
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
#include QMK_KEYBOARD_H

// Defines names for use in layer keycodes and the keymap
enum layer_names {
    _BASE,
    _LOWER,
    _RAISE,
    _ADJUST
};

// Defines the keycodes used by our macros in process_record_user
enum custom_keycodes {
    BASE,
    LOWER,
    RAISE,
};

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {

    /* BASE
     * ---------------------------------------------------------------------------------------------------------
     * |  `  |   1  |   2  |   3  |   4  |   5  |   6  |   7  |   8  |   9  |   0  |  -   |  =   | Bspc | Mute |
     * ---------------------------------------------------------------------------------------------------------
     * | Tab     |   Q  |   W  |   E  |   R  |   T  |   Y  |   U  |   I  |   O  |   P  |    \    |   [  |  ]   |
     *----------------------------------------------------------------------------------------------------------
     * |   Esc      |   A  |   S  |   D  |   F  |   G  |   H  |   J  |   K  |   L  |   ;  | Enter |  N/A |  '  |
     *----------------------------------------------------------------------------------------------------------
     * |  N/A  |  Shift |   Z  |   X  |   C  |   V  |   B  |   N  |   M  |   ,  |   .  |   /  |  Shift   | DEL |
     *----------------------------------------------------------------------------------------------------------
     * | Ctrl |  GUI |  Alt  | Lower |  Space  |  Space  |  Space  | Raise |  Alt | Left | Down |  Up  | Right |
     *----------------------------------------------------------------------------------------------------------
     */

    [_BASE] = LAYOUT_all(
    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_AUDIO_MUTE,
    KC_TAB ,                KC_Q   ,    KC_W   ,    KC_E   ,    KC_R   ,    KC_T   ,    KC_Y   ,    KC_U   ,    KC_I   ,    KC_O   ,    KC_P   ,        KC_BSLS,            KC_LBRC,    KC_RBRC,
    KC_ESC ,                KC_A   ,    KC_S   ,    KC_D   ,    KC_F   ,    KC_G   ,    KC_H   ,    KC_J   ,    KC_K   ,    KC_L   ,    KC_SCLN,        KC_ENT ,            KC_NO,      KC_QUOT,
    KC_NO  ,    KC_LSFT,    KC_Z   ,    KC_X   ,    KC_C   ,    KC_V   ,    KC_B   ,    KC_N   ,    KC_M   ,    KC_COMM,    KC_DOT ,    KC_SLSH,            RSFT_T(KC_QUOT),            KC_DEL,
    KC_LCTL,    KC_LGUI,    KC_LALT,    LOWER  ,    KC_SPC ,            KC_SPC ,        KC_SPC ,                RAISE,      KC_RALT,                KC_LEFT,    KC_DOWN,    KC_UP,      KC_RGHT
    ),

    [_LOWER] = LAYOUT_all(
    _______,                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_F12 ,    _______,
    KC_BSPC,                KC_EQL ,    KC_7   ,    KC_8   ,    KC_9   ,    KC_SLSH,    KC_CIRC,    KC_LBRC,    KC_RBRC,    KC_AT  ,    KC_EXLM,        KC_BSLS,            _______,    _______,
    KC_ENT ,                KC_0   ,    KC_4   ,    KC_5   ,    KC_6   ,    KC_MINS,    KC_UNDS,    KC_LPRN,    KC_RPRN,    KC_HASH,    KC_DQUO ,       _______,            _______,    _______,
    KC_DLR ,    KC_DLR ,    KC_PAST,    KC_1   ,    KC_2   ,    KC_3   ,    KC_PPLS,    KC_PIPE,    KC_LCBR,    KC_RCBR,    KC_PERC,    KC_AMPR,                _______,                _______,
    _______,    _______,    _______,    _______,    _______,            _______,        _______,                _______,    _______,                _______,    _______,    _______,    _______
    ),

    [_RAISE] = LAYOUT_all(
    _______,                _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,
    _______,                _______,    _______,    _______,    _______,    _______,    _______,    KC_HOME,    KC_BSPC,    KC_DEL,     KC_END ,        _______,            _______,    _______,
    _______,                _______,    _______,    _______,    _______,    _______,    KC_LEFT,    KC_DOWN,    KC_UP,      KC_RGHT,    KC_QUOT,        _______,            _______,    _______,
    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    KC_PGUP,    _______,    _______,    KC_PGDN,                _______,                _______,
    _______,    _______,    _______,    _______,    _______,            _______,        _______,                _______,    _______,                _______,    _______,    _______,    _______
    ),

    [_ADJUST] = LAYOUT_all(
    RESET  ,                _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,   DEBUG,
    _______,                RGB_TOG,    RGB_RMOD,   RGB_MOD,    RGB_VAD,    RGB_VAI,    _______,    _______,    _______,    _______,    _______,        _______,            _______,    _______,
    KC_CAPS,                _______,    RGB_HUD,    RGB_HUI,    RGB_SAD,    RGB_SAI,    _______,    _______,    _______,    _______,    _______,        _______,            _______,    _______,
    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,                _______,                _______,
    _______,    _______,    _______,    _______,    _______,            _______,        _______,                _______,    _______,                _______,    _______,    _______,    _______
    )
};

bool process_record_user(uint16_t keycode, keyrecord_t *record) {
    switch (keycode) {

        case LOWER:
            if (record->event.pressed) {
                layer_on(_LOWER);
                update_tri_layer(_LOWER, _RAISE, _ADJUST);
            } else {
                layer_off(_LOWER);
                update_tri_layer(_LOWER, _RAISE, _ADJUST);
            }
        return false;

        case RAISE:
            if (record->event.pressed) {
                layer_on(_RAISE);
                update_tri_layer(_LOWER, _RAISE, _ADJUST);
            } else {
                layer_off(_RAISE);
                update_tri_layer(_LOWER, _RAISE, _ADJUST);
            }
        return false;

    }
    return true;
}

void encoder_update_user(uint8_t index, bool clockwise) {
    /* With an if statement we can check which encoder was turned. */
    if (index == 0) { /* First encoder */
        /* And with another if statement we can check the direction. */
        if (clockwise) {
            if (IS_LAYER_ON(_LOWER)){
                tap_code(KC_RIGHT);
            } else {
                tap_code(KC_VOLU);
            }
        } else {
            if (IS_LAYER_ON(_LOWER)){
                tap_code(KC_LEFT);
            } else {
                tap_code(KC_VOLD);
            }
        }

    } else if (index == 1) { /* Second encoder. Only supported by Elite-C */
        if (clockwise) {
            tap_code(KC_RIGHT);
        } else {
            tap_code(KC_LEFT);
        }
    }
}

A keyboards/nckiibs/vaguettelite/keymaps/default/readme.md => keyboards/nckiibs/vaguettelite/keymaps/default/readme.md +1 -0
@@ 0,0 1,1 @@
# The default keymap for Vaguette LITE

A keyboards/nckiibs/vaguettelite/keymaps/default_625u_universal/keymap.c => keyboards/nckiibs/vaguettelite/keymaps/default_625u_universal/keymap.c +134 -0
@@ 0,0 1,134 @@
/* Copyright 2020 noclew
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
#include QMK_KEYBOARD_H

// Defines names for use in layer keycodes and the keymap
enum layer_names {
    _BASE,
    _LOWER,
    _RAISE,
    _ADJUST
};

// Defines the keycodes used by our macros in process_record_user
enum custom_keycodes {
    BASE,
    LOWER,
    RAISE,
};

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {

    /* BASE
     * ---------------------------------------------------------------------------------------------------------
     * |  `  |   1  |   2  |   3  |   4  |   5  |   6  |   7  |   8  |   9  |   0  |  -  |   =   | BSpc | Mute |
     * ---------------------------------------------------------------------------------------------------------
     * | Tab     |   Q  |   W  |   E  |   R  |   T  |   Y  |   U  |   I  |   O  |   P  |    \    |   [  |  ]   |
     *----------------------------------------------------------------------------------------------------------
     * |   Esc      |   A  |   S  |   D  |   F  |   G  |   H  |   J  |   K  |   L  |   ;  |     Enter    |  '  |
     *----------------------------------------------------------------------------------------------------------
     * |     Shift      |   Z  |   X  |   C  |   V  |   B  |   N  |   M  |   ,  |   .  |   /  |     Shift      |
     *----------------------------------------------------------------------------------------------------------
     * | Ctrl |  GUI |  Alt  |                Space                     |  Raise  | Left | Down |  Up  | Right |
     *----------------------------------------------------------------------------------------------------------
     */

    [_BASE] = LAYOUT_625u_universal(
    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_MINS,    KC_BSPC,    KC_AUDIO_MUTE,
    KC_TAB ,                KC_Q   ,    KC_W   ,    KC_E   ,    KC_R   ,    KC_T   ,    KC_Y   ,    KC_U   ,    KC_I   ,    KC_O   ,    KC_P   ,            KC_BSLS,        KC_LBRC,    KC_RBRC,
    KC_ESC ,                KC_A   ,    KC_S   ,    KC_D   ,    KC_F   ,    KC_G   ,    KC_H   ,    KC_J   ,    KC_K   ,    KC_L   ,    KC_SCLN,            KC_ENT ,                    KC_QUOT,
                KC_LSFT,    KC_Z   ,    KC_X   ,    KC_C   ,    KC_V   ,    KC_B   ,    KC_N   ,    KC_M   ,    KC_COMM,    KC_DOT ,    KC_SLSH,            RSFT_T(KC_QUOT),
    KC_LCTL,    KC_LGUI,    KC_LALT,                            KC_SPC ,                            RAISE  ,    KC_LEFT,    KC_DOWN,    KC_UP  ,    KC_RGHT
    ),

    [_LOWER] = LAYOUT_625u_universal(
    _______,                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_F12 ,    _______,
    KC_BSPC,                KC_EQL ,    KC_7   ,    KC_8   ,    KC_9   ,    KC_SLSH,    KC_CIRC,    KC_LBRC,    KC_RBRC,    KC_AT  ,    KC_EXLM,            KC_BSLS,        _______,    _______,
    KC_ENT ,                KC_0   ,    KC_4   ,    KC_5   ,    KC_6   ,    KC_MINS,    KC_UNDS,    KC_LPRN,    KC_RPRN,    KC_HASH,    KC_DQUO,            _______,                    _______,
                KC_DLR ,    KC_PAST,    KC_1   ,    KC_2   ,    KC_3   ,    KC_PPLS,    KC_PIPE,    KC_LCBR,    KC_RCBR,    KC_PERC,    KC_AMPR,            _______,
    _______,    _______,    _______,                            _______,                            _______,    _______,    _______,    _______,    _______
    ),

    [_RAISE] = LAYOUT_625u_universal(
    _______,                _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,
    _______,                _______,    _______,    _______,    _______,    _______,    _______,    KC_HOME,    KC_BSPC,    KC_DEL,     KC_END ,            _______,        _______,    _______,
    _______,                _______,    _______,    _______,    _______,    _______,    KC_LEFT,    KC_DOWN,    KC_UP,      KC_RGHT,    KC_QUOT,            _______,                    _______,
                _______,    _______,    _______,    _______,    _______,    _______,    _______,    KC_PGUP,    _______,    _______,    KC_PGDN,            _______,
    _______,    _______,    _______,                            _______,                            _______,    _______,    _______,    _______,    _______
    ),

    [_ADJUST] = LAYOUT_625u_universal(
    RESET  ,                _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,   DEBUG,
    _______,                RGB_TOG,    RGB_RMOD,   RGB_MOD,    RGB_VAD,    RGB_VAI,    _______,    _______,    _______,    _______,    _______,            _______,        _______,    _______,
    KC_CAPS,                _______,    RGB_HUD,    RGB_HUI,    RGB_SAD,    RGB_SAI,    _______,    _______,    _______,    _______,    _______,            _______,                    _______,
                _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,            _______,
    _______,    _______,    _______,                            _______,                            _______,    _______,    _______,    _______,    _______
    )
};

bool process_record_user(uint16_t keycode, keyrecord_t *record) {
    switch (keycode) {

        case LOWER:
            if (record->event.pressed) {
                layer_on(_LOWER);
                update_tri_layer(_LOWER, _RAISE, _ADJUST);
            } else {
                layer_off(_LOWER);
                update_tri_layer(_LOWER, _RAISE, _ADJUST);
            }
        return false;

        case RAISE:
            if (record->event.pressed) {
                layer_on(_RAISE);
                update_tri_layer(_LOWER, _RAISE, _ADJUST);
            } else {
                layer_off(_RAISE);
                update_tri_layer(_LOWER, _RAISE, _ADJUST);
            }
        return false;

    }
    return true;
}

void encoder_update_user(uint8_t index, bool clockwise) {
    /* With an if statement we can check which encoder was turned. */
    if (index == 0) { /* First encoder */
        /* And with another if statement we can check the direction. */
        if (clockwise) {
            if (IS_LAYER_ON(_LOWER)){
                tap_code(KC_RIGHT);
            } else {
                tap_code(KC_VOLU);
            }
        } else {
            if (IS_LAYER_ON(_LOWER)){
                tap_code(KC_LEFT);
            } else {
                tap_code(KC_VOLD);
            }
        }

    } else if (index == 1) { /* Second encoder. Only supported by Elite-C */
        if (clockwise) {
            tap_code(KC_RIGHT);
        } else {
            tap_code(KC_LEFT);
        }
    }
}

A keyboards/nckiibs/vaguettelite/keymaps/default_625u_universal/readme.md => keyboards/nckiibs/vaguettelite/keymaps/default_625u_universal/readme.md +1 -0
@@ 0,0 1,1 @@
# The keymap using standard 6.25u spacebar for Vaguette LITE

A keyboards/nckiibs/vaguettelite/keymaps/noclew/keymap.c => keyboards/nckiibs/vaguettelite/keymaps/noclew/keymap.c +154 -0
@@ 0,0 1,154 @@
/* Copyright 2020 noclew
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
#include QMK_KEYBOARD_H

// Defines names for use in layer keycodes and the keymap
enum layer_names {
    _BASE,
    _LOWER,
    _RAISE,
    _ADJUST,
    _MAC,
    _GAME
};

// Defines the keycodes used by our macros in process_record_user
enum custom_keycodes {
    BASE,
    LOWER,
    RAISE,
    MAC,
    GAME
};

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {

    /* BASE
     * ---------------------------------------------------------------------------------------------------------
     * |  `  |   1  |   2  |   3  |   4  |   5  |   6  |   7  |   8  |   9  |   0  |  -   |  =   | Bspc | Mute |
     * ---------------------------------------------------------------------------------------------------------
     * | Tab     |   Q  |   W  |   E  |   R  |   T  |   Y  |   U  |   I  |   O  |   P  |    \    |   [  |  ]   |
     *----------------------------------------------------------------------------------------------------------
     * |   Esc      |   A  |   S  |   D  |   F  |   G  |   H  |   J  |   K  |   L  |   ;  | Enter |  N/A |  '  |
     *----------------------------------------------------------------------------------------------------------
     * |  N/A  |  Shift |   Z  |   X  |   C  |   V  |   B  |   N  |   M  |   ,  |   .  |   /  |  Shift   | DEL |
     *----------------------------------------------------------------------------------------------------------
     * | Ctrl |  GUI |  Alt  | Lower |  Space  |  Space  |  Space  | Raise |  Alt | Left | Down |  Up  | Right |
     *----------------------------------------------------------------------------------------------------------
     */

    [_BASE] = LAYOUT_all(
    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_MINS,    KC_BSPC,    KC_AUDIO_MUTE,
    KC_TAB ,                KC_Q   ,    KC_W   ,    KC_E   ,    KC_R   ,    KC_T   ,    KC_Y   ,    KC_U   ,    KC_I   ,    KC_O   ,    KC_P   ,        KC_BSLS,            KC_LBRC,    KC_RBRC,
    KC_ESC ,                KC_A   ,    KC_S   ,    KC_D   ,    KC_F   ,    KC_G   ,    KC_H   ,    KC_J   ,    KC_K   ,    KC_L   ,    KC_SCLN,        KC_ENT ,            KC_NO,      KC_QUOT,
    KC_NO  ,    KC_LSFT,    KC_Z   ,    KC_X   ,    KC_C   ,    KC_V   ,    KC_B   ,    KC_N   ,    KC_M   ,    KC_COMM,    KC_DOT ,    KC_SLSH,            RSFT_T(KC_QUOT),            KC_DEL,
    KC_LCTL,    KC_LGUI,    KC_LALT,    LOWER  ,    KC_SPC ,            KC_SPC ,        KC_SPC ,                RAISE,      KC_RALT,                KC_LEFT,    KC_DOWN,    KC_UP,      KC_RGHT
    ),

    [_MAC] = LAYOUT_all(
    _______,                _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,
    _______,                _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,        _______,            _______,    _______,
    _______,                _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,        _______,            _______,    _______,
    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,                _______,                _______,
    _______,    KC_LALT,    KC_LGUI,    _______,    _______,            _______,        _______,                _______,    _______,                _______,    _______,    _______,    _______
    ),

    [_GAME] = LAYOUT_all(
    _______,                _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,
    _______,                _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,        _______,            _______,    _______,
    _______,                _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,        _______,            _______,    _______,
    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,                _______,                _______,
    _______,    _______,    MO(_LOWER), KC_LALT,    _______,            _______,        _______,                _______,    _______,                _______,    _______,    _______,    _______
    ),

    [_LOWER] = LAYOUT_all(
    _______,                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_F12 ,    _______,
    KC_BSPC,                KC_EQL ,    KC_7   ,    KC_8   ,    KC_9   ,    KC_SLSH,    KC_CIRC,    KC_LBRC,    KC_RBRC,    KC_AT  ,    KC_EXLM,        KC_BSLS,            _______,    _______,
    KC_ENT ,                KC_0   ,    KC_4   ,    KC_5   ,    KC_6   ,    KC_MINS,    KC_UNDS,    KC_LPRN,    KC_RPRN,    KC_HASH,    KC_DQUO ,       _______,            _______,    _______,
    KC_DLR ,    KC_DLR ,    KC_PAST,    KC_1   ,    KC_2   ,    KC_3   ,    KC_PPLS,    KC_PIPE,    KC_LCBR,    KC_RCBR,    KC_PERC,    KC_AMPR,                _______,                _______,
    _______,    _______,    _______,    _______,    _______,            _______,        _______,                _______,    _______,                _______,    _______,    _______,    _______
    ),

    [_RAISE] = LAYOUT_all(
    _______,                _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,
    _______,                _______,    _______,    _______,    _______,    _______,    _______,    KC_HOME,    KC_BSPC,    KC_DEL,     KC_END ,        _______,            _______,    _______,
    _______,                _______,    _______,    _______,    _______,    _______,    KC_LEFT,    KC_DOWN,    KC_UP,      KC_RGHT,    KC_QUOT,        _______,            _______,    _______,
    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    KC_PGUP,    _______,    _______,    KC_PGDN,                _______,                _______,
    _______,    _______,    _______,    _______,    _______,            _______,        _______,                _______,    _______,                _______,    _______,    _______,    _______
    ),

    [_ADJUST] = LAYOUT_all(
    RESET  ,                _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,   DEBUG,
    _______,                RGB_TOG,    RGB_RMOD,   RGB_MOD,    RGB_VAD,    RGB_VAI,    _______,    _______,    _______,    _______,    _______,        _______,            _______,    _______,
    KC_CAPS,                RGB_HUD,    RGB_HUI,    RGB_SAD,    RGB_SAI,    _______,    _______,    TG(_GAME),  _______,    _______,    _______,        _______,            _______,    _______,
    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    TG(_MAC),   _______,    _______,    _______,                _______,                _______,
    _______,    _______,    _______,    _______,    _______,            _______,        _______,                _______,    _______,                _______,    _______,    _______,    _______
    )
};

bool process_record_user(uint16_t keycode, keyrecord_t *record) {
    switch (keycode) {

        case LOWER:
            if (record->event.pressed) {
                layer_on(_LOWER);
                update_tri_layer(_LOWER, _RAISE, _ADJUST);
            } else {
                layer_off(_LOWER);
                update_tri_layer(_LOWER, _RAISE, _ADJUST);
            }
        return false;

        case RAISE:
            if (record->event.pressed) {
                layer_on(_RAISE);
                update_tri_layer(_LOWER, _RAISE, _ADJUST);
            } else {
                layer_off(_RAISE);
                update_tri_layer(_LOWER, _RAISE, _ADJUST);
            }
        return false;

    }
    return true;
}

void encoder_update_user(uint8_t index, bool clockwise) {
    /* With an if statement we can check which encoder was turned. */
    if (index == 0) { /* First encoder */
        /* And with another if statement we can check the direction. */
        if (clockwise) {
            if (IS_LAYER_ON(_LOWER)){
                tap_code(KC_RIGHT);
            } else {
                tap_code(KC_VOLU);
            }
        } else {
            if (IS_LAYER_ON(_LOWER)){
                tap_code(KC_LEFT);
            } else {
                tap_code(KC_VOLD);
            }
        }

    } else if (index == 1) { /* Second encoder. Only supported by Elite-C */
        if (clockwise) {
            tap_code(KC_RIGHT);
        } else {
            tap_code(KC_LEFT);
        }
    }
}

A keyboards/nckiibs/vaguettelite/keymaps/noclew/readme.md => keyboards/nckiibs/vaguettelite/keymaps/noclew/readme.md +1 -0
@@ 0,0 1,1 @@
# The noclew's keymap for Vaguette LITE

A keyboards/nckiibs/vaguettelite/keymaps/via/keymap.c => keyboards/nckiibs/vaguettelite/keymaps/via/keymap.c +135 -0
@@ 0,0 1,135 @@
/* Copyright 2020 noclew
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */

#include QMK_KEYBOARD_H

// Defines names for use in layer keycodes and the keymap
enum layer_names {
    _BASE,
    _LOWER,
    _RAISE,
    _ADJUST
};

// Defines the keycodes used by our macros in process_record_user
enum custom_keycodes {
    BASE,
    LOWER,
    RAISE,
};

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {

    /* BASE
     * ---------------------------------------------------------------------------------------------------------
     * |  `  |   1  |   2  |   3  |   4  |   5  |   6  |   7  |   8  |   9  |   0  | BSpc |  Del |  Del | Mute |
     * ---------------------------------------------------------------------------------------------------------
     * | Tab     |   Q  |   W  |   E  |   R  |   T  |   Y  |   U  |   I  |   O  |   P  |    \    |   [  |  ]   |
     *----------------------------------------------------------------------------------------------------------
     * |   Esc      |   A  |   S  |   D  |   F  |   G  |   H  |   J  |   K  |   L  |   ;  | Enter |  N/A |  '  |
     *----------------------------------------------------------------------------------------------------------
     * |  N/A  |  Shift |   Z  |   X  |   C  |   V  |   B  |   N  |   M  |   ,  |   .  |   /  |  Shift   |  /  |
     *----------------------------------------------------------------------------------------------------------
     * | Ctrl |  GUI |  Alt  | Lower |  Space  |  Space  |  Space  | Raise |  Alt | Left | Down |  Up  | Right |
     *----------------------------------------------------------------------------------------------------------
     */

    [_BASE] = LAYOUT_all(
    KC_GRV ,                KC_1   ,    KC_2   ,    KC_3   ,    KC_4   ,    KC_5   ,    KC_6   ,    KC_7   ,    KC_8   ,    KC_9   ,    KC_0   ,    KC_BSPC,    KC_DEL,     KC_DEL,     KC_AUDIO_MUTE,
    KC_TAB ,                KC_Q   ,    KC_W   ,    KC_E   ,    KC_R   ,    KC_T   ,    KC_Y   ,    KC_U   ,    KC_I   ,    KC_O   ,    KC_P   ,        KC_BSLS,            KC_LBRC,    KC_RBRC,
    KC_ESC ,                KC_A   ,    KC_S   ,    KC_D   ,    KC_F   ,    KC_G   ,    KC_H   ,    KC_J   ,    KC_K   ,    KC_L   ,    KC_SCLN,        KC_ENT ,            KC_NO,      KC_QUOT,
    KC_NO  ,    KC_LSFT,    KC_Z   ,    KC_X   ,    KC_C   ,    KC_V   ,    KC_B   ,    KC_N   ,    KC_M   ,    KC_COMM,    KC_DOT ,    KC_SLSH,            RSFT_T(KC_QUOT),            KC_SLSH,
    KC_LCTL,    KC_LGUI,    KC_LALT,    LOWER  ,    KC_SPC ,            KC_SPC ,        KC_SPC ,                RAISE,      KC_RALT,                KC_LEFT,    KC_DOWN,    KC_UP,      KC_RGHT
    ),

    [_LOWER] = LAYOUT_all(
    _______,                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_F12 ,    _______,
    KC_BSPC,                KC_EQL ,    KC_7   ,    KC_8   ,    KC_9   ,    KC_SLSH,    KC_CIRC,    KC_LBRC,    KC_RBRC,    KC_AT  ,    KC_EXLM,        KC_BSLS,            _______,    _______,
    KC_ENT ,                KC_0   ,    KC_4   ,    KC_5   ,    KC_6   ,    KC_MINS,    KC_UNDS,    KC_LPRN,    KC_RPRN,    KC_HASH,    KC_DQUO ,       _______,            _______,    _______,
    KC_DLR ,    KC_DLR ,    KC_PAST,    KC_1   ,    KC_2   ,    KC_3   ,    KC_PPLS,    KC_PIPE,    KC_LCBR,    KC_RCBR,    KC_PERC,    KC_AMPR,                _______,                _______,
    _______,    _______,    _______,    _______,    _______,            _______,        _______,                _______,    _______,                _______,    _______,    _______,    _______
    ),

    [_RAISE] = LAYOUT_all(
    _______,                _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,
    _______,                _______,    _______,    _______,    _______,    _______,    _______,    KC_HOME,    KC_BSPC,    KC_DEL,     KC_END ,        _______,            _______,    _______,
    _______,                _______,    _______,    _______,    _______,    _______,    KC_LEFT,    KC_DOWN,    KC_UP,      KC_RGHT,    KC_QUOT,        _______,            _______,    _______,
    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    KC_PGUP,    _______,    _______,    KC_PGDN,                _______,                _______,
    _______,    _______,    _______,    _______,    _______,            _______,        _______,                _______,    _______,                _______,    _______,    _______,    _______
    ),

    [_ADJUST] = LAYOUT_all(
    RESET  ,                _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,   DEBUG,
    _______,                RGB_TOG,    RGB_RMOD,   RGB_MOD,    RGB_VAD,    RGB_VAI,    _______,    _______,    _______,    _______,    _______,        _______,            _______,    _______,
    KC_CAPS,                _______,    RGB_HUD,    RGB_HUI,    RGB_SAD,    RGB_SAI,    _______,    _______,    _______,    _______,    _______,        _______,            _______,    _______,
    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,                _______,                _______,
    _______,    _______,    _______,    _______,    _______,            _______,        _______,                _______,    _______,                _______,    _______,    _______,    _______
    )
};

bool process_record_user(uint16_t keycode, keyrecord_t *record) {
    switch (keycode) {

        case LOWER:
            if (record->event.pressed) {
                layer_on(_LOWER);
                update_tri_layer(_LOWER, _RAISE, _ADJUST);
            } else {
                layer_off(_LOWER);
                update_tri_layer(_LOWER, _RAISE, _ADJUST);
            }
        return false;

        case RAISE:
            if (record->event.pressed) {
                layer_on(_RAISE);
                update_tri_layer(_LOWER, _RAISE, _ADJUST);
            } else {
                layer_off(_RAISE);
                update_tri_layer(_LOWER, _RAISE, _ADJUST);
            }
        return false;

    }
    return true;
}

void encoder_update_user(uint8_t index, bool clockwise) {
    /* With an if statement we can check which encoder was turned. */
    if (index == 0) { /* First encoder */
        /* And with another if statement we can check the direction. */
        if (clockwise) {
            if (IS_LAYER_ON(_LOWER)){
                tap_code(KC_RIGHT);
            } else {
                tap_code(KC_VOLU);
            }
        } else {
            if (IS_LAYER_ON(_LOWER)){
                tap_code(KC_LEFT);
            } else {
                tap_code(KC_VOLD);
            }
        }

    } else if (index == 1) { /* Second encoder. Only supported by Elite-C */
        if (clockwise) {
            tap_code(KC_RIGHT);
        } else {
            tap_code(KC_LEFT);
        }
    }
}

A keyboards/nckiibs/vaguettelite/keymaps/via/rules.mk => keyboards/nckiibs/vaguettelite/keymaps/via/rules.mk +1 -0
@@ 0,0 1,1 @@
VIA_ENABLE = yes

A keyboards/nckiibs/vaguettelite/readme.md => keyboards/nckiibs/vaguettelite/readme.md +19 -0
@@ 0,0 1,19 @@
# Vaguette Lite

![vaguettelite](https://i.imgur.com/bSZKD1cl.jpg)

Vaguette Lite is a 60% keyboard that has a reduced alphas area, and it is a variation of Vaguette, which is a 40% keyboard with a detachable Numpad. 

* Keyboard Maintainer: [noclew](https://github.com/noclew)
* Hardware Supported: Vaguette Lite PCB
* Hardware Availability: Not commercially available. GB on Reddit and Geekhack time to times.

Make example for this keyboard (after setting up your build environment):

    make nckiibs/vaguettelite:default

Flashing example for this keyboard:

    make nckiibs/vaguettelite:default:flash

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).

A keyboards/nckiibs/vaguettelite/rules.mk => keyboards/nckiibs/vaguettelite/rules.mk +23 -0
@@ 0,0 1,23 @@
# MCU name
MCU = atmega32u4

# Bootloader selection
BOOTLOADER = atmel-dfu

# Build Options
#   change yes to no to disable
#
BOOTMAGIC_ENABLE = lite     # 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 = 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 = no            # USB Nkey Rollover
BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = yes       # Enable keyboard RGB underglow
BLUETOOTH_ENABLE = no       # Enable Bluetooth
AUDIO_ENABLE = no           # Audio output
ENCODER_ENABLE = yes

A keyboards/nckiibs/vaguettelite/vaguettelite.c => keyboards/nckiibs/vaguettelite/vaguettelite.c +17 -0
@@ 0,0 1,17 @@
/* Copyright 2020 noclew
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */

#include "vaguettelite.h"

A keyboards/nckiibs/vaguettelite/vaguettelite.h => keyboards/nckiibs/vaguettelite/vaguettelite.h +57 -0
@@ 0,0 1,57 @@
/* Copyright 2020 noclew
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */

#pragma once

#include "quantum.h"

/* This is a shortcut to help you visually see your layout.
 *
 * The first section contains all of the arguments representing the physical
 * layout of the board and position of the keys.
 *
 * The second converts the arguments into a two-dimensional array which
 * represents the switch matrix.
 */
#define LAYOUT_all( \
    k01, k02, k03, k04, k05, k06, k07, k08, k09, k10, k11, k12, k65, k66, k69,\
    k13, k14, k15, k16, k17, k18, k19, k20, k21, k22, k23, k24, k67, k68,\
    k25, k26, k27, k28, k29, k30, k31, k32, k33, k34, k35, k36, k61, k70,\
    k60, k37, k38, k39, k40, k41, k42, k43, k44, k45, k46, k47, k48, k62,\
    k49, k50, k51, k52, k53, k54, k55, k56, k57, k58, k59, k63, k64 \
) { \
    { k01, k02, k03, k04, k05, k06, k07, k08, k09, k10, k11, k12 }, \
    { k13, k14, k15, k16, k17, k18, k19, k20, k21, k22, k23, k24 }, \
    { k25, k26, k27, k28, k29, k30, k31, k32, k33, k34, k35, k36 }, \
    { k37, k38, k39, k40, k41, k42, k43, k44, k45, k46, k47, k48 }, \
    { k49, k50, k51, k52, k53, k54, KC_NO, k55, k56, k57, k58, k59}, \
    { k60, KC_NO, k61, k62, k63, k64, k65, k66, k67, k68, k69, k70 } \
}

#define LAYOUT_625u_universal( \
    k01, k02, k03, k04, k05, k06, k07, k08, k09, k10, k11, k12, k65, k66, k69,\
    k13, k14, k15, k16, k17, k18, k19, k20, k21, k22, k23, k24, k67, k68,\
    k25, k26, k27, k28, k29, k30, k31, k32, k33, k34, k35, k36, k70,\
         k37, k38, k39, k40, k41, k42, k43, k44, k45, k46, k47, k48,\
    k49, k50, k51,          k54,            k57, k58, k59, k63, k64 \
) { \
    { k01, k02, k03, k04, k05, k06, k07, k08, k09, k10, k11, k12 }, \
    { k13, k14, k15, k16, k17, k18, k19, k20, k21, k22, k23, k24 }, \
    { k25, k26, k27, k28, k29, k30, k31, k32, k33, k34, k35, k36 }, \
    { k37, k38, k39, k40, k41, k42, k43, k44, k45, k46, k47, k48 }, \
    { k49, k50, k51, KC_NO, KC_NO, k54, KC_NO, KC_NO, KC_NO, k57, k58, k59}, \
    { KC_NO, KC_NO, KC_NO, KC_NO, k63, k64, k65, k66, k67, k68, k69, k70 } \
}

A keyboards/nckiibs/vanana/config.h => keyboards/nckiibs/vanana/config.h +24 -0
@@ 0,0 1,24 @@
/*
Copyright 2020 noclew

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 2 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.
*/

#pragma once

#include "config_common.h"

#define VENDOR_ID    0x9906
#define PRODUCT_ID   0x0013
#define MANUFACTURER dELIKEEb

A keyboards/nckiibs/vanana/info.json => keyboards/nckiibs/vanana/info.json +12 -0
@@ 0,0 1,12 @@
{
    "keyboard_name": "vanana",
    "url": "",
    "maintainer": "noclew",
    "width": 15,
    "height": 5,
    "layouts": {
        "LAYOUT": {
            "layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":0, "y":1}, {"x":1, "y":1}, {"x":2, "y":1}, {"x":3, "y":1}, {"x":4, "y":1}, {"x":5, "y":1}, {"x":9, "y":1}, {"x":10, "y":1}, {"x":11, "y":1}, {"x":12, "y":1}, {"x":13, "y":1}, {"x":14, "y":1}, {"x":0, "y":2}, {"x":1, "y":2}, {"x":2, "y":2}, {"x":3, "y":2}, {"x":4, "y":2}, {"x":5, "y":2}, {"x":7, "y":2}, {"x":9, "y":2}, {"x":10, "y":2}, {"x":11, "y":2}, {"x":12, "y":2}, {"x":13, "y":2}, {"x":14, "y":2}, {"x":0, "y":3}, {"x":1, "y":3}, {"x":2, "y":3}, {"x":3, "y":3}, {"x":4, "y":3}, {"x":5, "y":3}, {"x":7, "y":3}, {"x":9, "y":3}, {"x":10, "y":3}, {"x":11, "y":3}, {"x":12, "y":3}, {"x":13, "y":3}, {"x":14, "y":3}, {"x":1, "y":4}, {"x":2, "y":4}, {"x":3, "y":4}, {"x":4, "y":4, "w":1.25}, {"x":5.25, "y":4, "w":1.5}, {"x":8.25, "y":4, "w":1.5}, {"x":9.75, "y":4, "w":1.25}, {"x":11, "y":4}, {"x":12, "y":4}, {"x":13, "y":4}]
        }
    }
}

A keyboards/nckiibs/vanana/keymaps/default/keymap.c => keyboards/nckiibs/vanana/keymaps/default/keymap.c +144 -0
@@ 0,0 1,144 @@
/* Copyright 2020 noclew
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
#include QMK_KEYBOARD_H

#ifdef AUDIO_ENABLE
  float song_coin[][2]  = SONG(COIN_SOUND);
#endif

// Defines names for use in layer keycodes and the keymap
enum layer_names {
    _BASE,
    _LOWER,
    _RAISE,
    _ADJUST
};

// Defines the keycodes used by our macros in process_record_user
enum custom_keycodes {
    BASE,
    LOWER,
    RAISE,
};

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
    /* BASE
     * -------------------------------------------               -------------------------------------------
     * |   `  |   1  |   2  |   3  |   4  |   5  |               |   6  |   7  |   8  |   9  |   0  | Bksp |
     * -------------------------------------------               -------------------------------------------
     * | Tab  |   Q  |   W  |   E  |   R  |   T  |               |   Y  |   U  |   I  |   O  |   P  |   \  |
     * -------------------------------------------   ---------  --------------------------------------------
     * | Esc  |   A  |   S  |   D  |   F  |   G  |   | Bksp  |   |   H  |   J  |   K  |   L  |   ;  |Enter |
     * -------------------------------------------   ---------   -------------------------------------------
     * | Shift|   Z  |   X  |   C  |   V  |   B  |   | Del   |   |   N  |   M  |   ,  |   .  |   /  | "    |
     * -------------------------------------------   ---------   -------------------------------------------
     *        | GUI  |  Alt | Ctrl |Lower |Space |               |Space |Raise |Alt   | Left | Right|
     *        ------------------------------------               ------------------------------------
     */

    [_BASE] = LAYOUT(
    KC_GRV,     KC_1   ,    KC_2   ,    KC_3   ,    KC_4   ,    KC_5  ,                 KC_6   ,    KC_7   ,    KC_8   ,    KC_9   ,    KC_0   ,    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_BSLS,
    KC_ESC,     KC_A   ,    KC_S   ,    KC_D   ,    KC_F   ,    KC_G  ,     KC_BSPC,    KC_H   ,    KC_J   ,    KC_K   ,    KC_L   ,    KC_SCLN,    KC_ENT ,
    KC_LSFT,    KC_Z   ,    KC_X   ,    KC_C   ,    KC_V   ,    KC_B  ,     KC_DEL ,    KC_N   ,    KC_M   ,    KC_COMM,    KC_DOT ,    KC_SLSH,    RSFT_T(KC_QUOT),
                KC_LGUI,    KC_LALT,    KC_LCTL,    LOWER  ,    KC_SPC,                 KC_SPC ,    RAISE  ,    KC_RALT,    KC_LEFT,    KC_RGHT
    ),

    [_LOWER] = LAYOUT(
    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_BSPC,    KC_EQL ,    KC_7   ,    KC_8   ,    KC_9   ,    KC_PPLS,                KC_CIRC,    KC_LBRC,    KC_RBRC,    KC_AT  ,    KC_EXLM,    KC_BSLS,
    KC_ENT ,    KC_0   ,    KC_4   ,    KC_5   ,    KC_6   ,    KC_MINS,    KC_LEFT,    KC_UNDS,    KC_LPRN,    KC_RPRN,    KC_HASH,    KC_DQUO,    _______,
    KC_DLR ,    KC_PAST,    KC_1   ,    KC_2   ,    KC_3   ,    KC_SLSH,    KC_RGHT,    KC_PIPE,    KC_LCBR,    KC_RCBR,    KC_PERC,    KC_AMPR,    _______,
                _______,    _______,    _______,    _______,    _______,                _______,    _______,    _______,    _______,    _______
    ),

    [_RAISE] = LAYOUT(
    _______,    _______,    _______,    _______,    _______,    _______,                _______,    _______,    _______,    _______,    _______,    _______,
    _______,    _______,    _______,    _______,    _______,    _______,                _______,    KC_HOME,    KC_BSPC,    KC_DEL ,    KC_END ,    _______,
    _______,    _______,    _______,    _______,    _______,    _______,    KC_UP  ,    KC_LEFT,    KC_DOWN,    KC_UP  ,    KC_RGHT,    KC_QUOT,    _______,
    _______,    _______,    _______,    _______,    _______,    _______,    KC_DOWN,    _______,    KC_PGUP,    _______,    KC_PGDN,    _______,    _______,
                _______,    _______,    _______,    _______,    _______,                _______,    _______,    _______,    _______,    _______
    ),
    [_ADJUST] = LAYOUT(
    RESET  ,    _______,    _______,    _______,    _______,    _______,                _______,    _______,    _______,    _______,    _______,    DEBUG  ,
    _______,    RGB_TOG,    RGB_RMOD,   RGB_MOD,    RGB_VAD,    RGB_VAI,                _______,    _______,    _______,    _______,    _______,    _______,
    KC_CAPS,    _______,    RGB_HUD,    RGB_HUI,    RGB_SAD,    RGB_SAI,    KC_VOLU,    _______,    _______,    _______,    _______,    _______,    _______,
    _______,    AU_ON  ,    AU_OFF ,    _______,    _______,    _______,    KC_VOLD,    _______,    _______,    _______,    _______,    _______,    _______,
                _______,    _______,    _______,    _______,    _______,                _______,    _______,    _______,    _______,    _______
    )
};

bool process_record_user(uint16_t keycode, keyrecord_t *record) {
    switch (keycode) {

        case LOWER:
            if (record->event.pressed) {
                layer_on(_LOWER);
                update_tri_layer(_LOWER, _RAISE, _ADJUST);
            } else {
                layer_off(_LOWER);
                update_tri_layer(_LOWER, _RAISE, _ADJUST);
            }
        return false;

        case RAISE:
            if (record->event.pressed) {
                layer_on(_RAISE);
                update_tri_layer(_LOWER, _RAISE, _ADJUST);
            } else {
                layer_off(_RAISE);
                update_tri_layer(_LOWER, _RAISE, _ADJUST);
            }
        return false;

        case RESET:
            if (record->event.pressed) {
                #ifdef AUDIO_ENABLE
                    stop_all_notes();
                    PLAY_SONG(song_coin);
                #endif
            }
        return false;
    }
    return true;
}

void encoder_update_user(uint8_t index, bool clockwise) {
    /* With an if statement we can check which encoder was turned. */
    if (index == 0) { /* First encoder */
        /* And with another if statement we can check the direction. */
        if (clockwise) {
            if (IS_LAYER_ON(_LOWER)){
                tap_code(KC_VOLU);
            } else {
                tap_code(KC_RIGHT);
            }
        } else {
            if (IS_LAYER_ON(_LOWER)){
                tap_code(KC_VOLD);
            } else {
                tap_code(KC_LEFT);
            }
        }

    } else if (index == 1) { /* Second encoder. Only supported by Elite-C */
        if (clockwise) {
            tap_code(KC_RIGHT);
        } else {
            tap_code(KC_LEFT);
        }
    }
}

A keyboards/nckiibs/vanana/keymaps/default/readme.md => keyboards/nckiibs/vanana/keymaps/default/readme.md +1 -0
@@ 0,0 1,1 @@
# The default keymap for vanana

A keyboards/nckiibs/vanana/keymaps/via/keymap.c => keyboards/nckiibs/vanana/keymaps/via/keymap.c +79 -0
@@ 0,0 1,79 @@
/* Copyright 2020 noclew
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
#include QMK_KEYBOARD_H

// Defines names for use in layer keycodes and the keymap
enum layer_names {
    _BASE,
    _LOWER,
    _RAISE,
    _ADJUST
};

// Defines the keycodes used by our macros in process_record_user
enum custom_keycodes {
    BASE,
    LOWER,
    RAISE,
};



const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
    /* BASE
     * -------------------------------------------               -------------------------------------------
     * |   `  |   1  |   2  |   3  |   4  |   5  |               |   6  |   7  |   8  |   9  |   0  | Bksp |
     * -------------------------------------------               -------------------------------------------
     * | Tab  |   Q  |   W  |   E  |   R  |   T  |               |   Y  |   U  |   I  |   O  |   P  |   \  |
     * -------------------------------------------   ---------  --------------------------------------------
     * | Esc  |   A  |   S  |   D  |   F  |   G  |   | Bksp  |   |   H  |   J  |   K  |   L  |   ;  |Enter |
     * -------------------------------------------   ---------   -------------------------------------------
     * | Shift|   Z  |   X  |   C  |   V  |   B  |   | Del   |   |   N  |   M  |   ,  |   .  |   /  | "    |
     * -------------------------------------------   ---------   -------------------------------------------
     *        | Ctrl | GUI  |  Alt |Lower |Space |               |Space |Raise |Alt   | DOWN | UP   |
     *        ------------------------------------               ------------------------------------
     */

    [_BASE] = LAYOUT(
    KC_GRV,     KC_1   ,    KC_2   ,    KC_3   ,    KC_4   ,    KC_5,                       KC_6   ,    KC_7   ,    KC_8   ,    KC_9   ,    KC_0   ,    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_BSLS,
    KC_ESC,     KC_A   ,    KC_S   ,    KC_D   ,    KC_F   ,    KC_G,       KC_BSPC,        KC_H   ,    KC_J   ,    KC_K   ,    KC_L   ,    KC_SCLN,    KC_ENT ,
    KC_LSFT,    KC_Z   ,    KC_X   ,    KC_C   ,    KC_V   ,    KC_B,       KC_DEL ,        KC_N   ,    KC_M   ,    KC_COMM,    KC_DOT ,    KC_SLSH,    RSFT_T(KC_QUOT),
                KC_LCTL,    KC_LALT,    KC_LGUI,    LOWER  ,    KC_SPC,                     KC_SPC ,    RAISE  ,    KC_RALT,    KC_DOWN,    KC_UP
    ),
    [_LOWER] = LAYOUT(
    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_BSPC,    KC_EQL ,    KC_7   ,    KC_8   ,    KC_9   ,    KC_SLSH,                    KC_CIRC,    KC_LBRC,    KC_RBRC,    KC_AT  ,    KC_EXLM,    KC_BSLS,
    KC_ENT ,    KC_0   ,    KC_4   ,    KC_5   ,    KC_6   ,    KC_MINS,     KC_LEFT,       KC_UNDS,    KC_LPRN,    KC_RPRN,    KC_HASH,    KC_DQUO,    _______,
    KC_DLR ,    KC_PAST,    KC_1   ,    KC_2   ,    KC_3   ,    KC_PPLS,     KC_RGHT,       KC_PIPE,    KC_LCBR,    KC_RCBR,    KC_PERC,    KC_AMPR,    _______,
                _______,    _______,    _______,    _______,    _______,                    _______,    _______,    _______,    _______,    _______
    ),

    [_RAISE] = LAYOUT(
    _______,    _______,    _______,    _______,    _______,    _______,                    _______,    _______,    _______,    _______,    _______,    _______,
    _______,    _______,    _______,    _______,    _______,    _______,                    _______,    KC_HOME,    KC_BSPC,    KC_DEL ,    KC_END ,    _______,
    _______,    _______,    _______,    _______,    _______,    _______,    KC_UP  ,        KC_LEFT,    KC_DOWN,    KC_UP  ,    KC_RGHT,    KC_QUOT,    _______,
    _______,    _______,    _______,    _______,    _______,    _______,    KC_DOWN,        _______,    KC_PGUP,    _______,    KC_PGDN,    _______,    _______,
                _______,    _______,    _______,    _______,    _______,                    _______,    _______,    _______,    _______,    _______
    ),
    [_ADJUST] = LAYOUT(
    RESET  ,    _______,    _______,    _______,    _______,    _______,                    _______,    _______,    _______,    _______,    _______,    DEBUG  ,
    _______,    RGB_TOG,    RGB_RMOD,   RGB_MOD,    RGB_VAD,    RGB_VAI,                    _______,    _______,    _______,    _______,    _______,    _______,
    KC_CAPS,    _______,    RGB_HUD,    RGB_HUI,    RGB_SAD,    RGB_SAI,    KC_VOLU,        _______,    _______,    _______,    _______,    _______,    _______,
    _______,    AU_ON  ,    AU_OFF ,    _______,    _______,    _______,    KC_VOLD,        _______,    _______,    _______,    _______,    _______,    _______,
                _______,    _______,    _______,    _______,    _______,                    _______,    _______,    _______,    _______,    _______
    )
};

A keyboards/nckiibs/vanana/keymaps/via/rules.mk => keyboards/nckiibs/vanana/keymaps/via/rules.mk +2 -0
@@ 0,0 1,2 @@
VIA_ENABLE = yes
AUDIO_ENABLE = no          # Audio output

A keyboards/nckiibs/vanana/readme.md => keyboards/nckiibs/vanana/readme.md +19 -0
@@ 0,0 1,19 @@
# Vanana

![vanana](https://i.imgur.com/I5a5KKNl.jpg)

Vanana is a non-split ergonomic keyboard with RGB underglow and on-board pinouts for a Bluetooth setup. Designed by dELIKEEb.

* Keyboard Maintainer: [noclew](https://github.com/noclew)
* Hardware Supported: Vanana PCB
* Hardware Availability: Not commercially available. GB on Reddit and Geekhack time to times.

Make example for this keyboard (after setting up your build environment):

    make nckiibs/vanana/rev2:default

Flashing example for this keyboard:

    make nckiibs/vanana/rev2:default:flash

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).

A keyboards/nckiibs/vanana/rev1/config.h => keyboards/nckiibs/vanana/rev1/config.h +100 -0
@@ 0,0 1,100 @@
/*
Copyright 2020 noclew

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 2 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.
*/

#pragma once

/* USB Device descriptor parameter */
#define DEVICE_VER   0x0001
#define PRODUCT      Vanana rev1

/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 12

/*
 * Keyboard Matrix Assignments
 *
 * Change this to how you wired your keyboard
 * COLS: AVR pins used for columns, left to right
 * ROWS: AVR pins used for rows, top to bottom
 * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
 *                  ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
 *
 */
#define MATRIX_ROW_PINS { D2, D7, B4, B5, B6 }
#define MATRIX_COL_PINS { B2, B3, B1, F7, F5, F6, D3, D1, D0, D4, C6, E6 }
#define UNUSED_PINS

/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW

/* Rotary Encoder and Buzzer */
#define ENCODERS_PAD_A { C7, F1 }
#define ENCODERS_PAD_B { D5, F0 }
#define B7_AUDIO

#define RGB_DI_PIN F0
#ifdef RGB_DI_PIN
#    define RGBLED_NUM 16
#    define RGBLIGHT_HUE_STEP 8
#    define RGBLIGHT_SAT_STEP 8
#    define RGBLIGHT_VAL_STEP 8
#    define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */
#    define RGBLIGHT_SLEEP  /* If defined, the RGB lighting will be switched off when the host goes to sleep */
/*== all animations enable ==*/
// #    define RGBLIGHT_ANIMATIONS
/*== or choose animations ==*/
//#    define RGBLIGHT_EFFECT_BREATHING
#    define RGBLIGHT_EFFECT_RAINBOW_MOOD
#    define RGBLIGHT_EFFECT_RAINBOW_SWIRL
//#    define RGBLIGHT_EFFECT_SNAKE
//#    define RGBLIGHT_EFFECT_KNIGHT
//#    define RGBLIGHT_EFFECT_CHRISTMAS
#    define RGBLIGHT_EFFECT_STATIC_GRADIENT
//#    define RGBLIGHT_EFFECT_RGB_TEST
//#    define RGBLIGHT_EFFECT_ALTERNATING
/*== customize breathing effect ==*/
/*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/
#    define RGBLIGHT_BREATHE_TABLE_SIZE 256      // 256(default) or 128 or 64
/*==== use exp() and sin() ====*/
#    define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85  // 1 to 2.7
#    define RGBLIGHT_EFFECT_BREATHE_MAX    255   // 0 to 255
#endif

/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCE 5

/* define if matrix has ghost (lacks anti-ghosting diodes) */
//#define MATRIX_HAS_GHOST

/* 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

/* If defined, GRAVE_ESC will always act as ESC when CTRL is held.
 * This is useful for the Windows task manager shortcut (ctrl+shift+esc).
 */
#define GRAVE_ESC_CTRL_OVERRIDE

/* disable these deprecated features by default */
#define NO_ACTION_MACRO
#define NO_ACTION_FUNCTION

/* Bootmagic Lite key configuration */
#define BOOTMAGIC_LITE_ROW 0
#define BOOTMAGIC_LITE_COLUMN 0

A keyboards/nckiibs/vanana/rev1/rev1.c => keyboards/nckiibs/vanana/rev1/rev1.c +17 -0
@@ 0,0 1,17 @@
/* Copyright 2020 noclew
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */

#include "rev1.h"

A keyboards/nckiibs/vanana/rev1/rev1.h => keyboards/nckiibs/vanana/rev1/rev1.h +40 -0
@@ 0,0 1,40 @@
/* Copyright 2020 noclew
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
#pragma once

#include "quantum.h"

/* This is a shortcut to help you visually see your layout.
 *
 * The first section contains all of the arguments representing the physical
 * layout of the board and position of the keys.
 *
 * The second converts the arguments into a two-dimensional array which
 * represents the switch matrix.
 */
#define LAYOUT( \
    k01, k02, k03, k04, k05, k06,      k07, k08, k09, k10, k11, k12, \
    k13, k14, k15, k16, k17, k18,      k19, k20, k21, k22, k23, k24, \
    k25, k26, k27, k28, k29, k30, k49, k31, k32, k33, k34, k35, k36, \
    k37, k38, k39, k40, k41, k42, k60, k43, k44, k45, k46, k47, k48, \
         k50, k51, k52, k53, k54,      k55, k56, k57, k58, k59 \
) { \
    { k01, k02, k03, k04, k05, k06, k07, k08, k09, k10, k11, k12 }, \
    { k13, k14, k15, k16, k17, k18, k19, k20, k21, k22, k23, k24 }, \
    { k25, k26, k27, k28, k29, k30, k31, k32, k33, k34, k35, k36 }, \
    { k37, k38, k39, k40, k41, k42, k43, k44, k45, k46, k47, k48 }, \
    { k49, k50, k51, k52, k53, k54, k55, k56, k57, k58, k59, k60 }  \
}

A keyboards/nckiibs/vanana/rev1/rules.mk => keyboards/nckiibs/vanana/rev1/rules.mk +2 -0
@@ 0,0 1,2 @@
RGBLIGHT_ENABLE = no       # Enable keyboard RGB underglow
AUDIO_ENABLE = no          # Audio output

A keyboards/nckiibs/vanana/rev2/config.h => keyboards/nckiibs/vanana/rev2/config.h +100 -0
@@ 0,0 1,100 @@
/*
Copyright 2020 noclew

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 2 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.
*/

#pragma once

/* USB Device descriptor parameter */
#define DEVICE_VER   0x0002
#define PRODUCT      Vanana rev2

/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 10

/*
 * Keyboard Matrix Assignments
 *
 * Change this to how you wired your keyboard
 * COLS: AVR pins used for columns, left to right
 * ROWS: AVR pins used for rows, top to bottom
 * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
 *                  ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
 *
 */
#define MATRIX_ROW_PINS { D1, C6, E6, B4, B5, F5}
#define MATRIX_COL_PINS { B3, B1, F7, F6, F4, D2, D3, D0, D4, D7 }
#define UNUSED_PINS

/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW

/* Rotary Encoder and Buzzer */
#define ENCODERS_PAD_A { B6, F0 }
#define ENCODERS_PAD_B { B2, F1 }
#define B7_AUDIO

#define RGB_DI_PIN C7
#ifdef RGB_DI_PIN
#    define RGBLED_NUM 16
#    define RGBLIGHT_HUE_STEP 8
#    define RGBLIGHT_SAT_STEP 8
#    define RGBLIGHT_VAL_STEP 8
#    define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */
#    define RGBLIGHT_SLEEP  /* If defined, the RGB lighting will be switched off when the host goes to sleep */
/*== all animations enable ==*/
// #    define RGBLIGHT_ANIMATIONS
/*== or choose animations ==*/
//#    define RGBLIGHT_EFFECT_BREATHING
#    define RGBLIGHT_EFFECT_RAINBOW_MOOD
#    define RGBLIGHT_EFFECT_RAINBOW_SWIRL
//#    define RGBLIGHT_EFFECT_SNAKE
//#    define RGBLIGHT_EFFECT_KNIGHT
//#    define RGBLIGHT_EFFECT_CHRISTMAS
#    define RGBLIGHT_EFFECT_STATIC_GRADIENT
//#    define RGBLIGHT_EFFECT_RGB_TEST
//#    define RGBLIGHT_EFFECT_ALTERNATING
/*== customize breathing effect ==*/
/*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/
#    define RGBLIGHT_BREATHE_TABLE_SIZE 256      // 256(default) or 128 or 64
/*==== use exp() and sin() ====*/
#    define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85  // 1 to 2.7
#    define RGBLIGHT_EFFECT_BREATHE_MAX    255   // 0 to 255
#endif

/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCE 5

/* define if matrix has ghost (lacks anti-ghosting diodes) */
//#define MATRIX_HAS_GHOST

/* 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

/* If defined, GRAVE_ESC will always act as ESC when CTRL is held.
 * This is useful for the Windows task manager shortcut (ctrl+shift+esc).
 */
#define GRAVE_ESC_CTRL_OVERRIDE

/* disable these deprecated features by default */
#define NO_ACTION_MACRO
#define NO_ACTION_FUNCTION

/* Bootmagic Lite key configuration */
#define BOOTMAGIC_LITE_ROW 0
#define BOOTMAGIC_LITE_COLUMN 0

A keyboards/nckiibs/vanana/rev2/rev2.c => keyboards/nckiibs/vanana/rev2/rev2.c +17 -0
@@ 0,0 1,17 @@
/* Copyright 2020 noclew
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */

#include "rev2.h"

A keyboards/nckiibs/vanana/rev2/rev2.h => keyboards/nckiibs/vanana/rev2/rev2.h +41 -0
@@ 0,0 1,41 @@
/* Copyright 2020 noclew
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
#pragma once

#include "quantum.h"

/* This is a shortcut to help you visually see your layout.
 *
 * The first section contains all of the arguments representing the physical
 * layout of the board and position of the keys.
 *
 * The second converts the arguments into a two-dimensional array which
 * represents the switch matrix.
 */
#define LAYOUT( \
    k01, k02, k03, k04, k05, k55,      k60, k06, k07, k08, k09, k10, \
    k11, k12, k13, k14, k15, k54,      k59, k16, k17, k18, k19, k20, \
    k21, k22, k23, k24, k25, k53, k56, k58, k26, k27, k28, k29, k30, \
    k31, k32, k33, k34, k35, k52, k51, k57, k36, k37, k38, k39, k40, \
         k41, k42, k43, k44, k45,      k46, k47, k48, k49, k50 \
) { \
    { k01, k02, k03, k04, k05, k06, k07, k08, k09, k10 }, \
    { k11, k12, k13, k14, k15, k16, k17, k18, k19, k20 }, \
    { k21, k22, k23, k24, k25, k26, k27, k28, k29, k30 }, \
    { k31, k32, k33, k34, k35, k36, k37, k38, k39, k40 }, \
    { k41, k42, k43, k44, k45, k46, k47, k48, k49, k50 }, \
    { k51, k52, k53, k54, k55, k56, k57, k58, k59, k60 } \
}

A keyboards/nckiibs/vanana/rev2/rules.mk => keyboards/nckiibs/vanana/rev2/rules.mk +2 -0
@@ 0,0 1,2 @@
RGBLIGHT_ENABLE = yes       # Enable keyboard RGB underglow
AUDIO_ENABLE = yes          # Audio output

A keyboards/nckiibs/vanana/rules.mk => keyboards/nckiibs/vanana/rules.mk +25 -0
@@ 0,0 1,25 @@
# MCU name
MCU = atmega32u4

# Bootloader selection
BOOTLOADER = atmel-dfu

# Build Options
BOOTMAGIC_ENABLE = lite     # 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 = 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 = no            # USB Nkey Rollover
BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality
BLUETOOTH_ENABLE = no       # Enable Bluetooth
ENCODER_ENABLE = yes		# Enable Rotary Encoder

# additional features for ELITE-C
RGBLIGHT_ENABLE = no       # Enable keyboard RGB underglow
AUDIO_ENABLE = no          # Audio output

DEFAULT_FOLDER = nckiibs/vanana/rev2

A keyboards/nckiibs/waaffle/config.h => keyboards/nckiibs/waaffle/config.h +24 -0
@@ 0,0 1,24 @@
/*
Copyright 2020 noclew

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 2 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.
*/

#pragma once

#include "config_common.h"

#define VENDOR_ID       0x9906
#define PRODUCT_ID      0x0012
#define MANUFACTURER    dELIKEEb

A keyboards/nckiibs/waaffle/keymaps/default/keymap.c => keyboards/nckiibs/waaffle/keymaps/default/keymap.c +132 -0
@@ 0,0 1,132 @@
/* Copyright 2020 noclew
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
#include QMK_KEYBOARD_H

// Defines names for use in layer keycodes and the keymap
enum layer_names {
    _BASE,
    _LOWER,
    _RAISE,
    _ADJUST
};

// Defines the keycodes used by our macros in process_record_user
enum custom_keycodes {
    BASE,
    LOWER,
    RAISE,
};

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
    /* BASE
     * ------------------------------------------------------------------------------------------------------------------
     * |  *   |   /  |   =  |  Del ||   `  |   1  |   2  |   3  |   4  |   5  |   6  |   7  |   8  |   9  |   0  | BSpc |
     * ------------------------------------------------------------------------------------------------------------------
     * |  +   |   7  |   8  |   9  || Tab  |   Q  |   W  |   E  |   R  |   T  |   Y  |   U  |   I  |   O  |   P  |   \  |
     *-------------------------------------------------------------------------------------------------------------------
     * |  +   |   4  |   5  |   6  || Esc  |   A  |   S  |   D  |   F  |   G  |   H  |   J  |   K  |   L  |   ;  | Enter|
     *------------------------------------------------------------------------------------------------------------------
     * | Enter|   1  |   2  |   3  || Shift|   Z  |   X  |   C  |   V  |   B  |   N  |   M  |   ,  |   .  |   /  | Shift|
     *-------------------------------------------------------------------------------------------------------------------
     * | Enter|   .  |   0  |   0  || Ctrl | Ctrl | Alt  | GUI  |Lower |    Space    |Raise | Left | Down |  Up  | Right|
     *-------------------------------------------------------------------------------------------------------------------
     */
    [_BASE] = LAYOUT_ortho_5x16(
    KC_PAST,    KC_PSLS,    KC_EQL,     KC_DEL,     KC_GRV,     KC_1,       KC_2,       KC_3,       KC_4,       KC_5,       KC_6,       KC_7,       KC_8,       KC_9,       KC_0,       KC_BSPC,
    KC_PPLS,    KC_7,       KC_8,       KC_9,       KC_TAB,     KC_Q,       KC_W,       KC_E,       KC_R,       KC_T,       KC_Y,       KC_U,       KC_I,       KC_O,       KC_P,       KC_BSLS,
    KC_PPLS,    KC_4,       KC_5,       KC_6,       KC_ESC,     KC_A,       KC_S,       KC_D,       KC_F,       KC_G,       KC_H,       KC_J,       KC_K,       KC_L,       KC_SCLN,    KC_ENT,
    KC_ENT,     KC_1,       KC_2,       KC_3,       KC_LSFT,    KC_Z,       KC_X,       KC_C,       KC_V,       KC_B,       KC_N,       KC_M,       KC_COMM,    KC_DOT,     KC_SLSH,    RSFT_T(KC_QUOT),
    KC_ENT,     KC_PDOT,    KC_0,       KC_0,       KC_LCTL,    KC_LCTL,    KC_LALT,    KC_LGUI,    LOWER,      KC_SPC,     KC_SPC,     RAISE,      KC_LEFT,    KC_DOWN,    KC_UP,      KC_RGHT
    ),

    [_LOWER] = LAYOUT_ortho_5x16(
    _______,    _______,    _______,    _______,    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_BSPC,    KC_EQL ,    KC_7   ,    KC_8   ,    KC_9   ,    KC_SLSH,    KC_CIRC,    KC_LBRC,    KC_RBRC,    KC_AT  ,    KC_EXLM,    KC_BSLS,
    _______,    _______,    _______,    _______,    KC_ENT ,    KC_0   ,    KC_4   ,    KC_5   ,    KC_6   ,    KC_MINS,    KC_UNDS,    KC_LPRN,    KC_RPRN,    KC_HASH,    KC_DQUO,    _______,
    _______,    _______,    _______,    _______,    KC_DLR ,    KC_PAST,    KC_1   ,    KC_2   ,    KC_3   ,    KC_PPLS,    KC_PIPE,    KC_LCBR,    KC_RCBR,    KC_PERC,    KC_AMPR,    _______,
    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______
    ),

    [_RAISE] = LAYOUT_ortho_5x16(
    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,
    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    KC_HOME,    KC_BSPC,    KC_DEL ,    KC_END ,    _______,
    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    KC_LEFT,    KC_DOWN,    KC_UP,      KC_RGHT,    KC_QUOT,    _______,
    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    KC_PGUP,    _______,    _______,    KC_PGDN,    _______,
    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______
    ),

    [_ADJUST] = LAYOUT_ortho_5x16(
    _______,    _______,    _______,    _______,    RESET,      _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    DEBUG  ,
    _______,    _______,    _______,    _______,    _______,    RGB_TOG,    RGB_RMOD,   RGB_MOD,    RGB_VAD,    RGB_VAI,    _______,    _______,    _______,    _______,    _______,    _______,
    _______,    _______,    _______,    _______,    KC_CAPS,    _______,    RGB_HUD,    RGB_HUI,    RGB_SAD,    RGB_SAI,    _______,    _______,    _______,    _______,    _______,    _______,
    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,
    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______
    )
};

bool process_record_user(uint16_t keycode, keyrecord_t *record) {
    switch (keycode) {

        case LOWER:
            if (record->event.pressed) {
                layer_on(_LOWER);
                update_tri_layer(_LOWER, _RAISE, _ADJUST);
            } else {
                layer_off(_LOWER);
                update_tri_layer(_LOWER, _RAISE, _ADJUST);
            }
        return false;

        case RAISE:
            if (record->event.pressed) {
                layer_on(_RAISE);
                update_tri_layer(_LOWER, _RAISE, _ADJUST);
            } else {
                layer_off(_RAISE);
                update_tri_layer(_LOWER, _RAISE, _ADJUST);
            }
        return false;

    }
    return true;
}

void encoder_update_user(uint8_t index, bool clockwise) {
    /* With an if statement we can check which encoder was turned. */
    if (index == 0) { /* First encoder */
        /* And with another if statement we can check the direction. */
        if (clockwise) {
            if (IS_LAYER_ON(_LOWER)){
                tap_code(KC_RIGHT);
            } else {
                tap_code(KC_VOLU);
            }
        } else {
            if (IS_LAYER_ON(_LOWER)){
                tap_code(KC_LEFT);
            } else {
                tap_code(KC_VOLD);
            }
        }

    } else if (index == 1) { /* Second encoder. Only supported by Elite-C */
        if (clockwise) {
            tap_code(KC_RIGHT);
        } else {
            tap_code(KC_LEFT);
        }
    }
}

A keyboards/nckiibs/waaffle/keymaps/default/readme.md => keyboards/nckiibs/waaffle/keymaps/default/readme.md +1 -0
@@ 0,0 1,1 @@
# The default keymap for waaffle

A keyboards/nckiibs/waaffle/keymaps/via/keymap.c => keyboards/nckiibs/waaffle/keymaps/via/keymap.c +78 -0
@@ 0,0 1,78 @@
/* Copyright 2020 noclew
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
#include QMK_KEYBOARD_H

// Defines names for use in layer keycodes and the keymap
enum layer_names {
    _BASE,
    _LOWER,
    _RAISE,
    _ADJUST
};

// Defines the keycodes used by our macros in process_record_user
enum custom_keycodes {
    BASE,
    LOWER,
    RAISE,
};

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
    /* BASE
     * ------------------------------------------------------------------------------------------------------------------
     * |  *   |   /  |   =  |  Del ||   `  |   1  |   2  |   3  |   4  |   5  |   6  |   7  |   8  |   9  |   0  | BSpc |
     * ------------------------------------------------------------------------------------------------------------------
     * |  +   |   7  |   8  |   9  || Tab  |   Q  |   W  |   E  |   R  |   T  |   Y  |   U  |   I  |   O  |   P  |   \  |
     *-------------------------------------------------------------------------------------------------------------------
     * |  +   |   4  |   5  |   6  || Esc  |   A  |   S  |   D  |   F  |   G  |   H  |   J  |   K  |   L  |   ;  | Enter|
     *------------------------------------------------------------------------------------------------------------------
     * | Enter|   1  |   2  |   3  || Shift|   Z  |   X  |   C  |   V  |   B  |   N  |   M  |   ,  |   .  |   /  | Shift|
     *-------------------------------------------------------------------------------------------------------------------
     * | Enter|   .  |   0  |   0  || Ctrl | Ctrl | Alt  | GUI  |Lower |    Space    |Raise | Left | Down |  Up  | Right|
     *-------------------------------------------------------------------------------------------------------------------
     */
    [_BASE] = LAYOUT_ortho_5x16(
    KC_PAST,    KC_PSLS,    KC_EQL,     KC_DEL,     KC_GRV,     KC_1,       KC_2,       KC_3,       KC_4,       KC_5,       KC_6,       KC_7,       KC_8,       KC_9,       KC_0,       KC_BSPC,
    KC_PPLS,    KC_7,       KC_8,       KC_9,       KC_TAB,     KC_Q,       KC_W,       KC_E,       KC_R,       KC_T,       KC_Y,       KC_U,       KC_I,       KC_O,       KC_P,       KC_BSLS,
    KC_PPLS,    KC_4,       KC_5,       KC_6,       KC_ESC,     KC_A,       KC_S,       KC_D,       KC_F,       KC_G,       KC_H,       KC_J,       KC_K,       KC_L,       KC_SCLN,    KC_ENT,
    KC_ENT,     KC_1,       KC_2,       KC_3,       KC_LSFT,    KC_Z,       KC_X,       KC_C,       KC_V,       KC_B,       KC_N,       KC_M,       KC_COMM,    KC_DOT,     KC_SLSH,    RSFT_T(KC_QUOT),
    KC_ENT,     KC_PDOT,    KC_0,       KC_0,       KC_LCTL,    KC_LCTL,    KC_LALT,    KC_LGUI,    LOWER,      KC_SPC,     KC_SPC,     RAISE,      KC_LEFT,    KC_DOWN,    KC_UP,      KC_RGHT
    ),

    [_LOWER] = LAYOUT_ortho_5x16(
    _______,    _______,    _______,    _______,    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_BSPC,    KC_EQL ,    KC_7   ,    KC_8   ,    KC_9   ,    KC_SLSH,    KC_CIRC,    KC_LBRC,    KC_RBRC,    KC_AT  ,    KC_EXLM,    KC_BSLS,
    _______,    _______,    _______,    _______,    KC_ENT ,    KC_0   ,    KC_4   ,    KC_5   ,    KC_6   ,    KC_MINS,    KC_UNDS,    KC_LPRN,    KC_RPRN,    KC_HASH,    KC_DQUO,    _______,
    _______,    _______,    _______,    _______,    KC_DLR ,    KC_PAST,    KC_1   ,    KC_2   ,    KC_3   ,    KC_PPLS,    KC_PIPE,    KC_LCBR,    KC_RCBR,    KC_PERC,    KC_AMPR,    _______,
    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______
    ),

    [_RAISE] = LAYOUT_ortho_5x16(
    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,
    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    KC_HOME,    KC_BSPC,    KC_DEL ,    KC_END ,    _______,
    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    KC_LEFT,    KC_DOWN,    KC_UP,      KC_RGHT,    KC_QUOT,    _______,
    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    KC_PGUP,    _______,    _______,    KC_PGDN,    _______,
    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______
    ),

    [_ADJUST] = LAYOUT_ortho_5x16(
    _______,    _______,    _______,    _______,    RESET,      _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    DEBUG  ,
    _______,    _______,    _______,    _______,    _______,    RGB_TOG,    RGB_RMOD,   RGB_MOD,    RGB_VAD,    RGB_VAI,    _______,    _______,    _______,    _______,    _______,    _______,
    _______,    _______,    _______,    _______,    KC_CAPS,    _______,    RGB_HUD,    RGB_HUI,    RGB_SAD,    RGB_SAI,    _______,    _______,    _______,    _______,    _______,    _______,
    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,
    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______,    _______
    )
};

A keyboards/nckiibs/waaffle/keymaps/via/rules.mk => keyboards/nckiibs/waaffle/keymaps/via/rules.mk +1 -0
@@ 0,0 1,1 @@
VIA_ENABLE = yes

A keyboards/nckiibs/waaffle/readme.md => keyboards/nckiibs/waaffle/readme.md +22 -0
@@ 0,0 1,22 @@
# Waaffle

![waaffle](https://i.imgur.com/MMIuK9tl.jpg)
![waaffle](https://imgur.com/6IMH4kul.jpg)

Waaffle is an ortholinear keyboard that supports 60 key and 80 key layouts. The base PCB has a 60 key ortholinear layout, and it can be expanded to an 80 key ortholinear keyboard simply by adding an extension PCB. Waaffle features RGB underglow and on-board pinouts including a power switch and battery connection for a Bluetooth setup. Designed by dELIKEEb

* Keyboard Maintainer: [noclew](https://github.com/noclew)
* Hardware Supported: Waaffle PCB
* Hardware Availability: Not commercially available. GB on Reddit and Geekhack time to times. 

Make example for this keyboard (after setting up your build environment):

    make nckiibs/waaffle/rev3/pro_micro:default  # for Pro Micro builds
    make nckiibs/waaffle/rev3/elite_c:default    # for Elite-C builds

Flashing example for this keyboard:

    make nckiibs/waaffle/rev3/pro_micro:default:flash  # for Pro Micro builds
    make nckiibs/waaffle/rev3/elite_c:default:flash    # for Elite-C builds

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).

A keyboards/nckiibs/waaffle/rev3/config.h => keyboards/nckiibs/waaffle/rev3/config.h +137 -0
@@ 0,0 1,137 @@
/*
Copyright 2020 noclew

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 2 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.
*/

#pragma once

/* USB Device descriptor parameter */
#define DEVICE_VER      0x0003
#define PRODUCT         Waaffle_rev3

/* key matrix size */
#define MATRIX_ROWS 8
#define MATRIX_COLS 10

/*
 * Keyboard Matrix Assignments
 *
 * Change this to how you wired your keyboard
 * COLS: AVR pins used for columns, left to right
 * ROWS: AVR pins used for rows, top to bottom
 * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
 *                  ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
 *
 */
#define MATRIX_ROW_PINS { F4, B6, B2, B3, B1, F5, F6, F7 }
#define MATRIX_COL_PINS { D3, D2, B5, B4, E6, D7, C6, D4, D0, D1 }
#define UNUSED_PINS

/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW

//#define BACKLIGHT_PIN B7
//#define BACKLIGHT_LEVELS 3
//#define BACKLIGHT_BREATHING

/*rotary encoder setting*/
#define ENCODERS_PAD_A { B7, F1 }
#define ENCODERS_PAD_B { D5, F0 }

#define RGB_DI_PIN C7
#ifdef RGB_DI_PIN
#    define RGBLED_NUM 10
#    define RGBLIGHT_HUE_STEP 8
#    define RGBLIGHT_SAT_STEP 8
#    define RGBLIGHT_VAL_STEP 8
#    define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */
#    define RGBLIGHT_SLEEP  /* If defined, the RGB lighting will be switched off when the host goes to sleep */
/*== all animations enable ==*/
// #    define RGBLIGHT_ANIMATIONS
/*== or choose animations ==*/
// #    define RGBLIGHT_EFFECT_BREATHING
#    define RGBLIGHT_EFFECT_RAINBOW_MOOD
#    define RGBLIGHT_EFFECT_RAINBOW_SWIRL
// #    define RGBLIGHT_EFFECT_SNAKE
// #    define RGBLIGHT_EFFECT_KNIGHT
// #    define RGBLIGHT_EFFECT_CHRISTMAS
#    define RGBLIGHT_EFFECT_STATIC_GRADIENT
// #    define RGBLIGHT_EFFECT_RGB_TEST
// #    define RGBLIGHT_EFFECT_ALTERNATING
/*== customize breathing effect ==*/
/*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/
#    define RGBLIGHT_BREATHE_TABLE_SIZE 256      // 256(default) or 128 or 64
/*==== use exp() and sin() ====*/
#    define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85  // 1 to 2.7
#    define RGBLIGHT_EFFECT_BREATHE_MAX    255   // 0 to 255
#endif

/* 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

/* If defined, GRAVE_ESC will always act as ESC when CTRL is held.
 * This is useful for the Windows task manager shortcut (ctrl+shift+esc).
 */
#define GRAVE_ESC_CTRL_OVERRIDE

/*
 * Force NKRO
 *
 * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved
 * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the
 * makefile for this to work.)
 *
 * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N)
 * until the next keyboard reset.
 *
 * NKRO may prevent your keystrokes from being detected in the BIOS, but it is
 * fully operational during normal computer usage.
 *
 * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N)
 * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by
 * bootmagic, NKRO mode will always be enabled until it is toggled again during a
 * power-up.
 *
 */
//#define FORCE_NKRO

/*
 * Feature disable options
 *  These options are also useful to firmware size reduction.
 */

/* disable debug print */
//#define NO_DEBUG

/* disable print */
//#define NO_PRINT

/* disable action features */
//#define NO_ACTION_LAYER
//#define NO_ACTION_TAPPING
//#define NO_ACTION_ONESHOT

/* disable these deprecated features by default */
#define NO_ACTION_MACRO
#define NO_ACTION_FUNCTION

/* Bootmagic Lite key configuration */
#define BOOTMAGIC_LITE_ROW 6
#define BOOTMAGIC_LITE_COLUMN 0

A keyboards/nckiibs/waaffle/rev3/elite_c/rules.mk => keyboards/nckiibs/waaffle/rev3/elite_c/rules.mk +6 -0
@@ 0,0 1,6 @@
# Bootloader selection
BOOTLOADER = atmel-dfu

# supported on Elite-C controllers
RGBLIGHT_ENABLE = yes       # Enable keyboard RGB underglow
ENCODER_ENABLE = yes        # Enable Rotary Encoder

A keyboards/nckiibs/waaffle/rev3/info.json => keyboards/nckiibs/waaffle/rev3/info.json +19 -0
@@ 0,0 1,19 @@
{
    "keyboard_name": "waaffle",
    "url": "",
    "maintainer": "noclew",
    "width": 16.25,
    "height": 5,
    "layouts": {
        "LAYOUT_ortho_5x16": {
            "layout":
            [
                {"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4.25, "y":0}, {"x":5.25, "y":0}, {"x":6.25, "y":0}, {"x":7.25, "y":0}, {"x":8.25, "y":0}, {"x":9.25, "y":0}, {"x":10.25, "y":0}, {"x":11.25, "y":0}, {"x":12.25, "y":0}, {"x":13.25, "y":0}, {"x":14.25, "y":0}, {"x":15.25, "y":0},
                {"x":0, "y":1}, {"x":1, "y":1}, {"x":2, "y":1}, {"x":3, "y":1}, {"x":4.25, "y":1}, {"x":5.25, "y":1}, {"x":6.25, "y":1}, {"x":7.25, "y":1}, {"x":8.25, "y":1}, {"x":9.25, "y":1}, {"x":10.25, "y":1}, {"x":11.25, "y":1}, {"x":12.25, "y":1}, {"x":13.25, "y":1}, {"x":14.25, "y":1}, {"x":15.25, "y":1},
                {"x":0, "y":2}, {"x":1, "y":2}, {"x":2, "y":2}, {"x":3, "y":2}, {"x":4.25, "y":2}, {"x":5.25, "y":2}, {"x":6.25, "y":2}, {"x":7.25, "y":2}, {"x":8.25, "y":2}, {"x":9.25, "y":2}, {"x":10.25, "y":2}, {"x":11.25, "y":2}, {"x":12.25, "y":2}, {"x":13.25, "y":2}, {"x":14.25, "y":2}, {"x":15.25, "y":2},
                {"x":0, "y":3}, {"x":1, "y":3}, {"x":2, "y":3}, {"x":3, "y":3}, {"x":4.25, "y":3}, {"x":5.25, "y":3}, {"x":6.25, "y":3}, {"x":7.25, "y":3}, {"x":8.25, "y":3}, {"x":9.25, "y":3}, {"x":10.25, "y":3}, {"x":11.25, "y":3}, {"x":12.25, "y":3}, {"x":13.25, "y":3}, {"x":14.25, "y":3}, {"x":15.25, "y":3},
                {"x":0, "y":4}, {"x":1, "y":4}, {"x":2, "y":4}, {"x":3, "y":4}, {"x":4.25, "y":4}, {"x":5.25, "y":4}, {"x":6.25, "y":4}, {"x":7.25, "y":4}, {"x":8.25, "y":4}, {"x":9.25, "y":4}, {"x":10.25, "y":4}, {"x":11.25, "y":4}, {"x":12.25, "y":4}, {"x":13.25, "y":4}, {"x":14.25, "y":4}, {"x":15.25, "y":4}
            ]
        }
    }
}

A keyboards/nckiibs/waaffle/rev3/pro_micro/rules.mk => keyboards/nckiibs/waaffle/rev3/pro_micro/rules.mk +6 -0
@@ 0,0 1,6 @@
# Bootloader selection
BOOTLOADER = caterina

# not supported on Pro Micro controllers
RGBLIGHT_ENABLE = no        # Enable keyboard RGB underglow
ENCODER_ENABLE = no         # Enable Rotary Encoder

A keyboards/nckiibs/waaffle/rev3/rev3.c => keyboards/nckiibs/waaffle/rev3/rev3.c +17 -0
@@ 0,0 1,17 @@
/* Copyright 2020 noclew
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */

#include "rev3.h"

A keyboards/nckiibs/waaffle/rev3/rev3.h => keyboards/nckiibs/waaffle/rev3/rev3.h +44 -0
@@ 0,0 1,44 @@
/* Copyright 2020 noclew
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */

#pragma once

#include "quantum.h"

/* This is a shortcut to help you visually see your layout.
 *
 * The first section contains all of the arguments representing the physical
 * layout of the board and position of the keys.
 *
 * The second converts the arguments into a two-dimensional array which
 * represents the switch matrix.
 */
#define LAYOUT_ortho_5x16( \
    k76, k66, k56, k71, k61, k51, k01, k02, k03, k04, k05, k06, k07, k08, k09, k10, \
    k77, k67, k57, k72, k62, k52, k11, k12, k13, k14, k15, k16, k17, k18, k19, k20, \
    k78, k68, k58, k73, k63, k53, k21, k22, k23, k24, k25, k26, k27, k28, k29, k30, \
    k79, k69, k59, k74, k64, k54, k31, k32, k33, k34, k35, k36, k37, k38, k39, k40, \
    k80, k70, k60, k75, k65, k55, k41, k42, k43, k44, k45, k46, k47, k48, k49, k50 \
) { \
    { k01, k02, k03, k04, k05, k06, k07, k08, k09, k10 }, \
    { k11, k12, k13, k14, k15, k16, k17, k18, k19, k20 }, \
    { k21, k22, k23, k24, k25, k26, k27, k28, k29, k30 }, \
    { k31, k32, k33, k34, k35, k36, k37, k38, k39, k40 }, \
    { k41, k42, k43, k44, k45, k46, k47, k48, k49, k50 }, \
    { k51, k52, k53, k54, k55, k56, k57, k58, k59, k60 }, \
    { k61, k62, k63, k64, k65, k66, k67, k68, k69, k70 }, \
    { k71, k72, k73, k74, k75, k76, k77, k78, k79, k80 } \
}

A keyboards/nckiibs/waaffle/rev3/rules.mk => keyboards/nckiibs/waaffle/rev3/rules.mk +24 -0
@@ 0,0 1,24 @@
# MCU name
MCU = atmega32u4

# Bootloader selection
BOOTLOADER = caterina

# Build Options
#   change yes to no to disable
#
BOOTMAGIC_ENABLE = lite     # 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 = 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 = no            # USB Nkey Rollover
BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = no        # Enable keyboard RGB underglow
BLUETOOTH_ENABLE = no       # Enable Bluetooth
AUDIO_ENABLE = no           # Audio output

DEFAULT_FOLDER = nckiibs/waaffle/rev3/pro_micro