mirror of
https://github.com/qmk/qmk_firmware.git
synced 2025-07-16 04:41:28 +00:00
Add keyboard Lily58 Koca (#24847)
Co-authored-by: Ryan <fauxpark@gmail.com> Co-authored-by: Drashna Jaelre <drashna@live.com> Co-authored-by: Dasky <32983009+daskygit@users.noreply.github.com>
This commit is contained in:
parent
0516cf5ed8
commit
f4aa8ae845
8
keyboards/koca58/board.h
Normal file
8
keyboards/koca58/board.h
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
/* Copyright 2025 oxnh */
|
||||||
|
/* SPDX-License-Identifier: GPL-2.0-or-later */
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include_next <board.h>
|
||||||
|
|
||||||
|
#undef STM32_HSECLK
|
||||||
|
#define STM32_HSECLK 12000000U
|
10
keyboards/koca58/config.h
Normal file
10
keyboards/koca58/config.h
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
/* Copyright 2025 oxnh */
|
||||||
|
/* SPDX-License-Identifier: GPL-2.0-or-later */
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#define SERIAL_USART_FULL_DUPLEX // Enable full duplex operation mode.
|
||||||
|
#define SERIAL_USART_TX_PIN C10 // USART TX pin
|
||||||
|
#define SERIAL_USART_RX_PIN C11 // USART RX pin
|
||||||
|
#define SERIAL_USART_DRIVER SD3
|
||||||
|
#define USART3_PARTIALREMAP
|
||||||
|
|
7
keyboards/koca58/halconf.h
Normal file
7
keyboards/koca58/halconf.h
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
/* Copyright 2025 oxnh */
|
||||||
|
/* SPDX-License-Identifier: GPL-2.0-or-later */
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#define HAL_USE_SERIAL TRUE
|
||||||
|
|
||||||
|
#include_next <halconf.h>
|
100
keyboards/koca58/keyboard.json
Normal file
100
keyboards/koca58/keyboard.json
Normal file
@ -0,0 +1,100 @@
|
|||||||
|
{
|
||||||
|
"manufacturer": "oxnh",
|
||||||
|
"keyboard_name": "Koca58",
|
||||||
|
"maintainer": "oxnh",
|
||||||
|
"bootloader": "stm32duino",
|
||||||
|
"features": {
|
||||||
|
"bootmagic": true,
|
||||||
|
"extrakey": true,
|
||||||
|
"mousekey": true,
|
||||||
|
"nkro": true
|
||||||
|
},
|
||||||
|
"matrix_pins": {
|
||||||
|
"direct": [["A10", "A9", "A8", "C9", "C8", "C7", "B2", "B13", "B12", "B14", "B15", "C6", "A6", "A7", "C4", "C5", "B0", "B1", "B5", "A0", "A1", "A2", "A3", "A4", "A5", "C14", "C13", "B7", "B6"]]
|
||||||
|
},
|
||||||
|
"processor": "STM32F103",
|
||||||
|
"split": {
|
||||||
|
"enabled": true,
|
||||||
|
"handedness": {
|
||||||
|
"pin": "C15"
|
||||||
|
},
|
||||||
|
"matrix_pins": {
|
||||||
|
"right": {
|
||||||
|
"direct": [["A10", "A9", "A8", "C9", "C8", "C7", "B2", "B13", "B12", "B14", "B15", "C6", "A6", "A7", "C4", "C5", "B0", "B1", "C14", "A0", "A1", "A2", "A3", "A4", "A5", "C13", "B7", "B6", "B5"]]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"serial": {
|
||||||
|
"driver": "usart"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"url": "https://github.com/Hardware7253/Koca58",
|
||||||
|
"usb": {
|
||||||
|
"device_version": "1.0.0",
|
||||||
|
"pid": "0x5106",
|
||||||
|
"vid": "0x4C17"
|
||||||
|
},
|
||||||
|
"layouts": {
|
||||||
|
"LAYOUT": {
|
||||||
|
"layout": [
|
||||||
|
{"matrix": [0, 0], "x": 0, "y": 0.45},
|
||||||
|
{"matrix": [0, 1], "x": 1, "y": 0.375},
|
||||||
|
{"matrix": [0, 2], "x": 2, "y": 0.125},
|
||||||
|
{"matrix": [0, 3], "x": 3, "y": 0},
|
||||||
|
{"matrix": [0, 4], "x": 4, "y": 0.125},
|
||||||
|
{"matrix": [0, 5], "x": 5, "y": 0.25},
|
||||||
|
{"matrix": [1, 0], "x": 10, "y": 0.25},
|
||||||
|
{"matrix": [1, 1], "x": 11, "y": 0.125},
|
||||||
|
{"matrix": [1, 2], "x": 12, "y": 0},
|
||||||
|
{"matrix": [1, 3], "x": 13, "y": 0.125},
|
||||||
|
{"matrix": [1, 4], "x": 14, "y": 0.375},
|
||||||
|
{"matrix": [1, 5], "x": 15, "y": 0.45},
|
||||||
|
{"matrix": [0, 6], "x": 0, "y": 1.45},
|
||||||
|
{"matrix": [0, 7], "x": 1, "y": 1.375},
|
||||||
|
{"matrix": [0, 8], "x": 2, "y": 1.125},
|
||||||
|
{"matrix": [0, 9], "x": 3, "y": 1},
|
||||||
|
{"matrix": [0, 10], "x": 4, "y": 1.125},
|
||||||
|
{"matrix": [0, 11], "x": 5, "y": 1.25},
|
||||||
|
{"matrix": [1, 6], "x": 10, "y": 1.25},
|
||||||
|
{"matrix": [1, 7], "x": 11, "y": 1.125},
|
||||||
|
{"matrix": [1, 8], "x": 12, "y": 1},
|
||||||
|
{"matrix": [1, 9], "x": 13, "y": 1.125},
|
||||||
|
{"matrix": [1, 10], "x": 14, "y": 1.375},
|
||||||
|
{"matrix": [1, 11], "x": 15, "y": 1.45},
|
||||||
|
{"matrix": [0, 12], "x": 0, "y": 2.45},
|
||||||
|
{"matrix": [0, 13], "x": 1, "y": 2.375},
|
||||||
|
{"matrix": [0, 14], "x": 2, "y": 2.125},
|
||||||
|
{"matrix": [0, 15], "x": 3, "y": 2},
|
||||||
|
{"matrix": [0, 16], "x": 4, "y": 2.125},
|
||||||
|
{"matrix": [0, 17], "x": 5, "y": 2.25},
|
||||||
|
{"matrix": [1, 12], "x": 10, "y": 2.25},
|
||||||
|
{"matrix": [1, 13], "x": 11, "y": 2.125},
|
||||||
|
{"matrix": [1, 14], "x": 12, "y": 2},
|
||||||
|
{"matrix": [1, 15], "x": 13, "y": 2.125},
|
||||||
|
{"matrix": [1, 16], "x": 14, "y": 2.375},
|
||||||
|
{"matrix": [1, 17], "x": 15, "y": 2.45},
|
||||||
|
{"matrix": [0, 19], "x": 0, "y": 3.45},
|
||||||
|
{"matrix": [0, 20], "x": 1, "y": 3.375},
|
||||||
|
{"matrix": [0, 21], "x": 2, "y": 3.125},
|
||||||
|
{"matrix": [0, 22], "x": 3, "y": 3},
|
||||||
|
{"matrix": [0, 23], "x": 4, "y": 3.125},
|
||||||
|
{"matrix": [0, 24], "x": 5, "y": 3.25},
|
||||||
|
{"matrix": [0, 18], "x": 6, "y": 2.75},
|
||||||
|
{"matrix": [1, 18], "x": 9, "y": 2.75},
|
||||||
|
{"matrix": [1, 19], "x": 10, "y": 3.25},
|
||||||
|
{"matrix": [1, 20], "x": 11, "y": 3.125},
|
||||||
|
{"matrix": [1, 21], "x": 12, "y": 3},
|
||||||
|
{"matrix": [1, 22], "x": 13, "y": 3.125},
|
||||||
|
{"matrix": [1, 23], "x": 14, "y": 3.375},
|
||||||
|
{"matrix": [1, 24], "x": 15, "y": 3.45},
|
||||||
|
{"matrix": [0, 25], "x": 2.5, "y": 4.15},
|
||||||
|
{"matrix": [0, 26], "x": 3.5, "y": 4.15},
|
||||||
|
{"matrix": [0, 27], "x": 4.5, "y": 4.25},
|
||||||
|
{"matrix": [0, 28], "x": 6, "y": 4.25, "h": 1.5},
|
||||||
|
{"matrix": [1, 25], "x": 9, "y": 4.25, "h": 1.5},
|
||||||
|
{"matrix": [1, 26], "x": 10.45, "y": 4.25},
|
||||||
|
{"matrix": [1, 27], "x": 11.5, "y": 4.15},
|
||||||
|
{"matrix": [1, 28], "x": 12.5, "y": 4.15}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
78
keyboards/koca58/keymaps/default/keymap.c
Normal file
78
keyboards/koca58/keymaps/default/keymap.c
Normal file
@ -0,0 +1,78 @@
|
|||||||
|
/* Copyright 2025 oxnh */
|
||||||
|
/* SPDX-License-Identifier: GPL-2.0-or-later */
|
||||||
|
|
||||||
|
#include QMK_KEYBOARD_H
|
||||||
|
|
||||||
|
enum layer_number {
|
||||||
|
_QWERTY = 0,
|
||||||
|
_LOWER,
|
||||||
|
_RAISE,
|
||||||
|
_ADJUST,
|
||||||
|
};
|
||||||
|
|
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
/* QWERTY
|
||||||
|
* ,-----------------------------------------. ,-----------------------------------------.
|
||||||
|
* | ESC | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | ` |
|
||||||
|
* |------+------+------+------+------+------| |------+------+------+------+------+------|
|
||||||
|
* | Tab | Q | W | E | R | T | | Y | U | I | O | P | - |
|
||||||
|
* |------+------+------+------+------+------| |------+------+------+------+------+------|
|
||||||
|
* |LCTRL | A | S | D | F | G |-------. ,-------| H | J | K | L | ; | ' |
|
||||||
|
* |------+------+------+------+------+------| [ | | ] |------+------+------+------+------+------|
|
||||||
|
* |LShift| Z | X | C | V | B |-------| |-------| N | M | , | . | / |RShift|
|
||||||
|
* `-----------------------------------------/ / \ \-----------------------------------------'
|
||||||
|
* | LAlt | LGUI |LOWER | /Space / \Enter \ |RAISE |BackSP| RGUI |
|
||||||
|
* | | | |/ / \ \ | | | |
|
||||||
|
* `----------------------------' '------''--------------------'
|
||||||
|
*/
|
||||||
|
[_QWERTY] = LAYOUT(
|
||||||
|
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_GRV,
|
||||||
|
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_MINS,
|
||||||
|
KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, 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_LBRC, KC_RBRC, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
|
||||||
|
KC_LALT, KC_LGUI, MO(_LOWER), KC_SPC, KC_ENT, MO(_RAISE), KC_BSPC, KC_RGUI
|
||||||
|
),
|
||||||
|
/* LOWER
|
||||||
|
* ,-----------------------------------------. ,-----------------------------------------.
|
||||||
|
* | | | | | | | | | | | | | |
|
||||||
|
* |------+------+------+------+------+------| |------+------+------+------+------+------|
|
||||||
|
* | F1 | F2 | F3 | F4 | F5 | F6 | | F7 | F8 | F9 | F10 | F11 | F12 |
|
||||||
|
* |------+------+------+------+------+------| |------+------+------+------+------+------|
|
||||||
|
* | ` | ! | @ | # | $ | % |-------. ,-------| ^ | & | * | ( | ) | ~ |
|
||||||
|
* |------+------+------+------+------+------| [ | | ] |------+------+------+------+------+------|
|
||||||
|
* | | | | | | |-------| |-------| | _ | + | { | } | | |
|
||||||
|
* `-----------------------------------------/ / \ \-----------------------------------------'
|
||||||
|
* | LAlt | LGUI |LOWER | /Space / \Enter \ |RAISE |BackSP| RGUI |
|
||||||
|
* | | | |/ / \ \ | | | |
|
||||||
|
* `----------------------------' '------''--------------------'
|
||||||
|
*/
|
||||||
|
[_LOWER] = LAYOUT(
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______,_______, _______, _______,
|
||||||
|
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_GRV, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_TILD,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______
|
||||||
|
),
|
||||||
|
/* RAISE
|
||||||
|
* ,-----------------------------------------. ,-----------------------------------------.
|
||||||
|
* | | | | | | | | | | | | | |
|
||||||
|
* |------+------+------+------+------+------| |------+------+------+------+------+------|
|
||||||
|
* | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | |
|
||||||
|
* |------+------+------+------+------+------| |------+------+------+------+------+------|
|
||||||
|
* | F1 | F2 | F3 | F4 | F5 | F6 |-------. ,-------| | Left | Down | Up |Right | |
|
||||||
|
* |------+------+------+------+------+------| [ | | ] |------+------+------+------+------+------|
|
||||||
|
* | F7 | F8 | F9 | F10 | F11 | F12 |-------| |-------| + | - | = | [ | ] | \ |
|
||||||
|
* `-----------------------------------------/ / \ \-----------------------------------------'
|
||||||
|
* | LAlt | LGUI |LOWER | /Space / \Enter \ |RAISE |BackSP| RGUI |
|
||||||
|
* | | | |/ / \ \ | | | |
|
||||||
|
* `----------------------------' '------''--------------------'
|
||||||
|
*/
|
||||||
|
|
||||||
|
[_RAISE] = LAYOUT(
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______,
|
||||||
|
KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, XXXXXXX,
|
||||||
|
KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, KC_PLUS, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______
|
||||||
|
)
|
||||||
|
};
|
11
keyboards/koca58/mcuconf.h
Normal file
11
keyboards/koca58/mcuconf.h
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
/* Copyright 2025 oxnh */
|
||||||
|
/* SPDX-License-Identifier: GPL-2.0-or-later */
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include_next <mcuconf.h>
|
||||||
|
|
||||||
|
#undef STM32_SERIAL_USE_USART3
|
||||||
|
#define STM32_SERIAL_USE_USART3 TRUE
|
||||||
|
|
||||||
|
#undef STM32_PLLMUL_VALUE
|
||||||
|
#define STM32_PLLMUL_VALUE 6
|
25
keyboards/koca58/readme.md
Normal file
25
keyboards/koca58/readme.md
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
# Koca58
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
A Lily58 variant featuring SMT components, powered by an STM32F103 MCU and utilizing direct wiring. If you have a Lily58 with a soldered dev board (e.g., pro micro), please visit the original [Lily58](/keyboards/lily58) directory.
|
||||||
|
|
||||||
|
* Keyboard Maintainer: [oxnh](https://github.com/Hardware7253)
|
||||||
|
* Hardware Supported: All Koca58 PCBs
|
||||||
|
* Hardware Availability: [Open source design](https://github.com/Hardware7253/Koca58)
|
||||||
|
|
||||||
|
Make example for this keyboard (after setting up your build environment):
|
||||||
|
|
||||||
|
make koca58:default
|
||||||
|
|
||||||
|
Flashing example for this keyboard:
|
||||||
|
|
||||||
|
make koca58: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:
|
||||||
|
|
||||||
|
* **Physical reset button**: Briefly press the button on the back of the PCB before or during uploading firmware
|
Loading…
Reference in New Issue
Block a user