forked from mfulz_github/qmk_firmware
		
	Merge remote-tracking branch 'origin/master' into develop
This commit is contained in:
		
						commit
						2048c28f78
					
				
							
								
								
									
										28
									
								
								keyboards/kabedon/kabedon98e/chconf.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										28
									
								
								keyboards/kabedon/kabedon98e/chconf.h
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,28 @@
 | 
				
			|||||||
 | 
					/* Copyright 2020 QMK
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * 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/>.
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * This file was auto-generated by:
 | 
				
			||||||
 | 
					 *    `qmk chibios-confmigrate -i keyboards/keyboards/kabedon/kabedon98e/chconf.h -r platforms/chibios/common/configs/chconf.h`
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#pragma once
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define CH_CFG_ST_TIMEDELTA 0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define CH_CFG_USE_CONDVARS_TIMEOUT FALSE
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include_next <chconf.h>
 | 
				
			||||||
							
								
								
									
										64
									
								
								keyboards/kabedon/kabedon98e/config.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										64
									
								
								keyboards/kabedon/kabedon98e/config.h
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,64 @@
 | 
				
			|||||||
 | 
					/* Copyright 2021 KDon<370490639@qq.com>
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * 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      0x4B44
 | 
				
			||||||
 | 
					#define PRODUCT_ID     0x3935
 | 
				
			||||||
 | 
					#define DEVICE_VER     0x0002
 | 
				
			||||||
 | 
					#define MANUFACTURER   Kabe_Don
 | 
				
			||||||
 | 
					#define PRODUCT        98e
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* key matrix size */
 | 
				
			||||||
 | 
					#define MATRIX_ROWS 12
 | 
				
			||||||
 | 
					#define MATRIX_COLS 11
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define MATRIX_ROW_PINS {A4,B10,B2,B1,B0,B15,B13,B14,B12,A10,A9,A8}
 | 
				
			||||||
 | 
					#define MATRIX_COL_PINS {A0,B7,B8,B6,A3,A2,A1,B9,A7,A5,A6}
 | 
				
			||||||
 | 
					#define DIODE_DIRECTION ROW2COL
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
 | 
				
			||||||
 | 
					#define DEBOUNCE 5
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define FORCE_NKRO
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define RGB_DI_PIN B4
 | 
				
			||||||
 | 
					#define RGBLED_NUM 24
 | 
				
			||||||
 | 
					#define RGBLIGHT_ANIMATIONS
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define WS2812_PWM_DRIVER PWMD3
 | 
				
			||||||
 | 
					#define WS2812_PWM_CHANNEL 1
 | 
				
			||||||
 | 
					#define WS2812_DMA_STREAM STM32_DMA1_STREAM3
 | 
				
			||||||
 | 
					#define WS2812_DMA_CHANNEL 3
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
 | 
				
			||||||
 | 
					#define LOCKING_SUPPORT_ENABLE
 | 
				
			||||||
 | 
					/* Locking resynchronize hack */
 | 
				
			||||||
 | 
					#define LOCKING_RESYNC_ENABLE
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define ENCODERS 2
 | 
				
			||||||
 | 
					#define ENCODERS_PAD_A { B3,A14 }
 | 
				
			||||||
 | 
					#define ENCODERS_PAD_B { B5,A15 }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define ENCODERS_CW_KEY  { { 0, 0 },{ 2, 0 } }
 | 
				
			||||||
 | 
					#define ENCODERS_CCW_KEY { { 6, 0 },{ 8, 0 } }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define DYNAMIC_KEYMAP_LAYER_COUNT 3
 | 
				
			||||||
 | 
					/* Bootmagic Lite key configuration */
 | 
				
			||||||
 | 
					#define BOOTMAGIC_LITE_ROW 0
 | 
				
			||||||
 | 
					#define BOOTMAGIC_LITE_COLUMN 1
 | 
				
			||||||
							
								
								
									
										26
									
								
								keyboards/kabedon/kabedon98e/halconf.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										26
									
								
								keyboards/kabedon/kabedon98e/halconf.h
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,26 @@
 | 
				
			|||||||
 | 
					/* Copyright 2020 QMK
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * 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/>.
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * This file was auto-generated by:
 | 
				
			||||||
 | 
					 *    `qmk chibios-confmigrate -i keyboards/keyboards/kabedon/kabedon98e/halconf.h -r platforms/chibios/common/configs/halconf.h`
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#pragma once
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define HAL_USE_PWM TRUE
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include_next <halconf.h>
 | 
				
			||||||
							
								
								
									
										114
									
								
								keyboards/kabedon/kabedon98e/info.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										114
									
								
								keyboards/kabedon/kabedon98e/info.json
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,114 @@
 | 
				
			|||||||
 | 
					{
 | 
				
			||||||
 | 
					    "keyboard_name": "KabeDon98E", 
 | 
				
			||||||
 | 
					    "url": "", 
 | 
				
			||||||
 | 
					    "maintainer": "370490639", 
 | 
				
			||||||
 | 
					    "width": 20.8, 
 | 
				
			||||||
 | 
					    "height": 6.7, 
 | 
				
			||||||
 | 
					    "layouts": {
 | 
				
			||||||
 | 
					        "LAYOUT": {
 | 
				
			||||||
 | 
					            "layout": [
 | 
				
			||||||
 | 
								{"label":"Esc", "x":0, "y":0},
 | 
				
			||||||
 | 
								{"label":"F1", "x":1.5, "y":0},
 | 
				
			||||||
 | 
								{"label":"F2", "x":2.5, "y":0},
 | 
				
			||||||
 | 
								{"label":"F3", "x":3.5, "y":0},
 | 
				
			||||||
 | 
								{"label":"F4", "x":4.5, "y":0},
 | 
				
			||||||
 | 
								{"label":"F5", "x":6.25, "y":0},
 | 
				
			||||||
 | 
								{"label":"F6", "x":7.25, "y":0},
 | 
				
			||||||
 | 
								{"label":"F7", "x":8.25, "y":0},
 | 
				
			||||||
 | 
								{"label":"F8", "x":9.25, "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":"Delete", "x":15.5, "y":0},
 | 
				
			||||||
 | 
								{"label":"Insert", "x":17, "y":0},
 | 
				
			||||||
 | 
								{"label":"Mute", "x":18.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":"Num Lock", "x":15.4, "y":1.5},
 | 
				
			||||||
 | 
								{"label":"/", "x":16.4, "y":1.5},
 | 
				
			||||||
 | 
								{"label":"*", "x":17.4, "y":1.5},
 | 
				
			||||||
 | 
								{"label":"-", "x":18.4, "y":1.5},			
 | 
				
			||||||
 | 
								{"label":"Home", "x":19.8, "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":"7", "x":15.4, "y":2.5},
 | 
				
			||||||
 | 
								{"label":"8", "x":16.4, "y":2.5},
 | 
				
			||||||
 | 
								{"label":"9", "x":17.4, "y":2.5},
 | 
				
			||||||
 | 
								{"label":"+", "x":18.4, "y":2.5, "h":2},			
 | 
				
			||||||
 | 
								{"label":"End", "x":19.8, "y":2.5},			
 | 
				
			||||||
 | 
								{"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":15.4, "y":3.5},
 | 
				
			||||||
 | 
								{"label":"5", "x":16.4, "y":3.5},
 | 
				
			||||||
 | 
								{"label":"6", "x":17.4, "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":1.75},
 | 
				
			||||||
 | 
								{"label":"Up", "x":14.2, "y":4.7},
 | 
				
			||||||
 | 
								{"label":"1", "x":15.4, "y":4.5},
 | 
				
			||||||
 | 
								{"label":"2", "x":16.4, "y":4.5},
 | 
				
			||||||
 | 
								{"label":"3", "x":17.4, "y":4.5},
 | 
				
			||||||
 | 
								{"label":"Enter", "x":18.4, "y":4.5, "h":2},						
 | 
				
			||||||
 | 
								{"label":"Pgup", "x":19.8, "y":4.5},						
 | 
				
			||||||
 | 
								{"label":"Ctrl", "x":0, "y":5.5, "w":1.25},
 | 
				
			||||||
 | 
								{"label":"Win", "x":1.25, "y":5.5},
 | 
				
			||||||
 | 
								{"label":"Alt", "x":2.25, "y":5.5},
 | 
				
			||||||
 | 
								{"label":"MO(1)", "x":3.25, "y":5.5},
 | 
				
			||||||
 | 
								{"label":"Space", "x":4.25, "y":5.5, "w":6.25},
 | 
				
			||||||
 | 
								{"label":"Alt", "x":10.5, "y":5.5, "w":1.25},
 | 
				
			||||||
 | 
								{"label":"Ctrl", "x":11.75, "y":5.5, "w":1.25},
 | 
				
			||||||
 | 
								{"label":"Left", "x":13.2, "y":5.7},
 | 
				
			||||||
 | 
								{"label":"Down", "x":14.2, "y":5.7},
 | 
				
			||||||
 | 
								{"label":"Right", "x":15.2, "y":5.7},
 | 
				
			||||||
 | 
								{"label":"0", "x":16.4, "y":5.5},
 | 
				
			||||||
 | 
								{"label":".", "x":17.4, "y":5.5},
 | 
				
			||||||
 | 
								{"label":"Pgdn", "x":19.8, "y":5.5}
 | 
				
			||||||
 | 
								]
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										16
									
								
								keyboards/kabedon/kabedon98e/kabedon98e.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								keyboards/kabedon/kabedon98e/kabedon98e.c
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,16 @@
 | 
				
			|||||||
 | 
					/* Copyright 2021 KDon<370490639@qq.com>
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * 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 "kabedon98e.h"
 | 
				
			||||||
							
								
								
									
										42
									
								
								keyboards/kabedon/kabedon98e/kabedon98e.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										42
									
								
								keyboards/kabedon/kabedon98e/kabedon98e.h
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,42 @@
 | 
				
			|||||||
 | 
					/* Copyright 2021 KDon<370490639@qq.com>
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * 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 XXXX KC_NO
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define LAYOUT( \
 | 
				
			||||||
 | 
					    KB00,   KA01, KB01, KA02, KB02,    KA03, KB03, KA04, KB04,    KA05, KB05, KB06, KB07,     KF07,    KE08,    KE00,        \
 | 
				
			||||||
 | 
					    KD00, KC01, KD01, KC02, KD02, KC03, KD03, KC04, KD04, KC05, KD05, KC06, KD06,   KD07,     KD09, KE09, KE10, KF10,  KA00, \
 | 
				
			||||||
 | 
					    KF00, KE01, KF01, KE02, KF02, KE03, KF03, KE04, KF04, KE05, KF05, KE06, KF06,   KE07,     KF09, KG09, KG10,        KC00, \
 | 
				
			||||||
 | 
					    KH00, KG01, KH01, KG02, KH02, KG03, KH03, KG04, KH04, KG05, KH05, KG06,      KH07,        KH09, KI09, KI10, KH10,        \
 | 
				
			||||||
 | 
					    KJ00, KJ01, KI02, KJ02, KI03, KJ03, KI04, KJ04, KI05, KJ05, KI06,       KJ07,     KI08,   KJ09, KK09, KJ10,        KG00, \
 | 
				
			||||||
 | 
					    KL00, KK01, KL01, KL03,               KL02,                 KL05,   KK07,   KL07, KK08, KL08,   KL09, KK10, KL10,  KI00  \
 | 
				
			||||||
 | 
					) { \
 | 
				
			||||||
 | 
					  { KA00,  KA01,  KA02,  KA03,  KA04,  KA05,  XXXX,  XXXX,  XXXX,  XXXX,  XXXX }, \
 | 
				
			||||||
 | 
					  { KB00,  KB01,  KB02,  KB03,  KB04,  KB05,  KB06,  KB07,  XXXX,  XXXX,  XXXX }, \
 | 
				
			||||||
 | 
					  { KC00,  KC01,  KC02,  KC03,  KC04,  KC05,  KC06,  XXXX,  XXXX,  XXXX,  XXXX }, \
 | 
				
			||||||
 | 
					  { KD00,  KD01,  KD02,  KD03,  KD04,  KD05,  KD06,  KD07,  XXXX,  KD09,  XXXX }, \
 | 
				
			||||||
 | 
					  { KE00,  KE01,  KE02,  KE03,  KE04,  KE05,  KE06,  KE07,  KE08,  KE09,  KE10 }, \
 | 
				
			||||||
 | 
					  { KF00,  KF01,  KF02,  KF03,  KF04,  KF05,  KF06,  KF07,  XXXX,  KF09,  KF10 }, \
 | 
				
			||||||
 | 
					  { KG00,  KG01,  KG02,  KG03,  KG04,  KG05,  KG06,  XXXX,  XXXX,  KG09,  KG10 }, \
 | 
				
			||||||
 | 
					  { KH00,  KH01,  KH02,  KH03,  KH04,  KH05,  XXXX,  KH07,  XXXX,  KH09,  KH10 }, \
 | 
				
			||||||
 | 
					  { KI00,  XXXX,  KI02,  KI03,  KI04,  KI05,  KI06,  XXXX,  KI08,  KI09,  KI10 }, \
 | 
				
			||||||
 | 
					  { KJ00,  KJ01,  KJ02,  KJ03,  KJ04,  KJ05,  XXXX,  KJ07,  XXXX,  KJ09,  KJ10 }, \
 | 
				
			||||||
 | 
					  { XXXX,  KK01,  XXXX,  XXXX,  XXXX,  XXXX,  XXXX,  KK07,  KK08,  KK09,  KK10 }, \
 | 
				
			||||||
 | 
					  { KL00,  KL01,  KL02,  KL03,  XXXX,  KL05,  XXXX,  KL07,  KL08,  KL09,  KL10 }  \
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										108
									
								
								keyboards/kabedon/kabedon98e/keymaps/default/keymap.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										108
									
								
								keyboards/kabedon/kabedon98e/keymaps/default/keymap.c
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,108 @@
 | 
				
			|||||||
 | 
					/* Copyright 2021 KDon<370490639@qq.com>
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * This program is free software: you can redistribute it and/or modify
 | 
				
			||||||
 | 
					 * it under the terms of the GNU General Public License as published by
 | 
				
			||||||
 | 
					 * the Free Software Foundation, either version 2 of the License, or
 | 
				
			||||||
 | 
					 * (at your option) any later version.
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * This program is distributed in the hope that it will be useful,
 | 
				
			||||||
 | 
					 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
				
			||||||
 | 
					 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
				
			||||||
 | 
					 * GNU General Public License for more details.
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * You should have received a copy of the GNU General Public License
 | 
				
			||||||
 | 
					 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include QMK_KEYBOARD_H
 | 
				
			||||||
 | 
					// Defines names for use in layer keycodes and the keymap
 | 
				
			||||||
 | 
					enum layer_names {
 | 
				
			||||||
 | 
					    _BASE,
 | 
				
			||||||
 | 
					    _FN,
 | 
				
			||||||
 | 
					    _FN1
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
					┌──┐  ┌──┐┌──┐┌──┐┌──┐   ┌──┐┌──┐┌──┐┌──┐   ┌──┐┌──┐┌──┐┌──┐  ┌──┐  ┌──┐  ┌──┐
 | 
				
			||||||
 | 
					│1A│  │0B││1B││0C││1C│   │0D││1D││0E││1E│   │0F││1F││1G││1H│  │5H│  │4I│  │4A│
 | 
				
			||||||
 | 
					└──┘  └──┘└──┘└──┘└──┘   └──┘└──┘└──┘└──┘   └──┘└──┘└──┘└──┘  └──┘  └──┘  └──┘
 | 
				
			||||||
 | 
					┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──────┐  ┌──┐┌──┐┌──┐┌──┐  ┌──┐
 | 
				
			||||||
 | 
					│3A││2B││3B││2C││3C││2D││3D││2E││3E││2F││3F││2G││3G││3H    │  │3J││4J││4K││5K│  │0A│
 | 
				
			||||||
 | 
					└──┘└──┘└──┘└──┘└──┘└──┘└──┘└──┘└──┘└──┘└──┘└──┘└──┘└──────┘  └──┘└──┘└──┘└──┘  └──┘
 | 
				
			||||||
 | 
					┌────┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌────┐  ┌──┐┌──┐┌──┐┌──┐  ┌──┐
 | 
				
			||||||
 | 
					│5A  ││4B││5B││4C││5C││4D││5D││4E││5E││4F││5F││4G││5G││4H  │  │5J││6J││6K││2A│  │7A│
 | 
				
			||||||
 | 
					└────┘└──┘└──┘└──┘└──┘└──┘└──┘└──┘└──┘└──┘└──┘└──┘└──┘└────┘  └──┘└──┘└──┘│  │  └──┘
 | 
				
			||||||
 | 
					┌─────┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌───────┐  ┌──┐┌──┐┌──┐│  │
 | 
				
			||||||
 | 
					│6B   ││7B││6C││7C││6D││7D││6E││7E││6F││7F││6G││7H││7J     │  │8J││8K││7K││  │
 | 
				
			||||||
 | 
					└─────┘└──┘└──┘└──┘└──┘└──┘└──┘└──┘└──┘└──┘└──┘└──┘└───────┘  └──┘└──┘└──┘└──┘
 | 
				
			||||||
 | 
					┌───────┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌─────┐      ┌──┐┌──┐┌──┐┌──┐  ┌──┐
 | 
				
			||||||
 | 
					│9A     ││9B││8C││9C││8D││9D││8E││9E││8F││9F││8G││9H   │ ┌──┐ │9J││AJ││9K││6A│  │BA│
 | 
				
			||||||
 | 
					└───────┘└──┘└──┘└──┘└──┘└──┘└──┘└──┘└──┘└──┘└──┘└─────┘ │8I│ └──┘└──┘└──┘│  │  └──┘
 | 
				
			||||||
 | 
					┌───┐┌──┐┌──┐┌──┐┌───────────────────────┐┌───┐┌───┐     └──┘     ┌──┐┌──┐│  │  ┌──┐
 | 
				
			||||||
 | 
					│AB ││BB││BD││BC││BF                     ││AH ││BH │ ┌──┐┌──┐┌──┐ │AK││BK││  │  │8A│
 | 
				
			||||||
 | 
					└───┘└──┘└──┘└──┘└───────────────────────┘└───┘└───┘ │AI││BI││BJ│ └──┘└──┘└──┘  └──┘
 | 
				
			||||||
 | 
					                                                     └──┘└──┘└──┘
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					[_BASE] = 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_DEL,      KC_INS, 		 KC_MUTE, 
 | 
				
			||||||
 | 
						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_NLCK, KC_PSLS, KC_PAST, KC_PMNS,   KC_HOME,
 | 
				
			||||||
 | 
						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_P7,   KC_P8,   KC_P9,              KC_END,
 | 
				
			||||||
 | 
						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_PPLS,  
 | 
				
			||||||
 | 
						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_PGUP,
 | 
				
			||||||
 | 
						KC_LCTL, KC_LGUI, KC_LALT, MO(1),                KC_SPC,                         KC_RALT,    KC_RCTL,   KC_LEFT,  KC_DOWN,  KC_RGHT,   KC_P0,   KC_PDOT, KC_PENT,   KC_PGDN),
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[_FN] = 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,     RGB_VAI,  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_VAD, RGB_HUD,  KC_TRNS, KC_TRNS, KC_TRNS,   KC_TRNS),
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[_FN1] = 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,  KC_TRNS,  KC_TRNS,  KC_TRNS,                     KC_TRNS,                     KC_TRNS,  KC_TRNS,    KC_TRNS, KC_TRNS, KC_TRNS,  KC_TRNS, KC_TRNS, KC_TRNS,   KC_TRNS)
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					static uint8_t encoder_state[ENCODERS] = {0};
 | 
				
			||||||
 | 
					static keypos_t encoder_cw[ENCODERS] = ENCODERS_CW_KEY;
 | 
				
			||||||
 | 
					static keypos_t encoder_ccw[ENCODERS] = ENCODERS_CCW_KEY;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void encoder_action_unregister(void) {
 | 
				
			||||||
 | 
					    for (int index = 0; index < ENCODERS; ++index) {
 | 
				
			||||||
 | 
					        if (encoder_state[index]) {
 | 
				
			||||||
 | 
					            keyevent_t encoder_event = (keyevent_t) {
 | 
				
			||||||
 | 
					                .key = encoder_state[index] >> 1 ? encoder_cw[index] : encoder_ccw[index],
 | 
				
			||||||
 | 
					                .pressed = false,
 | 
				
			||||||
 | 
					                .time = (timer_read() | 1)
 | 
				
			||||||
 | 
					            };
 | 
				
			||||||
 | 
					            encoder_state[index] = 0;
 | 
				
			||||||
 | 
					            action_exec(encoder_event);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void encoder_action_register(uint8_t index, bool clockwise) {
 | 
				
			||||||
 | 
					    keyevent_t encoder_event = (keyevent_t) {
 | 
				
			||||||
 | 
					        .key = clockwise ? encoder_cw[index] : encoder_ccw[index],
 | 
				
			||||||
 | 
					        .pressed = true,
 | 
				
			||||||
 | 
					        .time = (timer_read() | 1)
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					    encoder_state[index] = (clockwise ^ 1) | (clockwise << 1);
 | 
				
			||||||
 | 
					    action_exec(encoder_event);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void matrix_scan_user(void) {
 | 
				
			||||||
 | 
					    encoder_action_unregister();
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					bool encoder_update_user(uint8_t index, bool clockwise) {
 | 
				
			||||||
 | 
					    encoder_action_register(index, clockwise);
 | 
				
			||||||
 | 
					    return true;
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
							
								
								
									
										108
									
								
								keyboards/kabedon/kabedon98e/keymaps/via/keymap.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										108
									
								
								keyboards/kabedon/kabedon98e/keymaps/via/keymap.c
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,108 @@
 | 
				
			|||||||
 | 
					/* Copyright 2021 KDon<370490639@qq.com>
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * This program is free software: you can redistribute it and/or modify
 | 
				
			||||||
 | 
					 * it under the terms of the GNU General Public License as published by
 | 
				
			||||||
 | 
					 * the Free Software Foundation, either version 2 of the License, or
 | 
				
			||||||
 | 
					 * (at your option) any later version.
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * This program is distributed in the hope that it will be useful,
 | 
				
			||||||
 | 
					 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
				
			||||||
 | 
					 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
				
			||||||
 | 
					 * GNU General Public License for more details.
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * You should have received a copy of the GNU General Public License
 | 
				
			||||||
 | 
					 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include QMK_KEYBOARD_H
 | 
				
			||||||
 | 
					// Defines names for use in layer keycodes and the keymap
 | 
				
			||||||
 | 
					enum layer_names {
 | 
				
			||||||
 | 
					    _BASE,
 | 
				
			||||||
 | 
					    _FN,
 | 
				
			||||||
 | 
					    _FN1
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
					┌──┐  ┌──┐┌──┐┌──┐┌──┐   ┌──┐┌──┐┌──┐┌──┐   ┌──┐┌──┐┌──┐┌──┐  ┌──┐  ┌──┐  ┌──┐
 | 
				
			||||||
 | 
					│1A│  │0B││1B││0C││1C│   │0D││1D││0E││1E│   │0F││1F││1G││1H│  │5H│  │4I│  │4A│
 | 
				
			||||||
 | 
					└──┘  └──┘└──┘└──┘└──┘   └──┘└──┘└──┘└──┘   └──┘└──┘└──┘└──┘  └──┘  └──┘  └──┘
 | 
				
			||||||
 | 
					┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──────┐  ┌──┐┌──┐┌──┐┌──┐  ┌──┐
 | 
				
			||||||
 | 
					│3A││2B││3B││2C││3C││2D││3D││2E││3E││2F││3F││2G││3G││3H    │  │3J││4J││4K││5K│  │0A│
 | 
				
			||||||
 | 
					└──┘└──┘└──┘└──┘└──┘└──┘└──┘└──┘└──┘└──┘└──┘└──┘└──┘└──────┘  └──┘└──┘└──┘└──┘  └──┘
 | 
				
			||||||
 | 
					┌────┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌────┐  ┌──┐┌──┐┌──┐┌──┐  ┌──┐
 | 
				
			||||||
 | 
					│5A  ││4B││5B││4C││5C││4D││5D││4E││5E││4F││5F││4G││5G││4H  │  │5J││6J││6K││2A│  │7A│
 | 
				
			||||||
 | 
					└────┘└──┘└──┘└──┘└──┘└──┘└──┘└──┘└──┘└──┘└──┘└──┘└──┘└────┘  └──┘└──┘└──┘│  │  └──┘
 | 
				
			||||||
 | 
					┌─────┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌───────┐  ┌──┐┌──┐┌──┐│  │
 | 
				
			||||||
 | 
					│6B   ││7B││6C││7C││6D││7D││6E││7E││6F││7F││6G││7H││7J     │  │8J││8K││7K││  │
 | 
				
			||||||
 | 
					└─────┘└──┘└──┘└──┘└──┘└──┘└──┘└──┘└──┘└──┘└──┘└──┘└───────┘  └──┘└──┘└──┘└──┘
 | 
				
			||||||
 | 
					┌───────┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌─────┐      ┌──┐┌──┐┌──┐┌──┐  ┌──┐
 | 
				
			||||||
 | 
					│9A     ││9B││8C││9C││8D││9D││8E││9E││8F││9F││8G││9H   │ ┌──┐ │9J││AJ││9K││6A│  │BA│
 | 
				
			||||||
 | 
					└───────┘└──┘└──┘└──┘└──┘└──┘└──┘└──┘└──┘└──┘└──┘└─────┘ │8I│ └──┘└──┘└──┘│  │  └──┘
 | 
				
			||||||
 | 
					┌───┐┌──┐┌──┐┌──┐┌───────────────────────┐┌───┐┌───┐     └──┘     ┌──┐┌──┐│  │  ┌──┐
 | 
				
			||||||
 | 
					│AB ││BB││BD││BC││BF                     ││AH ││BH │ ┌──┐┌──┐┌──┐ │AK││BK││  │  │8A│
 | 
				
			||||||
 | 
					└───┘└──┘└──┘└──┘└───────────────────────┘└───┘└───┘ │AI││BI││BJ│ └──┘└──┘└──┘  └──┘
 | 
				
			||||||
 | 
					                                                     └──┘└──┘└──┘
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					[_BASE] = 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_DEL,      KC_INS, 		 KC_MUTE, 
 | 
				
			||||||
 | 
						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_NLCK, KC_PSLS, KC_PAST, KC_PMNS,   KC_HOME,
 | 
				
			||||||
 | 
						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_P7,   KC_P8,   KC_P9,              KC_END,
 | 
				
			||||||
 | 
						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_PPLS,  
 | 
				
			||||||
 | 
						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_PGUP,
 | 
				
			||||||
 | 
						KC_LCTL, KC_LGUI, KC_LALT, MO(1),                KC_SPC,                         KC_RALT,    KC_RCTL,   KC_LEFT,  KC_DOWN,  KC_RGHT,   KC_P0,   KC_PDOT, KC_PENT,   KC_PGDN),
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[_FN] = 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,     RGB_VAI,  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_VAD, RGB_HUD,  KC_TRNS, KC_TRNS, KC_TRNS,   KC_TRNS),
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[_FN1] = 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,  KC_TRNS,  KC_TRNS,  KC_TRNS,                     KC_TRNS,                     KC_TRNS,  KC_TRNS,    KC_TRNS, KC_TRNS, KC_TRNS,  KC_TRNS, KC_TRNS, KC_TRNS,   KC_TRNS)
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					static uint8_t encoder_state[ENCODERS] = {0};
 | 
				
			||||||
 | 
					static keypos_t encoder_cw[ENCODERS] = ENCODERS_CW_KEY;
 | 
				
			||||||
 | 
					static keypos_t encoder_ccw[ENCODERS] = ENCODERS_CCW_KEY;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void encoder_action_unregister(void) {
 | 
				
			||||||
 | 
					    for (int index = 0; index < ENCODERS; ++index) {
 | 
				
			||||||
 | 
					        if (encoder_state[index]) {
 | 
				
			||||||
 | 
					            keyevent_t encoder_event = (keyevent_t) {
 | 
				
			||||||
 | 
					                .key = encoder_state[index] >> 1 ? encoder_cw[index] : encoder_ccw[index],
 | 
				
			||||||
 | 
					                .pressed = false,
 | 
				
			||||||
 | 
					                .time = (timer_read() | 1)
 | 
				
			||||||
 | 
					            };
 | 
				
			||||||
 | 
					            encoder_state[index] = 0;
 | 
				
			||||||
 | 
					            action_exec(encoder_event);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void encoder_action_register(uint8_t index, bool clockwise) {
 | 
				
			||||||
 | 
					    keyevent_t encoder_event = (keyevent_t) {
 | 
				
			||||||
 | 
					        .key = clockwise ? encoder_cw[index] : encoder_ccw[index],
 | 
				
			||||||
 | 
					        .pressed = true,
 | 
				
			||||||
 | 
					        .time = (timer_read() | 1)
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					    encoder_state[index] = (clockwise ^ 1) | (clockwise << 1);
 | 
				
			||||||
 | 
					    action_exec(encoder_event);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void matrix_scan_user(void) {
 | 
				
			||||||
 | 
					    encoder_action_unregister();
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					bool encoder_update_user(uint8_t index, bool clockwise) {
 | 
				
			||||||
 | 
					    encoder_action_register(index, clockwise);
 | 
				
			||||||
 | 
					    return true;
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
							
								
								
									
										1
									
								
								keyboards/kabedon/kabedon98e/keymaps/via/rules.mk
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								keyboards/kabedon/kabedon98e/keymaps/via/rules.mk
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1 @@
 | 
				
			|||||||
 | 
					VIA_ENABLE = yes
 | 
				
			||||||
							
								
								
									
										27
									
								
								keyboards/kabedon/kabedon98e/mcuconf.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										27
									
								
								keyboards/kabedon/kabedon98e/mcuconf.h
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,27 @@
 | 
				
			|||||||
 | 
					/* Copyright 2020 QMK
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * 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/>.
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * This file was auto-generated by:
 | 
				
			||||||
 | 
					 *    `qmk chibios-confmigrate -i keyboards/keyboards/kabedon/kabedon98e/mcuconf.h -r platforms/chibios/STM32_F103_STM32DUINO/configs/mcuconf.h`
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#pragma once
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include_next <mcuconf.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#undef STM32_PWM_USE_TIM3
 | 
				
			||||||
 | 
					#define STM32_PWM_USE_TIM3 TRUE
 | 
				
			||||||
							
								
								
									
										17
									
								
								keyboards/kabedon/kabedon98e/readme.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								keyboards/kabedon/kabedon98e/readme.md
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,17 @@
 | 
				
			|||||||
 | 
					# KabeDon 98e
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					A mechanical keyboard PCB similar to 980 layout, it has two encoders.
 | 
				
			||||||
 | 
					This PCB uses kailh hot swap socket.
 | 
				
			||||||
 | 
					Kabedon980 includes RGB underflow.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* Keyboard Maintainer: [370490639](https://github.com/370490639)
 | 
				
			||||||
 | 
					* Hardware Supported: f103 KabeDon98e
 | 
				
			||||||
 | 
					* Hardware Availability: [KabeDon98e]https://kabedon.taobao.com
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Make example for this keyboard (after setting up your build environment):
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    make kabedon/kabedon98e: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).
 | 
				
			||||||
							
								
								
									
										24
									
								
								keyboards/kabedon/kabedon98e/rules.mk
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								keyboards/kabedon/kabedon98e/rules.mk
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,24 @@
 | 
				
			|||||||
 | 
					# MCU name
 | 
				
			||||||
 | 
					MCU = STM32F103
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Bootloader selection
 | 
				
			||||||
 | 
					BOOTLOADER = stm32duino
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Build Options
 | 
				
			||||||
 | 
					#   change yes to no to disable
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					BOOTMAGIC_ENABLE = lite     # Virtual DIP switch configuration
 | 
				
			||||||
 | 
					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 = yes       # Enable keyboard RGB underglow
 | 
				
			||||||
 | 
					BLUETOOTH_ENABLE = no       # Enable Bluetooth
 | 
				
			||||||
 | 
					AUDIO_ENABLE = no           # Audio output
 | 
				
			||||||
 | 
					WS2812_DRIVER = pwm
 | 
				
			||||||
 | 
					ENCODER_ENABLE = yes
 | 
				
			||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user