aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorQMK Bot <hello@qmk.fm>2021-03-20 00:13:10 +0000
committerQMK Bot <hello@qmk.fm>2021-03-20 00:13:10 +0000
commit9d547a8443322afb2a4034168abd98e23397dbff (patch)
tree4f3aeca2b952d2dc92a8d74b72d284d8b50e1188
parentc2dc3008b5fb87ad81de6c30f7923a95a3fcf4d7 (diff)
parent0ab88f534227f908ed7ab6f4e20f83a8a19b2423 (diff)
downloadqmk_firmware-9d547a8443322afb2a4034168abd98e23397dbff.tar.gz
qmk_firmware-9d547a8443322afb2a4034168abd98e23397dbff.zip
Merge remote-tracking branch 'origin/master' into develop
-rw-r--r--keyboards/nckiibs/vaguettelite/config.h119
-rw-r--r--keyboards/nckiibs/vaguettelite/info.json15
-rw-r--r--keyboards/nckiibs/vaguettelite/keymaps/default/keymap.c134
-rw-r--r--keyboards/nckiibs/vaguettelite/keymaps/default/readme.md1
-rw-r--r--keyboards/nckiibs/vaguettelite/keymaps/default_625u_universal/keymap.c134
-rw-r--r--keyboards/nckiibs/vaguettelite/keymaps/default_625u_universal/readme.md1
-rw-r--r--keyboards/nckiibs/vaguettelite/keymaps/noclew/keymap.c154
-rw-r--r--keyboards/nckiibs/vaguettelite/keymaps/noclew/readme.md1
-rw-r--r--keyboards/nckiibs/vaguettelite/keymaps/via/keymap.c135
-rw-r--r--keyboards/nckiibs/vaguettelite/keymaps/via/rules.mk1
-rw-r--r--keyboards/nckiibs/vaguettelite/readme.md19
-rw-r--r--keyboards/nckiibs/vaguettelite/rules.mk23
-rw-r--r--keyboards/nckiibs/vaguettelite/vaguettelite.c17
-rw-r--r--keyboards/nckiibs/vaguettelite/vaguettelite.h57
-rw-r--r--keyboards/nckiibs/vanana/config.h24
-rw-r--r--keyboards/nckiibs/vanana/info.json12
-rw-r--r--keyboards/nckiibs/vanana/keymaps/default/keymap.c144
-rw-r--r--keyboards/nckiibs/vanana/keymaps/default/readme.md1
-rw-r--r--keyboards/nckiibs/vanana/keymaps/via/keymap.c79
-rw-r--r--keyboards/nckiibs/vanana/keymaps/via/rules.mk2
-rw-r--r--keyboards/nckiibs/vanana/readme.md19
-rw-r--r--keyboards/nckiibs/vanana/rev1/config.h100
-rw-r--r--keyboards/nckiibs/vanana/rev1/rev1.c17
-rw-r--r--keyboards/nckiibs/vanana/rev1/rev1.h40
-rw-r--r--keyboards/nckiibs/vanana/rev1/rules.mk2
-rw-r--r--keyboards/nckiibs/vanana/rev2/config.h100
-rw-r--r--keyboards/nckiibs/vanana/rev2/rev2.c17
-rw-r--r--keyboards/nckiibs/vanana/rev2/rev2.h41
-rw-r--r--keyboards/nckiibs/vanana/rev2/rules.mk2
-rw-r--r--keyboards/nckiibs/vanana/rules.mk25
-rw-r--r--keyboards/nckiibs/waaffle/config.h24
-rw-r--r--keyboards/nckiibs/waaffle/keymaps/default/keymap.c132
-rw-r--r--keyboards/nckiibs/waaffle/keymaps/default/readme.md1
-rw-r--r--keyboards/nckiibs/waaffle/keymaps/via/keymap.c78
-rw-r--r--keyboards/nckiibs/waaffle/keymaps/via/rules.mk1
-rw-r--r--keyboards/nckiibs/waaffle/readme.md22
-rw-r--r--keyboards/nckiibs/waaffle/rev3/config.h137
-rw-r--r--keyboards/nckiibs/waaffle/rev3/elite_c/rules.mk6
-rw-r--r--keyboards/nckiibs/waaffle/rev3/info.json19
-rw-r--r--keyboards/nckiibs/waaffle/rev3/pro_micro/rules.mk6
-rw-r--r--keyboards/nckiibs/waaffle/rev3/rev3.c17
-rw-r--r--keyboards/nckiibs/waaffle/rev3/rev3.h44
-rw-r--r--keyboards/nckiibs/waaffle/rev3/rules.mk24
43 files changed, 1947 insertions, 0 deletions
diff --git a/keyboards/nckiibs/vaguettelite/config.h b/keyboards/nckiibs/vaguettelite/config.h
new file mode 100644
index 000000000..ef1aec49e
--- /dev/null
+++ b/keyboards/nckiibs/vaguettelite/config.h
@@ -0,0 +1,119 @@
1/*
2Copyright 2020 noclew
3
4This program is free software: you can redistribute it and/or modify
5it under the terms of the GNU General Public License as published by
6the Free Software Foundation, either version 2 of the License, or
7(at your option) any later version.
8
9This program is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12GNU General Public License for more details.
13
14You should have received a copy of the GNU General Public License
15along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/
17
18#pragma once
19
20#include "config_common.h"
21
22/* USB Device descriptor parameter */
23#define VENDOR_ID 0x9906
24#define PRODUCT_ID 0x0011
25#define DEVICE_VER 0x0003
26#define MANUFACTURER dELIKEEb
27#define PRODUCT Vaguette Lite
28
29/* key matrix size */
30#define MATRIX_ROWS 6
31#define MATRIX_COLS 12
32
33/*
34 * Keyboard Matrix Assignments
35 *
36 * Change this to how you wired your keyboard
37 * COLS: AVR pins used for columns, left to right
38 * ROWS: AVR pins used for rows, top to bottom
39 * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
40 * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
41 *
42 */
43#define MATRIX_ROW_PINS { F4, B3, D1, D2, D3, F5 }
44#define MATRIX_COL_PINS { F6, F7, B1, B2, B6, B5, B4, E6, D7, C6, D0, D4 }
45#define UNUSED_PINS
46
47/* COL2ROW, ROW2COL */
48#define DIODE_DIRECTION COL2ROW
49
50/*rotary encoder setting*/
51#define ENCODERS_PAD_A { D5, F1 }
52#define ENCODERS_PAD_B { B7, F0 }
53
54#define RGB_DI_PIN C7
55#ifdef RGB_DI_PIN
56# define RGBLED_NUM 9
57# define RGBLIGHT_HUE_STEP 8
58# define RGBLIGHT_SAT_STEP 8
59# define RGBLIGHT_VAL_STEP 8
60# define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */
61# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */
62/*== all animations enable ==*/
63// # define RGBLIGHT_ANIMATIONS
64/*== or choose animations ==*/
65// # define RGBLIGHT_EFFECT_BREATHING
66# define RGBLIGHT_EFFECT_RAINBOW_MOOD
67# define RGBLIGHT_EFFECT_RAINBOW_SWIRL
68// # define RGBLIGHT_EFFECT_SNAKE
69// # define RGBLIGHT_EFFECT_KNIGHT
70// # define RGBLIGHT_EFFECT_CHRISTMAS
71# define RGBLIGHT_EFFECT_STATIC_GRADIENT
72// # define RGBLIGHT_EFFECT_RGB_TEST
73// # define RGBLIGHT_EFFECT_ALTERNATING
74/*== customize breathing effect ==*/
75/*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/
76# define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64
77/*==== use exp() and sin() ====*/
78# define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7
79# define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255
80#endif
81
82/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
83#define DEBOUNCE 5
84
85/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
86#define LOCKING_SUPPORT_ENABLE
87/* Locking resynchronize hack */
88#define LOCKING_RESYNC_ENABLE
89
90/* If defined, GRAVE_ESC will always act as ESC when CTRL is held.
91 * This is useful for the Windows task manager shortcut (ctrl+shift+esc).
92 */
93//#define GRAVE_ESC_CTRL_OVERRIDE
94
95//#define FORCE_NKRO
96
97/*
98 * Feature disable options
99 * These options are also useful to firmware size reduction.
100 */
101
102/* disable debug print */
103//#define NO_DEBUG
104
105/* disable print */
106//#define NO_PRINT
107
108/* disable action features */
109//#define NO_ACTION_LAYER
110//#define NO_ACTION_TAPPING
111//#define NO_ACTION_ONESHOT
112
113/* disable these deprecated features by default */
114#define NO_ACTION_MACRO
115#define NO_ACTION_FUNCTION
116
117/* Bootmagic Lite key configuration */
118#define BOOTMAGIC_LITE_ROW 0
119#define BOOTMAGIC_LITE_COLUMN 0
diff --git a/keyboards/nckiibs/vaguettelite/info.json b/keyboards/nckiibs/vaguettelite/info.json
new file mode 100644
index 000000000..0f3d6049a
--- /dev/null
+++ b/keyboards/nckiibs/vaguettelite/info.json
@@ -0,0 +1,15 @@
1{
2 "keyboard_name": "vaguettelite",
3 "url": "",
4 "maintainer": "noclew",
5 "width": 15,
6 "height": 5,
7 "layouts": {
8 "LAYOUT_all": {
9 "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}]
10 },
11 "LAYOUT_625u_universal": {
12 "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}]
13 }
14 }
15}
diff --git a/keyboards/nckiibs/vaguettelite/keymaps/default/keymap.c b/keyboards/nckiibs/vaguettelite/keymaps/default/keymap.c
new file mode 100644
index 000000000..90778e51f
--- /dev/null
+++ b/keyboards/nckiibs/vaguettelite/keymaps/default/keymap.c
@@ -0,0 +1,134 @@
1/* Copyright 2020 noclew
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#include QMK_KEYBOARD_H
17
18// Defines names for use in layer keycodes and the keymap
19enum layer_names {
20 _BASE,
21 _LOWER,
22 _RAISE,
23 _ADJUST
24};
25
26// Defines the keycodes used by our macros in process_record_user
27enum custom_keycodes {
28 BASE,
29 LOWER,
30 RAISE,
31};
32
33const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
34
35 /* BASE
36 * ---------------------------------------------------------------------------------------------------------
37 * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | Bspc | Mute |
38 * ---------------------------------------------------------------------------------------------------------
39 * | Tab | Q | W | E | R | T | Y | U | I | O | P | \ | [ | ] |
40 *----------------------------------------------------------------------------------------------------------
41 * | Esc | A | S | D | F | G | H | J | K | L | ; | Enter | N/A | ' |
42 *----------------------------------------------------------------------------------------------------------
43 * | N/A | Shift | Z | X | C | V | B | N | M | , | . | / | Shift | DEL |
44 *----------------------------------------------------------------------------------------------------------
45 * | Ctrl | GUI | Alt | Lower | Space | Space | Space | Raise | Alt | Left | Down | Up | Right |
46 *----------------------------------------------------------------------------------------------------------
47 */
48
49 [_BASE] = LAYOUT_all(
50 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,
51 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,
52 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,
53 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,
54 KC_LCTL, KC_LGUI, KC_LALT, LOWER , KC_SPC , KC_SPC , KC_SPC , RAISE, KC_RALT, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
55 ),
56
57 [_LOWER] = LAYOUT_all(
58 _______, 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 , _______,
59 KC_BSPC, KC_EQL , KC_7 , KC_8 , KC_9 , KC_SLSH, KC_CIRC, KC_LBRC, KC_RBRC, KC_AT , KC_EXLM, KC_BSLS, _______, _______,
60 KC_ENT , KC_0 , KC_4 , KC_5 , KC_6 , KC_MINS, KC_UNDS, KC_LPRN, KC_RPRN, KC_HASH, KC_DQUO , _______, _______, _______,
61 KC_DLR , KC_DLR , KC_PAST, KC_1 , KC_2 , KC_3 , KC_PPLS, KC_PIPE, KC_LCBR, KC_RCBR, KC_PERC, KC_AMPR, _______, _______,
62 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
63 ),
64
65 [_RAISE] = LAYOUT_all(
66 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
67 _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_BSPC, KC_DEL, KC_END , _______, _______, _______,
68 _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_QUOT, _______, _______, _______,
69 _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, _______, _______, KC_PGDN, _______, _______,
70 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
71 ),
72
73 [_ADJUST] = LAYOUT_all(
74 RESET , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, DEBUG,
75 _______, RGB_TOG, RGB_RMOD, RGB_MOD, RGB_VAD, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______,
76 KC_CAPS, _______, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, _______, _______, _______, _______, _______, _______, _______, _______,
77 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
78 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
79 )
80};
81
82bool process_record_user(uint16_t keycode, keyrecord_t *record) {
83 switch (keycode) {
84
85 case LOWER:
86 if (record->event.pressed) {
87 layer_on(_LOWER);
88 update_tri_layer(_LOWER, _RAISE, _ADJUST);
89 } else {
90 layer_off(_LOWER);
91 update_tri_layer(_LOWER, _RAISE, _ADJUST);
92 }
93 return false;
94
95 case RAISE:
96 if (record->event.pressed) {
97 layer_on(_RAISE);
98 update_tri_layer(_LOWER, _RAISE, _ADJUST);
99 } else {
100 layer_off(_RAISE);
101 update_tri_layer(_LOWER, _RAISE, _ADJUST);
102 }
103 return false;
104
105 }
106 return true;
107}
108
109void encoder_update_user(uint8_t index, bool clockwise) {
110 /* With an if statement we can check which encoder was turned. */
111 if (index == 0) { /* First encoder */
112 /* And with another if statement we can check the direction. */
113 if (clockwise) {
114 if (IS_LAYER_ON(_LOWER)){
115 tap_code(KC_RIGHT);
116 } else {
117 tap_code(KC_VOLU);
118 }
119 } else {
120 if (IS_LAYER_ON(_LOWER)){
121 tap_code(KC_LEFT);
122 } else {
123 tap_code(KC_VOLD);
124 }
125 }
126
127 } else if (index == 1) { /* Second encoder. Only supported by Elite-C */
128 if (clockwise) {
129 tap_code(KC_RIGHT);
130 } else {
131 tap_code(KC_LEFT);
132 }
133 }
134}
diff --git a/keyboards/nckiibs/vaguettelite/keymaps/default/readme.md b/keyboards/nckiibs/vaguettelite/keymaps/default/readme.md
new file mode 100644
index 000000000..1dc396734
--- /dev/null
+++ b/keyboards/nckiibs/vaguettelite/keymaps/default/readme.md
@@ -0,0 +1 @@
# The default keymap for Vaguette LITE
diff --git a/keyboards/nckiibs/vaguettelite/keymaps/default_625u_universal/keymap.c b/keyboards/nckiibs/vaguettelite/keymaps/default_625u_universal/keymap.c
new file mode 100644
index 000000000..ea95ce7be
--- /dev/null
+++ b/keyboards/nckiibs/vaguettelite/keymaps/default_625u_universal/keymap.c
@@ -0,0 +1,134 @@
1/* Copyright 2020 noclew
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#include QMK_KEYBOARD_H
17
18// Defines names for use in layer keycodes and the keymap
19enum layer_names {
20 _BASE,
21 _LOWER,
22 _RAISE,
23 _ADJUST
24};
25
26// Defines the keycodes used by our macros in process_record_user
27enum custom_keycodes {
28 BASE,
29 LOWER,
30 RAISE,
31};
32
33const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
34
35 /* BASE
36 * ---------------------------------------------------------------------------------------------------------
37 * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | BSpc | Mute |
38 * ---------------------------------------------------------------------------------------------------------
39 * | Tab | Q | W | E | R | T | Y | U | I | O | P | \ | [ | ] |
40 *----------------------------------------------------------------------------------------------------------
41 * | Esc | A | S | D | F | G | H | J | K | L | ; | Enter | ' |
42 *----------------------------------------------------------------------------------------------------------
43 * | Shift | Z | X | C | V | B | N | M | , | . | / | Shift |
44 *----------------------------------------------------------------------------------------------------------
45 * | Ctrl | GUI | Alt | Space | Raise | Left | Down | Up | Right |
46 *----------------------------------------------------------------------------------------------------------
47 */
48
49 [_BASE] = LAYOUT_625u_universal(
50 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,
51 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,
52 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,
53 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),
54 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC , RAISE , KC_LEFT, KC_DOWN, KC_UP , KC_RGHT
55 ),
56
57 [_LOWER] = LAYOUT_625u_universal(
58 _______, 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 , _______,
59 KC_BSPC, KC_EQL , KC_7 , KC_8 , KC_9 , KC_SLSH, KC_CIRC, KC_LBRC, KC_RBRC, KC_AT , KC_EXLM, KC_BSLS, _______, _______,
60 KC_ENT , KC_0 , KC_4 , KC_5 , KC_6 , KC_MINS, KC_UNDS, KC_LPRN, KC_RPRN, KC_HASH, KC_DQUO, _______, _______,
61 KC_DLR , KC_PAST, KC_1 , KC_2 , KC_3 , KC_PPLS, KC_PIPE, KC_LCBR, KC_RCBR, KC_PERC, KC_AMPR, _______,
62 _______, _______, _______, _______, _______, _______, _______, _______, _______
63 ),
64
65 [_RAISE] = LAYOUT_625u_universal(
66 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
67 _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_BSPC, KC_DEL, KC_END , _______, _______, _______,
68 _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_QUOT, _______, _______,
69 _______, _______, _______, _______, _______, _______, _______, KC_PGUP, _______, _______, KC_PGDN, _______,
70 _______, _______, _______, _______, _______, _______, _______, _______, _______
71 ),
72
73 [_ADJUST] = LAYOUT_625u_universal(
74 RESET , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, DEBUG,
75 _______, RGB_TOG, RGB_RMOD, RGB_MOD, RGB_VAD, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______,
76 KC_CAPS, _______, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, _______, _______, _______, _______, _______, _______, _______,
77 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
78 _______, _______, _______, _______, _______, _______, _______, _______, _______
79 )
80};
81
82bool process_record_user(uint16_t keycode, keyrecord_t *record) {
83 switch (keycode) {
84
85 case LOWER:
86 if (record->event.pressed) {
87 layer_on(_LOWER);
88 update_tri_layer(_LOWER, _RAISE, _ADJUST);
89 } else {
90 layer_off(_LOWER);
91 update_tri_layer(_LOWER, _RAISE, _ADJUST);
92 }
93 return false;
94
95 case RAISE:
96 if (record->event.pressed) {
97 layer_on(_RAISE);
98 update_tri_layer(_LOWER, _RAISE, _ADJUST);
99 } else {
100 layer_off(_RAISE);
101 update_tri_layer(_LOWER, _RAISE, _ADJUST);
102 }
103 return false;
104
105 }
106 return true;
107}
108
109void encoder_update_user(uint8_t index, bool clockwise) {
110 /* With an if statement we can check which encoder was turned. */
111 if (index == 0) { /* First encoder */
112 /* And with another if statement we can check the direction. */
113 if (clockwise) {
114 if (IS_LAYER_ON(_LOWER)){
115 tap_code(KC_RIGHT);
116 } else {
117 tap_code(KC_VOLU);
118 }
119 } else {
120 if (IS_LAYER_ON(_LOWER)){
121 tap_code(KC_LEFT);
122 } else {
123 tap_code(KC_VOLD);
124 }
125 }
126
127 } else if (index == 1) { /* Second encoder. Only supported by Elite-C */
128 if (clockwise) {
129 tap_code(KC_RIGHT);
130 } else {
131 tap_code(KC_LEFT);
132 }
133 }
134}
diff --git a/keyboards/nckiibs/vaguettelite/keymaps/default_625u_universal/readme.md b/keyboards/nckiibs/vaguettelite/keymaps/default_625u_universal/readme.md
new file mode 100644
index 000000000..fc537215e
--- /dev/null
+++ b/keyboards/nckiibs/vaguettelite/keymaps/default_625u_universal/readme.md
@@ -0,0 +1 @@
# The keymap using standard 6.25u spacebar for Vaguette LITE
diff --git a/keyboards/nckiibs/vaguettelite/keymaps/noclew/keymap.c b/keyboards/nckiibs/vaguettelite/keymaps/noclew/keymap.c
new file mode 100644
index 000000000..b82a893cd
--- /dev/null
+++ b/keyboards/nckiibs/vaguettelite/keymaps/noclew/keymap.c
@@ -0,0 +1,154 @@
1/* Copyright 2020 noclew
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#include QMK_KEYBOARD_H
17
18// Defines names for use in layer keycodes and the keymap
19enum layer_names {
20 _BASE,
21 _LOWER,
22 _RAISE,
23 _ADJUST,
24 _MAC,
25 _GAME
26};
27
28// Defines the keycodes used by our macros in process_record_user
29enum custom_keycodes {
30 BASE,
31 LOWER,
32 RAISE,
33 MAC,
34 GAME
35};
36
37const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
38
39 /* BASE
40 * ---------------------------------------------------------------------------------------------------------
41 * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | Bspc | Mute |
42 * ---------------------------------------------------------------------------------------------------------
43 * | Tab | Q | W | E | R | T | Y | U | I | O | P | \ | [ | ] |
44 *----------------------------------------------------------------------------------------------------------
45 * | Esc | A | S | D | F | G | H | J | K | L | ; | Enter | N/A | ' |
46 *----------------------------------------------------------------------------------------------------------
47 * | N/A | Shift | Z | X | C | V | B | N | M | , | . | / | Shift | DEL |
48 *----------------------------------------------------------------------------------------------------------
49 * | Ctrl | GUI | Alt | Lower | Space | Space | Space | Raise | Alt | Left | Down | Up | Right |
50 *----------------------------------------------------------------------------------------------------------
51 */
52
53 [_BASE] = LAYOUT_all(
54 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,
55 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,
56 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,
57 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,
58 KC_LCTL, KC_LGUI, KC_LALT, LOWER , KC_SPC , KC_SPC , KC_SPC , RAISE, KC_RALT, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
59 ),
60
61 [_MAC] = LAYOUT_all(
62 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
63 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
64 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
65 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
66 _______, KC_LALT, KC_LGUI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
67 ),
68
69 [_GAME] = LAYOUT_all(
70 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
71 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
72 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
73 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
74 _______, _______, MO(_LOWER), KC_LALT, _______, _______, _______, _______, _______, _______, _______, _______, _______
75 ),
76
77 [_LOWER] = LAYOUT_all(
78 _______, 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 , _______,
79 KC_BSPC, KC_EQL , KC_7 , KC_8 , KC_9 , KC_SLSH, KC_CIRC, KC_LBRC, KC_RBRC, KC_AT , KC_EXLM, KC_BSLS, _______, _______,
80 KC_ENT , KC_0 , KC_4 , KC_5 , KC_6 , KC_MINS, KC_UNDS, KC_LPRN, KC_RPRN, KC_HASH, KC_DQUO , _______, _______, _______,
81 KC_DLR , KC_DLR , KC_PAST, KC_1 , KC_2 , KC_3 , KC_PPLS, KC_PIPE, KC_LCBR, KC_RCBR, KC_PERC, KC_AMPR, _______, _______,
82 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
83 ),
84
85 [_RAISE] = LAYOUT_all(
86 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
87 _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_BSPC, KC_DEL, KC_END , _______, _______, _______,
88 _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_QUOT, _______, _______, _______,
89 _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, _______, _______, KC_PGDN, _______, _______,
90 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
91 ),
92
93 [_ADJUST] = LAYOUT_all(
94 RESET , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, DEBUG,
95 _______, RGB_TOG, RGB_RMOD, RGB_MOD, RGB_VAD, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______,
96 KC_CAPS, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, _______, _______, TG(_GAME), _______, _______, _______, _______, _______, _______,
97 _______, _______, _______, _______, _______, _______, _______, _______, TG(_MAC), _______, _______, _______, _______, _______,
98 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
99 )
100};
101
102bool process_record_user(uint16_t keycode, keyrecord_t *record) {
103 switch (keycode) {
104
105 case LOWER:
106 if (record->event.pressed) {
107 layer_on(_LOWER);
108 update_tri_layer(_LOWER, _RAISE, _ADJUST);
109 } else {
110 layer_off(_LOWER);
111 update_tri_layer(_LOWER, _RAISE, _ADJUST);
112 }
113 return false;
114
115 case RAISE:
116 if (record->event.pressed) {
117 layer_on(_RAISE);
118 update_tri_layer(_LOWER, _RAISE, _ADJUST);
119 } else {
120 layer_off(_RAISE);
121 update_tri_layer(_LOWER, _RAISE, _ADJUST);
122 }
123 return false;
124
125 }
126 return true;
127}
128
129void encoder_update_user(uint8_t index, bool clockwise) {
130 /* With an if statement we can check which encoder was turned. */
131 if (index == 0) { /* First encoder */
132 /* And with another if statement we can check the direction. */
133 if (clockwise) {
134 if (IS_LAYER_ON(_LOWER)){
135 tap_code(KC_RIGHT);
136 } else {
137 tap_code(KC_VOLU);
138 }
139 } else {
140 if (IS_LAYER_ON(_LOWER)){
141 tap_code(KC_LEFT);
142 } else {
143 tap_code(KC_VOLD);
144 }
145 }
146
147 } else if (index == 1) { /* Second encoder. Only supported by Elite-C */
148 if (clockwise) {
149 tap_code(KC_RIGHT);
150 } else {
151 tap_code(KC_LEFT);
152 }
153 }
154}
diff --git a/keyboards/nckiibs/vaguettelite/keymaps/noclew/readme.md b/keyboards/nckiibs/vaguettelite/keymaps/noclew/readme.md
new file mode 100644
index 000000000..bc2bbecb7
--- /dev/null
+++ b/keyboards/nckiibs/vaguettelite/keymaps/noclew/readme.md
@@ -0,0 +1 @@
# The noclew's keymap for Vaguette LITE
diff --git a/keyboards/nckiibs/vaguettelite/keymaps/via/keymap.c b/keyboards/nckiibs/vaguettelite/keymaps/via/keymap.c
new file mode 100644
index 000000000..4a98fc80a
--- /dev/null
+++ b/keyboards/nckiibs/vaguettelite/keymaps/via/keymap.c
@@ -0,0 +1,135 @@
1/* Copyright 2020 noclew
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17#include QMK_KEYBOARD_H
18
19// Defines names for use in layer keycodes and the keymap
20enum layer_names {
21 _BASE,
22 _LOWER,
23 _RAISE,
24 _ADJUST
25};
26
27// Defines the keycodes used by our macros in process_record_user
28enum custom_keycodes {
29 BASE,
30 LOWER,
31 RAISE,
32};
33
34const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
35
36 /* BASE
37 * ---------------------------------------------------------------------------------------------------------
38 * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | BSpc | Del | Del | Mute |
39 * ---------------------------------------------------------------------------------------------------------
40 * | Tab | Q | W | E | R | T | Y | U | I | O | P | \ | [ | ] |
41 *----------------------------------------------------------------------------------------------------------
42 * | Esc | A | S | D | F | G | H | J | K | L | ; | Enter | N/A | ' |
43 *----------------------------------------------------------------------------------------------------------
44 * | N/A | Shift | Z | X | C | V | B | N | M | , | . | / | Shift | / |
45 *----------------------------------------------------------------------------------------------------------
46 * | Ctrl | GUI | Alt | Lower | Space | Space | Space | Raise | Alt | Left | Down | Up | Right |
47 *----------------------------------------------------------------------------------------------------------
48 */
49
50 [_BASE] = LAYOUT_all(
51 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,
52 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,
53 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,
54 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,
55 KC_LCTL, KC_LGUI, KC_LALT, LOWER , KC_SPC , KC_SPC , KC_SPC , RAISE, KC_RALT, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
56 ),
57
58 [_LOWER] = LAYOUT_all(
59 _______, 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 , _______,
60 KC_BSPC, KC_EQL , KC_7 , KC_8 , KC_9 , KC_SLSH, KC_CIRC, KC_LBRC, KC_RBRC, KC_AT , KC_EXLM, KC_BSLS, _______, _______,
61 KC_ENT , KC_0 , KC_4 , KC_5 , KC_6 , KC_MINS, KC_UNDS, KC_LPRN, KC_RPRN, KC_HASH, KC_DQUO , _______, _______, _______,
62 KC_DLR , KC_DLR , KC_PAST, KC_1 , KC_2 , KC_3 , KC_PPLS, KC_PIPE, KC_LCBR, KC_RCBR, KC_PERC, KC_AMPR, _______, _______,
63 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
64 ),
65
66 [_RAISE] = LAYOUT_all(
67 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
68 _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_BSPC, KC_DEL, KC_END , _______, _______, _______,
69 _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_QUOT, _______, _______, _______,
70 _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, _______, _______, KC_PGDN, _______, _______,
71 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
72 ),
73
74 [_ADJUST] = LAYOUT_all(
75 RESET , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, DEBUG,
76 _______, RGB_TOG, RGB_RMOD, RGB_MOD, RGB_VAD, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______,
77 KC_CAPS, _______, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, _______, _______, _______, _______, _______, _______, _______, _______,
78 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
79 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
80 )
81};
82
83bool process_record_user(uint16_t keycode, keyrecord_t *record) {
84 switch (keycode) {
85
86 case LOWER:
87 if (record->event.pressed) {
88 layer_on(_LOWER);
89 update_tri_layer(_LOWER, _RAISE, _ADJUST);
90 } else {
91 layer_off(_LOWER);
92 update_tri_layer(_LOWER, _RAISE, _ADJUST);
93 }
94 return false;
95
96 case RAISE:
97 if (record->event.pressed) {
98 layer_on(_RAISE);
99 update_tri_layer(_LOWER, _RAISE, _ADJUST);
100 } else {
101 layer_off(_RAISE);
102 update_tri_layer(_LOWER, _RAISE, _ADJUST);
103 }
104 return false;
105
106 }
107 return true;
108}
109
110void encoder_update_user(uint8_t index, bool clockwise) {
111 /* With an if statement we can check which encoder was turned. */
112 if (index == 0) { /* First encoder */
113 /* And with another if statement we can check the direction. */
114 if (clockwise) {
115 if (IS_LAYER_ON(_LOWER)){
116 tap_code(KC_RIGHT);
117 } else {
118 tap_code(KC_VOLU);
119 }
120 } else {
121 if (IS_LAYER_ON(_LOWER)){
122 tap_code(KC_LEFT);
123 } else {
124 tap_code(KC_VOLD);
125 }
126 }
127
128 } else if (index == 1) { /* Second encoder. Only supported by Elite-C */
129 if (clockwise) {
130 tap_code(KC_RIGHT);
131 } else {
132 tap_code(KC_LEFT);
133 }
134 }
135}
diff --git a/keyboards/nckiibs/vaguettelite/keymaps/via/rules.mk b/keyboards/nckiibs/vaguettelite/keymaps/via/rules.mk
new file mode 100644
index 000000000..1e5b99807
--- /dev/null
+++ b/keyboards/nckiibs/vaguettelite/keymaps/via/rules.mk
@@ -0,0 +1 @@
VIA_ENABLE = yes
diff --git a/keyboards/nckiibs/vaguettelite/readme.md b/keyboards/nckiibs/vaguettelite/readme.md
new file mode 100644
index 000000000..09351226a
--- /dev/null
+++ b/keyboards/nckiibs/vaguettelite/readme.md
@@ -0,0 +1,19 @@
1# Vaguette Lite
2
3![vaguettelite](https://i.imgur.com/bSZKD1cl.jpg)
4
5Vaguette 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.
6
7* Keyboard Maintainer: [noclew](https://github.com/noclew)
8* Hardware Supported: Vaguette Lite PCB
9* Hardware Availability: Not commercially available. GB on Reddit and Geekhack time to times.
10
11Make example for this keyboard (after setting up your build environment):
12
13 make nckiibs/vaguettelite:default
14
15Flashing example for this keyboard:
16
17 make nckiibs/vaguettelite:default:flash
18
19See 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).
diff --git a/keyboards/nckiibs/vaguettelite/rules.mk b/keyboards/nckiibs/vaguettelite/rules.mk
new file mode 100644
index 000000000..5fff90dec
--- /dev/null
+++ b/keyboards/nckiibs/vaguettelite/rules.mk
@@ -0,0 +1,23 @@
1# MCU name
2MCU = atmega32u4
3
4# Bootloader selection
5BOOTLOADER = atmel-dfu
6
7# Build Options
8# change yes to no to disable
9#
10BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
11MOUSEKEY_ENABLE = yes # Mouse keys
12EXTRAKEY_ENABLE = yes # Audio control and System control
13CONSOLE_ENABLE = no # Console for debug
14COMMAND_ENABLE = no # Commands for debug and configuration
15# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
16SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
17# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
18NKRO_ENABLE = no # USB Nkey Rollover
19BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
20RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
21BLUETOOTH_ENABLE = no # Enable Bluetooth
22AUDIO_ENABLE = no # Audio output
23ENCODER_ENABLE = yes
diff --git a/keyboards/nckiibs/vaguettelite/vaguettelite.c b/keyboards/nckiibs/vaguettelite/vaguettelite.c
new file mode 100644
index 000000000..a91dae9a3
--- /dev/null
+++ b/keyboards/nckiibs/vaguettelite/vaguettelite.c
@@ -0,0 +1,17 @@
1/* Copyright 2020 noclew
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17#include "vaguettelite.h"
diff --git a/keyboards/nckiibs/vaguettelite/vaguettelite.h b/keyboards/nckiibs/vaguettelite/vaguettelite.h
new file mode 100644
index 000000000..20a0e5972
--- /dev/null
+++ b/keyboards/nckiibs/vaguettelite/vaguettelite.h
@@ -0,0 +1,57 @@
1/* Copyright 2020 noclew
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17#pragma once
18
19#include "quantum.h"
20
21/* This is a shortcut to help you visually see your layout.
22 *
23 * The first section contains all of the arguments representing the physical
24 * layout of the board and position of the keys.
25 *
26 * The second converts the arguments into a two-dimensional array which
27 * represents the switch matrix.
28 */
29#define LAYOUT_all( \
30 k01, k02, k03, k04, k05, k06, k07, k08, k09, k10, k11, k12, k65, k66, k69,\
31 k13, k14, k15, k16, k17, k18, k19, k20, k21, k22, k23, k24, k67, k68,\
32 k25, k26, k27, k28, k29, k30, k31, k32, k33, k34, k35, k36, k61, k70,\
33 k60, k37, k38, k39, k40, k41, k42, k43, k44, k45, k46, k47, k48, k62,\
34 k49, k50, k51, k52, k53, k54, k55, k56, k57, k58, k59, k63, k64 \
35) { \
36 { k01, k02, k03, k04, k05, k06, k07, k08, k09, k10, k11, k12 }, \
37 { k13, k14, k15, k16, k17, k18, k19, k20, k21, k22, k23, k24 }, \
38 { k25, k26, k27, k28, k29, k30, k31, k32, k33, k34, k35, k36 }, \
39 { k37, k38, k39, k40, k41, k42, k43, k44, k45, k46, k47, k48 }, \
40 { k49, k50, k51, k52, k53, k54, KC_NO, k55, k56, k57, k58, k59}, \
41 { k60, KC_NO, k61, k62, k63, k64, k65, k66, k67, k68, k69, k70 } \
42}
43
44#define LAYOUT_625u_universal( \
45 k01, k02, k03, k04, k05, k06, k07, k08, k09, k10, k11, k12, k65, k66, k69,\
46 k13, k14, k15, k16, k17, k18, k19, k20, k21, k22, k23, k24, k67, k68,\
47 k25, k26, k27, k28, k29, k30, k31, k32, k33, k34, k35, k36, k70,\
48 k37, k38, k39, k40, k41, k42, k43, k44, k45, k46, k47, k48,\
49 k49, k50, k51, k54, k57, k58, k59, k63, k64 \
50) { \
51 { k01, k02, k03, k04, k05, k06, k07, k08, k09, k10, k11, k12 }, \
52 { k13, k14, k15, k16, k17, k18, k19, k20, k21, k22, k23, k24 }, \
53 { k25, k26, k27, k28, k29, k30, k31, k32, k33, k34, k35, k36 }, \
54 { k37, k38, k39, k40, k41, k42, k43, k44, k45, k46, k47, k48 }, \
55 { k49, k50, k51, KC_NO, KC_NO, k54, KC_NO, KC_NO, KC_NO, k57, k58, k59}, \
56 { KC_NO, KC_NO, KC_NO, KC_NO, k63, k64, k65, k66, k67, k68, k69, k70 } \
57}
diff --git a/keyboards/nckiibs/vanana/config.h b/keyboards/nckiibs/vanana/config.h
new file mode 100644
index 000000000..3a5a88894
--- /dev/null
+++ b/keyboards/nckiibs/vanana/config.h
@@ -0,0 +1,24 @@
1/*
2Copyright 2020 noclew
3
4This program is free software: you can redistribute it and/or modify
5it under the terms of the GNU General Public License as published by
6the Free Software Foundation, either version 2 of the License, or
7(at your option) any later version.
8
9This program is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12GNU General Public License for more details.
13
14You should have received a copy of the GNU General Public License
15along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/
17
18#pragma once
19
20#include "config_common.h"
21
22#define VENDOR_ID 0x9906
23#define PRODUCT_ID 0x0013
24#define MANUFACTURER dELIKEEb
diff --git a/keyboards/nckiibs/vanana/info.json b/keyboards/nckiibs/vanana/info.json
new file mode 100644
index 000000000..486e8a767
--- /dev/null
+++ b/keyboards/nckiibs/vanana/info.json
@@ -0,0 +1,12 @@
1{
2 "keyboard_name": "vanana",
3 "url": "",
4 "maintainer": "noclew",
5 "width": 15,
6 "height": 5,
7 "layouts": {
8 "LAYOUT": {
9 "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}]
10 }
11 }
12}
diff --git a/keyboards/nckiibs/vanana/keymaps/default/keymap.c b/keyboards/nckiibs/vanana/keymaps/default/keymap.c
new file mode 100644
index 000000000..bd797c563
--- /dev/null
+++ b/keyboards/nckiibs/vanana/keymaps/default/keymap.c
@@ -0,0 +1,144 @@
1/* Copyright 2020 noclew
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#include QMK_KEYBOARD_H
17
18#ifdef AUDIO_ENABLE
19 float song_coin[][2] = SONG(COIN_SOUND);
20#endif
21
22// Defines names for use in layer keycodes and the keymap
23enum layer_names {
24 _BASE,
25 _LOWER,
26 _RAISE,
27 _ADJUST
28};
29
30// Defines the keycodes used by our macros in process_record_user
31enum custom_keycodes {
32 BASE,
33 LOWER,
34 RAISE,
35};
36
37const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
38 /* BASE
39 * ------------------------------------------- -------------------------------------------
40 * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | Bksp |
41 * ------------------------------------------- -------------------------------------------
42 * | Tab | Q | W | E | R | T | | Y | U | I | O | P | \ |
43 * ------------------------------------------- --------- --------------------------------------------
44 * | Esc | A | S | D | F | G | | Bksp | | H | J | K | L | ; |Enter |
45 * ------------------------------------------- --------- -------------------------------------------
46 * | Shift| Z | X | C | V | B | | Del | | N | M | , | . | / | " |
47 * ------------------------------------------- --------- -------------------------------------------
48 * | GUI | Alt | Ctrl |Lower |Space | |Space |Raise |Alt | Left | Right|
49 * ------------------------------------ ------------------------------------
50 */
51
52 [_BASE] = LAYOUT(
53 KC_GRV, KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_BSPC,
54 KC_TAB, KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_BSLS,
55 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 ,
56 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),
57 KC_LGUI, KC_LALT, KC_LCTL, LOWER , KC_SPC, KC_SPC , RAISE , KC_RALT, KC_LEFT, KC_RGHT
58 ),
59
60 [_LOWER] = LAYOUT(
61 KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 ,
62 KC_BSPC, KC_EQL , KC_7 , KC_8 , KC_9 , KC_PPLS, KC_CIRC, KC_LBRC, KC_RBRC, KC_AT , KC_EXLM, KC_BSLS,
63 KC_ENT , KC_0 , KC_4 , KC_5 , KC_6 , KC_MINS, KC_LEFT, KC_UNDS, KC_LPRN, KC_RPRN, KC_HASH, KC_DQUO, _______,
64 KC_DLR , KC_PAST, KC_1 , KC_2 , KC_3 , KC_SLSH, KC_RGHT, KC_PIPE, KC_LCBR, KC_RCBR, KC_PERC, KC_AMPR, _______,
65 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
66 ),
67
68 [_RAISE] = LAYOUT(
69 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
70 _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_BSPC, KC_DEL , KC_END , _______,
71 _______, _______, _______, _______, _______, _______, KC_UP , KC_LEFT, KC_DOWN, KC_UP , KC_RGHT, KC_QUOT, _______,
72 _______, _______, _______, _______, _______, _______, KC_DOWN, _______, KC_PGUP, _______, KC_PGDN, _______, _______,
73 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
74 ),
75 [_ADJUST] = LAYOUT(
76 RESET , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, DEBUG ,
77 _______, RGB_TOG, RGB_RMOD, RGB_MOD, RGB_VAD, RGB_VAI, _______, _______, _______, _______, _______, _______,
78 KC_CAPS, _______, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, KC_VOLU, _______, _______, _______, _______, _______, _______,
79 _______, AU_ON , AU_OFF , _______, _______, _______, KC_VOLD, _______, _______, _______, _______, _______, _______,
80 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
81 )
82};
83
84bool process_record_user(uint16_t keycode, keyrecord_t *record) {
85 switch (keycode) {
86
87 case LOWER:
88 if (record->event.pressed) {
89 layer_on(_LOWER);
90 update_tri_layer(_LOWER, _RAISE, _ADJUST);
91 } else {
92 layer_off(_LOWER);
93 update_tri_layer(_LOWER, _RAISE, _ADJUST);
94 }
95 return false;
96
97 case RAISE:
98 if (record->event.pressed) {
99 layer_on(_RAISE);
100 update_tri_layer(_LOWER, _RAISE, _ADJUST);
101 } else {
102 layer_off(_RAISE);
103 update_tri_layer(_LOWER, _RAISE, _ADJUST);
104 }
105 return false;
106
107 case RESET:
108 if (record->event.pressed) {
109 #ifdef AUDIO_ENABLE
110 stop_all_notes();
111 PLAY_SONG(song_coin);
112 #endif
113 }
114 return false;
115 }
116 return true;
117}
118
119void encoder_update_user(uint8_t index, bool clockwise) {
120 /* With an if statement we can check which encoder was turned. */
121 if (index == 0) { /* First encoder */
122 /* And with another if statement we can check the direction. */
123 if (clockwise) {
124 if (IS_LAYER_ON(_LOWER)){
125 tap_code(KC_VOLU);
126 } else {
127 tap_code(KC_RIGHT);
128 }
129 } else {
130 if (IS_LAYER_ON(_LOWER)){
131 tap_code(KC_VOLD);
132 } else {
133 tap_code(KC_LEFT);
134 }
135 }
136
137 } else if (index == 1) { /* Second encoder. Only supported by Elite-C */
138 if (clockwise) {
139 tap_code(KC_RIGHT);
140 } else {
141 tap_code(KC_LEFT);
142 }
143 }
144}
diff --git a/keyboards/nckiibs/vanana/keymaps/default/readme.md b/keyboards/nckiibs/vanana/keymaps/default/readme.md
new file mode 100644
index 000000000..4fb4d2183
--- /dev/null
+++ b/keyboards/nckiibs/vanana/keymaps/default/readme.md
@@ -0,0 +1 @@
# The default keymap for vanana
diff --git a/keyboards/nckiibs/vanana/keymaps/via/keymap.c b/keyboards/nckiibs/vanana/keymaps/via/keymap.c
new file mode 100644
index 000000000..1715ae5bd
--- /dev/null
+++ b/keyboards/nckiibs/vanana/keymaps/via/keymap.c
@@ -0,0 +1,79 @@
1/* Copyright 2020 noclew
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#include QMK_KEYBOARD_H
17
18// Defines names for use in layer keycodes and the keymap
19enum layer_names {
20 _BASE,
21 _LOWER,
22 _RAISE,
23 _ADJUST
24};
25
26// Defines the keycodes used by our macros in process_record_user
27enum custom_keycodes {
28 BASE,
29 LOWER,
30 RAISE,
31};
32
33
34
35const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
36 /* BASE
37 * ------------------------------------------- -------------------------------------------
38 * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | Bksp |
39 * ------------------------------------------- -------------------------------------------
40 * | Tab | Q | W | E | R | T | | Y | U | I | O | P | \ |
41 * ------------------------------------------- --------- --------------------------------------------
42 * | Esc | A | S | D | F | G | | Bksp | | H | J | K | L | ; |Enter |
43 * ------------------------------------------- --------- -------------------------------------------
44 * | Shift| Z | X | C | V | B | | Del | | N | M | , | . | / | " |
45 * ------------------------------------------- --------- -------------------------------------------
46 * | Ctrl | GUI | Alt |Lower |Space | |Space |Raise |Alt | DOWN | UP |
47 * ------------------------------------ ------------------------------------
48 */
49
50 [_BASE] = LAYOUT(
51 KC_GRV, KC_1 , KC_2 , KC_3 , KC_4 , KC_5, KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_BSPC,
52 KC_TAB, KC_Q , KC_W , KC_E , KC_R , KC_T, KC_Y , KC_U , KC_I , KC_O , KC_P , KC_BSLS,
53 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 ,
54 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),
55 KC_LCTL, KC_LALT, KC_LGUI, LOWER , KC_SPC, KC_SPC , RAISE , KC_RALT, KC_DOWN, KC_UP
56 ),
57 [_LOWER] = LAYOUT(
58 KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 ,
59 KC_BSPC, KC_EQL , KC_7 , KC_8 , KC_9 , KC_SLSH, KC_CIRC, KC_LBRC, KC_RBRC, KC_AT , KC_EXLM, KC_BSLS,
60 KC_ENT , KC_0 , KC_4 , KC_5 , KC_6 , KC_MINS, KC_LEFT, KC_UNDS, KC_LPRN, KC_RPRN, KC_HASH, KC_DQUO, _______,
61 KC_DLR , KC_PAST, KC_1 , KC_2 , KC_3 , KC_PPLS, KC_RGHT, KC_PIPE, KC_LCBR, KC_RCBR, KC_PERC, KC_AMPR, _______,
62 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
63 ),
64
65 [_RAISE] = LAYOUT(
66 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
67 _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_BSPC, KC_DEL , KC_END , _______,
68 _______, _______, _______, _______, _______, _______, KC_UP , KC_LEFT, KC_DOWN, KC_UP , KC_RGHT, KC_QUOT, _______,
69 _______, _______, _______, _______, _______, _______, KC_DOWN, _______, KC_PGUP, _______, KC_PGDN, _______, _______,
70 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
71 ),
72 [_ADJUST] = LAYOUT(
73 RESET , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, DEBUG ,
74 _______, RGB_TOG, RGB_RMOD, RGB_MOD, RGB_VAD, RGB_VAI, _______, _______, _______, _______, _______, _______,
75 KC_CAPS, _______, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, KC_VOLU, _______, _______, _______, _______, _______, _______,
76 _______, AU_ON , AU_OFF , _______, _______, _______, KC_VOLD, _______, _______, _______, _______, _______, _______,
77 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
78 )
79};
diff --git a/keyboards/nckiibs/vanana/keymaps/via/rules.mk b/keyboards/nckiibs/vanana/keymaps/via/rules.mk
new file mode 100644
index 000000000..9b19aff09
--- /dev/null
+++ b/keyboards/nckiibs/vanana/keymaps/via/rules.mk
@@ -0,0 +1,2 @@
1VIA_ENABLE = yes
2AUDIO_ENABLE = no # Audio output
diff --git a/keyboards/nckiibs/vanana/readme.md b/keyboards/nckiibs/vanana/readme.md
new file mode 100644
index 000000000..49b40f815
--- /dev/null
+++ b/keyboards/nckiibs/vanana/readme.md
@@ -0,0 +1,19 @@
1# Vanana
2
3![vanana](https://i.imgur.com/I5a5KKNl.jpg)
4
5Vanana is a non-split ergonomic keyboard with RGB underglow and on-board pinouts for a Bluetooth setup. Designed by dELIKEEb.
6
7* Keyboard Maintainer: [noclew](https://github.com/noclew)
8* Hardware Supported: Vanana PCB
9* Hardware Availability: Not commercially available. GB on Reddit and Geekhack time to times.
10
11Make example for this keyboard (after setting up your build environment):
12
13 make nckiibs/vanana/rev2:default
14
15Flashing example for this keyboard:
16
17 make nckiibs/vanana/rev2:default:flash
18
19See 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).
diff --git a/keyboards/nckiibs/vanana/rev1/config.h b/keyboards/nckiibs/vanana/rev1/config.h
new file mode 100644
index 000000000..d584e32a3
--- /dev/null
+++ b/keyboards/nckiibs/vanana/rev1/config.h
@@ -0,0 +1,100 @@
1/*
2Copyright 2020 noclew
3
4This program is free software: you can redistribute it and/or modify
5it under the terms of the GNU General Public License as published by
6the Free Software Foundation, either version 2 of the License, or
7(at your option) any later version.
8
9This program is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12GNU General Public License for more details.
13
14You should have received a copy of the GNU General Public License
15along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/
17
18#pragma once
19
20/* USB Device descriptor parameter */
21#define DEVICE_VER 0x0001
22#define PRODUCT Vanana rev1
23
24/* key matrix size */
25#define MATRIX_ROWS 5
26#define MATRIX_COLS 12
27
28/*
29 * Keyboard Matrix Assignments
30 *
31 * Change this to how you wired your keyboard
32 * COLS: AVR pins used for columns, left to right
33 * ROWS: AVR pins used for rows, top to bottom
34 * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
35 * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
36 *
37 */
38#define MATRIX_ROW_PINS { D2, D7, B4, B5, B6 }
39#define MATRIX_COL_PINS { B2, B3, B1, F7, F5, F6, D3, D1, D0, D4, C6, E6 }
40#define UNUSED_PINS
41
42/* COL2ROW, ROW2COL */
43#define DIODE_DIRECTION COL2ROW
44
45/* Rotary Encoder and Buzzer */
46#define ENCODERS_PAD_A { C7, F1 }
47#define ENCODERS_PAD_B { D5, F0 }
48#define B7_AUDIO
49
50#define RGB_DI_PIN F0
51#ifdef RGB_DI_PIN
52# define RGBLED_NUM 16
53# define RGBLIGHT_HUE_STEP 8
54# define RGBLIGHT_SAT_STEP 8
55# define RGBLIGHT_VAL_STEP 8
56# define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */
57# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */
58/*== all animations enable ==*/
59// # define RGBLIGHT_ANIMATIONS
60/*== or choose animations ==*/
61//# define RGBLIGHT_EFFECT_BREATHING
62# define RGBLIGHT_EFFECT_RAINBOW_MOOD
63# define RGBLIGHT_EFFECT_RAINBOW_SWIRL
64//# define RGBLIGHT_EFFECT_SNAKE
65//# define RGBLIGHT_EFFECT_KNIGHT
66//# define RGBLIGHT_EFFECT_CHRISTMAS
67# define RGBLIGHT_EFFECT_STATIC_GRADIENT
68//# define RGBLIGHT_EFFECT_RGB_TEST
69//# define RGBLIGHT_EFFECT_ALTERNATING
70/*== customize breathing effect ==*/
71/*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/
72# define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64
73/*==== use exp() and sin() ====*/
74# define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7
75# define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255
76#endif
77
78/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
79#define DEBOUNCE 5
80
81/* define if matrix has ghost (lacks anti-ghosting diodes) */
82//#define MATRIX_HAS_GHOST
83
84/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
85#define LOCKING_SUPPORT_ENABLE
86/* Locking resynchronize hack */
87#define LOCKING_RESYNC_ENABLE
88
89/* If defined, GRAVE_ESC will always act as ESC when CTRL is held.
90 * This is useful for the Windows task manager shortcut (ctrl+shift+esc).
91 */
92#define GRAVE_ESC_CTRL_OVERRIDE
93
94/* disable these deprecated features by default */
95#define NO_ACTION_MACRO
96#define NO_ACTION_FUNCTION
97
98/* Bootmagic Lite key configuration */
99#define BOOTMAGIC_LITE_ROW 0
100#define BOOTMAGIC_LITE_COLUMN 0
diff --git a/keyboards/nckiibs/vanana/rev1/rev1.c b/keyboards/nckiibs/vanana/rev1/rev1.c
new file mode 100644
index 000000000..73b5039eb
--- /dev/null
+++ b/keyboards/nckiibs/vanana/rev1/rev1.c
@@ -0,0 +1,17 @@
1/* Copyright 2020 noclew
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17#include "rev1.h"
diff --git a/keyboards/nckiibs/vanana/rev1/rev1.h b/keyboards/nckiibs/vanana/rev1/rev1.h
new file mode 100644
index 000000000..3b125b3ca
--- /dev/null
+++ b/keyboards/nckiibs/vanana/rev1/rev1.h
@@ -0,0 +1,40 @@
1/* Copyright 2020 noclew
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#pragma once
17
18#include "quantum.h"
19
20/* This is a shortcut to help you visually see your layout.
21 *
22 * The first section contains all of the arguments representing the physical
23 * layout of the board and position of the keys.
24 *
25 * The second converts the arguments into a two-dimensional array which
26 * represents the switch matrix.
27 */
28#define LAYOUT( \
29 k01, k02, k03, k04, k05, k06, k07, k08, k09, k10, k11, k12, \
30 k13, k14, k15, k16, k17, k18, k19, k20, k21, k22, k23, k24, \
31 k25, k26, k27, k28, k29, k30, k49, k31, k32, k33, k34, k35, k36, \
32 k37, k38, k39, k40, k41, k42, k60, k43, k44, k45, k46, k47, k48, \
33 k50, k51, k52, k53, k54, k55, k56, k57, k58, k59 \
34) { \
35 { k01, k02, k03, k04, k05, k06, k07, k08, k09, k10, k11, k12 }, \
36 { k13, k14, k15, k16, k17, k18, k19, k20, k21, k22, k23, k24 }, \
37 { k25, k26, k27, k28, k29, k30, k31, k32, k33, k34, k35, k36 }, \
38 { k37, k38, k39, k40, k41, k42, k43, k44, k45, k46, k47, k48 }, \
39 { k49, k50, k51, k52, k53, k54, k55, k56, k57, k58, k59, k60 } \
40}
diff --git a/keyboards/nckiibs/vanana/rev1/rules.mk b/keyboards/nckiibs/vanana/rev1/rules.mk
new file mode 100644
index 000000000..eee766eca
--- /dev/null
+++ b/keyboards/nckiibs/vanana/rev1/rules.mk
@@ -0,0 +1,2 @@
1RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
2AUDIO_ENABLE = no # Audio output
diff --git a/keyboards/nckiibs/vanana/rev2/config.h b/keyboards/nckiibs/vanana/rev2/config.h
new file mode 100644
index 000000000..8893bb09f
--- /dev/null
+++ b/keyboards/nckiibs/vanana/rev2/config.h
@@ -0,0 +1,100 @@
1/*
2Copyright 2020 noclew
3
4This program is free software: you can redistribute it and/or modify
5it under the terms of the GNU General Public License as published by
6the Free Software Foundation, either version 2 of the License, or
7(at your option) any later version.
8
9This program is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12GNU General Public License for more details.
13
14You should have received a copy of the GNU General Public License
15along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/
17
18#pragma once
19
20/* USB Device descriptor parameter */
21#define DEVICE_VER 0x0002
22#define PRODUCT Vanana rev2
23
24/* key matrix size */
25#define MATRIX_ROWS 6
26#define MATRIX_COLS 10
27
28/*
29 * Keyboard Matrix Assignments
30 *
31 * Change this to how you wired your keyboard
32 * COLS: AVR pins used for columns, left to right
33 * ROWS: AVR pins used for rows, top to bottom
34 * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
35 * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
36 *
37 */
38#define MATRIX_ROW_PINS { D1, C6, E6, B4, B5, F5}
39#define MATRIX_COL_PINS { B3, B1, F7, F6, F4, D2, D3, D0, D4, D7 }
40#define UNUSED_PINS
41
42/* COL2ROW, ROW2COL */
43#define DIODE_DIRECTION COL2ROW
44
45/* Rotary Encoder and Buzzer */
46#define ENCODERS_PAD_A { B6, F0 }
47#define ENCODERS_PAD_B { B2, F1 }
48#define B7_AUDIO
49
50#define RGB_DI_PIN C7
51#ifdef RGB_DI_PIN
52# define RGBLED_NUM 16
53# define RGBLIGHT_HUE_STEP 8
54# define RGBLIGHT_SAT_STEP 8
55# define RGBLIGHT_VAL_STEP 8
56# define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */
57# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */
58/*== all animations enable ==*/
59// # define RGBLIGHT_ANIMATIONS
60/*== or choose animations ==*/
61//# define RGBLIGHT_EFFECT_BREATHING
62# define RGBLIGHT_EFFECT_RAINBOW_MOOD
63# define RGBLIGHT_EFFECT_RAINBOW_SWIRL
64//# define RGBLIGHT_EFFECT_SNAKE
65//# define RGBLIGHT_EFFECT_KNIGHT
66//# define RGBLIGHT_EFFECT_CHRISTMAS
67# define RGBLIGHT_EFFECT_STATIC_GRADIENT
68//# define RGBLIGHT_EFFECT_RGB_TEST
69//# define RGBLIGHT_EFFECT_ALTERNATING
70/*== customize breathing effect ==*/
71/*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/
72# define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64
73/*==== use exp() and sin() ====*/
74# define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7
75# define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255
76#endif
77
78/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
79#define DEBOUNCE 5
80
81/* define if matrix has ghost (lacks anti-ghosting diodes) */
82//#define MATRIX_HAS_GHOST
83
84/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
85#define LOCKING_SUPPORT_ENABLE
86/* Locking resynchronize hack */
87#define LOCKING_RESYNC_ENABLE
88
89/* If defined, GRAVE_ESC will always act as ESC when CTRL is held.
90 * This is useful for the Windows task manager shortcut (ctrl+shift+esc).
91 */
92#define GRAVE_ESC_CTRL_OVERRIDE
93
94/* disable these deprecated features by default */
95#define NO_ACTION_MACRO
96#define NO_ACTION_FUNCTION
97
98/* Bootmagic Lite key configuration */
99#define BOOTMAGIC_LITE_ROW 0
100#define BOOTMAGIC_LITE_COLUMN 0
diff --git a/keyboards/nckiibs/vanana/rev2/rev2.c b/keyboards/nckiibs/vanana/rev2/rev2.c
new file mode 100644
index 000000000..8f2a25992
--- /dev/null
+++ b/keyboards/nckiibs/vanana/rev2/rev2.c
@@ -0,0 +1,17 @@
1/* Copyright 2020 noclew
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17#include "rev2.h"
diff --git a/keyboards/nckiibs/vanana/rev2/rev2.h b/keyboards/nckiibs/vanana/rev2/rev2.h
new file mode 100644
index 000000000..7f8d16b57
--- /dev/null
+++ b/keyboards/nckiibs/vanana/rev2/rev2.h
@@ -0,0 +1,41 @@
1/* Copyright 2020 noclew
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#pragma once
17
18#include "quantum.h"
19
20/* This is a shortcut to help you visually see your layout.
21 *
22 * The first section contains all of the arguments representing the physical
23 * layout of the board and position of the keys.
24 *
25 * The second converts the arguments into a two-dimensional array which
26 * represents the switch matrix.
27 */
28#define LAYOUT( \
29 k01, k02, k03, k04, k05, k55, k60, k06, k07, k08, k09, k10, \
30 k11, k12, k13, k14, k15, k54, k59, k16, k17, k18, k19, k20, \
31 k21, k22, k23, k24, k25, k53, k56, k58, k26, k27, k28, k29, k30, \
32 k31, k32, k33, k34, k35, k52, k51, k57, k36, k37, k38, k39, k40, \
33 k41, k42, k43, k44, k45, k46, k47, k48, k49, k50 \
34) { \
35 { k01, k02, k03, k04, k05, k06, k07, k08, k09, k10 }, \
36 { k11, k12, k13, k14, k15, k16, k17, k18, k19, k20 }, \
37 { k21, k22, k23, k24, k25, k26, k27, k28, k29, k30 }, \
38 { k31, k32, k33, k34, k35, k36, k37, k38, k39, k40 }, \
39 { k41, k42, k43, k44, k45, k46, k47, k48, k49, k50 }, \
40 { k51, k52, k53, k54, k55, k56, k57, k58, k59, k60 } \
41}
diff --git a/keyboards/nckiibs/vanana/rev2/rules.mk b/keyboards/nckiibs/vanana/rev2/rules.mk
new file mode 100644
index 000000000..8bb6ab5d9
--- /dev/null
+++ b/keyboards/nckiibs/vanana/rev2/rules.mk
@@ -0,0 +1,2 @@
1RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
2AUDIO_ENABLE = yes # Audio output
diff --git a/keyboards/nckiibs/vanana/rules.mk b/keyboards/nckiibs/vanana/rules.mk
new file mode 100644
index 000000000..71f046a11
--- /dev/null
+++ b/keyboards/nckiibs/vanana/rules.mk
@@ -0,0 +1,25 @@
1# MCU name
2MCU = atmega32u4
3
4# Bootloader selection
5BOOTLOADER = atmel-dfu
6
7# Build Options
8BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
9MOUSEKEY_ENABLE = yes # Mouse keys
10EXTRAKEY_ENABLE = yes # Audio control and System control
11CONSOLE_ENABLE = no # Console for debug
12COMMAND_ENABLE = no # Commands for debug and configuration
13# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
14SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
15# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
16NKRO_ENABLE = no # USB Nkey Rollover
17BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
18BLUETOOTH_ENABLE = no # Enable Bluetooth
19ENCODER_ENABLE = yes # Enable Rotary Encoder
20
21# additional features for ELITE-C
22RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
23AUDIO_ENABLE = no # Audio output
24
25DEFAULT_FOLDER = nckiibs/vanana/rev2
diff --git a/keyboards/nckiibs/waaffle/config.h b/keyboards/nckiibs/waaffle/config.h
new file mode 100644
index 000000000..1b02e32c6
--- /dev/null
+++ b/keyboards/nckiibs/waaffle/config.h
@@ -0,0 +1,24 @@
1/*
2Copyright 2020 noclew
3
4This program is free software: you can redistribute it and/or modify
5it under the terms of the GNU General Public License as published by
6the Free Software Foundation, either version 2 of the License, or
7(at your option) any later version.
8
9This program is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12GNU General Public License for more details.
13
14You should have received a copy of the GNU General Public License
15along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/
17
18#pragma once
19
20#include "config_common.h"
21
22#define VENDOR_ID 0x9906
23#define PRODUCT_ID 0x0012
24#define MANUFACTURER dELIKEEb
diff --git a/keyboards/nckiibs/waaffle/keymaps/default/keymap.c b/keyboards/nckiibs/waaffle/keymaps/default/keymap.c
new file mode 100644
index 000000000..cffcd026d
--- /dev/null
+++ b/keyboards/nckiibs/waaffle/keymaps/default/keymap.c
@@ -0,0 +1,132 @@
1/* Copyright 2020 noclew
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#include QMK_KEYBOARD_H
17
18// Defines names for use in layer keycodes and the keymap
19enum layer_names {
20 _BASE,
21 _LOWER,
22 _RAISE,
23 _ADJUST
24};
25
26// Defines the keycodes used by our macros in process_record_user
27enum custom_keycodes {
28 BASE,
29 LOWER,
30 RAISE,
31};
32
33const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
34 /* BASE
35 * ------------------------------------------------------------------------------------------------------------------
36 * | * | / | = | Del || ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | BSpc |
37 * ------------------------------------------------------------------------------------------------------------------
38 * | + | 7 | 8 | 9 || Tab | Q | W | E | R | T | Y | U | I | O | P | \ |
39 *-------------------------------------------------------------------------------------------------------------------
40 * | + | 4 | 5 | 6 || Esc | A | S | D | F | G | H | J | K | L | ; | Enter|
41 *------------------------------------------------------------------------------------------------------------------
42 * | Enter| 1 | 2 | 3 || Shift| Z | X | C | V | B | N | M | , | . | / | Shift|
43 *-------------------------------------------------------------------------------------------------------------------
44 * | Enter| . | 0 | 0 || Ctrl | Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up | Right|
45 *-------------------------------------------------------------------------------------------------------------------
46 */
47 [_BASE] = LAYOUT_ortho_5x16(
48 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,
49 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,
50 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,
51 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),
52 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
53 ),
54
55 [_LOWER] = LAYOUT_ortho_5x16(
56 _______, _______, _______, _______, KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 ,
57 _______, _______, _______, _______, KC_BSPC, KC_EQL , KC_7 , KC_8 , KC_9 , KC_SLSH, KC_CIRC, KC_LBRC, KC_RBRC, KC_AT , KC_EXLM, KC_BSLS,
58 _______, _______, _______, _______, KC_ENT , KC_0 , KC_4 , KC_5 , KC_6 , KC_MINS, KC_UNDS, KC_LPRN, KC_RPRN, KC_HASH, KC_DQUO, _______,
59 _______, _______, _______, _______, KC_DLR , KC_PAST, KC_1 , KC_2 , KC_3 , KC_PPLS, KC_PIPE, KC_LCBR, KC_RCBR, KC_PERC, KC_AMPR, _______,
60 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
61 ),
62
63 [_RAISE] = LAYOUT_ortho_5x16(
64 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
65 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_BSPC, KC_DEL , KC_END , _______,
66 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_QUOT, _______,
67 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, _______, _______, KC_PGDN, _______,
68 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
69 ),
70
71 [_ADJUST] = LAYOUT_ortho_5x16(
72 _______, _______, _______, _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, DEBUG ,
73 _______, _______, _______, _______, _______, RGB_TOG, RGB_RMOD, RGB_MOD, RGB_VAD, RGB_VAI, _______, _______, _______, _______, _______, _______,
74 _______, _______, _______, _______, KC_CAPS, _______, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, _______, _______, _______, _______, _______, _______,
75 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
76 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
77 )
78};
79
80bool process_record_user(uint16_t keycode, keyrecord_t *record) {
81 switch (keycode) {
82
83 case LOWER:
84 if (record->event.pressed) {
85 layer_on(_LOWER);
86 update_tri_layer(_LOWER, _RAISE, _ADJUST);
87 } else {
88 layer_off(_LOWER);
89 update_tri_layer(_LOWER, _RAISE, _ADJUST);
90 }
91 return false;
92
93 case RAISE:
94 if (record->event.pressed) {
95 layer_on(_RAISE);
96 update_tri_layer(_LOWER, _RAISE, _ADJUST);
97 } else {
98 layer_off(_RAISE);
99 update_tri_layer(_LOWER, _RAISE, _ADJUST);
100 }
101 return false;
102
103 }
104 return true;
105}
106
107void encoder_update_user(uint8_t index, bool clockwise) {
108 /* With an if statement we can check which encoder was turned. */
109 if (index == 0) { /* First encoder */
110 /* And with another if statement we can check the direction. */
111 if (clockwise) {
112 if (IS_LAYER_ON(_LOWER)){
113 tap_code(KC_RIGHT);
114 } else {
115 tap_code(KC_VOLU);
116 }
117 } else {
118 if (IS_LAYER_ON(_LOWER)){
119 tap_code(KC_LEFT);
120 } else {
121 tap_code(KC_VOLD);
122 }
123 }
124
125 } else if (index == 1) { /* Second encoder. Only supported by Elite-C */
126 if (clockwise) {
127 tap_code(KC_RIGHT);
128 } else {
129 tap_code(KC_LEFT);
130 }
131 }
132}
diff --git a/keyboards/nckiibs/waaffle/keymaps/default/readme.md b/keyboards/nckiibs/waaffle/keymaps/default/readme.md
new file mode 100644
index 000000000..4cf5c435b
--- /dev/null
+++ b/keyboards/nckiibs/waaffle/keymaps/default/readme.md
@@ -0,0 +1 @@
# The default keymap for waaffle
diff --git a/keyboards/nckiibs/waaffle/keymaps/via/keymap.c b/keyboards/nckiibs/waaffle/keymaps/via/keymap.c
new file mode 100644
index 000000000..880de11e8
--- /dev/null
+++ b/keyboards/nckiibs/waaffle/keymaps/via/keymap.c
@@ -0,0 +1,78 @@
1/* Copyright 2020 noclew
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#include QMK_KEYBOARD_H
17
18// Defines names for use in layer keycodes and the keymap
19enum layer_names {
20 _BASE,
21 _LOWER,
22 _RAISE,
23 _ADJUST
24};
25
26// Defines the keycodes used by our macros in process_record_user
27enum custom_keycodes {
28 BASE,
29 LOWER,
30 RAISE,
31};
32
33const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
34 /* BASE
35 * ------------------------------------------------------------------------------------------------------------------
36 * | * | / | = | Del || ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | BSpc |
37 * ------------------------------------------------------------------------------------------------------------------
38 * | + | 7 | 8 | 9 || Tab | Q | W | E | R | T | Y | U | I | O | P | \ |
39 *-------------------------------------------------------------------------------------------------------------------
40 * | + | 4 | 5 | 6 || Esc | A | S | D | F | G | H | J | K | L | ; | Enter|
41 *------------------------------------------------------------------------------------------------------------------
42 * | Enter| 1 | 2 | 3 || Shift| Z | X | C | V | B | N | M | , | . | / | Shift|
43 *-------------------------------------------------------------------------------------------------------------------
44 * | Enter| . | 0 | 0 || Ctrl | Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up | Right|
45 *-------------------------------------------------------------------------------------------------------------------
46 */
47 [_BASE] = LAYOUT_ortho_5x16(
48 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,
49 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,
50 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,
51 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),
52 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
53 ),
54
55 [_LOWER] = LAYOUT_ortho_5x16(
56 _______, _______, _______, _______, KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 ,
57 _______, _______, _______, _______, KC_BSPC, KC_EQL , KC_7 , KC_8 , KC_9 , KC_SLSH, KC_CIRC, KC_LBRC, KC_RBRC, KC_AT , KC_EXLM, KC_BSLS,
58 _______, _______, _______, _______, KC_ENT , KC_0 , KC_4 , KC_5 , KC_6 , KC_MINS, KC_UNDS, KC_LPRN, KC_RPRN, KC_HASH, KC_DQUO, _______,
59 _______, _______, _______, _______, KC_DLR , KC_PAST, KC_1 , KC_2 , KC_3 , KC_PPLS, KC_PIPE, KC_LCBR, KC_RCBR, KC_PERC, KC_AMPR, _______,
60 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
61 ),
62
63 [_RAISE] = LAYOUT_ortho_5x16(
64 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
65 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_BSPC, KC_DEL , KC_END , _______,
66 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_QUOT, _______,
67 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, _______, _______, KC_PGDN, _______,
68 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
69 ),
70
71 [_ADJUST] = LAYOUT_ortho_5x16(
72 _______, _______, _______, _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, DEBUG ,
73 _______, _______, _______, _______, _______, RGB_TOG, RGB_RMOD, RGB_MOD, RGB_VAD, RGB_VAI, _______, _______, _______, _______, _______, _______,
74 _______, _______, _______, _______, KC_CAPS, _______, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, _______, _______, _______, _______, _______, _______,
75 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
76 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
77 )
78};
diff --git a/keyboards/nckiibs/waaffle/keymaps/via/rules.mk b/keyboards/nckiibs/waaffle/keymaps/via/rules.mk
new file mode 100644
index 000000000..1e5b99807
--- /dev/null
+++ b/keyboards/nckiibs/waaffle/keymaps/via/rules.mk
@@ -0,0 +1 @@
VIA_ENABLE = yes
diff --git a/keyboards/nckiibs/waaffle/readme.md b/keyboards/nckiibs/waaffle/readme.md
new file mode 100644
index 000000000..43d920c02
--- /dev/null
+++ b/keyboards/nckiibs/waaffle/readme.md
@@ -0,0 +1,22 @@
1# Waaffle
2
3![waaffle](https://i.imgur.com/MMIuK9tl.jpg)
4![waaffle](https://imgur.com/6IMH4kul.jpg)
5
6Waaffle 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
7
8* Keyboard Maintainer: [noclew](https://github.com/noclew)
9* Hardware Supported: Waaffle PCB
10* Hardware Availability: Not commercially available. GB on Reddit and Geekhack time to times.
11
12Make example for this keyboard (after setting up your build environment):
13
14 make nckiibs/waaffle/rev3/pro_micro:default # for Pro Micro builds
15 make nckiibs/waaffle/rev3/elite_c:default # for Elite-C builds
16
17Flashing example for this keyboard:
18
19 make nckiibs/waaffle/rev3/pro_micro:default:flash # for Pro Micro builds
20 make nckiibs/waaffle/rev3/elite_c:default:flash # for Elite-C builds
21
22See 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).
diff --git a/keyboards/nckiibs/waaffle/rev3/config.h b/keyboards/nckiibs/waaffle/rev3/config.h
new file mode 100644
index 000000000..0c4327623
--- /dev/null
+++ b/keyboards/nckiibs/waaffle/rev3/config.h
@@ -0,0 +1,137 @@
1/*
2Copyright 2020 noclew
3
4This program is free software: you can redistribute it and/or modify
5it under the terms of the GNU General Public License as published by
6the Free Software Foundation, either version 2 of the License, or
7(at your option) any later version.
8
9This program is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12GNU General Public License for more details.
13
14You should have received a copy of the GNU General Public License
15along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/
17
18#pragma once
19
20/* USB Device descriptor parameter */
21#define DEVICE_VER 0x0003
22#define PRODUCT Waaffle_rev3
23
24/* key matrix size */
25#define MATRIX_ROWS 8
26#define MATRIX_COLS 10
27
28/*
29 * Keyboard Matrix Assignments
30 *
31 * Change this to how you wired your keyboard
32 * COLS: AVR pins used for columns, left to right
33 * ROWS: AVR pins used for rows, top to bottom
34 * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
35 * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
36 *
37 */
38#define MATRIX_ROW_PINS { F4, B6, B2, B3, B1, F5, F6, F7 }
39#define MATRIX_COL_PINS { D3, D2, B5, B4, E6, D7, C6, D4, D0, D1 }
40#define UNUSED_PINS
41
42/* COL2ROW, ROW2COL */
43#define DIODE_DIRECTION COL2ROW
44
45//#define BACKLIGHT_PIN B7
46//#define BACKLIGHT_LEVELS 3
47//#define BACKLIGHT_BREATHING
48
49/*rotary encoder setting*/
50#define ENCODERS_PAD_A { B7, F1 }
51#define ENCODERS_PAD_B { D5, F0 }
52
53#define RGB_DI_PIN C7
54#ifdef RGB_DI_PIN
55# define RGBLED_NUM 10
56# define RGBLIGHT_HUE_STEP 8
57# define RGBLIGHT_SAT_STEP 8
58# define RGBLIGHT_VAL_STEP 8
59# define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */
60# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */
61/*== all animations enable ==*/
62// # define RGBLIGHT_ANIMATIONS
63/*== or choose animations ==*/
64// # define RGBLIGHT_EFFECT_BREATHING
65# define RGBLIGHT_EFFECT_RAINBOW_MOOD
66# define RGBLIGHT_EFFECT_RAINBOW_SWIRL
67// # define RGBLIGHT_EFFECT_SNAKE
68// # define RGBLIGHT_EFFECT_KNIGHT
69// # define RGBLIGHT_EFFECT_CHRISTMAS
70# define RGBLIGHT_EFFECT_STATIC_GRADIENT
71// # define RGBLIGHT_EFFECT_RGB_TEST
72// # define RGBLIGHT_EFFECT_ALTERNATING
73/*== customize breathing effect ==*/
74/*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/
75# define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64
76/*==== use exp() and sin() ====*/
77# define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7
78# define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255
79#endif
80
81/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
82#define DEBOUNCE 5
83
84/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
85#define LOCKING_SUPPORT_ENABLE
86/* Locking resynchronize hack */
87#define LOCKING_RESYNC_ENABLE
88
89/* If defined, GRAVE_ESC will always act as ESC when CTRL is held.
90 * This is useful for the Windows task manager shortcut (ctrl+shift+esc).
91 */
92#define GRAVE_ESC_CTRL_OVERRIDE
93
94/*
95 * Force NKRO
96 *
97 * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved
98 * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the
99 * makefile for this to work.)
100 *
101 * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N)
102 * until the next keyboard reset.
103 *
104 * NKRO may prevent your keystrokes from being detected in the BIOS, but it is
105 * fully operational during normal computer usage.
106 *
107 * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N)
108 * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by
109 * bootmagic, NKRO mode will always be enabled until it is toggled again during a
110 * power-up.
111 *
112 */
113//#define FORCE_NKRO
114
115/*
116 * Feature disable options
117 * These options are also useful to firmware size reduction.
118 */
119
120/* disable debug print */
121//#define NO_DEBUG
122
123/* disable print */
124//#define NO_PRINT
125
126/* disable action features */
127//#define NO_ACTION_LAYER
128//#define NO_ACTION_TAPPING
129//#define NO_ACTION_ONESHOT
130
131/* disable these deprecated features by default */
132#define NO_ACTION_MACRO
133#define NO_ACTION_FUNCTION
134
135/* Bootmagic Lite key configuration */
136#define BOOTMAGIC_LITE_ROW 6
137#define BOOTMAGIC_LITE_COLUMN 0
diff --git a/keyboards/nckiibs/waaffle/rev3/elite_c/rules.mk b/keyboards/nckiibs/waaffle/rev3/elite_c/rules.mk
new file mode 100644
index 000000000..8b5026cb0
--- /dev/null
+++ b/keyboards/nckiibs/waaffle/rev3/elite_c/rules.mk
@@ -0,0 +1,6 @@
1# Bootloader selection
2BOOTLOADER = atmel-dfu
3
4# supported on Elite-C controllers
5RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
6ENCODER_ENABLE = yes # Enable Rotary Encoder
diff --git a/keyboards/nckiibs/waaffle/rev3/info.json b/keyboards/nckiibs/waaffle/rev3/info.json
new file mode 100644
index 000000000..200dce5a2
--- /dev/null
+++ b/keyboards/nckiibs/waaffle/rev3/info.json
@@ -0,0 +1,19 @@
1{
2 "keyboard_name": "waaffle",
3 "url": "",
4 "maintainer": "noclew",
5 "width": 16.25,
6 "height": 5,
7 "layouts": {
8 "LAYOUT_ortho_5x16": {
9 "layout":
10 [
11 {"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},
12 {"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},
13 {"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},
14 {"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},
15 {"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}
16 ]
17 }
18 }
19}
diff --git a/keyboards/nckiibs/waaffle/rev3/pro_micro/rules.mk b/keyboards/nckiibs/waaffle/rev3/pro_micro/rules.mk
new file mode 100644
index 000000000..bdc4842c5
--- /dev/null
+++ b/keyboards/nckiibs/waaffle/rev3/pro_micro/rules.mk
@@ -0,0 +1,6 @@
1# Bootloader selection
2BOOTLOADER = caterina
3
4# not supported on Pro Micro controllers
5RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
6ENCODER_ENABLE = no # Enable Rotary Encoder
diff --git a/keyboards/nckiibs/waaffle/rev3/rev3.c b/keyboards/nckiibs/waaffle/rev3/rev3.c
new file mode 100644
index 000000000..bf7f5a109
--- /dev/null
+++ b/keyboards/nckiibs/waaffle/rev3/rev3.c
@@ -0,0 +1,17 @@
1/* Copyright 2020 noclew
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17#include "rev3.h"
diff --git a/keyboards/nckiibs/waaffle/rev3/rev3.h b/keyboards/nckiibs/waaffle/rev3/rev3.h
new file mode 100644
index 000000000..8ca245d84
--- /dev/null
+++ b/keyboards/nckiibs/waaffle/rev3/rev3.h
@@ -0,0 +1,44 @@
1/* Copyright 2020 noclew
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17#pragma once
18
19#include "quantum.h"
20
21/* This is a shortcut to help you visually see your layout.
22 *
23 * The first section contains all of the arguments representing the physical
24 * layout of the board and position of the keys.
25 *
26 * The second converts the arguments into a two-dimensional array which
27 * represents the switch matrix.
28 */
29#define LAYOUT_ortho_5x16( \
30 k76, k66, k56, k71, k61, k51, k01, k02, k03, k04, k05, k06, k07, k08, k09, k10, \
31 k77, k67, k57, k72, k62, k52, k11, k12, k13, k14, k15, k16, k17, k18, k19, k20, \
32 k78, k68, k58, k73, k63, k53, k21, k22, k23, k24, k25, k26, k27, k28, k29, k30, \
33 k79, k69, k59, k74, k64, k54, k31, k32, k33, k34, k35, k36, k37, k38, k39, k40, \
34 k80, k70, k60, k75, k65, k55, k41, k42, k43, k44, k45, k46, k47, k48, k49, k50 \
35) { \
36 { k01, k02, k03, k04, k05, k06, k07, k08, k09, k10 }, \
37 { k11, k12, k13, k14, k15, k16, k17, k18, k19, k20 }, \
38 { k21, k22, k23, k24, k25, k26, k27, k28, k29, k30 }, \
39 { k31, k32, k33, k34, k35, k36, k37, k38, k39, k40 }, \
40 { k41, k42, k43, k44, k45, k46, k47, k48, k49, k50 }, \
41 { k51, k52, k53, k54, k55, k56, k57, k58, k59, k60 }, \
42 { k61, k62, k63, k64, k65, k66, k67, k68, k69, k70 }, \
43 { k71, k72, k73, k74, k75, k76, k77, k78, k79, k80 } \
44}
diff --git a/keyboards/nckiibs/waaffle/rev3/rules.mk b/keyboards/nckiibs/waaffle/rev3/rules.mk
new file mode 100644
index 000000000..9911721b2
--- /dev/null
+++ b/keyboards/nckiibs/waaffle/rev3/rules.mk
@@ -0,0 +1,24 @@
1# MCU name
2MCU = atmega32u4
3
4# Bootloader selection
5BOOTLOADER = caterina
6
7# Build Options
8# change yes to no to disable
9#
10BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
11MOUSEKEY_ENABLE = yes # Mouse keys
12EXTRAKEY_ENABLE = yes # Audio control and System control
13CONSOLE_ENABLE = no # Console for debug
14COMMAND_ENABLE = no # Commands for debug and configuration
15# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
16SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
17# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
18NKRO_ENABLE = no # USB Nkey Rollover
19BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
20RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
21BLUETOOTH_ENABLE = no # Enable Bluetooth
22AUDIO_ENABLE = no # Audio output
23
24DEFAULT_FOLDER = nckiibs/waaffle/rev3/pro_micro