aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWolf Van Herreweghe <wolfvanh@gmail.com>2022-01-30 19:58:58 +0100
committerGitHub <noreply@github.com>2022-01-30 10:58:58 -0800
commit5576f641ceed94083e3ad5f947ccf058f6103234 (patch)
treedc373ec9f96d36b73038bdc9af330f091a920a0a
parenta78b80966b2077deb9d2a730ea599c5bdea2535e (diff)
downloadqmk_firmware-5576f641ceed94083e3ad5f947ccf058f6103234.tar.gz
qmk_firmware-5576f641ceed94083e3ad5f947ccf058f6103234.zip
[Keyboard] Add base FAve 84H firmware (#15967)
Co-authored-by: Joel Challis <git@zvecr.com> Co-authored-by: Ryan <fauxpark@gmail.com> Co-authored-by: Wolf Van Herreweghe <wolfvh@getupgamesofficial.com>
-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
9 files changed, 374 insertions, 0 deletions
diff --git a/keyboards/linworks/fave84h/config.h b/keyboards/linworks/fave84h/config.h
new file mode 100644
index 000000000..4127c211f
--- /dev/null
+++ b/keyboards/linworks/fave84h/config.h
@@ -0,0 +1,115 @@
1/*
2Copyright 2020 <contact@vwolf.be>
3
4This program is free software: you can redistribute it and/or modify
5it under the terms of the GNU General Public License as published by
6the Free Software Foundation, either version 2 of the License, or
7(at your option) any later version.
8
9This program is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12GNU General Public License for more details.
13
14You should have received a copy of the GNU General Public License
15along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/
17
18#pragma once
19
20#include "config_common.h"
21
22/* USB Device descriptor parameter */
23#define VENDOR_ID 0x4C58 // LX
24#define PRODUCT_ID 0x0004 // FAve 84H
25#define DEVICE_VER 0x0001 // Version 1
26#define MANUFACTURER Lx3
27#define PRODUCT FAve 84H
28
29/* key matrix size */
30#define MATRIX_ROWS 6
31#define MATRIX_COLS 17
32
33/*
34 * Keyboard Matrix Assignments
35 *
36 * Change this to how you wired your keyboard
37 * COLS: AVR pins used for columns, left to right
38 * ROWS: AVR pins used for rows, top to bottom
39 * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
40 * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
41 *
42*/
43
44// Checked with Eagle Schematic
45#define MATRIX_ROW_PINS { B1, B2, B3, D3, D1, D0 }
46#define MATRIX_COL_PINS { F0, F1, F4, F5, F6, F7, C7, C6, B6, B5, B4, D7, D6, D4, B0, B7, E6}
47#define UNUSED_PINS
48
49/* COL2ROW or ROW2COL */
50#define DIODE_DIRECTION COL2ROW
51
52/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
53#define DEBOUNCE 5
54
55//Led configuration
56#define RGBLIGHT_ANIMATIONS
57#define RGB_DI_PIN D2
58
59#define DRIVER_LED_TOTAL 126
60#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 140
61
62#define RGB_MATRIX_KEYPRESSES
63//#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
64
65#define RGB_DISABLE_WHEN_USB_SUSPENDED
66
67#define ENABLE_RGB_MATRIX_ALPHAS_MODS
68#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
69#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
70#define ENABLE_RGB_MATRIX_BREATHING
71#define ENABLE_RGB_MATRIX_BAND_SAT
72#define ENABLE_RGB_MATRIX_BAND_VAL
73#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
74#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
75#define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
76#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
77#define ENABLE_RGB_MATRIX_CYCLE_ALL
78#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
79#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
80#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
81#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
82#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
83#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
84#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
85#define ENABLE_RGB_MATRIX_DUAL_BEACON
86#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
87#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
88#define ENABLE_RGB_MATRIX_RAINDROPS
89#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
90#define ENABLE_RGB_MATRIX_HUE_BREATHING
91#define ENABLE_RGB_MATRIX_HUE_PENDULUM
92#define ENABLE_RGB_MATRIX_HUE_WAVE
93#define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
94#define ENABLE_RGB_MATRIX_PIXEL_RAIN
95#ifdef RGB_MATRIX_FRAMEBUFFER_EFFECTS
96 #define ENABLE_RGB_MATRIX_TYPING_HEATMAP
97 #define ENABLE_RGB_MATRIX_DIGITAL_RAIN
98#endif
99#ifdef RGB_MATRIX_KEYPRESSES
100 #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
101 #define ENABLE_RGB_MATRIX_SOLID_REACTIVE
102 #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
103 #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
104 #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
105 #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
106 #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
107 #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
108 #define ENABLE_RGB_MATRIX_SPLASH
109 #define ENABLE_RGB_MATRIX_MULTISPLASH
110 #define ENABLE_RGB_MATRIX_SOLID_SPLASH
111 #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
112#endif
113
114#define NO_ACTION_MACRO
115#define NO_ACTION_FUNCTION
diff --git a/keyboards/linworks/fave84h/fave84h.c b/keyboards/linworks/fave84h/fave84h.c
new file mode 100644
index 000000000..745e8633f
--- /dev/null
+++ b/keyboards/linworks/fave84h/fave84h.c
@@ -0,0 +1,50 @@
1/*
2Copyright 2020 <contact@vwolf.be>
3This program is free software: you can redistribute it and/or modify
4it under the terms of the GNU General Public License as published by
5the Free Software Foundation, either version 2 of the License, or
6(at your option) any later version.
7This program is distributed in the hope that it will be useful,
8but WITHOUT ANY WARRANTY; without even the implied warranty of
9MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10GNU General Public License for more details.
11You should have received a copy of the GNU General Public License
12along with this program. If not, see <http://www.gnu.org/licenses/>.
13*/
14#include "fave84h.h"
15
16#ifdef RGB_MATRIX_ENABLE
17 led_config_t g_led_config = {
18 {
19 // Key Matrix to LED Index
20 { 47, NO_LED, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62 },
21 { 46, 45, 44, 43, 42, 41, 40, 39, 38, 37, 36, 35, 34, 33, 32, 31, 30 },
22 { 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29 },
23 { 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, NO_LED, 0, NO_LED, NO_LED, NO_LED },
24 { 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, NO_LED, 84, NO_LED, NO_LED, 85, NO_LED },
25 { 72, 71, 70, NO_LED, NO_LED, 69, NO_LED, NO_LED, NO_LED, NO_LED, 68, NO_LED, 67, 66, 65, 64, 63 },
26 }, {
27 // LED Index to Physical Position
28 {0, 0}, {28, 0}, {42, 0}, {57, 0}, {71, 0}, {92, 0}, {106, 0}, {120, 0}, {134, 0}, {156, 0},
29 {170, 0}, {184, 0}, {198, 0}, {216, 0}, {230, 0}, {244, 0}, {0, 15}, {14, 15}, {28, 15}, {42, 15},
30 {57, 15}, {71, 15}, {85, 15}, {99, 15}, {113, 15}, {127, 15}, {141, 15}, {156, 15}, {170, 15}, {191, 17},
31 {216, 15}, {230, 15}, {244, 15}, {4, 27}, {21, 27}, {35, 27}, {50, 27}, {64, 27}, {78, 27}, {92, 27},
32 {106, 27}, {120, 27}, {134, 27}, {149, 27}, {163, 27}, {177, 27}, {194, 27}, {216, 27}, {230, 27}, {244, 27},
33 {10, 40}, {25, 40}, {39, 40}, {53, 40}, {67, 40}, {81, 40}, {95, 40}, {110, 40}, {124, 40}, {138, 40},
34 {152, 40}, {166, 40}, {189, 40}, {9, 52}, {32, 52}, {46, 52}, {60, 52}, {74, 52}, {88, 52}, {103, 52},
35 {117, 52}, {131, 52}, {145, 52}, {159, 52}, {186, 52}, {230, 52}, {4, 64}, {21, 64}, {39, 64}, {99, 64},
36 {159, 64}, {177, 64}, {194, 64}, {216, 64}, {230, 64}, {244, 64}
37 }, {
38 // LED Index to Flag
39 1, 4, 4, 4, 4, 1, 1, 1, 1, 4, 4, 4, 4, 1, 1, 1,
40 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, 1,
41 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, 1,
42 8, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
43 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1,
44 1, 1, 1, 4, 1, 1, 1, 1, 1, 1,
45
46 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
47 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2
48 }
49};
50#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 000000000..39f85c159
--- /dev/null
+++ b/keyboards/linworks/fave84h/fave84h.h
@@ -0,0 +1,34 @@
1/*
2Copyright 2020 <contact@vwolf.be>
3This program is free software: you can redistribute it and/or modify
4it under the terms of the GNU General Public License as published by
5the Free Software Foundation, either version 2 of the License, or
6(at your option) any later version.
7This program is distributed in the hope that it will be useful,
8but WITHOUT ANY WARRANTY; without even the implied warranty of
9MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10GNU General Public License for more details.
11You should have received a copy of the GNU General Public License
12along with this program. If not, see <http://www.gnu.org/licenses/>.
13*/
14
15#pragma once
16
17#include "quantum.h"
18
19/* FAve 84H Keymap Definitions */
20#define LAYOUT( \
21 K00, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G, \
22 K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G, \
23 K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G, \
24 K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, \
25 K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4C, K4F, \
26 K50, K51, K52, K55, K5A, K5C, K5D, K5E, K5F, K5G \
27) { \
28 { K00, KC_NO, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G }, \
29 { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G }, \
30 { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G }, \
31 { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, KC_NO, KC_NO, KC_NO }, \
32 { K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, KC_NO, K4C, KC_NO, KC_NO, K4F, KC_NO }, \
33 { K50, K51, K52, KC_NO, KC_NO, K55, KC_NO, KC_NO, KC_NO, KC_NO, K5A, KC_NO, K5C, K5D, K5E, K5F, K5G } \
34}
diff --git a/keyboards/linworks/fave84h/info.json b/keyboards/linworks/fave84h/info.json
new file mode 100644
index 000000000..939b99c48
--- /dev/null
+++ b/keyboards/linworks/fave84h/info.json
@@ -0,0 +1,10 @@
1{
2 "keyboard_name": "Lx3 Fave 84H",
3 "url": "",
4 "maintainer": "ToastyStoemp",
5 "layouts": {
6 "LAYOUT": {
7 "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}]
8 }
9 }
10}
diff --git a/keyboards/linworks/fave84h/keymaps/default/keymap.c b/keyboards/linworks/fave84h/keymaps/default/keymap.c
new file mode 100644
index 000000000..7c9078854
--- /dev/null
+++ b/keyboards/linworks/fave84h/keymaps/default/keymap.c
@@ -0,0 +1,50 @@
1/*
2Copyright 2020 <contact@vwolf.be>
3This program is free software: you can redistribute it and/or modify
4it under the terms of the GNU General Public License as published by
5the Free Software Foundation, either version 2 of the License, or
6(at your option) any later version.
7This program is distributed in the hope that it will be useful,
8but WITHOUT ANY WARRANTY; without even the implied warranty of
9MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10GNU General Public License for more details.
11You should have received a copy of the GNU General Public License
12along with this program. If not, see <http://www.gnu.org/licenses/>.
13*/
14
15#include QMK_KEYBOARD_H
16
17enum layers {
18 _LAYER0,
19 _LAYER1,
20};
21
22const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
23
24 [_LAYER0] = LAYOUT(
25 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,
26 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,
27 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,
28 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,
29 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,
30 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
31 ),
32
33 [_LAYER1] = LAYOUT(
34 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,
35 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,
36 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,
37 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,
38 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,
39 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
40 )
41
42 };
43};
44
45void rgb_matrix_indicators_user(void) {
46 led_t host_leds = host_keyboard_led_state();
47 if (host_leds.caps_lock) {
48 rgb_matrix_set_color(12, 254, 189, 41); // set caps lock led color first number is index, R G B
49 }
50} \ 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 000000000..3000a7624
--- /dev/null
+++ b/keyboards/linworks/fave84h/keymaps/via/keymap.c
@@ -0,0 +1,68 @@
1/*
2Copyright 2020 <contact@vwolf.be>
3This program is free software: you can redistribute it and/or modify
4it under the terms of the GNU General Public License as published by
5the Free Software Foundation, either version 2 of the License, or
6(at your option) any later version.
7This program is distributed in the hope that it will be useful,
8but WITHOUT ANY WARRANTY; without even the implied warranty of
9MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10GNU General Public License for more details.
11You should have received a copy of the GNU General Public License
12along with this program. If not, see <http://www.gnu.org/licenses/>.
13*/
14
15#include QMK_KEYBOARD_H
16
17enum layers {
18 _LAYER0,
19 _LAYER1,
20 _LAYER2,
21 _LAYER3,
22};
23
24const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
25
26 [_LAYER0] = LAYOUT(
27 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,
28 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,
29 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,
30 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,
31 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,
32 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
33 ),
34
35 [_LAYER1] = LAYOUT(
36 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,
37 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,
38 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,
39 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,
40 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,
41 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
42 ),
43
44 [_LAYER2] = LAYOUT(
45 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,
46 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,
47 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,
48 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,
49 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,
50 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
51 ),
52
53 [_LAYER3] = LAYOUT(
54 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,
55 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,
56 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,
57 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,
58 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,
59 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
60 )
61};
62
63void rgb_matrix_indicators_user(void) {
64 led_t host_leds = host_keyboard_led_state();
65 if (host_leds.caps_lock) {
66 rgb_matrix_set_color(12, 254, 189, 41); // set caps lock led color first number is index, R G B
67 }
68} \ 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 000000000..1e5b99807
--- /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 000000000..f2090dee5
--- /dev/null
+++ b/keyboards/linworks/fave84h/readme.md
@@ -0,0 +1,23 @@
1# FAve 84H
2
3The following is the QMK Firmware for the FAve 84H Hotswap PCB.
4
5The PCB features:
6* QMK & VIA compatibility
7* Hotswap
8* Per Key and Underglow RGB
9
10---
11
12* Keyboard Maintainer: [ToastyStoemp](https://github.com/ToastyStoemp)
13
14Make example for this keyboard (after setting up your build environment):
15
16 make linworks/fave84h:default
17
18See 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).
19
20## Bootloader Enter the bootloader in 3 ways:
21* **Bootmagic reset**: Hold down the key ESC key and plug in the keyboard (Top Left most switch)
22* **Physical reset button**: Briefly press the button on the back of the PCB
23* **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 000000000..c3ddbe425
--- /dev/null
+++ b/keyboards/linworks/fave84h/rules.mk
@@ -0,0 +1,23 @@
1# MCU name
2MCU = atmega32u4
3
4# Processor frequency
5F_CPU = 8000000
6
7# Bootloader selection
8BOOTLOADER = atmel-dfu
9
10# Build Options
11# change yes to no to disable
12#
13BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
14MOUSEKEY_ENABLE = no # Mouse keys
15EXTRAKEY_ENABLE = yes # Audio control and System control
16CONSOLE_ENABLE = no # Console for debug
17COMMAND_ENABLE = no # Commands for debug and configuration
18NKRO_ENABLE = yes # Enable N-Key Rollover
19BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
20RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
21AUDIO_ENABLE = no # Audio output
22RGB_MATRIX_ENABLE = yes
23RGB_MATRIX_DRIVER = WS2812