[Keyboard] add odin keyboard (#15150)
Co-authored-by: Drashna Jaelre <drashna@live.com> Co-authored-by: Ryan <fauxpark@gmail.com>
This commit is contained in:
		
							parent
							
								
									4c0ecd4910
								
							
						
					
					
						commit
						9cc97302ab
					
				
					 20 changed files with 584 additions and 0 deletions
				
			
		
							
								
								
									
										90
									
								
								keyboards/kbdfans/odin/rgb/config.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										90
									
								
								keyboards/kbdfans/odin/rgb/config.h
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,90 @@
 | 
			
		|||
/* Copyright 2021 Dztech
 | 
			
		||||
 *
 | 
			
		||||
 * 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 "config_common.h"
 | 
			
		||||
 | 
			
		||||
#define VENDOR_ID       0x4B42
 | 
			
		||||
#define PRODUCT_ID      0x0102
 | 
			
		||||
#define DEVICE_VER      0x0001
 | 
			
		||||
#define MANUFACTURER    KBDFANS
 | 
			
		||||
#define PRODUCT         ODIN_RGB
 | 
			
		||||
 | 
			
		||||
#define MATRIX_ROWS 6
 | 
			
		||||
#define MATRIX_COLS 20
 | 
			
		||||
 | 
			
		||||
#define MATRIX_ROW_PINS { A10, A9, A8, B14, B13, A2 }
 | 
			
		||||
#define MATRIX_COL_PINS { A3, A4, A5, A6, A7, B0, B1, B2, B12, A15, B3, B4, B5, B6, B7, B8, C13, C14, C15, A0}
 | 
			
		||||
#define UNUSED_PINS
 | 
			
		||||
 | 
			
		||||
#define DIODE_DIRECTION COL2ROW
 | 
			
		||||
 | 
			
		||||
#define DEBOUNCE 5
 | 
			
		||||
#define RGBLED_NUM 110
 | 
			
		||||
#define DRIVER_LED_TOTAL 110
 | 
			
		||||
#define RGB_DI_PIN B15
 | 
			
		||||
 | 
			
		||||
#ifdef RGB_MATRIX_ENABLE
 | 
			
		||||
#define RGB_DISABLE_WHEN_USB_SUSPENDED
 | 
			
		||||
#define RGB_MATRIX_KEYPRESSES 
 | 
			
		||||
#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
 | 
			
		||||
#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150
 | 
			
		||||
#define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_CYCLE_ALL
 | 
			
		||||
#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_FRACTAL
 | 
			
		||||
#define ENABLE_RGB_MATRIX_PIXEL_RAIN
 | 
			
		||||
 | 
			
		||||
#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
 | 
			
		||||
#define ENABLE_RGB_MATRIX_DIGITAL_RAIN
 | 
			
		||||
 | 
			
		||||
#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
 | 
			
		||||
							
								
								
									
										10
									
								
								keyboards/kbdfans/odin/rgb/info.json
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								keyboards/kbdfans/odin/rgb/info.json
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,10 @@
 | 
			
		|||
{
 | 
			
		||||
    "keyboard_name": "ODIN_RGB", 
 | 
			
		||||
    "url": "", 
 | 
			
		||||
    "maintainer": "moyi4681", 
 | 
			
		||||
    "layouts": {
 | 
			
		||||
        "LAYOUT_all": {
 | 
			
		||||
            "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}, {"x":16.5, "y":0}, {"x":17.5, "y":0}, {"x":18.5, "y":0}, {"x":19.5, "y":0}, {"label":"~", "x":0, "y":1.5}, {"label":"!", "x":1, "y":1.5}, {"label":"@", "x":2, "y":1.5}, {"label":"#", "x":3, "y":1.5}, {"label":"$", "x":4, "y":1.5}, {"label":"%", "x":5, "y":1.5}, {"label":"^", "x":6, "y":1.5}, {"label":"&", "x":7, "y":1.5}, {"label":"*", "x":8, "y":1.5}, {"label":"(", "x":9, "y":1.5}, {"label":")", "x":10, "y":1.5}, {"label":"_", "x":11, "y":1.5}, {"label":"+", "x":12, "y":1.5}, {"label":"Backspace", "x":13, "y":1.5, "w":2}, {"label":"Insert", "x":15.25, "y":1.5}, {"label":"Num Lock", "x":16.5, "y":1.5}, {"label":"/", "x":17.5, "y":1.5}, {"label":"*", "x":18.5, "y":1.5}, {"label":"-", "x":19.5, "y":1.5}, {"label":"Tab", "x":0, "y":2.5, "w":1.5}, {"label":"Q", "x":1.5, "y":2.5}, {"label":"W", "x":2.5, "y":2.5}, {"label":"E", "x":3.5, "y":2.5}, {"label":"R", "x":4.5, "y":2.5}, {"label":"T", "x":5.5, "y":2.5}, {"label":"Y", "x":6.5, "y":2.5}, {"label":"U", "x":7.5, "y":2.5}, {"label":"I", "x":8.5, "y":2.5}, {"label":"O", "x":9.5, "y":2.5}, {"label":"P", "x":10.5, "y":2.5}, {"label":"{", "x":11.5, "y":2.5}, {"label":"}", "x":12.5, "y":2.5}, {"label":"|", "x":13.5, "y":2.5, "w":1.5}, {"label":"Delete", "x":15.25, "y":2.5}, {"label":"7", "x":16.5, "y":2.5}, {"label":"8", "x":17.5, "y":2.5}, {"label":"9", "x":18.5, "y":2.5}, {"label":"+", "x":19.5, "y":2.5, "h":2}, {"label":"Caps Lock", "x":0, "y":3.5, "w":1.75}, {"label":"A", "x":1.75, "y":3.5}, {"label":"S", "x":2.75, "y":3.5}, {"label":"D", "x":3.75, "y":3.5}, {"label":"F", "x":4.75, "y":3.5}, {"label":"G", "x":5.75, "y":3.5}, {"label":"H", "x":6.75, "y":3.5}, {"label":"J", "x":7.75, "y":3.5}, {"label":"K", "x":8.75, "y":3.5}, {"label":"L", "x":9.75, "y":3.5}, {"label":":", "x":10.75, "y":3.5}, {"label":"\"", "x":11.75, "y":3.5}, {"label":"Enter", "x":12.75, "y":3.5, "w":2.25}, {"label":"4", "x":16.5, "y":3.5}, {"label":"5", "x":17.5, "y":3.5}, {"label":"6", "x":18.5, "y":3.5}, {"label":"Shift", "x":0, "y":4.5, "w":2.25}, {"label":"Z", "x":2.25, "y":4.5}, {"label":"X", "x":3.25, "y":4.5}, {"label":"C", "x":4.25, "y":4.5}, {"label":"V", "x":5.25, "y":4.5}, {"label":"B", "x":6.25, "y":4.5}, {"label":"N", "x":7.25, "y":4.5}, {"label":"M", "x":8.25, "y":4.5}, {"label":"<", "x":9.25, "y":4.5}, {"label":">", "x":10.25, "y":4.5}, {"label":"?", "x":11.25, "y":4.5}, {"label":"Shift", "x":12.25, "y":4.5, "w":2.75}, {"label":"1", "x":16.5, "y":4.5}, {"label":"2", "x":17.5, "y":4.5}, {"label":"3", "x":18.5, "y":4.5}, {"label":"Enter", "x":19.5, "y":4.5, "h":2}, {"label":"\u2191", "x":15.25, "y":4.75}, {"label":"Ctrl", "x":0, "y":5.5, "w":1.25}, {"label":"Win", "x":1.25, "y":5.5, "w":1.25}, {"label":"Alt", "x":2.5, "y":5.5, "w":1.25}, {"x":3.75, "y":5.5, "w":7}, {"label":"Alt", "x":10.75, "y":5.5, "w":1.5}, {"label":"Win", "x":12.25, "y":5.5, "w":1.5}, {"label":"0", "x":17.5, "y":5.5}, {"label":".", "x":18.5, "y":5.5}, {"label":"\u2190", "x":14.25, "y":5.75}, {"label":"\u2193", "x":15.25, "y":5.75}, {"label":"\u2192", "x":16.25, "y":5.75}]
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										36
									
								
								keyboards/kbdfans/odin/rgb/keymaps/default/keymap.c
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										36
									
								
								keyboards/kbdfans/odin/rgb/keymaps/default/keymap.c
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,36 @@
 | 
			
		|||
/* Copyright 2021 DZTECH <moyi4681@live.cn>
 | 
			
		||||
 *
 | 
			
		||||
 * 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
 | 
			
		||||
 | 
			
		||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		||||
 | 
			
		||||
	[0] =LAYOUT_all(
 | 
			
		||||
		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_PGUP, KC_PGDN,  		
 | 
			
		||||
		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_NLCK, KC_PSLS, KC_PAST, KC_PMNS, 
 | 
			
		||||
		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_P7, KC_P8, KC_P9, KC_PPLS, 
 | 
			
		||||
		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_P4, KC_P5, KC_P6, 
 | 
			
		||||
		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_P1, KC_P2, KC_P3, KC_PENT, 
 | 
			
		||||
		KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT,  KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT
 | 
			
		||||
                        ),
 | 
			
		||||
	[1]   =LAYOUT_all(
 | 
			
		||||
		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_PGUP, KC_PGDN,  		
 | 
			
		||||
		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_NLCK, KC_PSLS, KC_PAST, KC_PMNS, 
 | 
			
		||||
		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_P7, KC_P8, KC_P9, KC_PPLS, 
 | 
			
		||||
		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_P4, KC_P5, KC_P6, 
 | 
			
		||||
		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_P1, KC_P2, KC_P3, KC_PENT, 
 | 
			
		||||
		KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT,  KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT),
 | 
			
		||||
};
 | 
			
		||||
							
								
								
									
										17
									
								
								keyboards/kbdfans/odin/rgb/keymaps/via/config.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								keyboards/kbdfans/odin/rgb/keymaps/via/config.h
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,17 @@
 | 
			
		|||
/* Copyright 2021 Dztech
 | 
			
		||||
 *
 | 
			
		||||
 * 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 DYNAMIC_KEYMAP_LAYER_COUNT 2
 | 
			
		||||
							
								
								
									
										36
									
								
								keyboards/kbdfans/odin/rgb/keymaps/via/keymap.c
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										36
									
								
								keyboards/kbdfans/odin/rgb/keymaps/via/keymap.c
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,36 @@
 | 
			
		|||
/* Copyright 2021 DZTECH <moyi4681@live.cn>
 | 
			
		||||
 *
 | 
			
		||||
 * 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
 | 
			
		||||
 | 
			
		||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		||||
 | 
			
		||||
	[0] =LAYOUT_all(
 | 
			
		||||
		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_PGUP, KC_PGDN,  		
 | 
			
		||||
		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_NLCK, KC_PSLS, KC_PAST, KC_PMNS, 
 | 
			
		||||
		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_P7, KC_P8, KC_P9, KC_PPLS, 
 | 
			
		||||
		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_P4, KC_P5, KC_P6, 
 | 
			
		||||
		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_P1, KC_P2, KC_P3, KC_PENT, 
 | 
			
		||||
		KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT,  KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT
 | 
			
		||||
                        ),
 | 
			
		||||
	[1]   =LAYOUT_all(
 | 
			
		||||
		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_PGUP, KC_PGDN,  		
 | 
			
		||||
		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_NLCK, KC_PSLS, KC_PAST, KC_PMNS, 
 | 
			
		||||
		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_P7, KC_P8, KC_P9, KC_PPLS, 
 | 
			
		||||
		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_P4, KC_P5, KC_P6, 
 | 
			
		||||
		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_P1, KC_P2, KC_P3, KC_PENT, 
 | 
			
		||||
		KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT,  KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT),
 | 
			
		||||
};
 | 
			
		||||
							
								
								
									
										1
									
								
								keyboards/kbdfans/odin/rgb/keymaps/via/rules.mk
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								keyboards/kbdfans/odin/rgb/keymaps/via/rules.mk
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1 @@
 | 
			
		|||
VIA_ENABLE = yes
 | 
			
		||||
							
								
								
									
										21
									
								
								keyboards/kbdfans/odin/rgb/readme.md
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								keyboards/kbdfans/odin/rgb/readme.md
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,21 @@
 | 
			
		|||
# ODIN RGB
 | 
			
		||||
 | 
			
		||||
A customizable HOTSWAP RGB keyboard.
 | 
			
		||||
 | 
			
		||||
* Keyboard Maintainer: [moyi4681](https://github.com/moyi4681)
 | 
			
		||||
* Hardware Supported: KBDFANS
 | 
			
		||||
* Hardware Availability: [kbdfans](https://kbdfans.myshopify.com/)
 | 
			
		||||
 | 
			
		||||
Make example for this keyboard (after setting up your build environment):
 | 
			
		||||
 | 
			
		||||
    make kbdfans/odin/rgb:default
 | 
			
		||||
 | 
			
		||||
## Bootloader
 | 
			
		||||
 | 
			
		||||
Enter the bootloader in 3 ways:
 | 
			
		||||
 | 
			
		||||
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix
 | 
			
		||||
* **Physical reset button**:press and hold the button on the back of the PCB, then plugin to PC
 | 
			
		||||
* **Keycode in layout**: Press the key mapped to `RESET` if it is available
 | 
			
		||||
 | 
			
		||||
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).
 | 
			
		||||
							
								
								
									
										59
									
								
								keyboards/kbdfans/odin/rgb/rgb.c
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										59
									
								
								keyboards/kbdfans/odin/rgb/rgb.c
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,59 @@
 | 
			
		|||
/* Copyright 2021 Dztech
 | 
			
		||||
 *
 | 
			
		||||
 * 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 "rgb.h"
 | 
			
		||||
 | 
			
		||||
#ifdef RGB_MATRIX_ENABLE
 | 
			
		||||
led_config_t g_led_config = {
 | 
			
		||||
{
 | 
			
		||||
    { 0,  NO_LED, 1,   2,      3,      4,      NO_LED,  5,      6,      7,      8,  9,  10,     11, 12,     13,     14, 15, 16, 17 },
 | 
			
		||||
    { 36, 35,     34,  33,     32,     31,     30,      29,     28,     27,     26, 25, 24,     23, NO_LED, 22,     21, 20, 19, 18 },
 | 
			
		||||
    { 37, 38,     39,  40,     41,     42,     43,      44,     45,     46,     47, 48, 49,     50, NO_LED, 51,     52, 53, 54, 55 },
 | 
			
		||||
    { 75, 74,     73,  72,     71,     70,     69,      68,     67,     66,     65,  64, NO_LED, 63, NO_LED, NO_LED, 58, 57, 56, NO_LED },
 | 
			
		||||
    { 76, NO_LED, 77,  78,     79,     80,     81,      82,     83,     84,     85,  86, NO_LED, 87, NO_LED, 88,     89, 90, 91, 92 },
 | 
			
		||||
    { 105,104,    103, NO_LED, NO_LED, NO_LED, 102,     NO_LED, NO_LED, NO_LED, NO_LED, 100, NO_LED,     98, 97,     96,     95, 94, 93, NO_LED }
 | 
			
		||||
}, 
 | 
			
		||||
{
 | 
			
		||||
    {   12*0,  0 }, {  12*2,  0 }, {  12*3,  0 }, {  12*4,  0 }, {  12*5,  0 }, { 12*7,  0 }, { 12*8,  0 }, { 12*9,  0 }, { 12*10,  0 }, { 12*11,  0 },    { 12*12,  0 }, { 12*13,  0 }, { 12*14,  0 }, { 12*15,  0 }, { 12*16,  0 }, { 12*17,  0 }, { 12*18,  0 }, { 224,  0 },
 | 
			
		||||
    
 | 
			
		||||
    { 224,  14 }, { 12*18,  14 },  { 12*17,  14 }, { 12*16,  14 },{ 12*15,  14 },{ 12*13,  14 },  { 12*12,  14 },  { 12*11,  14 },  { 12*10,  14 }, { 12*9,  14 },{ 12*8, 14},{ 12*7,  14},  {  12*6, 14 },  {  12*5,  14 }, {  12*4,  14 },{  12*3,  14 },{  12*2,  14 }, {12,  14},  {   12*0,  14 }, 
 | 
			
		||||
      
 | 
			
		||||
    {   12*0,  26.8 }, {12,  26.8}, {  12*2,  26.8 }, {  12*3,  26.8 }, {  12*4,  26.8 }, {  12*5,  26.8 }, {  12*6, 26.8 }, { 12*7,  26.8}, { 12*8, 26.8}, { 12*9,  26.8 }, { 12*10,  26.8 }, { 12*11,  26.8 },    { 12*12,  26.8 }, { 12*13,  26.8 },  { 12*15,  26.8 }, { 12*16,  26.8 }, { 12*17,  26.8 }, { 12*18,  26.8 }, { 224,  33.2 },
 | 
			
		||||
 | 
			
		||||
 { 12*18,  39.6 }, { 12*17,  39.6 },{ 12*16,  39.6 }, {224,0},{0,0},{0,64},{224,64 },   { 12*13,  39.6 }, { 12*11,  39.6 }, { 12*10,  39.6 }, { 12*9,  39.6 },{ 12*8, 39.6},  { 12*7,  39.6},  {  12*6, 39.6 },  {  12*5,  39.6 },{  12*4,  39.6 },{  12*3,  39.6 },  {  12*2,  39.6 }, {12,  39.6},  {   12*0,  39.6 }, 
 | 
			
		||||
    
 | 
			
		||||
    {   12*0,  52 },{  12*2,  52 }, {  12*3,  52 }, {  12*4,  52 }, {  12*5,  52 }, {  12*6, 52 }, { 12*7,  52}, { 12*8, 52}, { 12*9,  52 }, { 12*10,  52 }, { 12*11,  52 },   { 12*13,  52 },  { 12*15,  52 }, { 12*16,  52 }, { 12*17,  52 }, { 12*18,  52 }, { 224,  58 },
 | 
			
		||||
    
 | 
			
		||||
 { 12*18,  64 },  { 12*17,  64 },  { 12*16,  64 },  { 12*15,  64 },{ 12*14,  64 }, { 12*13,  64 },  { 12*11,  64 },   {  12*6, 64 }, {  12*2,  64 }, {12,  64},    {   12*0,  64 }
 | 
			
		||||
},
 | 
			
		||||
{           
 | 
			
		||||
4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
 | 
			
		||||
4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
 | 
			
		||||
4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
 | 
			
		||||
4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
 | 
			
		||||
4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
 | 
			
		||||
4,4,4,4,4,4,4,4,4,4,4,4
 | 
			
		||||
}};
 | 
			
		||||
 | 
			
		||||
__attribute__ ((weak))
 | 
			
		||||
void rgb_matrix_indicators_user(void) {
 | 
			
		||||
    if (host_keyboard_led_state().caps_lock) {
 | 
			
		||||
        rgb_matrix_set_color(75, 0xFF, 0xFF, 0xFF);
 | 
			
		||||
    }
 | 
			
		||||
    if (host_keyboard_led_state().num_lock) {
 | 
			
		||||
        rgb_matrix_set_color(21, 0xFF, 0xFF, 0xFF);
 | 
			
		||||
    }    
 | 
			
		||||
}
 | 
			
		||||
#endif
 | 
			
		||||
							
								
								
									
										35
									
								
								keyboards/kbdfans/odin/rgb/rgb.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										35
									
								
								keyboards/kbdfans/odin/rgb/rgb.h
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,35 @@
 | 
			
		|||
/* Copyright 2021 Dztech
 | 
			
		||||
 *
 | 
			
		||||
 * 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"
 | 
			
		||||
 | 
			
		||||
#define LAYOUT_all( \
 | 
			
		||||
    k00,      k02, k03, k04, k05,      k07, k08, k09, k0A, k0B, k0C, k0D, k0E, k0F, k0G, k0H, k0I, k0J, \
 | 
			
		||||
    k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D,      k1F, k1G, k1H, k1I, k1J, \
 | 
			
		||||
    k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D,      k2F, k2G, k2H, k2I, k2J, \
 | 
			
		||||
    k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B,      k3D,           k3G, k3H, k3I,      \
 | 
			
		||||
    k40,      k42, k43, k44, k45, k46, k47, k48, k49, k4A, k4B,      k4D,      k4F, k4G, k4H, k4I, k4J, \
 | 
			
		||||
    k50, k51, k52,                k56,                     k5B,      k5D, k5E, k5F, k5G, k5H, k5I       \
 | 
			
		||||
) \
 | 
			
		||||
{ \
 | 
			
		||||
    {k00, KC_NO, k02, k03,   k04,   k05,   KC_NO, k07,   k08,   k09,   k0A,   k0B, k0C,   k0D, k0E,   k0F,   k0G, k0H, k0I, k0J  }, \
 | 
			
		||||
    {k10, k11,   k12, k13,   k14,   k15,   k16,   k17,   k18,   k19,   k1A,   k1B, k1C,   k1D, KC_NO, k1F,   k1G, k1H, k1I, k1J  }, \
 | 
			
		||||
    {k20, k21,   k22, k23,   k24,   k25,   k26,   k27,   k28,   k29,   k2A,   k2B, k2C,   k2D, KC_NO, k2F,   k2G, k2H, k2I, k2J  }, \
 | 
			
		||||
    {k30, k31,   k32, k33,   k34,   k35,   k36,   k37,   k38,   k39,   k3A,   k3B, KC_NO, k3D, KC_NO, KC_NO, k3G, k3H, k3I, KC_NO}, \
 | 
			
		||||
    {k40, KC_NO, k42, k43,   k44,   k45,   k46,   k47,   k48,   k49,   k4A,   k4B, KC_NO, k4D, KC_NO, k4F,   k4G, k4H, k4I, k4J  }, \
 | 
			
		||||
    {k50, k51,   k52, KC_NO, KC_NO, KC_NO, k56,   KC_NO, KC_NO, KC_NO, KC_NO, k5B, KC_NO, k5D, k5E,   k5F,   k5G, k5H, k5I, KC_NO}  \
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										26
									
								
								keyboards/kbdfans/odin/rgb/rules.mk
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										26
									
								
								keyboards/kbdfans/odin/rgb/rules.mk
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,26 @@
 | 
			
		|||
# MCU name
 | 
			
		||||
MCU = STM32F072
 | 
			
		||||
 | 
			
		||||
# Bootloader selection
 | 
			
		||||
BOOTLOADER = stm32-dfu
 | 
			
		||||
 | 
			
		||||
# Build Options
 | 
			
		||||
#   change yes to no to disable
 | 
			
		||||
#
 | 
			
		||||
BOOTMAGIC_ENABLE = yes      # 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
 | 
			
		||||
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
 | 
			
		||||
SLEEP_LED_ENABLE = no       # Breathing sleep LED during USB suspend
 | 
			
		||||
# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
 | 
			
		||||
NKRO_ENABLE = yes           # USB Nkey 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
 | 
			
		||||
 | 
			
		||||
# Enter lower-power sleep mode when on the ChibiOS idle thread
 | 
			
		||||
OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE
 | 
			
		||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue