summaryrefslogtreecommitdiff
path: root/keyboards/reviung
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/reviung')
-rw-r--r--keyboards/reviung/reviung33/.noci0
-rw-r--r--keyboards/reviung/reviung33/config.h137
-rw-r--r--keyboards/reviung/reviung33/info.json47
-rw-r--r--keyboards/reviung/reviung33/keymaps/default/keymap.c71
-rw-r--r--keyboards/reviung/reviung33/keymaps/default/readme.md1
-rw-r--r--keyboards/reviung/reviung33/keymaps/default_jp/keymap.c70
-rw-r--r--keyboards/reviung/reviung33/keymaps/default_jp/readme.md1
-rw-r--r--keyboards/reviung/reviung33/readme.md15
-rw-r--r--keyboards/reviung/reviung33/reviung33.c17
-rw-r--r--keyboards/reviung/reviung33/reviung33.h40
-rw-r--r--keyboards/reviung/reviung33/rules.mk18
-rwxr-xr-xkeyboards/reviung/reviung34/config.h146
-rwxr-xr-xkeyboards/reviung/reviung34/info.json45
-rwxr-xr-xkeyboards/reviung/reviung34/keymaps/default/keymap.c69
-rwxr-xr-xkeyboards/reviung/reviung34/keymaps/default/readme.md1
-rwxr-xr-xkeyboards/reviung/reviung34/keymaps/default_2uL/keymap.c69
-rwxr-xr-xkeyboards/reviung/reviung34/keymaps/default_2uL/readme.md1
-rwxr-xr-xkeyboards/reviung/reviung34/keymaps/default_jp/keymap.c70
-rwxr-xr-xkeyboards/reviung/reviung34/keymaps/default_jp/readme.md1
-rw-r--r--keyboards/reviung/reviung34/keymaps/default_rgb/config.h31
-rwxr-xr-xkeyboards/reviung/reviung34/keymaps/default_rgb/keymap.c69
-rwxr-xr-xkeyboards/reviung/reviung34/keymaps/default_rgb/readme.md1
-rw-r--r--keyboards/reviung/reviung34/keymaps/default_rgb/rules.mk1
-rw-r--r--keyboards/reviung/reviung34/keymaps/default_rgb2u/config.h31
-rwxr-xr-xkeyboards/reviung/reviung34/keymaps/default_rgb2u/keymap.c68
-rwxr-xr-xkeyboards/reviung/reviung34/keymaps/default_rgb2u/readme.md3
-rw-r--r--keyboards/reviung/reviung34/keymaps/default_rgb2u/rules.mk1
-rwxr-xr-xkeyboards/reviung/reviung34/readme.md18
-rwxr-xr-xkeyboards/reviung/reviung34/reviung34.c16
-rwxr-xr-xkeyboards/reviung/reviung34/reviung34.h52
-rwxr-xr-xkeyboards/reviung/reviung34/rules.mk18
-rw-r--r--keyboards/reviung/reviung39/config.h146
-rw-r--r--keyboards/reviung/reviung39/info.json56
-rw-r--r--keyboards/reviung/reviung39/keymaps/default/config.h47
-rw-r--r--keyboards/reviung/reviung39/keymaps/default/keymap.c61
-rw-r--r--keyboards/reviung/reviung39/keymaps/default/readme.md3
-rw-r--r--keyboards/reviung/reviung39/keymaps/default/rules.mk1
-rw-r--r--keyboards/reviung/reviung39/keymaps/default_s/config.h47
-rw-r--r--keyboards/reviung/reviung39/keymaps/default_s/keymap.c61
-rw-r--r--keyboards/reviung/reviung39/keymaps/default_s/readme.md6
-rw-r--r--keyboards/reviung/reviung39/keymaps/default_s/rules.mk1
-rw-r--r--keyboards/reviung/reviung39/keymaps/toshi0383/config.h47
-rw-r--r--keyboards/reviung/reviung39/keymaps/toshi0383/keymap.c57
-rw-r--r--keyboards/reviung/reviung39/keymaps/toshi0383/readme.md3
-rw-r--r--keyboards/reviung/reviung39/keymaps/toshi0383/rules.mk1
-rw-r--r--keyboards/reviung/reviung39/keymaps/via/keymap.c54
-rw-r--r--keyboards/reviung/reviung39/keymaps/via/rules.mk3
-rw-r--r--keyboards/reviung/reviung39/readme.md15
-rw-r--r--keyboards/reviung/reviung39/reviung39.c16
-rw-r--r--keyboards/reviung/reviung39/reviung39.h42
-rw-r--r--keyboards/reviung/reviung39/rules.mk18
-rw-r--r--keyboards/reviung/reviung41/config.h146
-rw-r--r--keyboards/reviung/reviung41/info.json58
-rw-r--r--keyboards/reviung/reviung41/keymaps/ciutadellla/config.h29
-rw-r--r--keyboards/reviung/reviung41/keymaps/ciutadellla/keymap.c333
-rw-r--r--keyboards/reviung/reviung41/keymaps/ciutadellla/rules.mk10
-rw-r--r--keyboards/reviung/reviung41/keymaps/default/keymap.c62
-rw-r--r--keyboards/reviung/reviung41/keymaps/default/readme.md1
-rw-r--r--keyboards/reviung/reviung41/keymaps/via/keymap.c54
-rw-r--r--keyboards/reviung/reviung41/keymaps/via/rules.mk3
-rw-r--r--keyboards/reviung/reviung41/readme.md15
-rw-r--r--keyboards/reviung/reviung41/reviung41.c16
-rw-r--r--keyboards/reviung/reviung41/reviung41.h42
-rw-r--r--keyboards/reviung/reviung41/rules.mk18
-rw-r--r--keyboards/reviung/reviung5/config.h145
-rw-r--r--keyboards/reviung/reviung5/info.json16
-rw-r--r--keyboards/reviung/reviung5/keymaps/default/keymap.c34
-rw-r--r--keyboards/reviung/reviung5/keymaps/default/readme.md1
-rw-r--r--keyboards/reviung/reviung5/keymaps/default_lre/keymap.c55
-rw-r--r--keyboards/reviung/reviung5/keymaps/default_lre/readme.md3
-rw-r--r--keyboards/reviung/reviung5/keymaps/default_rre/keymap.c55
-rw-r--r--keyboards/reviung/reviung5/keymaps/default_rre/readme.md4
-rw-r--r--keyboards/reviung/reviung5/readme.md19
-rw-r--r--keyboards/reviung/reviung5/reviung5.c17
-rw-r--r--keyboards/reviung/reviung5/reviung5.h33
-rw-r--r--keyboards/reviung/reviung5/rules.mk19
-rw-r--r--keyboards/reviung/reviung53/config.h138
-rw-r--r--keyboards/reviung/reviung53/info.json68
-rw-r--r--keyboards/reviung/reviung53/keymaps/default/keymap.c55
-rw-r--r--keyboards/reviung/reviung53/keymaps/default/readme.md1
-rw-r--r--keyboards/reviung/reviung53/keymaps/via/keymap.c55
-rw-r--r--keyboards/reviung/reviung53/keymaps/via/readme.md3
-rw-r--r--keyboards/reviung/reviung53/keymaps/via/rules.mk1
-rw-r--r--keyboards/reviung/reviung53/readme.md27
-rw-r--r--keyboards/reviung/reviung53/reviung53.c4
-rw-r--r--keyboards/reviung/reviung53/reviung53.h30
-rw-r--r--keyboards/reviung/reviung53/rules.mk18
-rw-r--r--keyboards/reviung/reviung61/.noci0
-rw-r--r--keyboards/reviung/reviung61/config.h63
-rw-r--r--keyboards/reviung/reviung61/info.json72
-rw-r--r--keyboards/reviung/reviung61/keymaps/default/keymap.c41
-rw-r--r--keyboards/reviung/reviung61/keymaps/default/readme.md1
-rw-r--r--keyboards/reviung/reviung61/keymaps/default_rgb/config.h31
-rw-r--r--keyboards/reviung/reviung61/keymaps/default_rgb/keymap.c41
-rw-r--r--keyboards/reviung/reviung61/keymaps/default_rgb/readme.md3
-rw-r--r--keyboards/reviung/reviung61/keymaps/default_rgb/rules.mk1
-rw-r--r--keyboards/reviung/reviung61/readme.md15
-rw-r--r--keyboards/reviung/reviung61/reviung61.c17
-rw-r--r--keyboards/reviung/reviung61/reviung61.h58
-rw-r--r--keyboards/reviung/reviung61/rules.mk20
100 files changed, 3764 insertions, 0 deletions
diff --git a/keyboards/reviung/reviung33/.noci b/keyboards/reviung/reviung33/.noci
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/keyboards/reviung/reviung33/.noci
diff --git a/keyboards/reviung/reviung33/config.h b/keyboards/reviung/reviung33/config.h
new file mode 100644
index 0000000000..b65d1d7c39
--- /dev/null
+++ b/keyboards/reviung/reviung33/config.h
@@ -0,0 +1,137 @@
+/*
+Copyright 2020 gtips
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#pragma once
+
+#include "config_common.h"
+
+/* USB Device descriptor parameter */
+#define VENDOR_ID 0xFEED
+#define PRODUCT_ID 0x516D
+#define DEVICE_VER 0x0001
+#define MANUFACTURER gtips
+#define PRODUCT reviung33
+
+/* key matrix size */
+#define MATRIX_ROWS 4
+#define MATRIX_COLS 10
+
+/*
+ * Keyboard Matrix Assignments
+ *
+ * Change this to how you wired your keyboard
+ * COLS: AVR pins used for columns, left to right
+ * ROWS: AVR pins used for rows, top to bottom
+ * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
+ * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
+ *
+ */
+#define MATRIX_ROW_PINS { F4, F5, F6, F7}
+#define MATRIX_COL_PINS { D4, C6, D7, E6, B4, B1, B3, B2, B6, B5 }
+#define UNUSED_PINS
+
+/* COL2ROW, ROW2COL */
+#define DIODE_DIRECTION COL2ROW
+
+#define RGB_DI_PIN D3
+#ifdef RGB_DI_PIN
+# define RGBLED_NUM 5
+# define RGBLIGHT_HUE_STEP 16
+# define RGBLIGHT_SAT_STEP 16
+# define RGBLIGHT_VAL_STEP 16
+# define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */
+# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */
+/*== all animations enable ==*/
+# define RGBLIGHT_ANIMATIONS
+/*== or choose animations ==*/
+//# define RGBLIGHT_EFFECT_BREATHING
+//# define RGBLIGHT_EFFECT_RAINBOW_MOOD
+//# define RGBLIGHT_EFFECT_RAINBOW_SWIRL
+//# define RGBLIGHT_EFFECT_SNAKE
+//# define RGBLIGHT_EFFECT_KNIGHT
+//# define RGBLIGHT_EFFECT_CHRISTMAS
+//# define RGBLIGHT_EFFECT_STATIC_GRADIENT
+//# define RGBLIGHT_EFFECT_RGB_TEST
+//# define RGBLIGHT_EFFECT_ALTERNATING
+/*== customize breathing effect ==*/
+/*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/
+//# define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64
+/*==== use exp() and sin() ====*/
+//# define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7
+//# define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255
+#endif
+
+/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
+#define DEBOUNCE 5
+
+/* define if matrix has ghost (lacks anti-ghosting diodes) */
+//#define MATRIX_HAS_GHOST
+
+/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
+#define LOCKING_SUPPORT_ENABLE
+/* Locking resynchronize hack */
+#define LOCKING_RESYNC_ENABLE
+
+/* If defined, GRAVE_ESC will always act as ESC when CTRL is held.
+ * This is useful for the Windows task manager shortcut (ctrl+shift+esc).
+ */
+//#define GRAVE_ESC_CTRL_OVERRIDE
+
+/*
+ * Force NKRO
+ *
+ * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved
+ * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the
+ * makefile for this to work.)
+ *
+ * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N)
+ * until the next keyboard reset.
+ *
+ * NKRO may prevent your keystrokes from being detected in the BIOS, but it is
+ * fully operational during normal computer usage.
+ *
+ * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N)
+ * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by
+ * bootmagic, NKRO mode will always be enabled until it is toggled again during a
+ * power-up.
+ *
+ */
+//#define FORCE_NKRO
+
+/*
+ * Feature disable options
+ * These options are also useful to firmware size reduction.
+ */
+
+/* disable debug print */
+//#define NO_DEBUG
+
+/* disable print */
+//#define NO_PRINT
+
+/* disable action features */
+//#define NO_ACTION_LAYER
+//#define NO_ACTION_TAPPING
+//#define NO_ACTION_ONESHOT
+
+/* disable these deprecated features by default */
+#define NO_ACTION_MACRO
+#define NO_ACTION_FUNCTION
+
+/* Bootmagic Lite key configuration */
+//#define BOOTMAGIC_LITE_ROW 0
+//#define BOOTMAGIC_LITE_COLUMN 0
diff --git a/keyboards/reviung/reviung33/info.json b/keyboards/reviung/reviung33/info.json
new file mode 100644
index 0000000000..450a41930b
--- /dev/null
+++ b/keyboards/reviung/reviung33/info.json
@@ -0,0 +1,47 @@
+{
+ "keyboard_name": "reviung33",
+ "url": "",
+ "maintainer": "gtips",
+ "layouts": {
+ "LAYOUT_reviung33": {
+ "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":0, "y":1},
+ {"x":1, "y":1},
+ {"x":2, "y":1},
+ {"x":3, "y":1},
+ {"x":4, "y":1},
+ {"x":5, "y":1},
+ {"x":6, "y":1},
+ {"x":7, "y":1},
+ {"x":8, "y":1},
+ {"x":9, "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":6, "y":2},
+ {"x":7, "y":2},
+ {"x":8, "y":2},
+ {"x":9, "y":2},
+
+ {"x":0, "y":3},
+ {"x":2, "y":3, "w":6},
+ {"x":9, "y":3}
+ ]
+ }
+ }
+}
diff --git a/keyboards/reviung/reviung33/keymaps/default/keymap.c b/keyboards/reviung/reviung33/keymaps/default/keymap.c
new file mode 100644
index 0000000000..875df97601
--- /dev/null
+++ b/keyboards/reviung/reviung33/keymaps/default/keymap.c
@@ -0,0 +1,71 @@
+/* Copyright 2020 gtips
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#include QMK_KEYBOARD_H
+
+// Defines names for use in layer keycodes and the keymap
+enum layer_names {
+ _BASE,
+ _LOWER,
+ _RAISE,
+ _ADJUST
+};
+
+#define LOWER MO(_LOWER)
+#define RAISE MO(_RAISE)
+
+#define CT_Q LCTL_T(KC_Q)
+#define CT_CM RCTL_T(KC_COMM)
+#define SF_Z LSFT_T(KC_Z)
+#define SF_SS RSFT_T(KC_SLSH)
+#define AL_X LALT_T(KC_X)
+#define AL_DT RALT_T(KC_DOT)
+#define TB_LO LT(LOWER, KC_TAB)
+#define BS_RA LT(RAISE, KC_BSPC)
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [_BASE] = LAYOUT_reviung33(
+ CT_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,
+ KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_ENT,
+ SF_Z, AL_X, KC_C, KC_V, KC_B, KC_N, KC_M, CT_CM, AL_DT, SF_SS,
+ TB_LO, KC_SPC, BS_RA
+ ),
+
+ [_LOWER] = LAYOUT_reviung33(
+ KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN,
+ KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_SCLN,
+ KC_LSFT, KC_ESC, KC_LGUI, KC_LALT, KC_QUOT, KC_HOME, KC_END, KC_PGUP, KC_PGDN, KC_RSFT,
+ _______, _______, _______
+ ),
+
+ [_RAISE] = LAYOUT_reviung33(
+ 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_LBRC, KC_RBRC, KC_BSLS, XXXXXXX, XXXXXXX, KC_GRV, KC_TILD, KC_COLN,
+ KC_LSFT, KC_ESC, KC_RGUI, KC_LALT, KC_DQUO, KC_TAB, KC_RALT, KC_RCTL, KC_RALT, KC_RSFT,
+ _______, KC_DEL, _______
+ ),
+
+ [_ADJUST] = LAYOUT_reviung33(
+ RGB_VAI, RGB_SAI, RGB_HUI, RGB_MOD, RGB_TOG, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5,
+ RGB_VAD, RGB_SAD, RGB_HUD, RGB_RMOD,XXXXXXX, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10,
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET, KC_F11, KC_F12, KC_CAPS, XXXXXXX, KC_PSCR,
+ _______, _______, _______
+ ),
+};
+
+layer_state_t layer_state_set_user(layer_state_t state) {
+ return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
+}
+
diff --git a/keyboards/reviung/reviung33/keymaps/default/readme.md b/keyboards/reviung/reviung33/keymaps/default/readme.md
new file mode 100644
index 0000000000..9121b14294
--- /dev/null
+++ b/keyboards/reviung/reviung33/keymaps/default/readme.md
@@ -0,0 +1 @@
+# The default keymap for reviung33
diff --git a/keyboards/reviung/reviung33/keymaps/default_jp/keymap.c b/keyboards/reviung/reviung33/keymaps/default_jp/keymap.c
new file mode 100644
index 0000000000..1265a301ed
--- /dev/null
+++ b/keyboards/reviung/reviung33/keymaps/default_jp/keymap.c
@@ -0,0 +1,70 @@
+/* Copyright 2020 gtips
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#include QMK_KEYBOARD_H
+#include "keymap_jp.h"
+
+enum layer_names {
+ _BASE,
+ _LOWER,
+ _RAISE,
+ _ADJUST
+};
+
+#define LOWER MO(_LOWER)
+#define RAISE MO(_RAISE)
+
+#define CT_Q LCTL_T(JP_Q)
+#define CT_CM RCTL_T(JP_COMM)
+#define SF_Z LSFT_T(JP_Z)
+#define SF_SS RSFT_T(JP_SLSH)
+#define AL_X LALT_T(JP_X)
+#define AL_DT RALT_T(JP_DOT)
+#define TB_LO LT(LOWER, KC_TAB)
+#define BS_RA LT(RAISE, KC_BSPC)
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [_BASE] = LAYOUT_reviung33(
+ CT_Q, JP_W, JP_E, JP_R, JP_T, JP_Y, JP_U, JP_I, JP_O, JP_P,
+ JP_A, JP_S, JP_D, JP_F, JP_G, JP_H, JP_J, JP_K, JP_L, KC_ENT,
+ SF_Z, AL_X, JP_C, JP_V, JP_B, JP_N, JP_M, CT_CM, AL_DT, SF_SS,
+ TB_LO, KC_SPC, BS_RA
+ ),
+
+ [_LOWER] = LAYOUT_reviung33(
+ JP_EXLM, JP_AT, JP_HASH, JP_DLR, JP_PERC, JP_CIRC, JP_AMPR, JP_ASTR, JP_LPRN, JP_RPRN,
+ JP_UNDS, JP_PLUS, JP_LCBR, JP_RCBR, JP_PIPE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, JP_SCLN,
+ KC_LSFT, KC_ESC, KC_LGUI, KC_LALT, JP_QUOT, KC_HOME, KC_END, KC_PGUP, KC_PGDN, KC_RSFT,
+ _______, _______, _______
+ ),
+
+ [_RAISE] = LAYOUT_reviung33(
+ JP_1, JP_2, JP_3, JP_4, JP_5, JP_6, JP_7, JP_8, JP_9, JP_0,
+ JP_MINS, JP_EQL, JP_LBRC, JP_RBRC, JP_YEN, KC_RO, XXXXXXX, JP_GRV, JP_TILD, JP_COLN,
+ KC_LSFT, KC_ESC, KC_RGUI, KC_LALT, JP_DQUO, KC_TAB, XXXXXXX, KC_RCTL, KC_RALT, KC_RSFT,
+ _______, KC_DEL, _______
+ ),
+
+ [_ADJUST] = LAYOUT_reviung33(
+ RGB_VAI, RGB_SAI, RGB_HUI, RGB_MOD, RGB_TOG, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5,
+ RGB_VAD, RGB_SAD, RGB_HUD, RGB_RMOD,XXXXXXX, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10,
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET, KC_F11, KC_F12, KC_CAPS, XXXXXXX, KC_PSCR,
+ _______, _______, _______
+ ),
+};
+
+layer_state_t layer_state_set_user(layer_state_t state) {
+ return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
+}
diff --git a/keyboards/reviung/reviung33/keymaps/default_jp/readme.md b/keyboards/reviung/reviung33/keymaps/default_jp/readme.md
new file mode 100644
index 0000000000..d7739a3d86
--- /dev/null
+++ b/keyboards/reviung/reviung33/keymaps/default_jp/readme.md
@@ -0,0 +1 @@
+# The default_jp keymap for reviung33
diff --git a/keyboards/reviung/reviung33/readme.md b/keyboards/reviung/reviung33/readme.md
new file mode 100644
index 0000000000..64ed4d57fe
--- /dev/null
+++ b/keyboards/reviung/reviung33/readme.md
@@ -0,0 +1,15 @@
+# reviung33
+
+![REVIUNG33](https://github.com/gtips/reviung/blob/master/reviung33/image/reviung33-01.jpg)
+
+The REVIUNG33 is 33-key ortholinear keyboard.
+
+* Keyboard Maintainer: [gtips](https://github.com/gtips)
+* Hardware Supported: REVIUNG33 PCB.
+* Hardware Availability: [PCB & Case Data](https://github.com/gtips/reviung/tree/master/reviung33)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make reviung33:default
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
diff --git a/keyboards/reviung/reviung33/reviung33.c b/keyboards/reviung/reviung33/reviung33.c
new file mode 100644
index 0000000000..7684cb72c8
--- /dev/null
+++ b/keyboards/reviung/reviung33/reviung33.c
@@ -0,0 +1,17 @@
+/* Copyright 2020 gtips
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include "reviung33.h"
diff --git a/keyboards/reviung/reviung33/reviung33.h b/keyboards/reviung/reviung33/reviung33.h
new file mode 100644
index 0000000000..ea72a4aadb
--- /dev/null
+++ b/keyboards/reviung/reviung33/reviung33.h
@@ -0,0 +1,40 @@
+/* Copyright 2020 gtips
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#include "quantum.h"
+
+/* This is a shortcut to help you visually see your layout.
+ *
+ * The first section contains all of the arguments representing the physical
+ * layout of the board and position of the keys.
+ *
+ * The second converts the arguments into a two-dimensional array which
+ * represents the switch matrix.
+ */
+#define LAYOUT_reviung33( \
+ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, \
+ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, \
+ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, \
+ K30, K31, K32 \
+) \
+{ \
+ { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09 }, \
+ { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19 }, \
+ { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29 }, \
+ { K30, K31, K32, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO } \
+}
diff --git a/keyboards/reviung/reviung33/rules.mk b/keyboards/reviung/reviung33/rules.mk
new file mode 100644
index 0000000000..77a2d1ee7d
--- /dev/null
+++ b/keyboards/reviung/reviung33/rules.mk
@@ -0,0 +1,18 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+BOOTLOADER = atmel-dfu
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = no # Mouse keys
+EXTRAKEY_ENABLE = no # Audio control and System control
+CONSOLE_ENABLE = no # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
+NKRO_ENABLE = no # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
diff --git a/keyboards/reviung/reviung34/config.h b/keyboards/reviung/reviung34/config.h
new file mode 100755
index 0000000000..0847678e86
--- /dev/null
+++ b/keyboards/reviung/reviung34/config.h
@@ -0,0 +1,146 @@
+/*
+Copyright 2019 gtips
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#pragma once
+
+#include "config_common.h"
+
+/* USB Device descriptor parameter */
+#define VENDOR_ID 0xFEED
+#define PRODUCT_ID 0x4E03
+#define DEVICE_VER 0x0001
+#define MANUFACTURER gtips
+#define PRODUCT reviung34
+
+/* key matrix size */
+#define MATRIX_ROWS 4
+#define MATRIX_COLS 9
+
+/*
+ * Keyboard Matrix Assignments
+ *
+ * Change this to how you wired your keyboard
+ * COLS: AVR pins used for columns, left to right
+ * ROWS: AVR pins used for rows, top to bottom
+ * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
+ * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
+ *
+*/
+#define MATRIX_ROW_PINS { F4, F5, F6, F7}
+#define MATRIX_COL_PINS { D4, C6, D7, E6, B4, B1, B3, B2, B6 }
+#define UNUSED_PINS
+
+/* COL2ROW, ROW2COL*/
+#define DIODE_DIRECTION COL2ROW
+
+/*
+ * Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN.
+ */
+#define SOFT_SERIAL_PIN D0 // or D1, D2, D3, E6
+
+// #define BACKLIGHT_PIN B7
+// #define BACKLIGHT_BREATHING
+// #define BACKLIGHT_LEVELS 3
+
+// #define RGB_DI_PIN E2
+// #ifdef RGB_DI_PIN
+// #define RGBLED_NUM 16
+// #define RGBLIGHT_HUE_STEP 8
+// #define RGBLIGHT_SAT_STEP 8
+// #define RGBLIGHT_VAL_STEP 8
+// #define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */
+// #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */
+// /*== all animations enable ==*/
+// #define RGBLIGHT_ANIMATIONS
+// /*== or choose animations ==*/
+// #define RGBLIGHT_EFFECT_BREATHING
+// #define RGBLIGHT_EFFECT_RAINBOW_MOOD
+// #define RGBLIGHT_EFFECT_RAINBOW_SWIRL
+// #define RGBLIGHT_EFFECT_SNAKE
+// #define RGBLIGHT_EFFECT_KNIGHT
+// #define RGBLIGHT_EFFECT_CHRISTMAS
+// #define RGBLIGHT_EFFECT_STATIC_GRADIENT
+// #define RGBLIGHT_EFFECT_RGB_TEST
+// #define RGBLIGHT_EFFECT_ALTERNATING
+// /*== customize breathing effect ==*/
+// /*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/
+// #define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64
+// /*==== use exp() and sin() ====*/
+// #define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7
+// #define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255
+// #endif
+
+/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
+#define DEBOUNCE 5
+
+/* define if matrix has ghost (lacks anti-ghosting diodes) */
+//#define MATRIX_HAS_GHOST
+
+/* number of backlight levels */
+
+/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
+#define LOCKING_SUPPORT_ENABLE
+/* Locking resynchronize hack */
+#define LOCKING_RESYNC_ENABLE
+
+/* If defined, GRAVE_ESC will always act as ESC when CTRL is held.
+ * This is userful for the Windows task manager shortcut (ctrl+shift+esc).
+ */
+// #define GRAVE_ESC_CTRL_OVERRIDE
+
+/*
+ * Force NKRO
+ *
+ * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved
+ * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the
+ * makefile for this to work.)
+ *
+ * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N)
+ * until the next keyboard reset.
+ *
+ * NKRO may prevent your keystrokes from being detected in the BIOS, but it is
+ * fully operational during normal computer usage.
+ *
+ * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N)
+ * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by
+ * bootmagic, NKRO mode will always be enabled until it is toggled again during a
+ * power-up.
+ *
+ */
+//#define FORCE_NKRO
+
+/*
+ * Feature disable options
+ * These options are also useful to firmware size reduction.
+ */
+
+/* disable debug print */
+//#define NO_DEBUG
+
+/* disable print */
+//#define NO_PRINT
+
+/* disable action features */
+//#define NO_ACTION_LAYER
+//#define NO_ACTION_TAPPING
+//#define NO_ACTION_ONESHOT
+//#define NO_ACTION_MACRO
+//#define NO_ACTION_FUNCTION
+
+/* Bootmagic Lite key configuration */
+// #define BOOTMAGIC_LITE_ROW 0
+// #define BOOTMAGIC_LITE_COLUMN 0
diff --git a/keyboards/reviung/reviung34/info.json b/keyboards/reviung/reviung34/info.json
new file mode 100755
index 0000000000..ecd89d4742
--- /dev/null
+++ b/keyboards/reviung/reviung34/info.json
@@ -0,0 +1,45 @@
+{
+ "keyboard_name": "reviung34",
+ "url": "",
+ "maintainer": "gtips",
+ "layouts": {
+ "LAYOUT_reviung34": {
+ "layout": [
+ {"label":"K00", "x":0, "y":0},
+ {"label":"K01", "x":1, "y":0},
+ {"label":"K02", "x":2, "y":0},
+ {"label":"K03", "x":3, "y":0},
+ {"label":"K04", "x":4, "y":0},
+ {"label":"K05", "x":6, "y":0},
+ {"label":"K06", "x":7, "y":0},
+ {"label":"K07", "x":8, "y":0},
+ {"label":"K08", "x":9, "y":0},
+ {"label":"K35", "x":10, "y":0},
+ {"label":"K10", "x":0, "y":1},
+ {"label":"K11", "x":1, "y":1},
+ {"label":"K12", "x":2, "y":1},
+ {"label":"K13", "x":3, "y":1},
+ {"label":"K14", "x":4, "y":1},
+ {"label":"K15", "x":6, "y":1},
+ {"label":"K16", "x":7, "y":1},
+ {"label":"K17", "x":8, "y":1},
+ {"label":"K18", "x":9, "y":1},
+ {"label":"K36", "x":10, "y":1},
+ {"label":"K20", "x":0, "y":2},
+ {"label":"K21", "x":1, "y":2},
+ {"label":"K22", "x":2, "y":2},
+ {"label":"K23", "x":3, "y":2},
+ {"label":"K24", "x":4, "y":2},
+ {"label":"K25", "x":6, "y":2},
+ {"label":"K26", "x":7, "y":2},
+ {"label":"K27", "x":8, "y":2},
+ {"label":"K28", "x":9, "y":2},
+ {"label":"K37", "x":10, "y":2},
+ {"label":"K32", "x":2, "y":3},
+ {"label":"K33", "x":3, "y":3},
+ {"label":"K34", "x":4, "y":3},
+ {"label":"K38", "x":6, "y":3, "w":2}
+ ]
+ }
+ }
+}
diff --git a/keyboards/reviung/reviung34/keymaps/default/keymap.c b/keyboards/reviung/reviung34/keymaps/default/keymap.c
new file mode 100755
index 0000000000..66939d2469
--- /dev/null
+++ b/keyboards/reviung/reviung34/keymaps/default/keymap.c
@@ -0,0 +1,69 @@
+/* Copyright 2019 gtips
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#include QMK_KEYBOARD_H
+
+enum layer_names {
+ _BASE,
+ _LOWER,
+ _RAISE,
+ _ADJUST
+};
+
+#define LOWER MO(_LOWER)
+#define RAISE MO(_RAISE)
+
+#define CT_Q LCTL_T(KC_Q)
+#define CT_CM RCTL_T(KC_COMM)
+#define SF_Z LSFT_T(KC_Z)
+#define SF_SS RSFT_T(KC_SLSH)
+#define AL_X LALT_T(KC_X)
+#define AL_DT RALT_T(KC_DOT)
+#define RA_SP LT(RAISE, KC_SPC)
+
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [_BASE] = LAYOUT_reviung34(
+ CT_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,
+ KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_ENT,
+ SF_Z, AL_X, KC_C, KC_V, KC_B, KC_N, KC_M, CT_CM, AL_DT, SF_SS,
+ KC_TAB, KC_BSPC, LOWER, RA_SP
+ ),
+
+ [_LOWER] = LAYOUT_reviung34(
+ KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN,
+ KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_SCLN,
+ KC_LSFT, KC_ESC, KC_LGUI, KC_LALT, KC_QUOT, KC_HOME, KC_END, KC_PGUP, KC_PGDN, KC_BSPC,
+ _______, _______, _______, _______
+ ),
+
+ [_RAISE] = LAYOUT_reviung34(
+ 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_LBRC, KC_RBRC, KC_BSLS, XXXXXXX, XXXXXXX, KC_GRV, KC_TILD, KC_COLN,
+ KC_LSFT, KC_ESC, KC_RGUI, KC_LALT, KC_DQUO, KC_TAB, XXXXXXX, KC_RCTL, KC_RALT, KC_DEL,
+ _______, _______, _______, _______
+ ),
+
+ [_ADJUST] = LAYOUT_reviung34(
+ KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PSCR,
+ KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ KC_F11, KC_F12, KC_CAPS, XXXXXXX, XXXXXXX, RESET, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ _______, _______, _______, _______
+ ),
+};
+
+layer_state_t layer_state_set_user(layer_state_t state) {
+ return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
+}
diff --git a/keyboards/reviung/reviung34/keymaps/default/readme.md b/keyboards/reviung/reviung34/keymaps/default/readme.md
new file mode 100755
index 0000000000..2e4619fae8
--- /dev/null
+++ b/keyboards/reviung/reviung34/keymaps/default/readme.md
@@ -0,0 +1 @@
+# The default keymap for reviung34
diff --git a/keyboards/reviung/reviung34/keymaps/default_2uL/keymap.c b/keyboards/reviung/reviung34/keymaps/default_2uL/keymap.c
new file mode 100755
index 0000000000..767c0ff4c6
--- /dev/null
+++ b/keyboards/reviung/reviung34/keymaps/default_2uL/keymap.c
@@ -0,0 +1,69 @@
+/* Copyright 2019 gtips
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#include QMK_KEYBOARD_H
+
+enum layer_names {
+ _BASE,
+ _LOWER,
+ _RAISE,
+ _ADJUST
+};
+
+#define LOWER MO(_LOWER)
+#define RAISE MO(_RAISE)
+
+#define CT_Q LCTL_T(KC_Q)
+#define CT_CM RCTL_T(KC_COMM)
+#define SF_Z LSFT_T(KC_Z)
+#define SF_SS RSFT_T(KC_SLSH)
+#define AL_X LALT_T(KC_X)
+#define AL_DT RALT_T(KC_DOT)
+#define RA_SP LT(RAISE, KC_SPC)
+
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [_BASE] = LAYOUT_reviung34_2uL(
+ CT_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,
+ KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_ENT,
+ SF_Z, AL_X, KC_C, KC_V, KC_B, KC_N, KC_M, CT_CM, AL_DT, SF_SS,
+ KC_TAB, LOWER, RA_SP
+ ),
+
+ [_LOWER] = LAYOUT_reviung34_2uL(
+ KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN,
+ KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_SCLN,
+ KC_LSFT, KC_ESC, KC_LGUI, KC_LALT, KC_QUOT, KC_HOME, KC_END, KC_PGUP, KC_PGDN, KC_BSPC,
+ _______, _______, _______
+ ),
+
+ [_RAISE] = LAYOUT_reviung34_2uL(
+ 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_LBRC, KC_RBRC, KC_BSLS, XXXXXXX, XXXXXXX, KC_GRV, KC_TILD, KC_COLN,
+ KC_LSFT, KC_ESC, KC_RGUI, KC_LALT, KC_DQUO, KC_TAB, XXXXXXX, KC_RCTL, KC_RALT, KC_DEL,
+ _______, _______, _______
+ ),
+
+ [_ADJUST] = LAYOUT_reviung34_2uL(
+ KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PSCR,
+ KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ KC_F11, KC_F12, KC_CAPS, XXXXXXX, XXXXXXX, RESET, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ _______, _______, _______
+ ),
+};
+
+layer_state_t layer_state_set_user(layer_state_t state) {
+ return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
+}
diff --git a/keyboards/reviung/reviung34/keymaps/default_2uL/readme.md b/keyboards/reviung/reviung34/keymaps/default_2uL/readme.md
new file mode 100755
index 0000000000..2e4619fae8
--- /dev/null
+++ b/keyboards/reviung/reviung34/keymaps/default_2uL/readme.md
@@ -0,0 +1 @@
+# The default keymap for reviung34
diff --git a/keyboards/reviung/reviung34/keymaps/default_jp/keymap.c b/keyboards/reviung/reviung34/keymaps/default_jp/keymap.c
new file mode 100755
index 0000000000..c37d87662c
--- /dev/null
+++ b/keyboards/reviung/reviung34/keymaps/default_jp/keymap.c
@@ -0,0 +1,70 @@
+/* Copyright 2019 gtips
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#include QMK_KEYBOARD_H
+#include "keymap_jp.h"
+
+enum layer_names {
+ _BASE,
+ _LOWER,
+ _RAISE,
+ _ADJUST
+};
+
+#define LOWER MO(_LOWER)
+#define RAISE MO(_RAISE)
+
+#define CT_Q LCTL_T(JP_Q)
+#define CT_CM RCTL_T(JP_COMM)
+#define SF_Z LSFT_T(JP_Z)
+#define SF_SS RSFT_T(JP_SLSH)
+#define AL_X LALT_T(JP_X)
+#define AL_DT RALT_T(JP_DOT)
+#define RA_SP LT(RAISE, KC_SPC)
+
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [_BASE] = LAYOUT_reviung34(
+ CT_Q, JP_W, JP_E, JP_R, JP_T, JP_Y, JP_U, JP_I, JP_O, JP_P,
+ JP_A, JP_S, JP_D, JP_F, JP_G, JP_H, JP_J, JP_K, JP_L, KC_ENT,
+ SF_Z, AL_X, JP_C, JP_V, JP_B, JP_N, JP_M, CT_CM, AL_DT, SF_SS,
+ KC_TAB, KC_BSPC, LOWER, RA_SP
+ ),
+
+ [_LOWER] = LAYOUT_reviung34(
+ JP_EXLM, JP_AT, JP_HASH, JP_DLR, JP_PERC, JP_CIRC, JP_AMPR, JP_ASTR, JP_LPRN, JP_RPRN,
+ JP_UNDS, JP_PLUS, JP_LCBR, JP_RCBR, JP_PIPE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, JP_SCLN,
+ KC_LSFT, KC_ESC, KC_LGUI, KC_LALT, JP_QUOT, KC_HOME, KC_END, KC_PGUP, KC_PGDN, KC_BSPC,
+ _______, _______, _______, _______
+ ),
+
+ [_RAISE] = LAYOUT_reviung34(
+ JP_1, JP_2, JP_3, JP_4, JP_5, JP_6, JP_7, JP_8, JP_9, JP_0,
+ JP_MINS, JP_EQL, JP_LBRC, JP_RBRC, JP_YEN, KC_RO, XXXXXXX, JP_GRV, JP_TILD, JP_COLN,
+ KC_LSFT, KC_ESC, KC_RGUI, KC_LALT, JP_DQUO, KC_TAB, XXXXXXX, KC_RCTL, KC_RALT, KC_DEL,
+ _______, _______, _______, _______
+ ),
+
+ [_ADJUST] = LAYOUT_reviung34(
+ KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PSCR,
+ KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ KC_F11, KC_F12, KC_CAPS, XXXXXXX, XXXXXXX, RESET, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ _______, _______, _______, _______
+ ),
+};
+
+layer_state_t layer_state_set_user(layer_state_t state) {
+ return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
+}
diff --git a/keyboards/reviung/reviung34/keymaps/default_jp/readme.md b/keyboards/reviung/reviung34/keymaps/default_jp/readme.md
new file mode 100755
index 0000000000..2e4619fae8
--- /dev/null
+++ b/keyboards/reviung/reviung34/keymaps/default_jp/readme.md
@@ -0,0 +1 @@
+# The default keymap for reviung34
diff --git a/keyboards/reviung/reviung34/keymaps/default_rgb/config.h b/keyboards/reviung/reviung34/keymaps/default_rgb/config.h
new file mode 100644
index 0000000000..b68201231f
--- /dev/null
+++ b/keyboards/reviung/reviung34/keymaps/default_rgb/config.h
@@ -0,0 +1,31 @@
+/* Copyright 2021 gtips
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+// place overrides here
+
+#define RGB_DI_PIN D3
+#ifdef RGB_DI_PIN
+ #define RGBLED_NUM 9
+ #define RGBLIGHT_HUE_STEP 16
+ #define RGBLIGHT_SAT_STEP 16
+ #define RGBLIGHT_VAL_STEP 16
+ #define RGBLIGHT_LIMIT_VAL 255
+ #define RGBLIGHT_SLEEP
+// /*== all animations enable ==*/
+ #define RGBLIGHT_ANIMATIONS
+#endif \ No newline at end of file
diff --git a/keyboards/reviung/reviung34/keymaps/default_rgb/keymap.c b/keyboards/reviung/reviung34/keymaps/default_rgb/keymap.c
new file mode 100755
index 0000000000..e2d852354b
--- /dev/null
+++ b/keyboards/reviung/reviung34/keymaps/default_rgb/keymap.c
@@ -0,0 +1,69 @@
+/* Copyright 2021 gtips
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#include QMK_KEYBOARD_H
+
+enum layer_names {
+ _BASE,
+ _LOWER,
+ _RAISE,
+ _ADJUST
+};
+
+#define LOWER MO(_LOWER)
+#define RAISE MO(_RAISE)
+
+#define CT_Q LCTL_T(KC_Q)
+#define CT_CM RCTL_T(KC_COMM)
+#define SF_Z LSFT_T(KC_Z)
+#define SF_SS RSFT_T(KC_SLSH)
+#define AL_X LALT_T(KC_X)
+#define AL_DT RALT_T(KC_DOT)
+#define LO_TB LT(LOWER, KC_TAB)
+
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [_BASE] = LAYOUT_reviung34(
+ CT_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,
+ KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_ENT,
+ SF_Z, AL_X, KC_C, KC_V, KC_B, KC_N, KC_M, CT_CM, AL_DT, SF_SS,
+ LO_TB, KC_BSPC, KC_SPC, RAISE
+ ),
+
+ [_LOWER] = LAYOUT_reviung34(
+ KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN,
+ KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_SCLN,
+ KC_LSFT, KC_ESC, KC_LGUI, KC_LALT, KC_QUOT, KC_HOME, KC_END, KC_PGUP, KC_PGDN, KC_BSPC,
+ _______, _______, _______, _______
+ ),
+
+ [_RAISE] = LAYOUT_reviung34(
+ 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_LBRC, KC_RBRC, KC_BSLS, XXXXXXX, XXXXXXX, KC_GRV, KC_TILD, KC_COLN,
+ KC_LSFT, KC_ESC, KC_RGUI, KC_LALT, KC_DQUO, KC_TAB, XXXXXXX, KC_RCTL, KC_RALT, KC_DEL,
+ _______, KC_DEL, _______, _______
+ ),
+
+ [_ADJUST] = LAYOUT_reviung34(
+ RGB_VAI, RGB_SAI, RGB_HUI, RGB_MOD, RGB_TOG, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5,
+ RGB_VAD, RGB_SAD, RGB_HUD, RGB_RMOD,XXXXXXX, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10,
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET, KC_F11, KC_F12, KC_CAPS, XXXXXXX, KC_PSCR,
+ _______, _______, _______, _______
+ ),
+};
+
+layer_state_t layer_state_set_user(layer_state_t state) {
+ return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
+}
diff --git a/keyboards/reviung/reviung34/keymaps/default_rgb/readme.md b/keyboards/reviung/reviung34/keymaps/default_rgb/readme.md
new file mode 100755
index 0000000000..81b04868cb
--- /dev/null
+++ b/keyboards/reviung/reviung34/keymaps/default_rgb/readme.md
@@ -0,0 +1 @@
+# The default keymap for non-split reviung34
diff --git a/keyboards/reviung/reviung34/keymaps/default_rgb/rules.mk b/keyboards/reviung/reviung34/keymaps/default_rgb/rules.mk
new file mode 100644
index 0000000000..1e3cebb145
--- /dev/null
+++ b/keyboards/reviung/reviung34/keymaps/default_rgb/rules.mk
@@ -0,0 +1 @@
+RGBLIGHT_ENABLE = yes
diff --git a/keyboards/reviung/reviung34/keymaps/default_rgb2u/config.h b/keyboards/reviung/reviung34/keymaps/default_rgb2u/config.h
new file mode 100644
index 0000000000..b68201231f
--- /dev/null
+++ b/keyboards/reviung/reviung34/keymaps/default_rgb2u/config.h
@@ -0,0 +1,31 @@
+/* Copyright 2021 gtips
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+// place overrides here
+
+#define RGB_DI_PIN D3
+#ifdef RGB_DI_PIN
+ #define RGBLED_NUM 9
+ #define RGBLIGHT_HUE_STEP 16
+ #define RGBLIGHT_SAT_STEP 16
+ #define RGBLIGHT_VAL_STEP 16
+ #define RGBLIGHT_LIMIT_VAL 255
+ #define RGBLIGHT_SLEEP
+// /*== all animations enable ==*/
+ #define RGBLIGHT_ANIMATIONS
+#endif \ No newline at end of file
diff --git a/keyboards/reviung/reviung34/keymaps/default_rgb2u/keymap.c b/keyboards/reviung/reviung34/keymaps/default_rgb2u/keymap.c
new file mode 100755
index 0000000000..f4f1d3be50
--- /dev/null
+++ b/keyboards/reviung/reviung34/keymaps/default_rgb2u/keymap.c
@@ -0,0 +1,68 @@
+/* Copyright 2021 gtips
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#include QMK_KEYBOARD_H
+
+enum layer_names {
+ _BASE,
+ _LOWER,
+ _RAISE,
+ _ADJUST
+};
+
+#define LOWER MO(_LOWER)
+#define RAISE MO(_RAISE)
+
+#define CT_Q LCTL_T(KC_Q)
+#define CT_CM RCTL_T(KC_COMM)
+#define SF_Z LSFT_T(KC_Z)
+#define SF_SS RSFT_T(KC_SLSH)
+#define AL_X LALT_T(KC_X)
+#define AL_DT RALT_T(KC_DOT)
+
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [_BASE] = LAYOUT_reviung34_2uL(
+ CT_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,
+ KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_ENT,
+ SF_Z, AL_X, KC_C, KC_V, KC_B, KC_N, KC_M, CT_CM, AL_DT, SF_SS,
+ LOWER, KC_SPC, RAISE
+ ),
+
+ [_LOWER] = LAYOUT_reviung34_2uL(
+ KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN,
+ KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_SCLN,
+ KC_LSFT, KC_ESC, KC_LGUI, KC_LALT, KC_QUOT, KC_HOME, KC_END, KC_PGUP, KC_PGDN, KC_BSPC,
+ _______, _______, _______
+ ),
+
+ [_RAISE] = LAYOUT_reviung34_2uL(
+ 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_LBRC, KC_RBRC, KC_BSLS, XXXXXXX, XXXXXXX, KC_GRV, KC_TILD, KC_COLN,
+ KC_LSFT, KC_ESC, KC_RGUI, KC_LALT, KC_DQUO, KC_TAB, XXXXXXX, KC_RCTL, KC_RALT, KC_DEL,
+ _______, _______, _______
+ ),
+
+ [_ADJUST] = LAYOUT_reviung34_2uL(
+ RGB_VAI, RGB_SAI, RGB_HUI, RGB_MOD, RGB_TOG, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5,
+ RGB_VAD, RGB_SAD, RGB_HUD, RGB_RMOD,XXXXXXX, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10,
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET, KC_F11, KC_F12, KC_CAPS, XXXXXXX, KC_PSCR,
+ _______, _______, _______
+ ),
+};
+
+layer_state_t layer_state_set_user(layer_state_t state) {
+ return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
+}
diff --git a/keyboards/reviung/reviung34/keymaps/default_rgb2u/readme.md b/keyboards/reviung/reviung34/keymaps/default_rgb2u/readme.md
new file mode 100755
index 0000000000..8acc99250f
--- /dev/null
+++ b/keyboards/reviung/reviung34/keymaps/default_rgb2u/readme.md
@@ -0,0 +1,3 @@
+# The default keymap for non-split reviung34
+
+Use the thumb key with 2u
diff --git a/keyboards/reviung/reviung34/keymaps/default_rgb2u/rules.mk b/keyboards/reviung/reviung34/keymaps/default_rgb2u/rules.mk
new file mode 100644
index 0000000000..1e3cebb145
--- /dev/null
+++ b/keyboards/reviung/reviung34/keymaps/default_rgb2u/rules.mk
@@ -0,0 +1 @@
+RGBLIGHT_ENABLE = yes
diff --git a/keyboards/reviung/reviung34/readme.md b/keyboards/reviung/reviung34/readme.md
new file mode 100755
index 0000000000..48b054cf94
--- /dev/null
+++ b/keyboards/reviung/reviung34/readme.md
@@ -0,0 +1,18 @@
+# reviung34
+
+![REVIUNG34 SPLIT](https://github.com/gtips/reviung/blob/master/reviung34split/image/REVIUNG34.jpg)
+
+The REVIUNG34 SPLIT is 34-key split ortholinear keyboard.
+Use one ProMicro.
+And connect the left and right keyboards using a LAN cable.
+
+Keyboard Maintainer: [gtips](https://github.com/gtips)
+Hardware Supported: The REVIUNG34 PCBs, Pro Micro supported
+Hardware Availability: [PCB & Case Data](https://github.com/gtips/reviung/tree/master/reviung34split)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make reviung34:default
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
diff --git a/keyboards/reviung/reviung34/reviung34.c b/keyboards/reviung/reviung34/reviung34.c
new file mode 100755
index 0000000000..00862d73e9
--- /dev/null
+++ b/keyboards/reviung/reviung34/reviung34.c
@@ -0,0 +1,16 @@
+/* Copyright 2019 gtips
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#include "reviung34.h"
diff --git a/keyboards/reviung/reviung34/reviung34.h b/keyboards/reviung/reviung34/reviung34.h
new file mode 100755
index 0000000000..8385e5c8c2
--- /dev/null
+++ b/keyboards/reviung/reviung34/reviung34.h
@@ -0,0 +1,52 @@
+/* Copyright 2019 gtips
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#pragma once
+
+#include "quantum.h"
+
+/* This a shortcut to help you visually see your layout.
+ *
+ * The first section contains all of the arguments representing the physical
+ * layout of the board and position of the keys.
+ *
+ * The second converts the arguments into a two-dimensional array which
+ * represents the switch matrix.
+ */
+#define LAYOUT_reviung34( \
+ K00, K01, K02, K03, K04, K05, K06, K07, K08, K35, \
+ K10, K11, K12, K13, K14, K15, K16, K17, K18, K36, \
+ K20, K21, K22, K23, K24, K25, K26, K27, K28, K37, \
+ K32, K33, K34, K38 \
+) \
+{ \
+ { K00, K01, K02, K03, K04, K05, K06, K07, K08 }, \
+ { K10, K11, K12, K13, K14, K15, K16, K17, K18 }, \
+ { K20, K21, K22, K23, K24, K25, K26, K27, K28 }, \
+ { KC_NO, KC_NO, K32, K33, K34, K35, K36, K37, K38 } \
+}
+
+#define LAYOUT_reviung34_2uL( \
+ K00, K01, K02, K03, K04, K05, K06, K07, K08, K35, \
+ K10, K11, K12, K13, K14, K15, K16, K17, K18, K36, \
+ K20, K21, K22, K23, K24, K25, K26, K27, K28, K37, \
+ K32, K34, K38 \
+) \
+{ \
+ { K00, K01, K02, K03, K04, K05, K06, K07, K08 }, \
+ { K10, K11, K12, K13, K14, K15, K16, K17, K18 }, \
+ { K20, K21, K22, K23, K24, K25, K26, K27, K28 }, \
+ { KC_NO, KC_NO, K32, KC_NO, K34, K35, K36, K37, K38 } \
+}
diff --git a/keyboards/reviung/reviung34/rules.mk b/keyboards/reviung/reviung34/rules.mk
new file mode 100755
index 0000000000..203f9645e5
--- /dev/null
+++ b/keyboards/reviung/reviung34/rules.mk
@@ -0,0 +1,18 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+BOOTLOADER = caterina
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = no # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = yes # Console for debug
+COMMAND_ENABLE = yes # Commands for debug and configuration
+NKRO_ENABLE = no # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
diff --git a/keyboards/reviung/reviung39/config.h b/keyboards/reviung/reviung39/config.h
new file mode 100644
index 0000000000..098497bc9f
--- /dev/null
+++ b/keyboards/reviung/reviung39/config.h
@@ -0,0 +1,146 @@
+/*
+Copyright 2019 gtips
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#pragma once
+
+#include "config_common.h"
+
+/* USB Device descriptor parameter */
+#define VENDOR_ID 0xFEED
+#define PRODUCT_ID 0x5F10
+#define DEVICE_VER 0x0001
+#define MANUFACTURER gtips
+#define PRODUCT reviung39
+
+/* key matrix size */
+#define MATRIX_ROWS 7
+#define MATRIX_COLS 6
+
+/*
+ * Keyboard Matrix Assignments
+ *
+ * Change this to how you wired your keyboard
+ * COLS: AVR pins used for columns, left to right
+ * ROWS: AVR pins used for rows, top to bottom
+ * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
+ * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
+ *
+*/
+#define MATRIX_ROW_PINS { F4, F5, F6, F7, B1, B3, B2 }
+#define MATRIX_COL_PINS { D4, C6, D7, E6, B4, B5 }
+#define UNUSED_PINS
+
+/* COL2ROW, ROW2COL*/
+#define DIODE_DIRECTION COL2ROW
+
+/*
+ * Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN.
+ */
+#define SOFT_SERIAL_PIN D0 // or D1, D2, D3, E6
+
+// #define BACKLIGHT_PIN B7
+// #define BACKLIGHT_BREATHING
+// #define BACKLIGHT_LEVELS 3
+
+// #define RGB_DI_PIN E2
+// #ifdef RGB_DI_PIN
+// #define RGBLED_NUM 16
+// #define RGBLIGHT_HUE_STEP 8
+// #define RGBLIGHT_SAT_STEP 8
+// #define RGBLIGHT_VAL_STEP 8
+// #define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */
+// #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */
+// /*== all animations enable ==*/
+// #define RGBLIGHT_ANIMATIONS
+// /*== or choose animations ==*/
+// #define RGBLIGHT_EFFECT_BREATHING
+// #define RGBLIGHT_EFFECT_RAINBOW_MOOD
+// #define RGBLIGHT_EFFECT_RAINBOW_SWIRL
+// #define RGBLIGHT_EFFECT_SNAKE
+// #define RGBLIGHT_EFFECT_KNIGHT
+// #define RGBLIGHT_EFFECT_CHRISTMAS
+// #define RGBLIGHT_EFFECT_STATIC_GRADIENT
+// #define RGBLIGHT_EFFECT_RGB_TEST
+// #define RGBLIGHT_EFFECT_ALTERNATING
+// /*== customize breathing effect ==*/
+// /*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/
+// #define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64
+// /*==== use exp() and sin() ====*/
+// #define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7
+// #define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255
+// #endif
+
+/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
+#define DEBOUNCE 5
+
+/* define if matrix has ghost (lacks anti-ghosting diodes) */
+//#define MATRIX_HAS_GHOST
+
+/* number of backlight levels */
+
+/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
+#define LOCKING_SUPPORT_ENABLE
+/* Locking resynchronize hack */
+#define LOCKING_RESYNC_ENABLE
+
+/* If defined, GRAVE_ESC will always act as ESC when CTRL is held.
+ * This is userful for the Windows task manager shortcut (ctrl+shift+esc).
+ */
+// #define GRAVE_ESC_CTRL_OVERRIDE
+
+/*
+ * Force NKRO
+ *
+ * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved
+ * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the
+ * makefile for this to work.)
+ *
+ * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N)
+ * until the next keyboard reset.
+ *
+ * NKRO may prevent your keystrokes from being detected in the BIOS, but it is
+ * fully operational during normal computer usage.
+ *
+ * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N)
+ * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by
+ * bootmagic, NKRO mode will always be enabled until it is toggled again during a
+ * power-up.
+ *
+ */
+//#define FORCE_NKRO
+
+/*
+ * Feature disable options
+ * These options are also useful to firmware size reduction.
+ */
+
+/* disable debug print */
+//#define NO_DEBUG
+
+/* disable print */
+//#define NO_PRINT
+
+/* disable action features */
+//#define NO_ACTION_LAYER
+//#define NO_ACTION_TAPPING
+//#define NO_ACTION_ONESHOT
+//#define NO_ACTION_MACRO
+//#define NO_ACTION_FUNCTION
+
+/* Bootmagic Lite key configuration */
+// #define BOOTMAGIC_LITE_ROW 0
+// #define BOOTMAGIC_LITE_COLUMN 0
diff --git a/keyboards/reviung/reviung39/info.json b/keyboards/reviung/reviung39/info.json
new file mode 100644
index 0000000000..725e2ff8e1
--- /dev/null
+++ b/keyboards/reviung/reviung39/info.json
@@ -0,0 +1,56 @@
+{
+ "keyboard_name": "reviung39",
+ "url": "",
+ "maintainer": "gtips",
+ "layouts": {
+ "LAYOUT_reviung39": {
+ "layout": [
+ {"label":"K00", "x":0, "y":0.54},
+ {"label":"K01", "x":1, "y":0.36},
+ {"label":"K02", "x":2, "y":0.18},
+ {"label":"K03", "x":3, "y":0},
+ {"label":"K04", "x":4, "y":0.18},
+ {"label":"K05", "x":5, "y":0.36},
+
+ {"label":"K30", "x":7, "y":0.36},
+ {"label":"K31", "x":8, "y":0.18},
+ {"label":"K32", "x":9, "y":0},
+ {"label":"K33", "x":10, "y":0.18},
+ {"label":"K34", "x":11, "y":0.36},
+ {"label":"K35", "x":12, "y":0.54},
+
+ {"label":"K10", "x":0, "y":1.54},
+ {"label":"K11", "x":1, "y":1.36},
+ {"label":"K12", "x":2, "y":1.18},
+ {"label":"K13", "x":3, "y":1},
+ {"label":"K14", "x":4, "y":1.18},
+ {"label":"K15", "x":5, "y":1.36},
+
+ {"label":"K40", "x":7, "y":1.36},
+ {"label":"K41", "x":8, "y":1.18},
+ {"label":"K42", "x":9, "y":1},
+ {"label":"K43", "x":10, "y":1.18},
+ {"label":"K44", "x":11, "y":1.36},
+ {"label":"K45", "x":12, "y":1.54},
+
+ {"label":"K20", "x":0, "y":2.54},
+ {"label":"K21", "x":1, "y":2.36},
+ {"label":"K22", "x":2, "y":2.18},
+ {"label":"K23", "x":3, "y":2},
+ {"label":"K24", "x":4, "y":2.18},
+ {"label":"K25", "x":5, "y":2.36},
+
+ {"label":"K50", "x":7, "y":2.36},
+ {"label":"K51", "x":8, "y":2.18},
+ {"label":"K52", "x":9, "y":2},
+ {"label":"K53", "x":10, "y":2.18},
+ {"label":"K54", "x":11, "y":2.36},
+ {"label":"K55", "x":12, "y":2.54},
+
+ {"label":"K60", "x":4.125, "y":3.54, "w":1.25},
+ {"label":"K61", "x":5.375, "y":3.54, "w":2.25},
+ {"label":"K62", "x":7.625, "y":3.54, "w":1.25}
+ ]
+ }
+ }
+}
diff --git a/keyboards/reviung/reviung39/keymaps/default/config.h b/keyboards/reviung/reviung39/keymaps/default/config.h
new file mode 100644
index 0000000000..70c641fca0
--- /dev/null
+++ b/keyboards/reviung/reviung39/keymaps/default/config.h
@@ -0,0 +1,47 @@
+/* Copyright 2019 gtips
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+// place overrides here
+
+#define RGB_DI_PIN D3
+#ifdef RGB_DI_PIN
+ #define RGBLED_NUM 11
+ #define RGBLIGHT_HUE_STEP 16
+ #define RGBLIGHT_SAT_STEP 16
+ #define RGBLIGHT_VAL_STEP 16
+ #define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */
+ #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */
+// /*== all animations enable ==*/
+ #define RGBLIGHT_ANIMATIONS
+// /*== or choose animations ==*/
+// #define RGBLIGHT_EFFECT_BREATHING
+// #define RGBLIGHT_EFFECT_RAINBOW_MOOD
+// #define RGBLIGHT_EFFECT_RAINBOW_SWIRL
+// #define RGBLIGHT_EFFECT_SNAKE
+// #define RGBLIGHT_EFFECT_KNIGHT
+// #define RGBLIGHT_EFFECT_CHRISTMAS
+// #define RGBLIGHT_EFFECT_STATIC_GRADIENT
+// #define RGBLIGHT_EFFECT_RGB_TEST
+// #define RGBLIGHT_EFFECT_ALTERNATING
+// /*== customize breathing effect ==*/
+// /*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/
+// #define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64
+// /*==== use exp() and sin() ====*/
+// #define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7
+// #define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255
+#endif \ No newline at end of file
diff --git a/keyboards/reviung/reviung39/keymaps/default/keymap.c b/keyboards/reviung/reviung39/keymaps/default/keymap.c
new file mode 100644
index 0000000000..7030be13fa
--- /dev/null
+++ b/keyboards/reviung/reviung39/keymaps/default/keymap.c
@@ -0,0 +1,61 @@
+/* Copyright 2019 gtips
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#include QMK_KEYBOARD_H
+
+enum layer_names {
+ _BASE,
+ _LOWER,
+ _RAISE,
+ _ADJUST
+};
+
+#define LOWER MO(_LOWER)
+#define RAISE MO(_RAISE)
+#define ADJUST MO(_ADJUST)
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [_BASE] = LAYOUT_reviung39(
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
+ KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, RSFT_T(KC_ENT),
+ LOWER, KC_SPC, RAISE
+ ),
+
+ [_LOWER] = LAYOUT_reviung39(
+ _______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL,
+ _______, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_GRV, KC_TILD,
+ _______, KC_ESC, KC_LGUI, KC_LALT, KC_CAPS, KC_DQUO, KC_HOME, KC_END, KC_PGUP, KC_PGDN, KC_PSCR, RSFT_T(KC_SPC),
+ _______, KC_ENT, _______
+ ),
+
+ [_RAISE] = LAYOUT_reviung39(
+ _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL,
+ _______, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6,
+ _______, KC_ESC, KC_RGUI, KC_RALT, KC_CAPS, KC_QUOT, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
+ _______, KC_BSPC, _______
+ ),
+
+ [_ADJUST] = LAYOUT_reviung39(
+ RGB_VAI, RGB_SAI, RGB_HUI, RGB_MOD, XXXXXXX, RGB_TOG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ RGB_VAD, RGB_SAD, RGB_HUD, RGB_RMOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ _______, XXXXXXX, _______
+ ),
+};
+
+layer_state_t layer_state_set_user(layer_state_t state) {
+ return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
+}
diff --git a/keyboards/reviung/reviung39/keymaps/default/readme.md b/keyboards/reviung/reviung39/keymaps/default/readme.md
new file mode 100644
index 0000000000..0c8f52d105
--- /dev/null
+++ b/keyboards/reviung/reviung39/keymaps/default/readme.md
@@ -0,0 +1,3 @@
+# The default keymap for REVIUNG39
+
+__REVIUNG39 is regular version__
diff --git a/keyboards/reviung/reviung39/keymaps/default/rules.mk b/keyboards/reviung/reviung39/keymaps/default/rules.mk
new file mode 100644
index 0000000000..1e3cebb145
--- /dev/null
+++ b/keyboards/reviung/reviung39/keymaps/default/rules.mk
@@ -0,0 +1 @@
+RGBLIGHT_ENABLE = yes
diff --git a/keyboards/reviung/reviung39/keymaps/default_s/config.h b/keyboards/reviung/reviung39/keymaps/default_s/config.h
new file mode 100644
index 0000000000..48be04a5b1
--- /dev/null
+++ b/keyboards/reviung/reviung39/keymaps/default_s/config.h
@@ -0,0 +1,47 @@
+/* Copyright 2019 gtips
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+// place overrides here
+
+#define RGB_DI_PIN D3
+#ifdef RGB_DI_PIN
+ #define RGBLED_NUM 6
+ #define RGBLIGHT_HUE_STEP 16
+ #define RGBLIGHT_SAT_STEP 16
+ #define RGBLIGHT_VAL_STEP 16
+ #define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */
+ #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */
+// /*== all animations enable ==*/
+ #define RGBLIGHT_ANIMATIONS
+// /*== or choose animations ==*/
+// #define RGBLIGHT_EFFECT_BREATHING
+// #define RGBLIGHT_EFFECT_RAINBOW_MOOD
+// #define RGBLIGHT_EFFECT_RAINBOW_SWIRL
+// #define RGBLIGHT_EFFECT_SNAKE
+// #define RGBLIGHT_EFFECT_KNIGHT
+// #define RGBLIGHT_EFFECT_CHRISTMAS
+// #define RGBLIGHT_EFFECT_STATIC_GRADIENT
+// #define RGBLIGHT_EFFECT_RGB_TEST
+// #define RGBLIGHT_EFFECT_ALTERNATING
+// /*== customize breathing effect ==*/
+// /*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/
+// #define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64
+// /*==== use exp() and sin() ====*/
+// #define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7
+// #define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255
+#endif \ No newline at end of file
diff --git a/keyboards/reviung/reviung39/keymaps/default_s/keymap.c b/keyboards/reviung/reviung39/keymaps/default_s/keymap.c
new file mode 100644
index 0000000000..42e2694315
--- /dev/null
+++ b/keyboards/reviung/reviung39/keymaps/default_s/keymap.c
@@ -0,0 +1,61 @@
+/* Copyright 2019 gtips
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#include QMK_KEYBOARD_H
+
+enum layer_names {
+ _BASE,
+ _LOWER,
+ _RAISE,
+ _ADJUST
+};
+
+#define LOWER MO(_LOWER)
+#define RAISE MO(_RAISE)
+#define ADJUST MO(_ADJUST)
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [_BASE] = LAYOUT_reviung39(
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
+ KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, RSFT_T(KC_ENT),
+ LOWER, KC_SPC, RAISE
+ ),
+
+ [_LOWER] = LAYOUT_reviung39(
+ _______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL,
+ _______, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_GRV, KC_TILD,
+ _______, KC_ESC, KC_LGUI, KC_LALT, KC_CAPS, KC_DQUO, KC_HOME, KC_END, KC_PGUP, KC_PGDN, KC_PSCR, RSFT_T(KC_SPC),
+ _______, KC_ENT, _______
+ ),
+
+ [_RAISE] = LAYOUT_reviung39(
+ _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL,
+ _______, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6,
+ _______, KC_ESC, KC_RGUI, KC_RALT, KC_CAPS, KC_QUOT, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
+ _______, KC_BSPC, _______
+ ),
+
+ [_ADJUST] = LAYOUT_reviung39(
+ RGB_VAI, RGB_SAI, RGB_HUI, RGB_MOD, XXXXXXX, RGB_TOG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ RGB_VAD, RGB_SAD, RGB_HUD, RGB_RMOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ _______, XXXXXXX, _______
+ ),
+};
+
+layer_state_t layer_state_set_user(layer_state_t state) {
+ return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
+}
diff --git a/keyboards/reviung/reviung39/keymaps/default_s/readme.md b/keyboards/reviung/reviung39/keymaps/default_s/readme.md
new file mode 100644
index 0000000000..b882ec40c2
--- /dev/null
+++ b/keyboards/reviung/reviung39/keymaps/default_s/readme.md
@@ -0,0 +1,6 @@
+# The default keymap for REVIUNG39S
+
+__REVIUNG39S is simple version__
+
+The number of RGB LEDs is set to 6.
+To change the number of RGB LEDs, change the "#define RGBLED_NUM 6" number in "default_s / config.h".
diff --git a/keyboards/reviung/reviung39/keymaps/default_s/rules.mk b/keyboards/reviung/reviung39/keymaps/default_s/rules.mk
new file mode 100644
index 0000000000..1e3cebb145
--- /dev/null
+++ b/keyboards/reviung/reviung39/keymaps/default_s/rules.mk
@@ -0,0 +1 @@
+RGBLIGHT_ENABLE = yes
diff --git a/keyboards/reviung/reviung39/keymaps/toshi0383/config.h b/keyboards/reviung/reviung39/keymaps/toshi0383/config.h
new file mode 100644
index 0000000000..cd201ebfbb
--- /dev/null
+++ b/keyboards/reviung/reviung39/keymaps/toshi0383/config.h
@@ -0,0 +1,47 @@
+/* Copyright 2019 gtips
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+// place overrides here
+
+#define RGB_DI_PIN D3
+#ifdef RGB_DI_PIN
+ #define RGBLED_NUM 11
+ #define RGBLIGHT_HUE_STEP 16
+ #define RGBLIGHT_SAT_STEP 16
+ #define RGBLIGHT_VAL_STEP 16
+ #define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */
+ #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */
+// /*== all animations enable ==*/
+ #define RGBLIGHT_ANIMATIONS
+// /*== or choose animations ==*/
+// #define RGBLIGHT_EFFECT_BREATHING
+// #define RGBLIGHT_EFFECT_RAINBOW_MOOD
+// #define RGBLIGHT_EFFECT_RAINBOW_SWIRL
+// #define RGBLIGHT_EFFECT_SNAKE
+// #define RGBLIGHT_EFFECT_KNIGHT
+// #define RGBLIGHT_EFFECT_CHRISTMAS
+// #define RGBLIGHT_EFFECT_STATIC_GRADIENT
+// #define RGBLIGHT_EFFECT_RGB_TEST
+// #define RGBLIGHT_EFFECT_ALTERNATING
+// /*== customize breathing effect ==*/
+// /*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/
+// #define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64
+// /*==== use exp() and sin() ====*/
+// #define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7
+// #define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255
+#endif
diff --git a/keyboards/reviung/reviung39/keymaps/toshi0383/keymap.c b/keyboards/reviung/reviung39/keymaps/toshi0383/keymap.c
new file mode 100644
index 0000000000..f2586086c2
--- /dev/null
+++ b/keyboards/reviung/reviung39/keymaps/toshi0383/keymap.c
@@ -0,0 +1,57 @@
+/* Copyright 2019 gtips
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#include QMK_KEYBOARD_H
+
+enum layer_names {
+ _BASE,
+ _LOWER,
+ _RAISE,
+ _ADJUST
+};
+
+#define LOWER MO(_LOWER)
+#define RAISE MO(_RAISE)
+#define ADJUST MO(_ADJUST)
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [_BASE] = LAYOUT_reviung39(
+ KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPACE,
+ KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, SFT_T(KC_SCLN), KC_RGUI,
+ KC_SPC, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_RCTL, KC_DOT, KC_RALT, RGUI(KC_RSFT),
+ LOWER, KC_ENT, RAISE
+ ),
+
+ [_LOWER] = LAYOUT_reviung39(
+ KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, _______, _______, _______,
+ _______, KC_LT, KC_GT, KC_LPRN, KC_RPRN, KC_GRV, KC_MINS, KC_LCBR, KC_RCBR, KC_LBRC, KC_RBRC, KC_PIPE,
+ KC_LALT, _______, _______, _______, KC_EQL, KC_QUES, KC_UNDS, KC_PLUS, KC_COMM, _______, KC_SLSH, _______,
+ _______, _______, KC_RGUI
+ ),
+
+ [_RAISE] = LAYOUT_reviung39(
+ _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______,
+ _______, KC_COLN, KC_SCLN, KC_DQT, KC_QUOT, KC_BSLS, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______,
+ _______, _______, _______, _______, _______, _______, ADJUST, _______, _______, _______, _______, _______,
+ KC_LGUI, _______, _______
+ ),
+
+ [_ADJUST] = LAYOUT_reviung39(
+ RGB_VAI, RGB_SAI, RGB_HUI, RGB_MOD, XXXXXXX, RGB_TOG, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, XXXXXXX,
+ RGB_VAD, RGB_SAD, RGB_HUD, RGB_RMOD, XXXXXXX, XXXXXXX, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, XXXXXXX,
+ KC_MUTE, KC_VOLD, KC_VOLU, KC_BRID, KC_BRIU, RESET, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_LANG1, KC_LANG2,
+ KC_LGUI, XXXXXXX, _______
+ ),
+};
diff --git a/keyboards/reviung/reviung39/keymaps/toshi0383/readme.md b/keyboards/reviung/reviung39/keymaps/toshi0383/readme.md
new file mode 100644
index 0000000000..5a09f2559a
--- /dev/null
+++ b/keyboards/reviung/reviung39/keymaps/toshi0383/readme.md
@@ -0,0 +1,3 @@
+# toshi0383's keymap for REVIUNG39
+
+__REVIUNG39 is regular version__
diff --git a/keyboards/reviung/reviung39/keymaps/toshi0383/rules.mk b/keyboards/reviung/reviung39/keymaps/toshi0383/rules.mk
new file mode 100644
index 0000000000..7ad666d1a3
--- /dev/null
+++ b/keyboards/reviung/reviung39/keymaps/toshi0383/rules.mk
@@ -0,0 +1 @@
+RGBLIGHT_ENABLE = yes \ No newline at end of file
diff --git a/keyboards/reviung/reviung39/keymaps/via/keymap.c b/keyboards/reviung/reviung39/keymaps/via/keymap.c
new file mode 100644
index 0000000000..0a4a664dc2
--- /dev/null
+++ b/keyboards/reviung/reviung39/keymaps/via/keymap.c
@@ -0,0 +1,54 @@
+/* Copyright 2020 @toastedmangoes
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#include QMK_KEYBOARD_H
+
+enum layer_names {
+ _BASE,
+ _LOWER,
+ _RAISE,
+ _ADJUST
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [_BASE] = LAYOUT_reviung39(
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
+ KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, RSFT_T(KC_ENT),
+ FN_MO13, KC_SPC, FN_MO23
+ ),
+
+ [_LOWER] = LAYOUT_reviung39(
+ _______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL,
+ _______, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_GRV, KC_TILD,
+ _______, KC_ESC, KC_LGUI, KC_LALT, KC_CAPS, KC_DQUO, KC_HOME, KC_END, KC_PGUP, KC_PGDN, KC_PSCR, RSFT_T(KC_SPC),
+ _______, KC_ENT, _______
+ ),
+
+ [_RAISE] = LAYOUT_reviung39(
+ _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL,
+ _______, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6,
+ _______, KC_ESC, KC_RGUI, KC_RALT, KC_CAPS, KC_QUOT, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
+ _______, KC_BSPC, _______
+ ),
+
+ [_ADJUST] = LAYOUT_reviung39(
+ RGB_VAI, RGB_SAI, RGB_HUI, RGB_MOD, XXXXXXX, RGB_TOG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ RGB_VAD, RGB_SAD, RGB_HUD, RGB_RMOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ _______, XXXXXXX, _______
+ ),
+};
+
diff --git a/keyboards/reviung/reviung39/keymaps/via/rules.mk b/keyboards/reviung/reviung39/keymaps/via/rules.mk
new file mode 100644
index 0000000000..5d85ccd103
--- /dev/null
+++ b/keyboards/reviung/reviung39/keymaps/via/rules.mk
@@ -0,0 +1,3 @@
+VIA_ENABLE = yes
+RGBLIGHT_ENABLE = no
+LTO_ENABLE = yes
diff --git a/keyboards/reviung/reviung39/readme.md b/keyboards/reviung/reviung39/readme.md
new file mode 100644
index 0000000000..e0bf642828
--- /dev/null
+++ b/keyboards/reviung/reviung39/readme.md
@@ -0,0 +1,15 @@
+# reviung39
+
+![reviung39](https://github.com/gtips/reviung/blob/master/reviung39/image/REVIUNG39-1.jpg)
+
+The REVIUNG39 is 39-key column staggered keyboard.
+
+Keyboard Maintainer: [gtips](https://github.com/gtips)
+Hardware Supported: The REVIUNG39 PCBs, Pro Micro supported
+Hardware Availability: [PCB & Case Data](https://github.com/gtips/reviung)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make reviung39:default
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
diff --git a/keyboards/reviung/reviung39/reviung39.c b/keyboards/reviung/reviung39/reviung39.c
new file mode 100644
index 0000000000..0948106e9d
--- /dev/null
+++ b/keyboards/reviung/reviung39/reviung39.c
@@ -0,0 +1,16 @@
+/* Copyright 2019 gtips
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#include "reviung39.h"
diff --git a/keyboards/reviung/reviung39/reviung39.h b/keyboards/reviung/reviung39/reviung39.h
new file mode 100644
index 0000000000..89776c5aa2
--- /dev/null
+++ b/keyboards/reviung/reviung39/reviung39.h
@@ -0,0 +1,42 @@
+/* Copyright 2019 gtips
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#pragma once
+
+#include "quantum.h"
+
+/* This a shortcut to help you visually see your layout.
+ *
+ * The first section contains all of the arguments representing the physical
+ * layout of the board and position of the keys.
+ *
+ * The second converts the arguments into a two-dimensional array which
+ * represents the switch matrix.
+ */
+#define LAYOUT_reviung39( \
+ K00, K01, K02, K03, K04, K05, K30, K31, K32, K33, K34, K35, \
+ K10, K11, K12, K13, K14, K15, K40, K41, K42, K43, K44, K45, \
+ K20, K21, K22, K23, K24, K25, K50, K51, K52, K53, K54, K55, \
+ K60, K61, K62 \
+) \
+{ \
+ { K00, K01, K02, K03, K04, K05 }, \
+ { K10, K11, K12, K13, K14, K15 }, \
+ { K20, K21, K22, K23, K24, K25 }, \
+ { K30, K31, K32, K33, K34, K35 }, \
+ { K40, K41, K42, K43, K44, K45 }, \
+ { K50, K51, K52, K53, K54, K55 }, \
+ { K60, K61, K62, KC_NO, KC_NO, KC_NO } \
+}
diff --git a/keyboards/reviung/reviung39/rules.mk b/keyboards/reviung/reviung39/rules.mk
new file mode 100644
index 0000000000..203f9645e5
--- /dev/null
+++ b/keyboards/reviung/reviung39/rules.mk
@@ -0,0 +1,18 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+BOOTLOADER = caterina
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = no # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = yes # Console for debug
+COMMAND_ENABLE = yes # Commands for debug and configuration
+NKRO_ENABLE = no # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
diff --git a/keyboards/reviung/reviung41/config.h b/keyboards/reviung/reviung41/config.h
new file mode 100644
index 0000000000..967ca791d5
--- /dev/null
+++ b/keyboards/reviung/reviung41/config.h
@@ -0,0 +1,146 @@
+/*
+Copyright 2020 gtips
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#pragma once
+
+#include "config_common.h"
+
+/* USB Device descriptor parameter */
+#define VENDOR_ID 0x7807
+#define PRODUCT_ID 0xDCCB
+#define DEVICE_VER 0x0001
+#define MANUFACTURER gtips
+#define PRODUCT reviung41
+
+/* key matrix size */
+#define MATRIX_ROWS 7
+#define MATRIX_COLS 6
+
+/*
+ * Keyboard Matrix Assignments
+ *
+ * Change this to how you wired your keyboard
+ * COLS: AVR pins used for columns, left to right
+ * ROWS: AVR pins used for rows, top to bottom
+ * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
+ * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
+ *
+ */
+#define MATRIX_ROW_PINS \
+ { F4, F5, F6, F7, B1, B3, B2 }
+#define MATRIX_COL_PINS \
+ { D4, C6, D7, E6, B4, B5 }
+#define UNUSED_PINS
+
+/* COL2ROW, ROW2COL*/
+#define DIODE_DIRECTION COL2ROW
+
+/*
+ * Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN.
+ */
+#define SOFT_SERIAL_PIN D0 // or D1, D2, D3, E6
+
+// #define BACKLIGHT_PIN B7
+// #define BACKLIGHT_BREATHING
+// #define BACKLIGHT_LEVELS 3
+
+#define RGB_DI_PIN D3
+#ifdef RGB_DI_PIN
+ #define RGBLED_NUM 11
+ #define RGBLIGHT_HUE_STEP 16
+ #define RGBLIGHT_SAT_STEP 16
+ #define RGBLIGHT_VAL_STEP 16
+ #define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */
+ #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */
+// /*== all animations enable ==*/
+ #define RGBLIGHT_ANIMATIONS
+// /*== or choose animations ==*/
+// #define RGBLIGHT_EFFECT_BREATHING
+// #define RGBLIGHT_EFFECT_RAINBOW_MOOD
+// #define RGBLIGHT_EFFECT_RAINBOW_SWIRL
+// #define RGBLIGHT_EFFECT_SNAKE
+// #define RGBLIGHT_EFFECT_KNIGHT
+// #define RGBLIGHT_EFFECT_CHRISTMAS
+// #define RGBLIGHT_EFFECT_STATIC_GRADIENT
+// #define RGBLIGHT_EFFECT_RGB_TEST
+// #define RGBLIGHT_EFFECT_ALTERNATING
+// /*== customize breathing effect ==*/
+// /*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/
+// #define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64
+// /*==== use exp() and sin() ====*/
+// #define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7
+// #define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255
+#endif
+
+/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
+#define DEBOUNCE 5
+
+/* define if matrix has ghost (lacks anti-ghosting diodes) */
+//#define MATRIX_HAS_GHOST
+
+/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
+#define LOCKING_SUPPORT_ENABLE
+/* Locking resynchronize hack */
+#define LOCKING_RESYNC_ENABLE
+
+/* If defined, GRAVE_ESC will always act as ESC when CTRL is held.
+ * This is userful for the Windows task manager shortcut (ctrl+shift+esc).
+ */
+// #define GRAVE_ESC_CTRL_OVERRIDE
+
+/*
+ * Force NKRO
+ *
+ * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved
+ * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the
+ * makefile for this to work.)
+ *
+ * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N)
+ * until the next keyboard reset.
+ *
+ * NKRO may prevent your keystrokes from being detected in the BIOS, but it is
+ * fully operational during normal computer usage.
+ *
+ * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N)
+ * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by
+ * bootmagic, NKRO mode will always be enabled until it is toggled again during a
+ * power-up.
+ *
+ */
+//#define FORCE_NKRO
+
+/*
+ * Feature disable options
+ * These options are also useful to firmware size reduction.
+ */
+
+/* disable debug print */
+//#define NO_DEBUG
+
+/* disable print */
+//#define NO_PRINT
+
+/* disable action features */
+//#define NO_ACTION_LAYER
+//#define NO_ACTION_TAPPING
+//#define NO_ACTION_ONESHOT
+//#define NO_ACTION_MACRO
+//#define NO_ACTION_FUNCTION
+
+/* Bootmagic Lite key configuration */
+// #define BOOTMAGIC_LITE_ROW 0
+// #define BOOTMAGIC_LITE_COLUMN 0
diff --git a/keyboards/reviung/reviung41/info.json b/keyboards/reviung/reviung41/info.json
new file mode 100644
index 0000000000..ff9e11b939
--- /dev/null
+++ b/keyboards/reviung/reviung41/info.json
@@ -0,0 +1,58 @@
+{
+ "keyboard_name": "reviung39",
+ "url": "",
+ "maintainer": "gtips",
+ "layouts": {
+ "LAYOUT_reviung41": {
+ "layout": [
+ {"label":"K00", "x":0, "y":0.54},
+ {"label":"K01", "x":1, "y":0.36},
+ {"label":"K02", "x":2, "y":0.18},
+ {"label":"K03", "x":3, "y":0},
+ {"label":"K04", "x":4, "y":0.18},
+ {"label":"K05", "x":5, "y":0.36},
+
+ {"label":"K30", "x":7, "y":0.36},
+ {"label":"K31", "x":8, "y":0.18},
+ {"label":"K32", "x":9, "y":0},
+ {"label":"K33", "x":10, "y":0.18},
+ {"label":"K34", "x":11, "y":0.36},
+ {"label":"K35", "x":12, "y":0.54},
+
+ {"label":"K10", "x":0, "y":1.54},
+ {"label":"K11", "x":1, "y":1.36},
+ {"label":"K12", "x":2, "y":1.18},
+ {"label":"K13", "x":3, "y":1},
+ {"label":"K14", "x":4, "y":1.18},
+ {"label":"K15", "x":5, "y":1.36},
+
+ {"label":"K40", "x":7, "y":1.36},
+ {"label":"K41", "x":8, "y":1.18},
+ {"label":"K42", "x":9, "y":1},
+ {"label":"K43", "x":10, "y":1.18},
+ {"label":"K44", "x":11, "y":1.36},
+ {"label":"K45", "x":12, "y":1.54},
+
+ {"label":"K20", "x":0, "y":2.54},
+ {"label":"K21", "x":1, "y":2.36},
+ {"label":"K22", "x":2, "y":2.18},
+ {"label":"K23", "x":3, "y":2},
+ {"label":"K24", "x":4, "y":2.18},
+ {"label":"K25", "x":5, "y":2.36},
+
+ {"label":"K50", "x":7, "y":2.36},
+ {"label":"K51", "x":8, "y":2.18},
+ {"label":"K52", "x":9, "y":2},
+ {"label":"K53", "x":10, "y":2.18},
+ {"label":"K54", "x":11, "y":2.36},
+ {"label":"K55", "x":12, "y":2.54},
+
+ {"label":"K60", "x":2.875, "y":3.54, "w":1.25},
+ {"label":"K61", "x":4.125, "y":3.54, "w":1.25},
+ {"label":"K62", "x":5.375, "y":3.54, "w":2.25},
+ {"label":"K63", "x":7.625, "y":3.54, "w":1.25},
+ {"label":"K64", "x":8.875, "y":3.54, "w":1.25}
+ ]
+ }
+ }
+}
diff --git a/keyboards/reviung/reviung41/keymaps/ciutadellla/config.h b/keyboards/reviung/reviung41/keymaps/ciutadellla/config.h
new file mode 100644
index 0000000000..920c317e4b
--- /dev/null
+++ b/keyboards/reviung/reviung41/keymaps/ciutadellla/config.h
@@ -0,0 +1,29 @@
+/* Copyright 2021 @Ciutadellla
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+#define RGBLIGHT_LAYERS
+#ifdef RGB_DI_PIN
+ // /*== all animations enable ==*/
+ //#define RGBLIGHT_ANIMATIONS
+ // /*== or choose animations ==*/
+ #define RGBLIGHT_EFFECT_BREATHING
+ #define RGBLIGHT_EFFECT_RAINBOW_MOOD
+ #define RGBLIGHT_EFFECT_RAINBOW_SWIRL
+#endif
+
+#define TAPPING_TERM 200
+#define UNICODE_SELECTED_MODES UC_MAC, UC_LNX, UC_WINC
diff --git a/keyboards/reviung/reviung41/keymaps/ciutadellla/keymap.c b/keyboards/reviung/reviung41/keymaps/ciutadellla/keymap.c
new file mode 100644
index 0000000000..a35b677197
--- /dev/null
+++ b/keyboards/reviung/reviung41/keymaps/ciutadellla/keymap.c
@@ -0,0 +1,333 @@
+/* Copyright 2021 @Ciutadellla
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+ #include QMK_KEYBOARD_H
+
+ enum layer_names {
+ _BASE,
+ _LOWER,
+ _RAISE,
+ _MOVE,
+ _ADJUST
+ };
+
+ //UNICODES
+ #include "process_unicode.h"
+
+ enum unicode_names {
+ CKC_EUR,
+ N_TILDE,
+ COMB_ACUTE_ACCENT,
+ GRINNING_FACE, // 😃
+ BEAMING_FACE, // 😁
+ GRINNING_FACE_WITH_SWEAT, // 😅
+ ROLLING_LAUGHING, // 🤣
+ FACE_TEARS_JOY, // 😂
+ WINKING_FACE, // 😉
+ SMILING_FACE_HALO, // 😇
+ SMILING_FACE_HEARTS, // 🥰
+ SMILING_FACE_HEART_EYES, // 😍
+ FACE_BLOWING_KISS, // 😘
+ FACE_SAVORING_FOOD, // 😋
+ ZANY_FACE, // 🤪
+ HUGGING_FACE, // 🤗
+ SHUSHING_FACE, // 🤫
+ THINKING_FACE, // 🤔
+ FACE_RAISED_EYEBROW, // 🤨
+ NEUTRAL_FACE, // 😐
+ SMIRKING_FACE, // 😏
+ FACE_ROLLING_EYES, // 🙄
+ PENSIVE_FACE, // 😔
+ FACE_VOMITING, // 🤮
+ WOOZY_FACE, // 🥴
+ PLEADING_FACE, // 🥺
+ LOUDLY_CRYING_FACE, // 😭
+ DISAPPOINTED_FACE, // 😞
+ FACE_SYMBOLS_MOUTH, // 🤬
+ SMILING_FACE_HORNS, // 😈
+ SKULL, // 💀
+ PILE_POO, // 💩
+ GHOST, // 👻
+ ALIEN_MONSTER, // 👾
+ RED_HEART, // ❤
+ BOMB, // 💣
+ WAVING_HAND, // 👋
+ OK_HAND, // 👌
+ CLAPPING_HANDS, // 👏
+ EYES, // 👀
+ MAN_FACEPALMING, // 🤦
+ TURTLE, // 🐢
+ SNAKE, // 🐍
+ SPOUTING_WHALE, // 🐳
+ DRAGON, // 🐉
+ TREX, // 🦖
+ THUMBSDOWN, // 👍
+ THUMBSUP, // 👎
+ };
+
+ //https://unicode-table.com/en/#00F1
+ const uint32_t PROGMEM unicode_map[] = {
+ [CKC_EUR] = 0x20AC, //€
+ [N_TILDE] = 0x00F1, // ñ
+ [COMB_ACUTE_ACCENT] = 0x0301, // ´
+ [GRINNING_FACE] = 0x1F603,
+ [BEAMING_FACE] = 0x1F601,
+ [GRINNING_FACE_WITH_SWEAT] = 0x1F605,
+ [ROLLING_LAUGHING] = 0x1F923,
+ [FACE_TEARS_JOY] = 0x1F602,
+ [WINKING_FACE] = 0x1F609,
+ [SMILING_FACE_HALO] = 0x1F607,
+ [SMILING_FACE_HEARTS] = 0x1F970,
+ [SMILING_FACE_HEART_EYES] = 0x1F60D,
+ [FACE_BLOWING_KISS] = 0x1F618,
+ [FACE_SAVORING_FOOD] = 0x1F60B,
+ [ZANY_FACE] = 0x1F92A,
+ [HUGGING_FACE] = 0x1F917,
+ [SHUSHING_FACE] = 0x1F92B,
+ [THINKING_FACE] = 0x1F914,
+ [FACE_RAISED_EYEBROW] = 0x1F928,
+ [NEUTRAL_FACE] = 0x1F610,
+ [SMIRKING_FACE] = 0x1F60F,
+ [FACE_ROLLING_EYES] = 0x1F644,
+ [PENSIVE_FACE] = 0x1F614,
+ [FACE_VOMITING] = 0x1F92E,
+ [WOOZY_FACE] = 0x1F974,
+ [PLEADING_FACE] = 0x1F97A,
+ [LOUDLY_CRYING_FACE] = 0x1F62D,
+ [DISAPPOINTED_FACE] = 0x1F61E,
+ [FACE_SYMBOLS_MOUTH] = 0x1F92C,
+ [SMILING_FACE_HORNS] = 0x1F608,
+ [SKULL] = 0x1F480,
+ [PILE_POO] = 0x1F4A9,
+ [GHOST] = 0x1F47B,
+ [ALIEN_MONSTER] = 0x1F47E,
+ [RED_HEART] = 0x2764,
+ [BOMB] = 0x1F4A3,
+ [WAVING_HAND] = 0x1F44B,
+ [OK_HAND] = 0x1F44C,
+ [CLAPPING_HANDS] = 0x1F44F,
+ [EYES] = 0x1F440,
+ [MAN_FACEPALMING] = 0x1F926,
+ [TURTLE] = 0x1F422,
+ [SNAKE] = 0x1F40D,
+ [SPOUTING_WHALE] = 0x1F433,
+ [DRAGON] = 0x1F409,
+ [TREX] = 0x1F996,
+ [THUMBSDOWN] = 0x1F44E,
+ [THUMBSUP] = 0x1F44D,
+ };
+
+
+ void matrix_init_user(){
+ set_unicode_input_mode(UC_MAC);
+ }
+
+
+ // Shortcut to make keymap more readable
+ #define KC_OSX_EJECT 0x66
+ #define LOCK_OSX LSFT(LCTL(KC_OSX_EJECT))
+ #define SLEEP_OSX LALT(LGUI(KC_OSX_EJECT))
+ #define KC_C_LF RCTL(KC_LEFT) // control + left
+ #define KC_C_RT RCTL(KC_RGHT) // control + right
+
+ // tap dance declarations
+ enum {
+ _TD_TAB_ESC = 0,
+ _TD_BSPC_WDEL,
+ _TD_SFT_CAPS,
+ _TD_SPC_ENT,
+ _TD_N_NTILDE,
+ _TD_CTRL_LANG,
+ _TD_SCLN_NTILDE
+ };
+
+ #define TD_TAB_ESC TD(_TD_TAB_ESC)
+ #define TD_BSPC_WDEL TD(_TD_BSPC_WDEL)
+ #define TD_SFT_CAPS TD(_TD_SFT_CAPS)
+ #define TD_SPC_ENT TD(_TD_SPC_ENT)
+ #define TD_N_NTILDE TD(_TD_N_NTILDE)
+ #define TD_CTRL_LANG TD(_TD_CTRL_LANG)
+ #define TD_SCLN_NTILDE TD(_TD_SCLN_NTILDE) //TP with costum keycodes has to be a funtion
+
+ void td_scln_ntilde(qk_tap_dance_state_t *state, void *user_data) {
+ if (state->count == 1) {
+ register_code(KC_SCLN);
+ unregister_code(KC_SCLN);
+ } else {
+ send_unicode_string("ñ");
+ }
+ reset_tap_dance(state);
+ }
+
+ // Tap Dance Definitions
+ qk_tap_dance_action_t tap_dance_actions[] = {
+ [_TD_TAB_ESC] = ACTION_TAP_DANCE_DOUBLE(KC_TAB, KC_ESC),
+ [_TD_BSPC_WDEL] = ACTION_TAP_DANCE_DOUBLE(KC_BSPC, LALT(KC_BSPC)),
+ [_TD_SFT_CAPS] = ACTION_TAP_DANCE_DOUBLE(KC_LSFT, KC_CAPS),
+ [_TD_SPC_ENT] = ACTION_TAP_DANCE_DOUBLE(KC_SPC, KC_ENT),
+ [_TD_CTRL_LANG] = ACTION_TAP_DANCE_DOUBLE(KC_LCTL, LCTL(LSFT(KC_SPACE))),
+ [_TD_SCLN_NTILDE] = ACTION_TAP_DANCE_FN(td_scln_ntilde),
+ };
+
+
+ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+
+ /* Qwerty 0
+ * ,-----------------------------------------+ +-----------------------------------------.
+ * | Tab | Q | W | E | R | T | | Y | U | I | O | P | Bksp |
+ * |------+------+------+------+------+------+ +------+------+------+------+------+------|
+ * |CtlLNG| A | S | D | F | G | | H | J | K | L | ; | " |
+ * |------+------+------+------+------+------+ +------+------+------+------+------+------|
+ * | Shift| Z | X | C | V | B | | N | M | , | . | / | Shift|
+ * |------+------+------+------+------+------+ +------+------+------+------+------+------|
+ * | GUI | Lower| Space | Raise| Alt |
+ * +-------------/ \--------------+
+ */
+ [_BASE] = LAYOUT_reviung41(TD_TAB_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, TD_BSPC_WDEL, TD_CTRL_LANG, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, TD_SCLN_NTILDE, KC_QUOT, TD_SFT_CAPS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, RSFT_T(KC_ENT), KC_LGUI, MO(1), TD_SPC_ENT, MO(2), LT(4,KC_NO)),
+
+
+ /* LOWER 1
+ * ,-----------------------------------------+ +-----------------------------------------.
+ * | Tab | ! | @ | # | $ | % | | ^ | & | * | () | ) | Del |
+ * |------+------+------+------+------+------+ +------+------+------+------+------+------|
+ * | Ctl | _ | + | {} | } | | | | LEFT | DOWN | UP | RIGHT| ´ | " |
+ * |------+------+------+------+------+------+ +------+------+------+------+------+------|
+ * | Shift| Esc | Gui | Alt | = | "" | | HOME | END | PGUP | PDOWN| / | Shft |
+ * |------+------+------+------+------+------+ +------+------+------+------+------+------|
+ * | GUI | Lower| Space | Raise| Alt |
+ * +-------------/ \--------------+
+ */
+ [_LOWER] = LAYOUT_reviung41(KC_TRNS, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_ESC, KC_LGUI, KC_LALT, KC_LCTL, KC_TRNS, KC_HOME, KC_END, KC_PGUP, KC_PGDN, KC_PSCR, MT(MOD_LSFT | MOD_RSFT,KC_SPC), KC_TRNS, KC_TRNS, KC_ENT, MO(3), KC_TRNS),
+
+ /* Raise 2
+ * ,-----------------------------------------+ +-----------------------------------------.
+ * | | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | DEL |
+ * |------+------+------+------+------+------+ +------+------+------+------+------+------|
+ * | | MINS | EQL | LBRC | RBRC | BSLS | | F1 | F2 | F3 | F4 | F5 | F6 |
+ * |------+------+------+------+------+------+ +------+------+------+------+------+------|
+ * | | | | | | QUOT | | F7 | F8 | F9 | F10 | F11 | F12 |
+ * |------+------+------+------+------+------+ +------+------+------+------+------+------|
+ * | ____ | MO(3)| BSPC | ____ | ____ |
+ * +-------------/ \--------------+
+ */
+
+ // [_RAISE] = LAYOUT_reviung41(
+ // KC_TRNS, KC_P1, KC_P2, KC_P3, KC_P4, KC_P5, KC_P6, KC_P7, KC_P8, KC_P9, KC_P0, KC_DEL,
+ // KC_TRNS, KC_LPRN, KC_RPRN, KC_LT, KC_GT, KC_AMPR, KC_PMNS, KC_PPLS, KC_HASH, KC_PERC, KC_COLN, KC_PEQL,
+ // KC_TRNS, KC_LCBR, KC_RCBR, KC_SLSH, KC_RO, KC_PIPE, KC_PSLS, KC_PAST, KC_PCMM, KC_PDOT, KC_HASH, KC_PENT,
+ // KC_TRNS, MO(3), KC_BSPC, KC_TRNS, KC_TRNS
+ // ),
+
+ [_RAISE] = LAYOUT_reviung41(
+ KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_P7, KC_P8, KC_P9, KC_P0, KC_PPLS, KC_PMNS,
+ KC_COLN, KC_DQUO, KC_LCBR, KC_RCBR, KC_LT, KC_GT, KC_P4, KC_P5, KC_P6, KC_PERC, KC_PAST, KC_PSLS,
+ KC_AMPR, KC_PIPE, KC_LPRN, KC_RPRN, KC_LBRC, KC_RBRC, KC_P1, KC_P2, KC_P3, KC_PCMM, KC_PDOT, KC_PEQL,
+ KC_TRNS, MO(3), KC_PENT, KC_TRNS, KC_TRNS
+ ),
+
+
+ /* _MOVE 3
+ * ,---------------------------------------------------+ +------------------------------------------.
+ * | | | | | | | | | WHD | WHU | | | LOCK |
+ * |-------+-------+-------+---------+-------+---------+ +------+------+------+------+------+-------|
+ * | | | | | | | | M_L | M_D | M_I | M_R | | SLEEP |
+ * |-------+-------+-------+---------+-------+---------+ +------+------+------+------+------+-------|
+ * | | | | | SCRLFT| SCRRGHT | | M_B1 | M_B2| M0 | M2 | | RESET |
+ * |-------+-------+-------+---------+-------+---------+ +------+------+------+------+------+-------|
+ * | ____ | ____ | BSPC | ____ | ____ |
+ * +-------------/ \--------------+
+ */
+ [_MOVE] = LAYOUT_reviung41(KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_WH_L, KC_WH_D, KC_WH_U, KC_WH_R, KC_ACL2, LOCK_OSX, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, KC_ACL0, SLEEP_OSX, KC_F13, KC_F14, KC_F15, KC_F16, KC_C_LF, KC_C_RT, KC_BTN1, KC_BTN2, KC_BTN3, KC_BTN4, KC_BTN5, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
+ /* _ADJUST 4
+ * ,----------------------------------------+ +---------------------------------------------------.
+ * | 😃 | 😅 | 🤣 | 😉 | 😇 | 🥰 | | RGBUP | HUEUP | RGB_MOD | BRIU | PLAY | VOLU |
+ * |------+-----+------+------+------+------+ +-------+--------+----------+-------+-------+------|
+ * | 😍 | 😘 | 🙄 | 😔 | 😭 | 💩 | | RGBDWN| HUEDWN | RGB_TOG | BRID | STOP | VOLD |
+ * |------+-----+------+------+------+------+ +-------+--------+----------+--------+------+------|
+ * | 👍 | 👎 | 👏 | 👀 | 🤦 | 👻 | | RGB_TG| | | | | MUTE |
+ * |------+------+------+------+------+------+ +-------+--------+----------+--------+------+------|
+ * | GUI | Lower| BSPC | Raise| Alt |
+ * +-------------/ \--------------+
+ */
+
+ [_ADJUST] = LAYOUT_reviung41(X(GRINNING_FACE), X(GRINNING_FACE_WITH_SWEAT), X(ROLLING_LAUGHING), X(WINKING_FACE), X(SMILING_FACE_HALO), X(SMILING_FACE_HEARTS), RGB_VAI, RGB_HUI, RGB_MOD, KC_BRIU, KC_MPLY, KC_VOLU, X(SMILING_FACE_HEART_EYES), X(FACE_BLOWING_KISS), X(FACE_ROLLING_EYES), X(PENSIVE_FACE), X(LOUDLY_CRYING_FACE), X(PILE_POO), RGB_VAD, RGB_HUD, RGB_RMOD, KC_BRID, KC_MSTP, KC_VOLD, X(THUMBSUP), X(THUMBSDOWN), X(CLAPPING_HANDS), X(EYES), X(MAN_FACEPALMING), X(GHOST), RGB_TOG, RGB_SAD, RGB_SAI, RGB_SPD, RGB_SPI, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
+
+ };
+
+
+
+ #ifdef RGBLIGHT_ENABLE
+ // RGB LED Indicators
+ const rgblight_segment_t PROGMEM my_capslock_layer[] = RGBLIGHT_LAYER_SEGMENTS(
+ {0, 11, HSV_RED} // Light 1 LED, starting with LED 0
+ );
+
+ // RGB LED Indicators
+ const rgblight_segment_t PROGMEM my_base_layer[] = RGBLIGHT_LAYER_SEGMENTS(
+ {0, 11, HSV_CYAN} // Light 1 LED, starting with LED 0
+ );
+
+ const rgblight_segment_t PROGMEM my_lower_layer[] = RGBLIGHT_LAYER_SEGMENTS(
+ {0, 11, HSV_GREEN} // Light 1 LED, starting with LED 1
+ );
+
+ // RGB LED Indicators
+ const rgblight_segment_t PROGMEM my_rise_layer[] = RGBLIGHT_LAYER_SEGMENTS(
+ {0, 11, HSV_MAGENTA} // Light 1 LED, starting with LED 0
+ );
+
+ // RGB LED Indicators
+ const rgblight_segment_t PROGMEM my_MOVE_layer[] = RGBLIGHT_LAYER_SEGMENTS(
+ {0, 11, HSV_YELLOW} // Light 1 LED, starting with LED 0
+ );
+
+
+ // RGB LED Indicators
+ const rgblight_segment_t PROGMEM my_ADJUST_layer[] = RGBLIGHT_LAYER_SEGMENTS(
+ {0, 11, HSV_AZURE} // Light 1 LED, starting with LED 0
+ );
+
+ // Now define the array of layers. Later layers take precedence
+ const rgblight_segment_t* const PROGMEM my_rgb_layers[] = RGBLIGHT_LAYERS_LIST(
+ my_base_layer, // 0
+ my_lower_layer, // 1
+ my_rise_layer, // 2
+ my_MOVE_layer, // 3
+ my_ADJUST_layer, // 4
+ my_capslock_layer // 5
+ );
+
+ // Enable the LED layers
+ void keyboard_post_init_user(void) {
+ rgblight_layers = my_rgb_layers;
+ }
+
+ layer_state_t layer_state_set_user(layer_state_t state) {
+ rgblight_set_layer_state(1, layer_state_cmp(state, _LOWER));
+ rgblight_set_layer_state(2, layer_state_cmp(state, _RAISE));
+ rgblight_set_layer_state(3, layer_state_cmp(state, _MOVE));
+ rgblight_set_layer_state(4, layer_state_cmp(state, _ADJUST));
+ return state;
+ }
+
+ bool led_update_user(led_t led_state) {
+ rgblight_set_layer_state(5, led_state.caps_lock);
+ return true;
+ }
+ #endif
+
diff --git a/keyboards/reviung/reviung41/keymaps/ciutadellla/rules.mk b/keyboards/reviung/reviung41/keymaps/ciutadellla/rules.mk
new file mode 100644
index 0000000000..eeafc12006
--- /dev/null
+++ b/keyboards/reviung/reviung41/keymaps/ciutadellla/rules.mk
@@ -0,0 +1,10 @@
+# MCU name
+MCU = atmega32u4
+BOOTLOADER = atmel-dfu
+MOUSEKEY_ENABLE = yes # Mouse keys
+CONSOLE_ENABLE = no # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
+UNICODEMAP_ENABLE = yes # Unicode
+TAP_DANCE_ENABLE = yes
diff --git a/keyboards/reviung/reviung41/keymaps/default/keymap.c b/keyboards/reviung/reviung41/keymaps/default/keymap.c
new file mode 100644
index 0000000000..4231e4896b
--- /dev/null
+++ b/keyboards/reviung/reviung41/keymaps/default/keymap.c
@@ -0,0 +1,62 @@
+/* Copyright 2020 gtips
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#include QMK_KEYBOARD_H
+
+enum layer_names {
+ _BASE,
+ _LOWER,
+ _RAISE,
+ _ADJUST
+};
+
+#define LOWER MO(_LOWER)
+#define RAISE MO(_RAISE)
+#define ADJUST MO(_ADJUST)
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [_BASE] = LAYOUT_reviung41(
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
+ KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, RSFT_T(KC_ENT),
+ KC_LALT, LOWER, KC_SPC, RAISE, KC_RGUI
+ ),
+
+ [_LOWER] = LAYOUT_reviung41(
+ _______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL,
+ _______, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_GRV, KC_TILD,
+ _______, KC_ESC, KC_LGUI, KC_LALT, KC_CAPS, KC_DQUO, KC_HOME, KC_END, KC_PGUP, KC_PGDN, KC_PSCR, RSFT_T(KC_SPC),
+ _______, _______, KC_ENT, _______, _______
+ ),
+
+ [_RAISE] = LAYOUT_reviung41(
+ _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL,
+ _______, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6,
+ _______, KC_ESC, KC_RGUI, KC_RALT, KC_CAPS, KC_QUOT, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
+ _______, _______, KC_BSPC, _______, _______
+ ),
+
+ [_ADJUST] = LAYOUT_reviung41(
+ RGB_VAI, RGB_SAI, RGB_HUI, RGB_MOD, XXXXXXX, RGB_TOG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ RGB_VAD, RGB_SAD, RGB_HUD, RGB_RMOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ _______, _______, XXXXXXX, _______, _______
+ ),
+};
+
+layer_state_t layer_state_set_user(layer_state_t state) {
+ return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
+}
+
diff --git a/keyboards/reviung/reviung41/keymaps/default/readme.md b/keyboards/reviung/reviung41/keymaps/default/readme.md
new file mode 100644
index 0000000000..7e8120413e
--- /dev/null
+++ b/keyboards/reviung/reviung41/keymaps/default/readme.md
@@ -0,0 +1 @@
+# The default keymap for reviung41
diff --git a/keyboards/reviung/reviung41/keymaps/via/keymap.c b/keyboards/reviung/reviung41/keymaps/via/keymap.c
new file mode 100644
index 0000000000..1f0bce741f
--- /dev/null
+++ b/keyboards/reviung/reviung41/keymaps/via/keymap.c
@@ -0,0 +1,54 @@
+/* Copyright 2020 @toastedmangoes
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#include QMK_KEYBOARD_H
+
+enum layer_names {
+ _BASE,
+ _LOWER,
+ _RAISE,
+ _ADJUST
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [_BASE] = LAYOUT_reviung41(
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
+ KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, RSFT_T(KC_ENT),
+ KC_LGUI, MO(1), KC_SPC, MO(2), LT(3, KC_RALT)
+ ),
+
+ [_LOWER] = LAYOUT_reviung41(
+ _______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL,
+ _______, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_GRV, KC_TILD,
+ _______, KC_ESC, KC_LGUI, KC_LALT, KC_CAPS, KC_DQUO, KC_HOME, KC_END, KC_PGUP, KC_PGDN, KC_PSCR, RSFT_T(KC_SPC),
+ _______, _______, KC_ENT, _______, _______
+ ),
+
+ [_RAISE] = LAYOUT_reviung41(
+ _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL,
+ _______, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6,
+ _______, KC_ESC, KC_RGUI, KC_RALT, KC_CAPS, KC_QUOT, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
+ _______, _______, KC_BSPC, _______, _______
+ ),
+
+ [_ADJUST] = LAYOUT_reviung41(
+ RGB_VAI, RGB_SAI, RGB_HUI, RGB_MOD, XXXXXXX, RGB_TOG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ RGB_VAD, RGB_SAD, RGB_HUD, RGB_RMOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ _______, _______, XXXXXXX, _______, _______
+ ),
+};
+
diff --git a/keyboards/reviung/reviung41/keymaps/via/rules.mk b/keyboards/reviung/reviung41/keymaps/via/rules.mk
new file mode 100644
index 0000000000..5ed1ee4706
--- /dev/null
+++ b/keyboards/reviung/reviung41/keymaps/via/rules.mk
@@ -0,0 +1,3 @@
+VIA_ENABLE = yes
+RGBLIGHT_ENABLE = yes
+LTO_ENABLE = yes
diff --git a/keyboards/reviung/reviung41/readme.md b/keyboards/reviung/reviung41/readme.md
new file mode 100644
index 0000000000..c8f5146385
--- /dev/null
+++ b/keyboards/reviung/reviung41/readme.md
@@ -0,0 +1,15 @@
+# reviung41
+
+![reviung41](https://github.com/gtips/reviung/blob/master/reviung41/image/reviung41-01.jpg)
+
+The REVIUNG41 is 41-key column staggered keyboard.
+
+* Keyboard Maintainer: [gtips](https://github.com/gtips)
+* Hardware Supported: REVIUNG41 PCBs, Pro Micro supported
+* Hardware Availability: [PCB & Case Data](https://github.com/gtips/reviung/tree/master/reviung41)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make reviung41:default
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
diff --git a/keyboards/reviung/reviung41/reviung41.c b/keyboards/reviung/reviung41/reviung41.c
new file mode 100644
index 0000000000..05bb42160a
--- /dev/null
+++ b/keyboards/reviung/reviung41/reviung41.c
@@ -0,0 +1,16 @@
+/* Copyright 2020 gtips
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#include "reviung41.h"
diff --git a/keyboards/reviung/reviung41/reviung41.h b/keyboards/reviung/reviung41/reviung41.h
new file mode 100644
index 0000000000..6bc80e8b21
--- /dev/null
+++ b/keyboards/reviung/reviung41/reviung41.h
@@ -0,0 +1,42 @@
+/* Copyright 2020 gtips
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#pragma once
+
+#include "quantum.h"
+
+/* This a shortcut to help you visually see your layout.
+ *
+ * The first section contains all of the arguments representing the physical
+ * layout of the board and position of the keys.
+ *
+ * The second converts the arguments into a two-dimensional array which
+ * represents the switch matrix.
+ */
+#define LAYOUT_reviung41( \
+ K00, K01, K02, K03, K04, K05, K30, K31, K32, K33, K34, K35, \
+ K10, K11, K12, K13, K14, K15, K40, K41, K42, K43, K44, K45, \
+ K20, K21, K22, K23, K24, K25, K50, K51, K52, K53, K54, K55, \
+ K60, K61, K62, K63, K64 \
+) \
+{ \
+ { K00, K01, K02, K03, K04, K05 }, \
+ { K10, K11, K12, K13, K14, K15 }, \
+ { K20, K21, K22, K23, K24, K25 }, \
+ { K30, K31, K32, K33, K34, K35 }, \
+ { K40, K41, K42, K43, K44, K45 }, \
+ { K50, K51, K52, K53, K54, K55 }, \
+ { K60, K61, K62, K63, K64, KC_NO } \
+}
diff --git a/keyboards/reviung/reviung41/rules.mk b/keyboards/reviung/reviung41/rules.mk
new file mode 100644
index 0000000000..e4e00e6274
--- /dev/null
+++ b/keyboards/reviung/reviung41/rules.mk
@@ -0,0 +1,18 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+BOOTLOADER = caterina
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = no # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = yes # Console for debug
+COMMAND_ENABLE = yes # Commands for debug and configuration
+NKRO_ENABLE = no # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
diff --git a/keyboards/reviung/reviung5/config.h b/keyboards/reviung/reviung5/config.h
new file mode 100644
index 0000000000..b06c5797fd
--- /dev/null
+++ b/keyboards/reviung/reviung5/config.h
@@ -0,0 +1,145 @@
+/*
+Copyright 2021 gtips
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#pragma once
+
+#include "config_common.h"
+
+/* USB Device descriptor parameter */
+#define VENDOR_ID 0x5C06
+#define PRODUCT_ID 0x4F0D
+#define DEVICE_VER 0x0001
+#define MANUFACTURER gtips
+#define PRODUCT reviung5
+
+/* key matrix size */
+#define MATRIX_ROWS 1
+#define MATRIX_COLS 5
+
+/*
+ * Keyboard Matrix Assignments
+ *
+ * Change this to how you wired your keyboard
+ * COLS: AVR pins used for columns, left to right
+ * ROWS: AVR pins used for rows, top to bottom
+ * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
+ * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
+ *
+ */
+#define MATRIX_ROW_PINS \
+ { F4 }
+#define MATRIX_COL_PINS \
+ { D4, C6, D7, E6, B4 }
+#define UNUSED_PINS
+
+/* COL2ROW, ROW2COL */
+#define DIODE_DIRECTION COL2ROW
+
+/* Encoder */
+#define ENCODERS_PAD_A \
+ { D0 }
+#define ENCODERS_PAD_B \
+ { D1 }
+
+#define RGB_DI_PIN D3
+#ifdef RGB_DI_PIN
+# define RGBLED_NUM 4
+# define RGBLIGHT_HUE_STEP 16
+# define RGBLIGHT_SAT_STEP 16
+# define RGBLIGHT_VAL_STEP 16
+# define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */
+# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */
+/*== all animations enable ==*/
+# define RGBLIGHT_ANIMATIONS
+/*== or choose animations ==*/
+//# define RGBLIGHT_EFFECT_BREATHING
+//# define RGBLIGHT_EFFECT_RAINBOW_MOOD
+//# define RGBLIGHT_EFFECT_RAINBOW_SWIRL
+//# define RGBLIGHT_EFFECT_SNAKE
+//# define RGBLIGHT_EFFECT_KNIGHT
+//# define RGBLIGHT_EFFECT_CHRISTMAS
+//# define RGBLIGHT_EFFECT_STATIC_GRADIENT
+//# define RGBLIGHT_EFFECT_RGB_TEST
+//# define RGBLIGHT_EFFECT_ALTERNATING
+/*== customize breathing effect ==*/
+/*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/
+//# define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64
+/*==== use exp() and sin() ====*/
+//# define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7
+//# define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255
+#endif
+
+/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
+#define DEBOUNCE 5
+
+/* define if matrix has ghost (lacks anti-ghosting diodes) */
+//#define MATRIX_HAS_GHOST
+
+/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
+#define LOCKING_SUPPORT_ENABLE
+/* Locking resynchronize hack */
+#define LOCKING_RESYNC_ENABLE
+
+/* If defined, GRAVE_ESC will always act as ESC when CTRL is held.
+ * This is useful for the Windows task manager shortcut (ctrl+shift+esc).
+ */
+//#define GRAVE_ESC_CTRL_OVERRIDE
+
+/*
+ * Force NKRO
+ *
+ * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved
+ * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the
+ * makefile for this to work.)
+ *
+ * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N)
+ * until the next keyboard reset.
+ *
+ * NKRO may prevent your keystrokes from being detected in the BIOS, but it is
+ * fully operational during normal computer usage.
+ *
+ * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N)
+ * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by
+ * bootmagic, NKRO mode will always be enabled until it is toggled again during a
+ * power-up.
+ *
+ */
+//#define FORCE_NKRO
+
+/*
+ * Feature disable options
+ * These options are also useful to firmware size reduction.
+ */
+
+/* disable debug print */
+//#define NO_DEBUG
+
+/* disable print */
+//#define NO_PRINT
+
+/* disable action features */
+//#define NO_ACTION_LAYER
+//#define NO_ACTION_TAPPING
+//#define NO_ACTION_ONESHOT
+
+/* disable these deprecated features by default */
+#define NO_ACTION_MACRO
+#define NO_ACTION_FUNCTION
+
+/* Bootmagic Lite key configuration */
+//#define BOOTMAGIC_LITE_ROW 0
+//#define BOOTMAGIC_LITE_COLUMN 0
diff --git a/keyboards/reviung/reviung5/info.json b/keyboards/reviung/reviung5/info.json
new file mode 100644
index 0000000000..78d27d64e2
--- /dev/null
+++ b/keyboards/reviung/reviung5/info.json
@@ -0,0 +1,16 @@
+{
+ "keyboard_name": "reviung5",
+ "url": "",
+ "maintainer": "gtips",
+ "layouts": {
+ "LAYOUT_reviung5": {
+ "layout": [
+ {"label": "k00", "x": 0, "y": 0},
+ {"label": "k01", "x": 1, "y": 0.25},
+ {"label": "k02", "x": 2, "y": 0.25},
+ {"label": "k03", "x": 3, "y": 0.25},
+ {"label": "k04", "x": 4, "y": 0}
+ ]
+ }
+ }
+}
diff --git a/keyboards/reviung/reviung5/keymaps/default/keymap.c b/keyboards/reviung/reviung5/keymaps/default/keymap.c
new file mode 100644
index 0000000000..39f6669a52
--- /dev/null
+++ b/keyboards/reviung/reviung5/keymaps/default/keymap.c
@@ -0,0 +1,34 @@
+/* Copyright 2021 gtips
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#include QMK_KEYBOARD_H
+
+// Defines names for use in layer keycodes and the keymap
+enum layer_names {
+ _BASE,
+ _LOWER,
+};
+
+#define LO_VD LT(_LOWER, KC_VOLD)
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ /* Base */
+ [_BASE] = LAYOUT_reviung5(
+ LO_VD, KC_MPRV, KC_MPLY, KC_MNXT, KC_VOLU
+ ),
+ [_LOWER] = LAYOUT_reviung5(
+ _______, RGB_HUI, RGB_MOD, RGB_TOG, KC_MUTE
+ )
+};
diff --git a/keyboards/reviung/reviung5/keymaps/default/readme.md b/keyboards/reviung/reviung5/keymaps/default/readme.md
new file mode 100644
index 0000000000..babdce579f
--- /dev/null
+++ b/keyboards/reviung/reviung5/keymaps/default/readme.md
@@ -0,0 +1 @@
+# The default keymap for reviung5
diff --git a/keyboards/reviung/reviung5/keymaps/default_lre/keymap.c b/keyboards/reviung/reviung5/keymaps/default_lre/keymap.c
new file mode 100644
index 0000000000..2e732e72fe
--- /dev/null
+++ b/keyboards/reviung/reviung5/keymaps/default_lre/keymap.c
@@ -0,0 +1,55 @@
+/* Copyright 2021 gtips
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#include QMK_KEYBOARD_H
+
+// Defines names for use in layer keycodes and the keymap
+enum layer_names {
+ _BASE,
+ _LOWER,
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ /* Base */
+ [_BASE] = LAYOUT_reviung5(
+ TG(_LOWER), KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE
+ ),
+ [_LOWER] = LAYOUT_reviung5(
+ _______, LCTL(KC_X), LCTL(KC_C), LCTL(KC_V), RGB_TOG
+ )
+};
+
+bool encoder_update_user(uint8_t index, bool clockwise) {
+ if (index == 0) {
+ if (IS_LAYER_ON(_LOWER)) {
+ tap_code16((clockwise == true) ? KC_WH_D : KC_WH_U);
+ } else {
+ tap_code((clockwise == true) ? KC_VOLD : KC_VOLU);
+ }
+ }
+ return true;
+}
+
+layer_state_t layer_state_set_user(layer_state_t state) {
+ switch (get_highest_layer(state)) {
+ case _LOWER:
+ rgblight_setrgb (RGB_GOLD);
+ break;
+ default: // for any other layers, or the default layer
+ rgblight_setrgb (RGB_TEAL);
+ break;
+ }
+ return state;
+}
diff --git a/keyboards/reviung/reviung5/keymaps/default_lre/readme.md b/keyboards/reviung/reviung5/keymaps/default_lre/readme.md
new file mode 100644
index 0000000000..0e3edee7b1
--- /dev/null
+++ b/keyboards/reviung/reviung5/keymaps/default_lre/readme.md
@@ -0,0 +1,3 @@
+# The default keymap for reviung5
+
+## Use the Left Rotary Encoder
diff --git a/keyboards/reviung/reviung5/keymaps/default_rre/keymap.c b/keyboards/reviung/reviung5/keymaps/default_rre/keymap.c
new file mode 100644
index 0000000000..9ee41cb7e9
--- /dev/null
+++ b/keyboards/reviung/reviung5/keymaps/default_rre/keymap.c
@@ -0,0 +1,55 @@
+/* Copyright 2021 gtips
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#include QMK_KEYBOARD_H
+
+// Defines names for use in layer keycodes and the keymap
+enum layer_names {
+ _BASE,
+ _LOWER,
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ /* Base */
+ [_BASE] = LAYOUT_reviung5(
+ KC_MUTE, KC_MPRV, KC_MPLY, KC_MNXT, TG(_LOWER)
+ ),
+ [_LOWER] = LAYOUT_reviung5(
+ RGB_TOG, LCTL(KC_X), LCTL(KC_C), LCTL(KC_V), _______
+ )
+};
+
+bool encoder_update_user(uint8_t index, bool clockwise) {
+ if (index == 0) {
+ if (IS_LAYER_ON(_LOWER)) {
+ tap_code16((clockwise == true) ? KC_WH_D : KC_WH_U);
+ } else {
+ tap_code((clockwise == true) ? KC_VOLD : KC_VOLU);
+ }
+ }
+ return true;
+}
+
+layer_state_t layer_state_set_user(layer_state_t state) {
+ switch (get_highest_layer(state)) {
+ case _LOWER:
+ rgblight_setrgb (RGB_RED);
+ break;
+ default: // for any other layers, or the default layer
+ rgblight_setrgb (RGB_TEAL);
+ break;
+ }
+ return state;
+}
diff --git a/keyboards/reviung/reviung5/keymaps/default_rre/readme.md b/keyboards/reviung/reviung5/keymaps/default_rre/readme.md
new file mode 100644
index 0000000000..d16e25ce50
--- /dev/null
+++ b/keyboards/reviung/reviung5/keymaps/default_rre/readme.md
@@ -0,0 +1,4 @@
+# The default keymap for reviung5
+
+## Use the Right Rotary Encoder
+
diff --git a/keyboards/reviung/reviung5/readme.md b/keyboards/reviung/reviung5/readme.md
new file mode 100644
index 0000000000..990645649c
--- /dev/null
+++ b/keyboards/reviung/reviung5/readme.md
@@ -0,0 +1,19 @@
+# reviung5
+
+![reviung5](https://github.com/gtips/reviung/blob/master/reviung5/image/reviung5-1.jpg)
+
+The REVIUNG5 is 5-key (or 4-key + Rotary Encoder) macropad.
+
+* Keyboard Maintainer: [gtips](https://github.com/gtips)
+* Hardware Supported: REVIUNG5 PCB.
+* Hardware Availability: [PCB & Case Data](https://github.com/gtips/reviung/tree/master/reviung5)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make reviung5:default
+
+Flashing example for this keyboard:
+
+ make reviung5:default:flash
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
diff --git a/keyboards/reviung/reviung5/reviung5.c b/keyboards/reviung/reviung5/reviung5.c
new file mode 100644
index 0000000000..a8f98f0627
--- /dev/null
+++ b/keyboards/reviung/reviung5/reviung5.c
@@ -0,0 +1,17 @@
+/* Copyright 2021 gtips
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include "reviung5.h"
diff --git a/keyboards/reviung/reviung5/reviung5.h b/keyboards/reviung/reviung5/reviung5.h
new file mode 100644
index 0000000000..f5d952ba94
--- /dev/null
+++ b/keyboards/reviung/reviung5/reviung5.h
@@ -0,0 +1,33 @@
+/* Copyright 2021 gtips
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#include "quantum.h"
+
+/* This is a shortcut to help you visually see your layout.
+ *
+ * The first section contains all of the arguments representing the physical
+ * layout of the board and position of the keys.
+ *
+ * The second converts the arguments into a two-dimensional array which
+ * represents the switch matrix.
+ */
+#define LAYOUT_reviung5( \
+ K00, K01, K02, K03, K04 \
+) { \
+ { K00, K01, K02, K03, K04 } \
+}
diff --git a/keyboards/reviung/reviung5/rules.mk b/keyboards/reviung/reviung5/rules.mk
new file mode 100644
index 0000000000..a72c119315
--- /dev/null
+++ b/keyboards/reviung/reviung5/rules.mk
@@ -0,0 +1,19 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+BOOTLOADER = caterina
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = no # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
+NKRO_ENABLE = no # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
+ENCODER_ENABLE = yes \ No newline at end of file
diff --git a/keyboards/reviung/reviung53/config.h b/keyboards/reviung/reviung53/config.h
new file mode 100644
index 0000000000..d73e6eab8a
--- /dev/null
+++ b/keyboards/reviung/reviung53/config.h
@@ -0,0 +1,138 @@
+// Copyright 2021 gtips (@gtips)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#include "config_common.h"
+
+/* USB Device descriptor parameter */
+#define VENDOR_ID 0x4E94
+#define PRODUCT_ID 0x4E09
+#define DEVICE_VER 0x0001
+#define MANUFACTURER gtips
+#define PRODUCT reviung53
+
+/* key matrix size */
+#define MATRIX_ROWS 7
+#define MATRIX_COLS 8
+
+/*
+ * Keyboard Matrix Assignments
+ *
+ * Change this to how you wired your keyboard
+ * COLS: AVR pins used for columns, left to right
+ * ROWS: AVR pins used for rows, top to bottom
+ * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
+ * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
+ *
+ */
+#define MATRIX_ROW_PINS { D0, D4, C6, D7, E6, B4, B5 }
+#define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3, B2, B6 }
+#define UNUSED_PINS
+
+/* COL2ROW, ROW2COL */
+#define DIODE_DIRECTION COL2ROW
+
+/*
+ * Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN.
+ */
+// #define SOFT_SERIAL_PIN D0
+
+//#define LED_NUM_LOCK_PIN B0
+//#define LED_CAPS_LOCK_PIN B1
+//#define LED_SCROLL_LOCK_PIN B2
+//#define LED_COMPOSE_PIN B3
+//#define LED_KANA_PIN B4
+
+//#define BACKLIGHT_PIN B7
+//#define BACKLIGHT_LEVELS 3
+//#define BACKLIGHT_BREATHING
+
+#define RGB_DI_PIN D3
+#ifdef RGB_DI_PIN
+#define RGBLED_NUM 10
+#define RGBLIGHT_HUE_STEP 16
+#define RGBLIGHT_SAT_STEP 16
+#define RGBLIGHT_VAL_STEP 16
+#define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */
+#define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */
+/*== all animations enable ==*/
+#define RGBLIGHT_ANIMATIONS
+/*== or choose animations ==*/
+//# define RGBLIGHT_EFFECT_BREATHING
+//# define RGBLIGHT_EFFECT_RAINBOW_MOOD
+//# define RGBLIGHT_EFFECT_RAINBOW_SWIRL
+//# define RGBLIGHT_EFFECT_SNAKE
+//# define RGBLIGHT_EFFECT_KNIGHT
+//# define RGBLIGHT_EFFECT_CHRISTMAS
+//# define RGBLIGHT_EFFECT_STATIC_GRADIENT
+//# define RGBLIGHT_EFFECT_RGB_TEST
+//# define RGBLIGHT_EFFECT_ALTERNATING
+/*== customize breathing effect ==*/
+/*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/
+//# define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64
+/*==== use exp() and sin() ====*/
+//# define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7
+//# define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255
+#endif
+
+/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
+#define DEBOUNCE 5
+
+/* define if matrix has ghost (lacks anti-ghosting diodes) */
+//#define MATRIX_HAS_GHOST
+
+/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
+#define LOCKING_SUPPORT_ENABLE
+/* Locking resynchronize hack */
+#define LOCKING_RESYNC_ENABLE
+
+/* If defined, GRAVE_ESC will always act as ESC when CTRL is held.
+ * This is useful for the Windows task manager shortcut (ctrl+shift+esc).
+ */
+//#define GRAVE_ESC_CTRL_OVERRIDE
+
+/*
+ * Force NKRO
+ *
+ * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved
+ * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the
+ * makefile for this to work.)
+ *
+ * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N)
+ * until the next keyboard reset.
+ *
+ * NKRO may prevent your keystrokes from being detected in the BIOS, but it is
+ * fully operational during normal computer usage.
+ *
+ * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N)
+ * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by
+ * bootmagic, NKRO mode will always be enabled until it is toggled again during a
+ * power-up.
+ *
+ */
+//#define FORCE_NKRO
+
+/*
+ * Feature disable options
+ * These options are also useful to firmware size reduction.
+ */
+
+/* disable debug print */
+//#define NO_DEBUG
+
+/* disable print */
+//#define NO_PRINT
+
+/* disable action features */
+//#define NO_ACTION_LAYER
+//#define NO_ACTION_TAPPING
+//#define NO_ACTION_ONESHOT
+
+/* disable these deprecated features by default */
+#define NO_ACTION_MACRO
+#define NO_ACTION_FUNCTION
+
+/* Bootmagic Lite key configuration */
+//#define BOOTMAGIC_LITE_ROW 0
+//#define BOOTMAGIC_LITE_COLUMN 0
diff --git a/keyboards/reviung/reviung53/info.json b/keyboards/reviung/reviung53/info.json
new file mode 100644
index 0000000000..ff63de5bc8
--- /dev/null
+++ b/keyboards/reviung/reviung53/info.json
@@ -0,0 +1,68 @@
+{
+ "keyboard_name": "reviung53",
+ "url": "",
+ "maintainer": "gtips",
+ "layouts": {
+ "LAYOUT_reviung53": {
+ "layout": [
+ {"label": "k02", "x":2.25, "y":0},
+ {"label": "k03", "x":3.5, "y":0},
+ {"label": "k04", "x":4.5, "y":0},
+ {"label": "k05", "x":5.5, "y":0},
+ {"label": "k06", "x":6.5, "y":0},
+ {"label": "k07", "x":7.75, "y":0},
+ {"label": "k40", "x":8.75, "y":0},
+ {"label": "k41", "x":9.75, "y":0},
+ {"label": "k42", "x":10.75, "y":0},
+ {"label": "k43", "x":12, "y":0},
+
+ {"label": "k10", "x":0, "y":1.25, "w":1.5},
+ {"label": "k11", "x":1.5, "y":1.25},
+ {"label": "k12", "x":2.5, "y":1.25},
+ {"label": "k13", "x":3.5, "y":1.25},
+ {"label": "k14", "x":4.5, "y":1.25},
+ {"label": "k15", "x":5.5, "y":1.25},
+ {"label": "k16", "x":6.5, "y":1.25},
+ {"label": "k17", "x":7.5, "y":1.25},
+ {"label": "k44", "x":8.5, "y":1.25},
+ {"label": "k45", "x":9.5, "y":1.25},
+ {"label": "k46", "x":10.5, "y":1.25},
+ {"label": "k47", "x":11.5, "y":1.25, "w":1.5},
+
+ {"label": "k20", "x":0, "y":2.25, "w":1.75},
+ {"label": "k21", "x":1.75, "y":2.25},
+ {"label": "k22", "x":2.75, "y":2.25},
+ {"label": "k23", "x":3.75, "y":2.25},
+ {"label": "k24", "x":4.75, "y":2.25},
+ {"label": "k25", "x":5.75, "y":2.25},
+ {"label": "k26", "x":6.75, "y":2.25},
+ {"label": "k27", "x":7.75, "y":2.25},
+ {"label": "k50", "x":8.75, "y":2.25},
+ {"label": "k51", "x":9.75, "y":2.25},
+ {"label": "k52", "x":10.75, "y":2.25},
+ {"label": "k53", "x":11.75, "y":2.25, "w":1.25},
+
+ {"label": "k30", "x":0, "y":3.25, "w":2.25},
+ {"label": "k31", "x":2.25, "y":3.25},
+ {"label": "k32", "x":3.25, "y":3.25},
+ {"label": "k33", "x":4.25, "y":3.25},
+ {"label": "k34", "x":5.25, "y":3.25},
+ {"label": "k35", "x":6.25, "y":3.25},
+ {"label": "k36", "x":7.25, "y":3.25},
+ {"label": "k37", "x":8.25, "y":3.25},
+ {"label": "k54", "x":9.25, "y":3.25},
+ {"label": "k55", "x":10.25, "y":3.25},
+ {"label": "k56", "x":11.25, "y":3.25, "w":1.75},
+
+ {"label": "k60", "x":0, "y":4.25, "w":1.5},
+ {"label": "k61", "x":1.5, "y":4.25, "w":1.25},
+ {"label": "k62", "x":2.75, "y":4.25, "w":1.25},
+ {"label": "k63", "x":4, "y":4.25, "w":2.75},
+ {"label": "k64", "x":6.75, "y":4.25, "w":2.25},
+ {"label": "k65", "x":9, "y":4.25, "w":1.25},
+ {"label": "k66", "x":10.25, "y":4.25, "w":1.25},
+ {"label": "k67", "x":11.5, "y":4.25, "w":1.5}
+ ]
+ }
+ }
+}
diff --git a/keyboards/reviung/reviung53/keymaps/default/keymap.c b/keyboards/reviung/reviung53/keymaps/default/keymap.c
new file mode 100644
index 0000000000..a8d95d70d5
--- /dev/null
+++ b/keyboards/reviung/reviung53/keymaps/default/keymap.c
@@ -0,0 +1,55 @@
+// Copyright 2021 gtips (@gtips)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include QMK_KEYBOARD_H
+
+// Defines names for use in layer keycodes and the keymap
+enum layer_names {
+ _BASE,
+ _LOWER,
+ _RAISE,
+ _ADJUST
+};
+
+#define LOWER MO(_LOWER)
+#define RAISE MO(_RAISE)
+#define ADJUST MO(_ADJUST)
+
+#define SF_SS RSFT_T(KC_SLSH)
+#define SP_LO LT(LOWER, KC_SPC)
+#define SP_RA LT(RAISE, KC_SPC)
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [_BASE] = LAYOUT_reviung53(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_DEL,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, SF_SS,
+ KC_LCTL, KC_LGUI, KC_LALT, SP_LO, SP_RA, KC_LALT, KC_RGUI, KC_RCTL
+ ),
+ [_LOWER] = LAYOUT_reviung53(
+ KC_GESC, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_PAUS, KC_SLCK, KC_PSCR, _______,
+ _______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______,
+ _______, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, XXXXXXX, KC_QUOT,
+ _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_HOME, KC_END, KC_PGUP, KC_PGDN, KC_SLSH,
+ _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+ [_RAISE] = LAYOUT_reviung53(
+ KC_TILD, KC_F9, KC_F10, KC_F11, KC_F12, KC_MUTE, KC_VOLU, KC_VOLD, KC_MPLY, _______,
+ _______, 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_LBRC, KC_RBRC, KC_BSLS, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_DQUO,
+ _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_QUES,
+ _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+ [_ADJUST] = LAYOUT_reviung53(
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET,
+ RGB_VAI, RGB_SAI, RGB_HUI, RGB_MOD, XXXXXXX, RGB_TOG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ RGB_VAD, RGB_SAD, RGB_HUD, RGB_RMOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX
+ ),
+};
+
+layer_state_t layer_state_set_user(layer_state_t state) {
+ return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
+}
diff --git a/keyboards/reviung/reviung53/keymaps/default/readme.md b/keyboards/reviung/reviung53/keymaps/default/readme.md
new file mode 100644
index 0000000000..1e473c9a74
--- /dev/null
+++ b/keyboards/reviung/reviung53/keymaps/default/readme.md
@@ -0,0 +1 @@
+# The default keymap for reviung53
diff --git a/keyboards/reviung/reviung53/keymaps/via/keymap.c b/keyboards/reviung/reviung53/keymaps/via/keymap.c
new file mode 100644
index 0000000000..a8d95d70d5
--- /dev/null
+++ b/keyboards/reviung/reviung53/keymaps/via/keymap.c
@@ -0,0 +1,55 @@
+// Copyright 2021 gtips (@gtips)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include QMK_KEYBOARD_H
+
+// Defines names for use in layer keycodes and the keymap
+enum layer_names {
+ _BASE,
+ _LOWER,
+ _RAISE,
+ _ADJUST
+};
+
+#define LOWER MO(_LOWER)
+#define RAISE MO(_RAISE)
+#define ADJUST MO(_ADJUST)
+
+#define SF_SS RSFT_T(KC_SLSH)
+#define SP_LO LT(LOWER, KC_SPC)
+#define SP_RA LT(RAISE, KC_SPC)
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [_BASE] = LAYOUT_reviung53(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_DEL,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, SF_SS,
+ KC_LCTL, KC_LGUI, KC_LALT, SP_LO, SP_RA, KC_LALT, KC_RGUI, KC_RCTL
+ ),
+ [_LOWER] = LAYOUT_reviung53(
+ KC_GESC, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_PAUS, KC_SLCK, KC_PSCR, _______,
+ _______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______,
+ _______, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, XXXXXXX, KC_QUOT,
+ _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_HOME, KC_END, KC_PGUP, KC_PGDN, KC_SLSH,
+ _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+ [_RAISE] = LAYOUT_reviung53(
+ KC_TILD, KC_F9, KC_F10, KC_F11, KC_F12, KC_MUTE, KC_VOLU, KC_VOLD, KC_MPLY, _______,
+ _______, 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_LBRC, KC_RBRC, KC_BSLS, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_DQUO,
+ _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_QUES,
+ _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+ [_ADJUST] = LAYOUT_reviung53(
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET,
+ RGB_VAI, RGB_SAI, RGB_HUI, RGB_MOD, XXXXXXX, RGB_TOG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ RGB_VAD, RGB_SAD, RGB_HUD, RGB_RMOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX
+ ),
+};
+
+layer_state_t layer_state_set_user(layer_state_t state) {
+ return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
+}
diff --git a/keyboards/reviung/reviung53/keymaps/via/readme.md b/keyboards/reviung/reviung53/keymaps/via/readme.md
new file mode 100644
index 0000000000..9b299ba286
--- /dev/null
+++ b/keyboards/reviung/reviung53/keymaps/via/readme.md
@@ -0,0 +1,3 @@
+# The default keymap for reviung53
+
+For use with VIA configurator and compatible keymap editors. \ No newline at end of file
diff --git a/keyboards/reviung/reviung53/keymaps/via/rules.mk b/keyboards/reviung/reviung53/keymaps/via/rules.mk
new file mode 100644
index 0000000000..1e5b99807c
--- /dev/null
+++ b/keyboards/reviung/reviung53/keymaps/via/rules.mk
@@ -0,0 +1 @@
+VIA_ENABLE = yes
diff --git a/keyboards/reviung/reviung53/readme.md b/keyboards/reviung/reviung53/readme.md
new file mode 100644
index 0000000000..a2bfbcdbc2
--- /dev/null
+++ b/keyboards/reviung/reviung53/readme.md
@@ -0,0 +1,27 @@
+# reviung53
+
+![reviung53](https://github.com/gtips/reviung/blob/master/reviung53/image/reviung53-04.jpg)
+
+The REVIUNG53 is 53-key keyboard.
+
+* Keyboard Maintainer: [gtips](https://github.com/gtips)
+* Hardware Supported: REVIUNG53 PCB.
+* Hardware Availability: [PCB & Case Data](https://github.com/gtips/reviung/tree/master/reviung53)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make reviung53:default
+
+Flashing example for this keyboard:
+
+ make reviung53:default:flash
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+## Bootloader
+
+Enter the bootloader in 3 ways:
+
+* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
+* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
+* **Keycode in layout**: Press the key mapped to `RESET` if it is available
diff --git a/keyboards/reviung/reviung53/reviung53.c b/keyboards/reviung/reviung53/reviung53.c
new file mode 100644
index 0000000000..e2190aeccf
--- /dev/null
+++ b/keyboards/reviung/reviung53/reviung53.c
@@ -0,0 +1,4 @@
+// Copyright 2021 gtips (@gtips)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include "reviung53.h"
diff --git a/keyboards/reviung/reviung53/reviung53.h b/keyboards/reviung/reviung53/reviung53.h
new file mode 100644
index 0000000000..89ebc45c18
--- /dev/null
+++ b/keyboards/reviung/reviung53/reviung53.h
@@ -0,0 +1,30 @@
+// Copyright 2021 gtips (@gtips)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#include "quantum.h"
+
+/* This is a shortcut to help you visually see your layout.
+ *
+ * The first section contains all of the arguments representing the physical
+ * layout of the board and position of the keys.
+ *
+ * The second converts the arguments into a two-dimensional array which
+ * represents the switch matrix.
+ */
+#define LAYOUT_reviung53( \
+ K02, K03, K04, K05, K06, K07, K40, K41, K42, K43, \
+ K10, K11, K12, K13, K14, K15, K16, K17, K44, K45, K46, K47, \
+ K20, K21, K22, K23, K24, K25, K26, K27, K50, K51, K52, K53, \
+ K30, K31, K32, K33, K34, K35, K36, K37, K54, K55, K56,\
+ K60, K61, K62, K63, K64, K65, K66, K67 \
+) { \
+ { KC_NO, KC_NO, K02, K03, K04, K05, K06, K07 }, \
+ { K10, K11, K12, K13, K14, K15, K16, K17 }, \
+ { K20, K21, K22, K23, K24, K25, K26, K27 }, \
+ { K30, K31, K32, K33, K34, K35, K36, K37 }, \
+ { K40, K41, K42, K43, K44, K45, K46, K47 }, \
+ { K50, K51, K52, K53, K54, K55, K56, KC_NO }, \
+ { K60, K61, K62, K63, K64, K65, K66, K67 } \
+}
diff --git a/keyboards/reviung/reviung53/rules.mk b/keyboards/reviung/reviung53/rules.mk
new file mode 100644
index 0000000000..bc1c6f2dc0
--- /dev/null
+++ b/keyboards/reviung/reviung53/rules.mk
@@ -0,0 +1,18 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+BOOTLOADER = caterina
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = no # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = no # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
+NKRO_ENABLE = no # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
diff --git a/keyboards/reviung/reviung61/.noci b/keyboards/reviung/reviung61/.noci
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/keyboards/reviung/reviung61/.noci
diff --git a/keyboards/reviung/reviung61/config.h b/keyboards/reviung/reviung61/config.h
new file mode 100644
index 0000000000..26588d8688
--- /dev/null
+++ b/keyboards/reviung/reviung61/config.h
@@ -0,0 +1,63 @@
+/*
+Copyright 2020 gtips
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#pragma once
+
+#include "config_common.h"
+
+/* USB Device descriptor parameter */
+#define VENDOR_ID 0xFEED
+#define PRODUCT_ID 0x7C1A
+#define DEVICE_VER 0x0001
+#define MANUFACTURER gtips
+#define PRODUCT reviung61
+
+/* key matrix size */
+#define MATRIX_ROWS 5
+#define MATRIX_COLS 14
+
+/*
+ * Keyboard Matrix Assignments
+ *
+ * Change this to how you wired your keyboard
+ * COLS: AVR pins used for columns, left to right
+ * ROWS: AVR pins used for rows, top to bottom
+ * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
+ * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
+ *
+ */
+#define MATRIX_ROW_PINS { D0, D1, D2, D3, D5 }
+#define MATRIX_COL_PINS { F0, F1, F4, F5, F6, F7, C7, C6, B6, B5, B4, D7, D6, D4 }
+#define UNUSED_PINS
+
+/* COL2ROW, ROW2COL*/
+#define DIODE_DIRECTION COL2ROW
+
+/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
+#define DEBOUNCE 5
+
+/* define if matrix has ghost (lacks anti-ghosting diodes) */
+//#define MATRIX_HAS_GHOST
+
+/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
+#define LOCKING_SUPPORT_ENABLE
+/* Locking resynchronize hack */
+#define LOCKING_RESYNC_ENABLE
+
+/* disable these deprecated features by default */
+#define NO_ACTION_MACRO
+#define NO_ACTION_FUNCTION
diff --git a/keyboards/reviung/reviung61/info.json b/keyboards/reviung/reviung61/info.json
new file mode 100644
index 0000000000..5a23617d55
--- /dev/null
+++ b/keyboards/reviung/reviung61/info.json
@@ -0,0 +1,72 @@
+{
+ "keyboard_name": "reviung61",
+ "url": "",
+ "maintainer": "gtips",
+ "layouts": {
+ "LAYOUT_60_ansi": {
+ "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, "w":2},
+ {"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},
+ {"x":12.5, "y":1},
+ {"x":13.5, "y":1, "w":1.5},
+ {"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},
+ {"x":12.75, "y":2, "w":2.25},
+ {"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, "w":1.25},
+ {"x":11.25, "y":4, "w":1.25},
+ {"x":12.5, "y":4, "w":1.25},
+ {"x":13.75, "y":4, "w":1.25}
+ ]
+ }
+ }
+}
diff --git a/keyboards/reviung/reviung61/keymaps/default/keymap.c b/keyboards/reviung/reviung61/keymaps/default/keymap.c
new file mode 100644
index 0000000000..ef24d4be27
--- /dev/null
+++ b/keyboards/reviung/reviung61/keymaps/default/keymap.c
@@ -0,0 +1,41 @@
+/* Copyright 2020 gtips
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#include QMK_KEYBOARD_H
+
+// Defines names for use in layer keycodes and the keymap
+enum layer_names {
+ _BASE,
+ _FN
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ /* Base */
+ [_BASE] = LAYOUT_60_ansi(
+ KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(_FN), KC_RCTL
+
+ ),
+ [_FN] = LAYOUT_60_ansi(
+ KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
+ _______, XXXXXXX, KC_UP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_VAI, RGB_SAI, RGB_HUI, RGB_MOD, RGB_TOG,
+ _______, KC_LEFT, KC_DOWN, KC_RGHT, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, XXXXXXX, XXXXXXX, _______,
+ _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_HOME, KC_END, KC_PGUP, KC_PGDN, KC_PSCR, KC_INS, _______,
+ _______, _______, _______, _______, RESET, _______, _______, _______
+ )
+};
diff --git a/keyboards/reviung/reviung61/keymaps/default/readme.md b/keyboards/reviung/reviung61/keymaps/default/readme.md
new file mode 100644
index 0000000000..43446daa89
--- /dev/null
+++ b/keyboards/reviung/reviung61/keymaps/default/readme.md
@@ -0,0 +1 @@
+# The default keymap for reviung61
diff --git a/keyboards/reviung/reviung61/keymaps/default_rgb/config.h b/keyboards/reviung/reviung61/keymaps/default_rgb/config.h
new file mode 100644
index 0000000000..619060d0bc
--- /dev/null
+++ b/keyboards/reviung/reviung61/keymaps/default_rgb/config.h
@@ -0,0 +1,31 @@
+/* Copyright 2020 gtips
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+// place overrides here
+
+// --- RGB underglow ---
+#define RGB_DI_PIN B7
+#ifdef RGB_DI_PIN
+ #define RGBLED_NUM 12
+ #define RGBLIGHT_HUE_STEP 16
+ #define RGBLIGHT_SAT_STEP 16
+ #define RGBLIGHT_VAL_STEP 16
+ #define RGBLIGHT_LIMIT_VAL 255
+ #define RGBLIGHT_SLEEP
+ #define RGBLIGHT_ANIMATIONS
+#endif
diff --git a/keyboards/reviung/reviung61/keymaps/default_rgb/keymap.c b/keyboards/reviung/reviung61/keymaps/default_rgb/keymap.c
new file mode 100644
index 0000000000..ef24d4be27
--- /dev/null
+++ b/keyboards/reviung/reviung61/keymaps/default_rgb/keymap.c
@@ -0,0 +1,41 @@
+/* Copyright 2020 gtips
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#include QMK_KEYBOARD_H
+
+// Defines names for use in layer keycodes and the keymap
+enum layer_names {
+ _BASE,
+ _FN
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ /* Base */
+ [_BASE] = LAYOUT_60_ansi(
+ KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(_FN), KC_RCTL
+
+ ),
+ [_FN] = LAYOUT_60_ansi(
+ KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
+ _______, XXXXXXX, KC_UP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_VAI, RGB_SAI, RGB_HUI, RGB_MOD, RGB_TOG,
+ _______, KC_LEFT, KC_DOWN, KC_RGHT, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, XXXXXXX, XXXXXXX, _______,
+ _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_HOME, KC_END, KC_PGUP, KC_PGDN, KC_PSCR, KC_INS, _______,
+ _______, _______, _______, _______, RESET, _______, _______, _______
+ )
+};
diff --git a/keyboards/reviung/reviung61/keymaps/default_rgb/readme.md b/keyboards/reviung/reviung61/keymaps/default_rgb/readme.md
new file mode 100644
index 0000000000..741e912705
--- /dev/null
+++ b/keyboards/reviung/reviung61/keymaps/default_rgb/readme.md
@@ -0,0 +1,3 @@
+# The default_rgb keymap for reviung61
+
+Use LED STRIP SERIAL RGB for RGB underglow.
diff --git a/keyboards/reviung/reviung61/keymaps/default_rgb/rules.mk b/keyboards/reviung/reviung61/keymaps/default_rgb/rules.mk
new file mode 100644
index 0000000000..7ad666d1a3
--- /dev/null
+++ b/keyboards/reviung/reviung61/keymaps/default_rgb/rules.mk
@@ -0,0 +1 @@
+RGBLIGHT_ENABLE = yes \ No newline at end of file
diff --git a/keyboards/reviung/reviung61/readme.md b/keyboards/reviung/reviung61/readme.md
new file mode 100644
index 0000000000..d483ec5b09
--- /dev/null
+++ b/keyboards/reviung/reviung61/readme.md
@@ -0,0 +1,15 @@
+# reviung61
+
+![REVIUNG61](https://github.com/gtips/reviung/blob/master/reviung61/image/reviung61-pcb.jpg)
+
+The REVIUNG61 is 61-key Standard ANSI 60% keyboard. And compatible with MX and ALPS.
+
+* Keyboard Maintainer: [gtips](https://github.com/gtips)
+* Hardware Supported: REVIUNG61
+* Hardware Availability: [PCB & Case Data](https://github.com/gtips/reviung/tree/master/reviung61)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make reviung61:default
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
diff --git a/keyboards/reviung/reviung61/reviung61.c b/keyboards/reviung/reviung61/reviung61.c
new file mode 100644
index 0000000000..3cd69bf27f
--- /dev/null
+++ b/keyboards/reviung/reviung61/reviung61.c
@@ -0,0 +1,17 @@
+/* Copyright 2020 gtips
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include "reviung61.h"
diff --git a/keyboards/reviung/reviung61/reviung61.h b/keyboards/reviung/reviung61/reviung61.h
new file mode 100644
index 0000000000..bae0cd2155
--- /dev/null
+++ b/keyboards/reviung/reviung61/reviung61.h
@@ -0,0 +1,58 @@
+/* Copyright 2020 gtips
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#include "quantum.h"
+
+/* This is a shortcut to help you visually see your layout.
+ *
+ * The first section contains all of the arguments representing the physical
+ * layout of the board and position of the keys.
+ *
+ * The second converts the arguments into a two-dimensional array which
+ * represents the switch matrix.
+ */
+
+/* ANSI
+ * ,-----------------------------------------------------------.
+ * | 00| 01| 02| 03| 04| 05| 06| 07| 08| 09| 0a| 0b| 0c| 0d |
+ * |-----------------------------------------------------------|
+ * | 10 | 11| 12| 13| 14| 15| 16| 17| 18| 19| 1a| 1b| 1c| 1d |
+ * |-----------------------------------------------------------|
+ * | 20 | 21| 22| 23| 24| 25| 26| 27| 28| 29| 2a| 2b| 2c |
+ * |-----------------------------------------------------------|
+ * | 30 | 31| 32| 33| 34| 35| 36| 37| 38| 39| 3a| 3b |
+ * |-----------------------------------------------------------|
+ * | 40 | 41 | 42 | 45 | 48 | 49 | 4a | 4b |
+ * `-----------------------------------------------------------'
+ */
+
+
+#define LAYOUT_60_ansi( \
+ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, \
+ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, \
+ k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, \
+ k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, \
+ k40, k41, k42, k45, k48, k49, k4a, k4b \
+) \
+{ \
+ { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d }, \
+ { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d }, \
+ { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, KC_NO }, \
+ { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, KC_NO, KC_NO }, \
+ { k40, k41, k42, KC_NO, KC_NO, k45, KC_NO, KC_NO, k48, k49, k4a, k4b, KC_NO, KC_NO } \
+}
diff --git a/keyboards/reviung/reviung61/rules.mk b/keyboards/reviung/reviung61/rules.mk
new file mode 100644
index 0000000000..badcdb845b
--- /dev/null
+++ b/keyboards/reviung/reviung61/rules.mk
@@ -0,0 +1,20 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+BOOTLOADER = atmel-dfu
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = no # Mouse keys
+EXTRAKEY_ENABLE = no # Audio control and System control
+CONSOLE_ENABLE = no # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
+NKRO_ENABLE = no # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
+
+LAYOUTS = 60_ansi