Skip to content

Commit

Permalink
added rorian04_kbd files (#804)
Browse files Browse the repository at this point in the history
hand wired one hand keyboard made with waveshare rp2040 mcu
  • Loading branch information
Rorian04 authored Oct 27, 2024
1 parent f2aa854 commit fcc0709
Show file tree
Hide file tree
Showing 8 changed files with 250 additions and 0 deletions.
56 changes: 56 additions & 0 deletions keyboards/rorian04_kbd/keyboard.json
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}
]
}
}
}
8 changes: 8 additions & 0 deletions keyboards/rorian04_kbd/keymaps/default/config.h
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
13 changes: 13 additions & 0 deletions keyboards/rorian04_kbd/keymaps/default/keymap.c
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
)
};
18 changes: 18 additions & 0 deletions keyboards/rorian04_kbd/keymaps/vial/config.h
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
126 changes: 126 additions & 0 deletions keyboards/rorian04_kbd/keymaps/vial/keymap.c
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;
}
5 changes: 5 additions & 0 deletions keyboards/rorian04_kbd/keymaps/vial/rules.mk
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
23 changes: 23 additions & 0 deletions keyboards/rorian04_kbd/keymaps/vial/vial.json
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"]
]
}
}
1 change: 1 addition & 0 deletions keyboards/rorian04_kbd/rules.mk
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
#this file is left empty intentionally

0 comments on commit fcc0709

Please sign in to comment.