forked from mirrors/qmk_userspace
		
	[Keyboard] add ergosplit44 v1 (#22344)
Co-authored-by: Less/Rikki <86894501+lesshonor@users.noreply.github.com> Co-authored-by: jack <0x6a73@protonmail.com> Co-authored-by: Duncan Sutherland <dunk2k_2000@hotmail.com> Co-authored-by: Drashna Jaelre <drashna@live.com>
This commit is contained in:
		
					parent
					
						
							
								e2d6187339
							
						
					
				
			
			
				commit
				
					
						1c68cd09b8
					
				
			
		
					 4 changed files with 243 additions and 0 deletions
				
			
		
							
								
								
									
										164
									
								
								keyboards/handwired/marek128b/ergosplit44/info.json
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										164
									
								
								keyboards/handwired/marek128b/ergosplit44/info.json
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,164 @@
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    "manufacturer": "Marek128b",
 | 
				
			||||||
 | 
					    "keyboard_name": "ergosplit44",
 | 
				
			||||||
 | 
					    "maintainer": "Marek128b",
 | 
				
			||||||
 | 
					    "bootloader": "rp2040",
 | 
				
			||||||
 | 
					    "diode_direction": "COL2ROW",
 | 
				
			||||||
 | 
					    "dynamic_keymap": {
 | 
				
			||||||
 | 
					        "layer_count": 5
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "features": {
 | 
				
			||||||
 | 
					        "bootmagic": true,
 | 
				
			||||||
 | 
					        "command": false,
 | 
				
			||||||
 | 
					        "console": false,
 | 
				
			||||||
 | 
					        "extrakey": true,
 | 
				
			||||||
 | 
					        "mousekey": true,
 | 
				
			||||||
 | 
					        "nkro": true,
 | 
				
			||||||
 | 
					        "rgb_matrix": true
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "matrix_pins": {
 | 
				
			||||||
 | 
					        "cols": ["GP6", "GP7", "GP8", "GP9", "GP10", "GP11", "GP12", "GP13", "GP14", "GP15", "GP17", "GP18"],
 | 
				
			||||||
 | 
					        "rows": ["GP2", "GP3", "GP4", "GP5"]
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "processor": "RP2040",
 | 
				
			||||||
 | 
					    "url": "",
 | 
				
			||||||
 | 
					    "usb": {
 | 
				
			||||||
 | 
					        "device_version": "1.0.0",
 | 
				
			||||||
 | 
					        "pid": "0x0001",
 | 
				
			||||||
 | 
					        "vid": "0x4D41"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "ws2812": {
 | 
				
			||||||
 | 
					        "driver": "vendor",
 | 
				
			||||||
 | 
					        "pin": "GP26"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "rgb_matrix": {
 | 
				
			||||||
 | 
					        "driver": "ws2812",
 | 
				
			||||||
 | 
					        "max_brightness": 25,
 | 
				
			||||||
 | 
					        "animations": {
 | 
				
			||||||
 | 
					            "breathing": true,
 | 
				
			||||||
 | 
					            "cycle_all": true,
 | 
				
			||||||
 | 
					            "cycle_left_right": true,
 | 
				
			||||||
 | 
					            "cycle_up_down": true,
 | 
				
			||||||
 | 
					            "rainbow_moving_chevron": true,
 | 
				
			||||||
 | 
					            "cycle_out_in": true,
 | 
				
			||||||
 | 
					            "cycle_out_in_dual": true,
 | 
				
			||||||
 | 
					            "cycle_pinwheel": true,
 | 
				
			||||||
 | 
					            "cycle_spiral": true,
 | 
				
			||||||
 | 
					            "dual_beacon": true,
 | 
				
			||||||
 | 
					            "rainbow_beacon": true,
 | 
				
			||||||
 | 
					            "raindrops": true,
 | 
				
			||||||
 | 
					            "typing_heatmap": true,
 | 
				
			||||||
 | 
					            "solid_reactive_simple": true,
 | 
				
			||||||
 | 
					            "solid_reactive": true,
 | 
				
			||||||
 | 
					            "solid_reactive_cross": true,
 | 
				
			||||||
 | 
					            "multisplash": true
 | 
				
			||||||
 | 
					         },
 | 
				
			||||||
 | 
					        "layout": [
 | 
				
			||||||
 | 
					                {"matrix": [0, 0], "x": 0, "y": 0},
 | 
				
			||||||
 | 
					                {"matrix": [0, 1], "x": 1, "y": 0},
 | 
				
			||||||
 | 
					                {"matrix": [0, 2], "x": 2, "y": 0},
 | 
				
			||||||
 | 
					                {"matrix": [0, 3], "x": 3, "y": 0},
 | 
				
			||||||
 | 
					                {"matrix": [0, 4], "x": 4, "y": 0},
 | 
				
			||||||
 | 
					                {"matrix": [0, 5], "x": 5, "y": 0},
 | 
				
			||||||
 | 
					                {"matrix": [0, 6], "x": 6, "y": 0},
 | 
				
			||||||
 | 
					                {"matrix": [0, 7], "x": 7, "y": 0},
 | 
				
			||||||
 | 
					                {"matrix": [0, 8], "x": 8, "y": 0},
 | 
				
			||||||
 | 
					                {"matrix": [0, 9], "x": 9, "y": 0},
 | 
				
			||||||
 | 
					                {"matrix": [0, 10], "x": 10, "y": 0},
 | 
				
			||||||
 | 
					                {"matrix": [0, 11], "x": 11, "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": [1, 5], "x": 5, "y": 1},
 | 
				
			||||||
 | 
					                {"matrix": [1, 6], "x": 6, "y": 1},
 | 
				
			||||||
 | 
					                {"matrix": [1, 7], "x": 7, "y": 1},
 | 
				
			||||||
 | 
					                {"matrix": [1, 8], "x": 8, "y": 1},
 | 
				
			||||||
 | 
					                {"matrix": [1, 9], "x": 9, "y": 1},
 | 
				
			||||||
 | 
					                {"matrix": [1, 10], "x": 10, "y": 1},
 | 
				
			||||||
 | 
					                {"matrix": [1, 11], "x": 11, "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": [2, 5], "x": 5, "y": 2},
 | 
				
			||||||
 | 
					                {"matrix": [2, 6], "x": 6, "y": 2},
 | 
				
			||||||
 | 
					                {"matrix": [2, 7], "x": 7, "y": 2},
 | 
				
			||||||
 | 
					                {"matrix": [2, 8], "x": 8, "y": 2},
 | 
				
			||||||
 | 
					                {"matrix": [2, 9], "x": 9, "y": 2},
 | 
				
			||||||
 | 
					                {"matrix": [2, 10], "x": 10, "y": 2},
 | 
				
			||||||
 | 
					                {"matrix": [2, 11], "x": 11, "y": 2},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                {"matrix": [3, 2], "x": 2, "y": 3},
 | 
				
			||||||
 | 
					                {"matrix": [3, 3], "x": 3, "y": 3},
 | 
				
			||||||
 | 
					                {"matrix": [3, 4], "x": 4, "y": 3},
 | 
				
			||||||
 | 
					                {"matrix": [3, 5], "x": 5, "y": 3},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                {"matrix": [3, 6], "x": 6, "y": 3},
 | 
				
			||||||
 | 
					                {"matrix": [3, 7], "x": 7, "y": 3},
 | 
				
			||||||
 | 
					                {"matrix": [3, 8], "x": 8, "y": 3},
 | 
				
			||||||
 | 
					                {"matrix": [3, 9], "x": 9, "y": 3}
 | 
				
			||||||
 | 
					            ]
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "layouts": {
 | 
				
			||||||
 | 
					        "LAYOUT": {
 | 
				
			||||||
 | 
					            "layout": [
 | 
				
			||||||
 | 
					                {"label":"tab", "matrix": [0, 0],"x":0, "y":1.25}, 
 | 
				
			||||||
 | 
					                {"label":"Q", "matrix": [0, 1],"x":1, "y":1.25}, 
 | 
				
			||||||
 | 
					                {"label":"W", "matrix": [0, 2],"x":2, "y":0.75}, 
 | 
				
			||||||
 | 
					                {"label":"E", "matrix": [0, 3],"x":3, "y":0.5}, 
 | 
				
			||||||
 | 
					                {"label":"R", "matrix": [0, 4],"x":4, "y":0.75}, 
 | 
				
			||||||
 | 
					                {"label":"T", "matrix": [0, 5],"x":5, "y":1},    
 | 
				
			||||||
 | 
					                
 | 
				
			||||||
 | 
					                {"label":"Y", "matrix": [0, 6],"x":9.75, "y":1}, 
 | 
				
			||||||
 | 
					                {"label":"U", "matrix": [0, 7],"x":10.75, "y":0.75}, 
 | 
				
			||||||
 | 
					                {"label":"I", "matrix": [0, 8],"x":11.75, "y":0.5}, 
 | 
				
			||||||
 | 
					                {"label":"O", "matrix": [0, 9],"x":12.75, "y":0.75}, 
 | 
				
			||||||
 | 
					                {"label":"P", "matrix": [0, 10],"x":13.75, "y":1.25}, 
 | 
				
			||||||
 | 
					                {"label":"\u00dc", "matrix": [0, 11],"x":14.75, "y":1.25}, 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                {"label":"back-space", "matrix": [1, 0],"x":0, "y":2.25}, 
 | 
				
			||||||
 | 
					                {"label":"A", "matrix": [1, 1],"x":1, "y":2.25},
 | 
				
			||||||
 | 
					                {"label":"S", "matrix": [1, 2],"x":2, "y":1.75},  
 | 
				
			||||||
 | 
					                {"label":"D", "matrix": [1, 3],"x":3, "y":1.5}, 
 | 
				
			||||||
 | 
					                {"label":"F", "matrix": [1, 4],"x":4, "y":1.75}, 
 | 
				
			||||||
 | 
					                {"label":"G", "matrix": [1, 5],"x":5, "y":2}, 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                {"label":"H", "matrix": [1, 6],"x":9.75, "y":2}, 
 | 
				
			||||||
 | 
					                {"label":"J", "matrix": [1, 7],"x":10.75, "y":1.75}, 
 | 
				
			||||||
 | 
					                {"label":"K", "matrix": [1, 8],"x":11.75, "y":1.5}, 
 | 
				
			||||||
 | 
					                {"label":"L", "matrix": [1, 9],"x":12.75, "y":1.75}, 
 | 
				
			||||||
 | 
					                {"label":"\u00d6", "matrix": [1, 10],"x":13.75, "y":2.25}, 
 | 
				
			||||||
 | 
					                {"label":"\u00c4", "matrix": [1, 11],"x":14.75, "y":2.25}, 
 | 
				
			||||||
 | 
					                
 | 
				
			||||||
 | 
					                {"label":"shift", "matrix": [2, 0],"x":0, "y":3.25}, 
 | 
				
			||||||
 | 
					                {"label":"Z", "matrix": [2, 1],"x":1, "y":3.25}, 
 | 
				
			||||||
 | 
					                {"label":"X", "matrix": [2, 2],"x":2, "y":2.75}, 
 | 
				
			||||||
 | 
					                {"label":"C", "matrix": [2, 3],"x":3, "y":2.5}, 
 | 
				
			||||||
 | 
					                {"label":"V", "matrix": [2, 4],"x":4, "y":2.75}, 
 | 
				
			||||||
 | 
					                {"label":"B", "matrix": [2, 5],"x":5, "y":3}, 
 | 
				
			||||||
 | 
					            
 | 
				
			||||||
 | 
					                {"label":"N", "matrix": [2, 6],"x":9.75, "y":3}, 
 | 
				
			||||||
 | 
					                {"label":"M", "matrix": [2, 7],"x":10.75, "y":2.75}, 
 | 
				
			||||||
 | 
					                {"label":"<", "matrix": [2, 8],"x":11.75, "y":2.5}, 
 | 
				
			||||||
 | 
					                {"label":":", "matrix": [2, 9],"x":12.75, "y":2.75}, 
 | 
				
			||||||
 | 
					                {"label":"_", "matrix": [2, 10],"x":13.75, "y":3.25}, 
 | 
				
			||||||
 | 
					                {"label":"Shift", "matrix": [2, 11],"x":14.75, "y":3.25}, 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                {"label":"L2", "matrix": [3, 2],"x":-3.5, "y":4.5}, 
 | 
				
			||||||
 | 
					                {"label":"Alt", "matrix": [3, 3],"x":-2.25, "y":7.25},
 | 
				
			||||||
 | 
					                {"label":"Strg", "matrix": [3, 4],"x":-1.0, "y":7.25}, 
 | 
				
			||||||
 | 
					                {"label":"Space", "matrix": [3, 5],"x":0, "y":7}, 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                {"label":"Space", "matrix": [3, 6],"x":-1.0, "y":8.5}, 
 | 
				
			||||||
 | 
					                {"label":"Strg", "matrix": [3, 7],"x":0, "y":8.75}, 
 | 
				
			||||||
 | 
					                {"label":"AltGr", "matrix": [3, 8],"x":1.25, "y":8.75},
 | 
				
			||||||
 | 
					                {"label":"L1", "matrix": [3, 9],"x":2.5, "y":5.75}
 | 
				
			||||||
 | 
					            ]
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,51 @@
 | 
				
			||||||
 | 
					// Copyright 2023 QMK
 | 
				
			||||||
 | 
					// SPDX-License-Identifier: GPL-2.0-or-later
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include QMK_KEYBOARD_H
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					enum layer_names {
 | 
				
			||||||
 | 
					    _QWERTY,
 | 
				
			||||||
 | 
					    _COLEMAK,
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
				
			||||||
 | 
					        [_QWERTY] = LAYOUT(
 | 
				
			||||||
 | 
					            KC_TAB,     KC_Q,       KC_W,       KC_E,       KC_R,       KC_T,                   KC_Z,       KC_U,       KC_I,       KC_O,       KC_P,       KC_BSPC,
 | 
				
			||||||
 | 
					            KC_CAPS,    KC_A,       KC_S,       KC_D,       KC_F,       KC_G,                   KC_H,       KC_J,       KC_K,       KC_L,       KC_NO,      KC_ENT, 
 | 
				
			||||||
 | 
					            KC_LSFT,    KC_Y,       KC_X,       KC_C,       KC_V,       KC_B,                   KC_N,       KC_M,       KC_COMM,    KC_DOT,     KC_MINS,    KC_RSFT, 
 | 
				
			||||||
 | 
					                                    TG(_COLEMAK),KC_LCTL,    KC_SPC,     KC_LSFT,                KC_RSFT,    KC_SPC,     KC_NO,      KC_RALT
 | 
				
			||||||
 | 
					        ),
 | 
				
			||||||
 | 
					        [_COLEMAK] = LAYOUT(
 | 
				
			||||||
 | 
					            KC_TAB,     KC_Q,       KC_W,       KC_F,       KC_P,       KC_G,                   KC_J,       KC_L,       KC_U,       KC_Y,       KC_SCLN,    KC_BSPC, 
 | 
				
			||||||
 | 
					            KC_CAPS,    KC_A,       KC_R,       KC_R,       KC_T,       KC_D,                   KC_H,       KC_N,       KC_E,       KC_I,       KC_O,       KC_ENT, 
 | 
				
			||||||
 | 
					            KC_LCTL,    KC_Z,       KC_X,       KC_C,       KC_V,       KC_B,                   KC_K,       KC_M,       KC_COMM,    KC_DOT,     KC_SLSH,    KC_RSFT, 
 | 
				
			||||||
 | 
					                                    KC_TRNS,    KC_LCTL,    KC_SPC,     KC_NO,                  KC_LALT,    KC_SPC,     KC_NO,      KC_RALT
 | 
				
			||||||
 | 
					        )
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					bool rgb_matrix_indicators_user(void) {
 | 
				
			||||||
 | 
					    if (host_keyboard_led_state().caps_lock) {
 | 
				
			||||||
 | 
					        rgb_matrix_set_color(0, RGB_RED);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
					    if (host_keyboard_led_state().num_lock) {
 | 
				
			||||||
 | 
					        rgb_matrix_set_color(1, RGB_RED);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    if (host_keyboard_led_state().scroll_lock) {
 | 
				
			||||||
 | 
					        rgb_matrix_set_color(2, RGB_RED);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
					    switch (get_highest_layer(layer_state)) {
 | 
				
			||||||
 | 
					        case 1: 
 | 
				
			||||||
 | 
					            rgb_matrix_set_color(3, RGB_CYAN);
 | 
				
			||||||
 | 
					            break;
 | 
				
			||||||
 | 
					        case 2: 
 | 
				
			||||||
 | 
					            rgb_matrix_set_color(3, RGB_MAGENTA);
 | 
				
			||||||
 | 
					            break;
 | 
				
			||||||
 | 
					        case 3:
 | 
				
			||||||
 | 
					            rgb_matrix_set_color(3, RGB_YELLOW);
 | 
				
			||||||
 | 
					            break;
 | 
				
			||||||
 | 
					    } 
 | 
				
			||||||
 | 
					    return true;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										27
									
								
								keyboards/handwired/marek128b/ergosplit44/readme.md
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										27
									
								
								keyboards/handwired/marek128b/ergosplit44/readme.md
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,27 @@
 | 
				
			||||||
 | 
					# ergosplit44
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					This is a handdwired split 44 key keyboard. the two sides are connectd via a custom 2x8P pin header cable.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* Keyboard Maintainer: [Marek128b](https://github.com/Marek128b)
 | 
				
			||||||
 | 
					* Hardware Supported: WaveShare RP2040-Zero
 | 
				
			||||||
 | 
					* Hardware Availability: [Open Source](https://github.com/Marek128b/Split40)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Make example for this keyboard (after setting up your build environment):
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    make handwired/marek128b/ergosplit44:default
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Flashing example for this keyboard:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    make handwired/marek128b/ergosplit44: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.
 | 
				
			||||||
 | 
					* **Physical reset button**: Hold down the `BOOT` button on the RP2040-Zero, then press the `RESET` button.
 | 
				
			||||||
 | 
					* **Keycode in layout**: There is no key mapped to `QK_BOOT` in the pre-created keymaps, but you may assign this key in any keymaps you create.
 | 
				
			||||||
							
								
								
									
										1
									
								
								keyboards/handwired/marek128b/ergosplit44/rules.mk
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								keyboards/handwired/marek128b/ergosplit44/rules.mk
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1 @@
 | 
				
			||||||
 | 
					# This file intentionally left blank
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue