1
0
Fork 0

[Keyboard] Update the XBows/Knight keyboard (#13541)

Co-authored-by: Ryan <fauxpark@gmail.com>
This commit is contained in:
X-Bows Tech 2021-07-20 09:28:50 +08:00 committed by GitHub
parent 10905a6500
commit 5ee5280fa1
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
14 changed files with 473 additions and 133 deletions

View file

@ -1,44 +1,51 @@
/* Copyright 2021 Shulin Huang <mumu@x-bows.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"
#define VENDOR_ID 0xFEED
#define PRODUCT_ID 0x1225
#define DEVICE_VER 0x0001
#define MANUFACTURER X-BOWS
#define PRODUCT KNIGHT
/* key matrix size */
// Rows are doubled-up
#define MATRIX_ROWS 12
#define VENDOR_ID 0xFEED
#define PRODUCT_ID 0x1225
#define DEVICE_VER 0x0001
#define MANUFACTURER X-BOWS
#define PRODUCT KNIGHT
#define MATRIX_ROWS 6
#define MATRIX_COLS 15
// wiring of each half
#define MATRIX_ROW_PINS { D2, E6, E2, F7, F6, F5 }
#define MATRIX_COL_PINS { B0, B1, B2, B3, F4, F1, C6, B6, B5, B4, D7, D6, D4, D5, D3}
/* COL2ROW or ROW2COL */
#define MATRIX_ROW_PINS { F7, F6, F5, F4, F1, F0 }
#define MATRIX_COL_PINS { B0, B1, B2, B3, B7, D2, D3, D5, D4, D6, D7, B4, B5, B6, C6 }
#define DIODE_DIRECTION COL2ROW
/* define if matrix has ghost */
//#define MATRIX_HAS_GHOST
#define DEBOUNCE 3
#define LED_NUM_LOCK_PIN D1
#define LED_CAPS_LOCK_PIN C7
#define LED_PIN_ON_STATE 0
#ifdef RGB_MATRIX_ENABLE
# define RGB_MATRIX_LED_PROCESS_LIMIT 18
# define RGB_MATRIX_LED_FLUSH_LIMIT 16
# define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
# define RGB_DISABLE_WHEN_USB_SUSPENDED true // turn off effects when suspended
# define RGB_MATRIX_KEYPRESSES
# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200
# define RGB_MATRIX_CENTER { 92, 43 }
/* number of backlight levels */
// #define BACKLIGHT_LEVELS 3
#define BACKLIGHT_PIN B7
#ifdef BACKLIGHT_PIN
#define BACKLIGHT_BREATHING
#define BACKLIGHT_LEVELS 3
# define DRIVER_ADDR_1 0b1110100
# define DRIVER_ADDR_2 0b1110110
# define DRIVER_ADDR_3 0b1110101
# define DRIVER_COUNT 3
# define DRIVER_1_LED_TOTAL 36
# define DRIVER_2_LED_TOTAL 35
# define DRIVER_3_LED_TOTAL 15
# define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL + DRIVER_3_LED_TOTAL)
#endif
/* Set 0 if debouncing isn't needed */
#define DEBOUNCE 5
/* 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 SPLIT_HAND_PIN F0
#define LOCKING_SUPPORT_ENABLE
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE