Added Keyboard LumPy27 (#24967)
Co-authored-by: jack <jack@pngu.org> Co-authored-by: Drashna Jaelre <drashna@live.com>
This commit is contained in:
		
							parent
							
								
									af141d1a5c
								
							
						
					
					
						commit
						80612c8ec0
					
				
							
								
								
									
										55
									
								
								keyboards/djreisch/lumpy27/keyboard.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										55
									
								
								keyboards/djreisch/lumpy27/keyboard.json
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,55 @@ | |||||||
|  | { | ||||||
|  |     "manufacturer": "djreisch", | ||||||
|  |     "keyboard_name": "LumPy27", | ||||||
|  |     "maintainer": "djreisch", | ||||||
|  |     "board": "GENERIC_RP_RP2040", | ||||||
|  |     "bootloader": "rp2040", | ||||||
|  |     "diode_direction": "COL2ROW", | ||||||
|  |     "features": { | ||||||
|  |         "bootmagic": true, | ||||||
|  |         "extrakey": true, | ||||||
|  |         "mousekey": true | ||||||
|  |     }, | ||||||
|  |     "matrix_pins": { | ||||||
|  |         "cols": ["GP0", "GP1", "GP2", "GP3", "GP4", "GP5"], | ||||||
|  |         "rows": ["GP14", "GP15", "GP16", "GP17", "GP18"] | ||||||
|  |     }, | ||||||
|  |     "processor": "RP2040", | ||||||
|  |     "usb": { | ||||||
|  |         "device_version": "1.0.0", | ||||||
|  |         "pid": "0x2326", | ||||||
|  |         "vid": "0xFEED" | ||||||
|  |     }, | ||||||
|  |     "layouts": { | ||||||
|  |         "LAYOUT": { | ||||||
|  |             "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": [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": [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": [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}, | ||||||
|  |                 {"matrix": [3, 5], "x": 5, "y": 3}, | ||||||
|  |                 {"matrix": [4, 3], "x": 3, "y": 4}, | ||||||
|  |                 {"matrix": [4, 4], "x": 4, "y": 4}, | ||||||
|  |                 {"matrix": [4, 5], "x": 5, "y": 4} | ||||||
|  |             ] | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  | } | ||||||
							
								
								
									
										76
									
								
								keyboards/djreisch/lumpy27/keymaps/default/keymap.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										76
									
								
								keyboards/djreisch/lumpy27/keymaps/default/keymap.c
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,76 @@ | |||||||
|  | /* Copyright 2024 Daniel Reisch (djreisch)
 | ||||||
|  |  * | ||||||
|  |  * This program is free software: you can redistribute it and/or modify | ||||||
|  |  * it under the terms of the GNU General Public License as published by | ||||||
|  |  * the Free Software Foundation, either version 2 of the License, or | ||||||
|  |  * (at your option) any later version. | ||||||
|  |  * | ||||||
|  |  * This program is distributed in the hope that it will be useful, | ||||||
|  |  * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||||
|  |  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||||
|  |  * GNU General Public License for more details. | ||||||
|  |  * | ||||||
|  |  * You should have received a copy of the GNU General Public License | ||||||
|  |  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | ||||||
|  |  */ | ||||||
|  | 
 | ||||||
|  | #include QMK_KEYBOARD_H | ||||||
|  | 
 | ||||||
|  | enum custom_keycodes { MACRO_GG = QK_USER }; | ||||||
|  | 
 | ||||||
|  | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||||||
|  |     /*
 | ||||||
|  |          Main | ||||||
|  |          ,-----------------------------------------. | ||||||
|  |          | ESC  |   1  |   2  |   3  |   4  |   5  | | ||||||
|  |          |------+------+------+------+------+------| | ||||||
|  |          | Tab  |   G  |   Q  |   W  |   E  |   R  | | ||||||
|  |          |------+------+------+------+------+------| | ||||||
|  |          |   LSHIFT    |   A  |   S  |   D  |   F  | | ||||||
|  |          |------+------+------+------+------+------| | ||||||
|  |          | LCTL |   B  |   Z  |   X  |   C  |   V  |-------| | ||||||
|  |          `-----------------------------------------/       / | ||||||
|  |                                   | LAlt |  FN  | / Space / | ||||||
|  |                                   |      |      |/       / | ||||||
|  |                                   `---------------------' | ||||||
|  |     */ | ||||||
|  |     [0] = LAYOUT(KC_ESC,  KC_1,  KC_2, KC_3, KC_4, KC_5, | ||||||
|  | 	             KC_TAB,  KC_G,  KC_Q, KC_W, KC_E, KC_R, | ||||||
|  |                  KC_LSFT, KC_A,  KC_S, KC_D, KC_F, | ||||||
|  |                  KC_LCTL, KC_B,  KC_Z, KC_X, KC_C, KC_V, | ||||||
|  |                  KC_LALT, MO(1), KC_SPACE), | ||||||
|  | 
 | ||||||
|  |     /*
 | ||||||
|  |          Alt | ||||||
|  |          ,-----------------------------------------. | ||||||
|  |          | ESC  |   0  |   9  |   8  |   7  |   6  | | ||||||
|  |          |------+------+------+------+------+------| | ||||||
|  |          |  F1  |  F2  |  F3  |  F4  |  F5  |  F6  | | ||||||
|  |          |------+------+------+------+------+------| | ||||||
|  |          |   LSHIFT    |   A  |   S  |   Y  |   H  | | ||||||
|  |          |------+------+------+------+------+------| | ||||||
|  |          | LCTL |   B  |   Z  |   X  |   C  |   M  |-------| | ||||||
|  |          `-----------------------------------------/       / | ||||||
|  |                                   | LAlt |  FN  | / Enter / | ||||||
|  |                                   |      |      |/       / | ||||||
|  |                                   `---------------------' | ||||||
|  |     */ | ||||||
|  |     [1] = LAYOUT(KC_ESC, KC_0, KC_9, KC_8, KC_7, KC_6, | ||||||
|  |                  KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, | ||||||
|  |                  KC_LSFT, KC_A, KC_S, KC_Y, KC_H, | ||||||
|  |                  KC_LCTL, MACRO_GG, KC_Z, KC_X, KC_C, KC_M, | ||||||
|  |                  KC_LALT, KC_TRNS, KC_ENTER) | ||||||
|  | }; | ||||||
|  | 
 | ||||||
|  | bool process_record_user(uint16_t keycode, keyrecord_t *record) { | ||||||
|  |     switch (keycode) { | ||||||
|  |         case MACRO_GG: | ||||||
|  |             if (record->event.pressed) { | ||||||
|  |                 // when keycode MACRO_GG is pressed, press shift+enter, send string "gg" and press enter
 | ||||||
|  |                 SEND_STRING(SS_DOWN(X_LSFT) SS_DELAY(10) SS_TAP(X_ENTER) SS_UP(X_LSFT) "gg" SS_TAP(X_ENTER)); | ||||||
|  |             } | ||||||
|  |             break; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     return true; | ||||||
|  | } | ||||||
							
								
								
									
										29
									
								
								keyboards/djreisch/lumpy27/readme.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										29
									
								
								keyboards/djreisch/lumpy27/readme.md
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,29 @@ | |||||||
|  | # LumPy27 | ||||||
|  | 
 | ||||||
|  | The Lightweight User-Modifiable Pi/Python keyboard is a 26-key ergonomic gaming keyboard running on an RP2040. Originally designed to run CircuitPython and KMK, since QMK supports the RP2040 bootloader this is now an additional option for firmware. | ||||||
|  | 
 | ||||||
|  | Q: Why is it named the LumPy27 even though it has 26 keys? | ||||||
|  | 
 | ||||||
|  | A: When originally designing the PCB and coming up with a name, I miscounted the switches. With the name emblazoned on the silkscreen I figured it sounded better than LumPy26. | ||||||
|  | 
 | ||||||
|  | Q: Why are the keys in the wrong place? | ||||||
|  | 
 | ||||||
|  | A: For certain games I found it easier instead of remapping them to just change where they are. That's why keys like B and G are not in the right spots.  | ||||||
|  | 
 | ||||||
|  | * Keyboard Maintainer: [djreisch](https://github.com/djreisch) | ||||||
|  | * Hardware Availability: [DuckyDebug.org](https://duckydebug.org/products/lumpy27-ergonomic-gaming-keyboard) | ||||||
|  | 
 | ||||||
|  | qmk compile example for this keyboard (after setting up your build environment): | ||||||
|  | 
 | ||||||
|  |     qmk compile -kb djreisch/lumpy27 -km default | ||||||
|  | 
 | ||||||
|  | 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 2 ways: | ||||||
|  | 
 | ||||||
|  | * **Bootloader Reset**: Hold down the bootload button and press the reset button | ||||||
|  | * **Bootloader Power On**: Hold down the bootloader button and plug in the keyboard | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user