From 1b72007fba60927203520d460c5a2875ec2d1565 Mon Sep 17 00:00:00 2001 From: Thiago Hiromi <83295+thiromi@users.noreply.github.com> Date: Sun, 10 Mar 2024 23:12:52 +0100 Subject: [PATCH 1/8] Add vial support to bm43a (#677) * Add vial support to bm43a * Add missing pragme * Remove README --- .../kprepublic/bm43a/keymaps/vial/config.h | 9 +++++ .../kprepublic/bm43a/keymaps/vial/keymap.c | 33 +++++++++++++++++++ .../kprepublic/bm43a/keymaps/vial/rules.mk | 6 ++++ .../kprepublic/bm43a/keymaps/vial/vial.json | 14 ++++++++ 4 files changed, 62 insertions(+) create mode 100644 keyboards/kprepublic/bm43a/keymaps/vial/config.h create mode 100644 keyboards/kprepublic/bm43a/keymaps/vial/keymap.c create mode 100644 keyboards/kprepublic/bm43a/keymaps/vial/rules.mk create mode 100644 keyboards/kprepublic/bm43a/keymaps/vial/vial.json diff --git a/keyboards/kprepublic/bm43a/keymaps/vial/config.h b/keyboards/kprepublic/bm43a/keymaps/vial/config.h new file mode 100644 index 00000000000..72d87c77c4a --- /dev/null +++ b/keyboards/kprepublic/bm43a/keymaps/vial/config.h @@ -0,0 +1,9 @@ +/* SPDX-License-Identifier: GPL-2.0-or-later */ + +#pragma once + +// Vial support +#define VIAL_KEYBOARD_UID {0x82, 0x52, 0x01, 0x59, 0xF8, 0x6D, 0xE9, 0x4E} + +#define VIAL_UNLOCK_COMBO_ROWS { 0, 3, 0, 3 } +#define VIAL_UNLOCK_COMBO_COLS { 0, 0, 11, 11 } diff --git a/keyboards/kprepublic/bm43a/keymaps/vial/keymap.c b/keyboards/kprepublic/bm43a/keymaps/vial/keymap.c new file mode 100644 index 00000000000..e51156fd052 --- /dev/null +++ b/keyboards/kprepublic/bm43a/keymaps/vial/keymap.c @@ -0,0 +1,33 @@ +/* Copyright 2019 mechmerlin + * + * 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 + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT( + KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, + KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_ENT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_UP, KC_DOT, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, MO(1), KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT( + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, BL_TOGG, BL_DOWN, BL_UP, BL_STEP, _______, _______, _______, _______, _______, _______, + _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + +}; + diff --git a/keyboards/kprepublic/bm43a/keymaps/vial/rules.mk b/keyboards/kprepublic/bm43a/keymaps/vial/rules.mk new file mode 100644 index 00000000000..dd0969d993b --- /dev/null +++ b/keyboards/kprepublic/bm43a/keymaps/vial/rules.mk @@ -0,0 +1,6 @@ +LTO_ENABLE = yes +VIA_ENABLE = yes +VIAL_ENABLE = yes + +COMBO_ENABLE = no +KEY_OVERRIDE_ENABLE = no diff --git a/keyboards/kprepublic/bm43a/keymaps/vial/vial.json b/keyboards/kprepublic/bm43a/keymaps/vial/vial.json new file mode 100644 index 00000000000..02793812ffe --- /dev/null +++ b/keyboards/kprepublic/bm43a/keymaps/vial/vial.json @@ -0,0 +1,14 @@ +{ + "matrix": { + "rows": 4, + "cols": 12 + }, + "layouts": { + "keymap": [ + ["0,0","0,1","0,2","0,3","0,4","0,5","0,6","0,7","0,8","0,9","0,10","0,11"], + [{"w":1.25},"1,0","1,1","1,2","1,3","1,4","1,5","1,6","1,7","1,8","1,9",{"w":1.75},"1,11"], + [{"w":2},"2,0","2,1","2,2","2,3","2,4","2,5","2,6","2,7","2,8","2,9","2,11"], + ["3,0","3,1","3,2",{"w":2.75},"3,3",{"w":2.25},"3,5","3,7","3,8","3,9","3,11"] + ] + } +} From b4e446f6168842eb27a7af005687a218b7895e15 Mon Sep 17 00:00:00 2001 From: luomie <56607736+luomie@users.noreply.github.com> Date: Sun, 10 Mar 2024 23:13:21 +0100 Subject: [PATCH 2/8] Add vial support to wilba_tech/wt65_h2 (#680) --- keyboards/wilba_tech/wt65_h2/info.json | 244 ++++++++++++++++++ .../wt65_h2/keymaps/default/keymap.c | 24 ++ .../wilba_tech/wt65_h2/keymaps/via/keymap.c | 4 + .../wilba_tech/wt65_h2/keymaps/via/rules.mk | 1 + .../wilba_tech/wt65_h2/keymaps/vial/config.h | 8 + .../wilba_tech/wt65_h2/keymaps/vial/keymap.c | 4 + .../wilba_tech/wt65_h2/keymaps/vial/rules.mk | 2 + .../wilba_tech/wt65_h2/keymaps/vial/vial.json | 108 ++++++++ .../wilba_tech/wt65_h2/matrix_diagram.md | 18 ++ keyboards/wilba_tech/wt65_h2/readme.md | 19 ++ keyboards/wilba_tech/wt65_h2/rules.mk | 1 + 11 files changed, 433 insertions(+) create mode 100644 keyboards/wilba_tech/wt65_h2/info.json create mode 100644 keyboards/wilba_tech/wt65_h2/keymaps/default/keymap.c create mode 100644 keyboards/wilba_tech/wt65_h2/keymaps/via/keymap.c create mode 100644 keyboards/wilba_tech/wt65_h2/keymaps/via/rules.mk create mode 100644 keyboards/wilba_tech/wt65_h2/keymaps/vial/config.h create mode 100644 keyboards/wilba_tech/wt65_h2/keymaps/vial/keymap.c create mode 100644 keyboards/wilba_tech/wt65_h2/keymaps/vial/rules.mk create mode 100644 keyboards/wilba_tech/wt65_h2/keymaps/vial/vial.json create mode 100644 keyboards/wilba_tech/wt65_h2/matrix_diagram.md create mode 100644 keyboards/wilba_tech/wt65_h2/readme.md create mode 100644 keyboards/wilba_tech/wt65_h2/rules.mk diff --git a/keyboards/wilba_tech/wt65_h2/info.json b/keyboards/wilba_tech/wt65_h2/info.json new file mode 100644 index 00000000000..606f66ede26 --- /dev/null +++ b/keyboards/wilba_tech/wt65_h2/info.json @@ -0,0 +1,244 @@ +{ + "manufacturer": "wilba.tech", + "keyboard_name": "WT65-H2", + "maintainer": "Wilba", + "bootloader": "atmel-dfu", + "diode_direction": "COL2ROW", + "build": { + "lto": true + }, + "features": { + "bootmagic": true, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "matrix_pins": { + "cols": ["F5", "D5", "B1", "B2", "B3", "D3", "D2", "C7", "C6", "B6", "B5", "B4", "D7", "D6", "D4"], + "rows": ["F0", "F1", "F4", "F6", "F7"] + }, + "processor": "atmega32u4", + "qmk": { + "locking": { + "enabled": true, + "resync": true + } + }, + "url": "https://wilba.tech", + "usb": { + "device_version": "0.0.1", + "pid": "0x0030", + "vid": "0x6582" + }, + "layouts": { + "LAYOUT_65_ansi_blocker_wkl": { + "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": "Home", "matrix": [0, 14], "x": 15, "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": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, + {"label": "Page Up", "matrix": [1, 14], "x": 15, "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": "Enter", "matrix": [2, 12], "x": 12.75, "y": 2, "w": 2.25}, + {"label": "Page Down", "matrix": [2, 14], "x": 15, "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": "\u2191", "matrix": [3, 13], "x": 14, "y": 3}, + {"label": "End", "matrix": [3, 14], "x": 15, "y": 3}, + {"label": "GUI", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, + {"label": "Alt", "matrix": [4, 2], "x": 2.25, "y": 4, "w": 1.5}, + {"label": "Space", "matrix": [4, 6], "x": 3.75, "y": 4, "w": 7}, + {"label": "Fn", "matrix": [4, 11], "x": 10.75, "y": 4, "w": 1.5}, + {"label": "\u2190", "matrix": [4, 12], "x": 13, "y": 4}, + {"label": "\u2193", "matrix": [4, 13], "x": 14, "y": 4}, + {"label": "\u2192", "matrix": [4, 14], "x": 15, "y": 4} + ] + }, + "LAYOUT_65_ansi_blocker_wkl_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": "Delete", "matrix": [2, 13], "x": 14, "y": 0}, + {"label": "Home", "matrix": [0, 14], "x": 15, "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": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, + {"label": "Page Up", "matrix": [1, 14], "x": 15, "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": "Enter", "matrix": [2, 12], "x": 12.75, "y": 2, "w": 2.25}, + {"label": "Page Down", "matrix": [2, 14], "x": 15, "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": "\u2191", "matrix": [3, 13], "x": 14, "y": 3}, + {"label": "End", "matrix": [3, 14], "x": 15, "y": 3}, + {"label": "GUI", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, + {"label": "Alt", "matrix": [4, 2], "x": 2.25, "y": 4, "w": 1.5}, + {"label": "Space", "matrix": [4, 6], "x": 3.75, "y": 4, "w": 7}, + {"label": "Fn", "matrix": [4, 11], "x": 10.75, "y": 4, "w": 1.5}, + {"label": "\u2190", "matrix": [4, 12], "x": 13, "y": 4}, + {"label": "\u2193", "matrix": [4, 13], "x": 14, "y": 4}, + {"label": "\u2192", "matrix": [4, 14], "x": 15, "y": 4} + ] + }, + "LAYOUT_all": { + "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": "Delete", "matrix": [2, 13], "x": 14, "y": 0}, + {"label": "Home", "matrix": [0, 14], "x": 15, "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": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, + {"label": "Page Up", "matrix": [1, 14], "x": 15, "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": "Enter", "matrix": [2, 12], "x": 12.75, "y": 2, "w": 2.25}, + {"label": "Page Down", "matrix": [2, 14], "x": 15, "y": 2}, + {"label": "Shift", "matrix": [3, 0], "x": 0, "y": 3, "w": 1.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": "\u2191", "matrix": [3, 13], "x": 14, "y": 3}, + {"label": "End", "matrix": [3, 14], "x": 15, "y": 3}, + {"label": "GUI", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, + {"label": "Alt", "matrix": [4, 2], "x": 2.25, "y": 4, "w": 1.5}, + {"label": "Space", "matrix": [4, 6], "x": 3.75, "y": 4, "w": 7}, + {"label": "Fn", "matrix": [4, 11], "x": 10.75, "y": 4, "w": 1.5}, + {"label": "\u2190", "matrix": [4, 12], "x": 13, "y": 4}, + {"label": "\u2193", "matrix": [4, 13], "x": 14, "y": 4}, + {"label": "\u2192", "matrix": [4, 14], "x": 15, "y": 4} + ] + } + } +} diff --git a/keyboards/wilba_tech/wt65_h2/keymaps/default/keymap.c b/keyboards/wilba_tech/wt65_h2/keymaps/default/keymap.c new file mode 100644 index 00000000000..9b065bcd1e0 --- /dev/null +++ b/keyboards/wilba_tech/wt65_h2/keymaps/default/keymap.c @@ -0,0 +1,24 @@ +// Copyright 2024 Jason Williams (@wilba) +// SPDX-License-Identifier: GPL-2.0-or-later + +// Default layout for WT65-H2 +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + // Default layer + [0] = LAYOUT_all( + 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_GRV, 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_BSPC, KC_PGUP, + KC_LCTL, 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_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, MO(1), + KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT), + + // Fn1 Layer + [1] = LAYOUT_all( + KC_TRNS, 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_TRNS, KC_TRNS, KC_INS, + KC_CAPS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SCRL, KC_PAUS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_MUTE, KC_VOLD, KC_VOLU, KC_EJCT, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGUP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_MPRV, KC_MPLY, KC_MNXT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_END, KC_PGDN, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), +}; diff --git a/keyboards/wilba_tech/wt65_h2/keymaps/via/keymap.c b/keyboards/wilba_tech/wt65_h2/keymaps/via/keymap.c new file mode 100644 index 00000000000..4fc052443e4 --- /dev/null +++ b/keyboards/wilba_tech/wt65_h2/keymaps/via/keymap.c @@ -0,0 +1,4 @@ +// Copyright 2024 Jason Williams (@wilba) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "../default/keymap.c" diff --git a/keyboards/wilba_tech/wt65_h2/keymaps/via/rules.mk b/keyboards/wilba_tech/wt65_h2/keymaps/via/rules.mk new file mode 100644 index 00000000000..1e5b99807cb --- /dev/null +++ b/keyboards/wilba_tech/wt65_h2/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/wilba_tech/wt65_h2/keymaps/vial/config.h b/keyboards/wilba_tech/wt65_h2/keymaps/vial/config.h new file mode 100644 index 00000000000..aabb573feef --- /dev/null +++ b/keyboards/wilba_tech/wt65_h2/keymaps/vial/config.h @@ -0,0 +1,8 @@ +/* SPDX-License-Identifier: GPL-2.0-or-later */ + +#pragma once + +#define VIAL_KEYBOARD_UID {0x2E, 0xBE, 0xCC, 0x0B, 0xB1, 0xA8, 0x77, 0x4E} + +#define VIAL_UNLOCK_COMBO_ROWS { 0, 0 } +#define VIAL_UNLOCK_COMBO_COLS { 0, 1 } \ No newline at end of file diff --git a/keyboards/wilba_tech/wt65_h2/keymaps/vial/keymap.c b/keyboards/wilba_tech/wt65_h2/keymaps/vial/keymap.c new file mode 100644 index 00000000000..4fc052443e4 --- /dev/null +++ b/keyboards/wilba_tech/wt65_h2/keymaps/vial/keymap.c @@ -0,0 +1,4 @@ +// Copyright 2024 Jason Williams (@wilba) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "../default/keymap.c" diff --git a/keyboards/wilba_tech/wt65_h2/keymaps/vial/rules.mk b/keyboards/wilba_tech/wt65_h2/keymaps/vial/rules.mk new file mode 100644 index 00000000000..4f7618e9b21 --- /dev/null +++ b/keyboards/wilba_tech/wt65_h2/keymaps/vial/rules.mk @@ -0,0 +1,2 @@ +VIA_ENABLE = yes +VIAL_ENABLE = yes diff --git a/keyboards/wilba_tech/wt65_h2/keymaps/vial/vial.json b/keyboards/wilba_tech/wt65_h2/keymaps/vial/vial.json new file mode 100644 index 00000000000..0ca27e3bf67 --- /dev/null +++ b/keyboards/wilba_tech/wt65_h2/keymaps/vial/vial.json @@ -0,0 +1,108 @@ +{ + "name": "wilba.tech WT65-H2", + "vendorId": "0x6582", + "productId": "0x0030", + "lighting": "none", + "matrix": {"rows": 5, "cols": 15}, + "layouts": { + "labels": ["2U Backspace"], + "keymap": [ + [{"x": 13, "c": "#aaaaaa", "w": 2}, "0,13\n\n\n0,1"], + [ + {"c": "#777777"}, + "0,0", + {"c": "#cccccc"}, + "0,1", + "0,2", + "0,3", + "0,4", + "0,5", + "0,6", + "0,7", + "0,8", + "0,9", + "0,10", + "0,11", + "0,12", + "0,13\n\n\n0,0", + "2,13\n\n\n0,0", + {"c": "#aaaaaa"}, + "0,14" + ], + [ + {"w": 1.5}, + "1,0", + {"c": "#cccccc"}, + "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": "#aaaaaa", "w": 1.5}, + "1,13", + "1,14" + ], + [ + {"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": "#aaaaaa", "w": 2.25}, + "2,12", + "2,14" + ], + [ + {"w": 2.25}, + "3,0", + {"c": "#cccccc"}, + "3,2", + "3,3", + "3,4", + "3,5", + "3,6", + "3,7", + "3,8", + "3,9", + "3,10", + "3,11", + {"c": "#aaaaaa", "w": 1.75}, + "3,12", + {"c": "#777777"}, + "3,13", + {"c": "#aaaaaa"}, + "3,14" + ], + [ + {"w": 1.5}, + "4,0", + {"x": 0.75, "w": 1.5}, + "4,2", + {"c": "#cccccc", "w": 7}, + "4,6", + {"c": "#aaaaaa", "w": 1.5}, + "4,11", + {"x": 0.75, "c": "#777777"}, + "4,12", + "4,13", + "4,14" + ] + ] + } + } \ No newline at end of file diff --git a/keyboards/wilba_tech/wt65_h2/matrix_diagram.md b/keyboards/wilba_tech/wt65_h2/matrix_diagram.md new file mode 100644 index 00000000000..12b4696a40b --- /dev/null +++ b/keyboards/wilba_tech/wt65_h2/matrix_diagram.md @@ -0,0 +1,18 @@ +# Matrix Diagram for wilba.tech WT65-H2 + +``` + ┌───────┐ + 2u Backspace │0D │ + └───────┘ +┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ +│00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D │2D │0E │ +├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┼───┤ +│10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D │1E │ +├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤ +│20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2C │2E │ +├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤ +│30 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3C │3D │3E │ +├─────┬──┼───┴─┬─┴───┴───┴───┴───┴───┴───┴─┬─┴───┼──┬───┼───┼───┤ +│40 │ │42 │46 │4B │ │4C │4D │4E │ +└─────┘ └─────┴───────────────────────────┴─────┘ └───┴───┴───┘ +``` diff --git a/keyboards/wilba_tech/wt65_h2/readme.md b/keyboards/wilba_tech/wt65_h2/readme.md new file mode 100644 index 00000000000..d6de581da23 --- /dev/null +++ b/keyboards/wilba_tech/wt65_h2/readme.md @@ -0,0 +1,19 @@ +# wilba.tech WT65-H2 + +WT65-H2 is a keyboard PCB supporting 65% layout with WKL blockers, hotswap sockets and daughterboard USB-C. + +Initially designed for the [Bauer Lite](https://omnitype.com/products/bauer-lite) + +- Keyboard Maintainer: [wilba](https://github.com/wilba) +- Hardware Supported: wilba.tech WT65-H2-BAUERLITE +- Hardware Availability: [Omnitype](https://omnitype.com/products/bauer-extra-pcb) + +Make example for this keyboard (after setting up your build environment): + + make wilba_tech/wt65_h2:default + +Flashing example for this keyboard: + + make wilba_tech/wt65_h2: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/wilba_tech/wt65_h2/rules.mk b/keyboards/wilba_tech/wt65_h2/rules.mk new file mode 100644 index 00000000000..c80812f6e0a --- /dev/null +++ b/keyboards/wilba_tech/wt65_h2/rules.mk @@ -0,0 +1 @@ +# This file is intentionally blank From e7ece72d93c40636c2d51d9ff35fb8bc8ebab7cc Mon Sep 17 00:00:00 2001 From: NCKiser <37519411+NCKiser@users.noreply.github.com> Date: Sun, 10 Mar 2024 17:13:34 -0500 Subject: [PATCH 3/8] Add Brian the Keyboard (#682) * Add Brian the Keyboard * Removed transparent layers, fixed compile issue --- keyboards/jlw/brian_the_keyboard/info.json | 67 ++++++++++++ .../keymaps/default/keymap.c | 26 +++++ .../brian_the_keyboard/keymaps/vial/config.h | 10 ++ .../brian_the_keyboard/keymaps/vial/keymap.c | 26 +++++ .../brian_the_keyboard/keymaps/vial/rules.mk | 2 + .../brian_the_keyboard/keymaps/vial/vial.json | 100 ++++++++++++++++++ keyboards/jlw/brian_the_keyboard/readme.md | 5 + keyboards/jlw/brian_the_keyboard/rules.mk | 1 + 8 files changed, 237 insertions(+) create mode 100644 keyboards/jlw/brian_the_keyboard/info.json create mode 100644 keyboards/jlw/brian_the_keyboard/keymaps/default/keymap.c create mode 100644 keyboards/jlw/brian_the_keyboard/keymaps/vial/config.h create mode 100644 keyboards/jlw/brian_the_keyboard/keymaps/vial/keymap.c create mode 100644 keyboards/jlw/brian_the_keyboard/keymaps/vial/rules.mk create mode 100644 keyboards/jlw/brian_the_keyboard/keymaps/vial/vial.json create mode 100644 keyboards/jlw/brian_the_keyboard/readme.md create mode 100644 keyboards/jlw/brian_the_keyboard/rules.mk diff --git a/keyboards/jlw/brian_the_keyboard/info.json b/keyboards/jlw/brian_the_keyboard/info.json new file mode 100644 index 00000000000..f84aadd5b64 --- /dev/null +++ b/keyboards/jlw/brian_the_keyboard/info.json @@ -0,0 +1,67 @@ +{ + "keyboard_name": "Brian the Keyboard", + "manufacturer": "NoahK", + "url": "https://github.com/NCKiser/brian-the-keyboard", + "maintainer": "NoahK", + "usb": { + "vid": "0x4B44", + "pid": "0x626E", + "device_version": "0.0.1" + }, + "processor": "STM32F072", + "bootloader": "stm32-dfu", + "diode_direction": "COL2ROW", + "matrix_pins": { + "cols": ["B1", "B0", "A7", "A4", "A3", "B7", "B6", "B5", "B4", "B3"], + "rows": ["B11", "B9", "A5", "A6"], + }, + "features": { + "bootmagic": true, + "extrakey": true, + "mousekey": true, + "nkro": true, + }, + "layouts": { + "LAYOUT": { + "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": [1, 0], "x": 0, "y": 1, "w": 1.25}, + {"matrix": [1, 1], "x": 1.25, "y": 1, "w": 1.25}, + {"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, "w": 1.25}, + {"matrix": [1, 8], "x": 8.75, "y": 1, "w": 1.25}, + + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.5}, + {"matrix": [2, 1], "x": 1.5, "y": 2, "w": 1.5}, + {"matrix": [2, 2], "x": 3, "y": 2}, + {"matrix": [2, 3], "x": 4, "y": 2}, + {"matrix": [2, 4], "x": 5, "y": 2}, + {"matrix": [2, 5], "x": 6, "y": 2}, + {"matrix": [2, 6], "x": 7, "y": 2, "w": 1.5}, + {"matrix": [2, 7], "x": 8.5, "y": 2, "w": 1.5}, + + {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.75}, + {"matrix": [3, 1], "x": 2, "y": 3.25, "w": 1.25}, + {"matrix": [3, 2], "x": 3.25, "y": 3.25, "w": 1.75}, + {"matrix": [3, 4], "x": 5, "y": 3.25, "w": 1.75}, + {"matrix": [3, 5], "x": 6.75, "y": 3.25, "w": 1.25}, + {"matrix": [3, 7], "x": 8.25, "y": 3, "w": 1.75} + ] + } + + } +} diff --git a/keyboards/jlw/brian_the_keyboard/keymaps/default/keymap.c b/keyboards/jlw/brian_the_keyboard/keymaps/default/keymap.c new file mode 100644 index 00000000000..6d51d61fafb --- /dev/null +++ b/keyboards/jlw/brian_the_keyboard/keymaps/default/keymap.c @@ -0,0 +1,26 @@ +// Copyright 2024 NoahK +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +#define HM_A LSFT_T(KC_A) +#define HM_S LALT_T(KC_S) +#define HM_D LGUI_T(KC_D) +#define HM_F LCTL_T(KC_F) +#define HM_J RCTL_T(KC_J) +#define HM_K RGUI_T(KC_K) +#define HM_L RALT_T(KC_L) +#define HM_Z LSFT_T(KC_Z) +#define HM_SLSH LSFT_T(KC_SLSH) +#define HM_QUOT RSFT_T(KC_QUOT) + + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT( + KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, + KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, + KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, + KC_LCTL, MO(1), KC_ENT, KC_SPC, MO(2), KC_RALT + ) +}; + diff --git a/keyboards/jlw/brian_the_keyboard/keymaps/vial/config.h b/keyboards/jlw/brian_the_keyboard/keymaps/vial/config.h new file mode 100644 index 00000000000..fd36bf7a88b --- /dev/null +++ b/keyboards/jlw/brian_the_keyboard/keymaps/vial/config.h @@ -0,0 +1,10 @@ +/* SPDX-License-Identifier: GPL-2.0-or-later */ + +#pragma once + +#define VIAL_KEYBOARD_UID {0xEA, 0x60, 0x17, 0x39, 0xF8, 0x82, 0x75, 0x59} +#define VIAL_UNLOCK_COMBO_ROWS { 0, 2 } +#define VIAL_UNLOCK_COMBO_COLS { 0, 7 } + +#define VIAL_COMBO_ENTRIES 69 +#define DYNAMIC_KEYMAP_LAYER_COUNT 8 diff --git a/keyboards/jlw/brian_the_keyboard/keymaps/vial/keymap.c b/keyboards/jlw/brian_the_keyboard/keymaps/vial/keymap.c new file mode 100644 index 00000000000..6d51d61fafb --- /dev/null +++ b/keyboards/jlw/brian_the_keyboard/keymaps/vial/keymap.c @@ -0,0 +1,26 @@ +// Copyright 2024 NoahK +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +#define HM_A LSFT_T(KC_A) +#define HM_S LALT_T(KC_S) +#define HM_D LGUI_T(KC_D) +#define HM_F LCTL_T(KC_F) +#define HM_J RCTL_T(KC_J) +#define HM_K RGUI_T(KC_K) +#define HM_L RALT_T(KC_L) +#define HM_Z LSFT_T(KC_Z) +#define HM_SLSH LSFT_T(KC_SLSH) +#define HM_QUOT RSFT_T(KC_QUOT) + + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT( + KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, + KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, + KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, + KC_LCTL, MO(1), KC_ENT, KC_SPC, MO(2), KC_RALT + ) +}; + diff --git a/keyboards/jlw/brian_the_keyboard/keymaps/vial/rules.mk b/keyboards/jlw/brian_the_keyboard/keymaps/vial/rules.mk new file mode 100644 index 00000000000..4f7618e9b21 --- /dev/null +++ b/keyboards/jlw/brian_the_keyboard/keymaps/vial/rules.mk @@ -0,0 +1,2 @@ +VIA_ENABLE = yes +VIAL_ENABLE = yes diff --git a/keyboards/jlw/brian_the_keyboard/keymaps/vial/vial.json b/keyboards/jlw/brian_the_keyboard/keymaps/vial/vial.json new file mode 100644 index 00000000000..3c618feef3e --- /dev/null +++ b/keyboards/jlw/brian_the_keyboard/keymaps/vial/vial.json @@ -0,0 +1,100 @@ +{ + "lighting": "none", + "matrix": { + "rows": 4, + "cols": 10 + }, + "layouts": { + "keymap": + [ + [ + "0,0", + "0,1", + "0,2", + "0,3", + "0,4", + "0,5", + "0,6", + "0,7", + "0,8", + "0,9" + ], + [ + { + "w": 1.25 + }, + "1,0", + { + "w": 1.25 + }, + "1,1", + "1,2", + "1,3", + "1,4", + "1,5", + "1,6", + { + "w": 1.25 + }, + "1,7", + { + "w": 1.25 + }, + "1,8" + ], + [ + { + "w": 1.5 + }, + "2,0", + { + "w": 1.5 + }, + "2,1", + "2,2", + "2,3", + "2,4", + "2,5", + { + "w": 1.5 + }, + "2,6", + { + "w": 1.5 + }, + "2,7" + ], + [ + { + "w": 1.75 + }, + "3,0", + { + "x": 6.5, + "w": 1.75 + }, + "3,7" + ], + [ + { + "y": -0.75, + "x": 2, + "w": 1.25 + }, + "3,1", + { + "w": 1.75 + }, + "3,2", + { + "w": 1.75 + }, + "3,4", + { + "w": 1.25 + }, + "3,5" + ] + ] + } +} diff --git a/keyboards/jlw/brian_the_keyboard/readme.md b/keyboards/jlw/brian_the_keyboard/readme.md new file mode 100644 index 00000000000..067a8952ebf --- /dev/null +++ b/keyboards/jlw/brian_the_keyboard/readme.md @@ -0,0 +1,5 @@ +# This is the firmware for Brian the Keyboard + +Please note that Brian is a keyboard, not a human. + +Brian the Keyboard is a row staggered 33-key board created by NoahK based on a keybaord by whydobearsexplod and jlw with a single layout. diff --git a/keyboards/jlw/brian_the_keyboard/rules.mk b/keyboards/jlw/brian_the_keyboard/rules.mk new file mode 100644 index 00000000000..17ab7c1dccc --- /dev/null +++ b/keyboards/jlw/brian_the_keyboard/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank. \ No newline at end of file From 26a0299120b5dae1169c88e63a4907d8b1d81593 Mon Sep 17 00:00:00 2001 From: Harshit Goel Date: Mon, 11 Mar 2024 03:44:50 +0530 Subject: [PATCH 4/8] Add support for extra thumb key (#691) * add support for extra thumb key * updated vial.json * rename labels for thumb keys * fix labels label typo for thumb keys --- keyboards/pteron36/info.json | 51 +++++ keyboards/pteron36/keymaps/vial/config.h | 4 +- keyboards/pteron36/keymaps/vial/keymap.c | 28 +-- keyboards/pteron36/keymaps/vial/vial.json | 215 +++++++++++++++------- 4 files changed, 211 insertions(+), 87 deletions(-) diff --git a/keyboards/pteron36/info.json b/keyboards/pteron36/info.json index 76b6e596471..e2b9a3a377a 100644 --- a/keyboards/pteron36/info.json +++ b/keyboards/pteron36/info.json @@ -136,6 +136,57 @@ {"matrix": [7, 1], "x": 9, "y": 4}, {"matrix": [7, 0], "x": 10, "y": 4} ] + }, + "LAYOUT_split_3x5_4_encoder": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 1}, + {"matrix": [0, 1], "x": 1, "y": 0.5}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0.5}, + {"matrix": [0, 4], "x": 4, "y": 0.75}, + + {"matrix": [4, 4], "x": 10, "y": 0.75}, + {"matrix": [4, 3], "x": 11, "y": 0.5}, + {"matrix": [4, 2], "x": 12, "y": 0}, + {"matrix": [4, 1], "x": 13, "y": 0.5}, + {"matrix": [4, 0], "x": 14, "y": 1}, + + {"matrix": [1, 0], "x": 0, "y": 2}, + {"matrix": [1, 1], "x": 1, "y": 1.5}, + {"matrix": [1, 2], "x": 2, "y": 1}, + {"matrix": [1, 3], "x": 3, "y": 1.5}, + {"matrix": [1, 4], "x": 4, "y": 1.75}, + + {"matrix": [5, 4], "x": 10, "y": 1.75}, + {"matrix": [5, 3], "x": 11, "y": 1.5}, + {"matrix": [5, 2], "x": 12, "y": 1}, + {"matrix": [5, 1], "x": 13, "y": 1.5}, + {"matrix": [5, 0], "x": 14, "y": 2}, + + {"matrix": [2, 0], "x": 0, "y": 3}, + {"matrix": [2, 1], "x": 1, "y": 2.5}, + {"matrix": [2, 2], "x": 2, "y": 2}, + {"matrix": [2, 3], "x": 3, "y": 2.5}, + {"matrix": [2, 4], "x": 4, "y": 2.75}, + {"matrix": [3, 4], "x": 5.5, "y": 2.75}, + + {"matrix": [7, 4], "x": 8.5, "y": 2.75}, + {"matrix": [6, 4], "x": 10, "y": 2.75}, + {"matrix": [6, 3], "x": 11, "y": 2.5}, + {"matrix": [6, 2], "x": 12, "y": 2}, + {"matrix": [6, 1], "x": 13, "y": 2.5}, + {"matrix": [6, 0], "x": 14, "y": 3}, + + {"matrix": [3, 3], "x": 6, "y": 4}, + {"matrix": [3, 0], "x": 4, "y": 4}, + {"matrix": [3, 1], "x": 5, "y": 4}, + {"matrix": [3, 2], "x": 6, "y": 4}, + + {"matrix": [7, 2], "x": 8, "y": 4}, + {"matrix": [7, 1], "x": 9, "y": 4}, + {"matrix": [7, 0], "x": 10, "y": 4}, + {"matrix": [7, 3], "x": 10, "y": 4} + ] } } } diff --git a/keyboards/pteron36/keymaps/vial/config.h b/keyboards/pteron36/keymaps/vial/config.h index 4d23b941e7d..ed954a5f883 100644 --- a/keyboards/pteron36/keymaps/vial/config.h +++ b/keyboards/pteron36/keymaps/vial/config.h @@ -1,5 +1,5 @@ #pragma once #define VIAL_KEYBOARD_UID {0xD6, 0x68, 0xF2, 0x55, 0x9B, 0x48, 0x07, 0x6E} -#define VIAL_UNLOCK_COMBO_ROWS { 0, 4 } -#define VIAL_UNLOCK_COMBO_COLS { 0, 0 } +#define VIAL_UNLOCK_COMBO_ROWS { 0, 0 } +#define VIAL_UNLOCK_COMBO_COLS { 0, 4 } diff --git a/keyboards/pteron36/keymaps/vial/keymap.c b/keyboards/pteron36/keymaps/vial/keymap.c index 4fe0acf607b..c9713fd6150 100644 --- a/keyboards/pteron36/keymaps/vial/keymap.c +++ b/keyboards/pteron36/keymaps/vial/keymap.c @@ -33,52 +33,52 @@ enum layer_names { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_QWERTY] = LAYOUT_split_3x5_3_encoder( + [_QWERTY] = LAYOUT_split_3x5_4_encoder( KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_Z, KC_X, KC_C, KC_V, KC_B,KC_LBRC, KC_RBRC, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, - KC_LGUI, KC_BSPC, KC_SPC, KC_SPC, KC_ENT, KC_RALT + KC_C, KC_LGUI, KC_BSPC, KC_SPC, KC_SPC, KC_ENT, KC_RALT,KC_COMM ), - [_SYMB] = LAYOUT_split_3x5_3_encoder( + [_SYMB] = LAYOUT_split_3x5_4_encoder( KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS ), - [_NAV] = LAYOUT_split_3x5_3_encoder( + [_NAV] = LAYOUT_split_3x5_4_encoder( KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS ), - [_ADJUST] = LAYOUT_split_3x5_3_encoder( + [_ADJUST] = LAYOUT_split_3x5_4_encoder( KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS ), - [_MOUSE] = LAYOUT_split_3x5_3_encoder( + [_MOUSE] = LAYOUT_split_3x5_4_encoder( KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS ), - [_NUMB] = LAYOUT_split_3x5_3_encoder( + [_NUMB] = LAYOUT_split_3x5_4_encoder( KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS ), - [_FNR] = LAYOUT_split_3x5_3_encoder( + [_FNR] = LAYOUT_split_3x5_4_encoder( KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS ) }; diff --git a/keyboards/pteron36/keymaps/vial/vial.json b/keyboards/pteron36/keymaps/vial/vial.json index 3cdc39852d8..02a192447c7 100644 --- a/keyboards/pteron36/keymaps/vial/vial.json +++ b/keyboards/pteron36/keymaps/vial/vial.json @@ -8,9 +8,8 @@ "cols": 5 }, "layouts": { - + "labels":["No Outer Thumbs","No Inner Thumbs"], "keymap":[ - [ { "x": 2 @@ -23,26 +22,29 @@ ], [ { - "y": -0.5, + "y": -0.75, "x": 1 }, "0,1", { - "x": 1 + "x": 11.5 }, - "0,3", + "4,1" + ], + [ { - "x": 7.5 + "y": -0.95, + "x": 3 }, - "4,3", + "0,3", { - "x": 1 + "x": 7.5 }, - "4,1" + "4,3" ], [ { - "y": -0.75, + "y": -0.9, "x": 4 }, "0,4", @@ -53,121 +55,135 @@ ], [ { - "y": -0.75 + "y": -0.65 }, "0,0", { - "x": 1 + "x": 13.5 }, - "1,2", + "4,0" + ], + [ { - "x": 9.5 + "y": -0.75, + "x": 2 }, - "5,2", + "1,2", { - "x": 1 + "x": 9.5 }, - "4,0" + "5,2" ], [ { - "y": -0.5, + "y": -0.75, "x": 1 }, "1,1", { - "x": 1 + "x": 3 }, - "1,3", + "0,0\n\n\n\n\n\n\n\n\ne", + "0,1\n\n\n\n\n\n\n\n\ne", { - "x": 7.5 + "x": 1.5 }, - "5,3", + "1,0\n\n\n\n\n\n\n\n\ne", + "1,1\n\n\n\n\n\n\n\n\ne", { - "x": 1 + "x": 3 }, "5,1" ], [ { - "y": -0.75, - "x": 4 + "y": -0.95, + "x": 3, + "n": true }, - "1,4", + "1,3", { - "x": 0.25 + "x": 7.5, + "n": true }, - "0,0\n\n\n\n\n\n\n\n\ne", - "0,1\n\n\n\n\n\n\n\n\ne", + "5,3" + ], + [ { - "x": 1 + "y": -0.8999999999999999, + "x": 4 }, - "1,0\n\n\n\n\n\n\n\n\ne", - "1,1\n\n\n\n\n\n\n\n\ne", + "1,4", { - "x": 0.25 + "x": 5.5 }, "5,4" ], [ { - "y": -0.75 + "y": -0.6499999999999999 }, "1,0", { - "x": 1 + "x": 13.5 }, - "2,2", + "5,0" + ], + [ { - "x": 9.5 + "y": -0.75, + "x": 2 }, - "6,2", + "2,2", { - "x": 1 + "x": 9.5 }, - "5,0" + "6,2" ], [ { - "y": -0.5, + "y": -0.75, "x": 1 }, "2,1", { - "x": 1 + "x": 3 }, - "2,3", + "3,4", { - "x": 7.5 + "x": 3.5 }, - "6,3", + "7,4", { - "x": 1 + "x": 3 }, "6,1" ], [ { - "y": -0.75, - "x": 4 + "y": -0.9500000000000002, + "x": 3 }, - "2,4", + "2,3", { - "x": 0.25 + "x": 7.5 }, - "3,4", + "6,3" + ], + [ { - "x": 3 + "y": -0.8999999999999999, + "x": 4 }, - "7,4", + "2,4", { - "x": 0.25 + "x": 5.5 }, "6,4" ], [ { - "y": -0.75 + "y": -0.6499999999999999 }, "2,0", { @@ -177,45 +193,102 @@ ], [ { - "x": 4 + "y": -0.25, + "x": 2.75, + "c": "#bababa", + "d": true }, - "3,0", + "3,3\n\n\n0,0\n36 keys", { - "x": 5.5 + "x": -1 }, - "7,0" + "3,3\n\n\n0,1\n38 keys", + { + "x": 8, + "d": true + }, + "7,3\n\n\n0,0\n36 keys", + { + "x": -1 + }, + "7,3\n\n\n0,1\n38 keys" ], [ { "r": 15, - "y": -2.5, - "x": 6.25 + "rx": 3.75, + "ry": 4.75, + "y": -1.25, + "c": "#888888" }, - "3,1" + "3,0" ], [ { "r": 30, - "y": -3, - "x": 8 + "rx": 4.25, + "ry": 4.8, + "y": -1.2999999999999998, + "x": 0.5, + "c": "#bababa" }, - "3,2" + "3,1" + ], + [ + { + "r": 45, + "rx": 4.75, + "ry": 4.9, + "y": -1.4000000000000004, + "x": 1 + }, + "3,2\n\n\n1,1" + ], + [ + { + "y": -0.9999999999999996, + "x": 1, + "d": true + }, + "3,2\n\n\n1,0" + ], + [ + { + "r": -45, + "rx": 10.75, + "y": -1.4000000000000004, + "x": -2 + }, + "7,2\n\n\n1,1" + ], + [ + { + "y": -0.9999999999999996, + "x": -2, + "d": true + }, + "7,2\n\n\n1,0" ], [ { "r": -30, - "y": 6.75, - "x": 4.5 + "rx": 11.25, + "ry": 4.8, + "y": -1.2999999999999998, + "x": -1.5 }, - "7,2" + "7,1" ], [ { "r": -15, - "y": -2.75, - "x": 7.75 + "rx": 11.75, + "ry": 4.75, + "y": -1.25, + "x": -1, + "c": "#888888" }, - "7,1" + "7,0" ] ] } From a66008dcd93440acb00b003402aaccd3431fd950 Mon Sep 17 00:00:00 2001 From: NCKiser <37519411+NCKiser@users.noreply.github.com> Date: Sun, 10 Mar 2024 17:15:09 -0500 Subject: [PATCH 5/8] Add Duodecimal (#692) * Add Duodecimal * Add PCB render image --- .../kiserdesigns/duodecimal/duodecimal.c | 18 +++ keyboards/kiserdesigns/duodecimal/info.json | 135 ++++++++++++++++++ .../duodecimal/keymaps/default/keymap.c | 27 ++++ .../duodecimal/keymaps/vial/config.h | 27 ++++ .../duodecimal/keymaps/vial/keymap.c | 27 ++++ .../duodecimal/keymaps/vial/rules.mk | 3 + .../duodecimal/keymaps/vial/vial.json | 120 ++++++++++++++++ keyboards/kiserdesigns/duodecimal/readme.md | 22 +++ keyboards/kiserdesigns/duodecimal/rules.mk | 1 + 9 files changed, 380 insertions(+) create mode 100644 keyboards/kiserdesigns/duodecimal/duodecimal.c create mode 100644 keyboards/kiserdesigns/duodecimal/info.json create mode 100644 keyboards/kiserdesigns/duodecimal/keymaps/default/keymap.c create mode 100644 keyboards/kiserdesigns/duodecimal/keymaps/vial/config.h create mode 100644 keyboards/kiserdesigns/duodecimal/keymaps/vial/keymap.c create mode 100644 keyboards/kiserdesigns/duodecimal/keymaps/vial/rules.mk create mode 100644 keyboards/kiserdesigns/duodecimal/keymaps/vial/vial.json create mode 100644 keyboards/kiserdesigns/duodecimal/readme.md create mode 100644 keyboards/kiserdesigns/duodecimal/rules.mk diff --git a/keyboards/kiserdesigns/duodecimal/duodecimal.c b/keyboards/kiserdesigns/duodecimal/duodecimal.c new file mode 100644 index 00000000000..5856ee366d9 --- /dev/null +++ b/keyboards/kiserdesigns/duodecimal/duodecimal.c @@ -0,0 +1,18 @@ +#include "quantum.h" + +void matrix_init_kb(void) { + matrix_init_user(); +} + +led_config_t g_led_config = { { + + { 2, 2, 2, 3, 3, 3, 4, 4, 4, 5, 5 }, + { 2, 2, 2, 3, 3, 3, 4, 4, 5, 5, 5 }, + { 2, 2, 3, 3, 3, 4, 4, 4, 5, 5, 5 }, + { 1, 1, 1, 0, 0, 0, 7, 7, 6, 6, 6 }, + { 0, 1, 0, 0, 0, 7, 0, 0, 0, 6, 5 } +}, { + { 102, 42 }, { 82, 42 }, { 82, 22 }, { 102, 22 }, { 122, 22 }, { 142, 22 }, { 142, 42 }, { 122, 42 } +}, { + 2, 2, 2, 2, 2, 2, 2, 2 +} }; diff --git a/keyboards/kiserdesigns/duodecimal/info.json b/keyboards/kiserdesigns/duodecimal/info.json new file mode 100644 index 00000000000..2e6eadd62ce --- /dev/null +++ b/keyboards/kiserdesigns/duodecimal/info.json @@ -0,0 +1,135 @@ +{ + "manufacturer": "Kiser Designs", + "keyboard_name": "Duodecimal", + "maintainer": "NCKiser", + "bootloader": "stm32-dfu", + "diode_direction": "COL2ROW", + + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true, + "rgb_matrix": true + }, + "matrix_pins": { + "cols": ["A7", "A6", "A5", "A4", "A9", "B15", "B14", "B13", "B12", "B11", "B10"], + "rows": ["B0", "B1", "B2", "A10", "A3"] + }, + "processor": "STM32F072", + "rgb_matrix": { + "driver": "ws2812", + "led_count": 8, + "animations": { + "alphas_mods": true, + "gradient_up_down": true, + "gradient_left_right": true, + "breathing": true, + "band_sat": true, + "band_val": true, + "band_pinwheel_sat": true, + "band_pinwheel_val": true, + "band_spiral_sat": true, + "band_spiral_val": true, + "cycle_all": true, + "cycle_left_right": true, + "cycle_up_down": true, + "rainbow_moving_chevron":true, + "cycle_out_in": true, + "cycle_out_in_dual": true, + "cycle_pinwheel": true, + "cycle_spiral": true, + "rainbow_pinwheels": true, + "raindrops": true, + "jellybean_raindrops": true, + "hue_breathing": true, + "hue_pendulum": true, + "hue_wave": true, + "typing_heatmap": true, + "digital_rain": true, + "solid_reactive_simple": true, + "solid_reactive": true, + "solid_reactive_wide": true, + "solid_reactive_multiwide": true, + "solid_reactive_cross": true, + "solid_reactive_multicross": true, + "solid_reactive_nexus": true, + "solid_reactive_multinexus": true, + "splash": true, + "solid_splash": true, + "solid_multisplash": true, + "pixel_rain": true, + "pixel_fractal": true + } + }, + "url": "https://qmk.fm/keyboards", + "usb": { + "device_version": "0.0.1", + "pid": "0x6812", + "vid": "0x4B44" + }, + "ws2812": { + "pin": "A8", + "driver": "bitbang" + }, + "layouts": { + "LAYOUT": { + "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": [4, 10], "x": 11, "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, "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": 8.75, "y": 2}, + {"matrix": [2, 8], "x": 9.75, "y": 2}, + {"matrix": [2, 9], "x": 9.75, "y": 2}, + {"matrix": [2, 10], "x": 10.75, "y": 2, "w": 1.25}, + + {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, + {"matrix": [3, 1], "x": 1.25, "y": 3}, + {"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": 8.25, "y": 3}, + {"matrix": [3, 8], "x": 9.25, "y": 3}, + {"matrix": [3, 9], "x": 9.25, "y": 3}, + {"matrix": [3, 10], "x": 10.25, "y": 3, "w": 1.75}, + + {"matrix": [4, 1], "x": 0, "y": 4, "w": 1.25}, + {"matrix": [4, 5], "x": 2.5, "y": 4, "w": 7}, + {"matrix": [4, 9], "x": 10.75, "y": 4, "w": 1.25} + ] + } + } +} diff --git a/keyboards/kiserdesigns/duodecimal/keymaps/default/keymap.c b/keyboards/kiserdesigns/duodecimal/keymaps/default/keymap.c new file mode 100644 index 00000000000..52fc1ed4978 --- /dev/null +++ b/keyboards/kiserdesigns/duodecimal/keymaps/default/keymap.c @@ -0,0 +1,27 @@ +/* Copyright 2024 Noah Kiser (NCKiser) + * + * 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 + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT( + KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, KC_DEL, + KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, + KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_ENT, + KC_LSFT, KC_SLSH, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, + KC_LCTL, KC_SPC, KC_RGUI + ) +}; + diff --git a/keyboards/kiserdesigns/duodecimal/keymaps/vial/config.h b/keyboards/kiserdesigns/duodecimal/keymaps/vial/config.h new file mode 100644 index 00000000000..dcd76cedf31 --- /dev/null +++ b/keyboards/kiserdesigns/duodecimal/keymaps/vial/config.h @@ -0,0 +1,27 @@ + /* 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 . + */ +#pragma once + +#define VIAL_KEYBOARD_UID {0x11, 0x4D, 0xF1, 0x83, 0x43, 0x23, 0x12, 0x8C} + +#define VIAL_TAP_DANCE_ENTRIES 16 + +#define VIAL_COMBO_ENTRIES 32 + +#define DYNAMIC_KEYMAP_LAYER_COUNT 16 + +#define VIAL_UNLOCK_COMBO_ROWS { 1, 2 } +#define VIAL_UNLOCK_COMBO_COLS { 0, 10 } + + diff --git a/keyboards/kiserdesigns/duodecimal/keymaps/vial/keymap.c b/keyboards/kiserdesigns/duodecimal/keymaps/vial/keymap.c new file mode 100644 index 00000000000..52fc1ed4978 --- /dev/null +++ b/keyboards/kiserdesigns/duodecimal/keymaps/vial/keymap.c @@ -0,0 +1,27 @@ +/* Copyright 2024 Noah Kiser (NCKiser) + * + * 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 + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT( + KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, KC_DEL, + KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, + KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_ENT, + KC_LSFT, KC_SLSH, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, + KC_LCTL, KC_SPC, KC_RGUI + ) +}; + diff --git a/keyboards/kiserdesigns/duodecimal/keymaps/vial/rules.mk b/keyboards/kiserdesigns/duodecimal/keymaps/vial/rules.mk new file mode 100644 index 00000000000..d013bc62daa --- /dev/null +++ b/keyboards/kiserdesigns/duodecimal/keymaps/vial/rules.mk @@ -0,0 +1,3 @@ +VIA_ENABLE = yes +VIAL_ENABLE = yes +VIALRGB_ENABLE = yes diff --git a/keyboards/kiserdesigns/duodecimal/keymaps/vial/vial.json b/keyboards/kiserdesigns/duodecimal/keymaps/vial/vial.json new file mode 100644 index 00000000000..e900661dcd2 --- /dev/null +++ b/keyboards/kiserdesigns/duodecimal/keymaps/vial/vial.json @@ -0,0 +1,120 @@ +{ + "matrix": { + "rows": 5, + "cols": 11 + }, + "lighting": "vialrgb", + "layouts": { + "labels":[ + "2.00u Backspace", + "2.25u Enter", + "2.25u Left Shift", + "2.75u Right Shift" + ], + "keymap": [ + [ + "0,0", + "0,1", + "0,2", + "0,3", + "0,4", + "0,5", + "0,6", + "0,7", + "0,8", + "0,9", + "0,10\n\n\n0,0", + "4,10\n\n\n0,0", + { + "w": 2 + }, + "0,10\n\n\n0,1" + ], + [ + { + "w": 1.5 + }, + "1,0", + "1,1", + "1,2", + "1,3", + "1,4", + "1,5", + "1,6", + "1,7", + "1,8", + "1,9", + { + "w": 1.5 + }, + "1,10" + ], + [ + { + "w": 1.75 + }, + "2,0", + "2,1", + "2,2", + "2,3", + "2,4", + "2,5", + "2,6", + "2,7", + "2,8", + "2,9\n\n\n1,0", + { + "w": 1.25 + }, + "2,10\n\n\n1,0", + { + "w": 2.25 + }, + "2,10\n\n\n1,1" + ], + [ + { + "w": 1.25 + }, + "3,0\n\n\n2,0", + "3,1\n\n\n2,0", + "3,2", + "3,3", + "3,4", + "3,5", + "3,6", + "3,7", + "3,8", + "3,9\n\n\n3,0", + { + "w": 1.75 + }, + "3,10\n\n\n3,0", + { + "w": 2.75 + }, + "3,10\n\n\n3,1" + ], + [ + { + "w": 1.25 + }, + "4,1", + { + "x": 1.25, + "w": 7 + }, + "4,5", + { + "x": 1.25, + "w": 1.25 + }, + "4,9", + { + "w": 2.25 + }, + "3,0\n\n\n2,1" + ] + ] + } + } diff --git a/keyboards/kiserdesigns/duodecimal/readme.md b/keyboards/kiserdesigns/duodecimal/readme.md new file mode 100644 index 00000000000..9c346819149 --- /dev/null +++ b/keyboards/kiserdesigns/duodecimal/readme.md @@ -0,0 +1,22 @@ +# Duodecimal + +![Duodecimal](https://i.imgur.com/XNVNMgZ.jpg) + +*A Base-Kit compatible, 12u, 5-row, WKL, 50% keyboard conceptualized by SwearWolf, with the PCB designed by Noah Kiser* +* Keyboard Maintainer: [NCKiser](https://github.com/NCKiser) +* Hardware Supported: Duodecimal PCB, STM32F072 + +Make example for this keyboard (after setting up your build environment): + + make kiserdesigns/duodecimal:default + +Flashing example for this keyboard: + + make kiserdesigns/duodecimal: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 (the top left key) and plug in the keyboard +* **Physical bootsel button**: Hold down the button on the back of the PCB while plugging into the computer +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/kiserdesigns/duodecimal/rules.mk b/keyboards/kiserdesigns/duodecimal/rules.mk new file mode 100644 index 00000000000..6e7633bfe01 --- /dev/null +++ b/keyboards/kiserdesigns/duodecimal/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank From bbaed80505cf4ceaeb51d1e5fe79b23b22acf1a6 Mon Sep 17 00:00:00 2001 From: Takayoshi Otake Date: Mon, 11 Mar 2024 07:15:20 +0900 Subject: [PATCH 6/8] Update keymap for takayoshiotake/three_octave_sharp (#693) --- .../three_octave_sharp/keymaps/default/keymap.c | 12 ++++++------ .../three_octave_sharp/keymaps/vial/keymap.c | 12 ++++++------ 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/keyboards/takayoshiotake/three_octave_sharp/keymaps/default/keymap.c b/keyboards/takayoshiotake/three_octave_sharp/keymaps/default/keymap.c index d0c1a41125a..220eade9a9e 100644 --- a/keyboards/takayoshiotake/three_octave_sharp/keymaps/default/keymap.c +++ b/keyboards/takayoshiotake/three_octave_sharp/keymaps/default/keymap.c @@ -7,7 +7,7 @@ #define KC_JKAN KC_JAPANESE_KANA #define LT_L1ES LT(1, KC_ESC) -#define MT_LCJE MT(MOD_LGUI, KC_JEIS) +#define MT_LGJE MT(MOD_LGUI, KC_JEIS) #define MT_RAJK MT(MOD_RALT, KC_JKAN) #define KC_MUTE KC_KB_MUTE @@ -19,7 +19,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, LT_L1ES, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_ENT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, MO(2), MO(3), - KC_LCTL, MT_LCJE, KC_SPC, MT_RAJK, KC_ROPT + KC_LCTL, MT_LGJE, KC_SPC, MT_RAJK, KC_RCTL ), [1] = LAYOUT( @@ -30,9 +30,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [2] = LAYOUT( - _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, - KC_CAPS, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_DOWN, _______, - _______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX, KC_RSFT, + _______, KC_1, KC_2, KC_3, KC_4, KC_5, _______, _______, _______, _______, _______, _______, + KC_CAPS, KC_6, KC_7, KC_8, KC_9, KC_0, KC_UP, KC_DOWN, _______, _______, _______, + _______, _______, _______, _______, _______, _______, KC_LEFT, KC_RGHT, XXXXXXX, KC_RSFT, _______, _______, _______, _______, _______ ), @@ -42,4 +42,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24, KC_MUTE, KC_VOLM, KC_VOLP, XXXXXXX, _______, _______, _______, _______, _______ ) -}; +}; \ No newline at end of file diff --git a/keyboards/takayoshiotake/three_octave_sharp/keymaps/vial/keymap.c b/keyboards/takayoshiotake/three_octave_sharp/keymaps/vial/keymap.c index d0c1a41125a..220eade9a9e 100644 --- a/keyboards/takayoshiotake/three_octave_sharp/keymaps/vial/keymap.c +++ b/keyboards/takayoshiotake/three_octave_sharp/keymaps/vial/keymap.c @@ -7,7 +7,7 @@ #define KC_JKAN KC_JAPANESE_KANA #define LT_L1ES LT(1, KC_ESC) -#define MT_LCJE MT(MOD_LGUI, KC_JEIS) +#define MT_LGJE MT(MOD_LGUI, KC_JEIS) #define MT_RAJK MT(MOD_RALT, KC_JKAN) #define KC_MUTE KC_KB_MUTE @@ -19,7 +19,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, LT_L1ES, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_ENT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, MO(2), MO(3), - KC_LCTL, MT_LCJE, KC_SPC, MT_RAJK, KC_ROPT + KC_LCTL, MT_LGJE, KC_SPC, MT_RAJK, KC_RCTL ), [1] = LAYOUT( @@ -30,9 +30,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [2] = LAYOUT( - _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, - KC_CAPS, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_DOWN, _______, - _______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX, KC_RSFT, + _______, KC_1, KC_2, KC_3, KC_4, KC_5, _______, _______, _______, _______, _______, _______, + KC_CAPS, KC_6, KC_7, KC_8, KC_9, KC_0, KC_UP, KC_DOWN, _______, _______, _______, + _______, _______, _______, _______, _______, _______, KC_LEFT, KC_RGHT, XXXXXXX, KC_RSFT, _______, _______, _______, _______, _______ ), @@ -42,4 +42,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24, KC_MUTE, KC_VOLM, KC_VOLP, XXXXXXX, _______, _______, _______, _______, _______ ) -}; +}; \ No newline at end of file From 47dc08baa4acad2526962db7eb26ad7c7cf75aa1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fernando=20Mu=C3=B1oz?= Date: Sun, 10 Mar 2024 20:30:58 -0500 Subject: [PATCH 7/8] Implement ISO, terminal extra key and SSK on modelh controller (#688) * Implement ISO and SSK This PR will implement ISO and TKL/SSK for the modelh controller * Allow extra key on numpad terminal --- keyboards/ibm/modelh/keymaps/vial/vial.json | 194 +++++++++++++++++--- 1 file changed, 164 insertions(+), 30 deletions(-) diff --git a/keyboards/ibm/modelh/keymaps/vial/vial.json b/keyboards/ibm/modelh/keymaps/vial/vial.json index 5f744bd59c7..ebdb6cd9b18 100644 --- a/keyboards/ibm/modelh/keymaps/vial/vial.json +++ b/keyboards/ibm/modelh/keymaps/vial/vial.json @@ -5,33 +5,45 @@ "cols": 16 }, "layouts": { - "labels": "iso", + "labels": [ + "Split LShift", + "ISO Enter", + ["Numpad", "Standard", "Terminal", "SSK"] + ], "keymap": [ [ + { + "x": 5, + "c": "#99948C" + }, "0,2", { - "x": 1 + "x": 1, + "c": "#cccccc" }, "2,3", "2,4", "1,4", "0,4", { - "x": 0.5 + "x": 0.5, + "c": "#99948C" }, "0,6", "0,8", "1,9", "2,9", { - "x": 0.5 + "x": 0.5, + "c": "#cccccc" }, "2,6", "3,6", "3,11", "3,12", { - "x": 0.25 + "x": 0.25, + "c": "#99948C" }, "3,15", "4,15", @@ -39,7 +51,9 @@ ], [ { - "y": 0.5 + "y": 0.5, + "x": 5, + "c": "#cccccc" }, "2,2", "3,2", @@ -55,6 +69,7 @@ "2,10", "2,8", { + "c": "#99948C", "w": 2 }, "1,6", @@ -67,16 +82,36 @@ { "x": 0.25 }, - "6,11", - "6,12", - "6,13", - "7,13" + "6,11\n\n\n2,0", + { + "x": -1 + }, + "6,11\n\n\n2,1", + "6,12\n\n\n2,0", + { + "x": -1 + }, + "6,12\n\n\n2,1", + "6,13\n\n\n2,0", + { + "x": -1 + }, + "6,13\n\n\n2,1", + "7,13\n\n\n2,0", + { + "x": -1 + }, + "7,13\n\n\n2,1" ], [ { + "x": 5, "w": 1.5 }, "1,2", + { + "c": "#cccccc" + }, "4,2", "4,3", "4,4", @@ -90,9 +125,19 @@ "1,10", "1,8", { + "c": "#99948C", "w": 1.5 }, - "5,6", + "5,6\n\n\n1,0", + { + "x": -1.25, + "w": 1.25, + "h": 2, + "w2": 1.5, + "h2": 1, + "x2": -0.25 + }, + "6,6\n\n\n1,1", { "x": 0.25 }, @@ -100,21 +145,43 @@ "3,14", "3,13", { - "x": 0.25 + "x": 0.25, + "c": "#cccccc" + }, + "4,11\n\n\n2,0", + { + "x": -1 + }, + "4,11\n\n\n2,1", + "4,12\n\n\n2,0", + { + "x": -1 + }, + "4,12\n\n\n2,1", + "4,13\n\n\n2,0", + { + "x": -1 }, - "4,11", - "4,12", - "4,13", + "4,13\n\n\n2,1", { + "c": "#99948C", "h": 2 }, - "4,14" + "4,14\n\n\n2,0", + { + "x": -1 + }, + "4,14\n\n\n2,1" ], [ { + "x": 5, "w": 1.75 }, "1,3", + { + "c": "#cccccc" + }, "5,2", "5,3", "5,4", @@ -127,21 +194,54 @@ "5,10", "0,10", { + "c": "#99948C", "w": 2.25 }, - "6,6", + "6,6\n\n\n1,0", { - "x": 3.5 + "x": -2.25, + "c": "#cccccc" }, - "1,11", - "1,12", - "1,13" + "6,10\n\n\n1,1", + { + "x": 4.75 + }, + "1,11\n\n\n2,0", + { + "x": -1 + }, + "1,11\n\n\n2,1", + "1,12\n\n\n2,0", + { + "x": -1 + }, + "1,12\n\n\n2,1", + "1,13\n\n\n2,0", + { + "x": -1 + }, + "1,13\n\n\n2,1", + { + "c": "#99948C" + }, + "1,14\n\n\n2,1" ], [ { + "x": 5, + "w": 1.25 + }, + "1,1\n\n\n0,1", + { + "x": -1.25, "w": 2.25 }, - "1,1", + "1,1\n\n\n0,0", + { + "x": -1, + "c": "#cccccc" + }, + "0,3\n\n\n0,1", "6,2", "6,3", "6,4", @@ -153,6 +253,7 @@ "6,9", "7,10", { + "c": "#99948C", "w": 2.75 }, "6,1", @@ -161,18 +262,38 @@ }, "0,14", { - "x": 1.25 + "x": 1.25, + "c": "#cccccc" }, - "5,11", - "5,12", - "5,13", + "5,11\n\n\n2,0", { + "x": -1 + }, + "5,11\n\n\n2,1", + "5,12\n\n\n2,0", + { + "x": -1 + }, + "5,12\n\n\n2,1", + "5,13\n\n\n2,0", + { + "x": -1 + }, + "5,13\n\n\n2,1", + { + "c": "#99948C", + "h": 2 + }, + "5,14\n\n\n2,0", + { + "x": -1, "h": 2 }, - "5,14" + "5,14\n\n\n2,1" ], [ { + "x": 5, "w": 1.5 }, "2,0", @@ -182,10 +303,12 @@ }, "0,15", { + "c": "#cccccc", "w": 7 }, "7,6", { + "c": "#99948C", "w": 1.5 }, "7,15", @@ -202,11 +325,22 @@ "7,12", { "x": 0.25, + "c": "#cccccc", "w": 2 }, - "0,12", - "0,13" + "0,12\n\n\n2,0", + { + "x": -2, + "w": 2 + }, + "0,12\n\n\n2,1", + "0,13\n\n\n2,0", + { + "x": -1 + }, + "0,13\n\n\n2,1" ] - ] + ] + } } From c487c8b1f0be9d4d92bb8ff83cf95655ef0f55b3 Mon Sep 17 00:00:00 2001 From: doublevoid Date: Sun, 10 Mar 2024 22:31:43 -0300 Subject: [PATCH 8/8] add 5075 vial support (#683) enable vialrgb proper esc + escape unlock vial proper keymaps proper keymap and inverted rotary encoder better layout --- keyboards/akko/5075/5075.c | 260 ++++++++++++++++++ keyboards/akko/5075/config.h | 48 ++++ keyboards/akko/5075/halconf.h | 23 ++ keyboards/akko/5075/info.json | 269 +++++++++++++++++++ keyboards/akko/5075/keymaps/default/keymap.c | 90 +++++++ keyboards/akko/5075/keymaps/default/rules.mk | 1 + keyboards/akko/5075/keymaps/via/keymap.c | 90 +++++++ keyboards/akko/5075/keymaps/via/rules.mk | 2 + keyboards/akko/5075/keymaps/vial/config.h | 7 + keyboards/akko/5075/keymaps/vial/keymap.c | 91 +++++++ keyboards/akko/5075/keymaps/vial/rules.mk | 4 + keyboards/akko/5075/keymaps/vial/vial.json | 211 +++++++++++++++ keyboards/akko/5075/mcuconf.h | 24 ++ keyboards/akko/5075/readme.md | 25 ++ keyboards/akko/5075/rules.mk | 1 + 15 files changed, 1146 insertions(+) create mode 100644 keyboards/akko/5075/5075.c create mode 100644 keyboards/akko/5075/config.h create mode 100644 keyboards/akko/5075/halconf.h create mode 100644 keyboards/akko/5075/info.json create mode 100644 keyboards/akko/5075/keymaps/default/keymap.c create mode 100644 keyboards/akko/5075/keymaps/default/rules.mk create mode 100644 keyboards/akko/5075/keymaps/via/keymap.c create mode 100644 keyboards/akko/5075/keymaps/via/rules.mk create mode 100644 keyboards/akko/5075/keymaps/vial/config.h create mode 100644 keyboards/akko/5075/keymaps/vial/keymap.c create mode 100644 keyboards/akko/5075/keymaps/vial/rules.mk create mode 100644 keyboards/akko/5075/keymaps/vial/vial.json create mode 100644 keyboards/akko/5075/mcuconf.h create mode 100644 keyboards/akko/5075/readme.md create mode 100644 keyboards/akko/5075/rules.mk diff --git a/keyboards/akko/5075/5075.c b/keyboards/akko/5075/5075.c new file mode 100644 index 00000000000..70e662cab72 --- /dev/null +++ b/keyboards/akko/5075/5075.c @@ -0,0 +1,260 @@ +/* Copyright (C) 2022 jonylee@hfd + * + * 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" +// clang-format off +#ifdef RGB_MATRIX_ENABLE + +const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { +/* Refer to IS31 manual for these locations + * driver + * | R location + * | | G location + * | | | B location + * | | | | */ + {1, A_1, B_1, C_1}, + {1, A_2, B_2, C_2}, + {1, A_3, B_3, C_3}, + {1, A_4, B_4, C_4}, + {1, A_5, B_5, C_5}, + {1, A_6, B_6, C_6}, + {1, A_7, B_7, C_7}, + {1, A_8, B_8, C_8}, + {1, A_9, B_9, C_9}, + {1, A_10, B_10, C_10}, + {1, A_11, B_11, C_11}, + {1, A_12, B_12, C_12}, + {1, A_13, B_13, C_13}, + {1, A_14, B_14, C_14}, + + {0, A_1, B_1, C_1}, + {0, A_2, B_2, C_2}, + {0, A_3, B_3, C_3}, + {0, A_4, B_4, C_4}, + {0, A_5, B_5, C_5}, + {0, A_6, B_6, C_6}, + {0, A_7, B_7, C_7}, + {0, A_8, B_8, C_8}, + {0, A_9, B_9, C_9}, + {0, A_10, B_10, C_10}, + {0, A_11, B_11, C_11}, + {0, A_12, B_12, C_12}, + {0, A_13, B_13, C_13}, + {0, A_14, B_14, C_14}, + {1, D_1, E_1, F_1}, + + {0, D_1, E_1, F_1}, + {0, D_2, E_2, F_2}, + {0, D_3, E_3, F_3}, + {0, D_4, E_4, F_4}, + {0, D_5, E_5, F_5}, + {0, D_6, E_6, F_6}, + {0, D_7, E_7, F_7}, + {0, D_8, E_8, F_8}, + {0, D_9, E_9, F_9}, + {0, D_10, E_10, F_10}, + {0, D_11, E_11, F_11}, + {0, D_12, E_12, F_12}, + {0, D_13, E_13, F_13}, + {0, D_14, E_14, F_14}, + {1, D_2, E_2, F_2}, + + {0, G_1, H_1, I_1}, + {0, G_2, H_2, I_2}, + {0, G_3, H_3, I_3}, + {0, G_4, H_4, I_4}, + {0, G_5, H_5, I_5}, + {0, G_6, H_6, I_6}, + {0, G_7, H_7, I_7}, + {0, G_8, H_8, I_8}, + {0, G_9, H_9, I_9}, + {0, G_10, H_10, I_10}, + {0, G_11, H_11, I_11}, + {0, G_12, H_12, I_12}, + {0, A_15, B_15, C_15}, + {0, G_13, H_13, I_13}, + {1, D_3, E_3, F_3}, + + {0, J_1, K_1, L_1}, + {0, A_16, B_16, C_16}, + {0, J_2, K_2, L_2}, + {0, J_3, K_3, L_3}, + {0, J_4, K_4, L_4}, + {0, J_5, K_5, L_5}, + {0, J_6, K_6, L_6}, + {0, J_7, K_7, L_7}, + {0, J_8, K_8, L_8}, + {0, J_9, K_9, L_9}, + {0, J_10, K_10, L_10}, + {0, J_11, K_11, L_11}, + {0, J_12, K_12, L_12}, + {1, D_7, E_7, F_7}, + {1, D_4, E_4, F_4}, + + {0, J_13, K_13, L_13}, + {0, J_14, K_14, L_14}, + {0, J_15, K_15, L_15}, + {0, J_16, K_16, L_16}, + + {0, G_14, H_14, I_14}, + {0, G_15, H_15, I_15}, + {0, G_16, H_16, I_16}, + + {0, D_15, E_15, F_15}, + {1, D_6, E_6, F_6}, + {1, D_5, E_5, F_5}, + + {1, G_1, H_1, I_1}, + {1, G_2, H_2, I_2}, + {1, G_3, H_3, I_3}, + {1, G_4, H_4, I_4}, + {1, G_5, H_5, I_5}, + {1, G_6, H_6, I_6}, + {1, G_7, H_7, I_7}, + {1, G_8, H_8, I_8}, + {1, G_9, H_9, I_9}, + {1, G_10, H_10, I_10}, + {1, G_11, H_11, I_11}, + + {1, J_1, K_1, L_1}, + {1, J_2, K_2, L_2}, + {1, J_3, K_3, L_3}, + {1, J_4, K_4, L_4}, + {1, J_5, K_5, L_5}, + {1, J_6, K_6, L_6}, + {1, J_7, K_7, L_7}, + {1, J_8, K_8, L_8}, + {1, J_9, K_9, L_9}, + {1, J_10, K_10, L_10}, + {1, J_11, K_11, L_11}, +}; + +#endif + +enum __layers { + WIN_B, + WIN_W, + WIN_FN, + MAC_B, + MAC_W, + MAC_FN +}; + +// clang-format on +void led_init_ports(void) { + // set our LED pings as output + setPinOutput(LED_CAPS_LOCK_PIN); // LED1 Num Lock + writePinLow(LED_CAPS_LOCK_PIN); + setPinOutput(LED_MAC_OS_PIN); // LDE2 MAC\WIN + writePinLow(LED_MAC_OS_PIN); + setPinOutput(LED_WIN_LOCK_PIN); // LED3 Win Lock + writePinLow(LED_WIN_LOCK_PIN); +} + +void housekeeping_task_kb(void) { + /* Execute every 1ms */ + static uint32_t last_time = 0; + if (timer_elapsed32(last_time) >= 1) { + last_time = timer_read32(); + writePin(LED_MAC_OS_PIN, default_layer_state & ((1<event.pressed) { + if (layer_state_cmp(default_layer_state, WIN_W)) { + set_single_persistent_default_layer(WIN_B); + layer_off(WIN_W); + } else { + set_single_persistent_default_layer(WIN_W); + layer_on(WIN_B); + } + } + return false; + case TG(MAC_W): + if (record->event.pressed) { + if (layer_state_cmp(default_layer_state, MAC_W)) { + set_single_persistent_default_layer(MAC_B); + layer_off(MAC_W); + } else { + set_single_persistent_default_layer(MAC_W); + layer_on(MAC_B); + } + } + return false; + case GU_TOGG: + if (record->event.pressed) { + writePin(LED_WIN_LOCK_PIN, !keymap_config.no_gui); + } + return true; + case RGB_TOG: + if (record->event.pressed) { + switch (rgb_matrix_get_flags()) { + case LED_FLAG_ALL: { + rgb_matrix_set_flags(LED_FLAG_NONE); + } break; + default: { + rgb_matrix_set_flags(LED_FLAG_ALL); + } break; + } + } + if (!rgb_matrix_is_enabled()) { + rgb_matrix_set_flags(LED_FLAG_ALL); + rgb_matrix_enable(); + } + return false; +#endif//DISABLE_5075_KEYCODES + default: + return true; + } +} diff --git a/keyboards/akko/5075/config.h b/keyboards/akko/5075/config.h new file mode 100644 index 00000000000..a153878018b --- /dev/null +++ b/keyboards/akko/5075/config.h @@ -0,0 +1,48 @@ +/* Copyright (C) 2023 jonylee@hfd + * + * 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 . + */ + +#pragma once + +/* Use 6 dynamic keymap layers */ +#define DYNAMIC_KEYMAP_LAYER_COUNT 6 + +/*encoder resolution */ +#define ENCODER_DEFAULT_POS 0x3 +/* LED Indicators */ +#define LED_MAC_OS_PIN C10 +#define LED_WIN_LOCK_PIN C11 + + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE + +/* SPI Config for spi flash*/ +#define SPI_DRIVER SPIDQ +#define SPI_SCK_PIN B3 +#define SPI_MOSI_PIN B5 +#define SPI_MISO_PIN B4 +#define SPI_MOSI_PAL_MODE 5 + +#define EXTERNAL_FLASH_SPI_SLAVE_SELECT_PIN C12 + +/* I2C Config for LED Driver */ +#define SNLED27351_I2C_ADDRESS_1 SNLED27351_I2C_ADDRESS_GND +#define SNLED27351_I2C_ADDRESS_2 SNLED27351_I2C_ADDRESS_VDDIO +#define I2C1_OPMODE OPMODE_I2C +#define I2C1_CLOCK_SPEED 400000 /* 400000 */ +// #define DISABLE_5075_KEYCODES /*If you need to change or restore the default QMK button function, please open it*/ diff --git a/keyboards/akko/5075/halconf.h b/keyboards/akko/5075/halconf.h new file mode 100644 index 00000000000..2f64e65393a --- /dev/null +++ b/keyboards/akko/5075/halconf.h @@ -0,0 +1,23 @@ +/* Copyright (C) 2022 jonylee@hfd + * + * 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 . + */ +#pragma once + +#define HAL_USE_I2C TRUE +#define HAL_USE_SPI TRUE +#define SPI_USE_WAIT TRUE +#define SPI_SELECT_MODE SPI_SELECT_MODE_PAD + +#include_next diff --git a/keyboards/akko/5075/info.json b/keyboards/akko/5075/info.json new file mode 100644 index 00000000000..9d88164d89b --- /dev/null +++ b/keyboards/akko/5075/info.json @@ -0,0 +1,269 @@ +{ + "manufacturer": "Akko", + "keyboard_name": "5075", + "maintainer": "jonylee@hfd", + "bootloader": "wb32-dfu", + "diode_direction": "ROW2COL", + "eeprom": { + "driver": "wear_leveling", + "wear_leveling": { + "driver": "spi_flash", + "backing_size": 8192 + } + }, + "dip_switch": { + "pins": ["A9"] + }, + "encoder": { + "rotary": [ + {"pin_a": "B13", "pin_b": "B14"} + ] + }, + "features": { + "bootmagic": true, + "command": false, + "console": false, + "dip_switch": true, + "encoder": true, + "extrakey": true, + "mousekey": false, + "nkro": true, + "rgb_matrix": true + }, + "indicators": { + "caps_lock": "A15" + }, + "matrix_pins": { + "cols": ["C1", "C2", "C3", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "C4", "C5", "B0", "B1", "B2"], + "rows": ["B15", "C6", "C7", "C8", "C9", "A8"] + }, + "processor": "WB32FQ95", + "rgb_matrix": { + "animations": { + "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, + "dual_beacon": true, + "multisplash": true, + "rainbow_beacon": true, + "rainbow_moving_chevron": true, + "raindrops": true, + "solid_reactive": true, + "solid_reactive_cross": true, + "solid_reactive_simple": true, + "typing_heatmap": true + }, + "driver": "snled27351", + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0, "flags": 4}, + {"matrix": [0, 1], "x": 14, "y": 0, "flags": 4}, + {"matrix": [0, 2], "x": 29, "y": 0, "flags": 4}, + {"matrix": [0, 3], "x": 44, "y": 0, "flags": 4}, + {"matrix": [0, 4], "x": 59, "y": 0, "flags": 4}, + {"matrix": [0, 5], "x": 74, "y": 0, "flags": 4}, + {"matrix": [0, 6], "x": 89, "y": 0, "flags": 4}, + {"matrix": [0, 7], "x": 104, "y": 0, "flags": 4}, + {"matrix": [0, 8], "x": 119, "y": 0, "flags": 4}, + {"matrix": [0, 9], "x": 134, "y": 0, "flags": 4}, + {"matrix": [0, 10], "x": 149, "y": 0, "flags": 4}, + {"matrix": [0, 11], "x": 164, "y": 0, "flags": 4}, + {"matrix": [0, 12], "x": 179, "y": 0, "flags": 4}, + {"matrix": [0, 13], "x": 196, "y": 0, "flags": 4}, + {"matrix": [1, 0], "x": 0, "y": 12, "flags": 4}, + {"matrix": [1, 1], "x": 14, "y": 12, "flags": 4}, + {"matrix": [1, 2], "x": 28, "y": 12, "flags": 4}, + {"matrix": [1, 3], "x": 42, "y": 12, "flags": 4}, + {"matrix": [1, 4], "x": 56, "y": 12, "flags": 4}, + {"matrix": [1, 5], "x": 70, "y": 12, "flags": 4}, + {"matrix": [1, 6], "x": 84, "y": 12, "flags": 4}, + {"matrix": [1, 7], "x": 98, "y": 12, "flags": 4}, + {"matrix": [1, 8], "x": 112, "y": 12, "flags": 4}, + {"matrix": [1, 9], "x": 126, "y": 12, "flags": 4}, + {"matrix": [1, 10], "x": 140, "y": 12, "flags": 4}, + {"matrix": [1, 11], "x": 154, "y": 12, "flags": 4}, + {"matrix": [1, 12], "x": 168, "y": 12, "flags": 4}, + {"matrix": [1, 13], "x": 182, "y": 12, "flags": 4}, + {"matrix": [1, 15], "x": 224, "y": 12, "flags": 4}, + {"matrix": [2, 0], "x": 0, "y": 25, "flags": 4}, + {"matrix": [2, 1], "x": 14, "y": 25, "flags": 4}, + {"matrix": [2, 2], "x": 28, "y": 25, "flags": 4}, + {"matrix": [2, 3], "x": 42, "y": 25, "flags": 4}, + {"matrix": [2, 4], "x": 56, "y": 25, "flags": 4}, + {"matrix": [2, 5], "x": 70, "y": 25, "flags": 4}, + {"matrix": [2, 6], "x": 84, "y": 25, "flags": 4}, + {"matrix": [2, 7], "x": 98, "y": 25, "flags": 4}, + {"matrix": [2, 8], "x": 112, "y": 25, "flags": 4}, + {"matrix": [2, 9], "x": 126, "y": 25, "flags": 4}, + {"matrix": [2, 10], "x": 140, "y": 25, "flags": 4}, + {"matrix": [2, 11], "x": 154, "y": 25, "flags": 4}, + {"matrix": [2, 12], "x": 168, "y": 25, "flags": 4}, + {"matrix": [2, 13], "x": 182, "y": 25, "flags": 4}, + {"matrix": [2, 15], "x": 224, "y": 25, "flags": 4}, + {"matrix": [3, 0], "x": 0, "y": 38, "flags": 4}, + {"matrix": [3, 1], "x": 28, "y": 38, "flags": 4}, + {"matrix": [3, 2], "x": 42, "y": 38, "flags": 4}, + {"matrix": [3, 3], "x": 56, "y": 38, "flags": 4}, + {"matrix": [3, 4], "x": 70, "y": 38, "flags": 4}, + {"matrix": [3, 5], "x": 84, "y": 38, "flags": 4}, + {"matrix": [3, 6], "x": 98, "y": 38, "flags": 4}, + {"matrix": [3, 7], "x": 112, "y": 38, "flags": 4}, + {"matrix": [3, 8], "x": 126, "y": 38, "flags": 4}, + {"matrix": [3, 9], "x": 140, "y": 38, "flags": 4}, + {"matrix": [3, 10], "x": 154, "y": 38, "flags": 4}, + {"matrix": [3, 11], "x": 168, "y": 38, "flags": 4}, + {"matrix": [3, 12], "x": 182, "y": 38, "flags": 4}, + {"matrix": [3, 13], "x": 196, "y": 38, "flags": 4}, + {"matrix": [3, 15], "x": 224, "y": 38, "flags": 4}, + {"matrix": [4, 0], "x": 0, "y": 51, "flags": 4}, + {"matrix": [4, 11], "x": 18, "y": 51, "flags": 4}, + {"matrix": [4, 1], "x": 32, "y": 51, "flags": 4}, + {"matrix": [4, 2], "x": 46, "y": 51, "flags": 4}, + {"matrix": [4, 3], "x": 61, "y": 51, "flags": 4}, + {"matrix": [4, 4], "x": 75, "y": 51, "flags": 4}, + {"matrix": [4, 5], "x": 90, "y": 51, "flags": 4}, + {"matrix": [4, 6], "x": 104, "y": 51, "flags": 4}, + {"matrix": [4, 7], "x": 129, "y": 51, "flags": 4}, + {"matrix": [4, 8], "x": 143, "y": 51, "flags": 4}, + {"matrix": [4, 9], "x": 157, "y": 51, "flags": 4}, + {"matrix": [4, 10], "x": 172, "y": 51, "flags": 4}, + {"matrix": [4, 13], "x": 186, "y": 51, "flags": 4}, + {"matrix": [4, 14], "x": 205, "y": 51, "flags": 4}, + {"matrix": [4, 15], "x": 224, "y": 51, "flags": 4}, + {"matrix": [5, 0], "x": 0, "y": 64, "flags": 4}, + {"matrix": [5, 1], "x": 18, "y": 64, "flags": 4}, + {"matrix": [5, 2], "x": 37, "y": 64, "flags": 4}, + {"matrix": [5, 5], "x": 90, "y": 64, "flags": 4}, + {"matrix": [5, 9], "x": 144, "y": 64, "flags": 4}, + {"matrix": [5, 10], "x": 158, "y": 64, "flags": 4}, + {"matrix": [5, 11], "x": 173, "y": 64, "flags": 4}, + {"matrix": [5, 13], "x": 191, "y": 64, "flags": 4}, + {"matrix": [5, 14], "x": 205, "y": 64, "flags": 4}, + {"matrix": [5, 15], "x": 220, "y": 64, "flags": 4}, + {"x": 0, "y": 0, "flags": 2}, + {"x": 0, "y": 6, "flags": 2}, + {"x": 0, "y": 13, "flags": 2}, + {"x": 0, "y": 19, "flags": 2}, + {"x": 0, "y": 25, "flags": 2}, + {"x": 0, "y": 32, "flags": 2}, + {"x": 0, "y": 38, "flags": 2}, + {"x": 0, "y": 45, "flags": 2}, + {"x": 0, "y": 51, "flags": 2}, + {"x": 0, "y": 57, "flags": 2}, + {"x": 0, "y": 64, "flags": 2}, + {"x": 224, "y": 0, "flags": 2}, + {"x": 224, "y": 6, "flags": 2}, + {"x": 224, "y": 13, "flags": 2}, + {"x": 224, "y": 19, "flags": 2}, + {"x": 224, "y": 25, "flags": 2}, + {"x": 224, "y": 32, "flags": 2}, + {"x": 224, "y": 38, "flags": 2}, + {"x": 224, "y": 45, "flags": 2}, + {"x": 224, "y": 51, "flags": 2}, + {"x": 224, "y": 57, "flags": 2}, + {"x": 224, "y": 64, "flags": 2} + ], + "max_brightness": 180 + }, + "url": "https://www.akkogear.com", + "usb": { + "device_version": "1.0.3", + "force_nkro": true, + "pid": "0x000B", + "suspend_wakeup_delay": 1000, + "vid": "0xFFFE" + }, + "layouts": { + "LAYOUT": { + "layout": [ + {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "F1", "matrix": [0, 1], "x": 1.25, "y": 0}, + {"label": "F2", "matrix": [0, 2], "x": 2.25, "y": 0}, + {"label": "F3", "matrix": [0, 3], "x": 3.25, "y": 0}, + {"label": "F4", "matrix": [0, 4], "x": 4.25, "y": 0}, + {"label": "F5", "matrix": [0, 5], "x": 5.5, "y": 0}, + {"label": "F6", "matrix": [0, 6], "x": 6.5, "y": 0}, + {"label": "F7", "matrix": [0, 7], "x": 7.5, "y": 0}, + {"label": "F8", "matrix": [0, 8], "x": 8.5, "y": 0}, + {"label": "F9", "matrix": [0, 9], "x": 9.75, "y": 0}, + {"label": "F10", "matrix": [0, 10], "x": 10.75, "y": 0}, + {"label": "F11", "matrix": [0, 11], "x": 11.75, "y": 0}, + {"label": "F12", "matrix": [0, 12], "x": 12.75, "y": 0}, + {"label": "Del", "matrix": [0, 13], "x": 14, "y": 0}, + {"label": "Mute", "matrix": [0, 15], "x": 15.5, "y": 0}, + {"label": "~", "matrix": [1, 0], "x": 0, "y": 1.25}, + {"label": "!", "matrix": [1, 1], "x": 1, "y": 1.25}, + {"label": "@", "matrix": [1, 2], "x": 2, "y": 1.25}, + {"label": "#", "matrix": [1, 3], "x": 3, "y": 1.25}, + {"label": "$", "matrix": [1, 4], "x": 4, "y": 1.25}, + {"label": "%", "matrix": [1, 5], "x": 5, "y": 1.25}, + {"label": "^", "matrix": [1, 6], "x": 6, "y": 1.25}, + {"label": "&", "matrix": [1, 7], "x": 7, "y": 1.25}, + {"label": "*", "matrix": [1, 8], "x": 8, "y": 1.25}, + {"label": "(", "matrix": [1, 9], "x": 9, "y": 1.25}, + {"label": ")", "matrix": [1, 10], "x": 10, "y": 1.25}, + {"label": "_", "matrix": [1, 11], "x": 11, "y": 1.25}, + {"label": "+", "matrix": [1, 12], "x": 12, "y": 1.25}, + {"label": "Bksp", "matrix": [1, 13], "x": 13, "y": 1.25, "w": 2}, + {"label": "Home", "matrix": [1, 15], "x": 15.5, "y": 1.25}, + {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5}, + {"label": "Q", "matrix": [2, 1], "x": 1.5, "y": 2.25}, + {"label": "W", "matrix": [2, 2], "x": 2.5, "y": 2.25}, + {"label": "E", "matrix": [2, 3], "x": 3.5, "y": 2.25}, + {"label": "R", "matrix": [2, 4], "x": 4.5, "y": 2.25}, + {"label": "T", "matrix": [2, 5], "x": 5.5, "y": 2.25}, + {"label": "Y", "matrix": [2, 6], "x": 6.5, "y": 2.25}, + {"label": "U", "matrix": [2, 7], "x": 7.5, "y": 2.25}, + {"label": "I", "matrix": [2, 8], "x": 8.5, "y": 2.25}, + {"label": "O", "matrix": [2, 9], "x": 9.5, "y": 2.25}, + {"label": "P", "matrix": [2, 10], "x": 10.5, "y": 2.25}, + {"label": "{", "matrix": [2, 11], "x": 11.5, "y": 2.25}, + {"label": "}", "matrix": [2, 12], "x": 12.5, "y": 2.25}, + {"label": "|", "matrix": [2, 13], "x": 13.5, "y": 2.25, "w": 1.5}, + {"label": "PageUp", "matrix": [2, 15], "x": 15.5, "y": 2.25}, + {"label": "Caps Lock", "matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75}, + {"label": "A", "matrix": [3, 1], "x": 1.75, "y": 3.25}, + {"label": "S", "matrix": [3, 2], "x": 2.75, "y": 3.25}, + {"label": "D", "matrix": [3, 3], "x": 3.75, "y": 3.25}, + {"label": "F", "matrix": [3, 4], "x": 4.75, "y": 3.25}, + {"label": "G", "matrix": [3, 5], "x": 5.75, "y": 3.25}, + {"label": "H", "matrix": [3, 6], "x": 6.75, "y": 3.25}, + {"label": "J", "matrix": [3, 7], "x": 7.75, "y": 3.25}, + {"label": "K", "matrix": [3, 8], "x": 8.75, "y": 3.25}, + {"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.25}, + {"label": ":", "matrix": [3, 10], "x": 10.75, "y": 3.25}, + {"label": "\"", "matrix": [3, 11], "x": 11.75, "y": 3.25}, + {"label": "Enter", "matrix": [3, 13], "x": 13.75, "y": 3.25, "w": 2.25}, + {"label": "PageDn", "matrix": [3, 15], "x": 15.5, "y": 3.25}, + {"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 1.25}, + {"label": "Z", "matrix": [4, 1], "x": 2.25, "y": 4.25}, + {"label": "X", "matrix": [4, 2], "x": 3.25, "y": 4.25}, + {"label": "C", "matrix": [4, 3], "x": 4.25, "y": 4.25}, + {"label": "V", "matrix": [4, 4], "x": 5.25, "y": 4.25}, + {"label": "B", "matrix": [4, 5], "x": 6.25, "y": 4.25}, + {"label": "N", "matrix": [4, 6], "x": 7.25, "y": 4.25}, + {"label": "M", "matrix": [4, 7], "x": 8.25, "y": 4.25}, + {"label": "<", "matrix": [4, 8], "x": 9.25, "y": 4.25}, + {"label": ">", "matrix": [4, 9], "x": 10.25, "y": 4.25}, + {"label": "?", "matrix": [4, 10], "x": 11.25, "y": 4.25}, + {"label": "Shift", "matrix": [4, 13], "x": 12.25, "y": 4.25, "w": 1.75}, + {"label": "Up", "matrix": [4, 14], "x": 14.25, "y": 4.5}, + {"label": "End", "matrix": [4, 15], "x": 15.5, "y": 4.25}, + {"label": "Ctrl", "matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.25}, + {"label": "Win", "matrix": [5, 1], "x": 1.25, "y": 5.25, "w": 1.25}, + {"label": "Alt", "matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.25}, + {"label": "Space", "matrix": [5, 5], "x": 3.75, "y": 5.25, "w": 6.25}, + {"label": "Alt", "matrix": [5, 9], "x": 10, "y": 5.25}, + {"label": "Fn", "matrix": [5, 10], "x": 11, "y": 5.25}, + {"label": "Ctrl", "matrix": [5, 11], "x": 12, "y": 5.25}, + {"label": "Left", "matrix": [5, 13], "x": 13.25, "y": 5.5}, + {"label": "Down", "matrix": [5, 14], "x": 14.25, "y": 5.5}, + {"label": "Right", "matrix": [5, 15], "x": 15.25, "y": 5.5} + ] + } + } +} diff --git a/keyboards/akko/5075/keymaps/default/keymap.c b/keyboards/akko/5075/keymaps/default/keymap.c new file mode 100644 index 00000000000..65b0a68bdee --- /dev/null +++ b/keyboards/akko/5075/keymaps/default/keymap.c @@ -0,0 +1,90 @@ +/* Copyright (C) 2023 jonylee@hfd + * + * 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 +enum __layers { + WIN_B, + WIN_W, + WIN_FN, + MAC_B, + MAC_W, + MAC_FN +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [WIN_B] = LAYOUT( /* Base */ + KC_ESC, 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_MUTE, + KC_GRV, 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_HOME, + 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_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_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_END, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(WIN_FN),KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), + + [WIN_W] = LAYOUT( /* Base */ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_W, _______, + _______, _______, _______, _______, _______, MO(WIN_FN), _______, KC_A, KC_S, KC_D), + + + + [WIN_FN] = LAYOUT( /* FN */ + _______, KC_MYCM, KC_MAIL, KC_WSCH, KC_WHOM, KC_MSEL, KC_MPLY, KC_MPRV, KC_MNXT, _______, _______, _______, _______, _______, RGB_MOD, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SPD, RGB_SPI, _______, _______, + _______, _______,TG(WIN_W),_______, _______, _______, _______, _______, KC_INS, _______, KC_PSCR,_______, _______, RGB_MOD, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, _______, RGB_MOD, RGB_HUI, _______, + _______, _______, _______, KC_CALC, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, RGB_VAI, _______, + _______, GU_TOGG, _______, _______, _______, _______, _______, RGB_SAD, RGB_VAD, RGB_SAI), + + [MAC_B] = LAYOUT( /* Base */ + KC_ESC, KC_BRID, KC_BRIU, KC_MCTL, KC_LPAD, KC_F5, KC_F6, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD,KC_VOLU, KC_DEL, KC_MUTE, + KC_GRV, 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_HOME, + 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_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_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_END, + KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, MO(MAC_FN),KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), + + [MAC_W] = LAYOUT( /* Base */ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_W, _______, + _______, _______, _______, _______, _______, MO(MAC_FN), _______, KC_A, KC_S, KC_D), + + [MAC_FN] = LAYOUT( /* FN */ + _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, RGB_MOD, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SPD, RGB_SPI, _______, _______, + _______, _______,TG(MAC_W),_______, _______, _______, _______, _______, KC_INS, _______, KC_PSCR,_______, _______,RGB_MOD, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, _______, RGB_MOD, RGB_HUI, _______, + _______, _______, _______, KC_CALC, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, RGB_VAI, _______, + _______, _______, _______, _______, _______, _______, _______, RGB_SAD, RGB_VAD, RGB_SAI), +}; +#if defined(ENCODER_MAP_ENABLE) +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [WIN_B] = { ENCODER_CCW_CW(KC_VOLU, KC_VOLD) }, + [WIN_W] = { ENCODER_CCW_CW(KC_VOLU, KC_VOLD) }, + [WIN_FN] = { ENCODER_CCW_CW(RGB_VAI, RGB_VAD) }, + [MAC_B] = { ENCODER_CCW_CW(KC_VOLU, KC_VOLD) }, + [MAC_W] = { ENCODER_CCW_CW(KC_VOLU, KC_VOLD) }, + [MAC_FN] = { ENCODER_CCW_CW(RGB_VAI, RGB_VAD) } +}; +#endif + diff --git a/keyboards/akko/5075/keymaps/default/rules.mk b/keyboards/akko/5075/keymaps/default/rules.mk new file mode 100644 index 00000000000..ee325681483 --- /dev/null +++ b/keyboards/akko/5075/keymaps/default/rules.mk @@ -0,0 +1 @@ +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/akko/5075/keymaps/via/keymap.c b/keyboards/akko/5075/keymaps/via/keymap.c new file mode 100644 index 00000000000..65b0a68bdee --- /dev/null +++ b/keyboards/akko/5075/keymaps/via/keymap.c @@ -0,0 +1,90 @@ +/* Copyright (C) 2023 jonylee@hfd + * + * 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 +enum __layers { + WIN_B, + WIN_W, + WIN_FN, + MAC_B, + MAC_W, + MAC_FN +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [WIN_B] = LAYOUT( /* Base */ + KC_ESC, 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_MUTE, + KC_GRV, 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_HOME, + 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_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_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_END, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(WIN_FN),KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), + + [WIN_W] = LAYOUT( /* Base */ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_W, _______, + _______, _______, _______, _______, _______, MO(WIN_FN), _______, KC_A, KC_S, KC_D), + + + + [WIN_FN] = LAYOUT( /* FN */ + _______, KC_MYCM, KC_MAIL, KC_WSCH, KC_WHOM, KC_MSEL, KC_MPLY, KC_MPRV, KC_MNXT, _______, _______, _______, _______, _______, RGB_MOD, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SPD, RGB_SPI, _______, _______, + _______, _______,TG(WIN_W),_______, _______, _______, _______, _______, KC_INS, _______, KC_PSCR,_______, _______, RGB_MOD, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, _______, RGB_MOD, RGB_HUI, _______, + _______, _______, _______, KC_CALC, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, RGB_VAI, _______, + _______, GU_TOGG, _______, _______, _______, _______, _______, RGB_SAD, RGB_VAD, RGB_SAI), + + [MAC_B] = LAYOUT( /* Base */ + KC_ESC, KC_BRID, KC_BRIU, KC_MCTL, KC_LPAD, KC_F5, KC_F6, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD,KC_VOLU, KC_DEL, KC_MUTE, + KC_GRV, 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_HOME, + 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_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_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_END, + KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, MO(MAC_FN),KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), + + [MAC_W] = LAYOUT( /* Base */ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_W, _______, + _______, _______, _______, _______, _______, MO(MAC_FN), _______, KC_A, KC_S, KC_D), + + [MAC_FN] = LAYOUT( /* FN */ + _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, RGB_MOD, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SPD, RGB_SPI, _______, _______, + _______, _______,TG(MAC_W),_______, _______, _______, _______, _______, KC_INS, _______, KC_PSCR,_______, _______,RGB_MOD, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, _______, RGB_MOD, RGB_HUI, _______, + _______, _______, _______, KC_CALC, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, RGB_VAI, _______, + _______, _______, _______, _______, _______, _______, _______, RGB_SAD, RGB_VAD, RGB_SAI), +}; +#if defined(ENCODER_MAP_ENABLE) +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [WIN_B] = { ENCODER_CCW_CW(KC_VOLU, KC_VOLD) }, + [WIN_W] = { ENCODER_CCW_CW(KC_VOLU, KC_VOLD) }, + [WIN_FN] = { ENCODER_CCW_CW(RGB_VAI, RGB_VAD) }, + [MAC_B] = { ENCODER_CCW_CW(KC_VOLU, KC_VOLD) }, + [MAC_W] = { ENCODER_CCW_CW(KC_VOLU, KC_VOLD) }, + [MAC_FN] = { ENCODER_CCW_CW(RGB_VAI, RGB_VAD) } +}; +#endif + diff --git a/keyboards/akko/5075/keymaps/via/rules.mk b/keyboards/akko/5075/keymaps/via/rules.mk new file mode 100644 index 00000000000..f1adcab005e --- /dev/null +++ b/keyboards/akko/5075/keymaps/via/rules.mk @@ -0,0 +1,2 @@ +VIA_ENABLE = yes +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/akko/5075/keymaps/vial/config.h b/keyboards/akko/5075/keymaps/vial/config.h new file mode 100644 index 00000000000..ca4e0011d48 --- /dev/null +++ b/keyboards/akko/5075/keymaps/vial/config.h @@ -0,0 +1,7 @@ +/* SPDX-License-Identifier: GPL-2.0-or-later */ + +#pragma once + +#define VIAL_KEYBOARD_UID {0x83, 0x85, 0x35, 0x7A, 0xB4, 0xD8, 0x47, 0x4E} +#define VIAL_UNLOCK_COMBO_ROWS { 0, 3 } +#define VIAL_UNLOCK_COMBO_COLS { 0, 13 } diff --git a/keyboards/akko/5075/keymaps/vial/keymap.c b/keyboards/akko/5075/keymaps/vial/keymap.c new file mode 100644 index 00000000000..c50f035e504 --- /dev/null +++ b/keyboards/akko/5075/keymaps/vial/keymap.c @@ -0,0 +1,91 @@ +/* Copyright (C) 2023 jonylee@hfd + * + * 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 +enum __layers { + WIN_B, + WIN_W, + WIN_FN, + MAC_B, + MAC_W, + MAC_FN +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [WIN_B] = LAYOUT( /* Base */ + KC_ESC, 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_MUTE, + KC_GRV, 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_HOME, + 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_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_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_END, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(WIN_FN),KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), + + [WIN_W] = LAYOUT( /* Base */ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_W, _______, + _______, _______, _______, _______, _______, MO(WIN_FN), _______, KC_A, KC_S, KC_D), + + + + [WIN_FN] = LAYOUT( /* FN */ + _______, KC_MYCM, KC_MAIL, KC_WSCH, KC_WHOM, KC_MSEL, KC_MPLY, KC_MPRV, KC_MNXT, _______, _______, _______, _______, _______, RGB_MOD, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SPD, RGB_SPI, _______, _______, + _______, _______,TG(WIN_W),_______, _______, _______, _______, _______, KC_INS, _______, KC_PSCR,_______, _______, RGB_MOD, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, _______, RGB_MOD, RGB_HUI, _______, + _______, _______, _______, KC_CALC, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, RGB_VAI, _______, + _______, GU_TOGG, _______, _______, _______, _______, _______, RGB_SAD, RGB_VAD, RGB_SAI), + + [MAC_B] = LAYOUT( /* Base */ + KC_ESC, KC_BRID, KC_BRIU, KC_MCTL, KC_LPAD, KC_F5, KC_F6, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD,KC_VOLU, KC_DEL, KC_MUTE, + KC_GRV, 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_HOME, + 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_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_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_END, + KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, MO(MAC_FN),KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), + + [MAC_W] = LAYOUT( /* Base */ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_W, _______, + _______, _______, _______, _______, _______, MO(MAC_FN), _______, KC_A, KC_S, KC_D), + + [MAC_FN] = LAYOUT( /* FN */ + _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, RGB_MOD, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SPD, RGB_SPI, _______, _______, + _______, _______,TG(MAC_W),_______, _______, _______, _______, _______, KC_INS, _______, KC_PSCR,_______, _______,RGB_MOD, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, _______, RGB_MOD, RGB_HUI, _______, + _______, _______, _______, KC_CALC, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, RGB_VAI, _______, + _______, _______, _______, _______, _______, _______, _______, RGB_SAD, RGB_VAD, RGB_SAI), +}; + +#if defined(ENCODER_MAP_ENABLE) +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = { + [WIN_B] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [WIN_W] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [WIN_FN] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI) }, + [MAC_B] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [MAC_W] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [MAC_FN] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI) } +}; +#endif + diff --git a/keyboards/akko/5075/keymaps/vial/rules.mk b/keyboards/akko/5075/keymaps/vial/rules.mk new file mode 100644 index 00000000000..85c9156ff03 --- /dev/null +++ b/keyboards/akko/5075/keymaps/vial/rules.mk @@ -0,0 +1,4 @@ +ENCODER_MAP_ENABLE = yes +VIA_ENABLE = yes +VIAL_ENABLE = yes +VIALRGB_ENABLE = yes \ No newline at end of file diff --git a/keyboards/akko/5075/keymaps/vial/vial.json b/keyboards/akko/5075/keymaps/vial/vial.json new file mode 100644 index 00000000000..770d2ed3d51 --- /dev/null +++ b/keyboards/akko/5075/keymaps/vial/vial.json @@ -0,0 +1,211 @@ +{ + "matrix": { "rows": 6, "cols": 16 }, + "lighting": "vialrgb", + "customKeycodes":[ + {"name":"RESET","title":"RESET EEPROM","shortName":"RESET"} + ], + "layouts": { + "keymap":[ + [ + { + "c": "#777777" + }, + "0,0", + { + "x": 0.25, + "c": "#AAAAAA" + }, + "0,1", + "0,2", + "0,3", + "0,4", + { + "x": 0.25 + }, + "0,5", + "0,6", + "0,7", + "0,8", + { + "x": 0.25 + }, + "0,9", + "0,10", + "0,11", + "0,12", + { + "x": 0.25 + }, + "0,13", + { + "x": 0.5 + }, + "0,15", + { + "x": 0.25 + }, + "0,0\n\n\n\n\n\n\n\n\ne", + "0,1\n\n\n\n\n\n\n\n\ne" + ], + [ + { + "y": 0.25 + }, + "1,0\n`", + { + "c": "#cccccc" + }, + "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": "#AAAAAA", + "w": 2 + }, + "1,13", + { + "x": 0.5 + }, + "1,15" + ], + [ + { + "w": 1.5 + }, + "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", + "2,12", + { + "c": "#AAAAAA", + "w": 1.5 + }, + "2,13", + { + "x": 0.5 + }, + "2,15" + ], + [ + { + "w": 1.75 + }, + "3,0", + { + "c": "#cccccc" + }, + "3,1", + "3,2", + "3,3", + "3,4", + "3,5", + "3,6", + "3,7", + "3,8", + "3,9", + "3,10", + "3,11", + { + "c": "#777777", + "w": 2.25 + }, + "3,13", + { + "x": 0.5, + "c": "#AAAAAA" + }, + "3,15" + ], + [ + { + "w": 2.25 + }, + "4,0", + { + "c": "#cccccc" + }, + "4,1", + "4,2", + "4,3", + "4,4", + "4,5", + "4,6", + "4,7", + "4,8", + "4,9", + "4,10", + { + "c": "#AAAAAA", + "w": 1.75 + }, + "4,13", + { + "x": 1.5 + }, + "4,15" + ], + [ + { + "y": -0.75, + "x": 14.25, + "c": "#777777" + }, + "4,14" + ], + [ + { + "y": -0.25, + "c": "#AAAAAA", + "w": 1.25 + }, + "5,0", + { + "w": 1.25 + }, + "5,1", + { + "w": 1.25 + }, + "5,2", + { + "w": 6.25 + }, + "5,5", + "5,9", + "5,10", + "5,11" + ], + [ + { + "y": -0.75, + "x": 13.25, + "c": "#777777" + }, + "5,13", + "5,14", + "5,15" + ] + ] + } + } diff --git a/keyboards/akko/5075/mcuconf.h b/keyboards/akko/5075/mcuconf.h new file mode 100644 index 00000000000..0d16f4f04e4 --- /dev/null +++ b/keyboards/akko/5075/mcuconf.h @@ -0,0 +1,24 @@ +/* Copyright (C) 2022 jonylee@hfd + * + * 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 . + */ +#pragma once + +#include_next + +#undef WB32_SPI_USE_QSPI +#define WB32_SPI_USE_QSPI TRUE + +#undef WB32_I2C_USE_I2C1 +#define WB32_I2C_USE_I2C1 TRUE diff --git a/keyboards/akko/5075/readme.md b/keyboards/akko/5075/readme.md new file mode 100644 index 00000000000..337ae881b20 --- /dev/null +++ b/keyboards/akko/5075/readme.md @@ -0,0 +1,25 @@ +# 5075 +![5075](https://github.com/jonylee1986/qmk_firmware_master/assets/108282809/e2b46a2b-4ab5-48bd-90d2-7e8a7a841d7e) + +A customizable 75% encoder keyboard. + +* Keyboard Maintainer: [jonylee@hfd](https://github.com/jonylee1986) +* Hardware Supported: Akko 5075 +* Hardware Availability: [akko](https://www.akkogear.com/) + +Make example for this keyboard (after setting up your build environment): + + make akko/5075:default + +Flashing example for this keyboard: + + make akko/5075: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 2 ways: + +* **Bootmagic reset**: Hold down the Hold down the top left key (commonly programmed as *Esc*) and plug in the keyboard +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/akko/5075/rules.mk b/keyboards/akko/5075/rules.mk new file mode 100644 index 00000000000..6e7633bfe01 --- /dev/null +++ b/keyboards/akko/5075/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank