aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorX-Bows Tech <41098278+XBowsTech@users.noreply.github.com>2021-07-03 15:57:27 +0800
committerGitHub <noreply@github.com>2021-07-03 00:57:27 -0700
commit2af5d493e32dffe89d8b4908905d57a42aa47e53 (patch)
tree412d842b98e4a3b6d375e83c947832b03a70bcb4
parent45dec4911c2816abcd5b5dc1834d85756be43e8d (diff)
downloadqmk_firmware-2af5d493e32dffe89d8b4908905d57a42aa47e53.tar.gz
qmk_firmware-2af5d493e32dffe89d8b4908905d57a42aa47e53.zip
[Keyboard] Add X-Bows Knight_Plus Keyboard (#13221)
Co-authored-by: Drashna Jaelre <drashna@live.com>
-rw-r--r--keyboards/xbows/knight_plus/config.h51
-rw-r--r--keyboards/xbows/knight_plus/info.json105
-rw-r--r--keyboards/xbows/knight_plus/keymaps/default/config.h43
-rw-r--r--keyboards/xbows/knight_plus/keymaps/default/keymap.c49
-rw-r--r--keyboards/xbows/knight_plus/keymaps/via/config.h64
-rw-r--r--keyboards/xbows/knight_plus/keymaps/via/keymap.c63
-rw-r--r--keyboards/xbows/knight_plus/keymaps/via/rules.mk1
-rw-r--r--keyboards/xbows/knight_plus/knight_plus.c145
-rw-r--r--keyboards/xbows/knight_plus/knight_plus.h33
-rw-r--r--keyboards/xbows/knight_plus/readme.md29
-rw-r--r--keyboards/xbows/knight_plus/rules.mk25
-rw-r--r--keyboards/xbows/numpad/config.h47
-rw-r--r--keyboards/xbows/numpad/info.json41
-rw-r--r--keyboards/xbows/numpad/keymaps/default/config.h43
-rw-r--r--keyboards/xbows/numpad/keymaps/default/keymap.c49
-rw-r--r--keyboards/xbows/numpad/keymaps/via/config.h64
-rw-r--r--keyboards/xbows/numpad/keymaps/via/keymap.c63
-rw-r--r--keyboards/xbows/numpad/keymaps/via/rules.mk1
-rw-r--r--keyboards/xbows/numpad/numpad.c80
-rw-r--r--keyboards/xbows/numpad/numpad.h33
-rw-r--r--keyboards/xbows/numpad/readme.md29
-rw-r--r--keyboards/xbows/numpad/rules.mk25
22 files changed, 1083 insertions, 0 deletions
diff --git a/keyboards/xbows/knight_plus/config.h b/keyboards/xbows/knight_plus/config.h
new file mode 100644
index 000000000..ead345c04
--- /dev/null
+++ b/keyboards/xbows/knight_plus/config.h
@@ -0,0 +1,51 @@
1/* Copyright 2021 Shulin Huang <mumu@x-bows.com>
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#pragma once
17
18#include "config_common.h"
19
20#define VENDOR_ID 0xFEED
21#define PRODUCT_ID 0x1227
22#define DEVICE_VER 0x0001
23#define MANUFACTURER X-BOWS
24#define PRODUCT KNIGHT_PLUS
25
26#define MATRIX_ROWS 6
27#define MATRIX_COLS 15
28#define MATRIX_ROW_PINS { F7, F6, F5, F4, F1, F0 }
29#define MATRIX_COL_PINS { B0, B1, B2, B3, B7, D2, D3, D5, D4, D6, D7, B4, B5, B6, C6 }
30#define DIODE_DIRECTION COL2ROW
31
32#define DEBOUNCE 3
33
34#ifdef RGB_MATRIX_ENABLE
35# define RGB_MATRIX_LED_PROCESS_LIMIT 18
36# define RGB_MATRIX_LED_FLUSH_LIMIT 16
37# define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
38# define RGB_MATRIX_KEYPRESSES
39# define RGB_DISABLE_WHEN_USB_SUSPENDED true // turn off effects when suspended
40# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200
41# define RGB_MATRIX_CENTER { 92, 43 }
42
43# define DRIVER_ADDR_1 0b1110100
44# define DRIVER_ADDR_2 0b1110110
45# define DRIVER_ADDR_3 0b1110101
46# define DRIVER_COUNT 3
47# define DRIVER_1_LED_TOTAL 36
48# define DRIVER_2_LED_TOTAL 35
49# define DRIVER_3_LED_TOTAL 15
50# define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL + DRIVER_3_LED_TOTAL)
51#endif
diff --git a/keyboards/xbows/knight_plus/info.json b/keyboards/xbows/knight_plus/info.json
new file mode 100644
index 000000000..b03bb3b56
--- /dev/null
+++ b/keyboards/xbows/knight_plus/info.json
@@ -0,0 +1,105 @@
1{
2 "keyboard_name": "KNIGHT_PLUS",
3 "url": "",
4 "maintainer": "xbows-qmk",
5 "width": 18,
6 "height": 6.5,
7 "layouts": {
8 "LAYOUT": {
9 "layout": [
10 {"label":"Esc", "x":0, "y":0},
11 {"label":"F1", "x":1.25, "y":0},
12 {"label":"F2", "x":2.25, "y":0},
13 {"label":"F3", "x":3.25, "y":0},
14 {"label":"F4", "x":4.25, "y":0},
15 {"label":"F5", "x":5.5, "y":0},
16 {"label":"F6", "x":6.5, "y":0},
17 {"label":"F7", "x":7.5, "y":0},
18 {"label":"F8", "x":8.5, "y":0},
19 {"label":"F9", "x":9.75, "y":0},
20 {"label":"F10", "x":10.75, "y":0},
21 {"label":"F11", "x":11.75, "y":0},
22 {"label":"F12", "x":12.75, "y":0},
23 {"label":"Delete", "x":14, "y":0, "w":2},
24 {"label":"Print Screen", "x":16, "y":0, "w":2},
25
26 {"label":"~", "x":0, "y":1.5},
27 {"label":"!", "x":1, "y":1.5},
28 {"label":"@", "x":2, "y":1.5},
29 {"label":"#", "x":3, "y":1.5},
30 {"label":"$", "x":4, "y":1.5},
31 {"label":"%", "x":5, "y":1.5},
32 {"label":"^", "x":9, "y":1.5},
33 {"label":"&", "x":10, "y":1.5},
34 {"label":"*", "x":11, "y":1.5},
35 {"label":"(", "x":12, "y":1.5},
36 {"label":")", "x":13, "y":1.5},
37 {"label":"_", "x":14, "y":1.5},
38 {"label":"+", "x":15, "y":1.5},
39 {"label":"Backspace", "x":16, "y":1.5, "w":2},
40
41 {"label":"Tab", "x":0, "y":2.5},
42 {"label":"Q", "x":1, "y":2.5},
43 {"label":"W", "x":2, "y":2.5},
44 {"label":"E", "x":3, "y":2.5},
45 {"label":"R", "x":4, "y":2.5},
46 {"label":"T", "x":5, "y":2.5},
47 {"label":"Y", "x":9, "y":2.5},
48 {"label":"U", "x":10, "y":2.5},
49 {"label":"I", "x":11, "y":2.5},
50 {"label":"O", "x":12, "y":2.5},
51 {"label":"P", "x":13, "y":2.5},
52 {"label":"{", "x":14, "y":2.5},
53 {"label":"}", "x":15, "y":2.5},
54 {"label":"|", "x":16, "y":2.5},
55 {"label":"Page Up", "x":17, "y":2.5},
56
57 {"label":"Caps Lock", "x":0, "y":3.5},
58 {"label":"A", "x":1, "y":3.5},
59 {"label":"S", "x":2, "y":3.5},
60 {"label":"D", "x":3, "y":3.5},
61 {"label":"F", "x":4, "y":3.5},
62 {"label":"G", "x":5, "y":3.5},
63 {"label":"Backspace", "x":6, "y":3.5, "w":1.5},
64 {"label":"H", "x":9, "y":3.5},
65 {"label":"J", "x":10, "y":3.5},
66 {"label":"K", "x":11, "y":3.5},
67 {"label":"L", "x":12, "y":3.5},
68 {"label":":", "x":13, "y":3.5},
69 {"label":"\"", "x":14, "y":3.5},
70 {"label":"Enter", "x":15, "y":3.5, "w":2},
71 {"label":"Page Down", "x":17, "y":3.5},
72
73 {"label":"Shift", "x":0, "y":4.5},
74 {"label":"Z", "x":1, "y":4.5},
75 {"label":"X", "x":2, "y":4.5},
76 {"label":"C", "x":3, "y":4.5},
77 {"label":"V", "x":4, "y":4.5},
78 {"label":"B", "x":5, "y":4.5},
79 {"label":"Enter", "x":6, "y":4.5, "w":2},
80 {"label":"N", "x":9, "y":4.5},
81 {"label":"M", "x":10, "y":4.5},
82 {"label":"<", "x":11, "y":4.5},
83 {"label":">", "x":12, "y":4.5},
84 {"label":"?", "x":13, "y":4.5},
85 {"label":"Shift", "x":14, "y":4.5},
86 {"label":"Up", "x":16, "y":4.5},
87
88 {"label":"Ctrl", "x":0, "y":5.5},
89 {"label":"Win", "x":1, "y":5.5},
90 {"label":"Alt", "x":2, "y":5.5, "w":2},
91 {"label":"Space", "x":4, "y":5.5, "w":2},
92 {"label":"Ctrl", "x":6, "y":5.5, "w":1.5},
93 {"label":"Shift", "x":7.5, "y":5.5, "w":1.5},
94 {"label":"Space", "x":9, "y":5.5, "w":2},
95 {"label":"Alt", "x":11, "y":5.5, "w":2},
96 {"label":"Fn", "x":13, "y":5.5},
97 {"label":"Ctrl", "x":14, "y":5.5},
98 {"label":"Left", "x":15, "y":5.5},
99 {"label":"Down", "x":16, "y":5.5},
100 {"label":"Right", "x":17, "y":5.5}
101
102 ]
103 }
104 }
105}
diff --git a/keyboards/xbows/knight_plus/keymaps/default/config.h b/keyboards/xbows/knight_plus/keymaps/default/config.h
new file mode 100644
index 000000000..8e1b68f97
--- /dev/null
+++ b/keyboards/xbows/knight_plus/keymaps/default/config.h
@@ -0,0 +1,43 @@
1/* Copyright 2021 Shulin Huang <mumu@x-bows.com>
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#pragma once
17
18#ifdef RGB_MATRIX_ENABLE
19# define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_CYCLE_LEFT_RIGHT // Sets the default mode, if none has been set
20# define DISABLE_RGB_MATRIX_SOLID_COLOR // Static single hue, no speed support
21# define DISABLE_RGB_MATRIX_GRADIENT_UP_DOWN // Static gradient top to bottom, speed controls how much gradient changes
22# define DISABLE_RGB_MATRIX_BAND_SAT // Single hue band fading saturation scrolling left to right
23# define DISABLE_RGB_MATRIX_BAND_VAL // Single hue band fading brightness scrolling left to right
24# define DISABLE_RGB_MATRIX_BAND_PINWHEEL_SAT // Single hue 3 blade spinning pinwheel fades saturation
25# define DISABLE_RGB_MATRIX_BAND_SPIRAL_VAT // Single hue spinning spiral fades saturation
26# define DISABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL // Full dual gradients scrolling out to in
27# define DISABLE_RGB_MATRIX_CYCLE_SPIRAL // Full gradient spinning spiral around center of keyboard
28
29# define DISABLE_RGB_MATRIX_DIGITAL_RAIN // That famous computer simulation
30# define DISABLE_RGB_MATRIX_TYPING_HEATMAP // How hot is your WPM!
31
32# define DISABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE // Hue & value pulse near a single key hit then fades value out
33# define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE // Hue & value pulse near multiple key hits then fades value out
34# define DISABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS // Hue & value pulse the same column and row of a single key hit then fades value out
35# define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS // Hue & value pulse the same column and row of multiple key hits then fades value out
36# define DISABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS // Hue & value pulse away on the same column and row of a single key hit then fades value out
37# define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS // Hue & value pulse away on the same column and row of multiple key hits then fades value out
38//# define DISABLE_RGB_MATRIX_SPLASH // Full gradient & value pulse away from a single key hit then fades value out
39# define DISABLE_RGB_MATRIX_MULTISPLASH // Full gradient & value pulse away from multiple key hits then fades value out
40# define DISABLE_RGB_MATRIX_SOLID_SPLASH // Hue & value pulse away from a single key hit then fades value out
41//# define DISABLE_RGB_MATRIX_SOLID_MULTISPLASH // Hue & value pulse away from multiple key hits then fades value out
42
43#endif
diff --git a/keyboards/xbows/knight_plus/keymaps/default/keymap.c b/keyboards/xbows/knight_plus/keymaps/default/keymap.c
new file mode 100644
index 000000000..a1941677e
--- /dev/null
+++ b/keyboards/xbows/knight_plus/keymaps/default/keymap.c
@@ -0,0 +1,49 @@
1/* Copyright 2021 Shulin Huang <mumu@x-bows.com>
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#include QMK_KEYBOARD_H
17
18const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
19 /* Keymap VANILLA: (Base Layer) Default Layer
20 *
21 * |---------------------------------------------------------------------------------------------------------------------------------|
22 * | Esc | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | Delete | Prtsc |
23 * |---------------------------------------------------------------------------------------------------------------------------------|
24 * | ~ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | Backspace |
25 * |---------------------------------------------------------------------------------------------------------------------------------|
26 * | Tab | Q | W | E | R | T | | Y | U | I | O | P | [ | ] | \ | PgUp |
27 * |---------------------------------------------------------------------------------------------------------------------------------|
28 * | Ctl | A | S | D | F | G | Bksp | H | J | K | L | ; | '" | Enter | PgDn |
29 * |---------------------------------------------------------------------------------------------------------------------------------|
30 * |Shift| Z | X | C | V | B | Enter | N | M | , | . | /? | Shift| | Up |
31 * |---------------------------------------------------------------------------------------------------------------------------------|
32 * |Ctrl | GUI | Alter | Space | Ctrl | Shift | Space | Alter | FN | Ctrl | Lft | Dn | Rig |
33 * |---------------------------------------------------------------------------------------------------------------------------------|
34 */
35 [0] = LAYOUT(
36 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_PSCR,
37 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,
38 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_PGUP,
39 KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_BSPC, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN,
40 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_ENT, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
41 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_LCTL, KC_LSFT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
42 [1] = LAYOUT(
43 RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_CALC, KC_MYCM, KC_MSEL, KC_MAIL, NK_TOGG, EEP_RST,
44 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_NLCK,
45 RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME,
46 KC_TRNS, RGB_SPD, RGB_VAD, RGB_SPI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_END,
47 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MUTE, KC_VOLU,
48 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_MPRV, KC_VOLD, KC_MNXT)
49};
diff --git a/keyboards/xbows/knight_plus/keymaps/via/config.h b/keyboards/xbows/knight_plus/keymaps/via/config.h
new file mode 100644
index 000000000..aa5e4c1cd
--- /dev/null
+++ b/keyboards/xbows/knight_plus/keymaps/via/config.h
@@ -0,0 +1,64 @@
1/* Copyright 2021 Shulin Huang <mumu@x-bows.com>
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#pragma once
17
18#ifdef RGB_MATRIX_ENABLE
19# define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_CYCLE_LEFT_RIGHT // Sets the default mode, if none has been set
20# define DISABLE_RGB_MATRIX_ALPHAS_MODS // Static dual hue, speed is hue for secondary hue
21# define DISABLE_RGB_MATRIX_GRADIENT_UP_DOWN // Static gradient top to bottom, speed controls how much gradient changes
22# define DISABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT // Static gradient left to right, speed controls how much gradient changes
23//# define DISABLE_RGB_MATRIX_BREATHING // Single hue brightness cycling animation
24# define DISABLE_RGB_MATRIX_BAND_SAT // Single hue band fading saturation scrolling left to right
25# define DISABLE_RGB_MATRIX_BAND_VAL // Single hue band fading brightness scrolling left to right
26# define DISABLE_RGB_MATRIX_BAND_PINWHEEL_SAT // Single hue 3 blade spinning pinwheel fades saturation
27# define DISABLE_RGB_MATRIX_BAND_PINWHEEL_VAL // Single hue 3 blade spinning pinwheel fades brightness
28# define DISABLE_RGB_MATRIX_BAND_SPIRAL_SAT // Single hue spinning spiral fades saturation
29# define DISABLE_RGB_MATRIX_BAND_SPIRAL_VAL // Single hue spinning spiral fades brightness
30//# define DISABLE_RGB_MATRIX_CYCLE_ALL // Full keyboard solid hue cycling through full gradient
31//# define DISABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT // Full gradient scrolling left to right
32# define DISABLE_RGB_MATRIX_CYCLE_UP_DOWN // Full gradient scrolling top to bottom
33//# define DISABLE_RGB_MATRIX_CYCLE_OUT_IN // Full gradient scrolling out to in
34# define DISABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL // Full dual gradients scrolling out to in
35# define DISABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON // Full gradent Chevron shapped scrolling left to right
36# define DISABLE_RGB_MATRIX_CYCLE_PINWHEEL // Full gradient spinning pinwheel around center of keyboard
37# define DISABLE_RGB_MATRIX_CYCLE_SPIRAL // Full gradient spinning spiral around center of keyboard
38# define DISABLE_RGB_MATRIX_DUAL_BEACON // Full gradient spinning around center of keyboard
39//# define DISABLE_RGB_MATRIX_RAINBOW_BEACON // Full tighter gradient spinning around center of keyboard
40# define DISABLE_RGB_MATRIX_RAINBOW_PINWHEELS // Full dual gradients spinning two halfs of keyboard
41# define DISABLE_RGB_MATRIX_RAINDROPS // Randomly changes a single key's hue
42# define DISABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS // Randomly changes a single key's hue and saturation
43//# define DISABLE_RGB_MATRIX_HUE_BREATHING // Hue shifts up a slight ammount at the same time, then shifts back
44# define DISABLE_RGB_MATRIX_HUE_PENDULUM // Hue shifts up a slight ammount in a wave to the right, then back to the left
45//# define DISABLE_RGB_MATRIX_HUE_WAVE // Hue shifts up a slight ammount and then back down in a wave to the right
46
47# define DISABLE_RGB_MATRIX_DIGITAL_RAIN // That famous computer simulation
48# define DISABLE_RGB_MATRIX_TYPING_HEATMAP // How hot is your WPM!
49
50//# define DISABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE // Pulses keys hit to hue & value then fades value out
51//# define DISABLE_RGB_MATRIX_SOLID_REACTIVE // Static single hue, pulses keys hit to shifted hue then fades to current hue
52# define DISABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE // Hue & value pulse near a single key hit then fades value out
53# define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE // Hue & value pulse near multiple key hits then fades value out
54# define DISABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS // Hue & value pulse the same column and row of a single key hit then fades value out
55# define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS // Hue & value pulse the same column and row of multiple key hits then fades value out
56# define DISABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS // Hue & value pulse away on the same column and row of a single key hit then fades value out
57# define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS // Hue & value pulse away on the same column and row of multiple key hits then fades value out
58//# define DISABLE_RGB_MATRIX_SPLASH // Full gradient & value pulse away from a single key hit then fades value out
59# define DISABLE_RGB_MATRIX_MULTISPLASH // Full gradient & value pulse away from multiple key hits then fades value out
60# define DISABLE_RGB_MATRIX_SOLID_SPLASH // Hue & value pulse away from a single key hit then fades value out
61//# define DISABLE_RGB_MATRIX_SOLID_MULTISPLASH // Hue & value pulse away from multiple key hits then fades value out
62
63
64#endif
diff --git a/keyboards/xbows/knight_plus/keymaps/via/keymap.c b/keyboards/xbows/knight_plus/keymaps/via/keymap.c
new file mode 100644
index 000000000..dcd9ec687
--- /dev/null
+++ b/keyboards/xbows/knight_plus/keymaps/via/keymap.c
@@ -0,0 +1,63 @@
1/* Copyright 2021 Shulin Huang <mumu@x-bows.com>
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#include QMK_KEYBOARD_H
17
18const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
19 /* Keymap VANILLA: (Base Layer) Default Layer
20 *
21 * |---------------------------------------------------------------------------------------------------------------------------------|
22 * | Esc | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | Delete | Prtsc |
23 * |---------------------------------------------------------------------------------------------------------------------------------|
24 * | ~ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | Backspace |
25 * |---------------------------------------------------------------------------------------------------------------------------------|
26 * | Tab | Q | W | E | R | T | | Y | U | I | O | P | [ | ] | \ | PgUp |
27 * |---------------------------------------------------------------------------------------------------------------------------------|
28 * | Ctl | A | S | D | F | G | Bksp | H | J | K | L | ; | '" | Enter | PgDn |
29 * |---------------------------------------------------------------------------------------------------------------------------------|
30 * |Shift| Z | X | C | V | B | Enter | N | M | , | . | /? | Shift| | Up |
31 * |---------------------------------------------------------------------------------------------------------------------------------|
32 * |Ctrl | GUI | Alter | Space | Ctrl | Shift | Space | Alter | FN | Ctrl | Lft | Dn | Rig |
33 * |---------------------------------------------------------------------------------------------------------------------------------|
34 */
35 [0] = LAYOUT(
36 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_PSCR,
37 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,
38 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_PGUP,
39 KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_BSPC, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN,
40 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_ENT, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
41 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_LCTL, KC_LSFT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
42 [1] = LAYOUT(
43 RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_CALC, KC_MYCM, KC_MSEL, KC_MAIL, NK_TOGG, EEP_RST,
44 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_NLCK,
45 RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME,
46 KC_TRNS, RGB_SPD, RGB_VAD, RGB_SPI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_END,
47 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MUTE, KC_VOLU,
48 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_MPRV, KC_VOLD, KC_MNXT),
49 [2] = LAYOUT(
50 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
51 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
52 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
53 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
54 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
55 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
56 [3] = LAYOUT(
57 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
58 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
59 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
60 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
61 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
62 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
63};
diff --git a/keyboards/xbows/knight_plus/keymaps/via/rules.mk b/keyboards/xbows/knight_plus/keymaps/via/rules.mk
new file mode 100644
index 000000000..1e5b99807
--- /dev/null
+++ b/keyboards/xbows/knight_plus/keymaps/via/rules.mk
@@ -0,0 +1 @@
VIA_ENABLE = yes
diff --git a/keyboards/xbows/knight_plus/knight_plus.c b/keyboards/xbows/knight_plus/knight_plus.c
new file mode 100644
index 000000000..f2cf5399b
--- /dev/null
+++ b/keyboards/xbows/knight_plus/knight_plus.c
@@ -0,0 +1,145 @@
1/* Copyright 2021 Shulin Huang <mumu@x-bows.com>
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16 #include "knight_plus.h"
17 #ifdef RGB_MATRIX_ENABLE
18 const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
19
20 {0, C1_3, C2_3, C3_3}, // L01
21 {0, C1_4, C2_4, C3_4}, // L02
22 {0, C1_5, C2_5, C3_5}, // L03
23 {0, C1_6, C2_6, C3_6}, // L04
24 {0, C1_7, C2_7, C3_7}, // L05
25 {0, C1_8, C2_8, C3_8}, // L06
26 {1, C1_3, C2_3, C3_3}, // L07
27 {1, C1_4, C2_4, C3_4}, // L08
28 {1, C1_5, C2_5, C3_5}, // L09
29 {1, C1_6, C2_6, C3_6}, // L10
30 {1, C1_7, C2_7, C3_7}, // L11
31 {1, C1_8, C2_8, C3_8}, // L12
32 {2, C1_3, C2_3, C3_3}, // L13
33 {2, C1_4, C2_4, C3_4}, // L14
34 {2, C1_5, C2_5, C3_5}, // L15
35
36 {0, C6_1, C5_1, C4_1}, // L16
37 {0, C6_2, C5_2, C4_2}, // L17
38 {0, C6_3, C5_3, C4_3}, // L18
39 {0, C6_6, C5_6, C4_6}, // L19
40 {0, C6_7, C5_7, C4_7}, // L20
41 {0, C6_8, C5_8, C4_8}, // L21
42 {1, C6_2, C5_2, C4_2}, // L22
43 {1, C6_3, C5_3, C4_3}, // L23
44 {1, C6_6, C5_6, C4_6}, // L24
45 {1, C6_7, C5_7, C4_7}, // L25
46 {1, C6_8, C5_8, C4_8}, // L26
47 {2, C6_1, C5_1, C4_1}, // L27
48 {2, C6_2, C5_2, C4_2}, // L28
49 {2, C6_3, C5_3, C4_3}, // L29
50
51 {0, C9_1, C8_1, C7_1}, // L30
52 {0, C9_2, C8_2, C7_2}, // L31
53 {0, C9_3, C8_3, C7_3}, // L32
54 {0, C9_4, C8_4, C7_4}, // L33
55 {0, C9_5, C8_5, C7_5}, // L34
56 {0, C9_6, C8_6, C7_6}, // L35
57 {1, C9_1, C8_1, C7_1}, // L36
58 {1, C9_2, C8_2, C7_2}, // L37
59 {1, C9_3, C8_3, C7_3}, // L38
60 {1, C9_4, C8_4, C7_4}, // L39
61 {1, C9_5, C8_5, C7_5}, // L40
62 {1, C9_6, C8_6, C7_6}, // L41
63 {2, C6_6, C5_6, C4_6}, // L42
64 {2, C6_7, C5_7, C4_7}, // L43
65 {2, C6_8, C5_8, C4_8}, // L44
66
67
68 {0, C1_11, C2_11, C3_11}, // L45
69 {0, C1_12, C2_12, C3_12}, // L46
70 {0, C1_13, C2_13, C3_13}, // L47
71 {0, C1_14, C2_14, C3_14}, // L48
72 {0, C1_15, C2_15, C3_15}, // L49
73 {0, C1_16, C2_16, C3_16}, // L50
74 {1, C9_9, C8_9, C7_9}, // L51
75 {1, C1_11, C2_11, C3_11}, // L52
76 {1, C1_12, C2_12, C3_12}, // L53
77 {1, C1_13, C2_13, C3_13}, // L54
78 {1, C1_14, C2_14, C3_14}, // L55
79 {1, C1_15, C2_15, C3_15}, // L56
80 {1, C1_16, C2_16, C3_16}, // L57
81 {2, C9_4, C8_4, C7_4}, // L58
82 {2, C9_5, C8_5, C7_5}, // L59
83
84 {0, C6_9, C5_9, C4_9}, // L60
85 {0, C6_10, C5_10, C4_10}, // L61
86 {0, C6_11, C5_11, C4_11}, // L62
87 {0, C6_14, C5_14, C4_14}, // L63
88 {0, C6_15, C5_15, C4_15}, // L64
89 {0, C6_16, C5_16, C4_16}, // L65
90 {1, C9_10, C8_10, C7_10}, // L66
91 {1, C6_9, C5_9, C4_9}, // L67
92 {1, C6_10, C5_10, C4_10}, // L68
93 {1, C6_11, C5_11, C4_11}, // L69
94 {1, C6_14, C5_14, C4_14}, // L70
95 {1, C6_15, C5_15, C4_15}, // L71
96 {1, C6_16, C5_16, C4_16}, // L72
97 {2, C9_6, C8_6, C7_6}, // L73
98
99 {0, C9_9, C8_9, C7_9}, // L74
100 {0, C9_10, C8_10, C7_10}, // L75
101 {0, C9_11, C8_11, C7_11}, // L76
102 {0, C9_12, C8_12, C7_12}, // L77
103 {0, C9_13, C8_13, C7_13}, // L78
104 {0, C9_14, C8_14, C7_14}, // L79
105 {1, C9_11, C8_11, C7_11}, // L80
106 {1, C9_12, C8_12, C7_12}, // L81
107 {1, C9_13, C8_13, C7_13}, // L82
108 {1, C9_14, C8_14, C7_14}, // L83
109 {2, C1_6, C2_6, C3_6}, // L84
110 {2, C1_7, C2_7, C3_7}, // L85
111 {2, C1_8, C2_8, C3_8}, // L86
112 };
113
114 led_config_t g_led_config = { {
115 { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14 },
116 { 15, 16, 17, 18, 19, 20, NO_LED, 21, 22, 23, 24, 25, 26, 27, 28 },
117 { 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43 },
118 { 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58 },
119 { 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, NO_LED },
120 { 73, 74, 75, NO_LED, 76, 77, 78, 79, NO_LED, 80, 81, 82, 83, 84, 85 }
121 }, {
122 {0,0}, {16,0}, {30,0}, {43,0}, {56,0}, {72,0}, {85,0}, {99,0}, {112,0}, {128,0}, {141,0}, {154,0}, {167,0}, {190,0}, {216,0},
123 {0,13}, {16,13}, {32,12}, {49,14}, {66,16}, {82,20}, {102,20}, {118,16}, {134,14}, {150,12}, {167,13}, {184,13}, {197,13}, {216,13},
124 {0,26}, {15,26}, {31,23}, {47,24}, {63,28}, {78,30}, {105,30}, {120,28}, {136,24}, {152,23}, {168,26}, {184,26}, {197,26}, {210,26}, {224,26},
125 {0,37}, {15,37}, {30,33}, {45,35}, {60,37}, {75,40}, {92,43}, {108,40}, {124,37}, {138,35}, {153,33}, {168,37}, {184,37}, {203,37}, {224,37},
126 {0,48}, {14,48}, {29,44}, {43,46}, {57,48}, {72,50}, {92,53}, {112,50}, {126,48}, {141,46}, {155,44}, {169,48}, {184,48}, {210,48},
127 {0,58}, {14,58}, {34,58}, {61,61}, {83,64}, {100,64}, {122,61}, {149,58}, {170,58}, {184,58}, {197,58}, {210,58}, {224,58}
128 }, {
129 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
130 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
131 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
132 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
133 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
134 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1
135 } };
136
137
138
139 __attribute__ ((weak)) void rgb_matrix_indicators_user(void) {
140 if (host_keyboard_led_state().caps_lock) {
141 rgb_matrix_set_color(44, 0xFF, 0xFF, 0xFF);
142 }
143}
144
145#endif
diff --git a/keyboards/xbows/knight_plus/knight_plus.h b/keyboards/xbows/knight_plus/knight_plus.h
new file mode 100644
index 000000000..735c3d051
--- /dev/null
+++ b/keyboards/xbows/knight_plus/knight_plus.h
@@ -0,0 +1,33 @@
1/* Copyright 2021 Shulin Huang <mumu@x-bows.com>
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#pragma once
17#include "quantum.h"
18#define LAYOUT( \
19 K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, \
20 K100, K101, K102, K103, K104, K105, K107, K108, K109, K110, K111, K112, K113, K114, \
21 K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, \
22 K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, \
23 K400, K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K412, K413, \
24 K500, K501, K502, K504, K505, K506, K507, K509, K510, K511, K512, K513, K514 \
25) \
26 { \
27 { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014 }, \
28 { K100, K101, K102, K103, K104, K105, KC_NO,K107, K108, K109, K110, K111, K112, K113, K114 }, \
29 { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214 }, \
30 { K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314 }, \
31 { K400, K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K412, K413, KC_NO}, \
32 { K500, K501, K502, KC_NO,K504, K505, K506, K507, KC_NO,K509, K510, K511, K512, K513, K514 } \
33}
diff --git a/keyboards/xbows/knight_plus/readme.md b/keyboards/xbows/knight_plus/readme.md
new file mode 100644
index 000000000..4a7a75827
--- /dev/null
+++ b/keyboards/xbows/knight_plus/readme.md
@@ -0,0 +1,29 @@
1# KNIGHT_PLUS
2![KNIGHT_PLUS](https://cdn.shopifycdn.net/s/files/1/0014/7623/1237/products/BestSeller_8_1024x1024@2x.png?v=1616165816)
3
4Knight_Plus is an Ergonomic Mechanical keyboard suite redesigned by X-Bow that includes both the main keyboard and the numpad.
5
6If you spend your work days in front of a computer, you have likely felt some discomfort after a long day of typing. While spending less time on our computers would be the ideal remedy for this problem, that is not a realistic solution for most people. X-Bows was designed to limit the stress on your hands and wrists while also providing a productive and stylish typing experience.
7
8
9X-Bows was designed with three criteria in mind:
10* Enhancing the comfort and ergonomics of the keyboard
11* Limiting the learning curve for our new layout
12* Creating an attractive design
13
14
15* Keyboard Maintainer: X-BOWS
16* Hardware Supported: X-BOWS Knight_Plus
17* Hardware Availability: [X-BOWS](https://x-bows.com/)
18
19Make example for this keyboard (after setting up your build environment):
20
21 make xbows/knight_plus:default
22 make xbows/knight_plus:via
23
24Flashing example for this keyboard:
25
26 make xbows/knight_plus:default:flash
27 make xbows/knight_plus:via:flash
28
29See 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).
diff --git a/keyboards/xbows/knight_plus/rules.mk b/keyboards/xbows/knight_plus/rules.mk
new file mode 100644
index 000000000..b05636141
--- /dev/null
+++ b/keyboards/xbows/knight_plus/rules.mk
@@ -0,0 +1,25 @@
1# MCU name
2MCU = atmega32u4
3
4# Bootloader selection
5BOOTLOADER = atmel-dfu
6
7# Build Options
8# change yes to no to disable
9#
10BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
11MOUSEKEY_ENABLE = yes # Mouse keys
12EXTRAKEY_ENABLE = yes # Audio control and System control
13CONSOLE_ENABLE = no # Console for debug
14COMMAND_ENABLE = no # Commands for debug and configuration
15# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
16SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
17NO_USB_STARTUP_CHECK = yes # Disables usb supend check after keyboard startup
18# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
19NKRO_ENABLE = yes # USB Nkey Rollover
20BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
21RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
22BLUETOOTH_ENABLE = no # Enable Bluetooth
23AUDIO_ENABLE = no # Audio output
24RGB_MATRIX_ENABLE = yes
25RGB_MATRIX_DRIVER = IS31FL3731
diff --git a/keyboards/xbows/numpad/config.h b/keyboards/xbows/numpad/config.h
new file mode 100644
index 000000000..fd13305ed
--- /dev/null
+++ b/keyboards/xbows/numpad/config.h
@@ -0,0 +1,47 @@
1/* Copyright 2021 Shulin Huang <mumu@x-bows.com>
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#pragma once
17
18#include "config_common.h"
19
20#define VENDOR_ID 0xFEED
21#define PRODUCT_ID 0x1228
22#define DEVICE_VER 0x0001
23#define MANUFACTURER X-BOWS
24#define PRODUCT NUMPAD
25
26#define MATRIX_ROWS 6
27#define MATRIX_COLS 4
28#define MATRIX_ROW_PINS { B5, B4, C6, B6, D7, B3 }
29#define MATRIX_COL_PINS { D4, D6, B2, B1 }
30#define DIODE_DIRECTION COL2ROW
31
32#define DEBOUNCE 3
33
34#ifdef RGB_MATRIX_ENABLE
35# define RGB_MATRIX_LED_PROCESS_LIMIT 18
36# define RGB_MATRIX_LED_FLUSH_LIMIT 16
37# define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
38# define RGB_DISABLE_WHEN_USB_SUSPENDED true // turn off effects when suspended
39# define RGB_MATRIX_KEYPRESSES
40# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200
41# define RGB_MATRIX_CENTER { 30, 32 }
42
43# define DRIVER_ADDR_1 0b1110111
44# define DRIVER_COUNT 1
45# define DRIVER_1_LED_TOTAL 22
46# define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL)
47#endif
diff --git a/keyboards/xbows/numpad/info.json b/keyboards/xbows/numpad/info.json
new file mode 100644
index 000000000..607ab93a3
--- /dev/null
+++ b/keyboards/xbows/numpad/info.json
@@ -0,0 +1,41 @@
1{
2 "keyboard_name": "NUMPAD",
3 "url": "",
4 "maintainer": "xbows-qmk",
5 "width": 4,
6 "height": 6.5,
7 "layouts": {
8 "LAYOUT": {
9 "layout": [
10 {"label":"Esc", "x":0, "y":0},
11 {"label":"Tab", "x":1, "y":0},
12 {"label":"Backspace", "x":2, "y":0},
13 {"label":"Fn", "x":3, "y":0},
14
15 {"label":"Num Lock", "x":0, "y":1.5},
16 {"label":"/", "x":1, "y":1.5},
17 {"label":"*", "x":2, "y":1.5},
18 {"label":"-", "x":3, "y":1.5},
19
20 {"label":"7", "x":0, "y":2.5},
21 {"label":"8", "x":1, "y":2.5},
22 {"label":"9", "x":2, "y":2.5},
23 {"label":"+", "x":3, "y":2.5},
24
25 {"label":"4", "x":0, "y":3.5},
26 {"label":"5", "x":1, "y":3.5},
27 {"label":"6", "x":2, "y":3.5},
28 {"label":"+", "x":3, "y":3.5},
29
30 {"label":"1", "x":0, "y":4.5},
31 {"label":"2", "x":1, "y":4.5},
32 {"label":"3", "x":2, "y":4.5},
33 {"label":"Enter", "x":3, "y":4.5, "h":2},
34
35 {"label":"0", "x":0, "y":5.5, "w":2},
36 {"label":".", "x":3, "y":5.5}
37
38 ]
39 }
40 }
41}
diff --git a/keyboards/xbows/numpad/keymaps/default/config.h b/keyboards/xbows/numpad/keymaps/default/config.h
new file mode 100644
index 000000000..c8235f516
--- /dev/null
+++ b/keyboards/xbows/numpad/keymaps/default/config.h
@@ -0,0 +1,43 @@
1/* Copyright 2021 Shulin Huang <mumu@x-bows.com>
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16 #pragma once
17
18 #ifdef RGB_MATRIX_ENABLE
19 # define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_CYCLE_LEFT_RIGHT // Sets the default mode, if none has been set
20 # define DISABLE_RGB_MATRIX_SOLID_COLOR // Static single hue, no speed support
21 # define DISABLE_RGB_MATRIX_GRADIENT_UP_DOWN // Static gradient top to bottom, speed controls how much gradient changes
22 # define DISABLE_RGB_MATRIX_BAND_SAT // Single hue band fading saturation scrolling left to right
23 # define DISABLE_RGB_MATRIX_BAND_VAL // Single hue band fading brightness scrolling left to right
24 # define DISABLE_RGB_MATRIX_BAND_PINWHEEL_SAT // Single hue 3 blade spinning pinwheel fades saturation
25 # define DISABLE_RGB_MATRIX_BAND_SPIRAL_VAT // Single hue spinning spiral fades saturation
26 # define DISABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL // Full dual gradients scrolling out to in
27 # define DISABLE_RGB_MATRIX_CYCLE_SPIRAL // Full gradient spinning spiral around center of keyboard
28
29 # define DISABLE_RGB_MATRIX_DIGITAL_RAIN // That famous computer simulation
30 # define DISABLE_RGB_MATRIX_TYPING_HEATMAP // How hot is your WPM!
31
32 # define DISABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE // Hue & value pulse near a single key hit then fades value out
33 # define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE // Hue & value pulse near multiple key hits then fades value out
34 # define DISABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS // Hue & value pulse the same column and row of a single key hit then fades value out
35 # define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS // Hue & value pulse the same column and row of multiple key hits then fades value out
36 # define DISABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS // Hue & value pulse away on the same column and row of a single key hit then fades value out
37 # define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS // Hue & value pulse away on the same column and row of multiple key hits then fades value out
38 //# define DISABLE_RGB_MATRIX_SPLASH // Full gradient & value pulse away from a single key hit then fades value out
39 # define DISABLE_RGB_MATRIX_MULTISPLASH // Full gradient & value pulse away from multiple key hits then fades value out
40 # define DISABLE_RGB_MATRIX_SOLID_SPLASH // Hue & value pulse away from a single key hit then fades value out
41 //# define DISABLE_RGB_MATRIX_SOLID_MULTISPLASH // Hue & value pulse away from multiple key hits then fades value out
42
43 #endif
diff --git a/keyboards/xbows/numpad/keymaps/default/keymap.c b/keyboards/xbows/numpad/keymaps/default/keymap.c
new file mode 100644
index 000000000..b2b4da7fb
--- /dev/null
+++ b/keyboards/xbows/numpad/keymaps/default/keymap.c
@@ -0,0 +1,49 @@
1/* Copyright 2021 Shulin Huang <mumu@x-bows.com>
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#include QMK_KEYBOARD_H
17
18const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
19 /* Keymap VANILLA: (Base Layer) Default Layer
20 *
21 * |-------------------------------|
22 * | Esc | Tab | BS | Fn |
23 * |-------------------------------|
24 * | NUM | / | * | = |
25 * |-------------------------------|
26 * | 7 | 8 | 9 | - |
27 * |-------------------------------|
28 * | 4 | 5 | 6 | + |
29 * |-------------------------------|
30 * | 1 | 2 | 3 | ENTER |
31 * |-------------------------------|
32 * | 0 | . |
33 * |-----------------------|
34 */
35 [0] = LAYOUT(
36 KC_ESC , KC_TAB, KC_BSPC, MO(1),
37 KC_NLCK, KC_PSLS, KC_PAST, KC_EQL,
38 KC_P7, KC_P8, KC_P9, KC_PMNS,
39 KC_P4, KC_P5, KC_P6, KC_PPLS,
40 KC_P1, KC_P2, KC_P3, KC_PENT,
41 KC_P0, KC_PDOT),
42 [1] = LAYOUT(
43 RESET, EEP_RST, KC_TRNS, KC_TRNS,
44 KC_CALC, KC_MYCM, KC_MSEL, KC_MAIL,
45 RGB_MOD, RGB_VAI, RGB_HUI, KC_VOLD,
46 RGB_SPD, RGB_TOG, RGB_SPI, KC_VOLU,
47 KC_TRNS, RGB_VAD, KC_TRNS, KC_TRNS,
48 KC_TRNS, KC_TRNS)
49};
diff --git a/keyboards/xbows/numpad/keymaps/via/config.h b/keyboards/xbows/numpad/keymaps/via/config.h
new file mode 100644
index 000000000..aa5e4c1cd
--- /dev/null
+++ b/keyboards/xbows/numpad/keymaps/via/config.h
@@ -0,0 +1,64 @@
1/* Copyright 2021 Shulin Huang <mumu@x-bows.com>
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#pragma once
17
18#ifdef RGB_MATRIX_ENABLE
19# define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_CYCLE_LEFT_RIGHT // Sets the default mode, if none has been set
20# define DISABLE_RGB_MATRIX_ALPHAS_MODS // Static dual hue, speed is hue for secondary hue
21# define DISABLE_RGB_MATRIX_GRADIENT_UP_DOWN // Static gradient top to bottom, speed controls how much gradient changes
22# define DISABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT // Static gradient left to right, speed controls how much gradient changes
23//# define DISABLE_RGB_MATRIX_BREATHING // Single hue brightness cycling animation
24# define DISABLE_RGB_MATRIX_BAND_SAT // Single hue band fading saturation scrolling left to right
25# define DISABLE_RGB_MATRIX_BAND_VAL // Single hue band fading brightness scrolling left to right
26# define DISABLE_RGB_MATRIX_BAND_PINWHEEL_SAT // Single hue 3 blade spinning pinwheel fades saturation
27# define DISABLE_RGB_MATRIX_BAND_PINWHEEL_VAL // Single hue 3 blade spinning pinwheel fades brightness
28# define DISABLE_RGB_MATRIX_BAND_SPIRAL_SAT // Single hue spinning spiral fades saturation
29# define DISABLE_RGB_MATRIX_BAND_SPIRAL_VAL // Single hue spinning spiral fades brightness
30//# define DISABLE_RGB_MATRIX_CYCLE_ALL // Full keyboard solid hue cycling through full gradient
31//# define DISABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT // Full gradient scrolling left to right
32# define DISABLE_RGB_MATRIX_CYCLE_UP_DOWN // Full gradient scrolling top to bottom
33//# define DISABLE_RGB_MATRIX_CYCLE_OUT_IN // Full gradient scrolling out to in
34# define DISABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL // Full dual gradients scrolling out to in
35# define DISABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON // Full gradent Chevron shapped scrolling left to right
36# define DISABLE_RGB_MATRIX_CYCLE_PINWHEEL // Full gradient spinning pinwheel around center of keyboard
37# define DISABLE_RGB_MATRIX_CYCLE_SPIRAL // Full gradient spinning spiral around center of keyboard
38# define DISABLE_RGB_MATRIX_DUAL_BEACON // Full gradient spinning around center of keyboard
39//# define DISABLE_RGB_MATRIX_RAINBOW_BEACON // Full tighter gradient spinning around center of keyboard
40# define DISABLE_RGB_MATRIX_RAINBOW_PINWHEELS // Full dual gradients spinning two halfs of keyboard
41# define DISABLE_RGB_MATRIX_RAINDROPS // Randomly changes a single key's hue
42# define DISABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS // Randomly changes a single key's hue and saturation
43//# define DISABLE_RGB_MATRIX_HUE_BREATHING // Hue shifts up a slight ammount at the same time, then shifts back
44# define DISABLE_RGB_MATRIX_HUE_PENDULUM // Hue shifts up a slight ammount in a wave to the right, then back to the left
45//# define DISABLE_RGB_MATRIX_HUE_WAVE // Hue shifts up a slight ammount and then back down in a wave to the right
46
47# define DISABLE_RGB_MATRIX_DIGITAL_RAIN // That famous computer simulation
48# define DISABLE_RGB_MATRIX_TYPING_HEATMAP // How hot is your WPM!
49
50//# define DISABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE // Pulses keys hit to hue & value then fades value out
51//# define DISABLE_RGB_MATRIX_SOLID_REACTIVE // Static single hue, pulses keys hit to shifted hue then fades to current hue
52# define DISABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE // Hue & value pulse near a single key hit then fades value out
53# define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE // Hue & value pulse near multiple key hits then fades value out
54# define DISABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS // Hue & value pulse the same column and row of a single key hit then fades value out
55# define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS // Hue & value pulse the same column and row of multiple key hits then fades value out
56# define DISABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS // Hue & value pulse away on the same column and row of a single key hit then fades value out
57# define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS // Hue & value pulse away on the same column and row of multiple key hits then fades value out
58//# define DISABLE_RGB_MATRIX_SPLASH // Full gradient & value pulse away from a single key hit then fades value out
59# define DISABLE_RGB_MATRIX_MULTISPLASH // Full gradient & value pulse away from multiple key hits then fades value out
60# define DISABLE_RGB_MATRIX_SOLID_SPLASH // Hue & value pulse away from a single key hit then fades value out
61//# define DISABLE_RGB_MATRIX_SOLID_MULTISPLASH // Hue & value pulse away from multiple key hits then fades value out
62
63
64#endif
diff --git a/keyboards/xbows/numpad/keymaps/via/keymap.c b/keyboards/xbows/numpad/keymaps/via/keymap.c
new file mode 100644
index 000000000..6b122cc5d
--- /dev/null
+++ b/keyboards/xbows/numpad/keymaps/via/keymap.c
@@ -0,0 +1,63 @@
1/* Copyright 2021 Shulin Huang <mumu@x-bows.com>
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#include QMK_KEYBOARD_H
17
18const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
19 /* Keymap VANILLA: (Base Layer) Default Layer
20 *
21 * |-------------------------------|
22 * | Esc | Tab | BS | Fn |
23 * |-------------------------------|
24 * | NUM | / | * | = |
25 * |-------------------------------|
26 * | 7 | 8 | 9 | - |
27 * |-------------------------------|
28 * | 4 | 5 | 6 | + |
29 * |-------------------------------|
30 * | 1 | 2 | 3 | ENTER |
31 * |-------------------------------|
32 * | 0 | . |
33 * |-----------------------|
34 */
35 [0] = LAYOUT(
36 KC_ESC , KC_TAB, KC_BSPC, MO(1),
37 KC_NLCK, KC_PSLS, KC_PAST, KC_EQL,
38 KC_P7, KC_P8, KC_P9, KC_PMNS,
39 KC_P4, KC_P5, KC_P6, KC_PPLS,
40 KC_P1, KC_P2, KC_P3, KC_PENT,
41 KC_P0, KC_PDOT),
42 [1] = LAYOUT(
43 RESET, EEP_RST, KC_TRNS, KC_TRNS,
44 KC_CALC, KC_MYCM, KC_MSEL, KC_MAIL,
45 RGB_MOD, RGB_VAI, RGB_HUI, KC_VOLD,
46 RGB_SPD, RGB_TOG, RGB_SPI, KC_VOLU,
47 KC_TRNS, RGB_VAD, KC_TRNS, KC_TRNS,
48 KC_TRNS, KC_TRNS),
49 [2] = LAYOUT(
50 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
51 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
52 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
53 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
54 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
55 KC_TRNS, KC_TRNS),
56 [3] = LAYOUT(
57 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
58 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
59 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
60 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
61 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
62 KC_TRNS, KC_TRNS)
63};
diff --git a/keyboards/xbows/numpad/keymaps/via/rules.mk b/keyboards/xbows/numpad/keymaps/via/rules.mk
new file mode 100644
index 000000000..1e5b99807
--- /dev/null
+++ b/keyboards/xbows/numpad/keymaps/via/rules.mk
@@ -0,0 +1 @@
VIA_ENABLE = yes
diff --git a/keyboards/xbows/numpad/numpad.c b/keyboards/xbows/numpad/numpad.c
new file mode 100644
index 000000000..0ab677c76
--- /dev/null
+++ b/keyboards/xbows/numpad/numpad.c
@@ -0,0 +1,80 @@
1/* Copyright 2021 Shulin Huang <mumu@x-bows.com>
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16 #include "numpad.h"
17 #ifdef RGB_MATRIX_ENABLE
18 const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
19
20 {0, C3_3, C2_3, C1_3}, // L01
21 {0, C3_4, C2_4, C1_4}, // L02
22 {0, C9_5, C8_5, C7_5}, // L03
23 {0, C9_6, C8_6, C7_6}, // L04
24
25 {0, C6_1, C5_1, C4_1}, // L05
26 {0, C6_2, C5_2, C4_2}, // L06
27 {0, C6_3, C5_3, C4_3}, // L07
28 {0, C6_6, C5_6, C4_6}, // L08
29
30 {0, C9_1, C8_1, C7_1}, // L09
31 {0, C9_2, C8_2, C7_2}, // L10
32 {0, C9_3, C8_3, C7_3}, // L11
33 {0, C9_4, C8_4, C7_4}, // L12
34
35 {0, C3_11, C2_11, C1_11}, // L13
36 {0, C3_12, C2_12, C1_12}, // L14
37 {0, C3_13, C2_13, C1_13}, // L15
38 {0, C3_14, C2_14, C1_14}, // L16
39
40 {0, C6_9, C5_9, C4_9}, // L17
41 {0, C6_10, C5_10, C4_10}, // L18
42 {0, C6_11, C5_11, C4_11}, // L19
43 {0, C6_14, C5_14, C4_14}, // L20
44
45 {0, C6_16, C5_16, C4_16}, // L21
46 {0, C6_15, C5_15, C4_15}, // L22
47
48 };
49
50 led_config_t g_led_config = { {
51 { 0, 1, 2, 3 },
52 { 4, 5, 6, 7 },
53 { 8, 9, 10, 11 },
54 { 12, 13, 14, 15 },
55 { 16, 17, 18, 19 },
56 { 20, NO_LED, 21, NO_LED}
57 }, {
58 {0,0}, {20,0}, {40,0}, {60,0},
59 {0,13}, {20,13}, {40,13}, {60,13},
60 {0,25}, {20,25}, {40,25}, {60,25},
61 {0,38}, {20,38}, {40,38}, {60,38},
62 {0,50}, {20,50}, {40,50}, {60,57},
63 {10,63}, {40,63}
64 }, {
65 4, 4, 4, 4,
66 4, 4, 4, 4,
67 4, 4, 4, 4,
68 4, 4, 4, 4,
69 4, 4, 4, 4,
70 4, 4,
71 } };
72
73
74 __attribute__ ((weak)) void rgb_matrix_indicators_user(void) {
75 if (host_keyboard_led_state().num_lock) {
76 rgb_matrix_set_color(4, 0xFF, 0xFF, 0xFF);
77 }
78}
79
80#endif
diff --git a/keyboards/xbows/numpad/numpad.h b/keyboards/xbows/numpad/numpad.h
new file mode 100644
index 000000000..c160bff75
--- /dev/null
+++ b/keyboards/xbows/numpad/numpad.h
@@ -0,0 +1,33 @@
1/* Copyright 2021 Shulin Huang <mumu@x-bows.com>
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#pragma once
17#include "quantum.h"
18#define LAYOUT( \
19 K000, K001, K002, K003, \
20 K100, K101, K102, K103, \
21 K200, K201, K202, K203, \
22 K300, K301, K302, K303, \
23 K400, K401, K402, K403, \
24 K500, K502 \
25) \
26 { \
27 { K000, K001, K002, K003 }, \
28 { K100, K101, K102, K103 }, \
29 { K200, K201, K202, K203 }, \
30 { K300, K301, K302, K303 }, \
31 { K400, K401, K402, K403 }, \
32 { K500, KC_NO,K502, KC_NO} \
33}
diff --git a/keyboards/xbows/numpad/readme.md b/keyboards/xbows/numpad/readme.md
new file mode 100644
index 000000000..804042aff
--- /dev/null
+++ b/keyboards/xbows/numpad/readme.md
@@ -0,0 +1,29 @@
1# NUMPAD
2![NUMPAD](https://cdn.shopifycdn.net/s/files/1/0014/7623/1237/products/BestSeller_8_1024x1024@2x.png?v=1616165816)
3
4Knight-Plus is an Ergonomic Mechanical keyboard suite redesigned by X-Bow that includes both the main keyboard and the numpad.
5
6If you spend your work days in front of a computer, you have likely felt some discomfort after a long day of typing. While spending less time on our computers would be the ideal remedy for this problem, that is not a realistic solution for most people. X-Bows was designed to limit the stress on your hands and wrists while also providing a productive and stylish typing experience.
7
8
9X-Bows was designed with three criteria in mind:
10* Enhancing the comfort and ergonomics of the keyboard
11* Limiting the learning curve for our new layout
12* Creating an attractive design
13
14
15* Keyboard Maintainer: X-BOWS
16* Hardware Supported: X-BOWS Numpad
17* Hardware Availability: [X-BOWS](https://x-bows.com/)
18
19Make example for this keyboard (after setting up your build environment):
20
21 make xbows/numpad:default
22 make xbows/numpad:via
23
24Flashing example for this keyboard:
25
26 make xbows/numpad:default:flash
27 make xbows/numpad:via:flash
28
29See 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).
diff --git a/keyboards/xbows/numpad/rules.mk b/keyboards/xbows/numpad/rules.mk
new file mode 100644
index 000000000..f716d8fd3
--- /dev/null
+++ b/keyboards/xbows/numpad/rules.mk
@@ -0,0 +1,25 @@
1# MCU name
2MCU = atmega32u4
3
4# Bootloader selection
5BOOTLOADER = atmel-dfu
6
7# Build Options
8# change yes to no to disable
9#
10BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
11MOUSEKEY_ENABLE = yes # Mouse keys
12EXTRAKEY_ENABLE = yes # Audio control and System control
13CONSOLE_ENABLE = no # Console for debug
14COMMAND_ENABLE = no # Commands for debug and configuration
15# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
16SLEEP_LED_ENABLE = yes # Breathing sleep LED during USB suspend
17NO_USB_STARTUP_CHECK = no # Disables usb supend check after keyboard startup
18# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
19NKRO_ENABLE = yes # USB Nkey Rollover
20BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
21RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
22BLUETOOTH_ENABLE = no # Enable Bluetooth
23AUDIO_ENABLE = no # Audio output
24RGB_MATRIX_ENABLE = yes
25RGB_MATRIX_DRIVER = IS31FL3731