[Keyboard] Add Kapl (#16255)

Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
This commit is contained in:
Alexander 2022-02-09 08:19:54 +03:00 committed by GitHub
parent 04020da48c
commit 71a48a0102
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
15 changed files with 502 additions and 0 deletions

5
keyboards/kapl/config.h Normal file
View file

@ -0,0 +1,5 @@
// Copyright 2022 Alexander Lozyuk (@keyzog)
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
#include "config_common.h"

85
keyboards/kapl/info.json Normal file
View file

@ -0,0 +1,85 @@
{
"keyboard_name": "Kapl",
"url": "https://github.com/keyzog/kapl",
"maintainer": "keyzog",
"layouts": {
"LAYOUT": {
"layout": [
{"label":"L00", "x":0, "y":0.38},
{"label":"L01", "x":1, "y":0.38},
{"label":"L02", "x":2, "y":0.13},
{"label":"L03", "x":3, "y":0},
{"label":"L04", "x":4, "y":0.13},
{"label":"L05", "x":5, "y":0.25},
{"label":"L06", "x":6, "y":0.35},
{"label":"R00", "x":8.67, "y":0.35},
{"label":"R01", "x":9.67, "y":0.25},
{"label":"R02", "x":10.67, "y":0.13},
{"label":"R03", "x":11.67, "y":0},
{"label":"R04", "x":12.67, "y":0.13},
{"label":"R05", "x":13.67, "y":0.38},
{"label":"R06", "x":14.67, "y":0.38},
{"label":"L10", "x":0, "y":1.38},
{"label":"L11", "x":1, "y":1.38},
{"label":"L12", "x":2, "y":1.13},
{"label":"L13", "x":3, "y":1},
{"label":"L14", "x":4, "y":1.13},
{"label":"L15", "x":5, "y":1.25},
{"label":"L16", "x":6, "y":1.35},
{"label":"R10", "x":8.67, "y":1.35},
{"label":"R11", "x":9.67, "y":1.25},
{"label":"R12", "x":10.67, "y":1.13},
{"label":"R13", "x":11.67, "y":1},
{"label":"R14", "x":12.67, "y":1.13},
{"label":"R15", "x":13.67, "y":1.38},
{"label":"R16", "x":14.67, "y":1.38},
{"label":"L20", "x":0, "y":2.38},
{"label":"L21", "x":1, "y":2.38},
{"label":"L22", "x":2, "y":2.13},
{"label":"L23", "x":3, "y":2.0},
{"label":"L24", "x":4, "y":2.13},
{"label":"L25", "x":5, "y":2.25},
{"label":"L26", "x":6, "y":2.35},
{"label":"R20", "x":8.67, "y":2.35},
{"label":"R21", "x":9.67, "y":2.25},
{"label":"R22", "x":10.67, "y":2.13},
{"label":"R23", "x":11.67, "y":2.0},
{"label":"R24", "x":12.67, "y":2.13},
{"label":"R25", "x":13.67, "y":2.38},
{"label":"R26", "x":14.67, "y":2.38},
{"label":"L30", "x":0, "y":3.38},
{"label":"L31", "x":1, "y":3.38},
{"label":"L32", "x":2, "y":3.13},
{"label":"L33", "x":3, "y":3.0},
{"label":"L34", "x":4, "y":3.13},
{"label":"L35", "x":5, "y":3.25},
{"label":"L36", "x":6, "y":3.35},
{"label":"R30", "x":8.67, "y":3.35},
{"label":"R31", "x":9.67, "y":3.25},
{"label":"R32", "x":10.67, "y":3.13},
{"label":"R33", "x":11.67, "y":3.0},
{"label":"R34", "x":12.67, "y":3.13},
{"label":"R35", "x":13.67, "y":3.38},
{"label":"R36", "x":14.67, "y":3.38},
{"label":"L40", "x":0, "y":4.38},
{"label":"L41", "x":1, "y":4.38},
{"label":"L42", "x":2, "y":4.13},
{"label":"L43", "x":3, "y":4.0},
{"label":"L44", "x":4, "y":4.13},
{"label":"L45", "x":5.35, "y":4.92},
{"label":"L46", "x":6.35, "y":4.45, "h":1.5},
{"label":"R40", "x":8.02, "y":4.45, "h":1.5},
{"label":"R41", "x":9.02, "y":4.92},
{"label":"R42", "x":10.67, "y":4.13},
{"label":"R43", "x":11.67, "y":4.0},
{"label":"R44", "x":12.67, "y":4.13},
{"label":"R45", "x":13.67, "y":4.38},
{"label":"R46", "x":14.67, "y":4.38}
]
}
}
}

3
keyboards/kapl/kapl.c Normal file
View file

@ -0,0 +1,3 @@
// Copyright 2022 Alexander Lozyuk (@keyzog)
// SPDX-License-Identifier: GPL-2.0-or-later
#include "kapl.h"

8
keyboards/kapl/kapl.h Normal file
View file

@ -0,0 +1,8 @@
// Copyright 2022 Alexander Lozyuk (@keyzog)
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
#include "quantum.h"
#ifdef KEYBOARD_kapl_rev1
# include "rev1.h"
#endif

View file

@ -0,0 +1,45 @@
// Copyright 2022 Alexander Lozyuk (@keyzog)
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
#ifdef RGBLIGHT_ENABLE
#define RGBLIGHT_EFFECT_BREATHING
#define RGBLIGHT_EFFECT_RAINBOW_MOOD
#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
#define RGBLIGHT_EFFECT_CHRISTMAS
#define RGBLIGHT_EFFECT_STATIC_GRADIENT
#define RGBLIGHT_EFFECT_TWINKLE
#define RGBLIGHT_HUE_STEP 8
#define RGBLIGHT_SAT_STEP 16
#define RGBLIGHT_VAL_STEP 16
#endif
#ifdef RGB_MATRIX_ENABLE
#define RGB_MATRIX_HUE_STEP 8
#define RGB_MATRIX_SAT_STEP 16
#define RGB_MATRIX_VAL_STEP 16
#define RGB_MATRIX_SPD_STEP 10
// EFFECTS
#define ENABLE_RGB_MATRIX_ALPHAS_MODS
#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
#define ENABLE_RGB_MATRIX_BREATHING
#define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
#define ENABLE_RGB_MATRIX_CYCLE_ALL
#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
#define ENABLE_RGB_MATRIX_HUE_BREATHING
#define ENABLE_RGB_MATRIX_HUE_WAVE
// KEYPRESSES EFFECTS
#define RGB_MATRIX_KEYPRESSES
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
#define ENABLE_RGB_MATRIX_MULTISPLASH
#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
#endif

View file

@ -0,0 +1,49 @@
// Copyright 2022 Alexander Lozyuk (@keyzog)
// SPDX-License-Identifier: GPL-2.0-or-later
#include QMK_KEYBOARD_H
#define SPC_FN LT(1,KC_SPC)
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT(
//┌────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┐
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,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
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,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
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,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
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,
//├────────┼────────┼────────┼────────┼────────┼─┬──────┴─┬──────┴─┐ ┌─┴──────┬─┴──────┬─┼────────┼────────┼────────┼────────┼────────┤
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
//└────────┴────────┴────────┴────────┴────────┘ └────────┴────────┘ └────────┴────────┘ └────────┴────────┴────────┴────────┴────────┘
),
[1] = LAYOUT( // "FN" Funcional
//┌────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┐
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,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
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,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
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,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
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,
//├────────┼────────┼────────┼────────┼────────┼─┬──────┴─┬──────┴─┐ ┌─┴──────┬─┴──────┬─┼────────┼────────┼────────┼────────┼────────┤
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
//└────────┴────────┴────────┴────────┴────────┘ └────────┴────────┘ └────────┴────────┘ └────────┴────────┴────────┴────────┴────────┘
),
[2] = LAYOUT( // "CNT" Control
//┌────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┐
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,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
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,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
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,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
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,
//├────────┼────────┼────────┼────────┼────────┼─┬──────┴─┬──────┴─┐ ┌─┴──────┬─┴──────┬─┼────────┼────────┼────────┼────────┼────────┤
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
//└────────┴────────┴────────┴────────┴────────┘ └────────┴────────┘ └────────┴────────┘ └────────┴────────┴────────┴────────┴────────┘
)
};

View file

@ -0,0 +1,45 @@
// Copyright 2022 Alexander Lozyuk (@keyzog)
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
#ifdef RGBLIGHT_ENABLE
#define RGBLIGHT_EFFECT_BREATHING
#define RGBLIGHT_EFFECT_RAINBOW_MOOD
#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
#define RGBLIGHT_EFFECT_CHRISTMAS
#define RGBLIGHT_EFFECT_STATIC_GRADIENT
#define RGBLIGHT_EFFECT_TWINKLE
#define RGBLIGHT_HUE_STEP 8
#define RGBLIGHT_SAT_STEP 16
#define RGBLIGHT_VAL_STEP 16
#endif
#ifdef RGB_MATRIX_ENABLE
#define RGB_MATRIX_HUE_STEP 8
#define RGB_MATRIX_SAT_STEP 16
#define RGB_MATRIX_VAL_STEP 16
#define RGB_MATRIX_SPD_STEP 10
// EFFECTS
#define ENABLE_RGB_MATRIX_ALPHAS_MODS
#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
#define ENABLE_RGB_MATRIX_BREATHING
#define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
#define ENABLE_RGB_MATRIX_CYCLE_ALL
#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
#define ENABLE_RGB_MATRIX_HUE_BREATHING
#define ENABLE_RGB_MATRIX_HUE_WAVE
// KEYPRESSES EFFECTS
#define RGB_MATRIX_KEYPRESSES
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
#define ENABLE_RGB_MATRIX_MULTISPLASH
#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
#endif

View file

@ -0,0 +1,64 @@
// Copyright 2022 Alexander Lozyuk (@keyzog)
// SPDX-License-Identifier: GPL-2.0-or-later
#include QMK_KEYBOARD_H
#define ____ KC_TRNS
#define SPC_FN LT(1,KC_SPC)
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT(
//┌────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┐
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,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
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,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
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,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
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,
//├────────┼────────┼────────┼────────┼────────┼─┬──────┴─┬──────┴─┐ ┌─┴──────┬─┴──────┬─┼────────┼────────┼────────┼────────┼────────┤
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
//└────────┴────────┴────────┴────────┴────────┘ └────────┴────────┘ └────────┴────────┘ └────────┴────────┴────────┴────────┴────────┘
),
[1] = LAYOUT( // "FN" Funcional
//┌────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┐
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,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
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,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
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,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
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,
//├────────┼────────┼────────┼────────┼────────┼─┬──────┴─┬──────┴─┐ ┌─┴──────┬─┴──────┬─┼────────┼────────┼────────┼────────┼────────┤
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
//└────────┴────────┴────────┴────────┴────────┘ └────────┴────────┘ └────────┴────────┘ └────────┴────────┴────────┴────────┴────────┘
),
[2] = LAYOUT( // "CNT" Control
//┌────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┐
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,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
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,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
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,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
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,
//├────────┼────────┼────────┼────────┼────────┼─┬──────┴─┬──────┴─┐ ┌─┴──────┬─┴──────┬─┼────────┼────────┼────────┼────────┼────────┤
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
//└────────┴────────┴────────┴────────┴────────┘ └────────┴────────┘ └────────┴────────┘ └────────┴────────┴────────┴────────┴────────┘
),
[3] = LAYOUT(
//┌────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┐
____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____,
//├────────┼────────┼────────┼────────┼────────┼─┬──────┴─┬──────┴─┐ ┌─┴──────┬─┴──────┬─┼────────┼────────┼────────┼────────┼────────┤
____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____
//└────────┴────────┴────────┴────────┴────────┘ └────────┴────────┘ └────────┴────────┘ └────────┴────────┴────────┴────────┴────────┘
)
};

View file

@ -0,0 +1 @@
VIA_ENABLE = yes

27
keyboards/kapl/readme.md Normal file
View file

@ -0,0 +1,27 @@
# Kapl Keyboard
![Kapl Keyboard](https://i.imgur.com/XH8APgi.jpg)
![Kapl PCB](https://i.imgur.com/uir2nQq.jpg)
The Kapl is a split ergonomic keyboard with 70 keys (7x5).
* Keyboard Maintainer: [keyzog](https://github.com/keyzog)
* Hardware Supported: Kapl PCB / Pro Micro
* Hardware Availability: Order PCBs with gerber files from the [repository](https://github.com/keyzog/kapl/tree/main/gerbers)
Make example for this keyboard (after setting up your build environment):
make kapl/rev1:default
Flashing example for this keyboard:
make kapl/rev1:default:flash
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
## Bootloader
Enter the bootloader in 2 ways:
* **Physical reset button**: Briefly press the reset button on the PCB
* **Keycode in layout**: Press the key mapped to `RESET` if it is available

View file

@ -0,0 +1,55 @@
// Copyright 2022 Alexander Lozyuk (@keyzog)
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
/* USB Device descriptor parameter */
#define VENDOR_ID 0x4C41 // "LA" Lozyuk Alexander
#define PRODUCT_ID 0x0001
#define DEVICE_VER 0x0001
#define MANUFACTURER keyzog
#define PRODUCT Kapl Keyboard
/* key matrix size */
/* Rows are doubled up */
#define MATRIX_ROWS 10
#define MATRIX_COLS 7
// wiring of each half
#define MATRIX_ROW_PINS { C6, D7, E6, B4, B5 }
#define MATRIX_COL_PINS { F5, F6, F7, B1, B3, B2, B6 }
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
/* Set 0 if debouncing isn't needed */
#define DEBOUNCE 5
/* Serial settings */
#define USE_SERIAL
/* serial.c configuration for split keyboard */
#define SOFT_SERIAL_PIN D2
/* Select hand configuration */
#define MASTER_LEFT
#define RGB_DI_PIN D4
#define RGBLED_NUM 88
#define RGBLED_SPLIT { 44, 44 }
#define RGBLIGHT_SPLIT
#define RGBLIGHT_LIMIT_VAL 120 // limits maximum brightness of LEDs to 150 out of 255. Higher may cause the controller to crash.
#define DRIVER_LED_TOTAL 88
#define RGB_MATRIX_SPLIT { 44, 44 }
#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 120 // limits maximum brightness of LEDs to 150 out of 255. Higher may cause the controller to crash.
#define SPLIT_TRANSPORT_MIRROR
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
#define LOCKING_SUPPORT_ENABLE
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
#define SPLIT_LAYER_STATE_ENABLE
#define SPLIT_LED_STATE_ENABLE

View file

@ -0,0 +1,55 @@
// Copyright 2022 Alexander Lozyuk (@keyzog)
// SPDX-License-Identifier: GPL-2.0-or-later
#include "kapl.h"
#ifdef RGB_MATRIX_ENABLE
led_config_t g_led_config = { {
// Left Hand
// { 8, 7, 6, 5, 4, 3, 2, 1, 0 }, // underglow
{ 9, 10, 11, 12, 13, 14, 15 },
{ 22, 21, 20, 19, 18, 17, 16 },
{ 23, 24, 25, 26, 27, 28, 29 },
{ 36, 35, 34, 33, 32, 31, 30 },
{ 37, 38, 39, 40, 41, 42, 43 },
// Right Hand
// { 44, 45, 46, 47, 48, 49, 50, 51, 52 }, // underglow
{ 53, 54, 55, 56, 57, 58, 59 },
{ 66, 65, 64, 63, 62, 61, 60 },
{ 67, 68, 69, 70, 71, 72, 73 },
{ 80, 79, 78, 77, 76, 75, 74 },
{ 81, 82, 83, 84, 85, 86, 87 }
}, {
// Left Hand
{96, 57}, {112, 44}, {112, 19}, {80, 19}, {48, 19}, {16, 19}, {16, 57}, {48, 57}, {80, 57}, // underglow
{0, 0}, {17, 0}, {34, 0}, {52, 0}, {69, 0}, {86, 0}, {103, 0},
{103, 16}, {86, 16}, {69, 16}, {52, 16}, {34, 16}, {17, 16}, {0, 16},
{0, 32}, {17, 32}, {34, 32}, {52, 32}, {69, 32}, {86, 32}, {103, 32},
{103, 48}, {86, 48}, {69, 48}, {52, 48}, {34, 48}, {17, 48}, {0, 48},
{0, 64}, {17, 64}, {34, 64}, {52, 64}, {69, 64}, {86, 64}, {103, 64},
// Right Hand
{144, 57}, {128, 44}, {128, 19}, {160, 19}, {192, 19}, {224, 19}, {224, 57}, {192, 57}, {160, 57}, // underglow
{224, 0}, {207, 0}, {190, 0}, {172, 0}, {155, 0}, {138, 0}, {121, 0},
{121, 16}, {138, 16}, {155, 16}, {172, 16}, {190, 16}, {207, 16}, {224, 16},
{224, 32}, {207, 32}, {190, 32}, {172, 32}, {155, 32}, {138, 32}, {121, 32},
{121, 48}, {138, 48}, {155, 48}, {172, 48}, {190, 48}, {207, 48}, {224, 48},
{224, 64}, {207, 64}, {190, 64}, {172, 64}, {155, 64}, {138, 64}, {121, 64}
}, {
// Left Hand
2, 2, 2, 2, 2, 2, 2, 2, 2, // underglow
1, 4, 4, 4, 4, 4, 1,
1, 4, 4, 4, 4, 4, 1,
1, 4, 4, 4, 4, 4, 1,
1, 4, 4, 4, 4, 4, 1,
1, 1, 1, 1, 1, 1, 1,
// Right Hand
2, 2, 2, 2, 2, 2, 2, 2, 2, // underglow
1, 4, 4, 4, 4, 4, 1,
1, 4, 4, 4, 4, 4, 1,
1, 4, 4, 4, 4, 4, 1,
1, 4, 4, 4, 4, 4, 1,
1, 1, 1, 1, 1, 1, 1
} };
#endif

View file

@ -0,0 +1,34 @@
// Copyright 2022 Alexander Lozyuk (@keyzog)
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
#include "kapl.h"
/* This a shortcut to help you visually see your layout.
*
* The first section contains all of the arguments representing the physical
* layout of the board and position of the keys.
*
* The second converts the arguments into a two-dimensional array which
* represents the switch matrix.
*/
#define LAYOUT( \
L00, L01, L02, L03, L04, L05, L06, R00, R01, R02, R03, R04, R05, R06, \
L10, L11, L12, L13, L14, L15, L16, R10, R11, R12, R13, R14, R15, R16, \
L20, L21, L22, L23, L24, L25, L26, R20, R21, R22, R23, R24, R25, R26, \
L30, L31, L32, L33, L34, L35, L36, R30, R31, R32, R33, R34, R35, R36, \
L40, L41, L42, L43, L44, L45, L46, R40, R41, R42, R43, R44, R45, R46 \
) \
{ \
{ L00, L01, L02, L03, L04, L05, L06 }, \
{ L10, L11, L12, L13, L14, L15, L16 }, \
{ L20, L21, L22, L23, L24, L25, L26 }, \
{ L30, L31, L32, L33, L34, L35, L36 }, \
{ L40, L41, L42, L43, L44, L45, L46 }, \
{ R06, R05, R04, R03, R02, R01, R00 }, \
{ R16, R15, R14, R13, R12, R11, R10 }, \
{ R26, R25, R24, R23, R22, R21, R20 }, \
{ R36, R35, R34, R33, R32, R31, R30 }, \
{ R46, R45, R44, R43, R42, R41, R40 } \
}

View file

@ -0,0 +1,5 @@
# Do not enable RGB_MATRIX_ENABLE together with RGBLIGHT_ENABLE
RGB_MATRIX_ENABLE = yes
RGB_MATRIX_DRIVER = WS2812
LTO_ENABLE = yes

21
keyboards/kapl/rules.mk Normal file
View file

@ -0,0 +1,21 @@
# MCU name
MCU = atmega32u4
# Bootloader selection
BOOTLOADER = caterina
# Build Options
# change yes to no to disable
#
BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
MOUSEKEY_ENABLE = yes # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = no # Commands for debug and configuration
NKRO_ENABLE = no # Enable N-Key Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
AUDIO_ENABLE = no # Audio output
SPLIT_KEYBOARD = yes # Split common
DEFAULT_FOLDER = kapl/rev1