mirror of
				https://github.com/mfulz/qmk_firmware.git
				synced 2025-10-31 05:12:33 +01:00 
			
		
		
		
	Merge remote-tracking branch 'origin/master' into develop
This commit is contained in:
		
						commit
						f870a04bb7
					
				
							
								
								
									
										15
									
								
								keyboards/keycapsss/3w6_2040/config.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								keyboards/keycapsss/3w6_2040/config.h
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,15 @@ | ||||
| // Copyright 2022 Conor Burns (@Conor-Burns)
 | ||||
| // Copyright 2023 Ben Roe (@keycapsss)
 | ||||
| // Copyright 2023 Tom Barnes (@keyboard-magpie)
 | ||||
| // SPDX-License-Identifier: GPL-2.0-or-later
 | ||||
| #pragma once | ||||
| 
 | ||||
| #define SERIAL_USART_FULL_DUPLEX | ||||
| #define SERIAL_USART_TX_PIN GP0 | ||||
| #define SERIAL_USART_RX_PIN GP1 | ||||
| #define SERIAL_USART_PIN_SWAP | ||||
| #define SERIAL_USART_SPEED 921600 | ||||
| #define USB_VBUS_PIN GP19 | ||||
| 
 | ||||
| #define SPLIT_POINTING_ENABLE | ||||
| #define POINTING_DEVICE_RIGHT | ||||
							
								
								
									
										116
									
								
								keyboards/keycapsss/3w6_2040/info.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										116
									
								
								keyboards/keycapsss/3w6_2040/info.json
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,116 @@ | ||||
| { | ||||
|     "manufacturer": "Keycapsss", | ||||
|     "keyboard_name": "3w6_2040", | ||||
|     "maintainer": "@keyboard_magpie", | ||||
|     "bootloader": "rp2040", | ||||
|     "bootloader_instructions": "Press and hold the boot button while plugging in the keyboard", | ||||
|     "diode_direction": "COL2ROW", | ||||
|     "features": { | ||||
|         "bootmagic": true, | ||||
|         "command": false, | ||||
|         "console": true, | ||||
|         "extrakey": true, | ||||
|         "mousekey": true, | ||||
|         "nkro": true, | ||||
|         "pointing_device": true, | ||||
|         "rgblight": true | ||||
|     }, | ||||
|     "indicators": { | ||||
|         "caps_lock": "GP17" | ||||
|     }, | ||||
|     "matrix_pins": { | ||||
|         "cols": ["GP8", "GP9", "GP10", "GP11", "GP12"], | ||||
|         "rows": ["GP4", "GP5", "GP6", "GP7"] | ||||
|     }, | ||||
|     "processor": "RP2040", | ||||
|     "rgblight": { | ||||
|         "animations": { | ||||
|             "alternating": true, | ||||
|             "breathing": true, | ||||
|             "christmas": true, | ||||
|             "knight": true, | ||||
|             "rainbow_mood": true, | ||||
|             "rainbow_swirl": true, | ||||
|             "rgb_test": true, | ||||
|             "snake": true, | ||||
|             "static_gradient": true, | ||||
|             "twinkle": true | ||||
|         }, | ||||
|         "brightness_steps": 8, | ||||
|         "default": { | ||||
|             "hue": 152, | ||||
|             "sat": 232, | ||||
|             "speed": 2 | ||||
|         }, | ||||
|         "hue_steps": 8, | ||||
|         "led_count": 2, | ||||
|         "max_brightness": 100, | ||||
|         "saturation_steps": 8, | ||||
|         "split_count": [1, 1] | ||||
|     }, | ||||
|     "split": { | ||||
|         "enabled": true, | ||||
|         "transport": { | ||||
|             "sync": { | ||||
|                 "indicators": true, | ||||
|                 "layer_state": true | ||||
|             } | ||||
|         } | ||||
|     }, | ||||
|     "url": "https://keycapsss.com", | ||||
|     "usb": { | ||||
|         "device_version": "1.0.0", | ||||
|         "pid": "0x3357", | ||||
|         "vid": "0x7983" | ||||
|     }, | ||||
|     "ws2812": { | ||||
|         "driver": "vendor", | ||||
|         "pin": "GP25" | ||||
|     }, | ||||
|     "dynamic_keymap": { | ||||
|         "layer_count": 6 | ||||
|     }, | ||||
|     "community_layouts": ["split_3x5_3"], | ||||
|     "layouts": { | ||||
|         "LAYOUT_split_3x5_3": { | ||||
|             "layout": [ | ||||
|                 {"label": "L00", "matrix": [0, 0], "x": 0, "y": 0.75}, | ||||
|                 {"label": "L01", "matrix": [0, 1], "x": 1, "y": 0.25}, | ||||
|                 {"label": "L02", "matrix": [0, 2], "x": 2, "y": 0}, | ||||
|                 {"label": "L03", "matrix": [0, 3], "x": 3, "y": 0.25}, | ||||
|                 {"label": "L04", "matrix": [0, 4], "x": 4, "y": 0.5}, | ||||
|                 {"label": "R04", "matrix": [4, 4], "x": 8.75, "y": 0.5}, | ||||
|                 {"label": "R03", "matrix": [4, 3], "x": 9.75, "y": 0.25}, | ||||
|                 {"label": "R02", "matrix": [4, 2], "x": 10.75, "y": 0}, | ||||
|                 {"label": "R01", "matrix": [4, 1], "x": 11.75, "y": 0.25}, | ||||
|                 {"label": "R00", "matrix": [4, 0], "x": 12.75, "y": 0.75}, | ||||
|                 {"label": "L10", "matrix": [1, 0], "x": 0, "y": 1.75}, | ||||
|                 {"label": "L11", "matrix": [1, 1], "x": 1, "y": 1.25}, | ||||
|                 {"label": "L12", "matrix": [1, 2], "x": 2, "y": 1}, | ||||
|                 {"label": "L13", "matrix": [1, 3], "x": 3, "y": 1.25}, | ||||
|                 {"label": "L14", "matrix": [1, 4], "x": 4, "y": 1.5}, | ||||
|                 {"label": "R14", "matrix": [5, 4], "x": 8.75, "y": 1.5}, | ||||
|                 {"label": "R13", "matrix": [5, 3], "x": 9.75, "y": 1.25}, | ||||
|                 {"label": "R12", "matrix": [5, 2], "x": 10.75, "y": 1}, | ||||
|                 {"label": "R11", "matrix": [5, 1], "x": 11.75, "y": 1.25}, | ||||
|                 {"label": "R10", "matrix": [5, 0], "x": 12.75, "y": 1.75}, | ||||
|                 {"label": "L20", "matrix": [2, 0], "x": 0, "y": 2.75}, | ||||
|                 {"label": "L21", "matrix": [2, 1], "x": 1, "y": 2.25}, | ||||
|                 {"label": "L22", "matrix": [2, 2], "x": 2, "y": 2}, | ||||
|                 {"label": "L23", "matrix": [2, 3], "x": 3, "y": 2.25}, | ||||
|                 {"label": "L24", "matrix": [2, 4], "x": 4, "y": 2.5}, | ||||
|                 {"label": "R24", "matrix": [6, 4], "x": 8.75, "y": 2.5}, | ||||
|                 {"label": "R23", "matrix": [6, 3], "x": 9.75, "y": 2.25}, | ||||
|                 {"label": "R22", "matrix": [6, 2], "x": 10.75, "y": 2}, | ||||
|                 {"label": "R21", "matrix": [6, 1], "x": 11.75, "y": 2.25}, | ||||
|                 {"label": "R20", "matrix": [6, 0], "x": 12.75, "y": 2.75}, | ||||
|                 {"label": "L32", "matrix": [3, 2], "x": 2.75, "y": 3.5}, | ||||
|                 {"label": "L33", "matrix": [3, 3], "x": 4, "y": 3.75}, | ||||
|                 {"label": "L34", "matrix": [3, 4], "x": 5.25, "y": 3.5, "h": 1.5}, | ||||
|                 {"label": "R34", "matrix": [7, 4], "x": 7.5, "y": 3.5, "h": 1.5}, | ||||
|                 {"label": "R33", "matrix": [7, 3], "x": 8.75, "y": 3.75}, | ||||
|                 {"label": "R32", "matrix": [7, 2], "x": 10, "y": 3.5} | ||||
|             ] | ||||
|         } | ||||
|     } | ||||
| } | ||||
							
								
								
									
										57
									
								
								keyboards/keycapsss/3w6_2040/keymaps/default/keymap.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										57
									
								
								keyboards/keycapsss/3w6_2040/keymaps/default/keymap.c
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,57 @@ | ||||
| // Copyright 2021 weteor | 2022 Conor Burns (@Conor-Burns)
 | ||||
| // Copyright 2023 Ben Roe (@keycapsss)
 | ||||
| // Copyright 2023 Tom Barnes (@keyboard-magpie)
 | ||||
| // SPDX-License-Identifier: GPL-2.0-or-later
 | ||||
| 
 | ||||
| #include QMK_KEYBOARD_H | ||||
| enum layers { | ||||
|     _ALPHA_QWERTY = 0, | ||||
|     _ALPHA_COLEMAK, | ||||
|     _SYM, | ||||
|     _NAV, | ||||
|     _NUM, | ||||
|     _CFG, | ||||
| }; | ||||
| 
 | ||||
| const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||||
| 
 | ||||
|     // clang-format off
 | ||||
| 
 | ||||
|     [_ALPHA_QWERTY] = LAYOUT_split_3x5_3( | ||||
|         KC_Q,         KC_W,    KC_E,    KC_R,    KC_T,                                                KC_Y,    KC_U,    KC_I,    KC_O,    KC_P, | ||||
|         KC_A,         KC_S,    KC_D,    KC_F,    KC_G,                                                KC_H,    KC_J,    KC_K,    KC_L,    KC_SCLN, | ||||
|         LSFT_T(KC_Z), KC_X,    KC_C,    KC_V,    KC_B,                                                KC_N,    KC_M,    KC_COMM, KC_DOT,  RSFT_T(KC_SLSH), | ||||
|                         LCTL_T(KC_ESC), LT(_NUM,KC_SPC), LT(_NAV, KC_TAB),     LT(_SYM, KC_BSPC), KC_ENT, LALT_T(KC_DEL) | ||||
|     ), | ||||
|     [_ALPHA_COLEMAK] = LAYOUT_split_3x5_3( | ||||
|         KC_Q,         KC_W,    KC_F,    KC_P,    KC_G,                                                KC_J,    KC_L,    KC_U,    KC_Y,    KC_QUOT, | ||||
|         KC_A,         KC_R,    KC_S,    KC_T,    KC_D,                                                KC_H,    KC_N,    KC_E,    KC_I,    KC_O, | ||||
|         LSFT_T(KC_Z), KC_X,    KC_C,    KC_V,    KC_B,                                                KC_K,    KC_M,    KC_COMM, KC_DOT,  RSFT_T(KC_SCLN), | ||||
|                         LCTL_T(KC_ENT), LT(_NUM,KC_SPC), LT(_NAV, KC_TAB),     LT(_SYM, KC_BSPC), KC_ENT, LALT_T(KC_DEL) | ||||
|     ), | ||||
|     [_SYM] = LAYOUT_split_3x5_3( | ||||
|         KC_GRV , KC_CIRC,   KC_AT,  KC_DLR, KC_TILD,                                KC_AMPR, KC_EXLM, KC_PIPE, KC_UNDS, KC_HASH, | ||||
|         KC_SLSH, KC_LBRC, KC_LCBR, KC_LPRN,  KC_EQL,                                KC_ASTR, KC_RPRN, KC_RCBR, KC_RBRC, KC_BSLS, | ||||
|         _______, KC_QUES, KC_PLUS, KC_PERC, XXXXXXX,                                XXXXXXX, XXXXXXX, KC_MINS, XXXXXXX, _______, | ||||
|                                         XXXXXXX, MO(_CFG), XXXXXXX,     _______, XXXXXXX, XXXXXXX | ||||
|     ), | ||||
|     [_NAV] = LAYOUT_split_3x5_3( | ||||
|         XXXXXXX, KC_VOLD, KC_MUTE, KC_VOLU, XXXXXXX,                                XXXXXXX, KC_PGDN,   KC_UP, KC_PGUP,  KC_DEL, | ||||
|         KC_MPRV, KC_MPLY, KC_MSTP, KC_MNXT, XXXXXXX,                                KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT,  KC_END, | ||||
|         XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,                                XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, | ||||
|                                         XXXXXXX, XXXXXXX, _______,      XXXXXXX, MO(_CFG), XXXXXXX | ||||
|     ), | ||||
|     [_NUM] = LAYOUT_split_3x5_3( | ||||
|         XXXXXXX,  KC_F9, KC_F10, KC_F11, KC_F12,                                    KC_PPLS,  KC_P7,  KC_P8,  KC_P9, KC_PSLS, | ||||
|         XXXXXXX,  KC_F5,  KC_F6,  KC_F7,  KC_F8,                                    KC_P0,  KC_P4,  KC_P5,  KC_P6, KC_PDOT, | ||||
|         XXXXXXX,  KC_F1,  KC_F2,  KC_F3,  KC_F4,                                    KC_PMNS,  KC_P1,  KC_P2,  KC_P3, KC_PAST, | ||||
|                                         XXXXXXX, _______, XXXXXXX,      KC_PEQL, KC_PENT, XXXXXXX | ||||
|     ), | ||||
|     [_CFG] = LAYOUT_split_3x5_3( | ||||
|         XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,                                XXXXXXX, XXXXXXX, XXXXXXX,DF(_ALPHA_QWERTY), DF(_ALPHA_COLEMAK), | ||||
|         XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,                                XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, | ||||
|         XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,                                XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, | ||||
|                                          XXXXXXX, _______, XXXXXXX,     XXXXXXX, _______, XXXXXXX | ||||
|     ) | ||||
|     // clang-format on
 | ||||
| }; | ||||
							
								
								
									
										57
									
								
								keyboards/keycapsss/3w6_2040/keymaps/via/keymap.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										57
									
								
								keyboards/keycapsss/3w6_2040/keymaps/via/keymap.c
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,57 @@ | ||||
| // Copyright 2021 weteor | 2022 Conor Burns (@Conor-Burns)
 | ||||
| // Copyright 2023 Ben Roe (@keycapsss)
 | ||||
| // Copyright 2023 Tom Barnes (@keyboard-magpie)
 | ||||
| // SPDX-License-Identifier: GPL-2.0-or-later
 | ||||
| 
 | ||||
| #include QMK_KEYBOARD_H | ||||
| enum layers { | ||||
|     _ALPHA_QWERTY = 0, | ||||
|     _ALPHA_COLEMAK, | ||||
|     _SYM, | ||||
|     _NAV, | ||||
|     _NUM, | ||||
|     _CFG, | ||||
| }; | ||||
| 
 | ||||
| const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||||
| 
 | ||||
|     // clang-format off
 | ||||
| 
 | ||||
|     [_ALPHA_QWERTY] = LAYOUT_split_3x5_3( | ||||
|         KC_Q,         KC_W,    KC_E,    KC_R,    KC_T,                                                KC_Y,    KC_U,    KC_I,    KC_O,    KC_P, | ||||
|         KC_A,         KC_S,    KC_D,    KC_F,    KC_G,                                                KC_H,    KC_J,    KC_K,    KC_L,    KC_SCLN, | ||||
|         LSFT_T(KC_Z), KC_X,    KC_C,    KC_V,    KC_B,                                                KC_N,    KC_M,    KC_COMM, KC_DOT,  RSFT_T(KC_SLSH), | ||||
|                         LCTL_T(KC_ESC), LT(_NUM,KC_SPC), LT(_NAV, KC_TAB),     LT(_SYM, KC_BSPC), KC_ENT, LALT_T(KC_DEL) | ||||
|     ), | ||||
|     [_ALPHA_COLEMAK] = LAYOUT_split_3x5_3( | ||||
|         KC_Q,         KC_W,    KC_F,    KC_P,    KC_G,                                                KC_J,    KC_L,    KC_U,    KC_Y,    KC_QUOT, | ||||
|         KC_A,         KC_R,    KC_S,    KC_T,    KC_D,                                                KC_H,    KC_N,    KC_E,    KC_I,    KC_O, | ||||
|         LSFT_T(KC_Z), KC_X,    KC_C,    KC_V,    KC_B,                                                KC_K,    KC_M,    KC_COMM, KC_DOT,  RSFT_T(KC_SCLN), | ||||
|                         LCTL_T(KC_ENT), LT(_NUM,KC_SPC), LT(_NAV, KC_TAB),     LT(_SYM, KC_BSPC), KC_ENT, LALT_T(KC_DEL) | ||||
|     ), | ||||
|     [_SYM] = LAYOUT_split_3x5_3( | ||||
|         KC_GRV , KC_CIRC,   KC_AT,  KC_DLR, KC_TILD,                                KC_AMPR, KC_EXLM, KC_PIPE, KC_UNDS, KC_HASH, | ||||
|         KC_SLSH, KC_LBRC, KC_LCBR, KC_LPRN,  KC_EQL,                                KC_ASTR, KC_RPRN, KC_RCBR, KC_RBRC, KC_BSLS, | ||||
|         _______, KC_QUES, KC_PLUS, KC_PERC, XXXXXXX,                                XXXXXXX, XXXXXXX, KC_MINS, XXXXXXX, _______, | ||||
|                                         XXXXXXX, MO(_CFG), XXXXXXX,     _______, XXXXXXX, XXXXXXX | ||||
|     ), | ||||
|     [_NAV] = LAYOUT_split_3x5_3( | ||||
|         XXXXXXX, KC_VOLD, KC_MUTE, KC_VOLU, XXXXXXX,                                XXXXXXX, KC_PGDN,   KC_UP, KC_PGUP,  KC_DEL, | ||||
|         KC_MPRV, KC_MPLY, KC_MSTP, KC_MNXT, XXXXXXX,                                KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT,  KC_END, | ||||
|         XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,                                XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, | ||||
|                                         XXXXXXX, XXXXXXX, _______,      XXXXXXX, MO(_CFG), XXXXXXX | ||||
|     ), | ||||
|     [_NUM] = LAYOUT_split_3x5_3( | ||||
|         XXXXXXX,  KC_F9, KC_F10, KC_F11, KC_F12,                                    KC_PPLS,  KC_P7,  KC_P8,  KC_P9, KC_PSLS, | ||||
|         XXXXXXX,  KC_F5,  KC_F6,  KC_F7,  KC_F8,                                    KC_P0,  KC_P4,  KC_P5,  KC_P6, KC_PDOT, | ||||
|         XXXXXXX,  KC_F1,  KC_F2,  KC_F3,  KC_F4,                                    KC_PMNS,  KC_P1,  KC_P2,  KC_P3, KC_PAST, | ||||
|                                         XXXXXXX, _______, XXXXXXX,      KC_PEQL, KC_PENT, XXXXXXX | ||||
|     ), | ||||
|     [_CFG] = LAYOUT_split_3x5_3( | ||||
|         XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,                                XXXXXXX, XXXXXXX, XXXXXXX,DF(_ALPHA_QWERTY), DF(_ALPHA_COLEMAK), | ||||
|         XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,                                XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, | ||||
|         XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,                                XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, | ||||
|                                          XXXXXXX, _______, XXXXXXX,     XXXXXXX, _______, XXXXXXX | ||||
|     ) | ||||
|     // clang-format on
 | ||||
| }; | ||||
							
								
								
									
										1
									
								
								keyboards/keycapsss/3w6_2040/keymaps/via/rules.mk
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								keyboards/keycapsss/3w6_2040/keymaps/via/rules.mk
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1 @@ | ||||
| VIA_ENABLE  = yes | ||||
							
								
								
									
										29
									
								
								keyboards/keycapsss/3w6_2040/readme.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										29
									
								
								keyboards/keycapsss/3w6_2040/readme.md
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,29 @@ | ||||
| # 3w6_2040 | ||||
| 
 | ||||
|  | ||||
| 
 | ||||
| A split keyboard with 3x5 vertically staggered keys and 3 thumb keys, with support for pimoroni trackball modules on each half. | ||||
| 
 | ||||
| This version is distinct from keyboards/3w6 and is exclusive to [keycapsss.com](https://keycapsss.com). | ||||
| 
 | ||||
| * Keyboard Maintainer: [@keyboard-magpie] | ||||
| * Hardware Supported: On board rp2040 microcontrollers. | ||||
| * Hardware Availability: [keycapsss.com](https://keycapsss.com) | ||||
| 
 | ||||
| Make firmware .uf2 for this keyboard (after setting up your build environment): | ||||
| 
 | ||||
|     qmk compile -kb keycapsss/3w6_2040 -km default | ||||
| 
 | ||||
| Example of flashing this keyboard: | ||||
| 
 | ||||
|     qmk flash -kb keycapsss/3w6_2040 -km default (or drag and drop the uf2 from the above command into the mass storage device that appears when in bootloader mode) | ||||
| 
 | ||||
| See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). | ||||
| 
 | ||||
| ## Bootloader | ||||
| 
 | ||||
| Enter the bootloader in 3 ways: | ||||
| 
 | ||||
| * **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard | ||||
| * **Physical reset button**: Press and hold the button on the front of the PCB when plugging in. | ||||
| * **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available | ||||
							
								
								
									
										2
									
								
								keyboards/keycapsss/3w6_2040/rules.mk
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								keyboards/keycapsss/3w6_2040/rules.mk
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,2 @@ | ||||
| SERIAL_DRIVER = vendor | ||||
| POINTING_DEVICE_DRIVER = pimoroni_trackball | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 QMK Bot
						QMK Bot