forked from mirrors/qmk_userspace
		
	Merge remote-tracking branch 'origin/master' into develop
This commit is contained in:
		
				commit
				
					
						08738aab7e
					
				
			
		
					 12 changed files with 1235 additions and 0 deletions
				
			
		
							
								
								
									
										99
									
								
								keyboards/1upkeyboards/pi40/config.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										99
									
								
								keyboards/1upkeyboards/pi40/config.h
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,99 @@
 | 
				
			||||||
 | 
					// Copyright 2022 ziptyze (@ziptyze)
 | 
				
			||||||
 | 
					// SPDX-License-Identifier: GPL-2.0-or-later
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#pragma once
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include "config_common.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define DYNAMIC_KEYMAP_LAYER_COUNT 10
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#ifdef OLED_ENABLE
 | 
				
			||||||
 | 
					#    define OLED_DISPLAY_128X32
 | 
				
			||||||
 | 
					#define I2C1_SCL_PIN        GP17
 | 
				
			||||||
 | 
					#define I2C1_SDA_PIN        GP16
 | 
				
			||||||
 | 
					#define I2C_DRIVER I2CD1
 | 
				
			||||||
 | 
					#define OLED_BRIGHTNESS 128
 | 
				
			||||||
 | 
					#define OLED_FONT_H "keyboards/1upkeyboards/pi40/lib/glcdfont.c"
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* key matrix size */
 | 
				
			||||||
 | 
					#define MATRIX_ROWS 4
 | 
				
			||||||
 | 
					#define MATRIX_COLS 12
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define DIODE_DIRECTION COL2ROW
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define MATRIX_ROW_PINS { GP21, GP20, GP19, GP18 }
 | 
				
			||||||
 | 
					#define MATRIX_COL_PINS { GP1, GP2, GP3, GP4, GP5, GP6, GP7, GP8, GP9, GP10, GP11, GP12 }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define ENCODERS_PAD_A { GP14 }
 | 
				
			||||||
 | 
					#define ENCODERS_PAD_B { GP13 }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define RGB_DI_PIN GP0
 | 
				
			||||||
 | 
					#define DRIVER_LED_TOTAL 47
 | 
				
			||||||
 | 
					#define RGBLED_NUM 47
 | 
				
			||||||
 | 
					#    define RGB_MATRIX_KEYPRESSES // reacts to keypresses
 | 
				
			||||||
 | 
					#    define RGB_MATRIX_FRAMEBUFFER_EFFECTS  
 | 
				
			||||||
 | 
					#    define RGBLIGHT_LIMIT_VAL 150
 | 
				
			||||||
 | 
					#ifdef RGB_MATRIX_ENABLE
 | 
				
			||||||
 | 
					#    define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
 | 
				
			||||||
 | 
					#    define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150
 | 
				
			||||||
 | 
					// RGB Matrix Animation modes. Explicitly enabled
 | 
				
			||||||
 | 
					// For full list of effects, see:
 | 
				
			||||||
 | 
					// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
 | 
				
			||||||
 | 
					#    define ENABLE_RGB_MATRIX_ALPHAS_MODS
 | 
				
			||||||
 | 
					#    define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
 | 
				
			||||||
 | 
					#    define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
 | 
				
			||||||
 | 
					#    define ENABLE_RGB_MATRIX_BREATHING
 | 
				
			||||||
 | 
					#    define ENABLE_RGB_MATRIX_BAND_SAT
 | 
				
			||||||
 | 
					#    define ENABLE_RGB_MATRIX_BAND_VAL
 | 
				
			||||||
 | 
					#    define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
 | 
				
			||||||
 | 
					#    define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
 | 
				
			||||||
 | 
					#    define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
 | 
				
			||||||
 | 
					#    define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
 | 
				
			||||||
 | 
					#    define ENABLE_RGB_MATRIX_CYCLE_ALL
 | 
				
			||||||
 | 
					#    define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
 | 
				
			||||||
 | 
					#    define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
 | 
				
			||||||
 | 
					#    define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
 | 
				
			||||||
 | 
					#    define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
 | 
				
			||||||
 | 
					#    define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
 | 
				
			||||||
 | 
					#    define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
 | 
				
			||||||
 | 
					#    define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
 | 
				
			||||||
 | 
					#    define ENABLE_RGB_MATRIX_DUAL_BEACON
 | 
				
			||||||
 | 
					#    define ENABLE_RGB_MATRIX_RAINBOW_BEACON
 | 
				
			||||||
 | 
					#    define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
 | 
				
			||||||
 | 
					#    define ENABLE_RGB_MATRIX_RAINDROPS
 | 
				
			||||||
 | 
					#    define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
 | 
				
			||||||
 | 
					#    define ENABLE_RGB_MATRIX_HUE_BREATHING
 | 
				
			||||||
 | 
					#    define ENABLE_RGB_MATRIX_HUE_PENDULUM
 | 
				
			||||||
 | 
					#    define ENABLE_RGB_MATRIX_HUE_WAVE
 | 
				
			||||||
 | 
					#    define ENABLE_RGB_MATRIX_PIXEL_RAIN
 | 
				
			||||||
 | 
					#    define ENABLE_RGB_MATRIX_PIXEL_FLOW
 | 
				
			||||||
 | 
					#    define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
 | 
				
			||||||
 | 
					// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
 | 
				
			||||||
 | 
					#    define ENABLE_RGB_MATRIX_TYPING_HEATMAP
 | 
				
			||||||
 | 
					#    define ENABLE_RGB_MATRIX_DIGITAL_RAIN
 | 
				
			||||||
 | 
					// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
 | 
				
			||||||
 | 
					#    define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
 | 
				
			||||||
 | 
					#    define ENABLE_RGB_MATRIX_SOLID_REACTIVE
 | 
				
			||||||
 | 
					#    define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
 | 
				
			||||||
 | 
					#    define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
 | 
				
			||||||
 | 
					#    define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
 | 
				
			||||||
 | 
					#    define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
 | 
				
			||||||
 | 
					#    define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
 | 
				
			||||||
 | 
					#    define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
 | 
				
			||||||
 | 
					#    define ENABLE_RGB_MATRIX_SPLASH
 | 
				
			||||||
 | 
					#    define ENABLE_RGB_MATRIX_MULTISPLASH
 | 
				
			||||||
 | 
					#    define ENABLE_RGB_MATRIX_SOLID_SPLASH
 | 
				
			||||||
 | 
					#    define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define DEBOUNCE 5
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
 | 
				
			||||||
 | 
					#define LOCKING_SUPPORT_ENABLE
 | 
				
			||||||
 | 
					/* Locking resynchronize hack */
 | 
				
			||||||
 | 
					#define LOCKING_RESYNC_ENABLE
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* Bootmagic Lite key configuration */
 | 
				
			||||||
 | 
					#define BOOTMAGIC_LITE_ROW 0
 | 
				
			||||||
 | 
					#define BOOTMAGIC_LITE_COLUMN 0
 | 
				
			||||||
							
								
								
									
										7
									
								
								keyboards/1upkeyboards/pi40/halconf.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								keyboards/1upkeyboards/pi40/halconf.h
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,7 @@
 | 
				
			||||||
 | 
					// Copyright 2022 QMK
 | 
				
			||||||
 | 
					// SPDX-License-Identifier: GPL-2.0-or-later
 | 
				
			||||||
 | 
					#pragma once
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define HAL_USE_I2C TRUE
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include_next <halconf.h>
 | 
				
			||||||
							
								
								
									
										115
									
								
								keyboards/1upkeyboards/pi40/info.json
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										115
									
								
								keyboards/1upkeyboards/pi40/info.json
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,115 @@
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    "keyboard_name": "pi40",
 | 
				
			||||||
 | 
					    "manufacturer": "1upkeyboards",
 | 
				
			||||||
 | 
					    "usb": {
 | 
				
			||||||
 | 
					        "vid": "0x6F75",
 | 
				
			||||||
 | 
					        "pid": "0x5600",
 | 
				
			||||||
 | 
					        "device_version": "0.0.1"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "layouts": {
 | 
				
			||||||
 | 
					        "LAYOUT": {
 | 
				
			||||||
 | 
					            "layout": [
 | 
				
			||||||
 | 
					                { "matrix": [3, 6], "x": 11, "y": 0 },
 | 
				
			||||||
 | 
					                { "matrix": [0, 0], "x": 0, "y": 1 },
 | 
				
			||||||
 | 
					                { "matrix": [0, 1], "x": 1, "y": 1 },
 | 
				
			||||||
 | 
					                { "matrix": [0, 2], "x": 2, "y": 1 },
 | 
				
			||||||
 | 
					                { "matrix": [0, 3], "x": 3, "y": 1 },
 | 
				
			||||||
 | 
					                { "matrix": [0, 4], "x": 4, "y": 1 },
 | 
				
			||||||
 | 
					                { "matrix": [0, 5], "x": 5, "y": 1 },
 | 
				
			||||||
 | 
					                { "matrix": [0, 6], "x": 6, "y": 1 },
 | 
				
			||||||
 | 
					                { "matrix": [0, 7], "x": 7, "y": 1 },
 | 
				
			||||||
 | 
					                { "matrix": [0, 8], "x": 8, "y": 1 },
 | 
				
			||||||
 | 
					                { "matrix": [0, 9], "x": 9, "y": 1 },
 | 
				
			||||||
 | 
					                { "matrix": [0, 10], "x": 10, "y": 1 },
 | 
				
			||||||
 | 
					                { "matrix": [0, 11], "x": 11, "y": 1 },
 | 
				
			||||||
 | 
					                { "matrix": [1, 0], "x": 0, "y": 2 },
 | 
				
			||||||
 | 
					                { "matrix": [1, 1], "x": 1, "y": 2 },
 | 
				
			||||||
 | 
					                { "matrix": [1, 2], "x": 2, "y": 2 },
 | 
				
			||||||
 | 
					                { "matrix": [1, 3], "x": 3, "y": 2 },
 | 
				
			||||||
 | 
					                { "matrix": [1, 4], "x": 4, "y": 2 },
 | 
				
			||||||
 | 
					                { "matrix": [1, 5], "x": 5, "y": 2 },
 | 
				
			||||||
 | 
					                { "matrix": [1, 6], "x": 6, "y": 2 },
 | 
				
			||||||
 | 
					                { "matrix": [1, 7], "x": 7, "y": 2 },
 | 
				
			||||||
 | 
					                { "matrix": [1, 8], "x": 8, "y": 2 },
 | 
				
			||||||
 | 
					                { "matrix": [1, 9], "x": 9, "y": 2 },
 | 
				
			||||||
 | 
					                { "matrix": [1, 10], "x": 10, "y": 2 },
 | 
				
			||||||
 | 
					                { "matrix": [1, 11], "x": 11, "y": 2 },
 | 
				
			||||||
 | 
					                { "matrix": [2, 0], "x": 0, "y": 3 },
 | 
				
			||||||
 | 
					                { "matrix": [2, 1], "x": 1, "y": 3 },
 | 
				
			||||||
 | 
					                { "matrix": [2, 2], "x": 2, "y": 3 },
 | 
				
			||||||
 | 
					                { "matrix": [2, 3], "x": 3, "y": 3 },
 | 
				
			||||||
 | 
					                { "matrix": [2, 4], "x": 4, "y": 3 },
 | 
				
			||||||
 | 
					                { "matrix": [2, 5], "x": 5, "y": 3 },
 | 
				
			||||||
 | 
					                { "matrix": [2, 6], "x": 6, "y": 3 },
 | 
				
			||||||
 | 
					                { "matrix": [2, 7], "x": 7, "y": 3 },
 | 
				
			||||||
 | 
					                { "matrix": [2, 8], "x": 8, "y": 3 },
 | 
				
			||||||
 | 
					                { "matrix": [2, 9], "x": 9, "y": 3 },
 | 
				
			||||||
 | 
					                { "matrix": [2, 10], "x": 10, "y": 3 },
 | 
				
			||||||
 | 
					                { "matrix": [2, 11], "x": 11, "y": 3 },
 | 
				
			||||||
 | 
					                { "matrix": [3, 0], "x": 0, "y": 4 },
 | 
				
			||||||
 | 
					                { "matrix": [3, 1], "x": 1, "y": 4 },
 | 
				
			||||||
 | 
					                { "matrix": [3, 2], "x": 2, "y": 4 },
 | 
				
			||||||
 | 
					                { "matrix": [3, 3], "x": 3, "y": 4 },
 | 
				
			||||||
 | 
					                { "matrix": [3, 4], "x": 4, "y": 4 },
 | 
				
			||||||
 | 
					                { "matrix": [3, 5], "x": 5, "y": 4, "w": 2},
 | 
				
			||||||
 | 
					                { "matrix": [3, 7], "x": 7, "y": 4 },
 | 
				
			||||||
 | 
					                { "matrix": [3, 8], "x": 8, "y": 4 },
 | 
				
			||||||
 | 
					                { "matrix": [3, 9], "x": 9, "y": 4 },
 | 
				
			||||||
 | 
					                { "matrix": [3, 10], "x": 10, "y": 4 },
 | 
				
			||||||
 | 
					                { "matrix": [3, 11], "x": 11, "y": 4 }
 | 
				
			||||||
 | 
					            ]
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        "LAYOUT_ortho_4x12": {
 | 
				
			||||||
 | 
					            "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, 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": [3, 6], "x": 6, "y": 3, "label": "ENC" },
 | 
				
			||||||
 | 
					                { "matrix": [3, 7], "x": 7, "y": 3 },
 | 
				
			||||||
 | 
					                { "matrix": [3, 8], "x": 8, "y": 3 },
 | 
				
			||||||
 | 
					                { "matrix": [3, 9], "x": 9, "y": 3 },
 | 
				
			||||||
 | 
					                { "matrix": [3, 10], "x": 10, "y": 3 },
 | 
				
			||||||
 | 
					                { "matrix": [3, 11], "x": 11, "y": 3 }
 | 
				
			||||||
 | 
					            ]
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										124
									
								
								keyboards/1upkeyboards/pi40/keymaps/default/keymap.c
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										124
									
								
								keyboards/1upkeyboards/pi40/keymaps/default/keymap.c
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,124 @@
 | 
				
			||||||
 | 
					/* Copyright 2022 ziptyze
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * 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 layer_names {
 | 
				
			||||||
 | 
					    _ONE = 0,
 | 
				
			||||||
 | 
					    _TWO,
 | 
				
			||||||
 | 
					    _THREE,
 | 
				
			||||||
 | 
					    _FOUR
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /* Qwerty
 | 
				
			||||||
 | 
					    *                                                                               ╱⎺⎺⎺⎺╲
 | 
				
			||||||
 | 
					    *                                                                              |RGBTOG|
 | 
				
			||||||
 | 
					    *                                                                              ╲⎽⎽⎽⎽╱ 
 | 
				
			||||||
 | 
					    * ,-----------------------------------------------------------------------------------.
 | 
				
			||||||
 | 
					    * | Tab  |   Q  |   W  |   E  |   R  |   T  |   Y  |   U  |   I  |   O  |   P  | Bksp |
 | 
				
			||||||
 | 
					    * |------+------+------+------+------+------+------+------+------+------+------+------|
 | 
				
			||||||
 | 
					    * | Esc  |   A  |   S  |   D  |   F  |   G  |   H  |   J  |   K  |   L  |   ;  |  '   |
 | 
				
			||||||
 | 
					    * |------+------+------+------+------+------+------+------+------+------+------+------|
 | 
				
			||||||
 | 
					    * | Shift|   Z  |   X  |   C  |   V  |   B  |   N  |   M  |   ,  |   .  |   /  |Enter |
 | 
				
			||||||
 | 
					    * |------+------+------+------+------+------+------+------+------+------+------+------|
 | 
				
			||||||
 | 
					    * |Adjust| Ctrl | Alt  | GUI  |Lower |   Space     |Raise | Left | Down |  Up  |Right |
 | 
				
			||||||
 | 
					    * `-----------------------------------------------------------------------------------'
 | 
				
			||||||
 | 
					    */
 | 
				
			||||||
 | 
					    [_ONE] =  LAYOUT (
 | 
				
			||||||
 | 
					                                                                                                           RGB_TOG,
 | 
				
			||||||
 | 
					        KC_TAB,  KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,    KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,    KC_BSPC,
 | 
				
			||||||
 | 
					        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_LSFT, KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, KC_ENT ,
 | 
				
			||||||
 | 
					        MO(3),   KC_LCTL, KC_LALT, KC_LGUI, MO(1),       KC_SPC,       MO(2),   KC_LEFT, KC_DOWN, KC_UP,   KC_RGHT
 | 
				
			||||||
 | 
					    ),
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /* Lower
 | 
				
			||||||
 | 
					    *                                                                               ╱⎺⎺⎺⎺╲
 | 
				
			||||||
 | 
					    *                                                                              | MUTE |
 | 
				
			||||||
 | 
					    *                                                                              ╲⎽⎽⎽⎽╱ 
 | 
				
			||||||
 | 
					    * ,-----------------------------------------------------------------------------------.
 | 
				
			||||||
 | 
					    * |   ~  |   !  |   @  |   #  |   $  |   %  |   ^  |   &  |   *  |   (  |   )  | Bksp |
 | 
				
			||||||
 | 
					    * |------+------+------+------+------+------+------+------+------+------+------+------|
 | 
				
			||||||
 | 
					    * | Del  |  F1  |  F2  |  F3  |  F4  |  F5  |  F6  |   _  |   +  |   {  |   }  |  |   |
 | 
				
			||||||
 | 
					    * |------+------+------+------+------+------+------+------+------+------+------+------|
 | 
				
			||||||
 | 
					    * |      |  F7  |  F8  |  F9  |  F10 |  F11 |  F12 |ISO ~ |ISO | | Home | End  |      |
 | 
				
			||||||
 | 
					    * |------+------+------+------+------+------+------+------+------+------+------+------|
 | 
				
			||||||
 | 
					    * |      |      |      |      |      |             |      | Next | Vol- | Vol+ | Play |
 | 
				
			||||||
 | 
					    * `-----------------------------------------------------------------------------------'
 | 
				
			||||||
 | 
					    */
 | 
				
			||||||
 | 
					    [_TWO] = LAYOUT (
 | 
				
			||||||
 | 
					                                                                                                                 KC_MUTE,
 | 
				
			||||||
 | 
					        KC_TILD, KC_EXLM, KC_AT,   KC_HASH, KC_DLR,  KC_PERC, KC_CIRC, KC_AMPR,    KC_ASTR,    KC_LPRN, KC_RPRN, KC_BSPC,
 | 
				
			||||||
 | 
					        KC_DEL,  KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,   KC_F6,   KC_UNDS,    KC_PLUS,    KC_LCBR, KC_RCBR, KC_PIPE,
 | 
				
			||||||
 | 
					        _______, KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F11,  KC_F12,  S(KC_NUHS), S(KC_NUBS), KC_HOME, KC_END,  _______,
 | 
				
			||||||
 | 
					        _______, _______, _______, _______, _______,       _______,    _______,    KC_MNXT,    KC_VOLD, KC_VOLU, KC_MPLY
 | 
				
			||||||
 | 
					    ),
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /* Raise
 | 
				
			||||||
 | 
					    *                                                                               ╱⎺⎺⎺⎺╲
 | 
				
			||||||
 | 
					    *                                                                              | MUTE |
 | 
				
			||||||
 | 
					    *                                                                              ╲⎽⎽⎽⎽╱ 
 | 
				
			||||||
 | 
					    * ,-----------------------------------------------------------------------------------.
 | 
				
			||||||
 | 
					    * |   `  |   1  |   2  |   3  |   4  |   5  |   6  |   7  |   8  |   9  |   0  | Bksp |
 | 
				
			||||||
 | 
					    * |------+------+------+------+------+------+------+------+------+------+------+------|
 | 
				
			||||||
 | 
					    * | Del  |  F1  |  F2  |  F3  |  F4  |  F5  |  F6  |   -  |   =  |   [  |   ]  |  \   |
 | 
				
			||||||
 | 
					    * |------+------+------+------+------+------+------+------+------+------+------+------|
 | 
				
			||||||
 | 
					    * |      |  F7  |  F8  |  F9  |  F10 |  F11 |  F12 |ISO # |ISO / |Pg Up |Pg Dn |      |
 | 
				
			||||||
 | 
					    * |------+------+------+------+------+------+------+------+------+------+------+------|
 | 
				
			||||||
 | 
					    * |      |      |      |      |      |      | Mute |      | Next | Vol- | Vol+ | Play |
 | 
				
			||||||
 | 
					    * `-----------------------------------------------------------------------------------'
 | 
				
			||||||
 | 
					    */
 | 
				
			||||||
 | 
					    [_THREE] = LAYOUT (
 | 
				
			||||||
 | 
					                                                                                                           KC_MUTE,
 | 
				
			||||||
 | 
					        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_DEL,  KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,   KC_F6,   KC_MINS, KC_EQL,  KC_LBRC, KC_RBRC, KC_BSLS,
 | 
				
			||||||
 | 
					        _______, KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F11,  KC_F12,  KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, _______,
 | 
				
			||||||
 | 
					        _______, _______, _______, _______, _______,       _______,    _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
 | 
				
			||||||
 | 
					    ),
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /* Adjust (Lower + Raise)
 | 
				
			||||||
 | 
					    *                                                                               ╱⎺⎺⎺⎺╲
 | 
				
			||||||
 | 
					    *                                                                              | MUTE |
 | 
				
			||||||
 | 
					    *                       v-----------------------RGB CONTROL------------------v ╲⎽⎽⎽⎽╱ 
 | 
				
			||||||
 | 
					    * ,-----------------------------------------------------------------------------------.
 | 
				
			||||||
 | 
					    * |      | Reset|Debug | RGB  |RGBMOD| HUE+ | HUE- | SAT+ | SAT- |BRGTH+|BRGTH-|  Del |
 | 
				
			||||||
 | 
					    * |------+------+------+------+------+------+------+------+------+------+------+------| 
 | 
				
			||||||
 | 
					    * |      |      |      |      |      |      |      |      |      |      |      |      |
 | 
				
			||||||
 | 
					    * |------+------+------+------+------+------+------+------+------+------+------+------|
 | 
				
			||||||
 | 
					    * |      |      |      |      |      |      |      |      |      |      |      |      |
 | 
				
			||||||
 | 
					    * |------+------+------+------+------+------+------+------+------+------+------+------|
 | 
				
			||||||
 | 
					    * |      |      |      |      |      |      | Mute |      |      |      |      |      |
 | 
				
			||||||
 | 
					    * `-----------------------------------------------------------------------------------'
 | 
				
			||||||
 | 
					    */
 | 
				
			||||||
 | 
					    [_FOUR] = LAYOUT (
 | 
				
			||||||
 | 
					                                                                                                           KC_MUTE,
 | 
				
			||||||
 | 
					        _______, QK_BOOT,   DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL ,
 | 
				
			||||||
 | 
					        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
 | 
				
			||||||
 | 
					        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
 | 
				
			||||||
 | 
					        _______, _______, _______, _______, _______,       _______,    _______, _______, _______, _______, _______
 | 
				
			||||||
 | 
					    )
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#if defined(ENCODER_MAP_ENABLE)
 | 
				
			||||||
 | 
					const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
 | 
				
			||||||
 | 
					    [_ONE]   =  { ENCODER_CCW_CW(RGB_RMOD, RGB_MOD) },
 | 
				
			||||||
 | 
					    [_TWO]   =  { ENCODER_CCW_CW(KC_VOLD,  KC_VOLU) },
 | 
				
			||||||
 | 
					    [_THREE] =  { ENCODER_CCW_CW(KC_VOLD,  KC_VOLU) },
 | 
				
			||||||
 | 
					    [_FOUR]  =  { ENCODER_CCW_CW(KC_VOLD,  KC_VOLU) }
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
							
								
								
									
										1
									
								
								keyboards/1upkeyboards/pi40/keymaps/default/rules.mk
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								keyboards/1upkeyboards/pi40/keymaps/default/rules.mk
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1 @@
 | 
				
			||||||
 | 
					ENCODER_MAP_ENABLE = yes
 | 
				
			||||||
							
								
								
									
										268
									
								
								keyboards/1upkeyboards/pi40/keymaps/via/keymap.c
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										268
									
								
								keyboards/1upkeyboards/pi40/keymaps/via/keymap.c
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,268 @@
 | 
				
			||||||
 | 
					/* Copyright 2022 ziptyze
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * 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 layer_names {
 | 
				
			||||||
 | 
					    _ONE = 0,
 | 
				
			||||||
 | 
					    _TWO,
 | 
				
			||||||
 | 
					    _THREE,
 | 
				
			||||||
 | 
					    _FOUR,
 | 
				
			||||||
 | 
					    _FIVE,
 | 
				
			||||||
 | 
					    _SIX,
 | 
				
			||||||
 | 
					    _SEVEN,
 | 
				
			||||||
 | 
					    _EIGHT,
 | 
				
			||||||
 | 
					    _NINE,
 | 
				
			||||||
 | 
					    _TEN
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /* Qwerty
 | 
				
			||||||
 | 
					    *                                                                               ╱⎺⎺⎺⎺╲
 | 
				
			||||||
 | 
					    *                                                                              |RGBTOG|
 | 
				
			||||||
 | 
					    *                                                                              ╲⎽⎽⎽⎽╱ 
 | 
				
			||||||
 | 
					    * ,-----------------------------------------------------------------------------------.
 | 
				
			||||||
 | 
					    * | Tab  |   Q  |   W  |   E  |   R  |   T  |   Y  |   U  |   I  |   O  |   P  | Bksp |
 | 
				
			||||||
 | 
					    * |------+------+------+------+------+------+------+------+------+------+------+------|
 | 
				
			||||||
 | 
					    * | Esc  |   A  |   S  |   D  |   F  |   G  |   H  |   J  |   K  |   L  |   ;  |  '   |
 | 
				
			||||||
 | 
					    * |------+------+------+------+------+------+------+------+------+------+------+------|
 | 
				
			||||||
 | 
					    * | Shift|   Z  |   X  |   C  |   V  |   B  |   N  |   M  |   ,  |   .  |   /  |Enter |
 | 
				
			||||||
 | 
					    * |------+------+------+------+------+------+------+------+------+------+------+------|
 | 
				
			||||||
 | 
					    * |Adjust| Ctrl | Alt  | GUI  |Lower |   Space     |Raise | Left | Down |  Up  |Right |
 | 
				
			||||||
 | 
					    * `-----------------------------------------------------------------------------------'
 | 
				
			||||||
 | 
					    */
 | 
				
			||||||
 | 
					    [_ONE] =  LAYOUT (
 | 
				
			||||||
 | 
					                                                                                                           RGB_TOG,
 | 
				
			||||||
 | 
					        KC_TAB,  KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,    KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,    KC_BSPC,
 | 
				
			||||||
 | 
					        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_LSFT, KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, KC_ENT ,
 | 
				
			||||||
 | 
					        MO(3),   KC_LCTL, KC_LALT, KC_LGUI, MO(1),       KC_SPC,       MO(2),   KC_LEFT, KC_DOWN, KC_UP,   KC_RGHT
 | 
				
			||||||
 | 
					    ),
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /* Lower
 | 
				
			||||||
 | 
					    *                                                                               ╱⎺⎺⎺⎺╲
 | 
				
			||||||
 | 
					    *                                                                              | MUTE |
 | 
				
			||||||
 | 
					    *                                                                              ╲⎽⎽⎽⎽╱ 
 | 
				
			||||||
 | 
					    * ,-----------------------------------------------------------------------------------.
 | 
				
			||||||
 | 
					    * |   ~  |   !  |   @  |   #  |   $  |   %  |   ^  |   &  |   *  |   (  |   )  | Bksp |
 | 
				
			||||||
 | 
					    * |------+------+------+------+------+------+------+------+------+------+------+------|
 | 
				
			||||||
 | 
					    * | Del  |  F1  |  F2  |  F3  |  F4  |  F5  |  F6  |   _  |   +  |   {  |   }  |  |   |
 | 
				
			||||||
 | 
					    * |------+------+------+------+------+------+------+------+------+------+------+------|
 | 
				
			||||||
 | 
					    * |      |  F7  |  F8  |  F9  |  F10 |  F11 |  F12 |ISO ~ |ISO | | Home | End  |      |
 | 
				
			||||||
 | 
					    * |------+------+------+------+------+------+------+------+------+------+------+------|
 | 
				
			||||||
 | 
					    * |      |      |      |      |      |             |      | Next | Vol- | Vol+ | Play |
 | 
				
			||||||
 | 
					    * `-----------------------------------------------------------------------------------'
 | 
				
			||||||
 | 
					    */
 | 
				
			||||||
 | 
					    [_TWO] = LAYOUT (
 | 
				
			||||||
 | 
					                                                                                                                 KC_MUTE,
 | 
				
			||||||
 | 
					        KC_TILD, KC_EXLM, KC_AT,   KC_HASH, KC_DLR,  KC_PERC, KC_CIRC, KC_AMPR,    KC_ASTR,    KC_LPRN, KC_RPRN, KC_BSPC,
 | 
				
			||||||
 | 
					        KC_DEL,  KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,   KC_F6,   KC_UNDS,    KC_PLUS,    KC_LCBR, KC_RCBR, KC_PIPE,
 | 
				
			||||||
 | 
					        _______, KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F11,  KC_F12,  S(KC_NUHS), S(KC_NUBS), KC_HOME, KC_END,  _______,
 | 
				
			||||||
 | 
					        _______, _______, _______, _______, _______,       _______,    _______,    KC_MNXT,    KC_VOLD, KC_VOLU, KC_MPLY
 | 
				
			||||||
 | 
					    ),
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /* Raise
 | 
				
			||||||
 | 
					    *                                                                               ╱⎺⎺⎺⎺╲
 | 
				
			||||||
 | 
					    *                                                                              | MUTE |
 | 
				
			||||||
 | 
					    *                                                                              ╲⎽⎽⎽⎽╱ 
 | 
				
			||||||
 | 
					    * ,-----------------------------------------------------------------------------------.
 | 
				
			||||||
 | 
					    * |   `  |   1  |   2  |   3  |   4  |   5  |   6  |   7  |   8  |   9  |   0  | Bksp |
 | 
				
			||||||
 | 
					    * |------+------+------+------+------+------+------+------+------+------+------+------|
 | 
				
			||||||
 | 
					    * | Del  |  F1  |  F2  |  F3  |  F4  |  F5  |  F6  |   -  |   =  |   [  |   ]  |  \   |
 | 
				
			||||||
 | 
					    * |------+------+------+------+------+------+------+------+------+------+------+------|
 | 
				
			||||||
 | 
					    * |      |  F7  |  F8  |  F9  |  F10 |  F11 |  F12 |ISO # |ISO / |Pg Up |Pg Dn |      |
 | 
				
			||||||
 | 
					    * |------+------+------+------+------+------+------+------+------+------+------+------|
 | 
				
			||||||
 | 
					    * |      |      |      |      |      |      | Mute |      | Next | Vol- | Vol+ | Play |
 | 
				
			||||||
 | 
					    * `-----------------------------------------------------------------------------------'
 | 
				
			||||||
 | 
					    */
 | 
				
			||||||
 | 
					    [_THREE] = LAYOUT (
 | 
				
			||||||
 | 
					                                                                                                           KC_MUTE,
 | 
				
			||||||
 | 
					        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_DEL,  KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,   KC_F6,   KC_MINS, KC_EQL,  KC_LBRC, KC_RBRC, KC_BSLS,
 | 
				
			||||||
 | 
					        _______, KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F11,  KC_F12,  KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, _______,
 | 
				
			||||||
 | 
					        _______, _______, _______, _______, _______,       _______,    _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
 | 
				
			||||||
 | 
					    ),
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /* Adjust (Lower + Raise)
 | 
				
			||||||
 | 
					    *                                                                               ╱⎺⎺⎺⎺╲
 | 
				
			||||||
 | 
					    *                                                                              | MUTE |
 | 
				
			||||||
 | 
					    *                       v-----------------------RGB CONTROL------------------v ╲⎽⎽⎽⎽╱ 
 | 
				
			||||||
 | 
					    * ,-----------------------------------------------------------------------------------.
 | 
				
			||||||
 | 
					    * |      | Reset|Debug | RGB  |RGBMOD| HUE+ | HUE- | SAT+ | SAT- |BRGTH+|BRGTH-|  Del |
 | 
				
			||||||
 | 
					    * |------+------+------+------+------+------+------+------+------+------+------+------| 
 | 
				
			||||||
 | 
					    * |      |      |      |      |      |      |      |      |      |      |      |      |
 | 
				
			||||||
 | 
					    * |------+------+------+------+------+------+------+------+------+------+------+------|
 | 
				
			||||||
 | 
					    * |      |      |      |      |      |      |      |      |      |      |      |      |
 | 
				
			||||||
 | 
					    * |------+------+------+------+------+------+------+------+------+------+------+------|
 | 
				
			||||||
 | 
					    * |      |      |      |      |      |      | Mute |      |      |      |      |      |
 | 
				
			||||||
 | 
					    * `-----------------------------------------------------------------------------------'
 | 
				
			||||||
 | 
					    */
 | 
				
			||||||
 | 
					    [_FOUR] = LAYOUT (
 | 
				
			||||||
 | 
					                                                                                                           KC_MUTE,
 | 
				
			||||||
 | 
					        _______, QK_BOOT,   DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL ,
 | 
				
			||||||
 | 
					        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
 | 
				
			||||||
 | 
					        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
 | 
				
			||||||
 | 
					        _______, _______, _______, _______, _______,       _______,    _______, _______, _______, _______, _______
 | 
				
			||||||
 | 
					    ),
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /* Placeholder
 | 
				
			||||||
 | 
					    *                                                                               ╱⎺⎺⎺⎺╲
 | 
				
			||||||
 | 
					    *                                                                              |      |
 | 
				
			||||||
 | 
					    *                                                                              ╲⎽⎽⎽⎽╱ 
 | 
				
			||||||
 | 
					    * ,-----------------------------------------------------------------------------------.
 | 
				
			||||||
 | 
					    * |      |      |      |      |      |      |      |      |      |      |      |      |
 | 
				
			||||||
 | 
					    * |------+------+------+------+------+------+------+------+------+------+------+------|
 | 
				
			||||||
 | 
					    * |      |      |      |      |      |      |      |      |      |      |      |      |
 | 
				
			||||||
 | 
					    * |------+------+------+------+------+------+------+------+------+------+------+------|
 | 
				
			||||||
 | 
					    * |      |      |      |      |      |      |      |      |      |      |      |      |
 | 
				
			||||||
 | 
					    * |------+------+------+------+------+------+------+------+------+------+------+------|
 | 
				
			||||||
 | 
					    * |      |      |      |      |      |      |      |      |      |      |      |      |
 | 
				
			||||||
 | 
					    * `-----------------------------------------------------------------------------------'
 | 
				
			||||||
 | 
					    */
 | 
				
			||||||
 | 
					    [_FIVE] = LAYOUT (
 | 
				
			||||||
 | 
					                                                                                                           _______,
 | 
				
			||||||
 | 
					        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
 | 
				
			||||||
 | 
					        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
 | 
				
			||||||
 | 
					        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
 | 
				
			||||||
 | 
					        _______, _______, _______, _______, _______,       _______,    _______, _______, _______, _______, _______
 | 
				
			||||||
 | 
					    ),
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /* Placeholder
 | 
				
			||||||
 | 
					    *                                                                               ╱⎺⎺⎺⎺╲
 | 
				
			||||||
 | 
					    *                                                                              |      |
 | 
				
			||||||
 | 
					    *                                                                              ╲⎽⎽⎽⎽╱ 
 | 
				
			||||||
 | 
					    * ,-----------------------------------------------------------------------------------.
 | 
				
			||||||
 | 
					    * |      |      |      |      |      |      |      |      |      |      |      |      |
 | 
				
			||||||
 | 
					    * |------+------+------+------+------+------+------+------+------+------+------+------|
 | 
				
			||||||
 | 
					    * |      |      |      |      |      |      |      |      |      |      |      |      |
 | 
				
			||||||
 | 
					    * |------+------+------+------+------+------+------+------+------+------+------+------|
 | 
				
			||||||
 | 
					    * |      |      |      |      |      |      |      |      |      |      |      |      |
 | 
				
			||||||
 | 
					    * |------+------+------+------+------+------+------+------+------+------+------+------|
 | 
				
			||||||
 | 
					    * |      |      |      |      |      |      |      |      |      |      |      |      |
 | 
				
			||||||
 | 
					    * `-----------------------------------------------------------------------------------'
 | 
				
			||||||
 | 
					    */
 | 
				
			||||||
 | 
					    [_SIX] = LAYOUT (
 | 
				
			||||||
 | 
					                                                                                                           _______,
 | 
				
			||||||
 | 
					        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
 | 
				
			||||||
 | 
					        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
 | 
				
			||||||
 | 
					        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
 | 
				
			||||||
 | 
					        _______, _______, _______, _______, _______,       _______,    _______, _______, _______, _______, _______
 | 
				
			||||||
 | 
					    ),
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /* Placeholder
 | 
				
			||||||
 | 
					    *                                                                               ╱⎺⎺⎺⎺╲
 | 
				
			||||||
 | 
					    *                                                                              |      |
 | 
				
			||||||
 | 
					    *                                                                              ╲⎽⎽⎽⎽╱ 
 | 
				
			||||||
 | 
					    * ,-----------------------------------------------------------------------------------.
 | 
				
			||||||
 | 
					    * |      |      |      |      |      |      |      |      |      |      |      |      |
 | 
				
			||||||
 | 
					    * |------+------+------+------+------+------+------+------+------+------+------+------|
 | 
				
			||||||
 | 
					    * |      |      |      |      |      |      |      |      |      |      |      |      |
 | 
				
			||||||
 | 
					    * |------+------+------+------+------+------+------+------+------+------+------+------|
 | 
				
			||||||
 | 
					    * |      |      |      |      |      |      |      |      |      |      |      |      |
 | 
				
			||||||
 | 
					    * |------+------+------+------+------+------+------+------+------+------+------+------|
 | 
				
			||||||
 | 
					    * |      |      |      |      |      |      |      |      |      |      |      |      |
 | 
				
			||||||
 | 
					    * `-----------------------------------------------------------------------------------'
 | 
				
			||||||
 | 
					    */
 | 
				
			||||||
 | 
					    [_SEVEN] = LAYOUT (
 | 
				
			||||||
 | 
					                                                                                                           _______,
 | 
				
			||||||
 | 
					        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
 | 
				
			||||||
 | 
					        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
 | 
				
			||||||
 | 
					        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
 | 
				
			||||||
 | 
					        _______, _______, _______, _______, _______,       _______,    _______, _______, _______, _______, _______
 | 
				
			||||||
 | 
					    ),
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /* Placeholder
 | 
				
			||||||
 | 
					    *                                                                               ╱⎺⎺⎺⎺╲
 | 
				
			||||||
 | 
					    *                                                                              |      |
 | 
				
			||||||
 | 
					    *                                                                              ╲⎽⎽⎽⎽╱ 
 | 
				
			||||||
 | 
					    * ,-----------------------------------------------------------------------------------.
 | 
				
			||||||
 | 
					    * |      |      |      |      |      |      |      |      |      |      |      |      |
 | 
				
			||||||
 | 
					    * |------+------+------+------+------+------+------+------+------+------+------+------|
 | 
				
			||||||
 | 
					    * |      |      |      |      |      |      |      |      |      |      |      |      |
 | 
				
			||||||
 | 
					    * |------+------+------+------+------+------+------+------+------+------+------+------|
 | 
				
			||||||
 | 
					    * |      |      |      |      |      |      |      |      |      |      |      |      |
 | 
				
			||||||
 | 
					    * |------+------+------+------+------+------+------+------+------+------+------+------|
 | 
				
			||||||
 | 
					    * |      |      |      |      |      |      |      |      |      |      |      |      |
 | 
				
			||||||
 | 
					    * `-----------------------------------------------------------------------------------'
 | 
				
			||||||
 | 
					    */
 | 
				
			||||||
 | 
					    [_EIGHT] = LAYOUT (
 | 
				
			||||||
 | 
					                                                                                                           _______,
 | 
				
			||||||
 | 
					        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
 | 
				
			||||||
 | 
					        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
 | 
				
			||||||
 | 
					        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
 | 
				
			||||||
 | 
					        _______, _______, _______, _______, _______,       _______,    _______, _______, _______, _______, _______
 | 
				
			||||||
 | 
					    ),
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /* Placeholder
 | 
				
			||||||
 | 
					    *                                                                               ╱⎺⎺⎺⎺╲
 | 
				
			||||||
 | 
					    *                                                                              |      |
 | 
				
			||||||
 | 
					    *                                                                              ╲⎽⎽⎽⎽╱ 
 | 
				
			||||||
 | 
					    * ,-----------------------------------------------------------------------------------.
 | 
				
			||||||
 | 
					    * |      |      |      |      |      |      |      |      |      |      |      |      |
 | 
				
			||||||
 | 
					    * |------+------+------+------+------+------+------+------+------+------+------+------|
 | 
				
			||||||
 | 
					    * |      |      |      |      |      |      |      |      |      |      |      |      |
 | 
				
			||||||
 | 
					    * |------+------+------+------+------+------+------+------+------+------+------+------|
 | 
				
			||||||
 | 
					    * |      |      |      |      |      |      |      |      |      |      |      |      |
 | 
				
			||||||
 | 
					    * |------+------+------+------+------+------+------+------+------+------+------+------|
 | 
				
			||||||
 | 
					    * |      |      |      |      |      |      |      |      |      |      |      |      |
 | 
				
			||||||
 | 
					    * `-----------------------------------------------------------------------------------'
 | 
				
			||||||
 | 
					    */
 | 
				
			||||||
 | 
					    [_NINE] = LAYOUT (
 | 
				
			||||||
 | 
					                                                                                                           _______,
 | 
				
			||||||
 | 
					        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
 | 
				
			||||||
 | 
					        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
 | 
				
			||||||
 | 
					        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
 | 
				
			||||||
 | 
					        _______, _______, _______, _______, _______,       _______,    _______, _______, _______, _______, _______
 | 
				
			||||||
 | 
					    ),
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /* Placeholder
 | 
				
			||||||
 | 
					    *                                                                               ╱⎺⎺⎺⎺╲
 | 
				
			||||||
 | 
					    *                                                                              |      |
 | 
				
			||||||
 | 
					    *                                                                              ╲⎽⎽⎽⎽╱ 
 | 
				
			||||||
 | 
					    * ,-----------------------------------------------------------------------------------.
 | 
				
			||||||
 | 
					    * |      |      |      |      |      |      |      |      |      |      |      |      |
 | 
				
			||||||
 | 
					    * |------+------+------+------+------+------+------+------+------+------+------+------|
 | 
				
			||||||
 | 
					    * |      |      |      |      |      |      |      |      |      |      |      |      |
 | 
				
			||||||
 | 
					    * |------+------+------+------+------+------+------+------+------+------+------+------|
 | 
				
			||||||
 | 
					    * |      |      |      |      |      |      |      |      |      |      |      |      |
 | 
				
			||||||
 | 
					    * |------+------+------+------+------+------+------+------+------+------+------+------|
 | 
				
			||||||
 | 
					    * |      |      |      |      |      |      |      |      |      |      |      |      |
 | 
				
			||||||
 | 
					    * `-----------------------------------------------------------------------------------'
 | 
				
			||||||
 | 
					    */
 | 
				
			||||||
 | 
					    [_TEN] = LAYOUT (
 | 
				
			||||||
 | 
					                                                                                                           _______,
 | 
				
			||||||
 | 
					        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
 | 
				
			||||||
 | 
					        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
 | 
				
			||||||
 | 
					        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
 | 
				
			||||||
 | 
					        _______, _______, _______, _______, _______,       _______,    _______, _______, _______, _______, _______
 | 
				
			||||||
 | 
					    )
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#if defined(ENCODER_MAP_ENABLE)
 | 
				
			||||||
 | 
					const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
 | 
				
			||||||
 | 
					    [_ONE]   =  { ENCODER_CCW_CW(RGB_RMOD, RGB_MOD) },
 | 
				
			||||||
 | 
					    [_TWO]   =  { ENCODER_CCW_CW(KC_VOLD,  KC_VOLU) },
 | 
				
			||||||
 | 
					    [_THREE] =  { ENCODER_CCW_CW(KC_VOLD,  KC_VOLU) },
 | 
				
			||||||
 | 
					    [_FOUR]  =  { ENCODER_CCW_CW(KC_VOLD,  KC_VOLU) },
 | 
				
			||||||
 | 
					    [_FIVE]  =  { ENCODER_CCW_CW(_______,  _______) },
 | 
				
			||||||
 | 
					    [_SIX]   =  { ENCODER_CCW_CW(_______,  _______) },
 | 
				
			||||||
 | 
					    [_SEVEN] =  { ENCODER_CCW_CW(_______,  _______) },
 | 
				
			||||||
 | 
					    [_EIGHT] =  { ENCODER_CCW_CW(_______,  _______) },
 | 
				
			||||||
 | 
					    [_NINE]  =  { ENCODER_CCW_CW(_______,  _______) },
 | 
				
			||||||
 | 
					    [_TEN]   =  { ENCODER_CCW_CW(_______,  _______) },
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
							
								
								
									
										4
									
								
								keyboards/1upkeyboards/pi40/keymaps/via/rules.mk
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								keyboards/1upkeyboards/pi40/keymaps/via/rules.mk
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,4 @@
 | 
				
			||||||
 | 
					VIA_ENABLE = yes
 | 
				
			||||||
 | 
					LTO_ENABLE = yes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ENCODER_MAP_ENABLE = yes
 | 
				
			||||||
							
								
								
									
										231
									
								
								keyboards/1upkeyboards/pi40/lib/glcdfont.c
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										231
									
								
								keyboards/1upkeyboards/pi40/lib/glcdfont.c
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,231 @@
 | 
				
			||||||
 | 
					// Copyright 2022 @filterpaper
 | 
				
			||||||
 | 
					// SPDX-License-Identifier: GPL-2.0+
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include "progmem.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					static const unsigned char PROGMEM font[] = {
 | 
				
			||||||
 | 
					    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0x3E, 0x5B, 0x4F, 0x5B, 0x3E, 0x00,
 | 
				
			||||||
 | 
					    0x3E, 0x6B, 0x4F, 0x6B, 0x3E, 0x00,
 | 
				
			||||||
 | 
					    0x1C, 0x3E, 0x7C, 0x3E, 0x1C, 0x00,
 | 
				
			||||||
 | 
					    0x18, 0x3C, 0x7E, 0x3C, 0x18, 0x00,
 | 
				
			||||||
 | 
					    0x1C, 0x57, 0x7D, 0x57, 0x1C, 0x00,
 | 
				
			||||||
 | 
					    0x1C, 0x5E, 0x7F, 0x5E, 0x1C, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x18, 0x3C, 0x18, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0xFF, 0xE7, 0xC3, 0xE7, 0xFF, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x18, 0x24, 0x18, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0xFF, 0xE7, 0xDB, 0xE7, 0xFF, 0x00,
 | 
				
			||||||
 | 
					    0x30, 0x48, 0x3A, 0x06, 0x0E, 0x00,
 | 
				
			||||||
 | 
					    0x26, 0x29, 0x79, 0x29, 0x26, 0x00,
 | 
				
			||||||
 | 
					    0x40, 0x7F, 0x05, 0x05, 0x07, 0x00,
 | 
				
			||||||
 | 
					    0x40, 0x7F, 0x05, 0x25, 0x3F, 0x00,
 | 
				
			||||||
 | 
					    0x5A, 0x3C, 0xE7, 0x3C, 0x5A, 0x00,
 | 
				
			||||||
 | 
					    0x7F, 0x3E, 0x1C, 0x1C, 0x08, 0x00,
 | 
				
			||||||
 | 
					    0x08, 0x1C, 0x1C, 0x3E, 0x7F, 0x00,
 | 
				
			||||||
 | 
					    0x14, 0x22, 0x7F, 0x22, 0x14, 0x00,
 | 
				
			||||||
 | 
					    0x5F, 0x5F, 0x00, 0x5F, 0x5F, 0x00,
 | 
				
			||||||
 | 
					    0x06, 0x09, 0x7F, 0x01, 0x7F, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x66, 0x89, 0x95, 0x6A, 0x00,
 | 
				
			||||||
 | 
					    0x60, 0x60, 0x60, 0x60, 0x60, 0x00,
 | 
				
			||||||
 | 
					    0x94, 0xA2, 0xFF, 0xA2, 0x94, 0x00,
 | 
				
			||||||
 | 
					    0x08, 0x04, 0x7E, 0x04, 0x08, 0x00,
 | 
				
			||||||
 | 
					    0x10, 0x20, 0x7E, 0x20, 0x10, 0x00,
 | 
				
			||||||
 | 
					    0x08, 0x08, 0x2A, 0x1C, 0x08, 0x00,
 | 
				
			||||||
 | 
					    0x08, 0x1C, 0x2A, 0x08, 0x08, 0x00,
 | 
				
			||||||
 | 
					    0x1E, 0x10, 0x10, 0x10, 0x10, 0x00,
 | 
				
			||||||
 | 
					    0x0C, 0x1E, 0x0C, 0x1E, 0x0C, 0x00,
 | 
				
			||||||
 | 
					    0x30, 0x38, 0x3E, 0x38, 0x30, 0x00,
 | 
				
			||||||
 | 
					    0x06, 0x0E, 0x3E, 0x0E, 0x06, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0x5F, 0x00, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x07, 0x00, 0x07, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0x14, 0x7F, 0x14, 0x7F, 0x14, 0x00,
 | 
				
			||||||
 | 
					    0x24, 0x2A, 0x7F, 0x2A, 0x12, 0x00,
 | 
				
			||||||
 | 
					    0x23, 0x13, 0x08, 0x64, 0x62, 0x00,
 | 
				
			||||||
 | 
					    0x36, 0x49, 0x56, 0x20, 0x50, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x08, 0x07, 0x03, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x1C, 0x22, 0x41, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x41, 0x22, 0x1C, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0x2A, 0x1C, 0x7F, 0x1C, 0x2A, 0x00,
 | 
				
			||||||
 | 
					    0x08, 0x08, 0x3E, 0x08, 0x08, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x80, 0x70, 0x30, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0x08, 0x08, 0x08, 0x08, 0x08, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0x60, 0x60, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0x20, 0x10, 0x08, 0x04, 0x02, 0x00,
 | 
				
			||||||
 | 
					    0x3E, 0x51, 0x49, 0x45, 0x3E, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x42, 0x7F, 0x40, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0x72, 0x49, 0x49, 0x49, 0x46, 0x00,
 | 
				
			||||||
 | 
					    0x21, 0x41, 0x49, 0x4D, 0x33, 0x00,
 | 
				
			||||||
 | 
					    0x18, 0x14, 0x12, 0x7F, 0x10, 0x00,
 | 
				
			||||||
 | 
					    0x27, 0x45, 0x45, 0x45, 0x39, 0x00,
 | 
				
			||||||
 | 
					    0x3C, 0x4A, 0x49, 0x49, 0x31, 0x00,
 | 
				
			||||||
 | 
					    0x41, 0x21, 0x11, 0x09, 0x07, 0x00,
 | 
				
			||||||
 | 
					    0x36, 0x49, 0x49, 0x49, 0x36, 0x00,
 | 
				
			||||||
 | 
					    0x46, 0x49, 0x49, 0x29, 0x1E, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0x14, 0x00, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x40, 0x34, 0x00, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x08, 0x14, 0x22, 0x41, 0x00,
 | 
				
			||||||
 | 
					    0x14, 0x14, 0x14, 0x14, 0x14, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x41, 0x22, 0x14, 0x08, 0x00,
 | 
				
			||||||
 | 
					    0x02, 0x01, 0x59, 0x09, 0x06, 0x00,
 | 
				
			||||||
 | 
					    0x3E, 0x41, 0x5D, 0x59, 0x4E, 0x00,
 | 
				
			||||||
 | 
					    0x7C, 0x12, 0x11, 0x12, 0x7C, 0x00,
 | 
				
			||||||
 | 
					    0x7F, 0x49, 0x49, 0x49, 0x36, 0x00,
 | 
				
			||||||
 | 
					    0x3E, 0x41, 0x41, 0x41, 0x22, 0x00,
 | 
				
			||||||
 | 
					    0x7F, 0x41, 0x41, 0x41, 0x3E, 0x00,
 | 
				
			||||||
 | 
					    0x7F, 0x49, 0x49, 0x49, 0x41, 0x00,
 | 
				
			||||||
 | 
					    0x7F, 0x09, 0x09, 0x09, 0x01, 0x00,
 | 
				
			||||||
 | 
					    0x3E, 0x41, 0x41, 0x51, 0x73, 0x00,
 | 
				
			||||||
 | 
					    0x7F, 0x08, 0x08, 0x08, 0x7F, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x41, 0x7F, 0x41, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0x20, 0x40, 0x41, 0x3F, 0x01, 0x00,
 | 
				
			||||||
 | 
					    0x7F, 0x08, 0x14, 0x22, 0x41, 0x00,
 | 
				
			||||||
 | 
					    0x7F, 0x40, 0x40, 0x40, 0x40, 0x00,
 | 
				
			||||||
 | 
					    0x7F, 0x02, 0x1C, 0x02, 0x7F, 0x00,
 | 
				
			||||||
 | 
					    0x7F, 0x04, 0x08, 0x10, 0x7F, 0x00,
 | 
				
			||||||
 | 
					    0x3E, 0x41, 0x41, 0x41, 0x3E, 0x00,
 | 
				
			||||||
 | 
					    0x7F, 0x09, 0x09, 0x09, 0x06, 0x00,
 | 
				
			||||||
 | 
					    0x3E, 0x41, 0x51, 0x21, 0x5E, 0x00,
 | 
				
			||||||
 | 
					    0x7F, 0x09, 0x19, 0x29, 0x46, 0x00,
 | 
				
			||||||
 | 
					    0x26, 0x49, 0x49, 0x49, 0x32, 0x00,
 | 
				
			||||||
 | 
					    0x03, 0x01, 0x7F, 0x01, 0x03, 0x00,
 | 
				
			||||||
 | 
					    0x3F, 0x40, 0x40, 0x40, 0x3F, 0x00,
 | 
				
			||||||
 | 
					    0x1F, 0x20, 0x40, 0x20, 0x1F, 0x00,
 | 
				
			||||||
 | 
					    0x3F, 0x40, 0x38, 0x40, 0x3F, 0x00,
 | 
				
			||||||
 | 
					    0x63, 0x14, 0x08, 0x14, 0x63, 0x00,
 | 
				
			||||||
 | 
					    0x03, 0x04, 0x78, 0x04, 0x03, 0x00,
 | 
				
			||||||
 | 
					    0x61, 0x59, 0x49, 0x4D, 0x43, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x7F, 0x41, 0x41, 0x41, 0x00,
 | 
				
			||||||
 | 
					    0x02, 0x04, 0x08, 0x10, 0x20, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x41, 0x41, 0x41, 0x7F, 0x00,
 | 
				
			||||||
 | 
					    0x04, 0x02, 0x01, 0x02, 0x04, 0x00,
 | 
				
			||||||
 | 
					    0x40, 0x40, 0x40, 0x40, 0x40, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x03, 0x07, 0x08, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0x20, 0x54, 0x54, 0x78, 0x40, 0x00,
 | 
				
			||||||
 | 
					    0x7F, 0x28, 0x44, 0x44, 0x38, 0x00,
 | 
				
			||||||
 | 
					    0x38, 0x44, 0x44, 0x44, 0x28, 0x00,
 | 
				
			||||||
 | 
					    0x38, 0x44, 0x44, 0x28, 0x7F, 0x00,
 | 
				
			||||||
 | 
					    0x38, 0x54, 0x54, 0x54, 0x18, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x08, 0x7E, 0x09, 0x02, 0x00,
 | 
				
			||||||
 | 
					    0x18, 0x24, 0x24, 0x1C, 0x78, 0x00,
 | 
				
			||||||
 | 
					    0x7F, 0x08, 0x04, 0x04, 0x78, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x44, 0x7D, 0x40, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0x20, 0x40, 0x40, 0x3D, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0x7F, 0x10, 0x28, 0x44, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x41, 0x7F, 0x40, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0x7C, 0x04, 0x78, 0x04, 0x78, 0x00,
 | 
				
			||||||
 | 
					    0x7C, 0x08, 0x04, 0x04, 0x78, 0x00,
 | 
				
			||||||
 | 
					    0x38, 0x44, 0x44, 0x44, 0x38, 0x00,
 | 
				
			||||||
 | 
					    0x7C, 0x18, 0x24, 0x24, 0x18, 0x00,
 | 
				
			||||||
 | 
					    0x18, 0x24, 0x24, 0x18, 0x7C, 0x00,
 | 
				
			||||||
 | 
					    0x7C, 0x08, 0x04, 0x04, 0x08, 0x00,
 | 
				
			||||||
 | 
					    0x48, 0x54, 0x54, 0x54, 0x24, 0x00,
 | 
				
			||||||
 | 
					    0x04, 0x04, 0x3F, 0x44, 0x24, 0x00,
 | 
				
			||||||
 | 
					    0x3C, 0x40, 0x40, 0x20, 0x7C, 0x00,
 | 
				
			||||||
 | 
					    0x1C, 0x20, 0x40, 0x20, 0x1C, 0x00,
 | 
				
			||||||
 | 
					    0x3C, 0x40, 0x30, 0x40, 0x3C, 0x00,
 | 
				
			||||||
 | 
					    0x44, 0x28, 0x10, 0x28, 0x44, 0x00,
 | 
				
			||||||
 | 
					    0x4C, 0x90, 0x90, 0x90, 0x7C, 0x00,
 | 
				
			||||||
 | 
					    0x44, 0x64, 0x54, 0x4C, 0x44, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x08, 0x36, 0x41, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0x77, 0x00, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x41, 0x36, 0x08, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0x02, 0x01, 0x02, 0x04, 0x02, 0x00,
 | 
				
			||||||
 | 
					    0x3C, 0x26, 0x23, 0x26, 0x3C, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0x00, 0xE0, 0x18, 0x02,
 | 
				
			||||||
 | 
					    0x00, 0x3C, 0x1E, 0x06, 0x0E, 0x0A,
 | 
				
			||||||
 | 
					    0x1A, 0x0E, 0x26, 0xFF, 0xBF, 0x0D,
 | 
				
			||||||
 | 
					    0x00, 0x80, 0x80, 0x81, 0xFF, 0xFE,
 | 
				
			||||||
 | 
					    0xF8, 0x01, 0x01, 0x03, 0x03, 0x03,
 | 
				
			||||||
 | 
					    0x03, 0x05, 0x05, 0x02, 0x02, 0x0A,
 | 
				
			||||||
 | 
					    0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A,
 | 
				
			||||||
 | 
					    0x0C, 0x04, 0x10, 0x18, 0x20, 0xC0,
 | 
				
			||||||
 | 
					    0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0x00, 0xD0, 0x58, 0x78,
 | 
				
			||||||
 | 
					    0x68, 0x2C, 0x24, 0x34, 0xF4, 0xF4,
 | 
				
			||||||
 | 
					    0x3C, 0x3C, 0xFC, 0xF8, 0xF8, 0x70,
 | 
				
			||||||
 | 
					    0xF0, 0xE0, 0xE0, 0xC0, 0xC0, 0x80,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0xC0, 0x7C, 0x07, 0x80, 0xE0,
 | 
				
			||||||
 | 
					    0x60, 0x64, 0xE2, 0x60, 0x10, 0x10,
 | 
				
			||||||
 | 
					    0x20, 0x22, 0x12, 0x17, 0x3F, 0x0B,
 | 
				
			||||||
 | 
					    0x01, 0x01, 0x01, 0x01, 0x01, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0x00, 0x00, 0x00, 0x21,
 | 
				
			||||||
 | 
					    0x6F, 0xFC, 0xE0, 0x00, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0x00, 0x00, 0x00, 0x40,
 | 
				
			||||||
 | 
					    0x60, 0x60, 0x70, 0x70, 0xF0, 0xF0,
 | 
				
			||||||
 | 
					    0xD0, 0xD0, 0xD0, 0xD0, 0x50, 0x50,
 | 
				
			||||||
 | 
					    0x50, 0x70, 0x78, 0x78, 0x78, 0x7C,
 | 
				
			||||||
 | 
					    0x7F, 0x7D, 0x7C, 0x5E, 0x4F, 0x44,
 | 
				
			||||||
 | 
					    0x40, 0x40, 0x00, 0x00, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x38, 0x30, 0x30, 0x30, 0x30,
 | 
				
			||||||
 | 
					    0x30, 0x30, 0x58, 0x46, 0x47, 0x41,
 | 
				
			||||||
 | 
					    0x41, 0x01, 0x01, 0x03, 0x03, 0x42,
 | 
				
			||||||
 | 
					    0x42, 0x42, 0x46, 0x46, 0x46, 0x46,
 | 
				
			||||||
 | 
					    0x42, 0x43, 0x43, 0x73, 0x77, 0x72,
 | 
				
			||||||
 | 
					    0x70, 0x60, 0x60, 0x60, 0x60, 0x60,
 | 
				
			||||||
 | 
					    0x60, 0x61, 0x67, 0x6F, 0x7E, 0x78,
 | 
				
			||||||
 | 
					    0x78, 0x70, 0x70, 0x70, 0x70, 0x70,
 | 
				
			||||||
 | 
					    0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
 | 
				
			||||||
 | 
					    0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
 | 
				
			||||||
 | 
					    0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
 | 
				
			||||||
 | 
					    0x40, 0x40, 0x40, 0x48, 0x58, 0x58,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
							
								
								
									
										10
									
								
								keyboards/1upkeyboards/pi40/mcuconf.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								keyboards/1upkeyboards/pi40/mcuconf.h
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,10 @@
 | 
				
			||||||
 | 
					// Copyright 2022 QMK
 | 
				
			||||||
 | 
					// SPDX-License-Identifier: GPL-2.0-or-later
 | 
				
			||||||
 | 
					#pragma once
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include_next <mcuconf.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#undef RP_I2C_USE_I2C0
 | 
				
			||||||
 | 
					#undef RP_I2C_USE_I2C1
 | 
				
			||||||
 | 
					#define RP_I2C_USE_I2C0 TRUE
 | 
				
			||||||
 | 
					#define RP_I2C_USE_I2C1 FALSE
 | 
				
			||||||
							
								
								
									
										312
									
								
								keyboards/1upkeyboards/pi40/pi40.c
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										312
									
								
								keyboards/1upkeyboards/pi40/pi40.c
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,312 @@
 | 
				
			||||||
 | 
					/* Copyright 2022 ziptyze
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * 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 "quantum.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#ifdef OLED_ENABLE
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					static uint32_t oled_logo_timer = 0;
 | 
				
			||||||
 | 
					static bool clear_logo = true;
 | 
				
			||||||
 | 
					static const char PROGMEM my_logo[] = {
 | 
				
			||||||
 | 
					        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
 | 
				
			||||||
 | 
					        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
 | 
				
			||||||
 | 
					        0xf0, 0xf0, 0xf0, 0xf0, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 
 | 
				
			||||||
 | 
					        0xff, 0xff, 0xff, 0xff, 0x0f, 0x0f, 0x0f, 0x0f, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x0f, 0x0f, 0x0f, 
 | 
				
			||||||
 | 
					        0x0f, 0x0f, 0x0f, 0x1f, 0xff, 0xff, 0xff, 0x1f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 
 | 
				
			||||||
 | 
					        0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0x00, 
 | 
				
			||||||
 | 
					        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
 | 
				
			||||||
 | 
					        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
 | 
				
			||||||
 | 
					        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
 | 
				
			||||||
 | 
					        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
 | 
				
			||||||
 | 
					        0xff, 0xff, 0xff, 0xff, 0xf0, 0xf0, 0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
 | 
				
			||||||
 | 
					        0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 
 | 
				
			||||||
 | 
					        0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 
 | 
				
			||||||
 | 
					        0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 
 | 
				
			||||||
 | 
					        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
 | 
				
			||||||
 | 
					        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
 | 
				
			||||||
 | 
					        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
 | 
				
			||||||
 | 
					        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
 | 
				
			||||||
 | 
					        0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
 | 
				
			||||||
 | 
					        0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x0f, 0x0f, 0x00, 0x00, 0x00, 0x00, 
 | 
				
			||||||
 | 
					        0x00, 0x00, 0x00, 0x80, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 
 | 
				
			||||||
 | 
					        0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x0f, 0x0f, 0x0f, 0x00, 
 | 
				
			||||||
 | 
					        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
 | 
				
			||||||
 | 
					        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
 | 
				
			||||||
 | 
					        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
 | 
				
			||||||
 | 
					        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
 | 
				
			||||||
 | 
					        0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 
 | 
				
			||||||
 | 
					        0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xfb, 
 | 
				
			||||||
 | 
					        0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xff, 
 | 
				
			||||||
 | 
					        0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
 | 
				
			||||||
 | 
					        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
 | 
				
			||||||
 | 
					        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#ifdef RGB_MATRIX_ENABLE
 | 
				
			||||||
 | 
					led_config_t g_led_config = { {
 | 
				
			||||||
 | 
					    // Key Matrix to LED Index
 | 
				
			||||||
 | 
					    {  0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11 },
 | 
				
			||||||
 | 
					    { 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12 },
 | 
				
			||||||
 | 
					    { 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35 },
 | 
				
			||||||
 | 
					    { 46, 45, 44, 43, 42, 41, NO_LED, 40, 39, 38, 37, 36 }
 | 
				
			||||||
 | 
					}, {
 | 
				
			||||||
 | 
					    // LED Index to Physical Position
 | 
				
			||||||
 | 
					    {   9,  8 }, {  28,  8 }, {  46,  8 }, {  65,  8 }, {  84,  8 }, { 102,  8 }, { 121,  8 }, { 140,  8 }, { 159,  8 }, { 177,  8 }, { 196,  8 }, { 215,  8 },
 | 
				
			||||||
 | 
					    { 215, 24 }, { 196, 24 }, { 177, 24 }, { 159, 24 }, { 140, 24 }, { 121, 24 }, { 102, 24 }, {  84, 24 }, {  65, 24 }, {  46, 24 }, {  28, 24 }, {   9, 24 },
 | 
				
			||||||
 | 
					    {   9, 40 }, {  28, 40 }, {  46, 40 }, {  65, 40 }, {  84, 40 }, { 102, 40 }, { 121, 40 }, { 140, 40 }, { 159, 40 }, { 177, 40 }, { 196, 40 }, { 215, 40 },
 | 
				
			||||||
 | 
					    { 215, 56 }, { 196, 56 }, { 177, 56 }, { 159, 56 }, { 140, 56 }, { 112, 56 }, {  84, 56 }, {  65, 56 }, {  46, 56 }, {  28, 56 }, {   9, 56 }
 | 
				
			||||||
 | 
					}, {
 | 
				
			||||||
 | 
					    // LED Index to Flag
 | 
				
			||||||
 | 
					    1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
 | 
				
			||||||
 | 
					    1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
 | 
				
			||||||
 | 
					    1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
 | 
				
			||||||
 | 
					    1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
 | 
				
			||||||
 | 
					} };
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#ifdef OLED_ENABLE
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void init_timer(void){
 | 
				
			||||||
 | 
					   oled_logo_timer = timer_read32();
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void user_oled_magic(void) {
 | 
				
			||||||
 | 
					    // Host Keyboard Layer Status
 | 
				
			||||||
 | 
					    oled_write_P(PSTR("Layer: "), false);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    switch (get_highest_layer(layer_state)) {
 | 
				
			||||||
 | 
					        case 0:
 | 
				
			||||||
 | 
					            oled_write_P(PSTR("One\n"), false);
 | 
				
			||||||
 | 
					            break;
 | 
				
			||||||
 | 
					        case 1:
 | 
				
			||||||
 | 
					            oled_write_P(PSTR("Two\n"), false);
 | 
				
			||||||
 | 
					            break;
 | 
				
			||||||
 | 
					        case 2:
 | 
				
			||||||
 | 
					            oled_write_P(PSTR("Three\n"), false);
 | 
				
			||||||
 | 
					            break;
 | 
				
			||||||
 | 
					        case 3:
 | 
				
			||||||
 | 
					            oled_write_P(PSTR("Four\n"), false);
 | 
				
			||||||
 | 
					            break;
 | 
				
			||||||
 | 
					        case 4:
 | 
				
			||||||
 | 
					            oled_write_P(PSTR("Five\n"), false);
 | 
				
			||||||
 | 
					            break;
 | 
				
			||||||
 | 
					        case 5:
 | 
				
			||||||
 | 
					            oled_write_P(PSTR("Six\n"), false);
 | 
				
			||||||
 | 
					            break;
 | 
				
			||||||
 | 
					        case 6:
 | 
				
			||||||
 | 
					            oled_write_P(PSTR("Seven\n"), false);
 | 
				
			||||||
 | 
					            break;
 | 
				
			||||||
 | 
					        case 7:
 | 
				
			||||||
 | 
					            oled_write_P(PSTR("Eight\n"), false);
 | 
				
			||||||
 | 
					            break;
 | 
				
			||||||
 | 
					        case 8:
 | 
				
			||||||
 | 
					            oled_write_P(PSTR("Nine\n"), false);
 | 
				
			||||||
 | 
					            break;
 | 
				
			||||||
 | 
					        case 9:
 | 
				
			||||||
 | 
					            oled_write_P(PSTR("Ten\n"), false);
 | 
				
			||||||
 | 
					            break;
 | 
				
			||||||
 | 
					        default:
 | 
				
			||||||
 | 
					            // Or use the write_ln shortcut over adding '\n' to the end of your string
 | 
				
			||||||
 | 
					            oled_write_ln_P(PSTR("Undefined"), false);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    // Host Keyboard LED Status
 | 
				
			||||||
 | 
					    led_t led_state = host_keyboard_led_state();
 | 
				
			||||||
 | 
					    oled_write_P(led_state.caps_lock ? PSTR("Cap(x) ") : PSTR("Cap( ) "), false);
 | 
				
			||||||
 | 
					    oled_write_P(led_state.num_lock ? PSTR("Num(x) ") : PSTR("Num( ) "), false);
 | 
				
			||||||
 | 
					    oled_write_P(led_state.scroll_lock ? PSTR("Scrl(x)") : PSTR("Scrl( )"), false);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    switch (rgb_matrix_get_mode()) {
 | 
				
			||||||
 | 
					        case 1:
 | 
				
			||||||
 | 
					            oled_write_P(PSTR("Solid Color\n                  "), false);
 | 
				
			||||||
 | 
					            break;
 | 
				
			||||||
 | 
					        case 2:
 | 
				
			||||||
 | 
					            oled_write_P(PSTR("Alphas Mods\n                  "), false);
 | 
				
			||||||
 | 
					            break;
 | 
				
			||||||
 | 
					        case 3:
 | 
				
			||||||
 | 
					            oled_write_P(PSTR("Gradient Up Down\n                  "), false);
 | 
				
			||||||
 | 
					            break;
 | 
				
			||||||
 | 
					        case 4:
 | 
				
			||||||
 | 
					            oled_write_P(PSTR("Gradient Left Right\n                  "), false);
 | 
				
			||||||
 | 
					            break;
 | 
				
			||||||
 | 
					        case 5:
 | 
				
			||||||
 | 
					            oled_write_P(PSTR("Breathing\n                  "), false);
 | 
				
			||||||
 | 
					            break;
 | 
				
			||||||
 | 
					        case 6:
 | 
				
			||||||
 | 
					            oled_write_P(PSTR("Band Sat\n                  "), false);
 | 
				
			||||||
 | 
					            break;
 | 
				
			||||||
 | 
					        case 7:
 | 
				
			||||||
 | 
					            oled_write_P(PSTR("Band Val\n                  "), false);
 | 
				
			||||||
 | 
					            break;
 | 
				
			||||||
 | 
					        case 8:
 | 
				
			||||||
 | 
					            oled_write_P(PSTR("Band Pinwheel Sat\n                  "), false);
 | 
				
			||||||
 | 
					            break;
 | 
				
			||||||
 | 
					        case 9:
 | 
				
			||||||
 | 
					            oled_write_P(PSTR("Band Pinwheel Val\n                  "), false);
 | 
				
			||||||
 | 
					            break;
 | 
				
			||||||
 | 
					        case 10:
 | 
				
			||||||
 | 
					            oled_write_P(PSTR("Band Spiral Sat\n                  "), false);
 | 
				
			||||||
 | 
					            break;
 | 
				
			||||||
 | 
					        case 11:
 | 
				
			||||||
 | 
					            oled_write_P(PSTR("Band Spiral Val\n                  "), false);
 | 
				
			||||||
 | 
					            break;
 | 
				
			||||||
 | 
					        case 12:
 | 
				
			||||||
 | 
					            oled_write_P(PSTR("Cycle All\n                  "), false);
 | 
				
			||||||
 | 
					            break;
 | 
				
			||||||
 | 
					        case 13:
 | 
				
			||||||
 | 
					            oled_write_P(PSTR("Cycle Left Right\n                  "), false);
 | 
				
			||||||
 | 
					            break;
 | 
				
			||||||
 | 
					        case 14:
 | 
				
			||||||
 | 
					            oled_write_P(PSTR("Cycle Up Down\n                  "), false);
 | 
				
			||||||
 | 
					            break;
 | 
				
			||||||
 | 
					        case 15:
 | 
				
			||||||
 | 
					            oled_write_P(PSTR("Rainbow\nMoving Chevron    "), false);
 | 
				
			||||||
 | 
					            break;
 | 
				
			||||||
 | 
					        case 16:
 | 
				
			||||||
 | 
					            oled_write_P(PSTR("Cycle Out In\n                  "), false);
 | 
				
			||||||
 | 
					            break;
 | 
				
			||||||
 | 
					        case 17:
 | 
				
			||||||
 | 
					            oled_write_P(PSTR("Cycle Out In Dual\n                  "), false);
 | 
				
			||||||
 | 
					            break;
 | 
				
			||||||
 | 
					        case 18:
 | 
				
			||||||
 | 
					            oled_write_P(PSTR("Cycle Pinwheel\n                  "), false);
 | 
				
			||||||
 | 
					            break;
 | 
				
			||||||
 | 
					        case 19:
 | 
				
			||||||
 | 
					            oled_write_P(PSTR("Cycle Spiral\n                  "), false);
 | 
				
			||||||
 | 
					            break;
 | 
				
			||||||
 | 
					        case 20:
 | 
				
			||||||
 | 
					            oled_write_P(PSTR("Dual Beacon\n                  "), false);
 | 
				
			||||||
 | 
					            break;
 | 
				
			||||||
 | 
					        case 21:
 | 
				
			||||||
 | 
					            oled_write_P(PSTR("Rainbow Beacon\n                  "), false);
 | 
				
			||||||
 | 
					            break;
 | 
				
			||||||
 | 
					        case 22:
 | 
				
			||||||
 | 
					            oled_write_P(PSTR("Rainbow Pinwheels\n                  "), false);
 | 
				
			||||||
 | 
					            break;
 | 
				
			||||||
 | 
					        case 23:
 | 
				
			||||||
 | 
					            oled_write_P(PSTR("Raindrops\n                  "), false);
 | 
				
			||||||
 | 
					            break;
 | 
				
			||||||
 | 
					        case 24:
 | 
				
			||||||
 | 
					            oled_write_P(PSTR("Jellybean Raindrops\n                  "), false);
 | 
				
			||||||
 | 
					            break;
 | 
				
			||||||
 | 
					        case 25:
 | 
				
			||||||
 | 
					            oled_write_P(PSTR("Hue Breathing\n                  "), false);
 | 
				
			||||||
 | 
					            break;
 | 
				
			||||||
 | 
					        case 26:
 | 
				
			||||||
 | 
					            oled_write_P(PSTR("Hue Pendulum\n                  "), false);
 | 
				
			||||||
 | 
					            break;
 | 
				
			||||||
 | 
					        case 27:
 | 
				
			||||||
 | 
					            oled_write_P(PSTR("Hue Wave\n                  "), false);
 | 
				
			||||||
 | 
					            break;
 | 
				
			||||||
 | 
					        case 28:
 | 
				
			||||||
 | 
					            oled_write_P(PSTR("Pixel Rain\n                  "), false);
 | 
				
			||||||
 | 
					            break;
 | 
				
			||||||
 | 
					        case 29:
 | 
				
			||||||
 | 
					            oled_write_P(PSTR("Pixel Flow\n                  "), false);
 | 
				
			||||||
 | 
					            break;
 | 
				
			||||||
 | 
					        case 30:
 | 
				
			||||||
 | 
					            oled_write_P(PSTR("Pixel Fractal\n                  "), false);
 | 
				
			||||||
 | 
					            break;
 | 
				
			||||||
 | 
					        case 31:
 | 
				
			||||||
 | 
					            oled_write_P(PSTR("Typing Heatmap\n                  "), false);
 | 
				
			||||||
 | 
					            break;
 | 
				
			||||||
 | 
					        case 32:
 | 
				
			||||||
 | 
					            oled_write_P(PSTR("Digital Rain\n                  "), false);
 | 
				
			||||||
 | 
					            break;
 | 
				
			||||||
 | 
					        case 33:
 | 
				
			||||||
 | 
					            oled_write_P(PSTR("Solid Reactive\nSimple            "), false);
 | 
				
			||||||
 | 
					            break;
 | 
				
			||||||
 | 
					        case 34:
 | 
				
			||||||
 | 
					            oled_write_P(PSTR("Solid Reactive\n                  "), false);
 | 
				
			||||||
 | 
					            break;
 | 
				
			||||||
 | 
					        case 35:
 | 
				
			||||||
 | 
					            oled_write_P(PSTR("Solid Reactive\nWide              "), false);
 | 
				
			||||||
 | 
					            break;
 | 
				
			||||||
 | 
					        case 36:
 | 
				
			||||||
 | 
					            oled_write_P(PSTR("Solid Reactive\nMultiwide         "), false);
 | 
				
			||||||
 | 
					            break;
 | 
				
			||||||
 | 
					        case 37:
 | 
				
			||||||
 | 
					            oled_write_P(PSTR("Solid Reactive\nCross             "), false);
 | 
				
			||||||
 | 
					            break;
 | 
				
			||||||
 | 
					        case 38:
 | 
				
			||||||
 | 
					            oled_write_P(PSTR("Solid Reactive\nMulticross        "), false);
 | 
				
			||||||
 | 
					            break;
 | 
				
			||||||
 | 
					        case 39:
 | 
				
			||||||
 | 
					            oled_write_P(PSTR("Solid Reactive\nNexus             "), false);
 | 
				
			||||||
 | 
					            break;
 | 
				
			||||||
 | 
					        case 40:
 | 
				
			||||||
 | 
					            oled_write_P(PSTR("Solid Reactive\nMultinexus        "), false);
 | 
				
			||||||
 | 
					            break;
 | 
				
			||||||
 | 
					        case 41:
 | 
				
			||||||
 | 
					            oled_write_P(PSTR("Splash\n                  "), false);
 | 
				
			||||||
 | 
					            break;
 | 
				
			||||||
 | 
					        case 42:
 | 
				
			||||||
 | 
					            oled_write_P(PSTR("Multisplash\n                  "), false);
 | 
				
			||||||
 | 
					            break;
 | 
				
			||||||
 | 
					        case 43:
 | 
				
			||||||
 | 
					            oled_write_P(PSTR("Solid Splash\n                  "), false);
 | 
				
			||||||
 | 
					            break;
 | 
				
			||||||
 | 
					        case 44:
 | 
				
			||||||
 | 
					            oled_write_P(PSTR("Solid Multisplash\n                  "), false);
 | 
				
			||||||
 | 
					            break;
 | 
				
			||||||
 | 
					        default:
 | 
				
			||||||
 | 
					            // Or use the write_ln shortcut over adding '\n' to the end of your string
 | 
				
			||||||
 | 
					            oled_write_ln_P(PSTR("Undefined\n                  "), false);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void render_logo(void) {
 | 
				
			||||||
 | 
					    oled_write_raw_P(my_logo, sizeof(my_logo));
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void clear_screen(void) {
 | 
				
			||||||
 | 
					    if (clear_logo){
 | 
				
			||||||
 | 
					      for (uint8_t i = 0; i < OLED_DISPLAY_HEIGHT; ++i) {
 | 
				
			||||||
 | 
					        for (uint8_t j = 0; j < OLED_DISPLAY_WIDTH; ++j) {
 | 
				
			||||||
 | 
					          oled_write_raw_byte(0x0, i*OLED_DISPLAY_WIDTH + j);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					      clear_logo = false;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					oled_rotation_t oled_init_kb(oled_rotation_t rotation) {
 | 
				
			||||||
 | 
					    return OLED_ROTATION_180;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void keyboard_post_init_kb(void) {
 | 
				
			||||||
 | 
					    init_timer();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    keyboard_post_init_user();
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#    define SHOW_LOGO 5000
 | 
				
			||||||
 | 
					bool oled_task_kb(void) {
 | 
				
			||||||
 | 
					    if (!oled_task_user()) { return false; }
 | 
				
			||||||
 | 
					    if ((timer_elapsed32(oled_logo_timer) < SHOW_LOGO)){
 | 
				
			||||||
 | 
					        render_logo();
 | 
				
			||||||
 | 
					    }else{
 | 
				
			||||||
 | 
					      clear_screen();
 | 
				
			||||||
 | 
					      user_oled_magic();
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    return false;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
							
								
								
									
										38
									
								
								keyboards/1upkeyboards/pi40/readme.md
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										38
									
								
								keyboards/1upkeyboards/pi40/readme.md
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,38 @@
 | 
				
			||||||
 | 
					# pi40
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					The pi40 is a 4x12 ortholinear keyboard with a fixed 2u spacebar using a Raspberry Pi Pico for the controller.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					It includes options for a rotary encoder, SSD1306 oled, and per-key in-switch RGB LEDs.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					All unused GPIO pins are broken out on the main pcb, as well as the available voltage pins.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					This firmware also includes the option for VIA which includes configuration options for the rotary encoder, matrix lighting, and up to 10 layers.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Default oled configuration displays:
 | 
				
			||||||
 | 
					   - current layer
 | 
				
			||||||
 | 
					   - caps lock status
 | 
				
			||||||
 | 
					   - num lock status
 | 
				
			||||||
 | 
					   - scroll lock status
 | 
				
			||||||
 | 
					   - current RGB lighting mode
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* Keyboard Maintainer: [ziptyze](https://github.com/ziptyze)
 | 
				
			||||||
 | 
					* Hardware Availability: (https://1upkeyboards.com/shop/keyboard-kits/diy-40-kits/pi40-keyboard-kit/)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Make example for this keyboard (after setting up your build environment):
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    make 1upkeyboards/pi40:default
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Flashing example for this keyboard:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    make 1upkeyboards/pi40: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 2 ways:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* **Bootmagic reset**: Hold down the key at (0,0) in the matrix, the top left key, and plug in the keyboard
 | 
				
			||||||
 | 
					* **BOOTSEL button**: Hold down the BOOTSEL button on the pico, and plug in the keyboard
 | 
				
			||||||
							
								
								
									
										26
									
								
								keyboards/1upkeyboards/pi40/rules.mk
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										26
									
								
								keyboards/1upkeyboards/pi40/rules.mk
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,26 @@
 | 
				
			||||||
 | 
					# MCU name
 | 
				
			||||||
 | 
					MCU = RP2040
 | 
				
			||||||
 | 
					BOOTLOADER = rp2040
 | 
				
			||||||
 | 
					BOARD = GENERIC_RP_RP2040
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Build Options
 | 
				
			||||||
 | 
					#   change yes to no to disable
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					BOOTMAGIC_ENABLE = yes      # Enable Bootmagic Lite
 | 
				
			||||||
 | 
					MOUSEKEY_ENABLE = yes       # Mouse keys
 | 
				
			||||||
 | 
					EXTRAKEY_ENABLE = yes       # Audio control and System control
 | 
				
			||||||
 | 
					CONSOLE_ENABLE = no         # Console for debug
 | 
				
			||||||
 | 
					COMMAND_ENABLE = no         # Commands for debug and configuration
 | 
				
			||||||
 | 
					NKRO_ENABLE = no            # Enable N-Key Rollover
 | 
				
			||||||
 | 
					BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality
 | 
				
			||||||
 | 
					RGBLIGHT_ENABLE = no        # Enable keyboard RGB underglow
 | 
				
			||||||
 | 
					AUDIO_ENABLE = no           # Audio output
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					RGB_MATRIX_ENABLE = yes
 | 
				
			||||||
 | 
					RGB_MATRIX_DRIVER = WS2812
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					WS2812_DRIVER = vendor
 | 
				
			||||||
 | 
					ENCODER_ENABLE = yes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					OLED_ENABLE     = yes
 | 
				
			||||||
 | 
					OLED_DRIVER     = SSD1306
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue