[Keyboard] Add KBO-5000 keyboard (#9381)
* Initial fork of Sinc * Setup keymaps, layouts, and encoders * Add ANSI configurator layout * Add ISO layout for configurator * Add all layout option for configurator * Fix spacing * Remove extra line * Remove unneeded ifdef
This commit is contained in:
65
keyboards/keebio/kbo5000/rev1/config.h
Normal file
65
keyboards/keebio/kbo5000/rev1/config.h
Normal file
@@ -0,0 +1,65 @@
|
||||
/*
|
||||
Copyright 2012 Jun Wako <wakojun@gmail.com>
|
||||
Copyright 2015 Jack Humbert
|
||||
|
||||
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
|
||||
|
||||
/* USB Device descriptor parameter */
|
||||
#define VENDOR_ID 0xCB10
|
||||
#define PRODUCT_ID 0x126A
|
||||
#define DEVICE_VER 0x0100
|
||||
#define MANUFACTURER Keebio
|
||||
#define PRODUCT KBO-5000 Rev. 1
|
||||
#define DESCRIPTION Split staggered keyboard
|
||||
|
||||
/* key matrix size */
|
||||
// Rows are doubled-up
|
||||
#define MATRIX_ROWS 12
|
||||
#define MATRIX_COLS 10
|
||||
|
||||
#define DIODE_DIRECTION COL2ROW
|
||||
// wiring of each half
|
||||
#define MATRIX_ROW_PINS { B1, B2, C7, B4, D7, B0 }
|
||||
#define MATRIX_COL_PINS { F4, NO_PIN, F0, B7, B3, D2, D3, D5, D4, NO_PIN }
|
||||
#define MATRIX_ROW_PINS_RIGHT { B3, B2, B6, B4, D7, B0 }
|
||||
#define MATRIX_COL_PINS_RIGHT { F1, F0, F4, F5, F6, D5, D2, D3, B7, B1 }
|
||||
#define SPLIT_HAND_PIN F7
|
||||
#define ENCODERS_PAD_A { F5, NO_PIN }
|
||||
#define ENCODERS_PAD_B { F6, NO_PIN }
|
||||
#define ENCODERS_PAD_A_RIGHT { D6, C7 }
|
||||
#define ENCODERS_PAD_B_RIGHT { D4, C6 }
|
||||
|
||||
/* Set 0 if debouncing isn't needed */
|
||||
#define DEBOUNCE 5
|
||||
|
||||
#define BACKLIGHT_PIN B5
|
||||
#define CAPS_LOCK_LED_PIN B6
|
||||
|
||||
/* serial.c configuration for split keyboard */
|
||||
#define SOFT_SERIAL_PIN D0
|
||||
|
||||
/* 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
|
||||
|
||||
/* ws2812 RGB LED */
|
||||
#define RGB_DI_PIN E6
|
||||
#define RGBLIGHT_ANIMATIONS
|
||||
#define RGBLED_NUM 16 // Number of LEDs
|
||||
#define RGBLED_SPLIT { 8, 8 }
|
||||
#define RGBLIGHT_LED_MAP { 1, 2, 3, 12, 13, 14, 15, 0, 7, 6, 5, 4, 11, 10, 9, 8 }
|
32
keyboards/keebio/kbo5000/rev1/rev1.c
Normal file
32
keyboards/keebio/kbo5000/rev1/rev1.c
Normal file
@@ -0,0 +1,32 @@
|
||||
#include "kbo5000.h"
|
||||
#include "split_util.h"
|
||||
|
||||
void matrix_init_kb(void) {
|
||||
setPinOutput(CAPS_LOCK_LED_PIN);
|
||||
matrix_init_user();
|
||||
}
|
||||
|
||||
bool led_update_kb(led_t led_state) {
|
||||
// Only update if left half
|
||||
if (isLeftHand && led_update_user(led_state)) {
|
||||
writePin(CAPS_LOCK_LED_PIN, !led_state.caps_lock);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
void eeconfig_init_kb(void) {
|
||||
#ifdef BACKLIGHT_ENABLE
|
||||
backlight_enable();
|
||||
backlight_level(3);
|
||||
#endif
|
||||
#ifdef RGBLIGHT_ENABLE
|
||||
rgblight_enable(); // Enable RGB by default
|
||||
rgblight_sethsv(0, 255, 255); // Set default HSV - red hue, full saturation, full brightness
|
||||
#ifdef RGBLIGHT_ANIMATIONS
|
||||
rgblight_mode(RGBLIGHT_MODE_RAINBOW_SWIRL + 2); // set to RGB_RAINBOW_SWIRL by default
|
||||
#endif
|
||||
#endif
|
||||
|
||||
eeconfig_update_kb(0);
|
||||
eeconfig_init_user();
|
||||
}
|
73
keyboards/keebio/kbo5000/rev1/rev1.h
Normal file
73
keyboards/keebio/kbo5000/rev1/rev1.h
Normal file
@@ -0,0 +1,73 @@
|
||||
#pragma once
|
||||
|
||||
#include "kbo5000.h"
|
||||
#include "quantum.h"
|
||||
|
||||
#define LAYOUT_ansi( \
|
||||
LF1, LF4, LF5, LF6, LF7, LF8, LF9, RF1, RF2, RF4, RF5, RF6, RF7, RF8, RF9, RF10, \
|
||||
LA1, LA3, LA4, LA5, LA6, LA7, LA8, LA9, RA1, RA2, RA3, RA4, RA5, RA6, RA7, RA8, RA9, RA10, \
|
||||
LB1, LB3, LB4, LB5, LB6, LB7, LB8, RB1, RB2, RB3, RB4, RB5, RB6, RB7, RB8, RB9, RB10, \
|
||||
LC1, LC3, LC4, LC5, LC6, LC7, LC8, RC1, RC2, RC3, RC4, RC5, RC6, RC8, RC9, RC10, \
|
||||
LD1, LD3, LD5, LD6, LD7, LD8, LD9, RD1, RD2, RD3, RD4, RD5, RD7, RD9, \
|
||||
LE1, LE3, LE4, LE5, LE6, LE7, LE8, RE1, RE2, RE3, RE4, RE7, RE8, RE9, RE10 \
|
||||
) \
|
||||
{ \
|
||||
{ LA1, KC_NO, LA3, LA4, LA5, LA6, LA7, LA8, LA9, KC_NO }, \
|
||||
{ LB1, KC_NO, LB3, LB4, LB5, LB6, LB7, LB8, KC_NO, KC_NO }, \
|
||||
{ LC1, KC_NO, LC3, LC4, LC5, LC6, LC7, LC8, KC_NO, KC_NO }, \
|
||||
{ LD1, KC_NO, LD3, KC_NO, LD5, LD6, LD7, LD8, LD9, KC_NO }, \
|
||||
{ LE1, KC_NO, LE3, LE4, LE5, LE6, LE7, LE8, KC_NO, KC_NO }, \
|
||||
{ LF1, KC_NO, KC_NO, LF4, LF5, LF6, LF7, LF8, LF9, KC_NO }, \
|
||||
{ RA1, RA2, RA3, RA4, RA5, RA6, RA7, RA8, RA9, RA10 }, \
|
||||
{ RB1, RB2, RB3, RB4, RB5, RB6, RB7, RB8, RB9, RB10 }, \
|
||||
{ RC1, RC2, RC3, RC4, RC5, RC6, KC_NO, RC8, RC9, RC10 }, \
|
||||
{ RD1, RD2, RD3, RD4, RD5, KC_NO, RD7, KC_NO, RD9, KC_NO }, \
|
||||
{ RE1, RE2, RE3, RE4, KC_NO, KC_NO, RE7, RE8, RE9, RE10 }, \
|
||||
{ RF1, RF2, KC_NO, RF4, RF5, RF6, RF7, RF8, RF9, RF10 } \
|
||||
}
|
||||
|
||||
#define LAYOUT_iso( \
|
||||
LF1, LF4, LF5, LF6, LF7, LF8, LF9, RF1, RF2, RF4, RF5, RF6, RF7, RF8, RF9, RF10, \
|
||||
LA1, LA3, LA4, LA5, LA6, LA7, LA8, LA9, RA1, RA2, RA3, RA4, RA5, RA6, RA7, RA8, RA9, RA10, \
|
||||
LB1, LB3, LB4, LB5, LB6, LB7, LB8, RB1, RB2, RB3, RB4, RB5, RB6, RB7, RB9, RB10, \
|
||||
LC1, LC3, LC4, LC5, LC6, LC7, LC8, RC1, RC2, RC3, RC4, RC5, RC6, RC7, RC8, RC9, RC10, \
|
||||
LD1, LD3, LD4, LD5, LD6, LD7, LD8, LD9, RD1, RD2, RD3, RD4, RD5, RD7, RD9, \
|
||||
LE1, LE3, LE4, LE5, LE6, LE7, LE8, RE1, RE2, RE3, RE4, RE7, RE8, RE9, RE10 \
|
||||
) \
|
||||
{ \
|
||||
{ LA1, KC_NO, LA3, LA4, LA5, LA6, LA7, LA8, LA9, KC_NO }, \
|
||||
{ LB1, KC_NO, LB3, LB4, LB5, LB6, LB7, LB8, KC_NO, KC_NO }, \
|
||||
{ LC1, KC_NO, LC3, LC4, LC5, LC6, LC7, LC8, KC_NO, KC_NO }, \
|
||||
{ LD1, KC_NO, LD3, LD4, LD5, LD6, LD7, LD8, LD9, KC_NO }, \
|
||||
{ LE1, KC_NO, LE3, LE4, LE5, LE6, LE7, LE8, KC_NO, KC_NO }, \
|
||||
{ LF1, KC_NO, KC_NO, LF4, LF5, LF6, LF7, LF8, LF9, KC_NO }, \
|
||||
{ RA1, RA2, RA3, RA4, RA5, RA6, RA7, RA8, RA9, RA10 }, \
|
||||
{ RB1, RB2, RB3, RB4, RB5, RB6, RB7, KC_NO, RB9, RB10 }, \
|
||||
{ RC1, RC2, RC3, RC4, RC5, RC6, RC7, RC8, RC9, RC10 }, \
|
||||
{ RD1, RD2, RD3, RD4, RD5, KC_NO, RD7, KC_NO, RD9, KC_NO }, \
|
||||
{ RE1, RE2, RE3, RE4, KC_NO, KC_NO, RE7, RE8, RE9, RE10 }, \
|
||||
{ RF1, RF2, KC_NO, RF4, RF5, RF6, RF7, RF8, RF9, RF10 } \
|
||||
}
|
||||
|
||||
#define LAYOUT_all( \
|
||||
LF1, LF4, LF5, LF6, LF7, LF8, LF9, RF1, RF2, RF4, RF5, RF6, RF7, RF8, RF9, RF10, \
|
||||
LA1, LA3, LA4, LA5, LA6, LA7, LA8, LA9, RA1, RA2, RA3, RA4, RA5, RA6, RA7, RA8, RA9, RA10, \
|
||||
LB1, LB3, LB4, LB5, LB6, LB7, LB8, RB1, RB2, RB3, RB4, RB5, RB6, RB7, RB8, RB9, RB10, \
|
||||
LC1, LC3, LC4, LC5, LC6, LC7, LC8, RC1, RC2, RC3, RC4, RC5, RC6, RC7, RC8, RC9, RC10, \
|
||||
LD1, LD3, LD4, LD5, LD6, LD7, LD8, LD9, RD1, RD2, RD3, RD4, RD5, RD7, RD9, \
|
||||
LE1, LE3, LE4, LE5, LE6, LE7, LE8, RE1, RE2, RE3, RE4, RE7, RE8, RE9, RE10 \
|
||||
) \
|
||||
{ \
|
||||
{ LA1, KC_NO, LA3, LA4, LA5, LA6, LA7, LA8, LA9, KC_NO }, \
|
||||
{ LB1, KC_NO, LB3, LB4, LB5, LB6, LB7, LB8, KC_NO, KC_NO }, \
|
||||
{ LC1, KC_NO, LC3, LC4, LC5, LC6, LC7, LC8, KC_NO, KC_NO }, \
|
||||
{ LD1, KC_NO, LD3, LD4, LD5, LD6, LD7, LD8, LD9, KC_NO }, \
|
||||
{ LE1, KC_NO, LE3, LE4, LE5, LE6, LE7, LE8, KC_NO, KC_NO }, \
|
||||
{ LF1, KC_NO, KC_NO, LF4, LF5, LF6, LF7, LF8, LF9, KC_NO }, \
|
||||
{ RA1, RA2, RA3, RA4, RA5, RA6, RA7, RA8, RA9, RA10 }, \
|
||||
{ RB1, RB2, RB3, RB4, RB5, RB6, RB7, RB8, RB9, RB10 }, \
|
||||
{ RC1, RC2, RC3, RC4, RC5, RC6, RC7, RC8, RC9, RC10 }, \
|
||||
{ RD1, RD2, RD3, RD4, RD5, KC_NO, RD7, KC_NO, RD9, KC_NO }, \
|
||||
{ RE1, RE2, RE3, RE4, KC_NO, KC_NO, RE7, RE8, RE9, RE10 }, \
|
||||
{ RF1, RF2, KC_NO, RF4, RF5, RF6, RF7, RF8, RF9, RF10 } \
|
||||
}
|
3
keyboards/keebio/kbo5000/rev1/rules.mk
Normal file
3
keyboards/keebio/kbo5000/rev1/rules.mk
Normal file
@@ -0,0 +1,3 @@
|
||||
BACKLIGHT_ENABLE = yes
|
||||
RGBLIGHT_ENABLE = yes
|
||||
ENCODER_ENABLE = yes
|
Reference in New Issue
Block a user