From fcc070929cf66339e6af7dd4fe852e2fab01eb0c Mon Sep 17 00:00:00 2001 From: Rorian04 <114996287+Rorian04@users.noreply.github.com> Date: Sun, 27 Oct 2024 11:40:07 +0530 Subject: [PATCH 1/5] added rorian04_kbd files (#804) hand wired one hand keyboard made with waveshare rp2040 mcu --- keyboards/rorian04_kbd/keyboard.json | 56 ++++++++ .../rorian04_kbd/keymaps/default/config.h | 8 ++ .../rorian04_kbd/keymaps/default/keymap.c | 13 ++ keyboards/rorian04_kbd/keymaps/vial/config.h | 18 +++ keyboards/rorian04_kbd/keymaps/vial/keymap.c | 126 ++++++++++++++++++ keyboards/rorian04_kbd/keymaps/vial/rules.mk | 5 + keyboards/rorian04_kbd/keymaps/vial/vial.json | 23 ++++ keyboards/rorian04_kbd/rules.mk | 1 + 8 files changed, 250 insertions(+) create mode 100644 keyboards/rorian04_kbd/keyboard.json create mode 100644 keyboards/rorian04_kbd/keymaps/default/config.h create mode 100644 keyboards/rorian04_kbd/keymaps/default/keymap.c create mode 100644 keyboards/rorian04_kbd/keymaps/vial/config.h create mode 100644 keyboards/rorian04_kbd/keymaps/vial/keymap.c create mode 100644 keyboards/rorian04_kbd/keymaps/vial/rules.mk create mode 100644 keyboards/rorian04_kbd/keymaps/vial/vial.json create mode 100644 keyboards/rorian04_kbd/rules.mk diff --git a/keyboards/rorian04_kbd/keyboard.json b/keyboards/rorian04_kbd/keyboard.json new file mode 100644 index 0000000000..2a12f77d33 --- /dev/null +++ b/keyboards/rorian04_kbd/keyboard.json @@ -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} + ] + } + } +} \ No newline at end of file diff --git a/keyboards/rorian04_kbd/keymaps/default/config.h b/keyboards/rorian04_kbd/keymaps/default/config.h new file mode 100644 index 0000000000..309b2d1fe3 --- /dev/null +++ b/keyboards/rorian04_kbd/keymaps/default/config.h @@ -0,0 +1,8 @@ +//copyright info + +#pragma once + +// Define options +#define TAPPING_TERM 135 +#define PERMISSIVE_HOLD +#define TAPPING_TERM_PER_KEY diff --git a/keyboards/rorian04_kbd/keymaps/default/keymap.c b/keyboards/rorian04_kbd/keymaps/default/keymap.c new file mode 100644 index 0000000000..b6001752a9 --- /dev/null +++ b/keyboards/rorian04_kbd/keymaps/default/keymap.c @@ -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 + ) +}; \ No newline at end of file diff --git a/keyboards/rorian04_kbd/keymaps/vial/config.h b/keyboards/rorian04_kbd/keymaps/vial/config.h new file mode 100644 index 0000000000..1a6cc0dc68 --- /dev/null +++ b/keyboards/rorian04_kbd/keymaps/vial/config.h @@ -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 diff --git a/keyboards/rorian04_kbd/keymaps/vial/keymap.c b/keyboards/rorian04_kbd/keymaps/vial/keymap.c new file mode 100644 index 0000000000..52ed949e73 --- /dev/null +++ b/keyboards/rorian04_kbd/keymaps/vial/keymap.c @@ -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; +} \ No newline at end of file diff --git a/keyboards/rorian04_kbd/keymaps/vial/rules.mk b/keyboards/rorian04_kbd/keymaps/vial/rules.mk new file mode 100644 index 0000000000..565e3da69c --- /dev/null +++ b/keyboards/rorian04_kbd/keymaps/vial/rules.mk @@ -0,0 +1,5 @@ +VIA_ENABLE = yes +VIAL_ENABLE = yes +KEY_LOCK_ENABLE = yes +RGBLIGHT_ENABLE = yes +WS2812_DRIVER = vendor \ No newline at end of file diff --git a/keyboards/rorian04_kbd/keymaps/vial/vial.json b/keyboards/rorian04_kbd/keymaps/vial/vial.json new file mode 100644 index 0000000000..19258310fe --- /dev/null +++ b/keyboards/rorian04_kbd/keymaps/vial/vial.json @@ -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"] + ] + } +} \ No newline at end of file diff --git a/keyboards/rorian04_kbd/rules.mk b/keyboards/rorian04_kbd/rules.mk new file mode 100644 index 0000000000..9c2acd2109 --- /dev/null +++ b/keyboards/rorian04_kbd/rules.mk @@ -0,0 +1 @@ +#this file is left empty intentionally \ No newline at end of file From 159c0888457e5675c6dc0a881e7c5bd8b54203e7 Mon Sep 17 00:00:00 2001 From: "Y.KEISUKE" Date: Sun, 27 Oct 2024 15:10:46 +0900 Subject: [PATCH 2/5] Add support for encoders on Planck rev 7 in QMK version 0.26 (#807) --- keyboards/planck/rev7/keymaps/vial/keymap.c | 90 +++++++-- keyboards/planck/rev7/keymaps/vial/vial.json | 192 ++++++++++++++----- 2 files changed, 221 insertions(+), 61 deletions(-) diff --git a/keyboards/planck/rev7/keymaps/vial/keymap.c b/keyboards/planck/rev7/keymaps/vial/keymap.c index 56389f761b..85f5097332 100644 --- a/keyboards/planck/rev7/keymaps/vial/keymap.c +++ b/keyboards/planck/rev7/keymaps/vial/keymap.c @@ -147,13 +147,69 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `-----------------------------------------------------------------------------------' */ [_ADJUST] = LAYOUT_planck_grid( - _______, QK_BOOT, DB_TOGG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL , + _______, QK_BOOT, DB_TOGG, UG_TOGG, UG_NEXT, UG_HUEU, UG_HUED, UG_SATU, UG_SATD, UG_SPDU, UG_SPDD, KC_DEL , _______, EE_CLR, MU_NEXT, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, PLOVER, _______, _______, AU_PREV, AU_NEXT, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ) }; + +#ifdef ENCODER_MAP_ENABLE +/* Rotary Encoders + */ +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + /* Qwerty + * v- (index) Clockwise / Counter Clockwise v- (index) Clockwise / Counter Clockwise + * ,---------------------------------------------------------------------------------------. + * | (0) Vol- / Vol+ | | | | | | | | | | | (4) Vol- / Vol+ | + * |-----------------------+---+---+---+---+---+---+---+---+---+---+-----------------------| + * | (1) KC_MNXT / KC_MPRV | | | | | | | | | | | (5) KC_MNXT / KC_MPRV | + * |-----------------------+---+---+---+---+---+---+---+---+---+---+-----------------------| + * | (2) KC_WBAK / KC_WFWD | | | | | | | | | | | (6) KC_SPC / KC_ENT | + * |-----------------------+---+---+---+---+---+---+---+---+---+---+-----------------------| + * | (3) KC_LEFT / KC_RGHT | | | | | | | | | | (7) KC_DOWN / KC_UP | + * `---------------------------------------------------------------------------------------' + */ + [_QWERTY] = { + // LEFT SIDE (index 0 to 3) + ENCODER_CCW_CW(KC_VOLU, KC_VOLD), + ENCODER_CCW_CW(KC_MNXT, KC_MPRV), + ENCODER_CCW_CW(KC_WBAK, KC_WFWD), + ENCODER_CCW_CW(KC_LEFT, KC_RGHT), + // RIGHT SIDE (index 4 to 7) + ENCODER_CCW_CW(KC_VOLU, KC_VOLD), + ENCODER_CCW_CW(KC_MNXT, KC_MPRV), + ENCODER_CCW_CW(KC_SPC, KC_ENT), + ENCODER_CCW_CW(KC_DOWN, KC_UP) + }, + + /* Adjust (Lower + Raise) + * v- (index) Clockwise / Counter Clockwise v- (index) Clockwise / Counter Clockwise + * ,---------------------------------------------------------------------------------------. + * | (0) _______ / _______ | | | | | | | | | | | (4) _______ / _______ | + * |-----------------------+---+---+---+---+---+---+---+---+---+---+-----------------------| + * | (1) _______ / _______ | | | | | | | | | | | (5) _______ / _______ | + * |-----------------------+---+---+---+---+---+---+---+---+---+---+-----------------------| + * | (2) UG_NEXT / UG_PREV | | | | | | | | | | | (6) SAT- / SAT+ | + * |-----------------------+---+---+---+---+---+---+---+---+---+---+-----------------------| + * | (3) UG_VALD / UG_VALU | | | | | | | | | | (7) HUE- / HUE+ | + * `---------------------------------------------------------------------------------------' + */ + [_ADJUST] = { + // LEFT SIDE (index 0 to 3) + ENCODER_CCW_CW(_______, _______), + ENCODER_CCW_CW(_______, _______), + ENCODER_CCW_CW(UG_NEXT, UG_PREV), + ENCODER_CCW_CW(UG_VALD, UG_VALU), + // RIGHT SIDE (index 4 to 7) + ENCODER_CCW_CW(_______, _______), + ENCODER_CCW_CW(_______, _______), + ENCODER_CCW_CW(UG_SATD, UG_SATU), + ENCODER_CCW_CW(UG_HUEU, UG_HUED) + } +}; +#endif /* clang-format on */ #ifdef AUDIO_ENABLE @@ -161,14 +217,22 @@ float plover_song[][2] = SONG(PLOVER_SOUND); float plover_gb_song[][2] = SONG(PLOVER_GOODBYE_SOUND); #endif +bool play_encoder_melody(uint8_t index, bool clockwise); + layer_state_t layer_state_set_user(layer_state_t state) { return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST); } bool process_record_user(uint16_t keycode, keyrecord_t *record) { +#ifdef ENCODER_MAP_ENABLE + if (IS_ENCODEREVENT(record->event) && record->event.pressed) { + play_encoder_melody(record->event.key.col, record->event.type == ENCODER_CCW_EVENT); + } +#endif switch (keycode) { case QWERTY: if (record->event.pressed) { + print("mode just switched to qwerty and this is a huge string\n"); set_single_persistent_default_layer(_QWERTY); } return false; @@ -227,13 +291,13 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { /* clang-format off */ float melody[8][2][2] = { - {{440.0f, 8}, {440.0f, 24}}, - {{440.0f, 8}, {440.0f, 24}}, - {{440.0f, 8}, {440.0f, 24}}, - {{440.0f, 8}, {440.0f, 24}}, - {{440.0f, 8}, {440.0f, 24}}, - {{440.0f, 8}, {440.0f, 24}}, - {{440.0f, 8}, {440.0f, 24}}, + {{440.0f, 8}, {440.0f, 24}}, + {{440.0f, 8}, {440.0f, 24}}, + {{440.0f, 8}, {440.0f, 24}}, + {{440.0f, 8}, {440.0f, 24}}, + {{440.0f, 8}, {440.0f, 24}}, + {{440.0f, 8}, {440.0f, 24}}, + {{440.0f, 8}, {440.0f, 24}}, {{440.0f, 8}, {440.0f, 24}}, }; /* clang-format on */ @@ -250,7 +314,7 @@ float melody[8][2][2] = { #define ET12_MAJOR_THIRD 1.259921 #define ET12_PERFECT_FOURTH 1.33484 #define ET12_TRITONE 1.414214 -#define ET12_PERFECT_FIFTH 1.498307 +#define ET12_PERFECT_FIFTH 1.498307 deferred_token tokens[8]; @@ -259,7 +323,7 @@ uint32_t reset_note(uint32_t trigger_time, void *note) { return 0; } -bool encoder_update_user(uint8_t index, bool clockwise) { +bool play_encoder_melody(uint8_t index, bool clockwise) { cancel_deferred_exec(tokens[index]); if (clockwise) { melody[index][1][0] = melody[index][1][0] * ET12_MINOR_SECOND; @@ -274,6 +338,10 @@ bool encoder_update_user(uint8_t index, bool clockwise) { return false; } +bool encoder_update_user(uint8_t index, bool clockwise) { + return play_encoder_melody(index, clockwise); +} + bool dip_switch_update_user(uint8_t index, bool active) { switch (index) { case 0: { @@ -302,4 +370,4 @@ bool dip_switch_update_user(uint8_t index, bool active) { } } return true; -} \ No newline at end of file +} diff --git a/keyboards/planck/rev7/keymaps/vial/vial.json b/keyboards/planck/rev7/keymaps/vial/vial.json index 0b71556093..61157d3d99 100644 --- a/keyboards/planck/rev7/keymaps/vial/vial.json +++ b/keyboards/planck/rev7/keymaps/vial/vial.json @@ -1,12 +1,24 @@ { "matrix": {"rows": 8, "cols": 6}, "layouts": { - "labels": [["Layout", "MIT (1x2u)", "Grid (2x1u)", "2x2u", "3x3u"]], + "labels": [["Layout", "MIT (1x2u)", "Grid (2x1u)", "2x2u", "3x3u"], "Encoders"], "keymap": [ [ - {"c": "#aaaaaa"}, + "0,0\n\n\n1,1\n\n\n\n\n\ne", + { + "x": -1, + "d": true + }, + "0,0\n\n\n1,0", + "0,1\n\n\n1,1\n\n\n\n\n\ne", + { + "x": 1.5, + "c": "#aaaaaa" + }, "0,0", - {"c": "#cccccc"}, + { + "c": "#cccccc" + }, "0,1", "0,2", "0,3", @@ -17,12 +29,26 @@ "4,2", "4,3", "4,4", - {"c": "#aaaaaa"}, - "4,5" - ], - [ + { + "c": "#aaaaaa" + }, + "4,5", + { + "x": 1.5 + }, + "4,0\n\n\n1,1\n\n\n\n\n\ne", + "4,1\n\n\n1,1\n\n\n\n\n\ne" + ], + [ + "1,0\n\n\n1,1\n\n\n\n\n\ne", + "1,1\n\n\n1,1\n\n\n\n\n\ne", + { + "x": 1.5 + }, "1,0", - {"c": "#cccccc"}, + { + "c": "#cccccc" + }, "1,1", "1,2", "1,3", @@ -33,12 +59,26 @@ "5,2", "5,3", "5,4", - {"c": "#aaaaaa"}, - "5,5" - ], - [ + { + "c": "#aaaaaa" + }, + "5,5", + { + "x": 1.5 + }, + "5,0\n\n\n1,1\n\n\n\n\n\ne", + "5,1\n\n\n1,1\n\n\n\n\n\ne" + ], + [ + "2,0\n\n\n1,1\n\n\n\n\n\ne", + "2,1\n\n\n1,1\n\n\n\n\n\ne", + { + "x": 1.5 + }, "2,0", - {"c": "#cccccc"}, + { + "c": "#cccccc" + }, "2,1", "2,2", "2,3", @@ -49,55 +89,107 @@ "6,2", "6,3", "6,4", - {"c": "#aaaaaa"}, - "6,5" - ], - [ + { + "c": "#aaaaaa" + }, + "6,5", + { + "x": 1.5 + }, + "6,0\n\n\n1,1\n\n\n\n\n\ne", + "6,1\n\n\n1,1\n\n\n\n\n\ne" + ], + [ + "3,0\n\n\n1,1\n\n\n\n\n\ne", + "3,1\n\n\n1,1\n\n\n\n\n\ne", + { + "x": 1.5 + }, "3,0", "3,1", "3,2", - "7,3\n\n\n0,0", - {"c": "#777777"}, - "7,4\n\n\n0,0", - {"c": "#cccccc", "w": 2}, + "3,3\n\n\n0,0", + { + "c": "#777777" + }, + "3,4\n\n\n0,0", + { + "c": "#cccccc", + "w": 2 + }, "7,0\n\n\n0,0", - {"c": "#777777"}, + { + "c": "#777777" + }, "7,1\n\n\n0,0", - {"c": "#aaaaaa"}, + { + "c": "#aaaaaa" + }, "7,2\n\n\n0,0", - "3,3", - "3,4", - "3,5" - ], - [ - {"y": 0.25, "x": 3}, - "7,3\n\n\n0,1", - {"c": "#777777"}, - "7,4\n\n\n0,1", - {"c": "#cccccc"}, - "7,5\n\n\n0,1", + "7,3", + "7,4", + "7,5", + { + "x": 1.5 + }, + "7,0\n\n\n1,1\n\n\n\n\n\ne", + "7,1\n\n\n1,1\n\n\n\n\n\ne" + ], + [ + { + "y": 0.25, + "x": 6.5 + }, + "3,3\n\n\n0,1", + { + "c": "#777777" + }, + "3,4\n\n\n0,1", + { + "c": "#cccccc" + }, + "3,5\n\n\n0,1", "7,0\n\n\n0,1", - {"c": "#777777"}, + { + "c": "#777777" + }, "7,1\n\n\n0,1", - {"c": "#aaaaaa"}, + { + "c": "#aaaaaa" + }, "7,2\n\n\n0,1" - ], - [ - {"x": 3}, - "7,3\n\n\n0,2", - {"c": "#777777", "w": 2}, - "7,5\n\n\n0,2", - {"w": 2}, + ], + [ + { + "x": 6.5 + }, + "3,3\n\n\n0,2", + { + "c": "#777777", + "w": 2 + }, + "3,5\n\n\n0,2", + { + "w": 2 + }, "7,1\n\n\n0,2", - {"c": "#aaaaaa"}, + { + "c": "#aaaaaa" + }, "7,2\n\n\n0,2" - ], - [ - {"x": 3, "c": "#777777", "w": 3}, - "7,4\n\n\n0,3", - {"w": 3}, + ], + [ + { + "x": 6.5, + "c": "#777777", + "w": 3 + }, + "3,4\n\n\n0,3", + { + "w": 3 + }, "7,1\n\n\n0,3" - ] + ] ] } } From 4b2ae32e871c07e50703f0af591c479e66dc7eab Mon Sep 17 00:00:00 2001 From: Less/Rikki <86894501+lesshonor@users.noreply.github.com> Date: Sun, 10 Nov 2024 20:24:10 -0500 Subject: [PATCH 3/5] fix(ci): lock CLI version and upgrade checkout (#813) - QMK CLI 1.1.6 upgrades to milc 1.9.0 which involves breaking changes; remain on 1.1.5 until fixes are merged in - Upgrade to checkout@v4 --- .github/workflows/ci.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index c4d1373004..43f4c6cc31 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -18,7 +18,7 @@ jobs: steps: - name: (actions) Checkout Vial repo - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: persist-credentials: false @@ -28,13 +28,13 @@ jobs: build-default: name: Build default keymaps for Vial runs-on: ubuntu-latest - container: ghcr.io/qmk/qmk_cli + container: ghcr.io/qmk/qmk_cli@sha256:16c4916e95b99bf88d27b15aec8db409ee17265d1710287fde248c6666508966 env: KEYMAP: default steps: - name: (actions) Checkout Vial repo - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: persist-credentials: false submodules: recursive @@ -66,13 +66,13 @@ jobs: build-vial: name: Build Vial keymaps runs-on: ubuntu-latest - container: ghcr.io/qmk/qmk_cli + container: ghcr.io/qmk/qmk_cli@sha256:16c4916e95b99bf88d27b15aec8db409ee17265d1710287fde248c6666508966 env: KEYMAP: vial steps: - name: (actions) Checkout Vial repo - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: persist-credentials: false submodules: recursive From d78b38728004fa67f022b6e179b14e3f81807d71 Mon Sep 17 00:00:00 2001 From: Dave Date: Sun, 17 Nov 2024 06:07:24 +0100 Subject: [PATCH 4/5] Add Jris65 VIAL support (#815) --- keyboards/mykeyclub/jris65/README.md | 32 +++ keyboards/mykeyclub/jris65/config.h | 10 + keyboards/mykeyclub/jris65/keyboard.json | 100 +++++++++ .../mykeyclub/jris65/keymaps/default/keymap.c | 20 ++ .../mykeyclub/jris65/keymaps/vial/config.h | 7 + .../mykeyclub/jris65/keymaps/vial/keymap.c | 20 ++ .../mykeyclub/jris65/keymaps/vial/rules.mk | 8 + .../mykeyclub/jris65/keymaps/vial/vial.json | 194 ++++++++++++++++++ keyboards/mykeyclub/jris65/rules.mk | 15 ++ 9 files changed, 406 insertions(+) create mode 100644 keyboards/mykeyclub/jris65/README.md create mode 100644 keyboards/mykeyclub/jris65/config.h create mode 100644 keyboards/mykeyclub/jris65/keyboard.json create mode 100644 keyboards/mykeyclub/jris65/keymaps/default/keymap.c create mode 100644 keyboards/mykeyclub/jris65/keymaps/vial/config.h create mode 100644 keyboards/mykeyclub/jris65/keymaps/vial/keymap.c create mode 100644 keyboards/mykeyclub/jris65/keymaps/vial/rules.mk create mode 100644 keyboards/mykeyclub/jris65/keymaps/vial/vial.json create mode 100644 keyboards/mykeyclub/jris65/rules.mk diff --git a/keyboards/mykeyclub/jris65/README.md b/keyboards/mykeyclub/jris65/README.md new file mode 100644 index 0000000000..10b0edf0e7 --- /dev/null +++ b/keyboards/mykeyclub/jris65/README.md @@ -0,0 +1,32 @@ +# JRIS65 + +**Hotswap PCB** + +A 65% keyboard sold by Mykeyclub. + +* Keyboard Maintainer: [Dave](https://github.com/unixb0y) +* Hardware Supported: JRIS65 hotswap. +* Hardware Availability: intermitently via group buys from [Mykeyclub](https://www.mykeyclub.com/) + +Make example for this keyboard (after setting up your build environment): + + make mykeyclub/jris65:vial + +Flashing example for this keyboard: + + make mykeyclub/jris65:vial: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 3 ways: + +* **Keycode in layout**: Using the default firmware, assign a key to Reset (`QK_BOOT`) and press the assigned key. +* **Physical reset button**: Briefly press the button on the back of the PCB + +The QMK default keymap has FN+Backspace assigned to `QK_BOOT` so you can use that key sequence for subsequent flashing. + +## Disclaimer + +In May 2024 Mykeyclub was contacted to see if they had interest in contributing firmware to the QMK project they did not. This code is thus community supported. diff --git a/keyboards/mykeyclub/jris65/config.h b/keyboards/mykeyclub/jris65/config.h new file mode 100644 index 0000000000..17641563dd --- /dev/null +++ b/keyboards/mykeyclub/jris65/config.h @@ -0,0 +1,10 @@ +/* SPDX-License-Identifier: GPL-2.0-or-later */ + +#pragma once + +/* key matrix size */ +#define MATRIX_ROWS 5 +#define MATRIX_COLS 16 + +/* Use 1000hz polling */ +#define USB_POLLING_INTERVAL_MS 1 diff --git a/keyboards/mykeyclub/jris65/keyboard.json b/keyboards/mykeyclub/jris65/keyboard.json new file mode 100644 index 0000000000..5cf54d564e --- /dev/null +++ b/keyboards/mykeyclub/jris65/keyboard.json @@ -0,0 +1,100 @@ +{ + "keyboard_name": "IRIS65", + "manufacturer": "zlkb", + "maintainer": "unixb0y", + "bootloader": "atmel-dfu", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "matrix_pins": { + "cols": ["B6", "C6", "C7", "F1", "F0", "E6", "B0", "B1", "B3", "B7", "D2", "D1", "D0", "D7", "B4", "B5"], + "rows": ["F7", "F6", "F5", "B2", "F4"] + }, + "processor": "atmega32u4", + "url": "", + "usb": { + "device_version": "0.1.0", + "pid": "0x4953", + "vid": "0x5A4C" + }, + "layouts": { + "LAYOUT_65_ansi": { + "layout": [ + {"label": "0,0", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "0,1", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "0,2", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "0,3", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "0,4", "matrix": [0, 4], "x": 4, "y": 0}, + {"label": "0,5", "matrix": [0, 5], "x": 5, "y": 0}, + {"label": "0,6", "matrix": [0, 6], "x": 6, "y": 0}, + {"label": "0,7", "matrix": [0, 7], "x": 7, "y": 0}, + {"label": "0,8", "matrix": [0, 8], "x": 8, "y": 0}, + {"label": "0,9", "matrix": [0, 9], "x": 9, "y": 0}, + {"label": "0,10", "matrix": [0, 10], "x": 10, "y": 0}, + {"label": "0,11", "matrix": [0, 11], "x": 11, "y": 0}, + {"label": "0,12", "matrix": [0, 12], "x": 12, "y": 0}, + {"label": "0,13", "matrix": [0, 13], "x": 13, "y": 0}, + {"label": "0,14", "matrix": [0, 14], "x": 14, "y": 0}, + {"label": "0,15", "matrix": [0, 15], "x": 15, "y": 0}, + {"label": "1,0", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"label": "1,1", "matrix": [1, 1], "x": 1.5, "y": 1}, + {"label": "1,2", "matrix": [1, 2], "x": 2.5, "y": 1}, + {"label": "1,3", "matrix": [1, 3], "x": 3.5, "y": 1}, + {"label": "1,4", "matrix": [1, 4], "x": 4.5, "y": 1}, + {"label": "1,5", "matrix": [1, 5], "x": 5.5, "y": 1}, + {"label": "1,6", "matrix": [1, 6], "x": 6.5, "y": 1}, + {"label": "1,7", "matrix": [1, 7], "x": 7.5, "y": 1}, + {"label": "1,,8", "matrix": [1, 8], "x": 8.5, "y": 1}, + {"label": "1,9", "matrix": [1, 9], "x": 9.5, "y": 1}, + {"label": "1,10", "matrix": [1, 10], "x": 10.5, "y": 1}, + {"label": "1,11", "matrix": [1, 11], "x": 11.5, "y": 1}, + {"label": "1,12", "matrix": [1, 12], "x": 12.5, "y": 1}, + {"label": "1,13", "matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, + {"label": "1,14", "matrix": [1, 14], "x": 15, "y": 1}, + {"label": "2,0", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"label": "2,1", "matrix": [2, 1], "x": 1.75, "y": 2}, + {"label": "2,2", "matrix": [2, 2], "x": 2.75, "y": 2}, + {"label": "2,3", "matrix": [2, 3], "x": 3.75, "y": 2}, + {"label": "2,4", "matrix": [2, 4], "x": 4.75, "y": 2}, + {"label": "2,5", "matrix": [2, 5], "x": 5.75, "y": 2}, + {"label": "2,6", "matrix": [2, 6], "x": 6.75, "y": 2}, + {"label": "2,7", "matrix": [2, 7], "x": 7.75, "y": 2}, + {"label": "2,8", "matrix": [2, 8], "x": 8.75, "y": 2}, + {"label": "2,9", "matrix": [2, 9], "x": 9.75, "y": 2}, + {"label": "2,10", "matrix": [2, 10], "x": 10.75, "y": 2}, + {"label": "2,11", "matrix": [2, 11], "x": 11.75, "y": 2}, + {"label": "2,12", "matrix": [2, 12], "x": 12.75, "y": 2}, + {"label": "2,13", "matrix": [2, 13], "x": 13.75, "y": 2, "w": 1.25}, + {"label": "2,14", "matrix": [2, 14], "x": 15, "y": 2}, + {"label": "3,0", "matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, + {"label": "3,1", "matrix": [3, 1], "x": 1.25, "y": 3}, + {"label": "3,2", "matrix": [3, 2], "x": 2.25, "y": 3}, + {"label": "3,3", "matrix": [3, 3], "x": 3.25, "y": 3}, + {"label": "3,4", "matrix": [3, 4], "x": 4.25, "y": 3}, + {"label": "3,5", "matrix": [3, 5], "x": 5.25, "y": 3}, + {"label": "3,6", "matrix": [3, 6], "x": 6.25, "y": 3}, + {"label": "3,7", "matrix": [3, 7], "x": 7.25, "y": 3}, + {"label": "3,8", "matrix": [3, 8], "x": 8.25, "y": 3}, + {"label": "3,9", "matrix": [3, 9], "x": 9.25, "y": 3}, + {"label": "3,10", "matrix": [3, 10], "x": 10.25, "y": 3}, + {"label": "3,11", "matrix": [3, 11], "x": 11.25, "y": 3}, + {"label": "3,12", "matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, + {"label": "3,13", "matrix": [3, 13], "x": 14, "y": 3}, + {"label": "3,14", "matrix": [3, 14], "x": 15, "y": 3}, + {"label": "4,0", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, + {"label": "4,1", "matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, + {"label": "4,2", "matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, + {"label": "4,3", "matrix": [4, 3], "x": 3.75, "y": 4, "w": 6.25}, + {"label": "4,10", "matrix": [4, 10], "x": 10, "y": 4, "w": 1.25}, + {"label": "4,11", "matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, + {"label": "4,12", "matrix": [4, 12], "x": 13, "y": 4}, + {"label": "4,13", "matrix": [4, 13], "x": 14, "y": 4}, + {"label": "4,14", "matrix": [4, 14], "x": 15, "y": 4} + ] + } + } +} diff --git a/keyboards/mykeyclub/jris65/keymaps/default/keymap.c b/keyboards/mykeyclub/jris65/keymaps/default/keymap.c new file mode 100644 index 0000000000..54d1e0140b --- /dev/null +++ b/keyboards/mykeyclub/jris65/keymaps/default/keymap.c @@ -0,0 +1,20 @@ +/* SPDX-License-Identifier: GPL-2.0-or-later */ + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_65_ansi( + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_BSPC, KC_DEL, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_VOLU, + MO(1), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, KC_ENT, KC_VOLD, + KC_LSFT, KC_BSLS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_MPLY, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT + ), + [1] = LAYOUT_65_ansi( + KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_DEL, KC_DEL, + _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, _______, + _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END + ) +}; diff --git a/keyboards/mykeyclub/jris65/keymaps/vial/config.h b/keyboards/mykeyclub/jris65/keymaps/vial/config.h new file mode 100644 index 0000000000..dd76dbe72d --- /dev/null +++ b/keyboards/mykeyclub/jris65/keymaps/vial/config.h @@ -0,0 +1,7 @@ +/* SPDX-License-Identifier: GPL-2.0-or-later */ + +#pragma once + +#define VIAL_KEYBOARD_UID {0x6B, 0x8A, 0xF2, 0xD4, 0x69, 0x87, 0x4B, 0x4C} +#define VIAL_UNLOCK_COMBO_ROWS { 0, 2 } +#define VIAL_UNLOCK_COMBO_COLS { 0, 13 } diff --git a/keyboards/mykeyclub/jris65/keymaps/vial/keymap.c b/keyboards/mykeyclub/jris65/keymaps/vial/keymap.c new file mode 100644 index 0000000000..54d1e0140b --- /dev/null +++ b/keyboards/mykeyclub/jris65/keymaps/vial/keymap.c @@ -0,0 +1,20 @@ +/* SPDX-License-Identifier: GPL-2.0-or-later */ + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_65_ansi( + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_BSPC, KC_DEL, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_VOLU, + MO(1), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, KC_ENT, KC_VOLD, + KC_LSFT, KC_BSLS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_MPLY, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT + ), + [1] = LAYOUT_65_ansi( + KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_DEL, KC_DEL, + _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, _______, + _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END + ) +}; diff --git a/keyboards/mykeyclub/jris65/keymaps/vial/rules.mk b/keyboards/mykeyclub/jris65/keymaps/vial/rules.mk new file mode 100644 index 0000000000..000cf52edc --- /dev/null +++ b/keyboards/mykeyclub/jris65/keymaps/vial/rules.mk @@ -0,0 +1,8 @@ +VIA_ENABLE = yes +VIAL_ENABLE = yes +LTO_ENABLE = yes + +TAP_DANCE_ENABLE = no +COMBO_ENABLE = no +KEY_OVERRIDE_ENABLE = no + diff --git a/keyboards/mykeyclub/jris65/keymaps/vial/vial.json b/keyboards/mykeyclub/jris65/keymaps/vial/vial.json new file mode 100644 index 0000000000..77593efcb2 --- /dev/null +++ b/keyboards/mykeyclub/jris65/keymaps/vial/vial.json @@ -0,0 +1,194 @@ +{ + "name": "JRIS65", + "vendorId": "zlkb", + "productId": "JRIS65", + "matrix": { + "rows": 5, + "cols": 16 + }, + "layouts": { + "labels":[ + "Split Backspace", + "ISO Enter", + "Split Left Shift" + ], + "keymap": [ + [ + { + "x": 15.5, + "c": "#00c21d" + }, + "0,13\n\n\n0,1", + "0,14\n\n\n0,1" + ], + [ + { + "x": 2.5, + "c": "#cccccc" + }, + "0,0", + "0,1", + "0,2", + "0,3", + "0,4", + "0,5", + "0,6", + "0,7", + "0,8", + "0,9", + "0,10", + "0,11", + "0,12", + { + "c": "#00c21d", + "w": 2 + }, + "0,14\n\n\n0,0", + { + "c": "#cccccc" + }, + "0,15", + { + "x": 1.25, + "c": "#ff7878", + "w": 1.25, + "h": 2, + "w2": 1.5, + "h2": 1, + "x2": -0.25 + }, + "2,13\n\n\n1,1" + ], + [ + { + "x": 2.5, + "c": "#cccccc", + "w": 1.5 + }, + "1,0", + "1,1", + "1,2", + "1,3", + "1,4", + "1,5", + "1,6", + "1,7", + "1,8", + "1,9", + "1,10", + "1,11", + "1,12", + { + "c": "#ff7878", + "w": 1.5 + }, + "1,13\n\n\n1,0", + { + "c": "#cccccc" + }, + "1,14", + { + "x": 0.25, + "c": "#ff7878" + }, + "2,12\n\n\n1,1" + ], + [ + { + "x": 2.5, + "c": "#ff8f00", + "w": 1.75 + }, + "2,0", + { + "c": "#cccccc" + }, + "2,1", + "2,2", + "2,3", + "2,4", + "2,5", + "2,6", + "2,7", + "2,8", + "2,9", + "2,10", + "2,11", + { + "c": "#ff7878", + "w": 2.25 + }, + "2,13\n\n\n1,0", + { + "c": "#cccccc" + }, + "2,14" + ], + [ + { + "c": "#ff5eef", + "w": 1.25 + }, + "3,0\n\n\n2,1", + "3,1\n\n\n2,1", + { + "x": 0.25, + "w": 2.25 + }, + "3,0\n\n\n2,0", + { + "c": "#cccccc" + }, + "3,2", + "3,3", + "3,4", + "3,5", + "3,6", + "3,7", + "3,8", + "3,9", + "3,10", + "3,11", + { + "w": 1.75 + }, + "3,12", + "3,13", + "3,14" + ], + [ + { + "x": 2.5, + "w": 1.25 + }, + "4,0", + { + "w": 1.25 + }, + "4,1", + { + "w": 1.25 + }, + "4,2", + { + "w": 6.25 + }, + "4,3", + { + "w": 1.25 + }, + "4,10", + { + "w": 1.25 + }, + "4,11", + { + "x": 0.5 + }, + "4,12", + "4,13", + "4,14" + ] + ] + } +} diff --git a/keyboards/mykeyclub/jris65/rules.mk b/keyboards/mykeyclub/jris65/rules.mk new file mode 100644 index 0000000000..730fa1e454 --- /dev/null +++ b/keyboards/mykeyclub/jris65/rules.mk @@ -0,0 +1,15 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output From b19abfa23b80dddfa2057dd2f453c9b06821e70a Mon Sep 17 00:00:00 2001 From: JP Roemer Date: Sun, 17 Nov 2024 07:09:14 +0100 Subject: [PATCH 5/5] Add Vial support to miniMACRO5 (#809) * Port miniMACRO5 to RP2040 + add VIAL keymap * Remove rp2040_ce explicit configuration * Add license in code files --- keyboards/minimacro5/keymaps/vial/config.h | 12 ++ keyboards/minimacro5/keymaps/vial/keymap.c | 27 +++++ keyboards/minimacro5/keymaps/vial/rules.mk | 11 ++ keyboards/minimacro5/keymaps/vial/vial.json | 125 ++++++++++++++++++++ 4 files changed, 175 insertions(+) create mode 100644 keyboards/minimacro5/keymaps/vial/config.h create mode 100644 keyboards/minimacro5/keymaps/vial/keymap.c create mode 100644 keyboards/minimacro5/keymaps/vial/rules.mk create mode 100644 keyboards/minimacro5/keymaps/vial/vial.json diff --git a/keyboards/minimacro5/keymaps/vial/config.h b/keyboards/minimacro5/keymaps/vial/config.h new file mode 100644 index 0000000000..bf499e9172 --- /dev/null +++ b/keyboards/minimacro5/keymaps/vial/config.h @@ -0,0 +1,12 @@ +// Copyright 2024 JP Roemer (@0rax) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#define VIAL_KEYBOARD_UID {0xFE, 0x06, 0xBF, 0x52, 0x18, 0xBA, 0x4F, 0x8A} + +#define VIAL_UNLOCK_COMBO_ROWS {0, 0} +#define VIAL_UNLOCK_COMBO_COLS {0, 4} + +#define RGBLIGHT_EFFECT_BREATHING +#define RGBLIGHT_EFFECT_RAINBOW_MOOD diff --git a/keyboards/minimacro5/keymaps/vial/keymap.c b/keyboards/minimacro5/keymaps/vial/keymap.c new file mode 100644 index 0000000000..ff5969d876 --- /dev/null +++ b/keyboards/minimacro5/keymaps/vial/keymap.c @@ -0,0 +1,27 @@ +// Copyright 2024 JP Roemer (@0rax) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +enum layers { + _MAIN, +}; + +#if defined(ENCODER_MAP_ENABLE) +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [_MAIN] = { + ENCODER_CCW_CW(KC_2, KC_1), /* First encoder*/ + ENCODER_CCW_CW(KC_4, KC_3), /* Second encoder*/ + ENCODER_CCW_CW(KC_6, KC_5), /* Third encoder*/ + ENCODER_CCW_CW(KC_8, KC_7), /* Fourth encoder*/ + ENCODER_CCW_CW(KC_0, KC_9) /* Fifth encoder*/ + } +}; +#endif + +// +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //buttion closest to usb is first + [_MAIN] = LAYOUT_ortho_1x5( + KC_A, KC_B, KC_C, KC_D, KC_E + ) +}; diff --git a/keyboards/minimacro5/keymaps/vial/rules.mk b/keyboards/minimacro5/keymaps/vial/rules.mk new file mode 100644 index 0000000000..adde31c5c1 --- /dev/null +++ b/keyboards/minimacro5/keymaps/vial/rules.mk @@ -0,0 +1,11 @@ +VIA_ENABLE = yes +VIAL_ENABLE = yes +ENCODER_MAP_ENABLE = yes + +# Reduce size on atmega32u4 +ifeq ($(strip $(CONVERT_TO)), ) + TAP_DANCE_ENABLE = no + QMK_SETTINGS = no + KEY_OVERRIDE_ENABLE = no + COMBO_ENABLE = no +endif diff --git a/keyboards/minimacro5/keymaps/vial/vial.json b/keyboards/minimacro5/keymaps/vial/vial.json new file mode 100644 index 0000000000..debbaa1c4b --- /dev/null +++ b/keyboards/minimacro5/keymaps/vial/vial.json @@ -0,0 +1,125 @@ +{ + "name": "miniMACRO5", + "vendorId": "0xCEEB", + "productId": "0x0007", + "lighting": "qmk_rgblight", + "matrix": { + "rows": 1, + "cols": 5 + }, + "layouts": { + "labels": [ + "Encoder 1", + "Encoder 2", + "Encoder 3", + "Encoder 4", + "Encoder 5" + ], + "keymap": [ + [ + { + "w": 2, + "h": 2, + "w2": 0.5 + }, + "0,0\n\n\n0,0", + { + "x": 0.25, + "w": 2, + "h": 2, + "w2": 0.5 + }, + "0,1\n\n\n1,0", + { + "x": 0.25, + "w": 2, + "h": 2, + "w2": 0.5 + }, + "0,2\n\n\n2,0", + { + "x": 0.25, + "w": 2, + "h": 2, + "w2": 0.5 + }, + "0,3\n\n\n3,0", + { + "x": 0.25, + "w": 2, + "h": 2, + "w2": 0.5 + }, + "0,4\n\n\n4,0" + ], + [ + { + "y": 1.5, + "x": 1 + }, + "0,1\n\n\n0,1\n\n\n\n\n\ne", + { + "x": 1.25 + }, + "1,1\n\n\n1,1\n\n\n\n\n\ne", + { + "x": 1.25 + }, + "2,1\n\n\n2,1\n\n\n\n\n\ne", + { + "x": 1.25 + }, + "3,1\n\n\n3,1\n\n\n\n\n\ne", + { + "x": 1.25 + }, + "4,1\n\n\n4,1\n\n\n\n\n\ne" + ], + [ + { + "y": -0.5 + }, + "0,0\n\n\n0,1", + { + "x": 1.25 + }, + "0,1\n\n\n1,1", + { + "x": 1.25 + }, + "0,2\n\n\n2,1", + { + "x": 1.25 + }, + "0,3\n\n\n3,1", + { + "x": 1.25 + }, + "0,4\n\n\n4,1" + ], + [ + { + "y": -0.5, + "x": 1 + }, + "0,0\n\n\n0,1\n\n\n\n\n\ne", + { + "x": 1.25 + }, + "1,0\n\n\n1,1\n\n\n\n\n\ne", + { + "x": 1.25 + }, + "2,0\n\n\n2,1\n\n\n\n\n\ne", + { + "x": 1.25 + }, + "3,0\n\n\n3,1\n\n\n\n\n\ne", + { + "x": 1.25 + }, + "4,0\n\n\n4,1\n\n\n\n\n\ne" + ] + ] + } +}