[Keyboard] Add the FAve 87H (#15965)
Co-authored-by: Joel Challis <git@zvecr.com> Co-authored-by: Drashna Jaelre <drashna@live.com> Co-authored-by: Wolf Van Herreweghe <wolfvh@getupgamesofficial.com>
This commit is contained in:
		
							parent
							
								
									b0da230213
								
							
						
					
					
						commit
						3555ee0555
					
				
					 9 changed files with 361 additions and 0 deletions
				
			
		
							
								
								
									
										103
									
								
								keyboards/linworks/fave87h/config.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										103
									
								
								keyboards/linworks/fave87h/config.h
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,103 @@ | ||||||
|  | /*
 | ||||||
|  | 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   0x0003 // FAve 87H
 | ||||||
|  | #define DEVICE_VER   0x0001 // Version 1
 | ||||||
|  | #define MANUFACTURER    Lx3 | ||||||
|  | #define PRODUCT         FAve 87H | ||||||
|  | 
 | ||||||
|  | /* key matrix size */ | ||||||
|  | #define MATRIX_ROWS 6 | ||||||
|  | #define MATRIX_COLS 17 | ||||||
|  | 
 | ||||||
|  | // 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 RGB_DI_PIN D2 | ||||||
|  | 
 | ||||||
|  | #define DRIVER_LED_TOTAL 127 | ||||||
|  | #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 | ||||||
							
								
								
									
										51
									
								
								keyboards/linworks/fave87h/fave87h.c
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										51
									
								
								keyboards/linworks/fave87h/fave87h.c
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,51 @@ | ||||||
|  | /*
 | ||||||
|  | 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 "fave87h.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 }, | ||||||
|  |         { 74,     75, 76,     77,     78, 79,     80,     81,     82, 83, 84, NO_LED,     85, NO_LED, NO_LED,     86, NO_LED }, | ||||||
|  |         { 73,     72, 71, NO_LED, NO_LED, 70, NO_LED, NO_LED, NO_LED, 69, 68, NO_LED,     67,     66,     65,     64,     63 }, | ||||||
|  |     }, { | ||||||
|  |         // LED Index to Physical Position
 | ||||||
|  |         {190, 40},  {167, 40},  {153, 40},  {139, 40},  {125, 40},  {111, 40},  {97, 40},   {83, 40},   {69, 40},   {55, 40},  | ||||||
|  |         {40, 40},   {26, 40},   {0, 41},    {5, 27},    {23, 27},   {37, 27},   {51, 27},   {65, 27},   {79, 27},   {93, 27},  | ||||||
|  |         {107, 27},  {121, 27},  {135, 27},  {149, 27},  {163, 27},  {177, 27},  {195, 27},  {216, 27},  {230, 27},  {244, 27},  | ||||||
|  |         {244, 15},  {230, 15},  {216, 15},  {191, 17},  {170, 15},  {156, 15},  {142, 15},  {128, 15},  {114, 15},  {100, 15},  | ||||||
|  |         {86, 15},   {72, 15},   {58, 15},   {44, 15},   {30, 15},   {16, 15},   {2, 15},    {2, 0},     {30, 0},    {44, 0},  | ||||||
|  |         {58, 0},    {72, 0},    {93, 0},    {107, 0},   {121, 0},   {135, 0},   {156, 0},   {170, 0},   {184, 0},   {198, 0},  | ||||||
|  |         {216, 0},   {230, 0},   {244, 0},   {244, 64},  {230, 64},  {216, 64},  {197, 64},  {179, 64},  {162, 64},  {144, 64},  | ||||||
|  |         {91, 64},   {39, 64},   {21, 64},   {4, 64},    {11, 52},   {33, 52},   {47, 52},   {62, 52},   {76, 52},   {90, 52},  | ||||||
|  |         {104, 52},  {118, 52},  {132, 52},  {146, 52},  {160, 52},  {186, 52},  {230, 52} | ||||||
|  |     }, { | ||||||
|  |         // 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,       4, | ||||||
|  |         1, 1, 1,       4,          1, 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 | ||||||
							
								
								
									
										34
									
								
								keyboards/linworks/fave87h/fave87h.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										34
									
								
								keyboards/linworks/fave87h/fave87h.h
									
										
									
									
									
										Normal file
									
								
							|  | @ -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 87H 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,                K59, 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, K59, K5A, KC_NO, K5C, K5D,   K5E,   K5F,   K5G   }  \ | ||||||
|  | } | ||||||
							
								
								
									
										10
									
								
								keyboards/linworks/fave87h/info.json
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								keyboards/linworks/fave87h/info.json
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,10 @@ | ||||||
|  | { | ||||||
|  |     "keyboard_name": "Lx3 FAve 87H", | ||||||
|  |     "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.25}, {"label":"Win", "x":1.25, "y":5.25, "w":1.25}, {"label":"Alt", "x":2.5, "y":5.25, "w":1.25}, {"x":3.75, "y":5.25, "w":6.25}, {"label":"Alt", "x":10, "y":5.25, "w":1.25}, {"label":"Win", "x":11.25, "y":5.25, "w":1.25}, {"label":"Fn", "x":12.5, "y":5.25, "w":1.25}, {"label":"Ctrl", "x":13.75, "y":5.25, "w":1.25}, {"label":"\u2190", "x":15.25, "y":5.25}, {"label":"\u2193", "x":16.25, "y":5.25}, {"label":"\u2192", "x":17.25, "y":5.25}] | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  | } | ||||||
							
								
								
									
										49
									
								
								keyboards/linworks/fave87h/keymaps/default/keymap.c
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										49
									
								
								keyboards/linworks/fave87h/keymaps/default/keymap.c
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,49 @@ | ||||||
|  | /*
 | ||||||
|  | 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, KC_RGUI,          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_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
 | ||||||
|  |     } | ||||||
|  | } | ||||||
							
								
								
									
										68
									
								
								keyboards/linworks/fave87h/keymaps/via/keymap.c
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										68
									
								
								keyboards/linworks/fave87h/keymaps/via/keymap.c
									
										
									
									
									
										Normal file
									
								
							|  | @ -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, KC_RGUI,          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_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, 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, 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
 | ||||||
|  |     } | ||||||
|  | } | ||||||
							
								
								
									
										1
									
								
								keyboards/linworks/fave87h/keymaps/via/rules.mk
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								keyboards/linworks/fave87h/keymaps/via/rules.mk
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1 @@ | ||||||
|  | VIA_ENABLE = yes | ||||||
							
								
								
									
										22
									
								
								keyboards/linworks/fave87h/readme.md
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								keyboards/linworks/fave87h/readme.md
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,22 @@ | ||||||
|  | # FAve 87H | ||||||
|  | 
 | ||||||
|  | The following is the QMK Firmware for the FAve 87H Hotswap PCB. | ||||||
|  | 
 | ||||||
|  | The PCB features: | ||||||
|  | * QMK & VIA compatibility | ||||||
|  | * Hotswap | ||||||
|  | 
 | ||||||
|  | --- | ||||||
|  | 
 | ||||||
|  | * Keyboard Maintainer: [ToastyStoemp](https://github.com/ToastyStoemp) | ||||||
|  | 
 | ||||||
|  | Make example for this keyboard (after setting up your build environment): | ||||||
|  | 
 | ||||||
|  |     make linworks/fave87h: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` | ||||||
							
								
								
									
										23
									
								
								keyboards/linworks/fave87h/rules.mk
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										23
									
								
								keyboards/linworks/fave87h/rules.mk
									
										
									
									
									
										Normal file
									
								
							|  | @ -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 | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Wolf Van Herreweghe
						Wolf Van Herreweghe