-
Notifications
You must be signed in to change notification settings - Fork 2.5k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
hand wired one hand keyboard made with waveshare rp2040 mcu
- Loading branch information
Showing
8 changed files
with
250 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,56 @@ | ||
{ | ||
"manufacturer": "Rorian04", | ||
"keyboard_name": "R4_onehand", | ||
"maintainer": "Rorian04", | ||
"bootloader": "rp2040", | ||
"diode_direction": "COL2ROW", | ||
"features": { | ||
"bootmagic": true, | ||
"command": false, | ||
"console": false, | ||
"extrakey": true, | ||
"mousekey": true, | ||
"nkro": true | ||
}, | ||
"matrix_pins": { | ||
"cols": ["GP8", "GP9", "GP12", "GP27", "GP26", "GP29"], | ||
"rows": ["GP28", "GP15", "GP14", "GP11"] | ||
}, | ||
"processor": "RP2040", | ||
"url": "", | ||
"usb": { | ||
"device_version": "1.0.0", | ||
"pid": "0x0000", | ||
"vid": "0xFEED" | ||
}, | ||
"layouts": { | ||
"LAYOUT_split_3x6_3": { | ||
"layout": [ | ||
{"matrix": [0, 0], "x": 0, "y": 0.3}, | ||
{"matrix": [0, 1], "x": 1, "y": 0.3}, | ||
{"matrix": [0, 2], "x": 2, "y": 0.1}, | ||
{"matrix": [0, 3], "x": 3, "y": 0}, | ||
{"matrix": [0, 4], "x": 4, "y": 0.1}, | ||
{"matrix": [0, 5], "x": 5, "y": 0.2}, | ||
|
||
{"matrix": [1, 0], "x": 0, "y": 1.3}, | ||
{"matrix": [1, 1], "x": 1, "y": 1.3}, | ||
{"matrix": [1, 2], "x": 2, "y": 1.1}, | ||
{"matrix": [1, 3], "x": 3, "y": 1}, | ||
{"matrix": [1, 4], "x": 4, "y": 1.1}, | ||
{"matrix": [1, 5], "x": 5, "y": 1.2}, | ||
|
||
{"matrix": [2, 0], "x": 0, "y": 2.3}, | ||
{"matrix": [2, 1], "x": 1, "y": 2.3}, | ||
{"matrix": [2, 2], "x": 2, "y": 2.1}, | ||
{"matrix": [2, 3], "x": 3, "y": 2}, | ||
{"matrix": [2, 4], "x": 4, "y": 2.1}, | ||
{"matrix": [2, 5], "x": 5, "y": 2.2}, | ||
|
||
{"matrix": [3, 3], "x": 4, "y": 3.7}, | ||
{"matrix": [3, 4], "x": 5, "y": 3.7}, | ||
{"matrix": [3, 5], "x": 6, "y": 3.2, "h": 1.5} | ||
] | ||
} | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
//copyright info | ||
|
||
#pragma once | ||
|
||
// Define options | ||
#define TAPPING_TERM 135 | ||
#define PERMISSIVE_HOLD | ||
#define TAPPING_TERM_PER_KEY |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
// Copyright 2023 QMK | ||
// SPDX-License-Identifier: GPL-2.0-or-later | ||
|
||
#include QMK_KEYBOARD_H | ||
|
||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
[0] = LAYOUT_split_3x6_3( | ||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, | ||
KC_ENT, KC_A, KC_S, KC_D, KC_F, KC_G, | ||
KC_LSFT, LSFT_T(KC_Z), KC_X, KC_C, KC_V, KC_B, | ||
KC_LALT, KC_SPC, KC_TAB | ||
) | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
//copyright info | ||
|
||
#pragma once | ||
|
||
// Define options | ||
#define DYNAMIC_KEYMAP_LAYER_COUNT 8 | ||
#define VIAL_KEYBOARD_UID {0x7C, 0x3D, 0x40, 0xD2, 0xE4, 0x39, 0xF9, 0xBB} | ||
#define VIAL_UNLOCK_COMBO_ROWS { 0, 0 } | ||
#define VIAL_UNLOCK_COMBO_COLS { 0, 5 } | ||
#define WS2812_PIO_USE_PIO1 // Force the usage of PIO1 peripheral, by default the WS2812 implementation uses the PIO0 peripheral | ||
#define RGBLIGHT_LAYERS | ||
#define WS2812_DI_PIN GP16 | ||
#define RGBLIGHT_LED_COUNT 1 | ||
#define WS2812_BYTE_ORDER WS2812_BYTE_ORDER_RGB | ||
#define RGBLIGHT_SLEEP | ||
#define USB_SUSPEND_WAKEUP_DELAY 500 | ||
#define FORCE_NKRO | ||
#define HOLD_ON_OTHER_KEY_PRESS |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,126 @@ | ||
// Copyright 2023 QMK | ||
// SPDX-License-Identifier: GPL-2.0-or-later | ||
|
||
#include QMK_KEYBOARD_H | ||
|
||
|
||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
[0] = LAYOUT_split_3x6_3( | ||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, QK_BOOT, | ||
KC_ENT, KC_A, KC_S, KC_D, KC_F, KC_G, | ||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, | ||
KC_LALT, KC_SPC, KC_TAB | ||
), | ||
[1] = LAYOUT_split_3x6_3( | ||
_______, _______, _______, _______, _______, _______, | ||
_______, _______, _______, _______, _______, _______, | ||
_______, _______, _______, _______, _______, _______, | ||
_______, _______, _______ | ||
), | ||
[2] = LAYOUT_split_3x6_3( | ||
_______, _______, _______, _______, _______, _______, | ||
_______, _______, _______, _______, _______, _______, | ||
_______, _______, _______, _______, _______, _______, | ||
_______, _______, _______ | ||
), | ||
[3] = LAYOUT_split_3x6_3( | ||
_______, _______, _______, _______, _______, _______, | ||
_______, _______, _______, _______, _______, _______, | ||
_______, _______, _______, _______, _______, _______, | ||
_______, _______, _______ | ||
), | ||
[4] = LAYOUT_split_3x6_3( | ||
_______, _______, _______, _______, _______, _______, | ||
_______, _______, _______, _______, _______, _______, | ||
_______, _______, _______, _______, _______, _______, | ||
_______, _______, _______ | ||
), | ||
[5] = LAYOUT_split_3x6_3( | ||
_______, _______, _______, _______, _______, _______, | ||
_______, _______, _______, _______, _______, _______, | ||
_______, _______, _______, _______, _______, _______, | ||
_______, _______, _______ | ||
), | ||
[6] = LAYOUT_split_3x6_3( | ||
_______, _______, _______, _______, _______, _______, | ||
_______, _______, _______, _______, _______, _______, | ||
_______, _______, _______, _______, _______, _______, | ||
_______, _______, _______ | ||
), | ||
[7] = LAYOUT_split_3x6_3( | ||
_______, _______, _______, _______, _______, _______, | ||
_______, _______, _______, _______, _______, _______, | ||
_______, _______, _______, _______, _______, _______, | ||
_______, _______, _______ | ||
) | ||
}; | ||
|
||
#define value 40 | ||
// Change LED color based on layer | ||
const rgblight_segment_t PROGMEM layer0_rgb[] = RGBLIGHT_LAYER_SEGMENTS( | ||
{0, 1, 85, 255, value} // color if layer 0 | ||
); | ||
|
||
const rgblight_segment_t PROGMEM layer1_rgb[] = RGBLIGHT_LAYER_SEGMENTS( | ||
{0, 1, 125, 255, value} // color if layer 1 | ||
); | ||
|
||
const rgblight_segment_t PROGMEM layer2_rgb[] = RGBLIGHT_LAYER_SEGMENTS( | ||
{0, 1, 170, 255, value} // color if layer 2 | ||
); | ||
|
||
const rgblight_segment_t PROGMEM layer3_rgb[] = RGBLIGHT_LAYER_SEGMENTS( | ||
{0, 1, 200, 255, value} // color if layer 3 | ||
); | ||
|
||
const rgblight_segment_t PROGMEM layer4_rgb[] = RGBLIGHT_LAYER_SEGMENTS( | ||
{0, 1, 45, 255, value} // color if layer 4 | ||
); | ||
|
||
const rgblight_segment_t PROGMEM layer5_rgb[] = RGBLIGHT_LAYER_SEGMENTS( | ||
{0, 1, 85, 0, value} // color if layer 5 | ||
); | ||
|
||
const rgblight_segment_t PROGMEM layer6_rgb[] = RGBLIGHT_LAYER_SEGMENTS( | ||
{0, 1, 0, 255, value} // color if layer 6 | ||
); | ||
|
||
const rgblight_segment_t PROGMEM layer7_rgb[] = RGBLIGHT_LAYER_SEGMENTS( | ||
{0, 1, HSV_OFF} // color if layer 6 | ||
); | ||
|
||
|
||
// Now define the array of layers. Later layers take precedence | ||
const rgblight_segment_t* const PROGMEM rgb_layers[] = RGBLIGHT_LAYERS_LIST( | ||
layer0_rgb, // Bottom layer | ||
layer1_rgb, // Overrides above layers | ||
layer2_rgb, // Overrides above layers | ||
layer3_rgb, // Overrides above layers | ||
layer4_rgb, // Overrides above layers | ||
layer5_rgb, // Overrides above layers | ||
layer6_rgb, // Overrides above layers | ||
layer7_rgb // Overrides above layers | ||
); | ||
|
||
void keyboard_post_init_user(void) { | ||
// Enable the LED layers | ||
rgblight_layers = rgb_layers; | ||
} | ||
|
||
|
||
//bellow code block checks and changes state of LED | ||
layer_state_t default_layer_state_set_user(layer_state_t state) { | ||
rgblight_set_layer_state(0, layer_state_cmp(state, 0)); | ||
return state; | ||
} | ||
|
||
layer_state_t layer_state_set_user(layer_state_t state) { | ||
rgblight_set_layer_state(1, layer_state_cmp(state, 1)); | ||
rgblight_set_layer_state(2, layer_state_cmp(state, 2)); | ||
rgblight_set_layer_state(3, layer_state_cmp(state, 3)); | ||
rgblight_set_layer_state(4, layer_state_cmp(state, 4)); | ||
rgblight_set_layer_state(5, layer_state_cmp(state, 5)); | ||
rgblight_set_layer_state(6, layer_state_cmp(state, 6)); | ||
rgblight_set_layer_state(7, layer_state_cmp(state, 7)); | ||
return state; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
VIA_ENABLE = yes | ||
VIAL_ENABLE = yes | ||
KEY_LOCK_ENABLE = yes | ||
RGBLIGHT_ENABLE = yes | ||
WS2812_DRIVER = vendor |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
{ | ||
"name": "rorian04_kbd", | ||
"matrix": { | ||
"rows": 4, | ||
"cols": 6 | ||
}, | ||
"layouts": { | ||
"keymap": [ | ||
[{"x":3},"0,3"], | ||
[{"y":-0.75,"x":2},"0,2",{"x":1},"0,4"], | ||
[{"y":-0.75},"0,0","0,1",{"x":3},"0,5"], | ||
[{"y":-0.5,"x":3},"1,3"], | ||
[{"y":-0.75,"x":2},"1,2",{"x":1},"1,4"], | ||
[{"y":-0.75},"1,0","1,1",{"x":3},"1,5"], | ||
[{"y":-0.5,"x":3},"2,3"], | ||
[{"y":-0.75,"x":2},"2,2",{"x":1},"2,4"], | ||
[{"y":-0.75},"2,0","2,1",{"x":3},"2,5"], | ||
[{"x":4},"3,3"], | ||
[{"y":-0.75,"x":5},"3,4"], | ||
[{"y":-0.75,"x":6},"3,5"] | ||
] | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
#this file is left empty intentionally |