aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander <7888825+keyzog@users.noreply.github.com>2022-02-09 08:19:54 +0300
committerGitHub <noreply@github.com>2022-02-08 21:19:54 -0800
commit71a48a01023449f9559f41d751fbedbdadfb1c46 (patch)
tree57dc40753045528a0ceab3cac3089eee5f2292d9
parent04020da48cef186cd58f7782a090116f90ca2008 (diff)
downloadqmk_firmware-71a48a01023449f9559f41d751fbedbdadfb1c46.tar.gz
qmk_firmware-71a48a01023449f9559f41d751fbedbdadfb1c46.zip
[Keyboard] Add Kapl (#16255)
Co-authored-by: Drashna Jaelre <drashna@live.com> Co-authored-by: Ryan <fauxpark@gmail.com>
-rw-r--r--keyboards/kapl/config.h5
-rw-r--r--keyboards/kapl/info.json85
-rw-r--r--keyboards/kapl/kapl.c3
-rw-r--r--keyboards/kapl/kapl.h8
-rw-r--r--keyboards/kapl/keymaps/default/config.h45
-rw-r--r--keyboards/kapl/keymaps/default/keymap.c49
-rw-r--r--keyboards/kapl/keymaps/via/config.h45
-rw-r--r--keyboards/kapl/keymaps/via/keymap.c64
-rw-r--r--keyboards/kapl/keymaps/via/rules.mk1
-rw-r--r--keyboards/kapl/readme.md27
-rw-r--r--keyboards/kapl/rev1/config.h55
-rw-r--r--keyboards/kapl/rev1/rev1.c55
-rw-r--r--keyboards/kapl/rev1/rev1.h34
-rw-r--r--keyboards/kapl/rev1/rules.mk5
-rw-r--r--keyboards/kapl/rules.mk21
15 files changed, 502 insertions, 0 deletions
diff --git a/keyboards/kapl/config.h b/keyboards/kapl/config.h
new file mode 100644
index 000000000..ba249d466
--- /dev/null
+++ b/keyboards/kapl/config.h
@@ -0,0 +1,5 @@
1// Copyright 2022 Alexander Lozyuk (@keyzog)
2// SPDX-License-Identifier: GPL-2.0-or-later
3#pragma once
4
5#include "config_common.h"
diff --git a/keyboards/kapl/info.json b/keyboards/kapl/info.json
new file mode 100644
index 000000000..67e547028
--- /dev/null
+++ b/keyboards/kapl/info.json
@@ -0,0 +1,85 @@
1{
2 "keyboard_name": "Kapl",
3 "url": "https://github.com/keyzog/kapl",
4 "maintainer": "keyzog",
5 "layouts": {
6 "LAYOUT": {
7 "layout": [
8 {"label":"L00", "x":0, "y":0.38},
9 {"label":"L01", "x":1, "y":0.38},
10 {"label":"L02", "x":2, "y":0.13},
11 {"label":"L03", "x":3, "y":0},
12 {"label":"L04", "x":4, "y":0.13},
13 {"label":"L05", "x":5, "y":0.25},
14 {"label":"L06", "x":6, "y":0.35},
15 {"label":"R00", "x":8.67, "y":0.35},
16 {"label":"R01", "x":9.67, "y":0.25},
17 {"label":"R02", "x":10.67, "y":0.13},
18 {"label":"R03", "x":11.67, "y":0},
19 {"label":"R04", "x":12.67, "y":0.13},
20 {"label":"R05", "x":13.67, "y":0.38},
21 {"label":"R06", "x":14.67, "y":0.38},
22
23 {"label":"L10", "x":0, "y":1.38},
24 {"label":"L11", "x":1, "y":1.38},
25 {"label":"L12", "x":2, "y":1.13},
26 {"label":"L13", "x":3, "y":1},
27 {"label":"L14", "x":4, "y":1.13},
28 {"label":"L15", "x":5, "y":1.25},
29 {"label":"L16", "x":6, "y":1.35},
30 {"label":"R10", "x":8.67, "y":1.35},
31 {"label":"R11", "x":9.67, "y":1.25},
32 {"label":"R12", "x":10.67, "y":1.13},
33 {"label":"R13", "x":11.67, "y":1},
34 {"label":"R14", "x":12.67, "y":1.13},
35 {"label":"R15", "x":13.67, "y":1.38},
36 {"label":"R16", "x":14.67, "y":1.38},
37
38 {"label":"L20", "x":0, "y":2.38},
39 {"label":"L21", "x":1, "y":2.38},
40 {"label":"L22", "x":2, "y":2.13},
41 {"label":"L23", "x":3, "y":2.0},
42 {"label":"L24", "x":4, "y":2.13},
43 {"label":"L25", "x":5, "y":2.25},
44 {"label":"L26", "x":6, "y":2.35},
45 {"label":"R20", "x":8.67, "y":2.35},
46 {"label":"R21", "x":9.67, "y":2.25},
47 {"label":"R22", "x":10.67, "y":2.13},
48 {"label":"R23", "x":11.67, "y":2.0},
49 {"label":"R24", "x":12.67, "y":2.13},
50 {"label":"R25", "x":13.67, "y":2.38},
51 {"label":"R26", "x":14.67, "y":2.38},
52
53 {"label":"L30", "x":0, "y":3.38},
54 {"label":"L31", "x":1, "y":3.38},
55 {"label":"L32", "x":2, "y":3.13},
56 {"label":"L33", "x":3, "y":3.0},
57 {"label":"L34", "x":4, "y":3.13},
58 {"label":"L35", "x":5, "y":3.25},
59 {"label":"L36", "x":6, "y":3.35},
60 {"label":"R30", "x":8.67, "y":3.35},
61 {"label":"R31", "x":9.67, "y":3.25},
62 {"label":"R32", "x":10.67, "y":3.13},
63 {"label":"R33", "x":11.67, "y":3.0},
64 {"label":"R34", "x":12.67, "y":3.13},
65 {"label":"R35", "x":13.67, "y":3.38},
66 {"label":"R36", "x":14.67, "y":3.38},
67
68 {"label":"L40", "x":0, "y":4.38},
69 {"label":"L41", "x":1, "y":4.38},
70 {"label":"L42", "x":2, "y":4.13},
71 {"label":"L43", "x":3, "y":4.0},
72 {"label":"L44", "x":4, "y":4.13},
73 {"label":"L45", "x":5.35, "y":4.92},
74 {"label":"L46", "x":6.35, "y":4.45, "h":1.5},
75 {"label":"R40", "x":8.02, "y":4.45, "h":1.5},
76 {"label":"R41", "x":9.02, "y":4.92},
77 {"label":"R42", "x":10.67, "y":4.13},
78 {"label":"R43", "x":11.67, "y":4.0},
79 {"label":"R44", "x":12.67, "y":4.13},
80 {"label":"R45", "x":13.67, "y":4.38},
81 {"label":"R46", "x":14.67, "y":4.38}
82 ]
83 }
84 }
85}
diff --git a/keyboards/kapl/kapl.c b/keyboards/kapl/kapl.c
new file mode 100644
index 000000000..165900e14
--- /dev/null
+++ b/keyboards/kapl/kapl.c
@@ -0,0 +1,3 @@
1// Copyright 2022 Alexander Lozyuk (@keyzog)
2// SPDX-License-Identifier: GPL-2.0-or-later
3#include "kapl.h"
diff --git a/keyboards/kapl/kapl.h b/keyboards/kapl/kapl.h
new file mode 100644
index 000000000..019e3267d
--- /dev/null
+++ b/keyboards/kapl/kapl.h
@@ -0,0 +1,8 @@
1// Copyright 2022 Alexander Lozyuk (@keyzog)
2// SPDX-License-Identifier: GPL-2.0-or-later
3#pragma once
4#include "quantum.h"
5
6#ifdef KEYBOARD_kapl_rev1
7# include "rev1.h"
8#endif
diff --git a/keyboards/kapl/keymaps/default/config.h b/keyboards/kapl/keymaps/default/config.h
new file mode 100644
index 000000000..788c3b41b
--- /dev/null
+++ b/keyboards/kapl/keymaps/default/config.h
@@ -0,0 +1,45 @@
1// Copyright 2022 Alexander Lozyuk (@keyzog)
2// SPDX-License-Identifier: GPL-2.0-or-later
3#pragma once
4
5#ifdef RGBLIGHT_ENABLE
6#define RGBLIGHT_EFFECT_BREATHING
7#define RGBLIGHT_EFFECT_RAINBOW_MOOD
8#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
9#define RGBLIGHT_EFFECT_CHRISTMAS
10#define RGBLIGHT_EFFECT_STATIC_GRADIENT
11#define RGBLIGHT_EFFECT_TWINKLE
12#define RGBLIGHT_HUE_STEP 8
13#define RGBLIGHT_SAT_STEP 16
14#define RGBLIGHT_VAL_STEP 16
15#endif
16
17#ifdef RGB_MATRIX_ENABLE
18#define RGB_MATRIX_HUE_STEP 8
19#define RGB_MATRIX_SAT_STEP 16
20#define RGB_MATRIX_VAL_STEP 16
21#define RGB_MATRIX_SPD_STEP 10
22// EFFECTS
23#define ENABLE_RGB_MATRIX_ALPHAS_MODS
24#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
25#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
26#define ENABLE_RGB_MATRIX_BREATHING
27#define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
28#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
29#define ENABLE_RGB_MATRIX_CYCLE_ALL
30#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
31#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
32#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
33#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
34#define ENABLE_RGB_MATRIX_HUE_BREATHING
35#define ENABLE_RGB_MATRIX_HUE_WAVE
36// KEYPRESSES EFFECTS
37#define RGB_MATRIX_KEYPRESSES
38#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
39#define ENABLE_RGB_MATRIX_SOLID_REACTIVE
40#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
41#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
42#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
43#define ENABLE_RGB_MATRIX_MULTISPLASH
44#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
45#endif
diff --git a/keyboards/kapl/keymaps/default/keymap.c b/keyboards/kapl/keymaps/default/keymap.c
new file mode 100644
index 000000000..5e2bea1f4
--- /dev/null
+++ b/keyboards/kapl/keymaps/default/keymap.c
@@ -0,0 +1,49 @@
1// Copyright 2022 Alexander Lozyuk (@keyzog)
2// SPDX-License-Identifier: GPL-2.0-or-later
3#include QMK_KEYBOARD_H
4
5#define SPC_FN LT(1,KC_SPC)
6
7const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
8 [0] = LAYOUT(
9 //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┐
10 KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_PGUP, KC_HOME, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
11 //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
12 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_PGDN, KC_END, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_EQL,
13 //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
14 KC_GRV, KC_A, KC_S, KC_D, KC_F, KC_G, KC_LBRC, KC_RBRC, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
15 //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
16 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_EXLM, KC_QUES, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
17 //├────────┼────────┼────────┼────────┼────────┼─┬──────┴─┬──────┴─┐ ┌─┴──────┬─┴──────┬─┼────────┼────────┼────────┼────────┼────────┤
18 KC_LCTL, KC_LGUI, KC_LALT, MO(2), SPC_FN, KC_BSPC, KC_DEL, KC_ENT, KC_SPC, MO(1), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
19 //└────────┴────────┴────────┴────────┴────────┘ └────────┴────────┘ └────────┴────────┘ └────────┴────────┴────────┴────────┴────────┘
20 ),
21
22 [1] = LAYOUT( // "FN" Funcional
23 //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┐
24 KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TRNS, KC_PSCR, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
25 //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
26 KC_TRNS, KC_EXLM, KC_AT, KC_LCBR, KC_RCBR, KC_PIPE, KC_TRNS, KC_TRNS, KC_PSLS, KC_P7, KC_P8, KC_P9, KC_PMNS, KC_F12,
27 //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
28 KC_TRNS, KC_HASH, KC_DLR, KC_LBRC, KC_RBRC, KC_GRV, KC_TRNS, KC_TRNS, KC_PAST, KC_P4, KC_P5, KC_P6, KC_PPLS, KC_F13,
29 //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
30 KC_TRNS, KC_PERC, KC_CIRC, KC_LPRN, KC_RPRN, KC_TILD, KC_TRNS, KC_TRNS, KC_NO, KC_P1, KC_P2, KC_P3, KC_PENT, KC_F14,
31 //├────────┼────────┼────────┼────────┼────────┼─┬──────┴─┬──────┴─┐ ┌─┴──────┬─┴──────┬─┼────────┼────────┼────────┼────────┼────────┤
32 KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, KC_NO, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, KC_P0, KC_PDOT, KC_PENT, KC_F15
33 //└────────┴────────┴────────┴────────┴────────┘ └────────┴────────┘ └────────┴────────┘ └────────┴────────┴────────┴────────┴────────┘
34 ),
35
36 [2] = LAYOUT( // "CNT" Control
37 //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┐
38 KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RESET,
39 //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
40 KC_NO, RGB_SAI, RGB_SPI, RGB_VAI, RGB_HUI, RGB_MOD, KC_NO, KC_NO, KC_VOLU, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
41 //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
42 KC_NO, RGB_SAD, RGB_SPD, RGB_VAD, RGB_HUD, RGB_RMOD, KC_NO, KC_NO, KC_VOLD, KC_MPLY, KC_MNXT, KC_MPRV, KC_NO, KC_NO,
43 //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
44 KC_NO, KC_NO, KC_NO, KC_NO, RGB_TOG, RGB_M_P, KC_NO, KC_NO, KC_MUTE, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
45 //├────────┼────────┼────────┼────────┼────────┼─┬──────┴─┬──────┴─┐ ┌─┴──────┬─┴──────┬─┼────────┼────────┼────────┼────────┼────────┤
46 KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO
47 //└────────┴────────┴────────┴────────┴────────┘ └────────┴────────┘ └────────┴────────┘ └────────┴────────┴────────┴────────┴────────┘
48 )
49};
diff --git a/keyboards/kapl/keymaps/via/config.h b/keyboards/kapl/keymaps/via/config.h
new file mode 100644
index 000000000..788c3b41b
--- /dev/null
+++ b/keyboards/kapl/keymaps/via/config.h
@@ -0,0 +1,45 @@
1// Copyright 2022 Alexander Lozyuk (@keyzog)
2// SPDX-License-Identifier: GPL-2.0-or-later
3#pragma once
4
5#ifdef RGBLIGHT_ENABLE
6#define RGBLIGHT_EFFECT_BREATHING
7#define RGBLIGHT_EFFECT_RAINBOW_MOOD
8#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
9#define RGBLIGHT_EFFECT_CHRISTMAS
10#define RGBLIGHT_EFFECT_STATIC_GRADIENT
11#define RGBLIGHT_EFFECT_TWINKLE
12#define RGBLIGHT_HUE_STEP 8
13#define RGBLIGHT_SAT_STEP 16
14#define RGBLIGHT_VAL_STEP 16
15#endif
16
17#ifdef RGB_MATRIX_ENABLE
18#define RGB_MATRIX_HUE_STEP 8
19#define RGB_MATRIX_SAT_STEP 16
20#define RGB_MATRIX_VAL_STEP 16
21#define RGB_MATRIX_SPD_STEP 10
22// EFFECTS
23#define ENABLE_RGB_MATRIX_ALPHAS_MODS
24#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
25#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
26#define ENABLE_RGB_MATRIX_BREATHING
27#define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
28#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
29#define ENABLE_RGB_MATRIX_CYCLE_ALL
30#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
31#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
32#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
33#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
34#define ENABLE_RGB_MATRIX_HUE_BREATHING
35#define ENABLE_RGB_MATRIX_HUE_WAVE
36// KEYPRESSES EFFECTS
37#define RGB_MATRIX_KEYPRESSES
38#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
39#define ENABLE_RGB_MATRIX_SOLID_REACTIVE
40#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
41#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
42#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
43#define ENABLE_RGB_MATRIX_MULTISPLASH
44#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
45#endif
diff --git a/keyboards/kapl/keymaps/via/keymap.c b/keyboards/kapl/keymaps/via/keymap.c
new file mode 100644
index 000000000..002cc1ef3
--- /dev/null
+++ b/keyboards/kapl/keymaps/via/keymap.c
@@ -0,0 +1,64 @@
1// Copyright 2022 Alexander Lozyuk (@keyzog)
2// SPDX-License-Identifier: GPL-2.0-or-later
3#include QMK_KEYBOARD_H
4
5#define ____ KC_TRNS
6#define SPC_FN LT(1,KC_SPC)
7
8const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
9 [0] = LAYOUT(
10 //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┐
11 KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_PGUP, KC_HOME, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
12 //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
13 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_PGDN, KC_END, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_EQL,
14 //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
15 KC_GRV, KC_A, KC_S, KC_D, KC_F, KC_G, KC_LBRC, KC_RBRC, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
16 //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
17 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_EXLM, KC_QUES, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
18 //├────────┼────────┼────────┼────────┼────────┼─┬──────┴─┬──────┴─┐ ┌─┴──────┬─┴──────┬─┼────────┼────────┼────────┼────────┼────────┤
19 KC_LCTL, KC_LGUI, KC_LALT, MO(2), SPC_FN, KC_BSPC, KC_DEL, KC_ENT, KC_SPC, MO(1), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
20 //└────────┴────────┴────────┴────────┴────────┘ └────────┴────────┘ └────────┴────────┘ └────────┴────────┴────────┴────────┴────────┘
21 ),
22
23 [1] = LAYOUT( // "FN" Funcional
24 //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┐
25 KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TRNS, KC_PSCR, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
26 //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
27 KC_TRNS, KC_EXLM, KC_AT, KC_LCBR, KC_RCBR, KC_PIPE, KC_TRNS, KC_TRNS, KC_PSLS, KC_P7, KC_P8, KC_P9, KC_PMNS, KC_F12,
28 //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
29 KC_TRNS, KC_HASH, KC_DLR, KC_LBRC, KC_RBRC, KC_GRV, KC_TRNS, KC_TRNS, KC_PAST, KC_P4, KC_P5, KC_P6, KC_PPLS, KC_F13,
30 //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
31 KC_TRNS, KC_PERC, KC_CIRC, KC_LPRN, KC_RPRN, KC_TILD, KC_TRNS, KC_TRNS, KC_NO, KC_P1, KC_P2, KC_P3, KC_PENT, KC_F14,
32 //├────────┼────────┼────────┼────────┼────────┼─┬──────┴─┬──────┴─┐ ┌─┴──────┬─┴──────┬─┼────────┼────────┼────────┼────────┼────────┤
33 KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, KC_NO, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, KC_P0, KC_PDOT, KC_PENT, KC_F15
34 //└────────┴────────┴────────┴────────┴────────┘ └────────┴────────┘ └────────┴────────┘ └────────┴────────┴────────┴────────┴────────┘
35 ),
36
37 [2] = LAYOUT( // "CNT" Control
38 //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┐
39 KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RESET,
40 //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
41 KC_NO, RGB_SAI, RGB_SPI, RGB_VAI, RGB_HUI, RGB_MOD, KC_NO, KC_NO, KC_VOLU, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
42 //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
43 KC_NO, RGB_SAD, RGB_SPD, RGB_VAD, RGB_HUD, RGB_RMOD,KC_NO, KC_NO, KC_VOLD, KC_MPLY, KC_MNXT, KC_MPRV, KC_NO, KC_NO,
44 //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
45 KC_NO, KC_NO, KC_NO, KC_NO, RGB_TOG, RGB_M_P, KC_NO, KC_NO, KC_MUTE, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
46 //├────────┼────────┼────────┼────────┼────────┼─┬──────┴─┬──────┴─┐ ┌─┴──────┬─┴──────┬─┼────────┼────────┼────────┼────────┼────────┤
47 KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO
48 //└────────┴────────┴────────┴────────┴────────┘ └────────┴────────┘ └────────┴────────┘ └────────┴────────┴────────┴────────┴────────┘
49 ),
50
51 [3] = LAYOUT(
52 //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┐
53 ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____,
54 //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
55 ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____,
56 //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
57 ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____,
58 //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
59 ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____,
60 //├────────┼────────┼────────┼────────┼────────┼─┬──────┴─┬──────┴─┐ ┌─┴──────┬─┴──────┬─┼────────┼────────┼────────┼────────┼────────┤
61 ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____
62 //└────────┴────────┴────────┴────────┴────────┘ └────────┴────────┘ └────────┴────────┘ └────────┴────────┴────────┴────────┴────────┘
63 )
64};
diff --git a/keyboards/kapl/keymaps/via/rules.mk b/keyboards/kapl/keymaps/via/rules.mk
new file mode 100644
index 000000000..1e5b99807
--- /dev/null
+++ b/keyboards/kapl/keymaps/via/rules.mk
@@ -0,0 +1 @@
VIA_ENABLE = yes
diff --git a/keyboards/kapl/readme.md b/keyboards/kapl/readme.md
new file mode 100644
index 000000000..c42a5d894
--- /dev/null
+++ b/keyboards/kapl/readme.md
@@ -0,0 +1,27 @@
1# Kapl Keyboard
2
3![Kapl Keyboard](https://i.imgur.com/XH8APgi.jpg)
4![Kapl PCB](https://i.imgur.com/uir2nQq.jpg)
5
6The Kapl is a split ergonomic keyboard with 70 keys (7x5).
7
8* Keyboard Maintainer: [keyzog](https://github.com/keyzog)
9* Hardware Supported: Kapl PCB / Pro Micro
10* Hardware Availability: Order PCBs with gerber files from the [repository](https://github.com/keyzog/kapl/tree/main/gerbers)
11
12Make example for this keyboard (after setting up your build environment):
13
14 make kapl/rev1:default
15
16Flashing example for this keyboard:
17
18 make kapl/rev1:default:flash
19
20See 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).
21
22## Bootloader
23
24Enter the bootloader in 2 ways:
25
26* **Physical reset button**: Briefly press the reset button on the PCB
27* **Keycode in layout**: Press the key mapped to `RESET` if it is available
diff --git a/keyboards/kapl/rev1/config.h b/keyboards/kapl/rev1/config.h
new file mode 100644
index 000000000..12007a3a1
--- /dev/null
+++ b/keyboards/kapl/rev1/config.h
@@ -0,0 +1,55 @@
1// Copyright 2022 Alexander Lozyuk (@keyzog)
2// SPDX-License-Identifier: GPL-2.0-or-later
3#pragma once
4
5
6/* USB Device descriptor parameter */
7#define VENDOR_ID 0x4C41 // "LA" Lozyuk Alexander
8#define PRODUCT_ID 0x0001
9#define DEVICE_VER 0x0001
10#define MANUFACTURER keyzog
11#define PRODUCT Kapl Keyboard
12
13/* key matrix size */
14/* Rows are doubled up */
15#define MATRIX_ROWS 10
16#define MATRIX_COLS 7
17
18// wiring of each half
19#define MATRIX_ROW_PINS { C6, D7, E6, B4, B5 }
20#define MATRIX_COL_PINS { F5, F6, F7, B1, B3, B2, B6 }
21
22/* COL2ROW, ROW2COL*/
23#define DIODE_DIRECTION COL2ROW
24
25/* Set 0 if debouncing isn't needed */
26#define DEBOUNCE 5
27
28
29/* Serial settings */
30#define USE_SERIAL
31
32/* serial.c configuration for split keyboard */
33#define SOFT_SERIAL_PIN D2
34
35/* Select hand configuration */
36#define MASTER_LEFT
37
38#define RGB_DI_PIN D4
39#define RGBLED_NUM 88
40#define RGBLED_SPLIT { 44, 44 }
41#define RGBLIGHT_SPLIT
42#define RGBLIGHT_LIMIT_VAL 120 // limits maximum brightness of LEDs to 150 out of 255. Higher may cause the controller to crash.
43
44#define DRIVER_LED_TOTAL 88
45#define RGB_MATRIX_SPLIT { 44, 44 }
46#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 120 // limits maximum brightness of LEDs to 150 out of 255. Higher may cause the controller to crash.
47#define SPLIT_TRANSPORT_MIRROR
48
49/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
50#define LOCKING_SUPPORT_ENABLE
51/* Locking resynchronize hack */
52#define LOCKING_RESYNC_ENABLE
53
54#define SPLIT_LAYER_STATE_ENABLE
55#define SPLIT_LED_STATE_ENABLE
diff --git a/keyboards/kapl/rev1/rev1.c b/keyboards/kapl/rev1/rev1.c
new file mode 100644
index 000000000..b51021307
--- /dev/null
+++ b/keyboards/kapl/rev1/rev1.c
@@ -0,0 +1,55 @@
1// Copyright 2022 Alexander Lozyuk (@keyzog)
2// SPDX-License-Identifier: GPL-2.0-or-later
3#include "kapl.h"
4
5#ifdef RGB_MATRIX_ENABLE
6led_config_t g_led_config = { {
7 // Left Hand
8 // { 8, 7, 6, 5, 4, 3, 2, 1, 0 }, // underglow
9 { 9, 10, 11, 12, 13, 14, 15 },
10 { 22, 21, 20, 19, 18, 17, 16 },
11 { 23, 24, 25, 26, 27, 28, 29 },
12 { 36, 35, 34, 33, 32, 31, 30 },
13 { 37, 38, 39, 40, 41, 42, 43 },
14
15 // Right Hand
16 // { 44, 45, 46, 47, 48, 49, 50, 51, 52 }, // underglow
17 { 53, 54, 55, 56, 57, 58, 59 },
18 { 66, 65, 64, 63, 62, 61, 60 },
19 { 67, 68, 69, 70, 71, 72, 73 },
20 { 80, 79, 78, 77, 76, 75, 74 },
21 { 81, 82, 83, 84, 85, 86, 87 }
22}, {
23 // Left Hand
24 {96, 57}, {112, 44}, {112, 19}, {80, 19}, {48, 19}, {16, 19}, {16, 57}, {48, 57}, {80, 57}, // underglow
25 {0, 0}, {17, 0}, {34, 0}, {52, 0}, {69, 0}, {86, 0}, {103, 0},
26 {103, 16}, {86, 16}, {69, 16}, {52, 16}, {34, 16}, {17, 16}, {0, 16},
27 {0, 32}, {17, 32}, {34, 32}, {52, 32}, {69, 32}, {86, 32}, {103, 32},
28 {103, 48}, {86, 48}, {69, 48}, {52, 48}, {34, 48}, {17, 48}, {0, 48},
29 {0, 64}, {17, 64}, {34, 64}, {52, 64}, {69, 64}, {86, 64}, {103, 64},
30
31 // Right Hand
32 {144, 57}, {128, 44}, {128, 19}, {160, 19}, {192, 19}, {224, 19}, {224, 57}, {192, 57}, {160, 57}, // underglow
33 {224, 0}, {207, 0}, {190, 0}, {172, 0}, {155, 0}, {138, 0}, {121, 0},
34 {121, 16}, {138, 16}, {155, 16}, {172, 16}, {190, 16}, {207, 16}, {224, 16},
35 {224, 32}, {207, 32}, {190, 32}, {172, 32}, {155, 32}, {138, 32}, {121, 32},
36 {121, 48}, {138, 48}, {155, 48}, {172, 48}, {190, 48}, {207, 48}, {224, 48},
37 {224, 64}, {207, 64}, {190, 64}, {172, 64}, {155, 64}, {138, 64}, {121, 64}
38}, {
39 // Left Hand
40 2, 2, 2, 2, 2, 2, 2, 2, 2, // underglow
41 1, 4, 4, 4, 4, 4, 1,
42 1, 4, 4, 4, 4, 4, 1,
43 1, 4, 4, 4, 4, 4, 1,
44 1, 4, 4, 4, 4, 4, 1,
45 1, 1, 1, 1, 1, 1, 1,
46
47 // Right Hand
48 2, 2, 2, 2, 2, 2, 2, 2, 2, // underglow
49 1, 4, 4, 4, 4, 4, 1,
50 1, 4, 4, 4, 4, 4, 1,
51 1, 4, 4, 4, 4, 4, 1,
52 1, 4, 4, 4, 4, 4, 1,
53 1, 1, 1, 1, 1, 1, 1
54} };
55#endif
diff --git a/keyboards/kapl/rev1/rev1.h b/keyboards/kapl/rev1/rev1.h
new file mode 100644
index 000000000..68649a799
--- /dev/null
+++ b/keyboards/kapl/rev1/rev1.h
@@ -0,0 +1,34 @@
1// Copyright 2022 Alexander Lozyuk (@keyzog)
2// SPDX-License-Identifier: GPL-2.0-or-later
3#pragma once
4
5#include "kapl.h"
6
7/* This a shortcut to help you visually see your layout.
8 *
9 * The first section contains all of the arguments representing the physical
10 * layout of the board and position of the keys.
11 *
12 * The second converts the arguments into a two-dimensional array which
13 * represents the switch matrix.
14 */
15
16#define LAYOUT( \
17 L00, L01, L02, L03, L04, L05, L06, R00, R01, R02, R03, R04, R05, R06, \
18 L10, L11, L12, L13, L14, L15, L16, R10, R11, R12, R13, R14, R15, R16, \
19 L20, L21, L22, L23, L24, L25, L26, R20, R21, R22, R23, R24, R25, R26, \
20 L30, L31, L32, L33, L34, L35, L36, R30, R31, R32, R33, R34, R35, R36, \
21 L40, L41, L42, L43, L44, L45, L46, R40, R41, R42, R43, R44, R45, R46 \
22) \
23{ \
24 { L00, L01, L02, L03, L04, L05, L06 }, \
25 { L10, L11, L12, L13, L14, L15, L16 }, \
26 { L20, L21, L22, L23, L24, L25, L26 }, \
27 { L30, L31, L32, L33, L34, L35, L36 }, \
28 { L40, L41, L42, L43, L44, L45, L46 }, \
29 { R06, R05, R04, R03, R02, R01, R00 }, \
30 { R16, R15, R14, R13, R12, R11, R10 }, \
31 { R26, R25, R24, R23, R22, R21, R20 }, \
32 { R36, R35, R34, R33, R32, R31, R30 }, \
33 { R46, R45, R44, R43, R42, R41, R40 } \
34}
diff --git a/keyboards/kapl/rev1/rules.mk b/keyboards/kapl/rev1/rules.mk
new file mode 100644
index 000000000..e3a413769
--- /dev/null
+++ b/keyboards/kapl/rev1/rules.mk
@@ -0,0 +1,5 @@
1# Do not enable RGB_MATRIX_ENABLE together with RGBLIGHT_ENABLE
2RGB_MATRIX_ENABLE = yes
3RGB_MATRIX_DRIVER = WS2812
4
5LTO_ENABLE = yes
diff --git a/keyboards/kapl/rules.mk b/keyboards/kapl/rules.mk
new file mode 100644
index 000000000..19a0cb5fa
--- /dev/null
+++ b/keyboards/kapl/rules.mk
@@ -0,0 +1,21 @@
1# MCU name
2MCU = atmega32u4
3
4# Bootloader selection
5BOOTLOADER = caterina
6
7# Build Options
8# change yes to no to disable
9#
10BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
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
15NKRO_ENABLE = no # Enable N-Key Rollover
16BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
17RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
18AUDIO_ENABLE = no # Audio output
19SPLIT_KEYBOARD = yes # Split common
20
21DEFAULT_FOLDER = kapl/rev1