[Keyboard] Add Elysian (#23949)
* adding Elysian * corrections from zvecr
This commit is contained in:
		
							parent
							
								
									90b043e01c
								
							
						
					
					
						commit
						603586800c
					
				
							
								
								
									
										14
									
								
								keyboards/custommk/elysian/config.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								keyboards/custommk/elysian/config.h
									
									
									
									
									
										Normal file
									
								
							| @ -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 | ||||
							
								
								
									
										14
									
								
								keyboards/custommk/elysian/halconf.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								keyboards/custommk/elysian/halconf.h
									
									
									
									
									
										Normal file
									
								
							| @ -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> | ||||
							
								
								
									
										65
									
								
								keyboards/custommk/elysian/keyboard.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										65
									
								
								keyboards/custommk/elysian/keyboard.json
									
									
									
									
									
										Normal file
									
								
							| @ -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} | ||||
|             ] | ||||
|         } | ||||
|     } | ||||
| } | ||||
							
								
								
									
										19
									
								
								keyboards/custommk/elysian/keymaps/default/keymap.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								keyboards/custommk/elysian/keymaps/default/keymap.c
									
									
									
									
									
										Normal file
									
								
							| @ -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 | ||||
							
								
								
									
										1
									
								
								keyboards/custommk/elysian/keymaps/default/rules.mk
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								keyboards/custommk/elysian/keymaps/default/rules.mk
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1 @@ | ||||
| ENCODER_MAP_ENABLE = yes | ||||
							
								
								
									
										6
									
								
								keyboards/custommk/elysian/keymaps/via/config.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								keyboards/custommk/elysian/keymaps/via/config.h
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,6 @@ | ||||
| // Copyright 2024 customMK
 | ||||
| // SPDX-License-Identifier: GPL-2.0-or-later
 | ||||
| 
 | ||||
| #pragma once | ||||
| 
 | ||||
| #define DYNAMIC_KEYMAP_MACRO_COUNT 128 | ||||
							
								
								
									
										19
									
								
								keyboards/custommk/elysian/keymaps/via/keymap.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								keyboards/custommk/elysian/keymaps/via/keymap.c
									
									
									
									
									
										Normal file
									
								
							| @ -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 | ||||
							
								
								
									
										2
									
								
								keyboards/custommk/elysian/keymaps/via/rules.mk
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								keyboards/custommk/elysian/keymaps/via/rules.mk
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,2 @@ | ||||
| VIA_ENABLE = yes | ||||
| ENCODER_MAP_ENABLE = yes | ||||
							
								
								
									
										10
									
								
								keyboards/custommk/elysian/mcuconf.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								keyboards/custommk/elysian/mcuconf.h
									
									
									
									
									
										Normal file
									
								
							| @ -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 | ||||
							
								
								
									
										27
									
								
								keyboards/custommk/elysian/readme.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										27
									
								
								keyboards/custommk/elysian/readme.md
									
									
									
									
									
										Normal file
									
								
							| @ -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 | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user