[Keyboard] Add Elysian (#23949) * adding Elysian * corrections from zvecr
10 files changed, 177 insertions(+), 0 deletions(-) A keyboards/custommk/elysian/config.h A keyboards/custommk/elysian/halconf.h A keyboards/custommk/elysian/keyboard.json A keyboards/custommk/elysian/keymaps/default/keymap.c A keyboards/custommk/elysian/keymaps/default/rules.mk A keyboards/custommk/elysian/keymaps/via/config.h A keyboards/custommk/elysian/keymaps/via/keymap.c A keyboards/custommk/elysian/keymaps/via/rules.mk A keyboards/custommk/elysian/mcuconf.h A keyboards/custommk/elysian/readme.md
A keyboards/custommk/elysian/config.h => keyboards/custommk/elysian/config.h +14 -0
@@ 0,0 1,14 @@ // Copyright 2024 customMK // SPDX-License-Identifier: GPL-2.0-or-later #pragma once // FRAM configuration #define EXTERNAL_EEPROM_SPI_SLAVE_SELECT_PIN B7 #define EXTERNAL_EEPROM_SPI_CLOCK_DIVISOR 4 // SPI configuration #define SPI_DRIVER SPID1 #define SPI_SCK_PIN B3 #define SPI_MOSI_PIN B5 #define SPI_MISO_PIN B4 \ No newline at end of file
A keyboards/custommk/elysian/halconf.h => keyboards/custommk/elysian/halconf.h +14 -0
@@ 0,0 1,14 @@ // Copyright 2024 customMK // SPDX-License-Identifier: GPL-2.0-or-later #pragma once #define HAL_USE_SPI TRUE #define SPI_SELECT_MODE SPI_SELECT_MODE_PAD #define SERIAL_BUFFERS_SIZE 256 #define SPI_USE_WAIT TRUE #include_next <halconf.h>
A keyboards/custommk/elysian/keyboard.json => keyboards/custommk/elysian/keyboard.json +65 -0
@@ 0,0 1,65 @@ { "manufacturer": "customMK", "keyboard_name": "Elysian", "maintainer": "customMK", "bootloader": "stm32-dfu", "debounce": 10, "diode_direction": "ROW2COL", "dynamic_keymap": { "layer_count": 32 }, "eeprom": { "driver": "spi" }, "features": { "bootmagic": true, "extrakey": true, "mousekey": true, "nkro": true, "encoder": true }, "matrix_pins": { "cols": ["A0", "A1", "A2", "A3", "A4"], "rows": ["B0", "B1", "B6", "B8"] }, "processor": "STM32F411", "qmk": { "tap_keycode_delay": 10 }, "url": "https://shop.custommk.com/collections/elysian/products/elysian", "usb": { "device_version": "1.0.0", "pid": "0xFABB", "vid": "0xF35B", "force_nkro": true }, "encoder": { "rotary": [ { "pin_a": "A5", "pin_b": "A6", "resolution": 2}, { "pin_a": "A7", "pin_b": "A8", "resolution": 2} ] }, "layouts": { "LAYOUT": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, {"matrix": [1, 0], "x": 0, "y": 1}, {"matrix": [1, 1], "x": 1, "y": 1}, {"matrix": [1, 2], "x": 2, "y": 1}, {"matrix": [1, 3], "x": 3, "y": 1}, {"matrix": [1, 4], "x": 4, "y": 1}, {"matrix": [2, 0], "x": 0, "y": 2}, {"matrix": [2, 1], "x": 1, "y": 2}, {"matrix": [2, 2], "x": 2, "y": 2}, {"matrix": [2, 3], "x": 3, "y": 2}, {"matrix": [2, 4], "x": 4, "y": 2}, {"matrix": [3, 0], "x": 0, "y": 3}, {"matrix": [3, 1], "x": 1, "y": 3}, {"matrix": [3, 2], "x": 2, "y": 3}, {"matrix": [3, 3], "x": 3, "y": 3}, {"matrix": [3, 4], "x": 4, "y": 3} ] } } } \ No newline at end of file
A keyboards/custommk/elysian/keymaps/default/keymap.c => keyboards/custommk/elysian/keymaps/default/keymap.c +19 -0
@@ 0,0 1,19 @@ // Copyright 2024 customMK // SPDX-License-Identifier: GPL-2.0-or-later #include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [0] = LAYOUT( KC_ESC, KC_ENT, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_N, KC_M, KC_COMMA, KC_DOT, KC_SLASH ) }; #if defined(ENCODER_MAP_ENABLE) const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_WH_D, KC_WH_U) } }; #endif \ No newline at end of file
A keyboards/custommk/elysian/keymaps/default/rules.mk => keyboards/custommk/elysian/keymaps/default/rules.mk +1 -0
A keyboards/custommk/elysian/keymaps/via/config.h => keyboards/custommk/elysian/keymaps/via/config.h +6 -0
@@ 0,0 1,6 @@ // Copyright 2024 customMK // SPDX-License-Identifier: GPL-2.0-or-later #pragma once #define DYNAMIC_KEYMAP_MACRO_COUNT 128
A keyboards/custommk/elysian/keymaps/via/keymap.c => keyboards/custommk/elysian/keymaps/via/keymap.c +19 -0
@@ 0,0 1,19 @@ // Copyright 2024 customMK // SPDX-License-Identifier: GPL-2.0-or-later #include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [0] = LAYOUT( KC_ESC, MO(1), KC_Y, KC_U, KC_I, KC_O, KC_P, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_N, KC_M, KC_COMMA, KC_DOT, KC_SLASH ) }; #if defined(ENCODER_MAP_ENABLE) const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_WH_D, KC_WH_U) } }; #endif \ No newline at end of file
A keyboards/custommk/elysian/keymaps/via/rules.mk => keyboards/custommk/elysian/keymaps/via/rules.mk +2 -0
A keyboards/custommk/elysian/mcuconf.h => keyboards/custommk/elysian/mcuconf.h +10 -0
@@ 0,0 1,10 @@ // Copyright 2024 customMK // SPDX-License-Identifier: GPL-2.0-or-later #pragma once #include_next <mcuconf.h> // FRAM #undef STM32_SPI_USE_SPI1 #define STM32_SPI_USE_SPI1 TRUE
A keyboards/custommk/elysian/readme.md => keyboards/custommk/elysian/readme.md +27 -0
@@ 0,0 1,27 @@ # Elysian  Elysian is a 3x5 macropad including two rotary encoders. * Keyboard Maintainer: [customMK](https://github.com/customMK) * Hardware Supported: Elysian * Hardware Availability: [customMK](https://shop.custommk.com/collections/keyboards/products/elysian) Make example for this keyboard (after setting up your build environment): make custommk/elysian:default Flashing example for this keyboard: make custommk/elysian: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**: Press and hold down the rotary encoder at (0,0) in the matrix (the rotary encoder in the top left corner) and plug in the keyboard * **Physical reset button**: Briefly press the button on the back of the PCB * **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available