summary refs log tree commit diff
diff options
context:
space:
mode:
authorQMK Bot <hello@qmk.fm>2022-01-30 18:59:30 +0000
committerQMK Bot <hello@qmk.fm>2022-01-30 18:59:30 +0000
commit56623a622457bbc72f38f2fb7a75a87ffb7ae89f (patch)
tree4f63df66436cfb56f89015eaae12ca4498f6d131
parent566f6e7b76448fa0a367ce573b2ff90abd3541a5 (diff)
parent02000201629932d87281738b0c4127379d6835ff (diff)
Merge remote-tracking branch 'origin/master' into develop
-rw-r--r--keyboards/keybee/keybee65/config.h3
-rw-r--r--keyboards/keybee/keybee65/keymaps/default/keymap.c2
-rw-r--r--keyboards/keybee/keybee65/keymaps/via/keymap.c2
-rw-r--r--keyboards/linworks/fave84h/config.h115
-rw-r--r--keyboards/linworks/fave84h/fave84h.c50
-rw-r--r--keyboards/linworks/fave84h/fave84h.h34
-rw-r--r--keyboards/linworks/fave84h/info.json10
-rw-r--r--keyboards/linworks/fave84h/keymaps/default/keymap.c50
-rw-r--r--keyboards/linworks/fave84h/keymaps/via/keymap.c68
-rw-r--r--keyboards/linworks/fave84h/keymaps/via/rules.mk1
-rw-r--r--keyboards/linworks/fave84h/readme.md23
-rw-r--r--keyboards/linworks/fave84h/rules.mk23
12 files changed, 379 insertions, 2 deletions
diff --git a/keyboards/keybee/keybee65/config.h b/keyboards/keybee/keybee65/config.h
index 25c7b50837..a6666b5d23 100644
--- a/keyboards/keybee/keybee65/config.h
+++ b/keyboards/keybee/keybee65/config.h
@@ -56,6 +56,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
 #define RGB_DI_PIN B0
 // The number of LEDs connected
 #define DRIVER_LED_TOTAL 80
+// Limit the Brithness of the LEDs
+#define RGBLIGHT_LIMIT_VAL 96
+#define RGB_VAL_STEP 12
 
 #define RGB_MATRIX_KEYPRESSES
 #define RGB_DISABLE_WHEN_USB_SUSPENDED
diff --git a/keyboards/keybee/keybee65/keymaps/default/keymap.c b/keyboards/keybee/keybee65/keymaps/default/keymap.c
index 13d1ba1f9d..a1df29ef92 100644
--- a/keyboards/keybee/keybee65/keymaps/default/keymap.c
+++ b/keyboards/keybee/keybee65/keymaps/default/keymap.c
@@ -1,5 +1,5 @@
 /*
-Copyright 2020 <me@homedrop.org>
+Copyright 2020 <contact@vwolf.be>
 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
diff --git a/keyboards/keybee/keybee65/keymaps/via/keymap.c b/keyboards/keybee/keybee65/keymaps/via/keymap.c
index 811e13ef55..12faf6f196 100644
--- a/keyboards/keybee/keybee65/keymaps/via/keymap.c
+++ b/keyboards/keybee/keybee65/keymaps/via/keymap.c
@@ -1,5 +1,5 @@
 /*
-Copyright 2020 <me@homedrop.org>
+Copyright 2020 <contact@vwolf.be>
 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
diff --git a/keyboards/linworks/fave84h/config.h b/keyboards/linworks/fave84h/config.h
new file mode 100644
index 0000000000..4127c211fd
--- /dev/null
+++ b/keyboards/linworks/fave84h/config.h
@@ -0,0 +1,115 @@
+/*
+Copyright 2020 <contact@vwolf.be>
+
+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    0x4C58 // LX
+#define PRODUCT_ID   0x0004 // FAve 84H
+#define DEVICE_VER   0x0001 // Version 1
+#define MANUFACTURER    Lx3
+#define PRODUCT         FAve 84H
+
+/* key matrix size */
+#define MATRIX_ROWS 6
+#define MATRIX_COLS 17
+
+/*
+ * 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)
+ *
+*/
+
+// Checked with Eagle Schematic
+#define MATRIX_ROW_PINS { B1, B2, B3, D3, D1, D0  }
+#define MATRIX_COL_PINS { F0, F1, F4, F5, F6, F7, C7, C6, B6, B5, B4, D7, D6, D4, B0, B7, E6}
+#define UNUSED_PINS
+
+/* COL2ROW or ROW2COL */
+#define DIODE_DIRECTION COL2ROW
+
+/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
+#define DEBOUNCE 5
+
+//Led configuration
+#define RGBLIGHT_ANIMATIONS
+#define RGB_DI_PIN D2
+
+#define DRIVER_LED_TOTAL 126
+#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 140
+
+#define RGB_MATRIX_KEYPRESSES
+//#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
+
+#define RGB_DISABLE_WHEN_USB_SUSPENDED
+
+#define ENABLE_RGB_MATRIX_ALPHAS_MODS
+#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
+#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
+#define ENABLE_RGB_MATRIX_BREATHING
+#define ENABLE_RGB_MATRIX_BAND_SAT
+#define ENABLE_RGB_MATRIX_BAND_VAL
+#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
+#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
+#define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
+#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
+#define ENABLE_RGB_MATRIX_CYCLE_ALL
+#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
+#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
+#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
+#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
+#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
+#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
+#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
+#define ENABLE_RGB_MATRIX_DUAL_BEACON
+#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
+#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
+#define ENABLE_RGB_MATRIX_RAINDROPS
+#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
+#define ENABLE_RGB_MATRIX_HUE_BREATHING
+#define ENABLE_RGB_MATRIX_HUE_PENDULUM
+#define ENABLE_RGB_MATRIX_HUE_WAVE
+#define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
+#define ENABLE_RGB_MATRIX_PIXEL_RAIN
+#ifdef RGB_MATRIX_FRAMEBUFFER_EFFECTS
+    #define ENABLE_RGB_MATRIX_TYPING_HEATMAP
+    #define ENABLE_RGB_MATRIX_DIGITAL_RAIN
+#endif
+#ifdef RGB_MATRIX_KEYPRESSES
+    #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
+    #define ENABLE_RGB_MATRIX_SOLID_REACTIVE
+    #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
+    #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
+    #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
+    #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
+    #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
+    #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
+    #define ENABLE_RGB_MATRIX_SPLASH
+    #define ENABLE_RGB_MATRIX_MULTISPLASH
+    #define ENABLE_RGB_MATRIX_SOLID_SPLASH
+    #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
+#endif
+
+#define NO_ACTION_MACRO
+#define NO_ACTION_FUNCTION
diff --git a/keyboards/linworks/fave84h/fave84h.c b/keyboards/linworks/fave84h/fave84h.c
new file mode 100644
index 0000000000..745e8633f7
--- /dev/null
+++ b/keyboards/linworks/fave84h/fave84h.c
@@ -0,0 +1,50 @@
+/*
+Copyright 2020 <contact@vwolf.be>
+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 "fave84h.h"
+
+#ifdef RGB_MATRIX_ENABLE
+    led_config_t g_led_config = {
+    {
+        // Key Matrix to LED Index
+        { 47, NO_LED, 48,     49,     50, 51,     52,     53,     54,     55, 56,     57,     58,     59,     60,     61,     62 },
+        { 46,     45, 44,     43,     42, 41,     40,     39,     38,     37, 36,     35,     34,     33,     32,     31,     30 },
+        { 13,     14, 15,     16,     17, 18,     19,     20,     21,     22, 23,     24,     25,     26,     27,     28,     29 },
+        { 12,     11, 10,      9,      8,  7,      6,      5,      4,      3,  2,      1, NO_LED,      0, NO_LED, NO_LED, NO_LED },
+        { 73,     74, 75,     76,     77, 78,     79,     80,     81,     82, 83, NO_LED,     84, NO_LED, NO_LED,     85, NO_LED },
+        { 72,     71, 70, NO_LED, NO_LED, 69, NO_LED, NO_LED, NO_LED, NO_LED, 68, NO_LED,     67,     66,     65,     64,     63 },
+    }, {
+        // LED Index to Physical Position
+        {0, 0}, {28, 0}, {42, 0}, {57, 0}, {71, 0}, {92, 0}, {106, 0}, {120, 0}, {134, 0}, {156, 0}, 
+        {170, 0}, {184, 0}, {198, 0}, {216, 0}, {230, 0}, {244, 0}, {0, 15}, {14, 15}, {28, 15}, {42, 15}, 
+        {57, 15}, {71, 15}, {85, 15}, {99, 15}, {113, 15}, {127, 15}, {141, 15}, {156, 15}, {170, 15}, {191, 17}, 
+        {216, 15}, {230, 15}, {244, 15}, {4, 27}, {21, 27}, {35, 27}, {50, 27}, {64, 27}, {78, 27}, {92, 27}, 
+        {106, 27}, {120, 27}, {134, 27}, {149, 27}, {163, 27}, {177, 27}, {194, 27}, {216, 27}, {230, 27}, {244, 27}, 
+        {10, 40}, {25, 40}, {39, 40}, {53, 40}, {67, 40}, {81, 40}, {95, 40}, {110, 40}, {124, 40}, {138, 40}, 
+        {152, 40}, {166, 40}, {189, 40}, {9, 52}, {32, 52}, {46, 52}, {60, 52}, {74, 52}, {88, 52}, {103, 52}, 
+        {117, 52}, {131, 52}, {145, 52}, {159, 52}, {186, 52}, {230, 52}, {4, 64}, {21, 64}, {39, 64}, {99, 64}, 
+        {159, 64}, {177, 64}, {194, 64}, {216, 64}, {230, 64}, {244, 64}
+    }, {
+        // LED Index to Flag
+        1,    4, 4, 4, 4, 1, 1, 1, 1, 4, 4, 4, 4,    1, 1, 1, 
+        1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,    1, 1, 1, 
+        1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,    1, 1, 1, 
+        8, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,    1,    
+        1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,    1,          1,
+        1, 1, 1,       4,             1,    1, 1,    1, 1, 1,
+
+        2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+        2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2
+    }
+};
+#endif
\ No newline at end of file
diff --git a/keyboards/linworks/fave84h/fave84h.h b/keyboards/linworks/fave84h/fave84h.h
new file mode 100644
index 0000000000..39f85c159c
--- /dev/null
+++ b/keyboards/linworks/fave84h/fave84h.h
@@ -0,0 +1,34 @@
+/*
+Copyright 2020 <contact@vwolf.be>
+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"
+
+/* FAve 84H Keymap Definitions */
+#define LAYOUT( \
+    K00,      K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D,  K0E, K0F, K0G, \
+    K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D,  K1E, K1F, K1G, \
+    K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D,  K2E, K2F, K2G, \
+    K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D,                 \
+    K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A,      K4C,            K4F,      \
+    K50, K51, K52,           K55,                     K5A,      K5C, K5D,  K5E, K5F, K5G  \
+) { \
+    { K00, KC_NO, K02, K03,   K04,   K05, K06,   K07,   K08,   K09,   K0A, K0B,   K0C, K0D,   K0E,   K0F,   K0G   }, \
+    { K10, K11,   K12, K13,   K14,   K15, K16,   K17,   K18,   K19,   K1A, K1B,   K1C, K1D,   K1E,   K1F,   K1G   }, \
+    { K20, K21,   K22, K23,   K24,   K25, K26,   K27,   K28,   K29,   K2A, K2B,   K2C, K2D,   K2E,   K2F,   K2G   }, \
+    { K30, K31,   K32, K33,   K34,   K35, K36,   K37,   K38,   K39,   K3A, K3B,   K3C, K3D,   KC_NO, KC_NO, KC_NO }, \
+    { K40, K41,   K42, K43,   K44,   K45, K46,   K47,   K48,   K49,   K4A, KC_NO, K4C, KC_NO, KC_NO, K4F,   KC_NO }, \
+    { K50, K51,   K52, KC_NO, KC_NO, K55, KC_NO, KC_NO, KC_NO, KC_NO, K5A, KC_NO, K5C, K5D,   K5E,   K5F,   K5G   }  \
+}
diff --git a/keyboards/linworks/fave84h/info.json b/keyboards/linworks/fave84h/info.json
new file mode 100644
index 0000000000..939b99c480
--- /dev/null
+++ b/keyboards/linworks/fave84h/info.json
@@ -0,0 +1,10 @@
+{
+    "keyboard_name": "Lx3 Fave 84H",
+    "url": "",
+    "maintainer": "ToastyStoemp",
+    "layouts": {
+        "LAYOUT": {
+            "layout": [{"label":"Esc", "x":0, "y":0}, {"label":"F1", "x":2, "y":0}, {"label":"F2", "x":3, "y":0}, {"label":"F3", "x":4, "y":0}, {"label":"F4", "x":5, "y":0}, {"label":"F5", "x":6.5, "y":0}, {"label":"F6", "x":7.5, "y":0}, {"label":"F7", "x":8.5, "y":0}, {"label":"F8", "x":9.5, "y":0}, {"label":"F9", "x":11, "y":0}, {"label":"F10", "x":12, "y":0}, {"label":"F11", "x":13, "y":0}, {"label":"F12", "x":14, "y":0}, {"label":"PrtSc", "x":15.25, "y":0}, {"label":"Scroll Lock", "x":16.25, "y":0}, {"label":"Pause", "x":17.25, "y":0}, {"label":"~", "x":0, "y":1.25}, {"label":"!", "x":1, "y":1.25}, {"label":"@", "x":2, "y":1.25}, {"label":"#", "x":3, "y":1.25}, {"label":"$", "x":4, "y":1.25}, {"label":"%", "x":5, "y":1.25}, {"label":"^", "x":6, "y":1.25}, {"label":"&", "x":7, "y":1.25}, {"label":"*", "x":8, "y":1.25}, {"label":"(", "x":9, "y":1.25}, {"label":")", "x":10, "y":1.25}, {"label":"_", "x":11, "y":1.25}, {"label":"+", "x":12, "y":1.25}, {"label":"Backspace", "x":13, "y":1.25, "w":2}, {"label":"Delete", "x":14, "y":1.25}, {"label":"Insert", "x":15.25, "y":1.25}, {"label":"Home", "x":16.25, "y":1.25}, {"label":"PgUp", "x":17.25, "y":1.25}, {"label":"Tab", "x":0, "y":2.25, "w":1.5}, {"label":"Q", "x":1.5, "y":2.25}, {"label":"W", "x":2.5, "y":2.25}, {"label":"E", "x":3.5, "y":2.25}, {"label":"R", "x":4.5, "y":2.25}, {"label":"T", "x":5.5, "y":2.25}, {"label":"Y", "x":6.5, "y":2.25}, {"label":"U", "x":7.5, "y":2.25}, {"label":"I", "x":8.5, "y":2.25}, {"label":"O", "x":9.5, "y":2.25}, {"label":"P", "x":10.5, "y":2.25}, {"label":"{", "x":11.5, "y":2.25}, {"label":"}", "x":12.5, "y":2.25}, {"label":"|", "x":13.5, "y":2.25, "w":1.5}, {"label":"Delete", "x":15.25, "y":2.25}, {"label":"End", "x":16.25, "y":2.25}, {"label":"PgDn", "x":17.25, "y":2.25}, {"label":"Caps Lock", "x":0, "y":3.25, "w":1.75}, {"label":"A", "x":1.75, "y":3.25}, {"label":"S", "x":2.75, "y":3.25}, {"label":"D", "x":3.75, "y":3.25}, {"label":"F", "x":4.75, "y":3.25}, {"label":"G", "x":5.75, "y":3.25}, {"label":"H", "x":6.75, "y":3.25}, {"label":"J", "x":7.75, "y":3.25}, {"label":"K", "x":8.75, "y":3.25}, {"label":"L", "x":9.75, "y":3.25}, {"label":":", "x":10.75, "y":3.25}, {"label":"\"", "x":11.75, "y":3.25}, {"label":"Enter", "x":12.75, "y":3.25, "w":2.25}, {"label":"Shift", "x":0, "y":4.25, "w":2.25}, {"label":"Z", "x":2.25, "y":4.25}, {"label":"X", "x":3.25, "y":4.25}, {"label":"C", "x":4.25, "y":4.25}, {"label":"V", "x":5.25, "y":4.25}, {"label":"B", "x":6.25, "y":4.25}, {"label":"N", "x":7.25, "y":4.25}, {"label":"M", "x":8.25, "y":4.25}, {"label":"<", "x":9.25, "y":4.25}, {"label":">", "x":10.25, "y":4.25}, {"label":"?", "x":11.25, "y":4.25}, {"label":"Shift", "x":12.25, "y":4.25, "w":2.75}, {"label":"\u2191", "x":16.25, "y":4.25}, {"label":"Ctrl", "x":0, "y":5.25, "w":1.5}, {"label":"Win", "x":1.5, "y":5.25}, {"label":"Alt", "x":2.5, "y":5.25, "w":1.5}, {"x":4, "y":5.25, "w":7}, {"label":"Alt", "x":11, "y":5.25, "w":1.5}, {"label":"Fn", "x":12.5, "y":5.25}, {"label":"Ctrl", "x":13.5, "y":5.25, "w":1.5}, {"label":"\u2190", "x":15.25, "y":5.25}, {"label":"\u2193", "x":16.25, "y":5.25}, {"label":"\u2192", "x":17.25, "y":5.25}]
+        }
+    }
+}
diff --git a/keyboards/linworks/fave84h/keymaps/default/keymap.c b/keyboards/linworks/fave84h/keymaps/default/keymap.c
new file mode 100644
index 0000000000..7c90788546
--- /dev/null
+++ b/keyboards/linworks/fave84h/keymaps/default/keymap.c
@@ -0,0 +1,50 @@
+/*
+Copyright 2020 <contact@vwolf.be>
+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 layers {
+    _LAYER0,
+    _LAYER1,
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+    [_LAYER0] = LAYOUT(
+        KC_ESC,           KC_F1,   KC_F2, KC_F3, KC_F4,  KC_F5, KC_F6, KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F11,  KC_F12,     KC_PSCR, KC_SLCK, KC_PAUS,
+        KC_GRV,  KC_1,    KC_2,    KC_3,  KC_4,  KC_5,   KC_6,  KC_7,  KC_8,    KC_9,    KC_0,    KC_MINS, KC_EQL,  KC_BSPC,    KC_INS,  KC_HOME, KC_PGUP,
+        KC_TAB,  KC_Q,    KC_W,    KC_E,  KC_R,  KC_T,   KC_Y,  KC_U,  KC_I,    KC_O,    KC_P,    KC_LBRC, KC_RBRC, KC_BSLS,    KC_DEL,  KC_END,  KC_PGDN,
+        KC_CAPS, KC_A,    KC_S,    KC_D,  KC_F,  KC_G,   KC_H,  KC_J,  KC_K,    KC_L,    KC_SCLN, KC_QUOT, KC_DEL,  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_UP,
+        KC_LCTL, KC_LGUI, KC_LALT,               KC_SPC,                                 KC_RALT,          MO(1),   KC_RCTL,    KC_LEFT, KC_DOWN, KC_RGHT
+    ),
+
+    [_LAYER1] = LAYOUT(
+        KC_TRNS,          KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,    KC_TRNS, KC_TRNS, KC_TRNS,
+        KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,    KC_TRNS, KC_TRNS, KC_TRNS,
+        KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,    KC_TRNS, KC_TRNS, KC_TRNS,
+        KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, EEP_RST,        
+        KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET,   KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,          KC_TRNS,                      KC_AUDIO_VOL_UP,
+        KC_TRNS, KC_TRNS, KC_TRNS,                   KC_TRNS,                                     KC_TRNS,          KC_TRNS, KC_TRNS,    KC_MEDIA_PREV_TRACK, KC_AUDIO_VOL_DOWN, KC_MEDIA_NEXT_TRACK
+    )
+    
+    };
+};
+
+void rgb_matrix_indicators_user(void) {
+    led_t host_leds = host_keyboard_led_state();
+    if (host_leds.caps_lock) {
+        rgb_matrix_set_color(12, 254, 189, 41); // set caps lock led color first number is index, R G B
+    }
+}
\ No newline at end of file
diff --git a/keyboards/linworks/fave84h/keymaps/via/keymap.c b/keyboards/linworks/fave84h/keymaps/via/keymap.c
new file mode 100644
index 0000000000..3000a76245
--- /dev/null
+++ b/keyboards/linworks/fave84h/keymaps/via/keymap.c
@@ -0,0 +1,68 @@
+/*
+Copyright 2020 <contact@vwolf.be>
+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 layers {
+    _LAYER0,
+    _LAYER1,
+    _LAYER2,
+    _LAYER3,
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+    [_LAYER0] = LAYOUT(
+        KC_ESC,           KC_F1,   KC_F2, KC_F3, KC_F4,  KC_F5, KC_F6, KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F11,  KC_F12,     KC_PSCR, KC_SLCK, KC_PAUS,
+        KC_GRV,  KC_1,    KC_2,    KC_3,  KC_4,  KC_5,   KC_6,  KC_7,  KC_8,    KC_9,    KC_0,    KC_MINS, KC_EQL,  KC_BSPC,    KC_INS,  KC_HOME, KC_PGUP,
+        KC_TAB,  KC_Q,    KC_W,    KC_E,  KC_R,  KC_T,   KC_Y,  KC_U,  KC_I,    KC_O,    KC_P,    KC_LBRC, KC_RBRC, KC_BSLS,    KC_DEL,  KC_END,  KC_PGDN,
+        KC_CAPS, KC_A,    KC_S,    KC_D,  KC_F,  KC_G,   KC_H,  KC_J,  KC_K,    KC_L,    KC_SCLN, KC_QUOT, KC_DEL,  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_UP,
+        KC_LCTL, KC_LGUI, KC_LALT,               KC_SPC,                                 KC_RALT,          MO(1),   KC_RCTL,    KC_LEFT, KC_DOWN, KC_RGHT
+    ),
+
+    [_LAYER1] = LAYOUT(
+        KC_TRNS,          KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,    KC_TRNS, KC_TRNS, KC_TRNS,
+        KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,    KC_TRNS, KC_TRNS, KC_TRNS,
+        KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,    KC_TRNS, KC_TRNS, KC_TRNS,
+        KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, EEP_RST,        
+        KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET,   KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,          KC_TRNS,                      KC_AUDIO_VOL_UP,
+        KC_TRNS, KC_TRNS, KC_TRNS,                   KC_TRNS,                                     KC_TRNS,          KC_TRNS, KC_TRNS,    KC_MEDIA_PREV_TRACK, KC_AUDIO_VOL_DOWN, KC_MEDIA_NEXT_TRACK
+    ),
+
+    [_LAYER2] = LAYOUT(
+        KC_TRNS,          KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,    KC_TRNS, KC_TRNS, KC_TRNS,
+        KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,    KC_TRNS, KC_TRNS, KC_TRNS,
+        KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,    KC_TRNS, KC_TRNS, KC_TRNS,
+        KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,        
+        KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,          KC_TRNS,                      KC_TRNS,
+        KC_TRNS, KC_TRNS, KC_TRNS,                   KC_TRNS,                                     KC_TRNS,          KC_TRNS, KC_TRNS,    KC_TRNS, KC_TRNS, KC_TRNS
+    ),
+
+    [_LAYER3] = LAYOUT(
+        KC_TRNS,          KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,    KC_TRNS, KC_TRNS, KC_TRNS,
+        KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,    KC_TRNS, KC_TRNS, KC_TRNS,
+        KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,    KC_TRNS, KC_TRNS, KC_TRNS,
+        KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,        
+        KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,          KC_TRNS,                      KC_TRNS,
+        KC_TRNS, KC_TRNS, KC_TRNS,                   KC_TRNS,                                     KC_TRNS,          KC_TRNS, KC_TRNS,    KC_TRNS, KC_TRNS, KC_TRNS
+    )
+};
+
+void rgb_matrix_indicators_user(void) {
+    led_t host_leds = host_keyboard_led_state();
+    if (host_leds.caps_lock) {
+        rgb_matrix_set_color(12, 254, 189, 41); // set caps lock led color first number is index, R G B
+    }
+}
\ No newline at end of file
diff --git a/keyboards/linworks/fave84h/keymaps/via/rules.mk b/keyboards/linworks/fave84h/keymaps/via/rules.mk
new file mode 100644
index 0000000000..1e5b99807c
--- /dev/null
+++ b/keyboards/linworks/fave84h/keymaps/via/rules.mk
@@ -0,0 +1 @@
+VIA_ENABLE = yes
diff --git a/keyboards/linworks/fave84h/readme.md b/keyboards/linworks/fave84h/readme.md
new file mode 100644
index 0000000000..f2090dee53
--- /dev/null
+++ b/keyboards/linworks/fave84h/readme.md
@@ -0,0 +1,23 @@
+# FAve 84H
+
+The following is the QMK Firmware for the FAve 84H Hotswap PCB.
+
+The PCB features:
+* QMK & VIA compatibility
+* Hotswap
+* Per Key and Underglow RGB
+
+---
+
+* Keyboard Maintainer: [ToastyStoemp](https://github.com/ToastyStoemp)
+
+Make example for this keyboard (after setting up your build environment):
+
+    make linworks/fave84h: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).
+
+## Bootloader Enter the bootloader in 3 ways: 
+* **Bootmagic reset**: Hold down the key ESC key and plug in the keyboard (Top Left most switch)
+* **Physical reset button**: Briefly press the button on the back of the PCB
+* **Keycode in layout**: Press the B key on layer 1 which is mapped to `RESET`
diff --git a/keyboards/linworks/fave84h/rules.mk b/keyboards/linworks/fave84h/rules.mk
new file mode 100644
index 0000000000..c3ddbe4252
--- /dev/null
+++ b/keyboards/linworks/fave84h/rules.mk
@@ -0,0 +1,23 @@
+# MCU name
+MCU = atmega32u4
+
+# Processor frequency
+F_CPU = 8000000
+
+# Bootloader selection
+BOOTLOADER = atmel-dfu
+
+# 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 = yes           # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no        # Enable keyboard RGB underglow
+AUDIO_ENABLE = no           # Audio output
+RGB_MATRIX_ENABLE = yes
+RGB_MATRIX_DRIVER = WS2812