From 64b4f8fdb9171c881206162ba3770214abccbe51 Mon Sep 17 00:00:00 2001 From: "Christian C. Berclaz" Date: Tue, 5 Nov 2024 15:55:18 +0100 Subject: [PATCH 01/22] Added a default firmware and layout for the WindStudio Wind X R1 keyboard. --- keyboards/windstudio/wind_x/keyboard.json | 368 ++++++++++++++++++ .../wind_x/keymaps/default/keymap.c | 25 ++ 2 files changed, 393 insertions(+) create mode 100644 keyboards/windstudio/wind_x/keyboard.json create mode 100644 keyboards/windstudio/wind_x/keymaps/default/keymap.c diff --git a/keyboards/windstudio/wind_x/keyboard.json b/keyboards/windstudio/wind_x/keyboard.json new file mode 100644 index 00000000000..e7d6d90e3af --- /dev/null +++ b/keyboards/windstudio/wind_x/keyboard.json @@ -0,0 +1,368 @@ +{ + "keyboard_name": "Wind X", + "manufacturer": "Wind", + "url": "", + "maintainer": "chrisgve", + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true, + "rgb_matrix": false, + "rgblight": false + }, + "processor": "atmega32u4", + "bootloader": "atmel-dfu", + "usb": { + "vid": "0x6F75", + "pid": "0x6801", + "device_version": "0.0.1" + }, + "matrix_pins": { + "cols": [ + "C7", + "C6", + "B6", + "E6", + "F6", + "D6", + "D7", + "B4", + "B5", + "F7", + "B7", + "F4", + "F5", + "D4", + "B0", + "B1", + "B2", + "B3" + ], + "rows": ["F0", "F1", "D2", "D1", "D0"] + }, + "diode_direction": "COL2ROW", + "layout_aliases": { + "LAYOUT_tsangan": "LAYOUT_7u_space_bar_split_bs" + }, + "layouts": { + "LAYOUT_default": { + "layout": [ + { "label": "Esc", "matrix": [0, 0], "x": 0, "y": 0 }, + { "label": "1", "matrix": [0, 1], "x": 1, "y": 0 }, + { "label": "2", "matrix": [0, 2], "x": 2, "y": 0 }, + { "label": "3", "matrix": [0, 3], "x": 3, "y": 0 }, + { "label": "4", "matrix": [0, 4], "x": 4, "y": 0 }, + { "label": "5", "matrix": [0, 5], "x": 5, "y": 0 }, + { "label": "6", "matrix": [0, 6], "x": 6, "y": 0 }, + { "label": "7", "matrix": [0, 7], "x": 7, "y": 0 }, + { "label": "8", "matrix": [0, 8], "x": 8, "y": 0 }, + { "label": "9", "matrix": [0, 9], "x": 9, "y": 0 }, + { "label": "0", "matrix": [0, 10], "x": 10, "y": 0 }, + { "label": "-", "matrix": [0, 11], "x": 11, "y": 0 }, + { "label": "=", "matrix": [0, 12], "x": 12, "y": 0 }, + { + "label": "Backspace", + "matrix": [0, 13], + "x": 13, + "y": 0, + "w": 2 + }, + + { "label": "Del", "matrix": [4, 11], "x": 16, "y": 0 }, + + { "label": "NumLock", "matrix": [0, 14], "x": 18, "y": 0 }, + { "label": "KP/", "matrix": [0, 15], "x": 19, "y": 0 }, + { "label": "KP*", "matrix": [0, 16], "x": 20, "y": 0 }, + { "label": "KP-", "matrix": [0, 17], "x": 21, "y": 0 }, + + { "label": "Tab", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5 }, + { "label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1 }, + { "label": "W", "matrix": [1, 2], "x": 2.5, "y": 1 }, + { "label": "E", "matrix": [1, 3], "x": 3.5, "y": 1 }, + { "label": "R", "matrix": [1, 4], "x": 4.5, "y": 1 }, + { "label": "T", "matrix": [1, 5], "x": 5.5, "y": 1 }, + { "label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1 }, + { "label": "U", "matrix": [1, 7], "x": 7.5, "y": 1 }, + { "label": "I", "matrix": [1, 8], "x": 8.5, "y": 1 }, + { "label": "O", "matrix": [1, 9], "x": 9.5, "y": 1 }, + { "label": "P", "matrix": [1, 10], "x": 10.5, "y": 1 }, + { "label": "[", "matrix": [1, 11], "x": 11.5, "y": 1 }, + { "label": "]", "matrix": [1, 12], "x": 12.5, "y": 1 }, + { + "label": "\\", + "matrix": [2, 12], + "x": 13.5, + "y": 1, + "w": 1.5 + }, + + { "label": "PgUp", "matrix": [4, 12], "x": 16, "y": 1 }, + + { "label": "KP7", "matrix": [1, 14], "x": 18, "y": 1 }, + { "label": "KP8", "matrix": [1, 15], "x": 19, "y": 1 }, + { "label": "KP9", "matrix": [1, 16], "x": 20, "y": 1 }, + { "label": "KP+", "matrix": [1, 17], "x": 21, "y": 1 }, + + { + "label": "Caps", + "matrix": [2, 0], + "x": 0, + "y": 2, + "w": 1.75 + }, + { "label": "A", "matrix": [2, 1], "x": 1.75, "y": 2 }, + { "label": "S", "matrix": [2, 2], "x": 2.75, "y": 2 }, + { "label": "D", "matrix": [2, 3], "x": 3.75, "y": 2 }, + { "label": "F", "matrix": [2, 4], "x": 4.75, "y": 2 }, + { "label": "G", "matrix": [2, 5], "x": 5.75, "y": 2 }, + { "label": "H", "matrix": [2, 6], "x": 6.75, "y": 2 }, + { "label": "J", "matrix": [2, 7], "x": 7.75, "y": 2 }, + { "label": "K", "matrix": [2, 8], "x": 8.75, "y": 2 }, + { "label": "L", "matrix": [2, 9], "x": 9.75, "y": 2 }, + { "label": ";", "matrix": [2, 10], "x": 10.75, "y": 2 }, + { "label": "'", "matrix": [2, 11], "x": 11.75, "y": 2 }, + { + "label": "Return", + "matrix": [2, 13], + "x": 12.75, + "y": 2, + "w": 2.25 + }, + + { "label": "PgDn", "matrix": [4, 13], "x": 16, "y": 2 }, + + { "label": "KP4", "matrix": [2, 14], "x": 18, "y": 2 }, + { "label": "KP5", "matrix": [2, 15], "x": 19, "y": 2 }, + { "label": "KP6", "matrix": [2, 16], "x": 20, "y": 2 }, + { "label": "KP+", "matrix": [2, 17], "x": 21, "y": 2 }, + + { + "label": "Shift", + "matrix": [3, 0], + "x": 0, + "y": 3, + "w": 2.25 + }, + { "label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3 }, + { "label": "X", "matrix": [3, 3], "x": 3.25, "y": 3 }, + { "label": "C", "matrix": [3, 4], "x": 4.25, "y": 3 }, + { "label": "V", "matrix": [3, 5], "x": 5.25, "y": 3 }, + { "label": "B", "matrix": [3, 6], "x": 6.25, "y": 3 }, + { "label": "N", "matrix": [3, 7], "x": 7.25, "y": 3 }, + { "label": "M", "matrix": [3, 8], "x": 8.25, "y": 3 }, + { "label": ",", "matrix": [3, 9], "x": 9.25, "y": 3 }, + { "label": ".", "matrix": [3, 10], "x": 10.25, "y": 3 }, + { "label": "/", "matrix": [3, 11], "x": 11.25, "y": 3 }, + { + "label": "Shift", + "matrix": [3, 12], + "x": 12.25, + "y": 3, + "w": 1.75 + }, + { "label": "Up", "matrix": [3, 13], "x": 13, "y": 3 }, + + { "label": "KP1", "matrix": [3, 14], "x": 18, "y": 3 }, + { "label": "KP2", "matrix": [3, 15], "x": 19, "y": 3 }, + { "label": "KP3", "matrix": [3, 16], "x": 20, "y": 3 }, + { "label": "Enter", "matrix": [3, 17], "x": 21, "y": 3 }, + + { + "label": "Ctrl", + "matrix": [4, 0], + "x": 0, + "y": 4, + "w": 1.25 + }, + { + "label": "GUI", + "matrix": [4, 1], + "x": 1.25, + "y": 4, + "w": 1.25 + }, + { + "label": "Alt", + "matrix": [4, 2], + "x": 2.5, + "y": 4, + "w": 1.25 + }, + { + "label": "Space", + "matrix": [4, 5], + "x": 3.75, + "y": 4, + "w": 6.25 + }, + { + "label": "GUI", + "matrix": [4, 6], + "x": 10, + "y": 4, + "w": 1.25 + }, + { + "label": "Ctrl", + "matrix": [4, 7], + "x": 11.25, + "y": 4, + "w": 1.25 + }, + + { "label": "Left", "matrix": [4, 8], "x": 14, "y": 4 }, + { "label": "Down", "matrix": [4, 9], "x": 15, "y": 4 }, + { "label": "Right", "matrix": [4, 10], "x": 16, "y": 4 }, + + { "label": "KP0", "matrix": [4, 16], "x": 18, "y": 4 }, + { "label": "KP.", "matrix": [4, 17], "x": 19, "y": 4 } + ] + }, + "LAYOUT_7u_space_bar_split_bs": { + "layout": [ + { "label": "Esc", "matrix": [0, 0], "x": 0, "y": 0 }, + { "label": "1", "matrix": [0, 1], "x": 1, "y": 0 }, + { "label": "2", "matrix": [0, 2], "x": 2, "y": 0 }, + { "label": "3", "matrix": [0, 3], "x": 3, "y": 0 }, + { "label": "4", "matrix": [0, 4], "x": 4, "y": 0 }, + { "label": "5", "matrix": [0, 5], "x": 5, "y": 0 }, + { "label": "6", "matrix": [0, 6], "x": 6, "y": 0 }, + { "label": "7", "matrix": [0, 7], "x": 7, "y": 0 }, + { "label": "8", "matrix": [0, 8], "x": 8, "y": 0 }, + { "label": "9", "matrix": [0, 9], "x": 9, "y": 0 }, + { "label": "0", "matrix": [0, 10], "x": 10, "y": 0 }, + { "label": "-", "matrix": [0, 11], "x": 11, "y": 0 }, + { "label": "=", "matrix": [0, 12], "x": 12, "y": 0 }, + { "label": "\\", "matrix": [0, 13], "x": 13, "y": 0 }, + { "label": "`", "matrix": [1, 13], "x": 14, "y": 0 }, + + { "label": "PgUp", "matrix": [4, 11], "x": 16, "y": 0 }, + + { "label": "NumLock", "matrix": [0, 14], "x": 18, "y": 0 }, + { "label": "KP/", "matrix": [0, 15], "x": 19, "y": 0 }, + { "label": "KP*", "matrix": [0, 16], "x": 20, "y": 0 }, + { "label": "KP-", "matrix": [0, 17], "x": 21, "y": 0 }, + + { "label": "Tab", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5 }, + { "label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1 }, + { "label": "W", "matrix": [1, 2], "x": 2.5, "y": 1 }, + { "label": "E", "matrix": [1, 3], "x": 3.5, "y": 1 }, + { "label": "R", "matrix": [1, 4], "x": 4.5, "y": 1 }, + { "label": "T", "matrix": [1, 5], "x": 5.5, "y": 1 }, + { "label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1 }, + { "label": "U", "matrix": [1, 7], "x": 7.5, "y": 1 }, + { "label": "I", "matrix": [1, 8], "x": 8.5, "y": 1 }, + { "label": "O", "matrix": [1, 9], "x": 9.5, "y": 1 }, + { "label": "P", "matrix": [1, 10], "x": 10.5, "y": 1 }, + { "label": "[", "matrix": [1, 11], "x": 11.5, "y": 1 }, + { "label": "]", "matrix": [1, 12], "x": 12.5, "y": 1 }, + { + "label": "Backspace", + "matrix": [2, 12], + "x": 13.5, + "y": 1, + "w": 1.5 + }, + + { "label": "PgDn", "matrix": [4, 12], "x": 16, "y": 1 }, + + { "label": "KP7", "matrix": [1, 14], "x": 18, "y": 1 }, + { "label": "KP8", "matrix": [1, 15], "x": 19, "y": 1 }, + { "label": "KP9", "matrix": [1, 16], "x": 20, "y": 1 }, + { "label": "KP+", "matrix": [1, 17], "x": 21, "y": 1 }, + + { + "label": "Ctrl", + "matrix": [2, 0], + "x": 0, + "y": 2, + "w": 1.75 + }, + { "label": "A", "matrix": [2, 1], "x": 1.75, "y": 2 }, + { "label": "S", "matrix": [2, 2], "x": 2.75, "y": 2 }, + { "label": "D", "matrix": [2, 3], "x": 3.75, "y": 2 }, + { "label": "F", "matrix": [2, 4], "x": 4.75, "y": 2 }, + { "label": "G", "matrix": [2, 5], "x": 5.75, "y": 2 }, + { "label": "H", "matrix": [2, 6], "x": 6.75, "y": 2 }, + { "label": "J", "matrix": [2, 7], "x": 7.75, "y": 2 }, + { "label": "K", "matrix": [2, 8], "x": 8.75, "y": 2 }, + { "label": "L", "matrix": [2, 9], "x": 9.75, "y": 2 }, + { "label": ";", "matrix": [2, 10], "x": 10.75, "y": 2 }, + { "label": "'", "matrix": [2, 11], "x": 11.75, "y": 2 }, + { + "label": "Return", + "matrix": [2, 13], + "x": 12.75, + "y": 2, + "w": 2.25 + }, + + { "label": "End", "matrix": [4, 13], "x": 16, "y": 2 }, + + { "label": "KP4", "matrix": [2, 14], "x": 18, "y": 2 }, + { "label": "KP5", "matrix": [2, 15], "x": 19, "y": 2 }, + { "label": "KP6", "matrix": [2, 16], "x": 20, "y": 2 }, + { "label": "KP+", "matrix": [2, 17], "x": 21, "y": 2 }, + + { + "label": "Shift", + "matrix": [3, 0], + "x": 0, + "y": 3, + "w": 2.25 + }, + { "label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3 }, + { "label": "X", "matrix": [3, 3], "x": 3.25, "y": 3 }, + { "label": "C", "matrix": [3, 4], "x": 4.25, "y": 3 }, + { "label": "V", "matrix": [3, 5], "x": 5.25, "y": 3 }, + { "label": "B", "matrix": [3, 6], "x": 6.25, "y": 3 }, + { "label": "N", "matrix": [3, 7], "x": 7.25, "y": 3 }, + { "label": "M", "matrix": [3, 8], "x": 8.25, "y": 3 }, + { "label": ",", "matrix": [3, 9], "x": 9.25, "y": 3 }, + { "label": ".", "matrix": [3, 10], "x": 10.25, "y": 3 }, + { "label": "/", "matrix": [3, 11], "x": 11.25, "y": 3 }, + { + "label": "Shift", + "matrix": [3, 12], + "x": 12.25, + "y": 3, + "w": 1.75 + }, + { "label": "Up", "matrix": [3, 13], "x": 13, "y": 3 }, + + { "label": "KP1", "matrix": [3, 14], "x": 18, "y": 3 }, + { "label": "KP2", "matrix": [3, 15], "x": 19, "y": 3 }, + { "label": "KP3", "matrix": [3, 16], "x": 20, "y": 3 }, + { "label": "Enter", "matrix": [3, 17], "x": 21, "y": 3 }, + + { "label": "Ctrl", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.5 }, + { "label": "GUI", "matrix": [4, 1], "x": 1.5, "y": 4 }, + { + "label": "Alt", + "matrix": [4, 2], + "x": 2.5, + "y": 4, + "w": 1.5 + }, + { "label": "Space", "matrix": [4, 5], "x": 4, "y": 4, "w": 7 }, + { + "label": "Ctrl", + "matrix": [4, 7], + "x": 11, + "y": 4, + "w": 1.5 + }, + + { "label": "Left", "matrix": [4, 8], "x": 13, "y": 4 }, + { "label": "Down", "matrix": [4, 9], "x": 14, "y": 4 }, + { "label": "Right", "matrix": [4, 10], "x": 15, "y": 4 }, + + { "label": "KP0", "matrix": [4, 16], "x": 18, "y": 4 }, + { "label": "KP.", "matrix": [4, 17], "x": 19, "y": 4 } + ] + } + } +} diff --git a/keyboards/windstudio/wind_x/keymaps/default/keymap.c b/keyboards/windstudio/wind_x/keymaps/default/keymap.c new file mode 100644 index 00000000000..3fef87a8405 --- /dev/null +++ b/keyboards/windstudio/wind_x/keymaps/default/keymap.c @@ -0,0 +1,25 @@ +#include QMK_KEYBOARD_H + +#include "quantum.h" +// clang-format off +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [0] = LAYOUT_default( + 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_BSPC, KC_DEL, KC_NUM, KC_PSLS, KC_PAST, KC_PMNS, + 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_PGUP, KC_P7, KC_P8, KC_P9, KC_PPLS, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN, KC_P4, KC_P5, KC_P6, KC_PPLS, + KC_LSFT, 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_P1, KC_P2, KC_P3, KC_PENT, + KC_LCTL, KC_LGUI, KC_LALT, LT(1, KC_SPC), KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT + ), + + [1] = LAYOUT_default( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + +}; + +// clang-format on From b1f654d072ca460addc19a155f1945b055f07d76 Mon Sep 17 00:00:00 2001 From: "Christian C. Berclaz" Date: Tue, 5 Nov 2024 16:06:44 +0100 Subject: [PATCH 02/22] Wind X R1: cleaned-up the folders to make clear that this firmware is for the release 1 of this keyboard. --- keyboards/windstudio/wind_x/{ => R1}/keyboard.json | 4 ++-- keyboards/windstudio/wind_x/{ => R1}/keymaps/default/keymap.c | 0 2 files changed, 2 insertions(+), 2 deletions(-) rename keyboards/windstudio/wind_x/{ => R1}/keyboard.json (99%) rename keyboards/windstudio/wind_x/{ => R1}/keymaps/default/keymap.c (100%) diff --git a/keyboards/windstudio/wind_x/keyboard.json b/keyboards/windstudio/wind_x/R1/keyboard.json similarity index 99% rename from keyboards/windstudio/wind_x/keyboard.json rename to keyboards/windstudio/wind_x/R1/keyboard.json index e7d6d90e3af..e2d0b9ec6eb 100644 --- a/keyboards/windstudio/wind_x/keyboard.json +++ b/keyboards/windstudio/wind_x/R1/keyboard.json @@ -1,8 +1,8 @@ { - "keyboard_name": "Wind X", - "manufacturer": "Wind", + "manufacturer": "Windstudio", "url": "", "maintainer": "chrisgve", + "keyboard_name": "Wind X R1", "features": { "bootmagic": true, "command": false, diff --git a/keyboards/windstudio/wind_x/keymaps/default/keymap.c b/keyboards/windstudio/wind_x/R1/keymaps/default/keymap.c similarity index 100% rename from keyboards/windstudio/wind_x/keymaps/default/keymap.c rename to keyboards/windstudio/wind_x/R1/keymaps/default/keymap.c From 1860fecabe6980db729d1762d0bf2bab72d98d52 Mon Sep 17 00:00:00 2001 From: "Christian C. Berclaz" Date: Fri, 8 Nov 2024 08:12:32 +0100 Subject: [PATCH 03/22] Delete keyboards/windstudio/wind_x/R1 directory Removing the uppercase R1 folder --- keyboards/windstudio/wind_x/R1/keyboard.json | 368 ------------------ .../wind_x/R1/keymaps/default/keymap.c | 25 -- 2 files changed, 393 deletions(-) delete mode 100644 keyboards/windstudio/wind_x/R1/keyboard.json delete mode 100644 keyboards/windstudio/wind_x/R1/keymaps/default/keymap.c diff --git a/keyboards/windstudio/wind_x/R1/keyboard.json b/keyboards/windstudio/wind_x/R1/keyboard.json deleted file mode 100644 index e2d0b9ec6eb..00000000000 --- a/keyboards/windstudio/wind_x/R1/keyboard.json +++ /dev/null @@ -1,368 +0,0 @@ -{ - "manufacturer": "Windstudio", - "url": "", - "maintainer": "chrisgve", - "keyboard_name": "Wind X R1", - "features": { - "bootmagic": true, - "command": false, - "console": false, - "extrakey": true, - "mousekey": true, - "nkro": true, - "rgb_matrix": false, - "rgblight": false - }, - "processor": "atmega32u4", - "bootloader": "atmel-dfu", - "usb": { - "vid": "0x6F75", - "pid": "0x6801", - "device_version": "0.0.1" - }, - "matrix_pins": { - "cols": [ - "C7", - "C6", - "B6", - "E6", - "F6", - "D6", - "D7", - "B4", - "B5", - "F7", - "B7", - "F4", - "F5", - "D4", - "B0", - "B1", - "B2", - "B3" - ], - "rows": ["F0", "F1", "D2", "D1", "D0"] - }, - "diode_direction": "COL2ROW", - "layout_aliases": { - "LAYOUT_tsangan": "LAYOUT_7u_space_bar_split_bs" - }, - "layouts": { - "LAYOUT_default": { - "layout": [ - { "label": "Esc", "matrix": [0, 0], "x": 0, "y": 0 }, - { "label": "1", "matrix": [0, 1], "x": 1, "y": 0 }, - { "label": "2", "matrix": [0, 2], "x": 2, "y": 0 }, - { "label": "3", "matrix": [0, 3], "x": 3, "y": 0 }, - { "label": "4", "matrix": [0, 4], "x": 4, "y": 0 }, - { "label": "5", "matrix": [0, 5], "x": 5, "y": 0 }, - { "label": "6", "matrix": [0, 6], "x": 6, "y": 0 }, - { "label": "7", "matrix": [0, 7], "x": 7, "y": 0 }, - { "label": "8", "matrix": [0, 8], "x": 8, "y": 0 }, - { "label": "9", "matrix": [0, 9], "x": 9, "y": 0 }, - { "label": "0", "matrix": [0, 10], "x": 10, "y": 0 }, - { "label": "-", "matrix": [0, 11], "x": 11, "y": 0 }, - { "label": "=", "matrix": [0, 12], "x": 12, "y": 0 }, - { - "label": "Backspace", - "matrix": [0, 13], - "x": 13, - "y": 0, - "w": 2 - }, - - { "label": "Del", "matrix": [4, 11], "x": 16, "y": 0 }, - - { "label": "NumLock", "matrix": [0, 14], "x": 18, "y": 0 }, - { "label": "KP/", "matrix": [0, 15], "x": 19, "y": 0 }, - { "label": "KP*", "matrix": [0, 16], "x": 20, "y": 0 }, - { "label": "KP-", "matrix": [0, 17], "x": 21, "y": 0 }, - - { "label": "Tab", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5 }, - { "label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1 }, - { "label": "W", "matrix": [1, 2], "x": 2.5, "y": 1 }, - { "label": "E", "matrix": [1, 3], "x": 3.5, "y": 1 }, - { "label": "R", "matrix": [1, 4], "x": 4.5, "y": 1 }, - { "label": "T", "matrix": [1, 5], "x": 5.5, "y": 1 }, - { "label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1 }, - { "label": "U", "matrix": [1, 7], "x": 7.5, "y": 1 }, - { "label": "I", "matrix": [1, 8], "x": 8.5, "y": 1 }, - { "label": "O", "matrix": [1, 9], "x": 9.5, "y": 1 }, - { "label": "P", "matrix": [1, 10], "x": 10.5, "y": 1 }, - { "label": "[", "matrix": [1, 11], "x": 11.5, "y": 1 }, - { "label": "]", "matrix": [1, 12], "x": 12.5, "y": 1 }, - { - "label": "\\", - "matrix": [2, 12], - "x": 13.5, - "y": 1, - "w": 1.5 - }, - - { "label": "PgUp", "matrix": [4, 12], "x": 16, "y": 1 }, - - { "label": "KP7", "matrix": [1, 14], "x": 18, "y": 1 }, - { "label": "KP8", "matrix": [1, 15], "x": 19, "y": 1 }, - { "label": "KP9", "matrix": [1, 16], "x": 20, "y": 1 }, - { "label": "KP+", "matrix": [1, 17], "x": 21, "y": 1 }, - - { - "label": "Caps", - "matrix": [2, 0], - "x": 0, - "y": 2, - "w": 1.75 - }, - { "label": "A", "matrix": [2, 1], "x": 1.75, "y": 2 }, - { "label": "S", "matrix": [2, 2], "x": 2.75, "y": 2 }, - { "label": "D", "matrix": [2, 3], "x": 3.75, "y": 2 }, - { "label": "F", "matrix": [2, 4], "x": 4.75, "y": 2 }, - { "label": "G", "matrix": [2, 5], "x": 5.75, "y": 2 }, - { "label": "H", "matrix": [2, 6], "x": 6.75, "y": 2 }, - { "label": "J", "matrix": [2, 7], "x": 7.75, "y": 2 }, - { "label": "K", "matrix": [2, 8], "x": 8.75, "y": 2 }, - { "label": "L", "matrix": [2, 9], "x": 9.75, "y": 2 }, - { "label": ";", "matrix": [2, 10], "x": 10.75, "y": 2 }, - { "label": "'", "matrix": [2, 11], "x": 11.75, "y": 2 }, - { - "label": "Return", - "matrix": [2, 13], - "x": 12.75, - "y": 2, - "w": 2.25 - }, - - { "label": "PgDn", "matrix": [4, 13], "x": 16, "y": 2 }, - - { "label": "KP4", "matrix": [2, 14], "x": 18, "y": 2 }, - { "label": "KP5", "matrix": [2, 15], "x": 19, "y": 2 }, - { "label": "KP6", "matrix": [2, 16], "x": 20, "y": 2 }, - { "label": "KP+", "matrix": [2, 17], "x": 21, "y": 2 }, - - { - "label": "Shift", - "matrix": [3, 0], - "x": 0, - "y": 3, - "w": 2.25 - }, - { "label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3 }, - { "label": "X", "matrix": [3, 3], "x": 3.25, "y": 3 }, - { "label": "C", "matrix": [3, 4], "x": 4.25, "y": 3 }, - { "label": "V", "matrix": [3, 5], "x": 5.25, "y": 3 }, - { "label": "B", "matrix": [3, 6], "x": 6.25, "y": 3 }, - { "label": "N", "matrix": [3, 7], "x": 7.25, "y": 3 }, - { "label": "M", "matrix": [3, 8], "x": 8.25, "y": 3 }, - { "label": ",", "matrix": [3, 9], "x": 9.25, "y": 3 }, - { "label": ".", "matrix": [3, 10], "x": 10.25, "y": 3 }, - { "label": "/", "matrix": [3, 11], "x": 11.25, "y": 3 }, - { - "label": "Shift", - "matrix": [3, 12], - "x": 12.25, - "y": 3, - "w": 1.75 - }, - { "label": "Up", "matrix": [3, 13], "x": 13, "y": 3 }, - - { "label": "KP1", "matrix": [3, 14], "x": 18, "y": 3 }, - { "label": "KP2", "matrix": [3, 15], "x": 19, "y": 3 }, - { "label": "KP3", "matrix": [3, 16], "x": 20, "y": 3 }, - { "label": "Enter", "matrix": [3, 17], "x": 21, "y": 3 }, - - { - "label": "Ctrl", - "matrix": [4, 0], - "x": 0, - "y": 4, - "w": 1.25 - }, - { - "label": "GUI", - "matrix": [4, 1], - "x": 1.25, - "y": 4, - "w": 1.25 - }, - { - "label": "Alt", - "matrix": [4, 2], - "x": 2.5, - "y": 4, - "w": 1.25 - }, - { - "label": "Space", - "matrix": [4, 5], - "x": 3.75, - "y": 4, - "w": 6.25 - }, - { - "label": "GUI", - "matrix": [4, 6], - "x": 10, - "y": 4, - "w": 1.25 - }, - { - "label": "Ctrl", - "matrix": [4, 7], - "x": 11.25, - "y": 4, - "w": 1.25 - }, - - { "label": "Left", "matrix": [4, 8], "x": 14, "y": 4 }, - { "label": "Down", "matrix": [4, 9], "x": 15, "y": 4 }, - { "label": "Right", "matrix": [4, 10], "x": 16, "y": 4 }, - - { "label": "KP0", "matrix": [4, 16], "x": 18, "y": 4 }, - { "label": "KP.", "matrix": [4, 17], "x": 19, "y": 4 } - ] - }, - "LAYOUT_7u_space_bar_split_bs": { - "layout": [ - { "label": "Esc", "matrix": [0, 0], "x": 0, "y": 0 }, - { "label": "1", "matrix": [0, 1], "x": 1, "y": 0 }, - { "label": "2", "matrix": [0, 2], "x": 2, "y": 0 }, - { "label": "3", "matrix": [0, 3], "x": 3, "y": 0 }, - { "label": "4", "matrix": [0, 4], "x": 4, "y": 0 }, - { "label": "5", "matrix": [0, 5], "x": 5, "y": 0 }, - { "label": "6", "matrix": [0, 6], "x": 6, "y": 0 }, - { "label": "7", "matrix": [0, 7], "x": 7, "y": 0 }, - { "label": "8", "matrix": [0, 8], "x": 8, "y": 0 }, - { "label": "9", "matrix": [0, 9], "x": 9, "y": 0 }, - { "label": "0", "matrix": [0, 10], "x": 10, "y": 0 }, - { "label": "-", "matrix": [0, 11], "x": 11, "y": 0 }, - { "label": "=", "matrix": [0, 12], "x": 12, "y": 0 }, - { "label": "\\", "matrix": [0, 13], "x": 13, "y": 0 }, - { "label": "`", "matrix": [1, 13], "x": 14, "y": 0 }, - - { "label": "PgUp", "matrix": [4, 11], "x": 16, "y": 0 }, - - { "label": "NumLock", "matrix": [0, 14], "x": 18, "y": 0 }, - { "label": "KP/", "matrix": [0, 15], "x": 19, "y": 0 }, - { "label": "KP*", "matrix": [0, 16], "x": 20, "y": 0 }, - { "label": "KP-", "matrix": [0, 17], "x": 21, "y": 0 }, - - { "label": "Tab", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5 }, - { "label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1 }, - { "label": "W", "matrix": [1, 2], "x": 2.5, "y": 1 }, - { "label": "E", "matrix": [1, 3], "x": 3.5, "y": 1 }, - { "label": "R", "matrix": [1, 4], "x": 4.5, "y": 1 }, - { "label": "T", "matrix": [1, 5], "x": 5.5, "y": 1 }, - { "label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1 }, - { "label": "U", "matrix": [1, 7], "x": 7.5, "y": 1 }, - { "label": "I", "matrix": [1, 8], "x": 8.5, "y": 1 }, - { "label": "O", "matrix": [1, 9], "x": 9.5, "y": 1 }, - { "label": "P", "matrix": [1, 10], "x": 10.5, "y": 1 }, - { "label": "[", "matrix": [1, 11], "x": 11.5, "y": 1 }, - { "label": "]", "matrix": [1, 12], "x": 12.5, "y": 1 }, - { - "label": "Backspace", - "matrix": [2, 12], - "x": 13.5, - "y": 1, - "w": 1.5 - }, - - { "label": "PgDn", "matrix": [4, 12], "x": 16, "y": 1 }, - - { "label": "KP7", "matrix": [1, 14], "x": 18, "y": 1 }, - { "label": "KP8", "matrix": [1, 15], "x": 19, "y": 1 }, - { "label": "KP9", "matrix": [1, 16], "x": 20, "y": 1 }, - { "label": "KP+", "matrix": [1, 17], "x": 21, "y": 1 }, - - { - "label": "Ctrl", - "matrix": [2, 0], - "x": 0, - "y": 2, - "w": 1.75 - }, - { "label": "A", "matrix": [2, 1], "x": 1.75, "y": 2 }, - { "label": "S", "matrix": [2, 2], "x": 2.75, "y": 2 }, - { "label": "D", "matrix": [2, 3], "x": 3.75, "y": 2 }, - { "label": "F", "matrix": [2, 4], "x": 4.75, "y": 2 }, - { "label": "G", "matrix": [2, 5], "x": 5.75, "y": 2 }, - { "label": "H", "matrix": [2, 6], "x": 6.75, "y": 2 }, - { "label": "J", "matrix": [2, 7], "x": 7.75, "y": 2 }, - { "label": "K", "matrix": [2, 8], "x": 8.75, "y": 2 }, - { "label": "L", "matrix": [2, 9], "x": 9.75, "y": 2 }, - { "label": ";", "matrix": [2, 10], "x": 10.75, "y": 2 }, - { "label": "'", "matrix": [2, 11], "x": 11.75, "y": 2 }, - { - "label": "Return", - "matrix": [2, 13], - "x": 12.75, - "y": 2, - "w": 2.25 - }, - - { "label": "End", "matrix": [4, 13], "x": 16, "y": 2 }, - - { "label": "KP4", "matrix": [2, 14], "x": 18, "y": 2 }, - { "label": "KP5", "matrix": [2, 15], "x": 19, "y": 2 }, - { "label": "KP6", "matrix": [2, 16], "x": 20, "y": 2 }, - { "label": "KP+", "matrix": [2, 17], "x": 21, "y": 2 }, - - { - "label": "Shift", - "matrix": [3, 0], - "x": 0, - "y": 3, - "w": 2.25 - }, - { "label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3 }, - { "label": "X", "matrix": [3, 3], "x": 3.25, "y": 3 }, - { "label": "C", "matrix": [3, 4], "x": 4.25, "y": 3 }, - { "label": "V", "matrix": [3, 5], "x": 5.25, "y": 3 }, - { "label": "B", "matrix": [3, 6], "x": 6.25, "y": 3 }, - { "label": "N", "matrix": [3, 7], "x": 7.25, "y": 3 }, - { "label": "M", "matrix": [3, 8], "x": 8.25, "y": 3 }, - { "label": ",", "matrix": [3, 9], "x": 9.25, "y": 3 }, - { "label": ".", "matrix": [3, 10], "x": 10.25, "y": 3 }, - { "label": "/", "matrix": [3, 11], "x": 11.25, "y": 3 }, - { - "label": "Shift", - "matrix": [3, 12], - "x": 12.25, - "y": 3, - "w": 1.75 - }, - { "label": "Up", "matrix": [3, 13], "x": 13, "y": 3 }, - - { "label": "KP1", "matrix": [3, 14], "x": 18, "y": 3 }, - { "label": "KP2", "matrix": [3, 15], "x": 19, "y": 3 }, - { "label": "KP3", "matrix": [3, 16], "x": 20, "y": 3 }, - { "label": "Enter", "matrix": [3, 17], "x": 21, "y": 3 }, - - { "label": "Ctrl", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.5 }, - { "label": "GUI", "matrix": [4, 1], "x": 1.5, "y": 4 }, - { - "label": "Alt", - "matrix": [4, 2], - "x": 2.5, - "y": 4, - "w": 1.5 - }, - { "label": "Space", "matrix": [4, 5], "x": 4, "y": 4, "w": 7 }, - { - "label": "Ctrl", - "matrix": [4, 7], - "x": 11, - "y": 4, - "w": 1.5 - }, - - { "label": "Left", "matrix": [4, 8], "x": 13, "y": 4 }, - { "label": "Down", "matrix": [4, 9], "x": 14, "y": 4 }, - { "label": "Right", "matrix": [4, 10], "x": 15, "y": 4 }, - - { "label": "KP0", "matrix": [4, 16], "x": 18, "y": 4 }, - { "label": "KP.", "matrix": [4, 17], "x": 19, "y": 4 } - ] - } - } -} diff --git a/keyboards/windstudio/wind_x/R1/keymaps/default/keymap.c b/keyboards/windstudio/wind_x/R1/keymaps/default/keymap.c deleted file mode 100644 index 3fef87a8405..00000000000 --- a/keyboards/windstudio/wind_x/R1/keymaps/default/keymap.c +++ /dev/null @@ -1,25 +0,0 @@ -#include QMK_KEYBOARD_H - -#include "quantum.h" -// clang-format off -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - [0] = LAYOUT_default( - 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_BSPC, KC_DEL, KC_NUM, KC_PSLS, KC_PAST, KC_PMNS, - 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_PGUP, KC_P7, KC_P8, KC_P9, KC_PPLS, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN, KC_P4, KC_P5, KC_P6, KC_PPLS, - KC_LSFT, 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_P1, KC_P2, KC_P3, KC_PENT, - KC_LCTL, KC_LGUI, KC_LALT, LT(1, KC_SPC), KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT - ), - - [1] = LAYOUT_default( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), - -}; - -// clang-format on From 24b57431e5b81008f4d6dae65209162ad878b4ef Mon Sep 17 00:00:00 2001 From: "Christian C. Berclaz" Date: Tue, 6 May 2025 21:33:46 +0200 Subject: [PATCH 04/22] restored the oni_hhkb files --- keyboards/ymdk/oni_hhkb/keyboard.json | 232 ++++++++++++++++++ .../ymdk/oni_hhkb/keymaps/default/keymap.c | 38 +++ keyboards/ymdk/oni_hhkb/oni_hhkb.c | 50 ++++ keyboards/ymdk/oni_hhkb/readme.md | 19 ++ 4 files changed, 339 insertions(+) create mode 100644 keyboards/ymdk/oni_hhkb/keyboard.json create mode 100644 keyboards/ymdk/oni_hhkb/keymaps/default/keymap.c create mode 100644 keyboards/ymdk/oni_hhkb/oni_hhkb.c create mode 100644 keyboards/ymdk/oni_hhkb/readme.md diff --git a/keyboards/ymdk/oni_hhkb/keyboard.json b/keyboards/ymdk/oni_hhkb/keyboard.json new file mode 100644 index 00000000000..56a5a9cbcff --- /dev/null +++ b/keyboards/ymdk/oni_hhkb/keyboard.json @@ -0,0 +1,232 @@ +{ + "manufacturer": "YMDK", + "keyboard_name": "Oni HHKB", + "maintainer": "chrisgve", + "bootloader": "atmel-dfu", + "diode_direction": "ROW2COL", + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true, + "rgb_matrix": true + }, + "indicators": { + "caps_lock": "F4", + "on_state": 0 + }, + "matrix_pins": { + "cols": ["F0", "F1", "E6", "C7", "C6", "B6", "D4", "B1", "F7", "B5", "B4", "D7", "D6", "B3", "B2"], + "rows": ["D0", "D1", "D2", "D3", "D5"] + }, + "processor": "atmega32u4", + "qmk": { + "locking": { + "enabled": true + } + }, + "rgb_matrix": { + "animations": { + "alphas_mods": true, + "band_pinwheel_sat": true, + "band_pinwheel_val": true, + "band_sat": true, + "band_spiral_sat": true, + "band_spiral_val": true, + "band_val": true, + "breathing": true, + "cycle_all": true, + "cycle_left_right": true, + "cycle_out_in": true, + "cycle_out_in_dual": true, + "cycle_pinwheel": true, + "cycle_spiral": true, + "cycle_up_down": true, + "digital_rain": true, + "dual_beacon": true, + "gradient_left_right": true, + "gradient_up_down": true, + "hue_breathing": true, + "hue_pendulum": true, + "hue_wave": true, + "jellybean_raindrops": true, + "multisplash": true, + "pixel_flow": true, + "pixel_fractal": true, + "pixel_rain": true, + "rainbow_beacon": true, + "rainbow_moving_chevron": true, + "rainbow_pinwheels": true, + "raindrops": true, + "solid_multisplash": true, + "solid_reactive": true, + "solid_reactive_cross": true, + "solid_reactive_multicross": true, + "solid_reactive_multinexus": true, + "solid_reactive_multiwide": true, + "solid_reactive_nexus": true, + "solid_reactive_simple": true, + "solid_reactive_wide": true, + "solid_splash": true, + "splash": true, + "typing_heatmap": true + }, + "driver": "ws2812", + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0, "flags": 1}, + {"matrix": [0, 1], "x": 16, "y": 0, "flags": 4}, + {"matrix": [0, 2], "x": 32, "y": 0, "flags": 4}, + {"matrix": [0, 3], "x": 48, "y": 0, "flags": 4}, + {"matrix": [0, 4], "x": 64, "y": 0, "flags": 4}, + {"matrix": [0, 5], "x": 80, "y": 0, "flags": 4}, + {"matrix": [0, 6], "x": 96, "y": 0, "flags": 4}, + {"matrix": [0, 7], "x": 112, "y": 0, "flags": 4}, + {"matrix": [0, 8], "x": 128, "y": 0, "flags": 4}, + {"matrix": [0, 9], "x": 144, "y": 0, "flags": 4}, + {"matrix": [0, 10], "x": 160, "y": 0, "flags": 4}, + {"matrix": [0, 11], "x": 176, "y": 0, "flags": 4}, + {"matrix": [0, 12], "x": 192, "y": 0, "flags": 4}, + {"matrix": [0, 13], "x": 208, "y": 0, "flags": 1}, + {"matrix": [0, 14], "x": 224, "y": 0, "flags": 4}, + {"matrix": [1, 0], "x": 4, "y": 16, "flags": 1}, + {"matrix": [1, 1], "x": 24, "y": 16, "flags": 4}, + {"matrix": [1, 2], "x": 40, "y": 16, "flags": 4}, + {"matrix": [1, 3], "x": 56, "y": 16, "flags": 4}, + {"matrix": [1, 4], "x": 72, "y": 16, "flags": 4}, + {"matrix": [1, 5], "x": 88, "y": 16, "flags": 4}, + {"matrix": [1, 6], "x": 104, "y": 16, "flags": 4}, + {"matrix": [1, 7], "x": 120, "y": 16, "flags": 4}, + {"matrix": [1, 8], "x": 136, "y": 16, "flags": 4}, + {"matrix": [1, 9], "x": 152, "y": 16, "flags": 4}, + {"matrix": [1, 10], "x": 168, "y": 16, "flags": 4}, + {"matrix": [1, 11], "x": 184, "y": 16, "flags": 4}, + {"matrix": [1, 12], "x": 200, "y": 16, "flags": 4}, + {"matrix": [1, 13], "x": 220, "y": 16, "flags": 1}, + {"matrix": [2, 0], "x": 6, "y": 32, "flags": 8}, + {"matrix": [2, 1], "x": 28, "y": 32, "flags": 4}, + {"matrix": [2, 2], "x": 44, "y": 32, "flags": 4}, + {"matrix": [2, 3], "x": 60, "y": 32, "flags": 4}, + {"matrix": [2, 4], "x": 76, "y": 32, "flags": 4}, + {"matrix": [2, 5], "x": 92, "y": 32, "flags": 4}, + {"matrix": [2, 6], "x": 108, "y": 32, "flags": 4}, + {"matrix": [2, 7], "x": 124, "y": 32, "flags": 4}, + {"matrix": [2, 8], "x": 140, "y": 32, "flags": 4}, + {"matrix": [2, 9], "x": 156, "y": 32, "flags": 4}, + {"matrix": [2, 10], "x": 172, "y": 32, "flags": 4}, + {"matrix": [2, 11], "x": 188, "y": 32, "flags": 4}, + {"matrix": [2, 13], "x": 214, "y": 32, "flags": 1}, + {"matrix": [3, 0], "x": 10, "y": 48, "flags": 1}, + {"matrix": [3, 2], "x": 36, "y": 48, "flags": 4}, + {"matrix": [3, 3], "x": 52, "y": 48, "flags": 4}, + {"matrix": [3, 4], "x": 68, "y": 48, "flags": 4}, + {"matrix": [3, 5], "x": 84, "y": 48, "flags": 4}, + {"matrix": [3, 6], "x": 100, "y": 48, "flags": 4}, + {"matrix": [3, 7], "x": 116, "y": 48, "flags": 4}, + {"matrix": [3, 8], "x": 132, "y": 48, "flags": 4}, + {"matrix": [3, 9], "x": 148, "y": 48, "flags": 4}, + {"matrix": [3, 10], "x": 164, "y": 48, "flags": 4}, + {"matrix": [3, 11], "x": 180, "y": 48, "flags": 4}, + {"matrix": [3, 13], "x": 202, "y": 48, "flags": 1}, + {"matrix": [3, 14], "x": 224, "y": 48, "flags": 4}, + {"matrix": [4, 0], "x": 4, "y": 64, "flags": 1}, + {"matrix": [4, 1], "x": 24, "y": 64, "flags": 1}, + {"matrix": [4, 2], "x": 44, "y": 64, "flags": 1}, + {"matrix": [4, 7], "x": 112, "y": 64, "flags": 4}, + {"matrix": [4, 10], "x": 180, "y": 64, "flags": 1}, + {"matrix": [4, 12], "x": 200, "y": 64, "flags": 1}, + {"matrix": [4, 13], "x": 220, "y": 64, "flags": 1}, + {"x": 8, "y": 4, "flags": 2}, + {"x": 48, "y": 4, "flags": 2}, + {"x": 88, "y": 4, "flags": 2}, + {"x": 132, "y": 4, "flags": 2}, + {"x": 180, "y": 4, "flags": 2}, + {"x": 216, "y": 4, "flags": 2}, + {"x": 8, "y": 52, "flags": 2}, + {"x": 48, "y": 52, "flags": 2}, + {"x": 96, "y": 52, "flags": 2}, + {"x": 132, "y": 52, "flags": 2}, + {"x": 180, "y": 52, "flags": 2}, + {"x": 216, "y": 52, "flags": 2} + ], + "max_brightness": 200 + }, + "url": "https://ymdkey.com/products/ymdk-gh60-hhkb-style-tsangan-oni-hot-swappable-both-underglow-switch-rgb-via-programmable-pcb-compatible-with-tokyo-60", + "usb": { + "device_version": "0.0.1", + "pid": "0x0021", + "vid": "0x45D4" + }, + "ws2812": { + "pin": "E2" + }, + "layouts": { + "LAYOUT_60_tsangan_hhkb": { + "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": [0, 12], "x": 12, "y": 0}, + {"matrix": [0, 13], "x": 13, "y": 0}, + {"matrix": [0, 14], "x": 14, "y": 0}, + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 1], "x": 1.5, "y": 1}, + {"matrix": [1, 2], "x": 2.5, "y": 1}, + {"matrix": [1, 3], "x": 3.5, "y": 1}, + {"matrix": [1, 4], "x": 4.5, "y": 1}, + {"matrix": [1, 5], "x": 5.5, "y": 1}, + {"matrix": [1, 6], "x": 6.5, "y": 1}, + {"matrix": [1, 7], "x": 7.5, "y": 1}, + {"matrix": [1, 8], "x": 8.5, "y": 1}, + {"matrix": [1, 9], "x": 9.5, "y": 1}, + {"matrix": [1, 10], "x": 10.5, "y": 1}, + {"matrix": [1, 11], "x": 11.5, "y": 1}, + {"matrix": [1, 12], "x": 12.5, "y": 1}, + {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2, 1], "x": 1.75, "y": 2}, + {"matrix": [2, 2], "x": 2.75, "y": 2}, + {"matrix": [2, 3], "x": 3.75, "y": 2}, + {"matrix": [2, 4], "x": 4.75, "y": 2}, + {"matrix": [2, 5], "x": 5.75, "y": 2}, + {"matrix": [2, 6], "x": 6.75, "y": 2}, + {"matrix": [2, 7], "x": 7.75, "y": 2}, + {"matrix": [2, 8], "x": 8.75, "y": 2}, + {"matrix": [2, 9], "x": 9.75, "y": 2}, + {"matrix": [2, 10], "x": 10.75, "y": 2}, + {"matrix": [2, 11], "x": 11.75, "y": 2}, + {"matrix": [2, 13], "x": 13.75, "y": 2, "w": 2.25}, + {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, + {"matrix": [3, 2], "x": 2.25, "y": 3}, + {"matrix": [3, 3], "x": 3.25, "y": 3}, + {"matrix": [3, 4], "x": 4.25, "y": 3}, + {"matrix": [3, 5], "x": 5.25, "y": 3}, + {"matrix": [3, 6], "x": 6.25, "y": 3}, + {"matrix": [3, 7], "x": 7.25, "y": 3}, + {"matrix": [3, 8], "x": 8.25, "y": 3}, + {"matrix": [3, 9], "x": 9.25, "y": 3}, + {"matrix": [3, 10], "x": 10.25, "y": 3}, + {"matrix": [3, 11], "x": 11.25, "y": 3}, + {"matrix": [3, 13], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [3, 14], "x": 14, "y": 3}, + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, + {"matrix": [4, 1], "x": 1.5, "y": 4}, + {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, + {"matrix": [4, 7], "x": 4, "y": 4, "w": 7}, + {"matrix": [4, 10], "x": 11, "y": 4, "w": 1.5}, + {"matrix": [4, 12], "x": 12.5, "y": 4}, + {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5} + ] + } + } +} diff --git a/keyboards/ymdk/oni_hhkb/keymaps/default/keymap.c b/keyboards/ymdk/oni_hhkb/keymaps/default/keymap.c new file mode 100644 index 00000000000..405fb07186f --- /dev/null +++ b/keyboards/ymdk/oni_hhkb/keymaps/default/keymap.c @@ -0,0 +1,38 @@ +/* Copyright 2025 chrisgve + * + * 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 . + */ + +#include QMK_KEYBOARD_H + +// clang-format off +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_60_tsangan_hhkb( + 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_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_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL + ), + + [1] = LAYOUT_60_tsangan_hhkb( + 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, _______, QK_BOOT, + _______, _______, RM_TOGG, RM_VALU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, RM_VALD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______ + ), +}; + +// clang-format on diff --git a/keyboards/ymdk/oni_hhkb/oni_hhkb.c b/keyboards/ymdk/oni_hhkb/oni_hhkb.c new file mode 100644 index 00000000000..808afd84170 --- /dev/null +++ b/keyboards/ymdk/oni_hhkb/oni_hhkb.c @@ -0,0 +1,50 @@ +/* Copyright 2025 YMDK + * Copyright 2025 chrisgve + * + * 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 . + */ + +#include "quantum.h" + +#ifdef RGB_MATRIX_ENABLE +bool process_record_kb(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case RM_TOGG: + if (record->event.pressed) { + switch (rgb_matrix_get_flags()) { + case LED_FLAG_ALL: + rgb_matrix_set_flags(LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER | LED_FLAG_INDICATOR); + rgb_matrix_set_color_all(0, 0, 0); + break; + + case (LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER | LED_FLAG_INDICATOR): + rgb_matrix_set_flags(LED_FLAG_UNDERGLOW); + rgb_matrix_set_color_all(0, 0, 0); + break; + + case (LED_FLAG_UNDERGLOW): + rgb_matrix_set_flags(LED_FLAG_NONE); + rgb_matrix_set_color_all(0, 0, 0); + break; + + default: + rgb_matrix_set_flags(LED_FLAG_ALL); + rgb_matrix_enable_noeeprom(); + } + } + return false; + } + return process_record_user(keycode, record); +} +#endif diff --git a/keyboards/ymdk/oni_hhkb/readme.md b/keyboards/ymdk/oni_hhkb/readme.md new file mode 100644 index 00000000000..837af767cdf --- /dev/null +++ b/keyboards/ymdk/oni_hhkb/readme.md @@ -0,0 +1,19 @@ +# YMDK ONI HHKB + +![ONI HHKB PCB, Hotswap Tsangan/HHKB PCB with RGB Matrix and backlight](https://imgur.com/DB87on8.jpg) + +Customizable 60% HHKB Hotswap by PCB by [YMDK](https://ymdkey.com). + +- Keyboard Maintainer: [chrisgve](https://github.com/chrisgve) +- Hardware Supported: YMDK ONI HHKB +- Hardware Availability: [YMDK ONI HHKB](https://ymdkey.com/products/ymdk-gh60-hhkb-style-tsangan-oni-hot-swappable-both-underglow-switch-rgb-via-programmable-pcb-compatible-with-tokyo-60) + +Make example for this keyboard (after setting up your build environment): + + make ymdk/oni_hhkb:default + +The keyboard uses a DFU bootloader. To make a keymap and use dfu to flash it: + + make ymdk/oni_hhkb: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). From 7e94e5095bc5218aaf4dcb48bebcaa9b8c50a41f Mon Sep 17 00:00:00 2001 From: "Christian C. Berclaz" Date: Tue, 6 May 2025 21:39:43 +0200 Subject: [PATCH 05/22] Update keyboards/ymdk/oni_hhkb/keyboard.json Co-authored-by: Duncan Sutherland --- keyboards/ymdk/oni_hhkb/keyboard.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/keyboards/ymdk/oni_hhkb/keyboard.json b/keyboards/ymdk/oni_hhkb/keyboard.json index 56a5a9cbcff..ee87fb317f7 100644 --- a/keyboards/ymdk/oni_hhkb/keyboard.json +++ b/keyboards/ymdk/oni_hhkb/keyboard.json @@ -162,7 +162,7 @@ "pin": "E2" }, "layouts": { - "LAYOUT_60_tsangan_hhkb": { + "LAYOUT_60_ansi_tsangan_split_bs_rshift": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, From 5beda3279e2d81a3bc2a1fcaa75e669117297b13 Mon Sep 17 00:00:00 2001 From: "Christian C. Berclaz" Date: Tue, 6 May 2025 21:39:54 +0200 Subject: [PATCH 06/22] Update keyboards/ymdk/oni_hhkb/keyboard.json Co-authored-by: Duncan Sutherland --- keyboards/ymdk/oni_hhkb/keyboard.json | 1 + 1 file changed, 1 insertion(+) diff --git a/keyboards/ymdk/oni_hhkb/keyboard.json b/keyboards/ymdk/oni_hhkb/keyboard.json index ee87fb317f7..589ea59c818 100644 --- a/keyboards/ymdk/oni_hhkb/keyboard.json +++ b/keyboards/ymdk/oni_hhkb/keyboard.json @@ -161,6 +161,7 @@ "ws2812": { "pin": "E2" }, + "community_layouts": ["60_ansi_tsangan_split_bs_rshift"] "layouts": { "LAYOUT_60_ansi_tsangan_split_bs_rshift": { "layout": [ From f4c33960bca78071c832ba4f45e2651c310ab079 Mon Sep 17 00:00:00 2001 From: "Christian C. Berclaz" Date: Tue, 6 May 2025 21:40:04 +0200 Subject: [PATCH 07/22] Update keyboards/ymdk/oni_hhkb/keymaps/default/keymap.c Co-authored-by: Duncan Sutherland --- keyboards/ymdk/oni_hhkb/keymaps/default/keymap.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/keyboards/ymdk/oni_hhkb/keymaps/default/keymap.c b/keyboards/ymdk/oni_hhkb/keymaps/default/keymap.c index 405fb07186f..175d6f3e007 100644 --- a/keyboards/ymdk/oni_hhkb/keymaps/default/keymap.c +++ b/keyboards/ymdk/oni_hhkb/keymaps/default/keymap.c @@ -18,7 +18,7 @@ // clang-format off const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_60_tsangan_hhkb( + [0] = LAYOUT_60_ansi_tsangan_split_bs_rshift( 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_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_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, From 0c2b302654cfcfe3906005e7a25fc85daa434e04 Mon Sep 17 00:00:00 2001 From: "Christian C. Berclaz" Date: Tue, 6 May 2025 21:40:13 +0200 Subject: [PATCH 08/22] Update keyboards/ymdk/oni_hhkb/keymaps/default/keymap.c Co-authored-by: Duncan Sutherland --- keyboards/ymdk/oni_hhkb/keymaps/default/keymap.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/keyboards/ymdk/oni_hhkb/keymaps/default/keymap.c b/keyboards/ymdk/oni_hhkb/keymaps/default/keymap.c index 175d6f3e007..d5e3e371bd1 100644 --- a/keyboards/ymdk/oni_hhkb/keymaps/default/keymap.c +++ b/keyboards/ymdk/oni_hhkb/keymaps/default/keymap.c @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL ), - [1] = LAYOUT_60_tsangan_hhkb( + [1] = LAYOUT_60_ansi_tsangan_split_bs_rshift( 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, _______, QK_BOOT, _______, _______, RM_TOGG, RM_VALU, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RM_VALD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, From 00e1bc09c6e322b6c4616f3f2c2d7af3de3764a9 Mon Sep 17 00:00:00 2001 From: "Christian C. Berclaz" Date: Tue, 6 May 2025 21:44:11 +0200 Subject: [PATCH 09/22] fixed the position of the return key --- keyboards/ymdk/oni_hhkb/keyboard.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/keyboards/ymdk/oni_hhkb/keyboard.json b/keyboards/ymdk/oni_hhkb/keyboard.json index 589ea59c818..71dfb9e5fd7 100644 --- a/keyboards/ymdk/oni_hhkb/keyboard.json +++ b/keyboards/ymdk/oni_hhkb/keyboard.json @@ -161,7 +161,7 @@ "ws2812": { "pin": "E2" }, - "community_layouts": ["60_ansi_tsangan_split_bs_rshift"] + "community_layouts": ["60_ansi_tsangan_split_bs_rshift"], "layouts": { "LAYOUT_60_ansi_tsangan_split_bs_rshift": { "layout": [ @@ -206,7 +206,7 @@ {"matrix": [2, 9], "x": 9.75, "y": 2}, {"matrix": [2, 10], "x": 10.75, "y": 2}, {"matrix": [2, 11], "x": 11.75, "y": 2}, - {"matrix": [2, 13], "x": 13.75, "y": 2, "w": 2.25}, + {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, {"matrix": [3, 2], "x": 2.25, "y": 3}, {"matrix": [3, 3], "x": 3.25, "y": 3}, From 7f0de95f849bf830132f6c55557f50e0b3e11166 Mon Sep 17 00:00:00 2001 From: "Christian C. Berclaz" Date: Tue, 6 May 2025 21:50:54 +0200 Subject: [PATCH 10/22] Added an alias for the community layout --- keyboards/ymdk/oni_hhkb/keyboard.json | 3 +++ 1 file changed, 3 insertions(+) diff --git a/keyboards/ymdk/oni_hhkb/keyboard.json b/keyboards/ymdk/oni_hhkb/keyboard.json index 71dfb9e5fd7..7f18fd2c46d 100644 --- a/keyboards/ymdk/oni_hhkb/keyboard.json +++ b/keyboards/ymdk/oni_hhkb/keyboard.json @@ -162,6 +162,9 @@ "pin": "E2" }, "community_layouts": ["60_ansi_tsangan_split_bs_rshift"], + "layout_aliases": { + "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift" + }, "layouts": { "LAYOUT_60_ansi_tsangan_split_bs_rshift": { "layout": [ From 06d2ffd5d4a70cc713d445fd6c1c5a9a35f78957 Mon Sep 17 00:00:00 2001 From: "Christian C. Berclaz" Date: Thu, 8 May 2025 08:22:02 +0200 Subject: [PATCH 11/22] Update keyboards/ymdk/oni_hhkb/keyboard.json Co-authored-by: Duncan Sutherland --- keyboards/ymdk/oni_hhkb/keyboard.json | 3 --- 1 file changed, 3 deletions(-) diff --git a/keyboards/ymdk/oni_hhkb/keyboard.json b/keyboards/ymdk/oni_hhkb/keyboard.json index 7f18fd2c46d..71dfb9e5fd7 100644 --- a/keyboards/ymdk/oni_hhkb/keyboard.json +++ b/keyboards/ymdk/oni_hhkb/keyboard.json @@ -162,9 +162,6 @@ "pin": "E2" }, "community_layouts": ["60_ansi_tsangan_split_bs_rshift"], - "layout_aliases": { - "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift" - }, "layouts": { "LAYOUT_60_ansi_tsangan_split_bs_rshift": { "layout": [ From 6fcf9c1d51427ab643909dd24e3fcd329cea5399 Mon Sep 17 00:00:00 2001 From: "Christian C. Berclaz" Date: Thu, 8 May 2025 08:34:52 +0200 Subject: [PATCH 12/22] Renamed the board Oni Tsangan/HHKB-like for due to brand registration --- keyboards/ymdk/oni_hhkb/readme.md | 19 ------------------- .../{oni_hhkb => oni_tsangan}/keyboard.json | 2 +- .../keymaps/default/keymap.c | 0 .../ymdk/{oni_hhkb => oni_tsangan}/oni_hhkb.c | 0 keyboards/ymdk/oni_tsangan/readme.md | 19 +++++++++++++++++++ 5 files changed, 20 insertions(+), 20 deletions(-) delete mode 100644 keyboards/ymdk/oni_hhkb/readme.md rename keyboards/ymdk/{oni_hhkb => oni_tsangan}/keyboard.json (99%) rename keyboards/ymdk/{oni_hhkb => oni_tsangan}/keymaps/default/keymap.c (100%) rename keyboards/ymdk/{oni_hhkb => oni_tsangan}/oni_hhkb.c (100%) create mode 100644 keyboards/ymdk/oni_tsangan/readme.md diff --git a/keyboards/ymdk/oni_hhkb/readme.md b/keyboards/ymdk/oni_hhkb/readme.md deleted file mode 100644 index 837af767cdf..00000000000 --- a/keyboards/ymdk/oni_hhkb/readme.md +++ /dev/null @@ -1,19 +0,0 @@ -# YMDK ONI HHKB - -![ONI HHKB PCB, Hotswap Tsangan/HHKB PCB with RGB Matrix and backlight](https://imgur.com/DB87on8.jpg) - -Customizable 60% HHKB Hotswap by PCB by [YMDK](https://ymdkey.com). - -- Keyboard Maintainer: [chrisgve](https://github.com/chrisgve) -- Hardware Supported: YMDK ONI HHKB -- Hardware Availability: [YMDK ONI HHKB](https://ymdkey.com/products/ymdk-gh60-hhkb-style-tsangan-oni-hot-swappable-both-underglow-switch-rgb-via-programmable-pcb-compatible-with-tokyo-60) - -Make example for this keyboard (after setting up your build environment): - - make ymdk/oni_hhkb:default - -The keyboard uses a DFU bootloader. To make a keymap and use dfu to flash it: - - make ymdk/oni_hhkb: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). diff --git a/keyboards/ymdk/oni_hhkb/keyboard.json b/keyboards/ymdk/oni_tsangan/keyboard.json similarity index 99% rename from keyboards/ymdk/oni_hhkb/keyboard.json rename to keyboards/ymdk/oni_tsangan/keyboard.json index 71dfb9e5fd7..e3814bc51f7 100644 --- a/keyboards/ymdk/oni_hhkb/keyboard.json +++ b/keyboards/ymdk/oni_tsangan/keyboard.json @@ -1,6 +1,6 @@ { "manufacturer": "YMDK", - "keyboard_name": "Oni HHKB", + "keyboard_name": "Oni Tsangan", "maintainer": "chrisgve", "bootloader": "atmel-dfu", "diode_direction": "ROW2COL", diff --git a/keyboards/ymdk/oni_hhkb/keymaps/default/keymap.c b/keyboards/ymdk/oni_tsangan/keymaps/default/keymap.c similarity index 100% rename from keyboards/ymdk/oni_hhkb/keymaps/default/keymap.c rename to keyboards/ymdk/oni_tsangan/keymaps/default/keymap.c diff --git a/keyboards/ymdk/oni_hhkb/oni_hhkb.c b/keyboards/ymdk/oni_tsangan/oni_hhkb.c similarity index 100% rename from keyboards/ymdk/oni_hhkb/oni_hhkb.c rename to keyboards/ymdk/oni_tsangan/oni_hhkb.c diff --git a/keyboards/ymdk/oni_tsangan/readme.md b/keyboards/ymdk/oni_tsangan/readme.md new file mode 100644 index 00000000000..f70a9cde2cd --- /dev/null +++ b/keyboards/ymdk/oni_tsangan/readme.md @@ -0,0 +1,19 @@ +# YMDK ONI Tsangan + +![ONI Tsangan PCB, Hotswap Tsangan/HHKB-like PCB with RGB Matrix and backlight](https://imgur.com/DB87on8.jpg) + +Customizable 60% Tsangan/HHKB-like Hotswap PCB by [YMDK](https://ymdkey.com). + +- Keyboard Maintainer: [chrisgve](https://github.com/chrisgve) +- Hardware Supported: YMDK ONI Tsangan/HHKB-like +- Hardware Availability: [YMDK ONI Tsangan/HHKB-like](https://ymdkey.com/products/ymdk-gh60-hhkb-style-tsangan-oni-hot-swappable-both-underglow-switch-rgb-via-programmable-pcb-compatible-with-tokyo-60) + +Make example for this keyboard (after setting up your build environment): + + make ymdk/oni_tsangan:default + +The keyboard uses a DFU bootloader. To make a keymap and use dfu to flash it: + + make ymdk/oni_tsangan: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). From 037fd83cbd0b4549a6385c7cfee3417f41403665 Mon Sep 17 00:00:00 2001 From: "Christian C. Berclaz" Date: Thu, 8 May 2025 08:36:19 +0200 Subject: [PATCH 13/22] Removed oni_hhkb.c as not required --- keyboards/ymdk/oni_tsangan/oni_hhkb.c | 50 --------------------------- 1 file changed, 50 deletions(-) delete mode 100644 keyboards/ymdk/oni_tsangan/oni_hhkb.c diff --git a/keyboards/ymdk/oni_tsangan/oni_hhkb.c b/keyboards/ymdk/oni_tsangan/oni_hhkb.c deleted file mode 100644 index 808afd84170..00000000000 --- a/keyboards/ymdk/oni_tsangan/oni_hhkb.c +++ /dev/null @@ -1,50 +0,0 @@ -/* Copyright 2025 YMDK - * Copyright 2025 chrisgve - * - * 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 . - */ - -#include "quantum.h" - -#ifdef RGB_MATRIX_ENABLE -bool process_record_kb(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - case RM_TOGG: - if (record->event.pressed) { - switch (rgb_matrix_get_flags()) { - case LED_FLAG_ALL: - rgb_matrix_set_flags(LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER | LED_FLAG_INDICATOR); - rgb_matrix_set_color_all(0, 0, 0); - break; - - case (LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER | LED_FLAG_INDICATOR): - rgb_matrix_set_flags(LED_FLAG_UNDERGLOW); - rgb_matrix_set_color_all(0, 0, 0); - break; - - case (LED_FLAG_UNDERGLOW): - rgb_matrix_set_flags(LED_FLAG_NONE); - rgb_matrix_set_color_all(0, 0, 0); - break; - - default: - rgb_matrix_set_flags(LED_FLAG_ALL); - rgb_matrix_enable_noeeprom(); - } - } - return false; - } - return process_record_user(keycode, record); -} -#endif From ee35ae8558d88fa64fbb8d88898ac0215d9e8960 Mon Sep 17 00:00:00 2001 From: "Christian C. Berclaz" Date: Thu, 8 May 2025 12:07:34 +0200 Subject: [PATCH 14/22] Changed the links to the image --- keyboards/ymdk/oni_tsangan/readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/keyboards/ymdk/oni_tsangan/readme.md b/keyboards/ymdk/oni_tsangan/readme.md index f70a9cde2cd..c1f2583f801 100644 --- a/keyboards/ymdk/oni_tsangan/readme.md +++ b/keyboards/ymdk/oni_tsangan/readme.md @@ -1,6 +1,6 @@ # YMDK ONI Tsangan -![ONI Tsangan PCB, Hotswap Tsangan/HHKB-like PCB with RGB Matrix and backlight](https://imgur.com/DB87on8.jpg) +![ONI Tsangan PCB, Hotswap Tsangan/HHKB-like PCB with RGB Matrix and backlight](https://imgur.com/DB87on8.jpeg) Customizable 60% Tsangan/HHKB-like Hotswap PCB by [YMDK](https://ymdkey.com). From 41bd3681e612e2dbb0f1d5a7f9c5edfea1683571 Mon Sep 17 00:00:00 2001 From: "Christian C. Berclaz" Date: Thu, 8 May 2025 12:13:17 +0200 Subject: [PATCH 15/22] Added the bootloader section to readme.md --- keyboards/ymdk/oni_tsangan/readme.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/keyboards/ymdk/oni_tsangan/readme.md b/keyboards/ymdk/oni_tsangan/readme.md index c1f2583f801..11e4d7fdcb4 100644 --- a/keyboards/ymdk/oni_tsangan/readme.md +++ b/keyboards/ymdk/oni_tsangan/readme.md @@ -17,3 +17,11 @@ The keyboard uses a DFU bootloader. To make a keymap and use dfu to flash it: make ymdk/oni_tsangan: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 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**: Briefly press the button on the back of the PCB - some may have pads you must short instead +- **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available From 03053afd3b7f44d4e125e5951da680c449871812 Mon Sep 17 00:00:00 2001 From: "Christian C. Berclaz" Date: Thu, 8 May 2025 12:14:55 +0200 Subject: [PATCH 16/22] Removed parameters set at default value --- keyboards/ymdk/oni_tsangan/keyboard.json | 2 -- 1 file changed, 2 deletions(-) diff --git a/keyboards/ymdk/oni_tsangan/keyboard.json b/keyboards/ymdk/oni_tsangan/keyboard.json index e3814bc51f7..e33585eaaee 100644 --- a/keyboards/ymdk/oni_tsangan/keyboard.json +++ b/keyboards/ymdk/oni_tsangan/keyboard.json @@ -6,8 +6,6 @@ "diode_direction": "ROW2COL", "features": { "bootmagic": true, - "command": false, - "console": false, "extrakey": true, "mousekey": true, "nkro": true, From af92d3799794383f8d126cde5f2291a4ebbe4402 Mon Sep 17 00:00:00 2001 From: "Christian C. Berclaz" Date: Thu, 8 May 2025 12:20:08 +0200 Subject: [PATCH 17/22] Update keyboards/ymdk/oni_tsangan/readme.md Co-authored-by: Joel Challis --- keyboards/ymdk/oni_tsangan/readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/keyboards/ymdk/oni_tsangan/readme.md b/keyboards/ymdk/oni_tsangan/readme.md index 11e4d7fdcb4..aca9abac81a 100644 --- a/keyboards/ymdk/oni_tsangan/readme.md +++ b/keyboards/ymdk/oni_tsangan/readme.md @@ -1,6 +1,6 @@ # YMDK ONI Tsangan -![ONI Tsangan PCB, Hotswap Tsangan/HHKB-like PCB with RGB Matrix and backlight](https://imgur.com/DB87on8.jpeg) +![ONI Tsangan PCB, Hotswap Tsangan/HHKB-like PCB with RGB Matrix and backlight](https://i.imgur.com/DB87on8.jpeg) Customizable 60% Tsangan/HHKB-like Hotswap PCB by [YMDK](https://ymdkey.com). From 3413eb7e58e62c7f97ef8c9ec54fb7623730961d Mon Sep 17 00:00:00 2001 From: "Christian C. Berclaz" Date: Fri, 9 May 2025 14:15:02 +0200 Subject: [PATCH 18/22] Remove unintended submodule pico-sdk --- lib/pico-sdk | 1 - 1 file changed, 1 deletion(-) delete mode 160000 lib/pico-sdk diff --git a/lib/pico-sdk b/lib/pico-sdk deleted file mode 160000 index d0c5cac430c..00000000000 --- a/lib/pico-sdk +++ /dev/null @@ -1 +0,0 @@ -Subproject commit d0c5cac430cc955b65efa0e899748853d9a80928 From fd115fd26f377e714eb637ec7db8955fc903a1c2 Mon Sep 17 00:00:00 2001 From: "Christian C. Berclaz" Date: Fri, 9 May 2025 14:29:44 +0200 Subject: [PATCH 19/22] Temporarily ignore pico-sdk directory --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 20e706a2b59..bda413c1764 100644 --- a/.gitignore +++ b/.gitignore @@ -120,3 +120,4 @@ compile_commands.json via*.json /keyboards/**/keymaps/via/* /keyboards/**/keymaps/vial/* +lib/pico-sdk/ From a730f98c9a95fd4177bfba39729ec6bc839bc24f Mon Sep 17 00:00:00 2001 From: "Christian C. Berclaz" Date: Fri, 9 May 2025 14:35:44 +0200 Subject: [PATCH 20/22] Remove temporary .gitignore entry --- .gitignore | 1 - 1 file changed, 1 deletion(-) diff --git a/.gitignore b/.gitignore index bda413c1764..20e706a2b59 100644 --- a/.gitignore +++ b/.gitignore @@ -120,4 +120,3 @@ compile_commands.json via*.json /keyboards/**/keymaps/via/* /keyboards/**/keymaps/vial/* -lib/pico-sdk/ From 4c2271118cdb43da66f71967bfbfd51966359a63 Mon Sep 17 00:00:00 2001 From: "Christian C. Berclaz" Date: Fri, 9 May 2025 20:31:53 +0200 Subject: [PATCH 21/22] Restore submodule state from upstream --- lib/pico-sdk | 1 + 1 file changed, 1 insertion(+) create mode 160000 lib/pico-sdk diff --git a/lib/pico-sdk b/lib/pico-sdk new file mode 160000 index 00000000000..d0c5cac430c --- /dev/null +++ b/lib/pico-sdk @@ -0,0 +1 @@ +Subproject commit d0c5cac430cc955b65efa0e899748853d9a80928 From 3ad50271047191065541d2bae3f5664c7283f300 Mon Sep 17 00:00:00 2001 From: "Christian C. Berclaz" Date: Fri, 16 May 2025 21:14:59 +0200 Subject: [PATCH 22/22] docs: precised the location of the reset pads on the pcb --- keyboards/ymdk/oni_tsangan/readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/keyboards/ymdk/oni_tsangan/readme.md b/keyboards/ymdk/oni_tsangan/readme.md index aca9abac81a..c7fe806a208 100644 --- a/keyboards/ymdk/oni_tsangan/readme.md +++ b/keyboards/ymdk/oni_tsangan/readme.md @@ -23,5 +23,5 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to 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**: Briefly press the button on the back of the PCB - some may have pads you must short instead +- **Physical reset button**: Short the two pads close to the position of the caps lock key - **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available