Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

El Cantor HS keyboard. 44 key diodeless split keyboard with support for hotswap sockets. Based on diepala/cantor. #22531

Merged
merged 42 commits into from
Dec 14, 2023
Merged
Show file tree
Hide file tree
Changes from 40 commits
Commits
Show all changes
42 commits
Select commit Hold shift + click to select a range
6679236
Initial upload.
azhizhinov Nov 22, 2023
ea3e169
Update readme.md
azhizhinov Nov 22, 2023
fd88601
Delete keyboards/elcantorhs/keymaps/zeromist directory
azhizhinov Nov 22, 2023
6fdc789
Adding folder for VIA.
azhizhinov Nov 22, 2023
805c3e1
Update readme.md
azhizhinov Nov 22, 2023
0228367
Update readme.md
azhizhinov Nov 22, 2023
9a9be33
Update readme.md
azhizhinov Nov 22, 2023
1eba38c
Update readme.md
azhizhinov Nov 22, 2023
5fb1ddb
Update readme.md
azhizhinov Nov 22, 2023
f9516b1
Update keymap.c
azhizhinov Nov 22, 2023
cbef8fe
Update info.json
azhizhinov Nov 22, 2023
c9b13af
Update info.json
azhizhinov Nov 22, 2023
185e28a
Update info.json
azhizhinov Nov 22, 2023
6792458
Update info.json
azhizhinov Nov 22, 2023
c2232db
Update keymap.c
azhizhinov Nov 22, 2023
080b2f0
Update keymap.c
azhizhinov Nov 22, 2023
4834cf2
Update keymap.c
azhizhinov Nov 22, 2023
6f9bbec
Update config.h
azhizhinov Nov 22, 2023
a7b6dc8
Update halconf.h
azhizhinov Nov 22, 2023
5b231bf
Update mcuconf.h
azhizhinov Nov 22, 2023
70f88ba
Create keymap.c
azhizhinov Nov 22, 2023
45dd419
Update info.json
azhizhinov Nov 22, 2023
396cf4c
Update keyboards/elcantorhs/readme.md
azhizhinov Nov 22, 2023
acd9f67
Update keyboards/elcantorhs/info.json
azhizhinov Nov 22, 2023
1c1681b
Update keyboards/elcantorhs/info.json
azhizhinov Nov 22, 2023
d4bb686
Update keyboards/elcantorhs/info.json
azhizhinov Nov 22, 2023
4d53a99
Update keyboards/elcantorhs/rules.mk
azhizhinov Nov 22, 2023
ed3bd55
Update keyboards/elcantorhs/info.json
azhizhinov Nov 22, 2023
4802011
Update keyboards/elcantorhs/config.h
azhizhinov Nov 22, 2023
687242b
Update readme.md
azhizhinov Nov 22, 2023
51751b1
Update keyboards/elcantorhs/info.json
azhizhinov Nov 22, 2023
03ac7e0
Update config.h
azhizhinov Nov 22, 2023
7b8a11c
Update halconf.h
azhizhinov Nov 22, 2023
c5a9e3a
Update keymap.c
azhizhinov Nov 22, 2023
b846d72
Update keymap.c
azhizhinov Nov 22, 2023
0793b50
Update mcuconf.h
azhizhinov Nov 22, 2023
64f5b02
Update keyboards/elcantorhs/readme.md
azhizhinov Nov 23, 2023
9f24796
Merge branch 'master' into elcantorhs-qmk
azhizhinov Nov 28, 2023
3b64143
Update readme.md
azhizhinov Nov 29, 2023
b567c94
Merge branch 'master' into elcantorhs-qmk
azhizhinov Nov 29, 2023
6e5a6e9
Update keyboards/elcantorhs/config.h
azhizhinov Dec 12, 2023
a899292
Merge branch 'master' into elcantorhs-qmk
azhizhinov Dec 12, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions keyboards/elcantorhs/config.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
// Copyright 2021 azhizhinov (@azhizhinov)
// 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 B6 // USART TX pin
#define SERIAL_USART_RX_PIN B7 // USART RX pin
azhizhinov marked this conversation as resolved.
Show resolved Hide resolved
8 changes: 8 additions & 0 deletions keyboards/elcantorhs/halconf.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
// Copyright 2021 azhizhinov (@azhizhinov)
// SPDX-License-Identifier: GPL-2.0-or-later

#pragma once

#define HAL_USE_SERIAL TRUE

#include_next <halconf.h>
92 changes: 92 additions & 0 deletions keyboards/elcantorhs/info.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
{
"manufacturer": "azhizhinov",
"keyboard_name": "EL-CANTOR-HS",
"maintainer": "azhizhinov",
"features": {
"bootmagic": true,
"extrakey": true,
"mousekey": true,
"nkro": true
},
"development_board": "blackpill_f401",
"url": "https://github.com/azhizhinov/ELCANTORHS",
"usb": {
"device_version": "1.0.0",
"pid": "0x0001",
"vid": "0x415A"
},
"matrix_pins": {
"direct": [
["B1", "B10", "A8", "B15", "B14", "B13"],
["B9", "B8", "B5", "B4", "B3", "A15"],
["A3", "A4", "A5", "A6", "A7", "B0"],
["B12","A2", "A1", "A0", null, null]
]
},
"split": {
"enabled": true,
"bootmagic": {
azhizhinov marked this conversation as resolved.
Show resolved Hide resolved
"matrix": [4, 5]
},
"matrix_pins": {
"right": {
"direct": [
["B13", "B14", "B15", "A8", "B10", "B1"],
["A15", "B3", "B4", "B5", "B8", "B9"],
["B0", "A7", "A6", "A5", "A4", "A3"],
["A0", "A1", "A2", "B12", null, null]
]
}
}
},
"layouts": {
"LAYOUT": {
"layout": [
{"matrix": [0, 0], "x": 0, "y": 0.25},
{"matrix": [0, 1], "x": 1, "y": 0.25},
{"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": [4, 0], "x": 8, "y": 0.25},
{"matrix": [4, 1], "x": 9, "y": 0.125},
{"matrix": [4, 2], "x": 10, "y": 0},
{"matrix": [4, 3], "x": 11, "y": 0.125},
{"matrix": [4, 4], "x": 12, "y": 0.25},
{"matrix": [4, 5], "x": 13, "y": 0.25},
{"matrix": [1, 0], "x": 0, "y": 1.25},
{"matrix": [1, 1], "x": 1, "y": 1.25},
{"matrix": [1, 2], "x": 2, "y": 1.125},
{"matrix": [1, 3], "x": 3, "y": 1},
{"matrix": [1, 4], "x": 4, "y": 1.125},
{"matrix": [1, 5], "x": 5, "y": 1.25},
{"matrix": [5, 0], "x": 8, "y": 1.25},
{"matrix": [5, 1], "x": 9, "y": 1.125},
{"matrix": [5, 2], "x": 10, "y": 1},
{"matrix": [5, 3], "x": 11, "y": 1.125},
{"matrix": [5, 4], "x": 12, "y": 1.25},
{"matrix": [5, 5], "x": 13, "y": 1.25},
{"matrix": [2, 0], "x": 0, "y": 2.25},
{"matrix": [2, 1], "x": 1, "y": 2.25},
{"matrix": [2, 2], "x": 2, "y": 2.125},
{"matrix": [2, 3], "x": 3, "y": 2},
{"matrix": [2, 4], "x": 4, "y": 2.125},
{"matrix": [2, 5], "x": 5, "y": 2.25},
{"matrix": [6, 0], "x": 8, "y": 2.25},
{"matrix": [6, 1], "x": 9, "y": 2.125},
{"matrix": [6, 2], "x": 10, "y": 2},
{"matrix": [6, 3], "x": 11, "y": 2.125},
{"matrix": [6, 4], "x": 12, "y": 2.25},
{"matrix": [6, 5], "x": 13, "y": 2.25},
{"matrix": [3, 0], "x": 2.5, "y": 3},
{"matrix": [3, 1], "x": 3.5, "y": 3.25},
{"matrix": [3, 2], "x": 4.5, "y": 3.5},
{"matrix": [3, 3], "x": 5.5, "y": 3.75},
{"matrix": [7, 0], "x": 7.5, "y": 3.75},
{"matrix": [7, 1], "x": 8.5, "y": 3.5},
{"matrix": [7, 2], "x": 9.5, "y": 3.25},
{"matrix": [7, 3], "x": 10.5, "y": 3}
]
}
}
}
30 changes: 30 additions & 0 deletions keyboards/elcantorhs/keymaps/default/keymap.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
// Copyright 2021 azhizhinov (@azhizhinov)
// SPDX-License-Identifier: GPL-2.0-or-late
#include QMK_KEYBOARD_H

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT(
KC_GRV, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC,
KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
KC_TAB, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RBRC,
KC_LALT, KC_LSFT, MO(1), KC_BSPC, KC_ENT, MO(2), KC_SPC, RCTL(KC_BSPC)
),
[1] = LAYOUT(
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
KC_LCTL, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_LEFT, KC_UP, KC_RGHT, KC_NO, KC_HOME, KC_NO,
KC_LSFT, KC_CAPS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_DOWN, KC_NO, KC_NO, KC_END, KC_RALT,
KC_LALT, KC_LGUI, KC_TRNS, KC_ESC, KC_ENT, MO(3), KC_SPC, RCTL(KC_BSPC)
),
[2] = 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_LCTL, KC_BSPC, KC_C, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
KC_LSFT, KC_X, KC_V, KC_S, KC_L, KC_NO, KC_UNDS, KC_PLUS, KC_PMNS, KC_NO, KC_NO, KC_RALT,
KC_LALT, KC_LGUI, MO(3), KC_ESC, KC_ENT, KC_TRNS, KC_SPC, RCTL(KC_BSPC)
),
[3] = LAYOUT(
KC_TAB, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,
KC_LCTL, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, KC_GRV,
KC_LSFT, KC_CAPS, KC_NO, KC_NO, KC_NO, KC_NO, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, KC_RALT,
KC_LALT, KC_LGUI, KC_TRNS, KC_ESC, KC_ENT, KC_TRNS, KC_SPC, RCTL(KC_BSPC)
)
};
30 changes: 30 additions & 0 deletions keyboards/elcantorhs/keymaps/via/keymap.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
// Copyright 2021 azhizhinov (@azhizhinov)
// SPDX-License-Identifier: GPL-2.0-or-late
#include QMK_KEYBOARD_H

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT(
KC_GRV, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC,
KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
KC_TAB, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RBRC,
KC_LALT, KC_LSFT, MO(1), KC_BSPC, KC_ENT, MO(2), KC_SPC, RCTL(KC_BSPC)
),
[1] = LAYOUT(
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
KC_LCTL, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_LEFT, KC_UP, KC_RGHT, KC_NO, KC_HOME, KC_NO,
KC_LSFT, KC_CAPS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_DOWN, KC_NO, KC_NO, KC_END, KC_RALT,
KC_LALT, KC_LGUI, KC_TRNS, KC_ESC, KC_ENT, MO(3), KC_SPC, RCTL(KC_BSPC)
),
[2] = 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_LCTL, KC_BSPC, KC_C, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
KC_LSFT, KC_X, KC_V, KC_S, KC_L, KC_NO, KC_UNDS, KC_PLUS, KC_PMNS, KC_NO, KC_NO, KC_RALT,
KC_LALT, KC_LGUI, MO(3), KC_ESC, KC_ENT, KC_TRNS, KC_SPC, RCTL(KC_BSPC)
),
[3] = LAYOUT(
KC_TAB, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,
KC_LCTL, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, KC_GRV,
KC_LSFT, KC_CAPS, KC_NO, KC_NO, KC_NO, KC_NO, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, KC_RALT,
KC_LALT, KC_LGUI, KC_TRNS, KC_ESC, KC_ENT, KC_TRNS, KC_SPC, RCTL(KC_BSPC)
)
};
1 change: 1 addition & 0 deletions keyboards/elcantorhs/keymaps/via/rules.mk
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
VIA_ENABLE = yes
8 changes: 8 additions & 0 deletions keyboards/elcantorhs/mcuconf.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
// Copyright 2021 azhizhinov (@azhizhinov)
// SPDX-License-Identifier: GPL-2.0-or-late
#pragma once

#include_next <mcuconf.h>

#undef STM32_SERIAL_USE_USART1
#define STM32_SERIAL_USE_USART1 TRUE
30 changes: 30 additions & 0 deletions keyboards/elcantorhs/readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
# El Cantor HS

![El Cantor HS](https://imagestack.de/i/905c30a38469.png)

The El Cantor HS keyboard is a 44 key diodeless split keyboard with support for hotswap sockets, designed with simplicity in mind. Based on the popular [Cantor](https://github.com/diepala/cantor) keyboard, this keyboard features a stronger, Corne like, column stagger whilst aiming to simplify assembly and improve cost efficiency.

* Keyboard Maintainer: [azhizhinov](https://github.com/azhizhinov)
* Hardware Supported: Blackpill STM32F401
* Hardware Availability: https://github.com/azhizhinov/ELCANTORHS

Make example for this keyboard (after setting up your build environment):

make elcantorhs:default

Flashing example for this keyboard:

make elcantorhs: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 3 ways:

* **Bootmagic reset**: Hold down the top left key and plug in the keyboard. For the right side, hold the top right key and plug the keyboard.
* **Physical reset button**:
* Press and hold the BOOT0 button.
* Press and release the NRST button.
* Release the BOOT0 button.
* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
1 change: 1 addition & 0 deletions keyboards/elcantorhs/rules.mk
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
SERIAL_DRIVER = usart