From d311d996dbeb17066beea7831830b7e294791c6f Mon Sep 17 00:00:00 2001
From: stanrc85 <47038504+stanrc85@users.noreply.github.com>
Date: Tue, 14 Mar 2023 03:05:51 -0400
Subject: [PATCH 01/69] Port Adelais Rev4 (#408)
---
.../mechlovin/adelais/keymaps/vial/config.h | 7 +
.../mechlovin/adelais/keymaps/vial/keymap.c | 126 +++++++
.../mechlovin/adelais/keymaps/vial/rules.mk | 2 +
.../mechlovin/adelais/keymaps/vial/vial.json | 327 ++++++++++++++++++
4 files changed, 462 insertions(+)
create mode 100644 keyboards/mechlovin/adelais/keymaps/vial/config.h
create mode 100644 keyboards/mechlovin/adelais/keymaps/vial/keymap.c
create mode 100644 keyboards/mechlovin/adelais/keymaps/vial/rules.mk
create mode 100644 keyboards/mechlovin/adelais/keymaps/vial/vial.json
diff --git a/keyboards/mechlovin/adelais/keymaps/vial/config.h b/keyboards/mechlovin/adelais/keymaps/vial/config.h
new file mode 100644
index 0000000000..fc7d8b8d43
--- /dev/null
+++ b/keyboards/mechlovin/adelais/keymaps/vial/config.h
@@ -0,0 +1,7 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+
+#pragma once
+
+#define VIAL_KEYBOARD_UID {0x68, 0x75, 0xF6, 0x35, 0xEF, 0xAB, 0xEF, 0xEA}
+#define VIAL_UNLOCK_COMBO_ROWS { 0, 2 }
+#define VIAL_UNLOCK_COMBO_COLS { 0, 13 }
diff --git a/keyboards/mechlovin/adelais/keymaps/vial/keymap.c b/keyboards/mechlovin/adelais/keymaps/vial/keymap.c
new file mode 100644
index 0000000000..c83d398f64
--- /dev/null
+++ b/keyboards/mechlovin/adelais/keymaps/vial/keymap.c
@@ -0,0 +1,126 @@
+/* Copyright 2020 Team Mechlovin
+ *
+ * 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
+
+enum my_keycodes {
+ BL_TOG = USER00,
+ BL_EFFECT = USER01,
+ BL_ISPD = USER02,
+ BL_DSPD = USER03,
+ BL_IHUE = USER04,
+ BL_DHUE = USER05,
+ BL_ISAT = USER06,
+ BL_DSAT = USER07,
+ BL_IVAL = USER08,
+ BL_DVAL = USER09
+};
+
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [0] = LAYOUT_all(
+ KC_SPC, KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL,
+ KC_SPC, 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_SLSH,
+ KC_SPC, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_BSLS, MO(1), KC_RSFT, KC_UP,
+ KC_LCTL, KC_LALT, KC_SPC, MO(2), KC_SPC, KC_RALT, KC_RCTL ),
+ [1] = LAYOUT_all(
+ 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, 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 ),
+ [2] = LAYOUT_all(
+ QK_BOOT, KC_TRNS, BL_TOG, BL_EFFECT, BL_ISPD, BL_DSPD, BL_IHUE, BL_DHUE, BL_ISAT, BL_DSAT, BL_IVAL, BL_DVAL, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_P7, KC_P8, KC_P9, KC_PSLS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_P4, KC_P5, KC_P6, KC_PAST, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_P1, KC_P2, KC_P3, KC_PPLS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_P0, KC_PDOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ),
+ [3] = LAYOUT_all(
+ 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, 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 ),
+
+};
+
+#ifdef ENCODER_ENABLE
+bool encoder_update_user(uint8_t index, bool clockwise) {
+ if (index == 0) {
+ if (clockwise) {
+ tap_code(KC_VOLD);
+ } else {
+ tap_code(KC_VOLU);
+ }
+ } else if (index == 1) {
+ if (clockwise) {
+ tap_code(KC_LEFT);
+ } else {
+ tap_code(KC_RGHT);
+ }
+ } else if (index == 2) {
+ if (clockwise) {
+ tap_code(KC_UP);
+ } else {
+ tap_code(KC_DOWN);
+ }
+ }
+ return true;
+}
+
+#endif
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ if (record->event.pressed) {
+ switch (keycode) {
+#ifdef RGB_MATRIX_ENABLE
+ case BL_TOG: // toggle rgb matrix
+ rgb_matrix_toggle();
+ return false;
+ case BL_EFFECT:
+ rgb_matrix_step();
+ return false;
+ case BL_ISPD:
+ rgb_matrix_increase_speed();
+ return false;
+ case BL_DSPD:
+ rgb_matrix_decrease_speed();
+ return false;
+ case BL_IHUE:
+ rgb_matrix_increase_hue();
+ return false;
+ case BL_DHUE:
+ rgb_matrix_decrease_hue();
+ return false;
+ case BL_ISAT:
+ rgb_matrix_increase_sat();
+ return false;
+ case BL_DSAT:
+ rgb_matrix_decrease_sat();
+ return false;
+ case BL_IVAL:
+ rgb_matrix_increase_val();
+ return false;
+ case BL_DVAL:
+ rgb_matrix_decrease_val();
+ return false;
+#endif
+ default:
+ break;
+ }
+ }
+ return true;
+}
diff --git a/keyboards/mechlovin/adelais/keymaps/vial/rules.mk b/keyboards/mechlovin/adelais/keymaps/vial/rules.mk
new file mode 100644
index 0000000000..4f7618e9b2
--- /dev/null
+++ b/keyboards/mechlovin/adelais/keymaps/vial/rules.mk
@@ -0,0 +1,2 @@
+VIA_ENABLE = yes
+VIAL_ENABLE = yes
diff --git a/keyboards/mechlovin/adelais/keymaps/vial/vial.json b/keyboards/mechlovin/adelais/keymaps/vial/vial.json
new file mode 100644
index 0000000000..ea6c36558e
--- /dev/null
+++ b/keyboards/mechlovin/adelais/keymaps/vial/vial.json
@@ -0,0 +1,327 @@
+{
+ "name": "Adelais Rev. 4",
+ "vendorId": "0x4D4C",
+ "productId": "0xAD03",
+ "lighting": "qmk_rgblight",
+ "matrix": {"rows": 5, "cols": 15},
+ "layouts": {
+ "labels": [
+ "Split Back Space",
+ "Split Right Shift",
+ "2.25u Left Space"
+ ],
+ "keymap": [
+ [
+ {
+ "x": 15.2,
+ "c": "#aaaaaa",
+ "w": 2
+ },
+ "0,13\n\n\n0,1"
+ ],
+ [
+ {
+ "y": -0.10999999999999999,
+ "x": 0.5,
+ "c": "#777777"
+ },
+ "1,14",
+ {
+ "x": 2.25,
+ "c": "#cccccc"
+ },
+ "0,2"
+ ],
+ [
+ {
+ "y": -0.8900000000000001,
+ "x": 1.75
+ },
+ "0,0",
+ "0,1"
+ ],
+ [
+ {
+ "y": -0.8999999999999999,
+ "x": 13.2
+ },
+ "0,11"
+ ],
+ [
+ {
+ "y": -0.8500000000000001,
+ "x": 14.2
+ },
+ "0,12",
+ {
+ "c": "#aaaaaa"
+ },
+ "0,13\n\n\n0,0",
+ "0,14\n\n\n0,0"
+ ],
+ [
+ {
+ "y": -0.3600000000000001,
+ "x": 0.25
+ },
+ "2,14"
+ ],
+ [
+ {
+ "y": -0.8899999999999997,
+ "x": 1.5,
+ "w": 1.5
+ },
+ "1,0",
+ {
+ "c": "#cccccc"
+ },
+ "1,1"
+ ],
+ [
+ {
+ "y": -0.8999999999999999,
+ "x": 12.95
+ },
+ "1,10"
+ ],
+ [
+ {
+ "y": -0.8500000000000001,
+ "x": 13.95
+ },
+ "1,11",
+ "1,12",
+ {
+ "c": "#aaaaaa",
+ "w": 1.5
+ },
+ "1,13"
+ ],
+ [
+ {
+ "y": -0.3599999999999999
+ },
+ "3,14"
+ ],
+ [
+ {
+ "y": -0.8900000000000001,
+ "x": 1.25,
+ "w": 1.75
+ },
+ "2,0",
+ {
+ "c": "#cccccc"
+ },
+ "2,1"
+ ],
+ [
+ {
+ "y": -0.75,
+ "x": 13.4
+ },
+ "2,10",
+ "2,11",
+ {
+ "c": "#777777",
+ "w": 2.25
+ },
+ "2,13"
+ ],
+ [
+ {
+ "y": -0.25,
+ "x": 1,
+ "c": "#aaaaaa",
+ "w": 2.25
+ },
+ "3,0",
+ {
+ "c": "#cccccc"
+ },
+ "3,2"
+ ],
+ [
+ {
+ "y": -0.75,
+ "x": 13.25
+ },
+ "3,11",
+ "4,13",
+ {
+ "c": "#aaaaaa",
+ "w": 1.75
+ },
+ "3,12\n\n\n1,0"
+ ],
+ [
+ {
+ "y": -0.25,
+ "x": 1,
+ "w": 1.5
+ },
+ "4,0"
+ ],
+ [
+ {
+ "y": -0.75,
+ "x": 16,
+ "w": 1.5
+ },
+ "4,14"
+ ],
+ [
+ {
+ "rx": 0.75,
+ "y": 6.75,
+ "x": 14.5,
+ "w": 2.75
+ },
+ "3,12\n\n\n1,1"
+ ],
+ [
+ {
+ "rx": 2.25,
+ "ry": 0.75,
+ "y": 3.5,
+ "x": 14.75
+ },
+ "3,13\n\n\n1,0"
+ ],
+ [
+ {
+ "r": 12,
+ "rx": 0,
+ "ry": 0,
+ "x": 5.1,
+ "c": "#cccccc"
+ },
+ "0,3",
+ "0,4",
+ "0,5",
+ "0,6"
+ ],
+ [
+ {
+ "x": 4.55
+ },
+ "1,2",
+ "1,3",
+ "1,4",
+ "1,5"
+ ],
+ [
+ {
+ "x": 4.75
+ },
+ "2,2",
+ "2,3",
+ "2,4",
+ "2,5"
+ ],
+ [
+ {
+ "x": 5.22
+ },
+ "3,3",
+ "3,4",
+ "3,5",
+ {
+ "x": 1.7763568394002505e-15
+ },
+ "3,6"
+ ],
+ [
+ {
+ "x": 6.5,
+ "c": "#777777",
+ "w": 2
+ },
+ "4,4\n\n\n2,0",
+ {
+ "c": "#aaaaaa",
+ "w": 1.25
+ },
+ "4,6\n\n\n2,0"
+ ],
+ [
+ {
+ "y": -0.9000000000000004,
+ "x": 5,
+ "w": 1.5
+ },
+ "4,2"
+ ],
+ [
+ {
+ "y": 0.25,
+ "x": 6.5,
+ "c": "#777777",
+ "w": 2.25
+ },
+ "4,4\n\n\n2,1",
+ {
+ "c": "#aaaaaa"
+ },
+ "4,6\n\n\n2,1"
+ ],
+ [
+ {
+ "r": -12,
+ "y": -2.5999999999999996,
+ "x": 8.5,
+ "c": "#cccccc"
+ },
+ "0,7",
+ "0,8",
+ "0,9",
+ "0,10"
+ ],
+ [
+ {
+ "x": 8
+ },
+ "1,6",
+ "1,7",
+ "1,8",
+ "1,9"
+ ],
+ [
+ {
+ "x": 8.25
+ },
+ "2,6",
+ "2,7",
+ "2,8",
+ "2,9"
+ ],
+ [
+ {
+ "x": 7.75
+ },
+ "3,7",
+ "3,8",
+ "3,9",
+ "3,10"
+ ],
+ [
+ {
+ "x": 7.75,
+ "c": "#777777",
+ "w": 2.75
+ },
+ "4,8"
+ ],
+ [
+ {
+ "y": -0.8499999999999996,
+ "x": 10.5,
+ "c": "#aaaaaa",
+ "w": 1.5
+ },
+ "4,10"
+ ]
+ ]
+ }
+}
From 9309117e91dec74ce25bf9a65a82bf230e1d6a13 Mon Sep 17 00:00:00 2001
From: Cooper Pellaton
Date: Tue, 14 Mar 2023 09:19:32 -0700
Subject: [PATCH 02/69] Re-add the vial config. (#410)
Co-authored-by: Cooper Pellaton
---
.../boardsource/lulu/keymaps/vial/config.h | 7 +
.../boardsource/lulu/keymaps/vial/keymap.c | 104 +++++
.../boardsource/lulu/keymaps/vial/rules.mk | 10 +
.../boardsource/lulu/keymaps/vial/vial.json | 354 ++++++++++++++++++
4 files changed, 475 insertions(+)
create mode 100644 keyboards/boardsource/lulu/keymaps/vial/config.h
create mode 100644 keyboards/boardsource/lulu/keymaps/vial/keymap.c
create mode 100644 keyboards/boardsource/lulu/keymaps/vial/rules.mk
create mode 100644 keyboards/boardsource/lulu/keymaps/vial/vial.json
diff --git a/keyboards/boardsource/lulu/keymaps/vial/config.h b/keyboards/boardsource/lulu/keymaps/vial/config.h
new file mode 100644
index 0000000000..65a6bdb9c0
--- /dev/null
+++ b/keyboards/boardsource/lulu/keymaps/vial/config.h
@@ -0,0 +1,7 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+
+#pragma once
+
+#define VIAL_KEYBOARD_UID {0xAB, 0x22, 0x68, 0x8B, 0x59, 0xD0, 0x81, 0x11}
+#define VIAL_UNLOCK_COMBO_ROWS { 0, 0 }
+#define VIAL_UNLOCK_COMBO_COLS { 0, 1 }
diff --git a/keyboards/boardsource/lulu/keymaps/vial/keymap.c b/keyboards/boardsource/lulu/keymaps/vial/keymap.c
new file mode 100644
index 0000000000..3b07bf5564
--- /dev/null
+++ b/keyboards/boardsource/lulu/keymaps/vial/keymap.c
@@ -0,0 +1,104 @@
+// Copyright 2022 Cole Smith
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include QMK_KEYBOARD_H
+
+enum layers {
+ _QWERTY,
+ _RAISE,
+ _LOWER,
+ _ADJUST
+};
+
+#define RAISE MO(_RAISE)
+#define LOWER MO(_LOWER)
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+/* QWERTY
+ * ,-----------------------------------------. ,-----------------------------------------.
+ * | ESC | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | ` |
+ * |------+------+------+------+------+------| |------+------+------+------+------+------|
+ * | Tab | Q | W | E | R | T | | Y | U | I | O | P | - |
+ * |------+------+------+------+------+------| |------+------+------+------+------+------|
+ * |LCTRL | A | S | D | F | G |-------. ,-------| H | J | K | L | ; | ' |
+ * |------+------+------+------+------+------| [ | | ] |------+------+------+------+------+------|
+ * |LShift| Z | X | C | V | B |-------| |-------| N | M | , | . | / |RShift|
+ * `-----------------------------------------/ / \ \-----------------------------------------'
+ * | LAlt | LGUI |LOWER | /Space / \Enter \ |RAISE |BackSP| RGUI |
+ * | | | |/ / \ \ | | | |
+ * `----------------------------' '------''--------------------'
+ */
+
+ [_QWERTY] = LAYOUT(
+ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_GRV,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_MINS,
+ KC_LCTRL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
+ KC_LSFT, 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_RSFT,
+ KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_ENT, RAISE, KC_BSPC, KC_RGUI
+),
+/* LOWER
+ * ,-----------------------------------------. ,-----------------------------------------.
+ * | | | | | | | | | | | | | |
+ * |------+------+------+------+------+------| |------+------+------+------+------+------|
+ * | F1 | F2 | F3 | F4 | F5 | F6 | | F7 | F8 | F9 | F10 | F11 | F12 |
+ * |------+------+------+------+------+------| |------+------+------+------+------+------|
+ * | ` | ! | @ | # | $ | % |-------. ,-------| ^ | & | * | ( | ) | - |
+ * |------+------+------+------+------+------| [ | | ] |------+------+------+------+------+------|
+ * | | | | | | |-------| |-------| | _ | + | { | } | | |
+ * `-----------------------------------------/ / \ \-----------------------------------------'
+ * | LAlt | LGUI |LOWER | /Space / \Enter \ |RAISE |BackSP| RGUI |
+ * | | | |/ / \ \ | | | |
+ * `----------------------------' '------''--------------------'
+ */
+[_LOWER] = LAYOUT(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______,_______, _______, _______,
+ 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_GRV, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_TILD,
+ _______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE,
+ _______, _______, _______, _______, _______, _______, _______, _______
+),
+/* RAISE
+ * ,-----------------------------------------. ,-----------------------------------------.
+ * |MOD | MODR | S+ | S- | B+ | B- | | | | | | | |
+ * |------+------+------+------+------+------| |------+------+------+------+------+------|
+ * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | |
+ * |------+------+------+------+------+------| |------+------+------+------+------+------|
+ * | F1 | F2 | F3 | F4 | F5 | F6 |-------. ,-------| | Left | Down | Up |Right | |
+ * |------+------+------+------+------+------|RGB_TOG| | ] |------+------+------+------+------+------|
+ * | F7 | F8 | F9 | F10 | F11 | F12 |-------| |-------| + | - | = | [ | ] | \ |
+ * `-----------------------------------------/ / \ \-----------------------------------------'
+ * | LAlt | LGUI |LOWER | /Space / \Enter \ |RAISE |BackSP| RGUI |
+ * | | | |/ / \ \ | | | |
+ * `----------------------------' '------''--------------------'
+ */
+
+[_RAISE] = LAYOUT(
+ RGB_MOD, RGB_RMOD,RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______,
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______,
+ KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, XXXXXXX,
+ KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, RGB_TOG, _______, KC_PLUS, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
+ _______, _______, _______, _______, _______, _______, _______, _______
+),
+/* ADJUST
+ * ,-----------------------------------------. ,-----------------------------------------.
+ * | | | | | | | | | | | | | |
+ * |------+------+------+------+------+------| |------+------+------+------+------+------|
+ * | | | | | | | | | | | | | |
+ * |------+------+------+------+------+------| |------+------+------+------+------+------|
+ * | | | | | | |-------. ,-------| | |RGB ON| HUE+ | SAT+ | VAL+ |
+ * |------+------+------+------+------+------| | | |------+------+------+------+------+------|
+ * | | | | | | |-------| |-------| | | MODE | HUE- | SAT- | VAL- |
+ * `-----------------------------------------/ / \ \-----------------------------------------'
+ * | LAlt | LGUI |LOWER | /Space / \Enter \ |RAISE |BackSP| RGUI |
+ * | | | |/ / \ \ | | | |
+ * `----------------------------' '------''--------------------'
+ */
+ [_ADJUST] = LAYOUT(
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ _______, _______, _______, _______, _______, _______, _______, _______
+ )
+};
diff --git a/keyboards/boardsource/lulu/keymaps/vial/rules.mk b/keyboards/boardsource/lulu/keymaps/vial/rules.mk
new file mode 100644
index 0000000000..351a30e1b6
--- /dev/null
+++ b/keyboards/boardsource/lulu/keymaps/vial/rules.mk
@@ -0,0 +1,10 @@
+VIA_ENABLE = yes
+VIAL_ENABLE = yes
+QMK_SETTINGS = no
+COMBO_ENABLE = no
+MOUSEKEY_ENABLE = no
+TAP_DANCE_ENABLE = no
+VIALRGB_ENABLE = yes
+VIAL_ENCODERS_ENABLE = yes
+SPACE_CADET_ENABLE = no
+GRAVE_ESC_ENABLE = no
diff --git a/keyboards/boardsource/lulu/keymaps/vial/vial.json b/keyboards/boardsource/lulu/keymaps/vial/vial.json
new file mode 100644
index 0000000000..1a6f114d24
--- /dev/null
+++ b/keyboards/boardsource/lulu/keymaps/vial/vial.json
@@ -0,0 +1,354 @@
+{
+ "name": "Boardsource Lulu",
+ "vendorId": "0x4273",
+ "productId": "0x7685",
+ "firmwareVersion": 0,
+ "keycodes": [
+ "via/keycodes",
+ "via/qmk_lighting"
+ ],
+ "lighting": "vialrgb",
+ "menus": [
+ "via/keymap",
+ "via/layouts",
+ "via/macros",
+ "via/save_load",
+ "core/qmk_rgblight"
+ ],
+ "matrix": {
+ "rows": 10,
+ "cols": 6
+ },
+ "layouts": {
+ "labels": ["encoders"],
+ "keymap": [
+ {
+ "name": "lulu-via-vial"
+ },
+ [
+ {
+ "x": 6
+ },
+ "4,5\n\n\n0,1",
+ "0,0\n\n\n0,1\n\n\n\n\n\ne",
+ "1,0\n\n\n0,1\n\n\n\n\n\ne",
+ "9,5\n\n\n0,1"
+ ],
+ [
+ {
+ "x": 7
+ },
+ "0,1\n\n\n0,1\n\n\n\n\n\ne",
+ "1,1\n\n\n0,1\n\n\n\n\n\ne"
+ ],
+ [
+ {
+ "y": 0.25,
+ "x": 3
+ },
+ "0,3",
+ {
+ "x": 8
+ },
+ "5,3"
+ ],
+ [
+ {
+ "y": -0.8700000000000001,
+ "x": 2
+ },
+ "0,2",
+ {
+ "x": 1
+ },
+ "0,4",
+ {
+ "x": 6
+ },
+ "5,4",
+ {
+ "x": 1
+ },
+ "5,2"
+ ],
+ [
+ {
+ "y": -0.8799999999999999,
+ "x": 5
+ },
+ "0,5",
+ {
+ "x": 4
+ },
+ "5,5"
+ ],
+ [
+ {
+ "y": -0.8700000000000001,
+ "x": 1
+ },
+ "0,1",
+ {
+ "x": 12
+ },
+ "5,1"
+ ],
+ [
+ {
+ "y": -0.8799999999999999,
+ "c": "#777777"
+ },
+ "0,0",
+ {
+ "x": 14,
+ "c": "#cccccc"
+ },
+ "5,0"
+ ],
+ [
+ {
+ "y": -0.5,
+ "x": 3
+ },
+ "1,3",
+ {
+ "x": 8
+ },
+ "6,3"
+ ],
+ [
+ {
+ "y": -0.8700000000000001,
+ "x": 2
+ },
+ "1,2",
+ {
+ "x": 1
+ },
+ "1,4",
+ {
+ "x": 6
+ },
+ "6,4",
+ {
+ "x": 1
+ },
+ "6,2"
+ ],
+ [
+ {
+ "y": -0.8799999999999999,
+ "x": 5
+ },
+ "1,5",
+ {
+ "x": 4
+ },
+ "6,5"
+ ],
+ [
+ {
+ "y": -0.8700000000000001,
+ "x": 1
+ },
+ "1,1",
+ {
+ "x": 12
+ },
+ "6,1"
+ ],
+ [
+ {
+ "y": -0.8799999999999999,
+ "c": "#aaaaaa"
+ },
+ "1,0",
+ {
+ "x": 14,
+ "c": "#cccccc"
+ },
+ "6,0"
+ ],
+ [
+ {
+ "y": -0.5,
+ "x": 3
+ },
+ "2,3",
+ {
+ "x": 8
+ },
+ "7,3"
+ ],
+ [
+ {
+ "y": -0.8700000000000001,
+ "x": 2
+ },
+ "2,2",
+ {
+ "x": 1
+ },
+ "2,4",
+ {
+ "x": 6
+ },
+ "7,4",
+ {
+ "x": 1
+ },
+ "7,2"
+ ],
+ [
+ {
+ "y": -0.8799999999999999,
+ "x": 5
+ },
+ "2,5",
+ {
+ "x": 4
+ },
+ "7,5"
+ ],
+ [
+ {
+ "y": -0.8700000000000001,
+ "x": 1
+ },
+ "2,1",
+ {
+ "x": 12
+ },
+ "7,1"
+ ],
+ [
+ {
+ "y": -0.8799999999999999,
+ "c": "#aaaaaa"
+ },
+ "2,0",
+ {
+ "x": 14,
+ "c": "#cccccc"
+ },
+ "7,0"
+ ],
+ [
+ {
+ "y": -0.75,
+ "x": 6
+ },
+ "4,5\n\n\n0,0",
+ {
+ "x": 2
+ },
+ "9,5\n\n\n0,0"
+ ],
+ [
+ {
+ "y": -0.75,
+ "x": 3
+ },
+ "3,3",
+ {
+ "x": 8
+ },
+ "8,3"
+ ],
+ [
+ {
+ "y": -0.8700000000000001,
+ "x": 2
+ },
+ "3,2",
+ {
+ "x": 1
+ },
+ "3,4",
+ {
+ "x": 6
+ },
+ "8,4",
+ {
+ "x": 1
+ },
+ "8,2"
+ ],
+ [
+ {
+ "y": -0.8799999999999999,
+ "x": 5
+ },
+ "3,5",
+ {
+ "x": 4
+ },
+ "8,5"
+ ],
+ [
+ {
+ "y": -0.8700000000000001,
+ "x": 1
+ },
+ "3,1",
+ {
+ "x": 12
+ },
+ "8,1"
+ ],
+ [
+ {
+ "y": -0.8799999999999999,
+ "c": "#aaaaaa"
+ },
+ "3,0",
+ {
+ "x": 14
+ },
+ "8,0"
+ ],
+ [
+ {
+ "y": -0.3700000000000001,
+ "x": 2.5
+ },
+ "4,1"
+ ],
+ [
+ {
+ "y": -0.9799999999999995,
+ "x": 3.5
+ },
+ "4,2",
+ {
+ "x": 7
+ },
+ "9,2",
+ "9,1"
+ ],
+ [
+ {
+ "y": -0.9000000000000004,
+ "x": 4.5
+ },
+ "4,3",
+ {
+ "x": 0.5,
+ "c": "#777777",
+ "h": 1.5
+ },
+ "4,4",
+ {
+ "x": 2,
+ "h": 1.5
+ },
+ "9,4",
+ {
+ "x": 0.5,
+ "c": "#aaaaaa"
+ },
+ "9,3"
+ ]
+ ]
+ }
+}
From 4d0c43919615bc8cd71da6419a30007025bba1dc Mon Sep 17 00:00:00 2001
From: Dylan Chun Wong <2454917+dchunwong@users.noreply.github.com>
Date: Tue, 14 Mar 2023 09:21:04 -0700
Subject: [PATCH 03/69] Enable more dynamic QMK features on FC660C (#409)
- Set CONSOLE_ENABLE to false for space
- Add the -WL --relax EXTRALDFLAGS for space
- Enable QMK_SETTINGS and TAP_DANCE_ENABLE
- Set available Tap Dances to 4
---
keyboards/fc660c/keymaps/vial/config.h | 3 ++-
keyboards/fc660c/keymaps/vial/rules.mk | 6 ++++--
2 files changed, 6 insertions(+), 3 deletions(-)
diff --git a/keyboards/fc660c/keymaps/vial/config.h b/keyboards/fc660c/keymaps/vial/config.h
index 00131ba0e2..f997e418ee 100644
--- a/keyboards/fc660c/keymaps/vial/config.h
+++ b/keyboards/fc660c/keymaps/vial/config.h
@@ -4,4 +4,5 @@
#define VIAL_KEYBOARD_UID {0x86, 0xDA, 0x85, 0x0E, 0x54, 0x70, 0xA0, 0xA2}
#define VIAL_UNLOCK_COMBO_ROWS { 1, 4 }
-#define VIAL_UNLOCK_COMBO_COLS { 3, 14 }
\ No newline at end of file
+#define VIAL_UNLOCK_COMBO_COLS { 3, 14 }
+#define VIAL_TAP_DANCE_ENTRIES 4
diff --git a/keyboards/fc660c/keymaps/vial/rules.mk b/keyboards/fc660c/keymaps/vial/rules.mk
index 79f95e7425..11b616c0c5 100644
--- a/keyboards/fc660c/keymaps/vial/rules.mk
+++ b/keyboards/fc660c/keymaps/vial/rules.mk
@@ -1,5 +1,7 @@
VIA_ENABLE = yes
VIAL_ENABLE = yes
LTO_ENABLE = yes
-QMK_SETTINGS = no
-TAP_DANCE_ENABLE = no
\ No newline at end of file
+QMK_SETTINGS = yes
+TAP_DANCE_ENABLE = yes
+CONSOLE_ENABLE = no
+EXTRALDFLAGS = -Wl,--relax
From 73246475f84a4998a51ebc1c119eb048dfef9e66 Mon Sep 17 00:00:00 2001
From: blindassassin111 <38090555+blindassassin111@users.noreply.github.com>
Date: Sat, 18 Mar 2023 06:31:01 -0500
Subject: [PATCH 04/69] Adding Viktus Minne (#415)
---
keyboards/viktus/minne/info.json | 363 ++++++++++++++++++
.../viktus/minne/keymaps/default/keymap.c | 26 ++
keyboards/viktus/minne/keymaps/via/keymap.c | 26 ++
keyboards/viktus/minne/keymaps/via/minne.json | 181 +++++++++
keyboards/viktus/minne/keymaps/via/rules.mk | 1 +
keyboards/viktus/minne/keymaps/vial/config.h | 6 +
keyboards/viktus/minne/keymaps/vial/keymap.c | 26 ++
keyboards/viktus/minne/keymaps/vial/rules.mk | 4 +
keyboards/viktus/minne/keymaps/vial/vial.json | 180 +++++++++
keyboards/viktus/minne/readme.md | 27 ++
keyboards/viktus/minne/rules.mk | 1 +
11 files changed, 841 insertions(+)
create mode 100644 keyboards/viktus/minne/info.json
create mode 100644 keyboards/viktus/minne/keymaps/default/keymap.c
create mode 100644 keyboards/viktus/minne/keymaps/via/keymap.c
create mode 100644 keyboards/viktus/minne/keymaps/via/minne.json
create mode 100644 keyboards/viktus/minne/keymaps/via/rules.mk
create mode 100644 keyboards/viktus/minne/keymaps/vial/config.h
create mode 100644 keyboards/viktus/minne/keymaps/vial/keymap.c
create mode 100644 keyboards/viktus/minne/keymaps/vial/rules.mk
create mode 100644 keyboards/viktus/minne/keymaps/vial/vial.json
create mode 100644 keyboards/viktus/minne/readme.md
create mode 100644 keyboards/viktus/minne/rules.mk
diff --git a/keyboards/viktus/minne/info.json b/keyboards/viktus/minne/info.json
new file mode 100644
index 0000000000..a3c2d64511
--- /dev/null
+++ b/keyboards/viktus/minne/info.json
@@ -0,0 +1,363 @@
+{
+ "manufacturer": "Viktus Design LLC",
+ "keyboard_name": "Viktus Minne",
+ "maintainer": "BlindAssassin111",
+ "url": "https://viktus.design",
+ "usb": {
+ "device_version": "1.0.0",
+ "vid": "0x5644",
+ "pid": "0x4D49"
+ },
+ "bootloader": "atmel-dfu",
+ "processor": "atmega32u4",
+ "features": {
+ "rgblight": true,
+ "bootmagic": true,
+ "command": false,
+ "console": false,
+ "extrakey": false,
+ "mousekey": false,
+ "nkro": true
+ },
+ "bootmagic": {
+ "matrix": [1,0]
+ },
+ "build": {
+ "lto": true
+ },
+ "diode_direction": "COL2ROW",
+ "matrix_pins": {
+ "cols": ["B7", "F7", "D5", "D3", "D2", "D1", "D0"],
+ "rows": ["B6", "B5", "B4", "D7", "D6", "D4", "C6", "C7"]
+ },
+ "rgblight": {
+ "led_count": 14,
+ "pin": "F6",
+ "max_brightness": 191,
+ "animations": {
+ "breathing": true,
+ "rainbow_swirl": true,
+ "twinkle": true
+ }
+ },
+ "layouts": {
+ "LAYOUT_all": {
+ "layout": [
+ { "label": "K10", "matrix": [1, 0], "w": 1, "x": 0, "y": 0 },
+ { "label": "K11", "matrix": [1, 1], "w": 1, "x": 1, "y": 0 },
+ { "label": "K01", "matrix": [0, 1], "w": 1, "x": 2, "y": 0 },
+ { "label": "K02", "matrix": [0, 2], "w": 1, "x": 3, "y": 0 },
+ { "label": "K12", "matrix": [1, 2], "w": 1, "x": 4, "y": 0 },
+ { "label": "K13", "matrix": [1, 3], "w": 1, "x": 5, "y": 0 },
+ { "label": "K03", "matrix": [0, 3], "w": 1, "x": 6, "y": 0 },
+ { "label": "K04", "matrix": [0, 4], "w": 1, "x": 7, "y": 0 },
+ { "label": "K14", "matrix": [1, 4], "w": 1, "x": 8, "y": 0 },
+ { "label": "K15", "matrix": [1, 5], "w": 1, "x": 9, "y": 0 },
+ { "label": "K05", "matrix": [0, 5], "w": 1, "x": 10, "y": 0 },
+ { "label": "K06", "matrix": [0, 6], "w": 1.75, "x": 11, "y": 0 },
+ { "label": "K30", "matrix": [3, 0], "w": 1.25, "x": 0, "y": 1 },
+ { "label": "K31", "matrix": [3, 1], "w": 1, "x": 1.25, "y": 1 },
+ { "label": "K21", "matrix": [2, 1], "w": 1, "x": 2.25, "y": 1 },
+ { "label": "K22", "matrix": [2, 2], "w": 1, "x": 3.25, "y": 1 },
+ { "label": "K32", "matrix": [3, 2], "w": 1, "x": 4.25, "y": 1 },
+ { "label": "K33", "matrix": [3, 3], "w": 1, "x": 5.25, "y": 1 },
+ { "label": "K23", "matrix": [2, 3], "w": 1, "x": 6.25, "y": 1 },
+ { "label": "K24", "matrix": [2, 4], "w": 1, "x": 7.25, "y": 1 },
+ { "label": "K34", "matrix": [3, 4], "w": 1, "x": 8.25, "y": 1 },
+ { "label": "K35", "matrix": [3, 5], "w": 1, "x": 9.25, "y": 1 },
+ { "label": "K25", "matrix": [2, 5], "w": 1, "x": 10.25, "y": 1 },
+ { "label": "K26", "matrix": [2, 6], "w": 1.5, "x": 11.25, "y": 1 },
+ { "label": "K50", "matrix": [5, 0], "w": 1.75, "x": 0, "y": 2 },
+ { "label": "K51", "matrix": [5, 1], "w": 1, "x": 1.75, "y": 2 },
+ { "label": "K41", "matrix": [4, 1], "w": 1, "x": 2.75, "y": 2 },
+ { "label": "K42", "matrix": [4, 2], "w": 1, "x": 3.75, "y": 2 },
+ { "label": "K52", "matrix": [5, 2], "w": 1, "x": 4.75, "y": 2 },
+ { "label": "K53", "matrix": [5, 3], "w": 1, "x": 5.75, "y": 2 },
+ { "label": "K43", "matrix": [4, 3], "w": 1, "x": 6.75, "y": 2 },
+ { "label": "K44", "matrix": [4, 4], "w": 1, "x": 7.75, "y": 2 },
+ { "label": "K54", "matrix": [5, 4], "w": 1, "x": 8.75, "y": 2 },
+ { "label": "K55", "matrix": [5, 5], "w": 1, "x": 9.75, "y": 2 },
+ { "label": "K45", "matrix": [4, 5], "w": 1, "x": 10.75, "y": 2 },
+ { "label": "K46", "matrix": [4, 6], "w": 1, "x": 11.75, "y": 2 },
+ { "label": "K71", "matrix": [7, 1], "w": 1, "x": 1.375, "y": 3 },
+ { "label": "K61", "matrix": [6, 1], "w": 1, "x": 2.375, "y": 3 },
+ { "label": "K62", "matrix": [6, 2], "w": 1.25, "x": 3.375, "y": 3 },
+ { "label": "K72", "matrix": [7, 2], "w": 1.25, "x": 4.625, "y": 3 },
+ { "label": "K73", "matrix": [7, 3], "w": 1, "x": 5.875, "y": 3 },
+ { "label": "K63", "matrix": [6, 3], "w": 1.25, "x": 6.875, "y": 3 },
+ { "label": "K64", "matrix": [6, 4], "w": 1.25, "x": 8.125, "y": 3 },
+ { "label": "K74", "matrix": [7, 4], "w": 1, "x": 9.375, "y": 3 },
+ { "label": "K75", "matrix": [7, 5], "w": 1, "x": 10.375, "y": 3 }
+ ]
+ },
+ "LAYOUT_dual175u": {
+ "layout": [
+ { "label": "K10", "matrix": [1, 0], "w": 1, "x": 0, "y": 0 },
+ { "label": "K11", "matrix": [1, 1], "w": 1, "x": 1, "y": 0 },
+ { "label": "K01", "matrix": [0, 1], "w": 1, "x": 2, "y": 0 },
+ { "label": "K02", "matrix": [0, 2], "w": 1, "x": 3, "y": 0 },
+ { "label": "K12", "matrix": [1, 2], "w": 1, "x": 4, "y": 0 },
+ { "label": "K13", "matrix": [1, 3], "w": 1, "x": 5, "y": 0 },
+ { "label": "K03", "matrix": [0, 3], "w": 1, "x": 6, "y": 0 },
+ { "label": "K04", "matrix": [0, 4], "w": 1, "x": 7, "y": 0 },
+ { "label": "K14", "matrix": [1, 4], "w": 1, "x": 8, "y": 0 },
+ { "label": "K15", "matrix": [1, 5], "w": 1, "x": 9, "y": 0 },
+ { "label": "K05", "matrix": [0, 5], "w": 1, "x": 10, "y": 0 },
+ { "label": "K06", "matrix": [0, 6], "w": 1.75, "x": 11, "y": 0 },
+ { "label": "K30", "matrix": [3, 0], "w": 1.25, "x": 0, "y": 1 },
+ { "label": "K31", "matrix": [3, 1], "w": 1, "x": 1.25, "y": 1 },
+ { "label": "K21", "matrix": [2, 1], "w": 1, "x": 2.25, "y": 1 },
+ { "label": "K22", "matrix": [2, 2], "w": 1, "x": 3.25, "y": 1 },
+ { "label": "K32", "matrix": [3, 2], "w": 1, "x": 4.25, "y": 1 },
+ { "label": "K33", "matrix": [3, 3], "w": 1, "x": 5.25, "y": 1 },
+ { "label": "K23", "matrix": [2, 3], "w": 1, "x": 6.25, "y": 1 },
+ { "label": "K24", "matrix": [2, 4], "w": 1, "x": 7.25, "y": 1 },
+ { "label": "K34", "matrix": [3, 4], "w": 1, "x": 8.25, "y": 1 },
+ { "label": "K35", "matrix": [3, 5], "w": 1, "x": 9.25, "y": 1 },
+ { "label": "K25", "matrix": [2, 5], "w": 1, "x": 10.25, "y": 1 },
+ { "label": "K26", "matrix": [2, 6], "w": 1.5, "x": 11.25, "y": 1 },
+ { "label": "K50", "matrix": [5, 0], "w": 1.75, "x": 0, "y": 2 },
+ { "label": "K51", "matrix": [5, 1], "w": 1, "x": 1.75, "y": 2 },
+ { "label": "K41", "matrix": [4, 1], "w": 1, "x": 2.75, "y": 2 },
+ { "label": "K42", "matrix": [4, 2], "w": 1, "x": 3.75, "y": 2 },
+ { "label": "K52", "matrix": [5, 2], "w": 1, "x": 4.75, "y": 2 },
+ { "label": "K53", "matrix": [5, 3], "w": 1, "x": 5.75, "y": 2 },
+ { "label": "K43", "matrix": [4, 3], "w": 1, "x": 6.75, "y": 2 },
+ { "label": "K44", "matrix": [4, 4], "w": 1, "x": 7.75, "y": 2 },
+ { "label": "K54", "matrix": [5, 4], "w": 1, "x": 8.75, "y": 2 },
+ { "label": "K55", "matrix": [5, 5], "w": 1, "x": 9.75, "y": 2 },
+ { "label": "K45", "matrix": [4, 5], "w": 1, "x": 10.75, "y": 2 },
+ { "label": "K46", "matrix": [4, 6], "w": 1, "x": 11.75, "y": 2 },
+ { "label": "K71", "matrix": [7, 1], "w": 1, "x": 1.375, "y": 3 },
+ { "label": "K61", "matrix": [6, 1], "w": 1, "x": 2.375, "y": 3 },
+ { "label": "K62", "matrix": [6, 2], "w": 1.25, "x": 3.375, "y": 3 },
+ { "label": "K72", "matrix": [7, 2], "w": 1.75, "x": 4.625, "y": 3 },
+ { "label": "K63", "matrix": [6, 3], "w": 1.75, "x": 6.375, "y": 3 },
+ { "label": "K64", "matrix": [6, 4], "w": 1.25, "x": 8.125, "y": 3 },
+ { "label": "K74", "matrix": [7, 4], "w": 1, "x": 9.375, "y": 3 },
+ { "label": "K75", "matrix": [7, 5], "w": 1, "x": 10.375, "y": 3 }
+ ]
+ },
+ "LAYOUT_275_225u": {
+ "layout": [
+ { "label": "K10", "matrix": [1, 0], "w": 1, "x": 0, "y": 0 },
+ { "label": "K11", "matrix": [1, 1], "w": 1, "x": 1, "y": 0 },
+ { "label": "K01", "matrix": [0, 1], "w": 1, "x": 2, "y": 0 },
+ { "label": "K02", "matrix": [0, 2], "w": 1, "x": 3, "y": 0 },
+ { "label": "K12", "matrix": [1, 2], "w": 1, "x": 4, "y": 0 },
+ { "label": "K13", "matrix": [1, 3], "w": 1, "x": 5, "y": 0 },
+ { "label": "K03", "matrix": [0, 3], "w": 1, "x": 6, "y": 0 },
+ { "label": "K04", "matrix": [0, 4], "w": 1, "x": 7, "y": 0 },
+ { "label": "K14", "matrix": [1, 4], "w": 1, "x": 8, "y": 0 },
+ { "label": "K15", "matrix": [1, 5], "w": 1, "x": 9, "y": 0 },
+ { "label": "K05", "matrix": [0, 5], "w": 1, "x": 10, "y": 0 },
+ { "label": "K06", "matrix": [0, 6], "w": 1.75, "x": 11, "y": 0 },
+ { "label": "K30", "matrix": [3, 0], "w": 1.25, "x": 0, "y": 1 },
+ { "label": "K31", "matrix": [3, 1], "w": 1, "x": 1.25, "y": 1 },
+ { "label": "K21", "matrix": [2, 1], "w": 1, "x": 2.25, "y": 1 },
+ { "label": "K22", "matrix": [2, 2], "w": 1, "x": 3.25, "y": 1 },
+ { "label": "K32", "matrix": [3, 2], "w": 1, "x": 4.25, "y": 1 },
+ { "label": "K33", "matrix": [3, 3], "w": 1, "x": 5.25, "y": 1 },
+ { "label": "K23", "matrix": [2, 3], "w": 1, "x": 6.25, "y": 1 },
+ { "label": "K24", "matrix": [2, 4], "w": 1, "x": 7.25, "y": 1 },
+ { "label": "K34", "matrix": [3, 4], "w": 1, "x": 8.25, "y": 1 },
+ { "label": "K35", "matrix": [3, 5], "w": 1, "x": 9.25, "y": 1 },
+ { "label": "K25", "matrix": [2, 5], "w": 1, "x": 10.25, "y": 1 },
+ { "label": "K26", "matrix": [2, 6], "w": 1.5, "x": 11.25, "y": 1 },
+ { "label": "K50", "matrix": [5, 0], "w": 1.75, "x": 0, "y": 2 },
+ { "label": "K51", "matrix": [5, 1], "w": 1, "x": 1.75, "y": 2 },
+ { "label": "K41", "matrix": [4, 1], "w": 1, "x": 2.75, "y": 2 },
+ { "label": "K42", "matrix": [4, 2], "w": 1, "x": 3.75, "y": 2 },
+ { "label": "K52", "matrix": [5, 2], "w": 1, "x": 4.75, "y": 2 },
+ { "label": "K53", "matrix": [5, 3], "w": 1, "x": 5.75, "y": 2 },
+ { "label": "K43", "matrix": [4, 3], "w": 1, "x": 6.75, "y": 2 },
+ { "label": "K44", "matrix": [4, 4], "w": 1, "x": 7.75, "y": 2 },
+ { "label": "K54", "matrix": [5, 4], "w": 1, "x": 8.75, "y": 2 },
+ { "label": "K55", "matrix": [5, 5], "w": 1, "x": 9.75, "y": 2 },
+ { "label": "K45", "matrix": [4, 5], "w": 1, "x": 10.75, "y": 2 },
+ { "label": "K46", "matrix": [4, 6], "w": 1, "x": 11.75, "y": 2 },
+ { "label": "K71", "matrix": [7, 1], "w": 1, "x": 1.375, "y": 3 },
+ { "label": "K61", "matrix": [6, 1], "w": 1.5, "x": 2.375, "y": 3 },
+ { "label": "K72", "matrix": [7, 2], "w": 2.75, "x": 3.875, "y": 3 },
+ { "label": "K63", "matrix": [6, 3], "w": 2.25, "x": 6.625, "y": 3 },
+ { "label": "K74", "matrix": [7, 4], "w": 1.5, "x": 8.875, "y": 3 },
+ { "label": "K75", "matrix": [7, 5], "w": 1, "x": 10.375, "y": 3 }
+ ]
+ },
+ "LAYOUT_dual3u": {
+ "layout": [
+ { "label": "K10", "matrix": [1, 0], "w": 1, "x": 0, "y": 0 },
+ { "label": "K11", "matrix": [1, 1], "w": 1, "x": 1, "y": 0 },
+ { "label": "K01", "matrix": [0, 1], "w": 1, "x": 2, "y": 0 },
+ { "label": "K02", "matrix": [0, 2], "w": 1, "x": 3, "y": 0 },
+ { "label": "K12", "matrix": [1, 2], "w": 1, "x": 4, "y": 0 },
+ { "label": "K13", "matrix": [1, 3], "w": 1, "x": 5, "y": 0 },
+ { "label": "K03", "matrix": [0, 3], "w": 1, "x": 6, "y": 0 },
+ { "label": "K04", "matrix": [0, 4], "w": 1, "x": 7, "y": 0 },
+ { "label": "K14", "matrix": [1, 4], "w": 1, "x": 8, "y": 0 },
+ { "label": "K15", "matrix": [1, 5], "w": 1, "x": 9, "y": 0 },
+ { "label": "K05", "matrix": [0, 5], "w": 1, "x": 10, "y": 0 },
+ { "label": "K06", "matrix": [0, 6], "w": 1.75, "x": 11, "y": 0 },
+ { "label": "K30", "matrix": [3, 0], "w": 1.25, "x": 0, "y": 1 },
+ { "label": "K31", "matrix": [3, 1], "w": 1, "x": 1.25, "y": 1 },
+ { "label": "K21", "matrix": [2, 1], "w": 1, "x": 2.25, "y": 1 },
+ { "label": "K22", "matrix": [2, 2], "w": 1, "x": 3.25, "y": 1 },
+ { "label": "K32", "matrix": [3, 2], "w": 1, "x": 4.25, "y": 1 },
+ { "label": "K33", "matrix": [3, 3], "w": 1, "x": 5.25, "y": 1 },
+ { "label": "K23", "matrix": [2, 3], "w": 1, "x": 6.25, "y": 1 },
+ { "label": "K24", "matrix": [2, 4], "w": 1, "x": 7.25, "y": 1 },
+ { "label": "K34", "matrix": [3, 4], "w": 1, "x": 8.25, "y": 1 },
+ { "label": "K35", "matrix": [3, 5], "w": 1, "x": 9.25, "y": 1 },
+ { "label": "K25", "matrix": [2, 5], "w": 1, "x": 10.25, "y": 1 },
+ { "label": "K26", "matrix": [2, 6], "w": 1.5, "x": 11.25, "y": 1 },
+ { "label": "K50", "matrix": [5, 0], "w": 1.75, "x": 0, "y": 2 },
+ { "label": "K51", "matrix": [5, 1], "w": 1, "x": 1.75, "y": 2 },
+ { "label": "K41", "matrix": [4, 1], "w": 1, "x": 2.75, "y": 2 },
+ { "label": "K42", "matrix": [4, 2], "w": 1, "x": 3.75, "y": 2 },
+ { "label": "K52", "matrix": [5, 2], "w": 1, "x": 4.75, "y": 2 },
+ { "label": "K53", "matrix": [5, 3], "w": 1, "x": 5.75, "y": 2 },
+ { "label": "K43", "matrix": [4, 3], "w": 1, "x": 6.75, "y": 2 },
+ { "label": "K44", "matrix": [4, 4], "w": 1, "x": 7.75, "y": 2 },
+ { "label": "K54", "matrix": [5, 4], "w": 1, "x": 8.75, "y": 2 },
+ { "label": "K55", "matrix": [5, 5], "w": 1, "x": 9.75, "y": 2 },
+ { "label": "K45", "matrix": [4, 5], "w": 1, "x": 10.75, "y": 2 },
+ { "label": "K46", "matrix": [4, 6], "w": 1, "x": 11.75, "y": 2 },
+ { "label": "K71", "matrix": [7, 1], "w": 1, "x": 1.375, "y": 3 },
+ { "label": "K61", "matrix": [6, 1], "w": 1, "x": 2.375, "y": 3 },
+ { "label": "K72", "matrix": [7, 2], "w": 3, "x": 3.375, "y": 3 },
+ { "label": "K63", "matrix": [6, 3], "w": 3, "x": 6.375, "y": 3 },
+ { "label": "K74", "matrix": [7, 4], "w": 1, "x": 9.375, "y": 3 },
+ { "label": "K75", "matrix": [7, 5], "w": 1, "x": 10.375, "y": 3 }
+ ]
+ },
+ "LAYOUT_6u": {
+ "layout": [
+ { "label": "K10", "matrix": [1, 0], "w": 1, "x": 0, "y": 0 },
+ { "label": "K11", "matrix": [1, 1], "w": 1, "x": 1, "y": 0 },
+ { "label": "K01", "matrix": [0, 1], "w": 1, "x": 2, "y": 0 },
+ { "label": "K02", "matrix": [0, 2], "w": 1, "x": 3, "y": 0 },
+ { "label": "K12", "matrix": [1, 2], "w": 1, "x": 4, "y": 0 },
+ { "label": "K13", "matrix": [1, 3], "w": 1, "x": 5, "y": 0 },
+ { "label": "K03", "matrix": [0, 3], "w": 1, "x": 6, "y": 0 },
+ { "label": "K04", "matrix": [0, 4], "w": 1, "x": 7, "y": 0 },
+ { "label": "K14", "matrix": [1, 4], "w": 1, "x": 8, "y": 0 },
+ { "label": "K15", "matrix": [1, 5], "w": 1, "x": 9, "y": 0 },
+ { "label": "K05", "matrix": [0, 5], "w": 1, "x": 10, "y": 0 },
+ { "label": "K06", "matrix": [0, 6], "w": 1.75, "x": 11, "y": 0 },
+ { "label": "K30", "matrix": [3, 0], "w": 1.25, "x": 0, "y": 1 },
+ { "label": "K31", "matrix": [3, 1], "w": 1, "x": 1.25, "y": 1 },
+ { "label": "K21", "matrix": [2, 1], "w": 1, "x": 2.25, "y": 1 },
+ { "label": "K22", "matrix": [2, 2], "w": 1, "x": 3.25, "y": 1 },
+ { "label": "K32", "matrix": [3, 2], "w": 1, "x": 4.25, "y": 1 },
+ { "label": "K33", "matrix": [3, 3], "w": 1, "x": 5.25, "y": 1 },
+ { "label": "K23", "matrix": [2, 3], "w": 1, "x": 6.25, "y": 1 },
+ { "label": "K24", "matrix": [2, 4], "w": 1, "x": 7.25, "y": 1 },
+ { "label": "K34", "matrix": [3, 4], "w": 1, "x": 8.25, "y": 1 },
+ { "label": "K35", "matrix": [3, 5], "w": 1, "x": 9.25, "y": 1 },
+ { "label": "K25", "matrix": [2, 5], "w": 1, "x": 10.25, "y": 1 },
+ { "label": "K26", "matrix": [2, 6], "w": 1.5, "x": 11.25, "y": 1 },
+ { "label": "K50", "matrix": [5, 0], "w": 1.75, "x": 0, "y": 2 },
+ { "label": "K51", "matrix": [5, 1], "w": 1, "x": 1.75, "y": 2 },
+ { "label": "K41", "matrix": [4, 1], "w": 1, "x": 2.75, "y": 2 },
+ { "label": "K42", "matrix": [4, 2], "w": 1, "x": 3.75, "y": 2 },
+ { "label": "K52", "matrix": [5, 2], "w": 1, "x": 4.75, "y": 2 },
+ { "label": "K53", "matrix": [5, 3], "w": 1, "x": 5.75, "y": 2 },
+ { "label": "K43", "matrix": [4, 3], "w": 1, "x": 6.75, "y": 2 },
+ { "label": "K44", "matrix": [4, 4], "w": 1, "x": 7.75, "y": 2 },
+ { "label": "K54", "matrix": [5, 4], "w": 1, "x": 8.75, "y": 2 },
+ { "label": "K55", "matrix": [5, 5], "w": 1, "x": 9.75, "y": 2 },
+ { "label": "K45", "matrix": [4, 5], "w": 1, "x": 10.75, "y": 2 },
+ { "label": "K46", "matrix": [4, 6], "w": 1, "x": 11.75, "y": 2 },
+ { "label": "K71", "matrix": [7, 1], "w": 1, "x": 1.375, "y": 3 },
+ { "label": "K61", "matrix": [6, 1], "w": 1, "x": 2.375, "y": 3 },
+ { "label": "K73", "matrix": [7, 3], "w": 6, "x": 3.375, "y": 3 },
+ { "label": "K74", "matrix": [7, 4], "w": 1, "x": 9.375, "y": 3 },
+ { "label": "K75", "matrix": [7, 5], "w": 1, "x": 10.375, "y": 3 }
+ ]
+ },
+ "LAYOUT_7u": {
+ "layout": [
+ { "label": "K10", "matrix": [1, 0], "w": 1, "x": 0, "y": 0 },
+ { "label": "K11", "matrix": [1, 1], "w": 1, "x": 1, "y": 0 },
+ { "label": "K01", "matrix": [0, 1], "w": 1, "x": 2, "y": 0 },
+ { "label": "K02", "matrix": [0, 2], "w": 1, "x": 3, "y": 0 },
+ { "label": "K12", "matrix": [1, 2], "w": 1, "x": 4, "y": 0 },
+ { "label": "K13", "matrix": [1, 3], "w": 1, "x": 5, "y": 0 },
+ { "label": "K03", "matrix": [0, 3], "w": 1, "x": 6, "y": 0 },
+ { "label": "K04", "matrix": [0, 4], "w": 1, "x": 7, "y": 0 },
+ { "label": "K14", "matrix": [1, 4], "w": 1, "x": 8, "y": 0 },
+ { "label": "K15", "matrix": [1, 5], "w": 1, "x": 9, "y": 0 },
+ { "label": "K05", "matrix": [0, 5], "w": 1, "x": 10, "y": 0 },
+ { "label": "K06", "matrix": [0, 6], "w": 1.75, "x": 11, "y": 0 },
+ { "label": "K30", "matrix": [3, 0], "w": 1.25, "x": 0, "y": 1 },
+ { "label": "K31", "matrix": [3, 1], "w": 1, "x": 1.25, "y": 1 },
+ { "label": "K21", "matrix": [2, 1], "w": 1, "x": 2.25, "y": 1 },
+ { "label": "K22", "matrix": [2, 2], "w": 1, "x": 3.25, "y": 1 },
+ { "label": "K32", "matrix": [3, 2], "w": 1, "x": 4.25, "y": 1 },
+ { "label": "K33", "matrix": [3, 3], "w": 1, "x": 5.25, "y": 1 },
+ { "label": "K23", "matrix": [2, 3], "w": 1, "x": 6.25, "y": 1 },
+ { "label": "K24", "matrix": [2, 4], "w": 1, "x": 7.25, "y": 1 },
+ { "label": "K34", "matrix": [3, 4], "w": 1, "x": 8.25, "y": 1 },
+ { "label": "K35", "matrix": [3, 5], "w": 1, "x": 9.25, "y": 1 },
+ { "label": "K25", "matrix": [2, 5], "w": 1, "x": 10.25, "y": 1 },
+ { "label": "K26", "matrix": [2, 6], "w": 1.5, "x": 11.25, "y": 1 },
+ { "label": "K50", "matrix": [5, 0], "w": 1.75, "x": 0, "y": 2 },
+ { "label": "K51", "matrix": [5, 1], "w": 1, "x": 1.75, "y": 2 },
+ { "label": "K41", "matrix": [4, 1], "w": 1, "x": 2.75, "y": 2 },
+ { "label": "K42", "matrix": [4, 2], "w": 1, "x": 3.75, "y": 2 },
+ { "label": "K52", "matrix": [5, 2], "w": 1, "x": 4.75, "y": 2 },
+ { "label": "K53", "matrix": [5, 3], "w": 1, "x": 5.75, "y": 2 },
+ { "label": "K43", "matrix": [4, 3], "w": 1, "x": 6.75, "y": 2 },
+ { "label": "K44", "matrix": [4, 4], "w": 1, "x": 7.75, "y": 2 },
+ { "label": "K54", "matrix": [5, 4], "w": 1, "x": 8.75, "y": 2 },
+ { "label": "K55", "matrix": [5, 5], "w": 1, "x": 9.75, "y": 2 },
+ { "label": "K45", "matrix": [4, 5], "w": 1, "x": 10.75, "y": 2 },
+ { "label": "K46", "matrix": [4, 6], "w": 1, "x": 11.75, "y": 2 },
+ { "label": "K71", "matrix": [7, 1], "w": 1.5, "x": 1.375, "y": 3 },
+ { "label": "K73", "matrix": [7, 3], "w": 7, "x": 2.875, "y": 3 },
+ { "label": "K75", "matrix": [7, 5], "w": 1.5, "x": 9.875, "y": 3 }
+ ]
+ },
+ "LAYOUT_10u": {
+ "layout": [
+ { "label": "K10", "matrix": [1, 0], "w": 1, "x": 0, "y": 0 },
+ { "label": "K11", "matrix": [1, 1], "w": 1, "x": 1, "y": 0 },
+ { "label": "K01", "matrix": [0, 1], "w": 1, "x": 2, "y": 0 },
+ { "label": "K02", "matrix": [0, 2], "w": 1, "x": 3, "y": 0 },
+ { "label": "K12", "matrix": [1, 2], "w": 1, "x": 4, "y": 0 },
+ { "label": "K13", "matrix": [1, 3], "w": 1, "x": 5, "y": 0 },
+ { "label": "K03", "matrix": [0, 3], "w": 1, "x": 6, "y": 0 },
+ { "label": "K04", "matrix": [0, 4], "w": 1, "x": 7, "y": 0 },
+ { "label": "K14", "matrix": [1, 4], "w": 1, "x": 8, "y": 0 },
+ { "label": "K15", "matrix": [1, 5], "w": 1, "x": 9, "y": 0 },
+ { "label": "K05", "matrix": [0, 5], "w": 1, "x": 10, "y": 0 },
+ { "label": "K06", "matrix": [0, 6], "w": 1.75, "x": 11, "y": 0 },
+ { "label": "K30", "matrix": [3, 0], "w": 1.25, "x": 0, "y": 1 },
+ { "label": "K31", "matrix": [3, 1], "w": 1, "x": 1.25, "y": 1 },
+ { "label": "K21", "matrix": [2, 1], "w": 1, "x": 2.25, "y": 1 },
+ { "label": "K22", "matrix": [2, 2], "w": 1, "x": 3.25, "y": 1 },
+ { "label": "K32", "matrix": [3, 2], "w": 1, "x": 4.25, "y": 1 },
+ { "label": "K33", "matrix": [3, 3], "w": 1, "x": 5.25, "y": 1 },
+ { "label": "K23", "matrix": [2, 3], "w": 1, "x": 6.25, "y": 1 },
+ { "label": "K24", "matrix": [2, 4], "w": 1, "x": 7.25, "y": 1 },
+ { "label": "K34", "matrix": [3, 4], "w": 1, "x": 8.25, "y": 1 },
+ { "label": "K35", "matrix": [3, 5], "w": 1, "x": 9.25, "y": 1 },
+ { "label": "K25", "matrix": [2, 5], "w": 1, "x": 10.25, "y": 1 },
+ { "label": "K26", "matrix": [2, 6], "w": 1.5, "x": 11.25, "y": 1 },
+ { "label": "K50", "matrix": [5, 0], "w": 1.75, "x": 0, "y": 2 },
+ { "label": "K51", "matrix": [5, 1], "w": 1, "x": 1.75, "y": 2 },
+ { "label": "K41", "matrix": [4, 1], "w": 1, "x": 2.75, "y": 2 },
+ { "label": "K42", "matrix": [4, 2], "w": 1, "x": 3.75, "y": 2 },
+ { "label": "K52", "matrix": [5, 2], "w": 1, "x": 4.75, "y": 2 },
+ { "label": "K53", "matrix": [5, 3], "w": 1, "x": 5.75, "y": 2 },
+ { "label": "K43", "matrix": [4, 3], "w": 1, "x": 6.75, "y": 2 },
+ { "label": "K44", "matrix": [4, 4], "w": 1, "x": 7.75, "y": 2 },
+ { "label": "K54", "matrix": [5, 4], "w": 1, "x": 8.75, "y": 2 },
+ { "label": "K55", "matrix": [5, 5], "w": 1, "x": 9.75, "y": 2 },
+ { "label": "K45", "matrix": [4, 5], "w": 1, "x": 10.75, "y": 2 },
+ { "label": "K46", "matrix": [4, 6], "w": 1, "x": 11.75, "y": 2 },
+ { "label": "K73", "matrix": [7, 3], "w": 10, "x": 1.375, "y": 3 }
+ ]
+ }
+ }
+}
diff --git a/keyboards/viktus/minne/keymaps/default/keymap.c b/keyboards/viktus/minne/keymaps/default/keymap.c
new file mode 100644
index 0000000000..bf34ed993e
--- /dev/null
+++ b/keyboards/viktus/minne/keymaps/default/keymap.c
@@ -0,0 +1,26 @@
+/* Copyright 2023 Viktus Design LLC
+ *
+ * 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_all(
+ 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_SCLN, KC_ENT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_RSFT, MO(1),
+ KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_SPC, KC_SPC, KC_RGUI, KC_RALT, KC_RCTL
+ )
+};
diff --git a/keyboards/viktus/minne/keymaps/via/keymap.c b/keyboards/viktus/minne/keymaps/via/keymap.c
new file mode 100644
index 0000000000..bf34ed993e
--- /dev/null
+++ b/keyboards/viktus/minne/keymaps/via/keymap.c
@@ -0,0 +1,26 @@
+/* Copyright 2023 Viktus Design LLC
+ *
+ * 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_all(
+ 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_SCLN, KC_ENT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_RSFT, MO(1),
+ KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_SPC, KC_SPC, KC_RGUI, KC_RALT, KC_RCTL
+ )
+};
diff --git a/keyboards/viktus/minne/keymaps/via/minne.json b/keyboards/viktus/minne/keymaps/via/minne.json
new file mode 100644
index 0000000000..8df39108cc
--- /dev/null
+++ b/keyboards/viktus/minne/keymaps/via/minne.json
@@ -0,0 +1,181 @@
+{
+ "name": "Minne",
+ "vendorId": "0x5644",
+ "productId": "0x4D49",
+ "keycodes": [ "qmk_lighting" ],
+ "menus": [ "qmk_rgblight" ],
+ "matrix": {
+ "rows": 8,
+ "cols": 7
+ },
+ "layouts": {
+ "labels": [
+ ["Bottom Row", "Dual 1.75U", "2.75U 2.25U", "Dual 3U", "6U", "7U", "10U"]
+ ],
+ "keymap": [
+ [
+ "1,0",
+ "1,1",
+ "0,1",
+ "0,2",
+ "1,2",
+ "1,3",
+ "0,3",
+ "0,4",
+ "1,4",
+ "1,5",
+ "0,5",
+ {
+ "w":1.75
+ },
+ "0,6"
+ ],
+ [
+ {
+ "w":1.25
+ },
+ "3,0",
+ "3,1",
+ "2,1",
+ "2,2",
+ "3,2",
+ "3,3",
+ "2,3",
+ "2,4",
+ "3,4",
+ "3,5",
+ "2,5",
+ {
+ "w":1.5
+ },
+ "2,6"
+ ],
+ [
+ {
+ "w":1.75
+ },
+ "5,0",
+ "5,1",
+ "4,1",
+ "4,2",
+ "5,2",
+ "5,3",
+ "4,3",
+ "4,4",
+ "5,4",
+ "5,5",
+ "4,5",
+ "4,6"
+ ],
+ [
+ {
+ "x":1.38
+ },
+ "7,1\n\n\n0,0",
+ "6,1\n\n\n0,0",
+ {
+ "w":1.25
+ },
+ "6,2\n\n\n0,0",
+ {
+ "w":1.75
+ },
+ "7,2\n\n\n0,0",
+ {
+ "w":1.75
+ },
+ "6,3\n\n\n0,0",
+ {
+ "x":0,
+ "w":1.25
+ },
+ "6,4\n\n\n0,0",
+ "7,4\n\n\n0,0",
+ "7,5\n\n\n0,0"
+ ],
+ [
+ {
+ "x":1.38
+ },
+ "7,1\n\n\n0,1",
+ {
+ "w":1.5
+ },
+ "6,1\n\n\n0,1",
+ {
+ "w":2.75
+ },
+ "7,2\n\n\n0,1",
+ {
+ "w":2.25
+ },
+ "6,3\n\n\n0,1",
+ {
+ "x":0,
+ "w":1.5
+ },
+ "7,4\n\n\n0,1",
+ "7,5\n\n\n0,1"
+ ],
+ [
+ {
+ "x":1.38
+ },
+ "7,1\n\n\n0,2",
+ "6,1\n\n\n0,2",
+ {
+ "w":3
+ },
+ "7,2\n\n\n0,2",
+ {
+ "w":3
+ },
+ "6,3\n\n\n0,2",
+ {
+ "x":0
+ },
+ "7,4\n\n\n0,2",
+ "7,5\n\n\n0,2"
+ ],
+ [
+ {
+ "x":1.38
+ },
+ "7,1\n\n\n0,3",
+ "6,1\n\n\n0,3",
+ {
+ "w":6
+ },
+ "7,3\n\n\n0,3",
+ {
+ "x":0
+ },
+ "7,4\n\n\n0,3",
+ "7,5\n\n\n0,3"
+ ],
+ [
+ {
+ "x":1.38,
+ "w":1.5
+ },
+ "7,1\n\n\n0,4",
+ {
+ "w":7
+ },
+ "7,3\n\n\n0,4",
+ {
+ "x":0,
+ "w":1.5
+ },
+ "7,5\n\n\n0,4"
+ ],
+ [
+ {
+ "x":1.38,
+ "w":10
+ },
+ "7,3\n\n\n0,5"
+ ]
+ ]
+ }
+}
diff --git a/keyboards/viktus/minne/keymaps/via/rules.mk b/keyboards/viktus/minne/keymaps/via/rules.mk
new file mode 100644
index 0000000000..1e5b99807c
--- /dev/null
+++ b/keyboards/viktus/minne/keymaps/via/rules.mk
@@ -0,0 +1 @@
+VIA_ENABLE = yes
diff --git a/keyboards/viktus/minne/keymaps/vial/config.h b/keyboards/viktus/minne/keymaps/vial/config.h
new file mode 100644
index 0000000000..0529deffd8
--- /dev/null
+++ b/keyboards/viktus/minne/keymaps/vial/config.h
@@ -0,0 +1,6 @@
+#pragma once
+
+#define VIAL_KEYBOARD_UID {0x38, 0x17, 0xCA, 0xBC, 0x62, 0x69, 0x28, 0x45}
+
+#define VIAL_UNLOCK_COMBO_ROWS { 1, 0 }
+#define VIAL_UNLOCK_COMBO_COLS { 0, 2 }
diff --git a/keyboards/viktus/minne/keymaps/vial/keymap.c b/keyboards/viktus/minne/keymaps/vial/keymap.c
new file mode 100644
index 0000000000..bf34ed993e
--- /dev/null
+++ b/keyboards/viktus/minne/keymaps/vial/keymap.c
@@ -0,0 +1,26 @@
+/* Copyright 2023 Viktus Design LLC
+ *
+ * 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_all(
+ 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_SCLN, KC_ENT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_RSFT, MO(1),
+ KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_SPC, KC_SPC, KC_RGUI, KC_RALT, KC_RCTL
+ )
+};
diff --git a/keyboards/viktus/minne/keymaps/vial/rules.mk b/keyboards/viktus/minne/keymaps/vial/rules.mk
new file mode 100644
index 0000000000..b1f3ec8e4d
--- /dev/null
+++ b/keyboards/viktus/minne/keymaps/vial/rules.mk
@@ -0,0 +1,4 @@
+VIA_ENABLE = yes
+VIAL_ENABLE = yes
+LTO_ENABLE = yes
+KEY_OVERRIDE_ENABLE = no
diff --git a/keyboards/viktus/minne/keymaps/vial/vial.json b/keyboards/viktus/minne/keymaps/vial/vial.json
new file mode 100644
index 0000000000..975484bf50
--- /dev/null
+++ b/keyboards/viktus/minne/keymaps/vial/vial.json
@@ -0,0 +1,180 @@
+{
+ "name": "Minne",
+ "vendorId": "0x5644",
+ "productId": "0x4D49",
+ "lighting": "qmk_rgblight",
+ "matrix": {
+ "rows": 8,
+ "cols": 7
+ },
+ "layouts": {
+ "labels": [
+ ["Bottom Row", "Dual 1.75U", "2.75U 2.25U", "Dual 3U", "6U", "7U", "10U"]
+ ],
+ "keymap": [
+ [
+ "1,0",
+ "1,1",
+ "0,1",
+ "0,2",
+ "1,2",
+ "1,3",
+ "0,3",
+ "0,4",
+ "1,4",
+ "1,5",
+ "0,5",
+ {
+ "w":1.75
+ },
+ "0,6"
+ ],
+ [
+ {
+ "w":1.25
+ },
+ "3,0",
+ "3,1",
+ "2,1",
+ "2,2",
+ "3,2",
+ "3,3",
+ "2,3",
+ "2,4",
+ "3,4",
+ "3,5",
+ "2,5",
+ {
+ "w":1.5
+ },
+ "2,6"
+ ],
+ [
+ {
+ "w":1.75
+ },
+ "5,0",
+ "5,1",
+ "4,1",
+ "4,2",
+ "5,2",
+ "5,3",
+ "4,3",
+ "4,4",
+ "5,4",
+ "5,5",
+ "4,5",
+ "4,6"
+ ],
+ [
+ {
+ "x":1.38
+ },
+ "7,1\n\n\n0,0",
+ "6,1\n\n\n0,0",
+ {
+ "w":1.25
+ },
+ "6,2\n\n\n0,0",
+ {
+ "w":1.75
+ },
+ "7,2\n\n\n0,0",
+ {
+ "w":1.75
+ },
+ "6,3\n\n\n0,0",
+ {
+ "x":0,
+ "w":1.25
+ },
+ "6,4\n\n\n0,0",
+ "7,4\n\n\n0,0",
+ "7,5\n\n\n0,0"
+ ],
+ [
+ {
+ "x":1.38
+ },
+ "7,1\n\n\n0,1",
+ {
+ "w":1.5
+ },
+ "6,1\n\n\n0,1",
+ {
+ "w":2.75
+ },
+ "7,2\n\n\n0,1",
+ {
+ "w":2.25
+ },
+ "6,3\n\n\n0,1",
+ {
+ "x":0,
+ "w":1.5
+ },
+ "7,4\n\n\n0,1",
+ "7,5\n\n\n0,1"
+ ],
+ [
+ {
+ "x":1.38
+ },
+ "7,1\n\n\n0,2",
+ "6,1\n\n\n0,2",
+ {
+ "w":3
+ },
+ "7,2\n\n\n0,2",
+ {
+ "w":3
+ },
+ "6,3\n\n\n0,2",
+ {
+ "x":0
+ },
+ "7,4\n\n\n0,2",
+ "7,5\n\n\n0,2"
+ ],
+ [
+ {
+ "x":1.38
+ },
+ "7,1\n\n\n0,3",
+ "6,1\n\n\n0,3",
+ {
+ "w":6
+ },
+ "7,3\n\n\n0,3",
+ {
+ "x":0
+ },
+ "7,4\n\n\n0,3",
+ "7,5\n\n\n0,3"
+ ],
+ [
+ {
+ "x":1.38,
+ "w":1.5
+ },
+ "7,1\n\n\n0,4",
+ {
+ "w":7
+ },
+ "7,3\n\n\n0,4",
+ {
+ "x":0,
+ "w":1.5
+ },
+ "7,5\n\n\n0,4"
+ ],
+ [
+ {
+ "x":1.38,
+ "w":10
+ },
+ "7,3\n\n\n0,5"
+ ]
+ ]
+ }
+}
diff --git a/keyboards/viktus/minne/readme.md b/keyboards/viktus/minne/readme.md
new file mode 100644
index 0000000000..6b35e5f681
--- /dev/null
+++ b/keyboards/viktus/minne/readme.md
@@ -0,0 +1,27 @@
+# Minne
+
+![minne](https://i.imgur.com/OKnryxch.png)
+
+Minne is a 40% keyboard with an HHKB bottom row.
+
+- Keyboard Maintainer: [BlindAssassin111](https://github.com/BlindAssassin111)
+- Hardware Supported: Viktus Minne MX PCB
+- Hardware Availability: Viktus Design LLC
+
+Make example for this keyboard (after setting up your build environment):
+
+ make viktus/minne:default
+
+Flashing example for this keyboard:
+
+ make viktus/minne:default:flash
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+## Bootloader
+
+Enter the bootloader in 3 ways:
+
+* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
+* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/viktus/minne/rules.mk b/keyboards/viktus/minne/rules.mk
new file mode 100644
index 0000000000..6e7633bfe0
--- /dev/null
+++ b/keyboards/viktus/minne/rules.mk
@@ -0,0 +1 @@
+# This file intentionally left blank
From 47721416a6483a1d759c21a18beae3c0cb7d3eb2 Mon Sep 17 00:00:00 2001
From: Lele
Date: Sat, 18 Mar 2023 12:31:18 +0100
Subject: [PATCH 05/69] gizmo/gk6: Add VIAL minimal support for Gizmo GK6 OLKB
(#414)
Add support for (Gixmo Engineering OLKB GK6)[https://www.gizmo.engineering/gk6/yellow_mellow]
---
.../gk6/keymaps/vial/config.h | 10 +
.../gk6/keymaps/vial/keymap.c | 104 ++++++++++
.../gk6/keymaps/vial/rules.mk | 32 ++++
.../gk6/keymaps/vial/vial.json | 177 ++++++++++++++++++
4 files changed, 323 insertions(+)
create mode 100644 keyboards/gizmo_engineering/gk6/keymaps/vial/config.h
create mode 100755 keyboards/gizmo_engineering/gk6/keymaps/vial/keymap.c
create mode 100644 keyboards/gizmo_engineering/gk6/keymaps/vial/rules.mk
create mode 100644 keyboards/gizmo_engineering/gk6/keymaps/vial/vial.json
diff --git a/keyboards/gizmo_engineering/gk6/keymaps/vial/config.h b/keyboards/gizmo_engineering/gk6/keymaps/vial/config.h
new file mode 100644
index 0000000000..820c2c1f2f
--- /dev/null
+++ b/keyboards/gizmo_engineering/gk6/keymaps/vial/config.h
@@ -0,0 +1,10 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+
+#pragma once
+
+#define VIAL_KEYBOARD_UID {0xC8, 0xEE, 0x5B, 0x6B, 0xF1, 0x95, 0x3E, 0xE0}
+
+#define VIAL_UNLOCK_COMBO_ROWS { 0, 0 }
+#define VIAL_UNLOCK_COMBO_COLS { 0, 1 }
+
+#define DYNAMIC_KEYMAP_LAYER_COUNT 4
diff --git a/keyboards/gizmo_engineering/gk6/keymaps/vial/keymap.c b/keyboards/gizmo_engineering/gk6/keymaps/vial/keymap.c
new file mode 100755
index 0000000000..ad357648ac
--- /dev/null
+++ b/keyboards/gizmo_engineering/gk6/keymaps/vial/keymap.c
@@ -0,0 +1,104 @@
+/* Copyright 2021 Gizmo Engineering
+ *
+ * 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
+
+enum layers {
+ _QWERTY,
+ _LOWER,
+ _RAISE,
+};
+
+#define LOWER MO(_LOWER)
+#define RAISE MO(_RAISE)
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+/* Qwerty
+ * ,-----------------------------------------------------------------------------------.
+ * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | / |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Tab | Q | W | E | R | T | Y | U | I | O | P | Del |
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * | CTRL | A | S | D | F | G | H | J | K | L | ; | ' |
+ * |------+------+------+------+------+------|------+------+------+------+------+------|
+ * | Shift| Z | X | C | V | B | N | M | , | . | Up |Enter |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Esc | GUI | Alt |Lower | Backspace | Space |Raise | Left | Down |Right |
+ * `-----------------------------------------------------------------------------------'
+ */
+[_QWERTY] = LAYOUT_gk6_2x2u(
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_SLSH,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL,
+ KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_UP, KC_ENT,
+ KC_LCTL, KC_LGUI, KC_LALT, LOWER, KC_BSPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_RGHT
+),
+
+/* Raise
+ * ,-----------------------------------------------------------------------------------.
+ * | | | | | | | | | | | | |
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * | | | | | | | | _ | + | { | } | |
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * | | | | | | | | - | = | [ | ] | |
+ * |------+------+------+------+------+------|------+------+------+------+------+------|
+ * | |RGB_TG|RGB_M |RGB_HU|RGB_SI|RGB_VI|RGB_SP| | | | | | \ |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * |Debug | | | | | | | | |R Alt |
+ * `-----------------------------------------------------------------------------------'
+ */
+[_RAISE] = LAYOUT_gk6_2x2u(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, _______,
+ _______, _______, _______, _______, _______, _______, _______, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, _______,
+ _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, _______, _______, _______, KC_PIPE, KC_BSLS,
+ DEBUG, _______, _______, _______, _______, _______, _______, _______, _______, KC_RALT
+),
+
+/* Lower
+ * ,-----------------------------------------------------------------------------------.
+ * | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | CAPS | PSCR | | | | | | | | | | |
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * | | Home | End | Ins | Play | | | | | | | |
+ * |------+------+------+------+------+------|------+------+------+------+------+------|
+ * | | << | >> | Mute | Vol- | Vol+ | | | | | PgUp | |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | | | | | | | | PgDn | |
+ * `-----------------------------------------------------------------------------------'
+ */
+[_LOWER] = LAYOUT_gk6_2x2u(
+ 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_CAPS, KC_PSCR, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, KC_HOME, KC_END, KC_INS, KC_MPLY, _______, _______, _______, _______, _______, _______, _______,
+ _______, KC_MPRV, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, _______, KC_PGUP, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, KC_PGDN, _______
+),
+
+};
+
+#ifdef RGB_MATRIX_ENABLE
+void rgb_matrix_indicators_user(void)
+{
+ rgb_matrix_set_color(24, 0, 0, 0);
+ rgb_matrix_set_color(30, 0, 0, 0);
+ rgb_matrix_set_color(35, 0, 0, 0);
+ rgb_matrix_set_color(36, 0, 0, 0);
+ rgb_matrix_set_color(41, 0, 0, 0);
+}
+#endif
diff --git a/keyboards/gizmo_engineering/gk6/keymaps/vial/rules.mk b/keyboards/gizmo_engineering/gk6/keymaps/vial/rules.mk
new file mode 100644
index 0000000000..a4ef3930cb
--- /dev/null
+++ b/keyboards/gizmo_engineering/gk6/keymaps/vial/rules.mk
@@ -0,0 +1,32 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+BOOTLOADER = atmel-dfu
+
+# Build Options
+# change yes to no to disable
+
+VIA_ENABLE = yes
+VIAL_ENABLE = yes
+
+# reduce size
+LTO_ENABLE = yes
+QMK_SETTINGS = no
+TAP_DANCE_ENABLE = yes
+COMBO_ENABLE = yes
+KEY_OVERRIDE_ENABLE = no
+
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = no # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = no # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
+NKRO_ENABLE = no # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
+
+RGB_MATRIX_ENABLE = yes
+RGB_MATRIX_DRIVER = IS31FL3731
diff --git a/keyboards/gizmo_engineering/gk6/keymaps/vial/vial.json b/keyboards/gizmo_engineering/gk6/keymaps/vial/vial.json
new file mode 100644
index 0000000000..f274cd4ced
--- /dev/null
+++ b/keyboards/gizmo_engineering/gk6/keymaps/vial/vial.json
@@ -0,0 +1,177 @@
+{
+ "name": "Gizmo Engineering GK6",
+ "vendorId": "0x6532",
+ "productId": "0x0001",
+ "lighting": "none",
+ "matrix": {
+ "rows": 5,
+ "cols": 12
+ },
+ "layouts": {
+ "labels": [["Bottom Row", "Default", "1x2U", "5x12 1U"]],
+ "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"
+ ],
+ [
+ {
+ "c": "#777777"
+ },
+ "1,0",
+ {
+ "c": "#cccccc"
+ },
+ "1,1",
+ "1,2",
+ "1,3",
+ "1,4",
+ "1,5",
+ "1,6",
+ "1,7",
+ "1,8",
+ "1,9",
+ "1,10",
+ {
+ "c": "#777777"
+ },
+ "1,11"
+ ],
+ [
+ {
+ "c": "#aaaaaa"
+ },
+ "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"
+ },
+ "3,0",
+ {
+ "c": "#cccccc"
+ },
+ "3,1",
+ "3,2",
+ "3,3",
+ "3,4",
+ "3,5",
+ "3,6",
+ "3,7",
+ "3,8",
+ "3,9",
+ {
+ "c": "#777777"
+ },
+ "3,10",
+ "3,11"
+ ],
+ [
+ "4,0\n\n\n0,0",
+ {
+ "c": "#aaaaaa"
+ },
+ "4,1\n\n\n0,0",
+ "4,2\n\n\n0,0",
+ "4,3\n\n\n0,0",
+ {
+ "c": "#777777",
+ "w": 2
+ },
+ "4,4\n\n\n0,0",
+ {
+ "w": 2
+ },
+ "4,7\n\n\n0,0",
+ {
+ "c": "#aaaaaa"
+ },
+ "4,8\n\n\n0,0",
+ {
+ "c": "#777777"
+ },
+ "4,9\n\n\n0,0",
+ "4,10\n\n\n0,0",
+ "4,11\n\n\n0,0"
+ ],
+ [
+ "4,0\n\n\n0,1",
+ {
+ "c": "#aaaaaa"
+ },
+ "4,1\n\n\n0,1",
+ "4,2\n\n\n0,1",
+ "4,3\n\n\n0,1",
+ {
+ "c": "#777777"
+ },
+ "4,4\n\n\n0,1",
+ {
+ "w": 2
+ },
+ "4,5\n\n\n0,1",
+ {
+ "c": "#aaaaaa"
+ },
+ "4,7\n\n\n0,1",
+ "4,8\n\n\n0,1",
+ {
+ "c": "#777777"
+ },
+ "4,9\n\n\n0,1",
+ "4,10\n\n\n0,1",
+ "4,11\n\n\n0,1"
+ ],
+ [
+ "4,0\n\n\n0,2",
+ {
+ "c": "#aaaaaa"
+ },
+ "4,1\n\n\n0,2",
+ "4,2\n\n\n0,2",
+ "4,3\n\n\n0,2",
+ {
+ "c": "#777777"
+ },
+ "4,4\n\n\n0,2",
+ "4,5\n\n\n0,2",
+ "4,6\n\n\n0,2",
+ {
+ "c": "#aaaaaa"
+ },
+ "4,7\n\n\n0,2",
+ "4,8\n\n\n0,2",
+ {
+ "c": "#777777"
+ },
+ "4,9\n\n\n0,2",
+ "4,10\n\n\n0,2",
+ "4,11\n\n\n0,2"
+ ]
+ ]
+ }
+}
From 594c3eeef28fe0e0b7d090e3e487cf3406ed6b13 Mon Sep 17 00:00:00 2001
From: Patrick Muldoon
Date: Tue, 28 Mar 2023 18:47:12 -0700
Subject: [PATCH 06/69] add vial support for mode 80 (2020 edition) Solder
(#418)
---
.../mode/m80v1/m80s/keymaps/vial/config.h | 8 +
.../mode/m80v1/m80s/keymaps/vial/keymap.c | 42 +++
.../mode/m80v1/m80s/keymaps/vial/rules.mk | 2 +
.../mode/m80v1/m80s/keymaps/vial/vial.json | 257 ++++++++++++++++++
4 files changed, 309 insertions(+)
create mode 100644 keyboards/mode/m80v1/m80s/keymaps/vial/config.h
create mode 100644 keyboards/mode/m80v1/m80s/keymaps/vial/keymap.c
create mode 100644 keyboards/mode/m80v1/m80s/keymaps/vial/rules.mk
create mode 100644 keyboards/mode/m80v1/m80s/keymaps/vial/vial.json
diff --git a/keyboards/mode/m80v1/m80s/keymaps/vial/config.h b/keyboards/mode/m80v1/m80s/keymaps/vial/config.h
new file mode 100644
index 0000000000..f3a0d8c320
--- /dev/null
+++ b/keyboards/mode/m80v1/m80s/keymaps/vial/config.h
@@ -0,0 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+
+#pragma once
+
+#define VIAL_KEYBOARD_UID {0xB5, 0x6B, 0xC8, 0x13, 0xD3, 0xF2, 0x3E, 0x53}
+/* enter key as unlock */
+#define VIAL_UNLOCK_COMBO_ROWS { 0, 3 }
+#define VIAL_UNLOCK_COMBO_COLS { 0, 12 }
diff --git a/keyboards/mode/m80v1/m80s/keymaps/vial/keymap.c b/keyboards/mode/m80v1/m80s/keymaps/vial/keymap.c
new file mode 100644
index 0000000000..6712f9e1c6
--- /dev/null
+++ b/keyboards/mode/m80v1/m80s/keymaps/vial/keymap.c
@@ -0,0 +1,42 @@
+ /*
+Copyright 2012,2013 Jun Wako
+
+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
+enum layer_names {
+ _BASE,
+ _FN1
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ [_BASE] = LAYOUT_eighty_m80s(
+ 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_BSPC, KC_MUTE, KC_VOLD, KC_VOLU,
+ 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_INS, KC_HOME, KC_PGUP,
+ 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_DEL, KC_END, KC_PGDN,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), KC_UP,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
+
+ [_FN1] = LAYOUT_eighty_m80s(
+ QK_BOOT, 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, 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/mode/m80v1/m80s/keymaps/vial/rules.mk b/keyboards/mode/m80v1/m80s/keymaps/vial/rules.mk
new file mode 100644
index 0000000000..b60410dc1a
--- /dev/null
+++ b/keyboards/mode/m80v1/m80s/keymaps/vial/rules.mk
@@ -0,0 +1,2 @@
+VIA_ENABLE = yes
+VIAL_ENABLE = yes
diff --git a/keyboards/mode/m80v1/m80s/keymaps/vial/vial.json b/keyboards/mode/m80v1/m80s/keymaps/vial/vial.json
new file mode 100644
index 0000000000..d2442e9cc8
--- /dev/null
+++ b/keyboards/mode/m80v1/m80s/keymaps/vial/vial.json
@@ -0,0 +1,257 @@
+{
+ "name": "Mode Eighty M80S",
+ "vendorId": "0x00DE",
+ "productId": "0x0080",
+ "lighting": "none",
+ "matrix": {
+ "rows": 6,
+ "cols": 16
+ },
+ "layouts": {
+ "labels": ["Split backspace", "Split Right Shift", "7U bottom row"],
+ "keymap": [
+ [
+ {
+ "c": "#777777"
+ },
+ "0,0",
+ {
+ "x": 1,
+ "c": "#cccccc"
+ },
+ "0,1",
+ "0,2",
+ "0,3",
+ "0,4",
+ {
+ "x": 0.5,
+ "c": "#aaaaaa"
+ },
+ "0,5",
+ "0,6",
+ "0,7",
+ "0,8",
+ {
+ "x": 0.5,
+ "c": "#cccccc"
+ },
+ "0,9",
+ "0,10",
+ "0,11",
+ "0,12",
+ {
+ "x": 0.25
+ },
+ "0,13",
+ "0,14",
+ "0,15"
+ ],
+ [
+ {
+ "y": 0.5,
+ "c": "#777777"
+ },
+ "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
+ },
+ "3,13\n\n\n0,0",
+ {
+ "x": 0.25,
+ "c": "#cccccc"
+ },
+ "1,13",
+ "1,14",
+ "1,15",
+ {
+ "x": 1.25
+ },
+ "3,13\n\n\n0,1",
+ "3,14\n\n\n0,1"
+ ],
+ [
+ {
+ "c": "#aaaaaa",
+ "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
+ },
+ "4,13",
+ {
+ "x": 0.25,
+ "c": "#cccccc"
+ },
+ "2,13",
+ "2,14",
+ "2,15"
+ ],
+ [
+ {
+ "c": "#aaaaaa",
+ "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,12"
+ ],
+ [
+ {
+ "c": "#aaaaaa",
+ "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": 2.75
+ },
+ "4,11\n\n\n1,0",
+ {
+ "x": 1.25,
+ "c": "#777777"
+ },
+ "4,14",
+ {
+ "x": 2.25,
+ "c": "#cccccc",
+ "w": 1.75
+ },
+ "4,11\n\n\n1,1",
+ "4,12\n\n\n1,1"
+ ],
+ [
+ {
+ "c": "#aaaaaa",
+ "w": 1.25
+ },
+ "5,0\n\n\n2,0",
+ {
+ "w": 1.25
+ },
+ "5,1\n\n\n2,0",
+ {
+ "w": 1.25
+ },
+ "5,2\n\n\n2,0",
+ {
+ "c": "#cccccc",
+ "w": 6.25
+ },
+ "5,6\n\n\n2,0",
+ {
+ "c": "#aaaaaa",
+ "w": 1.25
+ },
+ "5,9\n\n\n2,0",
+ {
+ "w": 1.25
+ },
+ "5,10\n\n\n2,0",
+ {
+ "w": 1.25
+ },
+ "5,11\n\n\n2,0",
+ {
+ "w": 1.25
+ },
+ "5,12\n\n\n2,0",
+ {
+ "x": 0.25,
+ "c": "#777777"
+ },
+ "5,13",
+ "5,14",
+ "5,15"
+ ],
+ [
+ {
+ "y": 0.25,
+ "c": "#cccccc",
+ "w": 1.5
+ },
+ "5,0\n\n\n2,1",
+ "5,1\n\n\n2,1",
+ {
+ "w": 1.5
+ },
+ "5,2\n\n\n2,1",
+ {
+ "w": 7
+ },
+ "5,6\n\n\n2,1",
+ {
+ "w": 1.5
+ },
+ "5,10\n\n\n2,1",
+ "5,11\n\n\n2,1",
+ {
+ "w": 1.5
+ },
+ "5,12\n\n\n2,1"
+ ]
+ ]
+ }
+}
From b291cd25862f69c13468e6744d0cb86caf153601 Mon Sep 17 00:00:00 2001
From: Andrew Litt
Date: Tue, 28 Mar 2023 20:48:18 -0500
Subject: [PATCH 07/69] Add Koolertron AMAG09 9 key macropad (#421)
* Add Koolertron AMAG09 9 key macropad
* Fix default keymap for koolertron/amag09
* Move as much as possible from C into info.json, fix layout name, and remove unnecessary LOCKING_ flags
---
keyboards/koolertron/amag09/info.json | 48 ++++++++++++++++++
.../amag09/keymaps/default/keymap.c | 49 +++++++++++++++++++
.../koolertron/amag09/keymaps/vial/config.h | 9 ++++
.../koolertron/amag09/keymaps/vial/keymap.c | 49 +++++++++++++++++++
.../koolertron/amag09/keymaps/vial/rules.mk | 3 ++
.../koolertron/amag09/keymaps/vial/vial.json | 29 +++++++++++
keyboards/koolertron/amag09/readme.md | 29 +++++++++++
keyboards/koolertron/amag09/rules.mk | 1 +
8 files changed, 217 insertions(+)
create mode 100644 keyboards/koolertron/amag09/info.json
create mode 100644 keyboards/koolertron/amag09/keymaps/default/keymap.c
create mode 100644 keyboards/koolertron/amag09/keymaps/vial/config.h
create mode 100644 keyboards/koolertron/amag09/keymaps/vial/keymap.c
create mode 100644 keyboards/koolertron/amag09/keymaps/vial/rules.mk
create mode 100644 keyboards/koolertron/amag09/keymaps/vial/vial.json
create mode 100644 keyboards/koolertron/amag09/readme.md
create mode 100644 keyboards/koolertron/amag09/rules.mk
diff --git a/keyboards/koolertron/amag09/info.json b/keyboards/koolertron/amag09/info.json
new file mode 100644
index 0000000000..68d62403b9
--- /dev/null
+++ b/keyboards/koolertron/amag09/info.json
@@ -0,0 +1,48 @@
+{
+ "keyboard_name": "AMAG09",
+ "manufacturer": "Koolertron",
+ "url": "http://www.koolertron.com/koolertron-one-handed-macro-mechanical-keyboard-rgb-led-backlit-portable-mini-onehanded-mechanical-gaming-keypad-23-fully-programmable-keys-blue-switches-p-874.html",
+ "maintainer": "al177",
+ "usb": {
+ "vid": "0x4B54",
+ "pid": "0x2323",
+ "device_version": "0.0.1"
+ },
+ "bootloader": "bootloadhid",
+ "processor": "atmega32a",
+ "features": {
+ "backlight": true,
+ "bootmagic": true,
+ "command": false,
+ "console": false,
+ "extrakey": true,
+ "mousekey": true
+ },
+ "diode_direction": "ROW2COL",
+ "matrix_size": {
+ "cols": 3,
+ "rows": 3
+ },
+ "matrix_pins": {
+ "cols": ["B0", "B1", "B2"],
+ "rows": ["A0", "A1", "A2"]
+ },
+ "backlight": {
+ "pin": "D4"
+ },
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ {"label":"K00", "matrix": [0, 0], "x":0, "y":0},
+ {"label":"K01", "matrix": [0, 1], "x":1, "y":0},
+ {"label":"K02", "matrix": [0, 2], "x":2, "y":0},
+ {"label":"K10", "matrix": [1, 0], "x":0, "y":1},
+ {"label":"K11", "matrix": [1, 1], "x":1, "y":1},
+ {"label":"K12", "matrix": [1, 2], "x":2, "y":1},
+ {"label":"K20", "matrix": [2, 0], "x":0, "y":2},
+ {"label":"K21", "matrix": [2, 1], "x":1, "y":2},
+ {"label":"K22", "matrix": [2, 2], "x":2, "y":2}
+ ]
+ }
+ }
+}
diff --git a/keyboards/koolertron/amag09/keymaps/default/keymap.c b/keyboards/koolertron/amag09/keymaps/default/keymap.c
new file mode 100644
index 0000000000..4dcdf5cf8a
--- /dev/null
+++ b/keyboards/koolertron/amag09/keymaps/default/keymap.c
@@ -0,0 +1,49 @@
+/* Copyright 2023
+ *
+ * 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
+
+// Defines names for use in layer keycodes and the keymap
+enum layer_names {
+ BASE,
+ FN1,
+ FN2,
+ FN3
+};
+
+// clang-format off
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [BASE] = LAYOUT(
+ KC_KP_7, KC_KP_8, KC_KP_9,
+ KC_KP_4, KC_KP_5, KC_KP_6,
+ KC_KP_1, KC_KP_2, KC_KP_3
+ ),
+ [FN1] = LAYOUT(
+ _______, _______, _______,
+ _______, _______, _______,
+ _______, _______, _______
+ ),
+ [FN2] = LAYOUT(
+ _______, _______, _______,
+ _______, _______, _______,
+ _______, _______, _______
+ ),
+ [FN3] = LAYOUT(
+ _______, _______, _______,
+ _______, _______, _______,
+ _______, _______, _______
+ ),
+};
+// clang-format on
diff --git a/keyboards/koolertron/amag09/keymaps/vial/config.h b/keyboards/koolertron/amag09/keymaps/vial/config.h
new file mode 100644
index 0000000000..cdd63d48e4
--- /dev/null
+++ b/keyboards/koolertron/amag09/keymaps/vial/config.h
@@ -0,0 +1,9 @@
+/* Vial configuration */
+
+#pragma once
+
+#define VIAL_KEYBOARD_UID {0x1C, 0xA6, 0x8B, 0xCD, 0xCB, 0x42, 0x5C, 0x6F}
+
+
+#define VIAL_UNLOCK_COMBO_ROWS { 0, 2 }
+#define VIAL_UNLOCK_COMBO_COLS { 2, 0 }
diff --git a/keyboards/koolertron/amag09/keymaps/vial/keymap.c b/keyboards/koolertron/amag09/keymaps/vial/keymap.c
new file mode 100644
index 0000000000..e96512ae23
--- /dev/null
+++ b/keyboards/koolertron/amag09/keymaps/vial/keymap.c
@@ -0,0 +1,49 @@
+/* Copyright 2023
+ *
+ * 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
+
+// Defines names for use in layer keycodes and the keymap
+enum layer_names {
+ BASE,
+ FN1,
+ FN2,
+ FN3
+};
+
+// clang-format off
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [BASE] = LAYOUT(
+ KC_KP_7, KC_KP_8, KC_KP_9,
+ KC_KP_4, KC_KP_5, KC_KP_6,
+ MO(FN1), KC_KP_2, KC_KP_3
+ ),
+ [FN1] = LAYOUT(
+ BL_TOGG, _______, _______,
+ _______, _______, _______,
+ _______, _______, _______
+ ),
+ [FN2] = LAYOUT(
+ _______, _______, _______,
+ _______, _______, _______,
+ _______, _______, _______
+ ),
+ [FN3] = LAYOUT(
+ _______, _______, _______,
+ _______, _______, _______,
+ _______, _______, _______
+ ),
+};
+// clang-format on
diff --git a/keyboards/koolertron/amag09/keymaps/vial/rules.mk b/keyboards/koolertron/amag09/keymaps/vial/rules.mk
new file mode 100644
index 0000000000..46f9f1360f
--- /dev/null
+++ b/keyboards/koolertron/amag09/keymaps/vial/rules.mk
@@ -0,0 +1,3 @@
+VIA_ENABLE = yes
+VIAL_ENABLE = yes
+LTO_ENABLE = yes
diff --git a/keyboards/koolertron/amag09/keymaps/vial/vial.json b/keyboards/koolertron/amag09/keymaps/vial/vial.json
new file mode 100644
index 0000000000..31f380ce89
--- /dev/null
+++ b/keyboards/koolertron/amag09/keymaps/vial/vial.json
@@ -0,0 +1,29 @@
+{
+ "name": "Koolertron AMAG09",
+ "vendorId": "0x4B54",
+ "productId": "0x2323",
+ "lighting": "qmk_backlight",
+ "matrix" : {
+ "rows": 3,
+ "cols": 3
+ },
+ "layouts" : {
+ "keymap" : [
+ [
+ "0,0",
+ "0,1",
+ "0,2"
+ ],
+ [
+ "1,0",
+ "1,1",
+ "1,2"
+ ],
+ [
+ "2,0",
+ "2,1",
+ "2,2"
+ ]
+ ]
+ }
+}
diff --git a/keyboards/koolertron/amag09/readme.md b/keyboards/koolertron/amag09/readme.md
new file mode 100644
index 0000000000..07782c496c
--- /dev/null
+++ b/keyboards/koolertron/amag09/readme.md
@@ -0,0 +1,29 @@
+# AMAG09 (Koolertron)
+
+![Koolertron AMAG09](https://i.imgur.com/mepvkTe.jpg)
+
+One Handed Macro Mechanical Keyboard, 9 Key with optional RGB backlighting.
+
+- Keyboard Maintainer: [al177](https://github.com/al177)
+- Hardware Supported: AMAG09 (ATmega32A)
+- Hardware Availability:
+ - [Amazon](https://www.amazon.com/Koolertron-Mechanical-Keyboard-One-Handed-Programmable/dp/B0998QM9L2)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make koolertron/amag09:default
+
+Flashing example for this keyboard ([after setting up the bootloadHID flashing environment](https://docs.qmk.fm/#/flashing_bootloadhid))
+
+ make amag09:default:flash
+ make amag09:vial:flash
+
+**Reset Key**: Hold down the *upper left* key while plugging in the keyboard.
+
+**Tips**:
+- The keyboard comes with bootloadHID installed from factory.
+- The configuration here is for the single color LED keyboard. RGB versions are presumed to be i2c like the amag23
+
+Based on keyboards/amag23 by ianmclinden
+
+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/koolertron/amag09/rules.mk b/keyboards/koolertron/amag09/rules.mk
new file mode 100644
index 0000000000..ad892c12c4
--- /dev/null
+++ b/keyboards/koolertron/amag09/rules.mk
@@ -0,0 +1 @@
+# Placeholder so this board is recognized as a target
From 91795779a63cf48c7c549e21943829b50ffa6276 Mon Sep 17 00:00:00 2001
From: blindassassin111 <38090555+blindassassin111@users.noreply.github.com>
Date: Tue, 28 Mar 2023 20:48:54 -0500
Subject: [PATCH 08/69] Update viktus/minne info.JSON (#422)
* Update info.JSON to match QMK repo modification
* Disabling extrakeys and mousekeys in vial rules.mk
---
keyboards/viktus/minne/info.json | 4 +-
keyboards/viktus/minne/keymaps/via/minne.json | 37 ++++++++++++++++---
keyboards/viktus/minne/keymaps/vial/rules.mk | 2 +
3 files changed, 36 insertions(+), 7 deletions(-)
diff --git a/keyboards/viktus/minne/info.json b/keyboards/viktus/minne/info.json
index a3c2d64511..396aca8bcd 100644
--- a/keyboards/viktus/minne/info.json
+++ b/keyboards/viktus/minne/info.json
@@ -15,8 +15,8 @@
"bootmagic": true,
"command": false,
"console": false,
- "extrakey": false,
- "mousekey": false,
+ "extrakey": true,
+ "mousekey": true,
"nkro": true
},
"bootmagic": {
diff --git a/keyboards/viktus/minne/keymaps/via/minne.json b/keyboards/viktus/minne/keymaps/via/minne.json
index 8df39108cc..e715a8a452 100644
--- a/keyboards/viktus/minne/keymaps/via/minne.json
+++ b/keyboards/viktus/minne/keymaps/via/minne.json
@@ -14,8 +14,17 @@
],
"keymap": [
[
+ {
+ "c":"#777777"
+ },
"1,0",
+ {
+ "c":"#aaaaaa"
+ },
"1,1",
+ {
+ "c":"#cccccc"
+ },
"0,1",
"0,2",
"1,2",
@@ -26,6 +35,7 @@
"1,5",
"0,5",
{
+ "c":"#aaaaaa",
"w":1.75
},
"0,6"
@@ -35,6 +45,9 @@
"w":1.25
},
"3,0",
+ {
+ "c":"#cccccc"
+ },
"3,1",
"2,1",
"2,2",
@@ -46,15 +59,20 @@
"3,5",
"2,5",
{
+ "c":"#777777",
"w":1.5
},
"2,6"
],
[
{
+ "c":"#aaaaaa",
"w":1.75
},
"5,0",
+ {
+ "c":"#cccccc"
+ },
"5,1",
"4,1",
"4,2",
@@ -65,6 +83,9 @@
"5,4",
"5,5",
"4,5",
+ {
+ "c":"#aaaaaa"
+ },
"4,6"
],
[
@@ -78,6 +99,7 @@
},
"6,2\n\n\n0,0",
{
+ "c":"#cccccc",
"w":1.75
},
"7,2\n\n\n0,0",
@@ -86,7 +108,7 @@
},
"6,3\n\n\n0,0",
{
- "x":0,
+ "c":"#aaaaaa",
"w":1.25
},
"6,4\n\n\n0,0",
@@ -103,6 +125,7 @@
},
"6,1\n\n\n0,1",
{
+ "c":"#cccccc",
"w":2.75
},
"7,2\n\n\n0,1",
@@ -111,7 +134,7 @@
},
"6,3\n\n\n0,1",
{
- "x":0,
+ "c":"#aaaaaa",
"w":1.5
},
"7,4\n\n\n0,1",
@@ -124,6 +147,7 @@
"7,1\n\n\n0,2",
"6,1\n\n\n0,2",
{
+ "c":"#cccccc",
"w":3
},
"7,2\n\n\n0,2",
@@ -132,7 +156,7 @@
},
"6,3\n\n\n0,2",
{
- "x":0
+ "c":"#aaaaaa"
},
"7,4\n\n\n0,2",
"7,5\n\n\n0,2"
@@ -144,11 +168,12 @@
"7,1\n\n\n0,3",
"6,1\n\n\n0,3",
{
+ "c":"#cccccc",
"w":6
},
"7,3\n\n\n0,3",
{
- "x":0
+ "c":"#aaaaaa"
},
"7,4\n\n\n0,3",
"7,5\n\n\n0,3"
@@ -160,11 +185,12 @@
},
"7,1\n\n\n0,4",
{
+ "c":"#cccccc",
"w":7
},
"7,3\n\n\n0,4",
{
- "x":0,
+ "c":"#aaaaaa",
"w":1.5
},
"7,5\n\n\n0,4"
@@ -172,6 +198,7 @@
[
{
"x":1.38,
+ "c":"#cccccc",
"w":10
},
"7,3\n\n\n0,5"
diff --git a/keyboards/viktus/minne/keymaps/vial/rules.mk b/keyboards/viktus/minne/keymaps/vial/rules.mk
index b1f3ec8e4d..b993c43f1c 100644
--- a/keyboards/viktus/minne/keymaps/vial/rules.mk
+++ b/keyboards/viktus/minne/keymaps/vial/rules.mk
@@ -2,3 +2,5 @@ VIA_ENABLE = yes
VIAL_ENABLE = yes
LTO_ENABLE = yes
KEY_OVERRIDE_ENABLE = no
+EXTRAKEY_ENABLE = no
+MOUSEKEY_ENABLE = no
From 8015280c80c6f50aadf8d8f4203f75bf4f497cc2 Mon Sep 17 00:00:00 2001
From: rachmansyahbs
Date: Wed, 29 Mar 2023 09:49:19 +0800
Subject: [PATCH 09/69] Add vial keymap for Pearlboards Pandora with encoder
support (#423)
---
.../pearlboards/pandora/keymaps/vial/config.h | 14 ++
.../pearlboards/pandora/keymaps/vial/keymap.c | 82 +++++++++++
.../pearlboards/pandora/keymaps/vial/rules.mk | 8 +
.../pandora/keymaps/vial/vial.json | 137 ++++++++++++++++++
4 files changed, 241 insertions(+)
create mode 100644 keyboards/pearlboards/pandora/keymaps/vial/config.h
create mode 100644 keyboards/pearlboards/pandora/keymaps/vial/keymap.c
create mode 100644 keyboards/pearlboards/pandora/keymaps/vial/rules.mk
create mode 100644 keyboards/pearlboards/pandora/keymaps/vial/vial.json
diff --git a/keyboards/pearlboards/pandora/keymaps/vial/config.h b/keyboards/pearlboards/pandora/keymaps/vial/config.h
new file mode 100644
index 0000000000..f3c405bcb2
--- /dev/null
+++ b/keyboards/pearlboards/pandora/keymaps/vial/config.h
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+
+#pragma once
+
+#define VIAL_KEYBOARD_UID {0x96, 0xA0, 0x33, 0x0C, 0x28, 0x21, 0x96, 0x63}
+
+#define VIAL_UNLOCK_COMBO_ROWS { 0, 2 }
+#define VIAL_UNLOCK_COMBO_COLS { 0, 13 }
+
+#undef ENCODER_RESOLUTION
+#define ENCODER_RESOLUTION 4
+
+// space saving measures
+#define VIAL_COMBO_ENTRIES 2
diff --git a/keyboards/pearlboards/pandora/keymaps/vial/keymap.c b/keyboards/pearlboards/pandora/keymaps/vial/keymap.c
new file mode 100644
index 0000000000..fb766287a9
--- /dev/null
+++ b/keyboards/pearlboards/pandora/keymaps/vial/keymap.c
@@ -0,0 +1,82 @@
+/*
+Copyright 2021 Koobaczech
+
+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
+
+enum custom_keycodes {
+ RGBWINGS = SAFE_RANGE,
+};
+
+/* Function to only light up winglets RGB. Must be done in static RGB mode */
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ switch (keycode) {
+ case RGBWINGS:
+ if (record->event.pressed) {
+ /* Blackout these RGB components */
+ tap_code16(RGB_MODE_PLAIN);
+ rgblight_setrgb_at(0, 0, 0, 0);
+ rgblight_setrgb_at(0, 0, 0, 1);
+ rgblight_setrgb_at(0, 0, 0, 4);
+ rgblight_setrgb_at(0, 0, 0, 5);
+ rgblight_setrgb_at(0, 0, 0, 6);
+ rgblight_setrgb_at(0, 0, 0, 7);
+ rgblight_setrgb_at(0, 0, 0, 10);
+ rgblight_setrgb_at(0, 0, 0, 11);
+ }
+ break;
+ }
+ return true;
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [0] = LAYOUT_all(
+ KC_GESC, 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_DEL, KC_BSPC,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT,
+ KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1),
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL),
+
+ [1] = LAYOUT_all(
+ QK_BOOT, 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_DEL,
+ KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, 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_UP, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, RGBWINGS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT),
+
+ [2] = LAYOUT_all(
+ 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, 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),
+
+ [3] = LAYOUT_all(
+ 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, 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)
+};
+
+#if defined(ENCODER_MAP_ENABLE)
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+ [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
+ [1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
+ [2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
+ [3] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
+};
+#endif
diff --git a/keyboards/pearlboards/pandora/keymaps/vial/rules.mk b/keyboards/pearlboards/pandora/keymaps/vial/rules.mk
new file mode 100644
index 0000000000..acd7bd5f3f
--- /dev/null
+++ b/keyboards/pearlboards/pandora/keymaps/vial/rules.mk
@@ -0,0 +1,8 @@
+VIA_ENABLE = yes
+VIAL_ENABLE = yes
+ENCODER_MAP_ENABLE = yes
+# space saving measures
+LTO_ENABLE = yes
+TAP_DANCE_ENABLE = no
+KEY_OVERRIDE_ENABLE = no
+QMK_SETTINGS = no
diff --git a/keyboards/pearlboards/pandora/keymaps/vial/vial.json b/keyboards/pearlboards/pandora/keymaps/vial/vial.json
new file mode 100644
index 0000000000..3811c4bc7a
--- /dev/null
+++ b/keyboards/pearlboards/pandora/keymaps/vial/vial.json
@@ -0,0 +1,137 @@
+{
+ "name": "Pandora - By Koobaczech",
+ "vendorId": "0x6963",
+ "productId": "0x6963",
+ "lighting": "qmk_rgblight",
+ "matrix": {"rows": 5, "cols": 15},
+ "layouts": {
+ "labels": [
+ ["Backspace", "Split", "Full"],
+ ["Enter", "ISO", "ANSI"],
+ ["Left Shift", "Split", "Full"],
+ ["Right Shift", "Split", "Full"],
+ ["Bottom Row", "ANSI", "Tsangan"]
+ ],
+ "keymap": [
+ [ {"x":8.75}, "0,1\n\n\n\n\n\n\n\n\ne", {"x": 1}, "0,0\n\n\n\n\n\n\n\n\ne" ],
+ [
+ { "c": "#777777", "x": 2.75 },
+ "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",
+ { "c": "#aaaaaa" },
+ "0,14\n\n\n0,0",
+ { "x": 1.25, "w": 2 },
+ "0,14\n\n\n0,1"
+ ],
+ [
+ { "w": 1.5, "x": 2.75 },
+ "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, "x": 3.25 },
+ "1,13\n\n\n1,1"
+ ],
+ [
+ { "c": "#aaaaaa", "w": 1.75, "x": 2.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": "#cccccc" },
+ "2,12\n\n\n1,0",
+ { "c": "#777777", "y": -1, "w": 1.25, "h": 2, "w2": 1.5, "h2": 1, "x2": -0.25 },
+ "2,13\n\n\n1,0",
+ { "c": "#777777", "w": 2.25, "x": 1, "y": 1 },
+ "2,13\n\n\n1,1"
+ ],
+ [
+ { "c": "#aaaaaa", "w": 2.25 },
+ "3,0\n\n\n2,1",
+ { "c": "#aaaaaa", "w": 1.25, "x": 0.5 },
+ "3,0\n\n\n2,0",
+ { "c": "#cccccc" },
+ "3,1\n\n\n2,0",
+ "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\n\n\n3,0",
+ "3,13\n\n\n3,0",
+ { "c": "#aaaaaa", "w": 2.75, "x": 0.5 },
+ "3,12\n\n\n3,1"
+ ],
+ [
+ { "w": 1.25, "x": 2.75 },
+ "4,0\n\n\n4,0",
+ { "w": 1.25 },
+ "4,1\n\n\n4,0",
+ { "w": 1.25 },
+ "4,2\n\n\n4,0",
+ { "c": "#cccccc", "w": 6.25 },
+ "4,6\n\n\n4,0",
+ { "c": "#aaaaaa", "w": 1.25 },
+ "4,10\n\n\n4,0",
+ { "w": 1.25 },
+ "4,11\n\n\n4,0",
+ { "w": 1.25 },
+ "4,12\n\n\n4,0",
+ { "w": 1.25 },
+ "4,13\n\n\n4,0"
+ ],
+ [
+ { "w": 1.5, "x": 2.75, "y": 0.5 },
+ "4,0\n\n\n4,1",
+ "4,1\n\n\n4,1",
+ { "w": 1.5 },
+ "4,2\n\n\n4,1",
+ { "c": "#cccccc", "w": 7 },
+ "4,6\n\n\n4,1",
+ { "w": 1.5 },
+ "4,11\n\n\n4,1",
+ "4,12\n\n\n4,1",
+ { "w": 1.5 },
+ "4,13\n\n\n4,1"
+ ]
+ ]
+ }
+}
From 21969eda47f4dfcfa761f411a4bad549401d3ee2 Mon Sep 17 00:00:00 2001
From: blindassassin111 <38090555+blindassassin111@users.noreply.github.com>
Date: Tue, 28 Mar 2023 20:49:45 -0500
Subject: [PATCH 10/69] Adding Viktus Minne - Topre (#424)
---
keyboards/viktus/minne_topre/ec.c | 179 ++++++++++++
keyboards/viktus/minne_topre/ec.h | 31 +++
keyboards/viktus/minne_topre/info.json | 256 ++++++++++++++++++
.../minne_topre/keymaps/default/keymap.c | 26 ++
.../viktus/minne_topre/keymaps/via/keymap.c | 26 ++
.../minne_topre/keymaps/via/minne_topre.json | 151 +++++++++++
.../viktus/minne_topre/keymaps/via/rules.mk | 1 +
.../viktus/minne_topre/keymaps/vial/config.h | 6 +
.../viktus/minne_topre/keymaps/vial/keymap.c | 26 ++
.../viktus/minne_topre/keymaps/vial/rules.mk | 6 +
.../viktus/minne_topre/keymaps/vial/vial.json | 127 +++++++++
keyboards/viktus/minne_topre/minne_topre.c | 49 ++++
keyboards/viktus/minne_topre/readme.md | 27 ++
keyboards/viktus/minne_topre/rules.mk | 3 +
14 files changed, 914 insertions(+)
create mode 100644 keyboards/viktus/minne_topre/ec.c
create mode 100644 keyboards/viktus/minne_topre/ec.h
create mode 100644 keyboards/viktus/minne_topre/info.json
create mode 100644 keyboards/viktus/minne_topre/keymaps/default/keymap.c
create mode 100644 keyboards/viktus/minne_topre/keymaps/via/keymap.c
create mode 100644 keyboards/viktus/minne_topre/keymaps/via/minne_topre.json
create mode 100644 keyboards/viktus/minne_topre/keymaps/via/rules.mk
create mode 100644 keyboards/viktus/minne_topre/keymaps/vial/config.h
create mode 100644 keyboards/viktus/minne_topre/keymaps/vial/keymap.c
create mode 100644 keyboards/viktus/minne_topre/keymaps/vial/rules.mk
create mode 100644 keyboards/viktus/minne_topre/keymaps/vial/vial.json
create mode 100644 keyboards/viktus/minne_topre/minne_topre.c
create mode 100644 keyboards/viktus/minne_topre/readme.md
create mode 100644 keyboards/viktus/minne_topre/rules.mk
diff --git a/keyboards/viktus/minne_topre/ec.c b/keyboards/viktus/minne_topre/ec.c
new file mode 100644
index 0000000000..569c878582
--- /dev/null
+++ b/keyboards/viktus/minne_topre/ec.c
@@ -0,0 +1,179 @@
+/* Copyright 2023 Viktus Design LLC
+ *
+ * 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"
+#include "ec.h"
+#include "analog.h"
+//#include "debug.h" // needed for debugging
+
+// sensing channel definitions
+#define A0 0
+#define A1 1
+#define A2 2
+#define A3 3
+#define A4 4
+#define A5 5
+#define A6 6
+#define A7 7
+
+// analog connection settings
+#define DISCHARGE_PIN D5
+#define ANALOG_PORT D4
+
+#ifndef MUX_SEL_PIN
+# define MUX_SEL_PINS \
+ { D1, D2, D3 }
+#endif
+
+// pin connections
+const uint8_t row_channels[] = MATRIX_ROW_PINS;
+const uint8_t col_pins[] = MATRIX_COL_PINS;
+const uint8_t mux_sel_pins[] = MUX_SEL_PINS;
+
+_Static_assert(sizeof(mux_sel_pins) == 3, "invalid MUX_SEL_PINS");
+
+static ec_config_t config;
+static uint16_t ec_sw_value[MATRIX_COLS][MATRIX_ROWS];
+
+static inline void discharge_capacitor(void) { setPinOutput(DISCHARGE_PIN); }
+static inline void charge_capacitor(uint8_t col) {
+ setPinInput(DISCHARGE_PIN);
+ writePinHigh(col_pins[col]);
+}
+
+static inline void clear_all_col_pins(void) {
+ for (int col = 0; col < sizeof(col_pins); col++) {
+ writePinLow(col_pins[col]);
+ }
+}
+
+void init_mux_sel(void) {
+ for (int idx = 0; idx < sizeof(mux_sel_pins); idx++) {
+ setPinOutput(mux_sel_pins[idx]);
+ }
+}
+
+void select_mux(uint8_t row) {
+ uint8_t ch = row_channels[row];
+ writePin(mux_sel_pins[0], ch & 1);
+ writePin(mux_sel_pins[1], ch & 2);
+ writePin(mux_sel_pins[2], ch & 4);
+}
+
+void init_col(void) {
+ for (int idx = 0; idx < sizeof(col_pins); idx++) {
+ setPinOutput(col_pins[idx]);
+ writePinLow(col_pins[idx]);
+ }
+}
+
+void ec_init(ec_config_t const* const ec_config) {
+ // save config
+ config = *ec_config;
+
+ // initialize discharge pin as discharge mode
+ writePinLow(DISCHARGE_PIN);
+ setPinOutput(DISCHARGE_PIN);
+
+ // set analog reference
+ analogReference(ADC_REF_POWER);
+
+ // initialize drive lines
+ init_col();
+
+ // initialize multiplexer select pin
+ init_mux_sel();
+
+ // set discharge pin to charge mode
+ setPinInput(DISCHARGE_PIN);
+}
+
+uint16_t ec_readkey_raw(uint8_t col, uint8_t row) {
+ uint16_t sw_value = 0;
+
+ discharge_capacitor();
+
+ select_mux(row);
+
+ clear_all_col_pins();
+
+ cli();
+
+ charge_capacitor(col);
+
+ sw_value = analogReadPin(ANALOG_PORT);
+
+ sei();
+
+ return sw_value;
+}
+
+bool ec_update_key(matrix_row_t* current_row, matrix_row_t col, uint16_t sw_value, uint16_t reset_pt, uint16_t actuation_pt) {
+ bool current_state = (*current_row >> col) & 1;
+
+ // press to release
+ if (current_state && sw_value < reset_pt) {
+ *current_row &= ~(MATRIX_ROW_SHIFTER << col);
+ return true;
+ }
+
+ // release to press
+ if ((!current_state) && sw_value > actuation_pt) {
+ *current_row |= (MATRIX_ROW_SHIFTER << col);
+ return true;
+ }
+
+ return false;
+}
+
+bool ec_matrix_scan(matrix_row_t current_matrix[]) {
+ bool updated = false;
+
+ for (int row = 0; row < sizeof(row_channels); row++) {
+ for (int col = 0; col < sizeof(col_pins); col++) {
+ uint16_t reset_pt = config.reset_pt;
+ uint16_t actuation_pt = config.actuation_pt;
+
+ //Modifying threshold values for overlapping pads
+ switch(row) {
+ case 3:
+ switch(col) {
+ case 1:
+ case 10: // lower threshold for bottom outside mods (40 rest, 50 act, 58 btm)
+ reset_pt = 45;
+ actuation_pt = 50;
+ break;
+ }
+ break;
+ }
+
+ ec_sw_value[col][row] = ec_readkey_raw(col, row);
+ updated |= ec_update_key(¤t_matrix[row], col, ec_sw_value[col][row], reset_pt, actuation_pt);
+ }
+ }
+
+ return updated;
+}
+
+// console debugging for pad values
+/*void ec_dprint_matrix(void) {
+ for (int row = 0; row < sizeof(row_channels); row++) {
+ for (int col = 0; col < sizeof(col_pins); col++) {
+ dprintf("%5d", ec_sw_value[col][row]);
+ }
+ dprintf("\n");
+ }
+}*/
diff --git a/keyboards/viktus/minne_topre/ec.h b/keyboards/viktus/minne_topre/ec.h
new file mode 100644
index 0000000000..8d3a4f04f8
--- /dev/null
+++ b/keyboards/viktus/minne_topre/ec.h
@@ -0,0 +1,31 @@
+/* Copyright 2023 Viktus Design LLC
+ *
+ * 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
+#include
+
+#include "matrix.h"
+
+typedef struct {
+ uint16_t reset_pt;
+ uint16_t actuation_pt;
+} ec_config_t;
+
+void ec_init(ec_config_t const* const ec_config);
+bool ec_matrix_scan(matrix_row_t current_matrix[]);
+//void ec_dprint_matrix(void); // needed for debugging
+uint16_t ec_readkey_raw(uint8_t col, uint8_t row);
+bool ec_update_key(matrix_row_t* current_row, matrix_row_t col, uint16_t sw_value, uint16_t reset_pt, uint16_t actuation_pt);
diff --git a/keyboards/viktus/minne_topre/info.json b/keyboards/viktus/minne_topre/info.json
new file mode 100644
index 0000000000..afe00b7652
--- /dev/null
+++ b/keyboards/viktus/minne_topre/info.json
@@ -0,0 +1,256 @@
+{
+ "manufacturer": "Viktus Design LLC",
+ "keyboard_name": "Viktus Minne - Topre",
+ "maintainer": "BlindAssassin111",
+ "url": "https://viktus.design",
+ "usb": {
+ "device_version": "1.3.0",
+ "vid": "0x5644",
+ "pid": "0x4D54"
+ },
+ "bootloader": "atmel-dfu",
+ "processor": "atmega32u4",
+ "features": {
+ "bootmagic": true,
+ "command": false,
+ "console": false,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": true
+ },
+ "bootmagic": {
+ "matrix": [0,0]
+ },
+ "build": {
+ "lto": true
+ },
+ "diode_direction": "COL2ROW",
+ "matrix_pins": {
+ "cols": ["B7", "D0", "B6", "D6", "C6", "C7", "D7", "F7", "B4", "F6", "F5", "B5"],
+ "rows": ["A0", "A1", "A3", "A4"]
+ },
+ "layouts": {
+ "LAYOUT_all": {
+ "layout": [
+ { "label": "K00", "matrix": [0, 0], "w": 1, "x": 0, "y": 0 },
+ { "label": "K01", "matrix": [0, 1], "w": 1, "x": 1, "y": 0 },
+ { "label": "K02", "matrix": [0, 2], "w": 1, "x": 2, "y": 0 },
+ { "label": "K03", "matrix": [0, 3], "w": 1, "x": 3, "y": 0 },
+ { "label": "K04", "matrix": [0, 4], "w": 1, "x": 4, "y": 0 },
+ { "label": "K05", "matrix": [0, 5], "w": 1, "x": 5, "y": 0 },
+ { "label": "K06", "matrix": [0, 6], "w": 1, "x": 6, "y": 0 },
+ { "label": "K07", "matrix": [0, 7], "w": 1, "x": 7, "y": 0 },
+ { "label": "K08", "matrix": [0, 8], "w": 1, "x": 8, "y": 0 },
+ { "label": "K09", "matrix": [0, 9], "w": 1, "x": 9, "y": 0 },
+ { "label": "K0A", "matrix": [0, 10], "w": 1, "x": 10, "y": 0 },
+ { "label": "K0B", "matrix": [0, 11], "w": 1.75, "x": 11, "y": 0 },
+ { "label": "K10", "matrix": [1, 0], "w": 1.25, "x": 0, "y": 1 },
+ { "label": "K11", "matrix": [1, 1], "w": 1, "x": 1.25, "y": 1 },
+ { "label": "K12", "matrix": [1, 2], "w": 1, "x": 2.25, "y": 1 },
+ { "label": "K13", "matrix": [1, 3], "w": 1, "x": 3.25, "y": 1 },
+ { "label": "K14", "matrix": [1, 4], "w": 1, "x": 4.25, "y": 1 },
+ { "label": "K15", "matrix": [1, 5], "w": 1, "x": 5.25, "y": 1 },
+ { "label": "K16", "matrix": [1, 6], "w": 1, "x": 6.25, "y": 1 },
+ { "label": "K17", "matrix": [1, 7], "w": 1, "x": 7.25, "y": 1 },
+ { "label": "K18", "matrix": [1, 8], "w": 1, "x": 8.25, "y": 1 },
+ { "label": "K19", "matrix": [1, 9], "w": 1, "x": 9.25, "y": 1 },
+ { "label": "K1A", "matrix": [1, 10], "w": 1, "x": 10.25, "y": 1 },
+ { "label": "K1B", "matrix": [1, 11], "w": 1.5, "x": 11.25, "y": 1 },
+ { "label": "K20", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 },
+ { "label": "K21", "matrix": [2, 1], "w": 1, "x": 1.75, "y": 2 },
+ { "label": "K22", "matrix": [2, 2], "w": 1, "x": 2.75, "y": 2 },
+ { "label": "K23", "matrix": [2, 3], "w": 1, "x": 3.75, "y": 2 },
+ { "label": "K24", "matrix": [2, 4], "w": 1, "x": 4.75, "y": 2 },
+ { "label": "K25", "matrix": [2, 5], "w": 1, "x": 5.75, "y": 2 },
+ { "label": "K26", "matrix": [2, 6], "w": 1, "x": 6.75, "y": 2 },
+ { "label": "K27", "matrix": [2, 7], "w": 1, "x": 7.75, "y": 2 },
+ { "label": "K28", "matrix": [2, 8], "w": 1, "x": 8.75, "y": 2 },
+ { "label": "K29", "matrix": [2, 9], "w": 1, "x": 9.75, "y": 2 },
+ { "label": "K2A", "matrix": [2, 10], "w": 1, "x": 10.75, "y": 2 },
+ { "label": "K2B", "matrix": [2, 11], "w": 1, "x": 11.75, "y": 2 },
+ { "label": "K31", "matrix": [3, 1], "w": 1, "x": 1.375, "y": 3 },
+ { "label": "K32", "matrix": [3, 2], "w": 1, "x": 2.375, "y": 3 },
+ { "label": "K34", "matrix": [3, 4], "w": 2.5, "x": 3.375, "y": 3 },
+ { "label": "K35", "matrix": [3, 5], "w": 1, "x": 5.875, "y": 3 },
+ { "label": "K37", "matrix": [3, 7], "w": 2.5, "x": 6.875, "y": 3 },
+ { "label": "K39", "matrix": [3, 9], "w": 1, "x": 9.375, "y": 3 },
+ { "label": "K3A", "matrix": [3, 10], "w": 1, "x": 10.375, "y": 3 }
+ ]
+ },
+ "LAYOUT_dual_3u": {
+ "layout": [
+ { "label": "K00", "matrix": [0, 0], "w": 1, "x": 0, "y": 0 },
+ { "label": "K01", "matrix": [0, 1], "w": 1, "x": 1, "y": 0 },
+ { "label": "K02", "matrix": [0, 2], "w": 1, "x": 2, "y": 0 },
+ { "label": "K03", "matrix": [0, 3], "w": 1, "x": 3, "y": 0 },
+ { "label": "K04", "matrix": [0, 4], "w": 1, "x": 4, "y": 0 },
+ { "label": "K05", "matrix": [0, 5], "w": 1, "x": 5, "y": 0 },
+ { "label": "K06", "matrix": [0, 6], "w": 1, "x": 6, "y": 0 },
+ { "label": "K07", "matrix": [0, 7], "w": 1, "x": 7, "y": 0 },
+ { "label": "K08", "matrix": [0, 8], "w": 1, "x": 8, "y": 0 },
+ { "label": "K09", "matrix": [0, 9], "w": 1, "x": 9, "y": 0 },
+ { "label": "K0A", "matrix": [0, 10], "w": 1, "x": 10, "y": 0 },
+ { "label": "K0B", "matrix": [0, 11], "w": 1.75, "x": 11, "y": 0 },
+ { "label": "K10", "matrix": [1, 0], "w": 1.25, "x": 0, "y": 1 },
+ { "label": "K11", "matrix": [1, 1], "w": 1, "x": 1.25, "y": 1 },
+ { "label": "K12", "matrix": [1, 2], "w": 1, "x": 2.25, "y": 1 },
+ { "label": "K13", "matrix": [1, 3], "w": 1, "x": 3.25, "y": 1 },
+ { "label": "K14", "matrix": [1, 4], "w": 1, "x": 4.25, "y": 1 },
+ { "label": "K15", "matrix": [1, 5], "w": 1, "x": 5.25, "y": 1 },
+ { "label": "K16", "matrix": [1, 6], "w": 1, "x": 6.25, "y": 1 },
+ { "label": "K17", "matrix": [1, 7], "w": 1, "x": 7.25, "y": 1 },
+ { "label": "K18", "matrix": [1, 8], "w": 1, "x": 8.25, "y": 1 },
+ { "label": "K19", "matrix": [1, 9], "w": 1, "x": 9.25, "y": 1 },
+ { "label": "K1A", "matrix": [1, 10], "w": 1, "x": 10.25, "y": 1 },
+ { "label": "K1B", "matrix": [1, 11], "w": 1.5, "x": 11.25, "y": 1 },
+ { "label": "K20", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 },
+ { "label": "K21", "matrix": [2, 1], "w": 1, "x": 1.75, "y": 2 },
+ { "label": "K22", "matrix": [2, 2], "w": 1, "x": 2.75, "y": 2 },
+ { "label": "K23", "matrix": [2, 3], "w": 1, "x": 3.75, "y": 2 },
+ { "label": "K24", "matrix": [2, 4], "w": 1, "x": 4.75, "y": 2 },
+ { "label": "K25", "matrix": [2, 5], "w": 1, "x": 5.75, "y": 2 },
+ { "label": "K26", "matrix": [2, 6], "w": 1, "x": 6.75, "y": 2 },
+ { "label": "K27", "matrix": [2, 7], "w": 1, "x": 7.75, "y": 2 },
+ { "label": "K28", "matrix": [2, 8], "w": 1, "x": 8.75, "y": 2 },
+ { "label": "K29", "matrix": [2, 9], "w": 1, "x": 9.75, "y": 2 },
+ { "label": "K2A", "matrix": [2, 10], "w": 1, "x": 10.75, "y": 2 },
+ { "label": "K2B", "matrix": [2, 11], "w": 1, "x": 11.75, "y": 2 },
+ { "label": "K31", "matrix": [3, 1], "w": 1, "x": 1.375, "y": 3 },
+ { "label": "K32", "matrix": [3, 2], "w": 1, "x": 2.375, "y": 3 },
+ { "label": "K34", "matrix": [3, 4], "w": 3, "x": 3.375, "y": 3 },
+ { "label": "K37", "matrix": [3, 7], "w": 3, "x": 6.375, "y": 3 },
+ { "label": "K39", "matrix": [3, 9], "w": 1, "x": 9.375, "y": 3 },
+ { "label": "K3A", "matrix": [3, 10], "w": 1, "x": 10.375, "y": 3 }
+ ]
+ },
+ "LAYOUT_6u": {
+ "layout": [
+ { "label": "K00", "matrix": [0, 0], "w": 1, "x": 0, "y": 0 },
+ { "label": "K01", "matrix": [0, 1], "w": 1, "x": 1, "y": 0 },
+ { "label": "K02", "matrix": [0, 2], "w": 1, "x": 2, "y": 0 },
+ { "label": "K03", "matrix": [0, 3], "w": 1, "x": 3, "y": 0 },
+ { "label": "K04", "matrix": [0, 4], "w": 1, "x": 4, "y": 0 },
+ { "label": "K05", "matrix": [0, 5], "w": 1, "x": 5, "y": 0 },
+ { "label": "K06", "matrix": [0, 6], "w": 1, "x": 6, "y": 0 },
+ { "label": "K07", "matrix": [0, 7], "w": 1, "x": 7, "y": 0 },
+ { "label": "K08", "matrix": [0, 8], "w": 1, "x": 8, "y": 0 },
+ { "label": "K09", "matrix": [0, 9], "w": 1, "x": 9, "y": 0 },
+ { "label": "K0A", "matrix": [0, 10], "w": 1, "x": 10, "y": 0 },
+ { "label": "K0B", "matrix": [0, 11], "w": 1.75, "x": 11, "y": 0 },
+ { "label": "K10", "matrix": [1, 0], "w": 1.25, "x": 0, "y": 1 },
+ { "label": "K11", "matrix": [1, 1], "w": 1, "x": 1.25, "y": 1 },
+ { "label": "K12", "matrix": [1, 2], "w": 1, "x": 2.25, "y": 1 },
+ { "label": "K13", "matrix": [1, 3], "w": 1, "x": 3.25, "y": 1 },
+ { "label": "K14", "matrix": [1, 4], "w": 1, "x": 4.25, "y": 1 },
+ { "label": "K15", "matrix": [1, 5], "w": 1, "x": 5.25, "y": 1 },
+ { "label": "K16", "matrix": [1, 6], "w": 1, "x": 6.25, "y": 1 },
+ { "label": "K17", "matrix": [1, 7], "w": 1, "x": 7.25, "y": 1 },
+ { "label": "K18", "matrix": [1, 8], "w": 1, "x": 8.25, "y": 1 },
+ { "label": "K19", "matrix": [1, 9], "w": 1, "x": 9.25, "y": 1 },
+ { "label": "K1A", "matrix": [1, 10], "w": 1, "x": 10.25, "y": 1 },
+ { "label": "K1B", "matrix": [1, 11], "w": 1.5, "x": 11.25, "y": 1 },
+ { "label": "K20", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 },
+ { "label": "K21", "matrix": [2, 1], "w": 1, "x": 1.75, "y": 2 },
+ { "label": "K22", "matrix": [2, 2], "w": 1, "x": 2.75, "y": 2 },
+ { "label": "K23", "matrix": [2, 3], "w": 1, "x": 3.75, "y": 2 },
+ { "label": "K24", "matrix": [2, 4], "w": 1, "x": 4.75, "y": 2 },
+ { "label": "K25", "matrix": [2, 5], "w": 1, "x": 5.75, "y": 2 },
+ { "label": "K26", "matrix": [2, 6], "w": 1, "x": 6.75, "y": 2 },
+ { "label": "K27", "matrix": [2, 7], "w": 1, "x": 7.75, "y": 2 },
+ { "label": "K28", "matrix": [2, 8], "w": 1, "x": 8.75, "y": 2 },
+ { "label": "K29", "matrix": [2, 9], "w": 1, "x": 9.75, "y": 2 },
+ { "label": "K2A", "matrix": [2, 10], "w": 1, "x": 10.75, "y": 2 },
+ { "label": "K2B", "matrix": [2, 11], "w": 1, "x": 11.75, "y": 2 },
+ { "label": "K31", "matrix": [3, 1], "w": 1, "x": 1.375, "y": 3 },
+ { "label": "K32", "matrix": [3, 2], "w": 1, "x": 2.375, "y": 3 },
+ { "label": "K35", "matrix": [3, 5], "w": 6, "x": 3.375, "y": 3 },
+ { "label": "K39", "matrix": [3, 9], "w": 1, "x": 9.375, "y": 3 },
+ { "label": "K3A", "matrix": [3, 10], "w": 1, "x": 10.375, "y": 3 }
+ ]
+ },
+ "LAYOUT_7u": {
+ "layout": [
+ { "label": "K00", "matrix": [0, 0], "w": 1, "x": 0, "y": 0 },
+ { "label": "K01", "matrix": [0, 1], "w": 1, "x": 1, "y": 0 },
+ { "label": "K02", "matrix": [0, 2], "w": 1, "x": 2, "y": 0 },
+ { "label": "K03", "matrix": [0, 3], "w": 1, "x": 3, "y": 0 },
+ { "label": "K04", "matrix": [0, 4], "w": 1, "x": 4, "y": 0 },
+ { "label": "K05", "matrix": [0, 5], "w": 1, "x": 5, "y": 0 },
+ { "label": "K06", "matrix": [0, 6], "w": 1, "x": 6, "y": 0 },
+ { "label": "K07", "matrix": [0, 7], "w": 1, "x": 7, "y": 0 },
+ { "label": "K08", "matrix": [0, 8], "w": 1, "x": 8, "y": 0 },
+ { "label": "K09", "matrix": [0, 9], "w": 1, "x": 9, "y": 0 },
+ { "label": "K0A", "matrix": [0, 10], "w": 1, "x": 10, "y": 0 },
+ { "label": "K0B", "matrix": [0, 11], "w": 1.75, "x": 11, "y": 0 },
+ { "label": "K10", "matrix": [1, 0], "w": 1.25, "x": 0, "y": 1 },
+ { "label": "K11", "matrix": [1, 1], "w": 1, "x": 1.25, "y": 1 },
+ { "label": "K12", "matrix": [1, 2], "w": 1, "x": 2.25, "y": 1 },
+ { "label": "K13", "matrix": [1, 3], "w": 1, "x": 3.25, "y": 1 },
+ { "label": "K14", "matrix": [1, 4], "w": 1, "x": 4.25, "y": 1 },
+ { "label": "K15", "matrix": [1, 5], "w": 1, "x": 5.25, "y": 1 },
+ { "label": "K16", "matrix": [1, 6], "w": 1, "x": 6.25, "y": 1 },
+ { "label": "K17", "matrix": [1, 7], "w": 1, "x": 7.25, "y": 1 },
+ { "label": "K18", "matrix": [1, 8], "w": 1, "x": 8.25, "y": 1 },
+ { "label": "K19", "matrix": [1, 9], "w": 1, "x": 9.25, "y": 1 },
+ { "label": "K1A", "matrix": [1, 10], "w": 1, "x": 10.25, "y": 1 },
+ { "label": "K1B", "matrix": [1, 11], "w": 1.5, "x": 11.25, "y": 1 },
+ { "label": "K20", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 },
+ { "label": "K21", "matrix": [2, 1], "w": 1, "x": 1.75, "y": 2 },
+ { "label": "K22", "matrix": [2, 2], "w": 1, "x": 2.75, "y": 2 },
+ { "label": "K23", "matrix": [2, 3], "w": 1, "x": 3.75, "y": 2 },
+ { "label": "K24", "matrix": [2, 4], "w": 1, "x": 4.75, "y": 2 },
+ { "label": "K25", "matrix": [2, 5], "w": 1, "x": 5.75, "y": 2 },
+ { "label": "K26", "matrix": [2, 6], "w": 1, "x": 6.75, "y": 2 },
+ { "label": "K27", "matrix": [2, 7], "w": 1, "x": 7.75, "y": 2 },
+ { "label": "K28", "matrix": [2, 8], "w": 1, "x": 8.75, "y": 2 },
+ { "label": "K29", "matrix": [2, 9], "w": 1, "x": 9.75, "y": 2 },
+ { "label": "K2A", "matrix": [2, 10], "w": 1, "x": 10.75, "y": 2 },
+ { "label": "K2B", "matrix": [2, 11], "w": 1, "x": 11.75, "y": 2 },
+ { "label": "K31", "matrix": [3, 1], "w": 1.5, "x": 1.375, "y": 3 },
+ { "label": "K35", "matrix": [3, 5], "w": 7, "x": 2.875, "y": 3 },
+ { "label": "K3A", "matrix": [3, 10], "w": 1.5, "x": 9.875, "y": 3 }
+ ]
+ },
+ "LAYOUT_10u": {
+ "layout": [
+ { "label": "K00", "matrix": [0, 0], "w": 1, "x": 0, "y": 0 },
+ { "label": "K01", "matrix": [0, 1], "w": 1, "x": 1, "y": 0 },
+ { "label": "K02", "matrix": [0, 2], "w": 1, "x": 2, "y": 0 },
+ { "label": "K03", "matrix": [0, 3], "w": 1, "x": 3, "y": 0 },
+ { "label": "K04", "matrix": [0, 4], "w": 1, "x": 4, "y": 0 },
+ { "label": "K05", "matrix": [0, 5], "w": 1, "x": 5, "y": 0 },
+ { "label": "K06", "matrix": [0, 6], "w": 1, "x": 6, "y": 0 },
+ { "label": "K07", "matrix": [0, 7], "w": 1, "x": 7, "y": 0 },
+ { "label": "K08", "matrix": [0, 8], "w": 1, "x": 8, "y": 0 },
+ { "label": "K09", "matrix": [0, 9], "w": 1, "x": 9, "y": 0 },
+ { "label": "K0A", "matrix": [0, 10], "w": 1, "x": 10, "y": 0 },
+ { "label": "K0B", "matrix": [0, 11], "w": 1.75, "x": 11, "y": 0 },
+ { "label": "K10", "matrix": [1, 0], "w": 1.25, "x": 0, "y": 1 },
+ { "label": "K11", "matrix": [1, 1], "w": 1, "x": 1.25, "y": 1 },
+ { "label": "K12", "matrix": [1, 2], "w": 1, "x": 2.25, "y": 1 },
+ { "label": "K13", "matrix": [1, 3], "w": 1, "x": 3.25, "y": 1 },
+ { "label": "K14", "matrix": [1, 4], "w": 1, "x": 4.25, "y": 1 },
+ { "label": "K15", "matrix": [1, 5], "w": 1, "x": 5.25, "y": 1 },
+ { "label": "K16", "matrix": [1, 6], "w": 1, "x": 6.25, "y": 1 },
+ { "label": "K17", "matrix": [1, 7], "w": 1, "x": 7.25, "y": 1 },
+ { "label": "K18", "matrix": [1, 8], "w": 1, "x": 8.25, "y": 1 },
+ { "label": "K19", "matrix": [1, 9], "w": 1, "x": 9.25, "y": 1 },
+ { "label": "K1A", "matrix": [1, 10], "w": 1, "x": 10.25, "y": 1 },
+ { "label": "K1B", "matrix": [1, 11], "w": 1.5, "x": 11.25, "y": 1 },
+ { "label": "K20", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 },
+ { "label": "K21", "matrix": [2, 1], "w": 1, "x": 1.75, "y": 2 },
+ { "label": "K22", "matrix": [2, 2], "w": 1, "x": 2.75, "y": 2 },
+ { "label": "K23", "matrix": [2, 3], "w": 1, "x": 3.75, "y": 2 },
+ { "label": "K24", "matrix": [2, 4], "w": 1, "x": 4.75, "y": 2 },
+ { "label": "K25", "matrix": [2, 5], "w": 1, "x": 5.75, "y": 2 },
+ { "label": "K26", "matrix": [2, 6], "w": 1, "x": 6.75, "y": 2 },
+ { "label": "K27", "matrix": [2, 7], "w": 1, "x": 7.75, "y": 2 },
+ { "label": "K28", "matrix": [2, 8], "w": 1, "x": 8.75, "y": 2 },
+ { "label": "K29", "matrix": [2, 9], "w": 1, "x": 9.75, "y": 2 },
+ { "label": "K2A", "matrix": [2, 10], "w": 1, "x": 10.75, "y": 2 },
+ { "label": "K2B", "matrix": [2, 11], "w": 1, "x": 11.75, "y": 2 },
+ { "label": "K35", "matrix": [3, 5], "w": 10, "x": 1.375, "y": 3 }
+ ]
+ }
+ }
+}
diff --git a/keyboards/viktus/minne_topre/keymaps/default/keymap.c b/keyboards/viktus/minne_topre/keymaps/default/keymap.c
new file mode 100644
index 0000000000..5ad476a25d
--- /dev/null
+++ b/keyboards/viktus/minne_topre/keymaps/default/keymap.c
@@ -0,0 +1,26 @@
+/* Copyright 2023 Viktus Design LLC
+ *
+ * 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_all(
+ 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_SCLN, KC_ENT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_RSFT, MO(1),
+ KC_LCTL, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RCTL
+ )
+};
diff --git a/keyboards/viktus/minne_topre/keymaps/via/keymap.c b/keyboards/viktus/minne_topre/keymaps/via/keymap.c
new file mode 100644
index 0000000000..5ad476a25d
--- /dev/null
+++ b/keyboards/viktus/minne_topre/keymaps/via/keymap.c
@@ -0,0 +1,26 @@
+/* Copyright 2023 Viktus Design LLC
+ *
+ * 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_all(
+ 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_SCLN, KC_ENT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_RSFT, MO(1),
+ KC_LCTL, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RCTL
+ )
+};
diff --git a/keyboards/viktus/minne_topre/keymaps/via/minne_topre.json b/keyboards/viktus/minne_topre/keymaps/via/minne_topre.json
new file mode 100644
index 0000000000..5f18c16b90
--- /dev/null
+++ b/keyboards/viktus/minne_topre/keymaps/via/minne_topre.json
@@ -0,0 +1,151 @@
+{
+ "name": "Minne - Topre",
+ "vendorId": "0x5644",
+ "productId": "0x4D54",
+ "matrix": {
+ "rows": 4,
+ "cols": 12
+ },
+ "layouts": {
+ "labels": [
+ ["Bottom Row", "Dual 3U", "6U", "7U", "10U"]
+ ],
+ "keymap": [
+ [
+ {
+ "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",
+ {
+ "c":"#aaaaaa",
+ "w":1.75
+ },
+ "0,11"
+ ],
+ [
+ {
+ "w":1.25
+ },
+ "1,0",
+ {
+ "c":"#cccccc"
+ },
+ "1,1",
+ "1,2",
+ "1,3",
+ "1,4",
+ "1,5",
+ "1,6",
+ "1,7",
+ "1,8",
+ "1,9",
+ "1,10",
+ {
+ "c":"#777777",
+ "w":1.5
+ },
+ "1,11"
+ ],
+ [
+ {
+ "c":"#aaaaaa",
+ "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",
+ {
+ "c":"#aaaaaa"
+ },
+ "2,11"
+ ],
+ [
+ {
+ "x":1.38
+ },
+ "3,1\n\n\n0,0",
+ "3,2\n\n\n0,0",
+ {
+ "c":"#cccccc",
+ "w":3
+ },
+ "3,4\n\n\n0,0",
+ {
+ "w":3
+ },
+ "3,7\n\n\n0,0",
+ {
+ "c":"#aaaaaa"
+ },
+ "3,9\n\n\n0,0",
+ "3,10\n\n\n0,0"
+ ],
+ [
+ {
+ "x":1.38
+ },
+ "3,1\n\n\n0,1",
+ "3,2\n\n\n0,1",
+ {
+ "c":"#cccccc",
+ "w":6
+ },
+ "3,5\n\n\n0,1",
+ {
+ "c":"#aaaaaa"
+ },
+ "3,9\n\n\n0,1",
+ "3,10\n\n\n0,1"
+ ],
+ [
+ {
+ "x":1.38,
+ "w":1.5
+ },
+ "3,1\n\n\n0,2",
+ {
+ "c":"#cccccc",
+ "w":7
+ },
+ "3,5\n\n\n0,2",
+ {
+ "c":"#aaaaaa",
+ "w":1.5
+ },
+ "3,10\n\n\n0,2"
+ ],
+ [
+ {
+ "x":1.38,
+ "c":"#cccccc",
+ "w":10
+ },
+ "3,5\n\n\n0,3"
+ ]
+ ]
+ }
+}
diff --git a/keyboards/viktus/minne_topre/keymaps/via/rules.mk b/keyboards/viktus/minne_topre/keymaps/via/rules.mk
new file mode 100644
index 0000000000..1e5b99807c
--- /dev/null
+++ b/keyboards/viktus/minne_topre/keymaps/via/rules.mk
@@ -0,0 +1 @@
+VIA_ENABLE = yes
diff --git a/keyboards/viktus/minne_topre/keymaps/vial/config.h b/keyboards/viktus/minne_topre/keymaps/vial/config.h
new file mode 100644
index 0000000000..0b72656397
--- /dev/null
+++ b/keyboards/viktus/minne_topre/keymaps/vial/config.h
@@ -0,0 +1,6 @@
+#pragma once
+
+#define VIAL_KEYBOARD_UID {0xE9, 0xAD, 0xFD, 0x66, 0x8E, 0x62, 0x1D, 0xA7}
+
+#define VIAL_UNLOCK_COMBO_ROWS { 0, 2 }
+#define VIAL_UNLOCK_COMBO_COLS { 0, 0 }
diff --git a/keyboards/viktus/minne_topre/keymaps/vial/keymap.c b/keyboards/viktus/minne_topre/keymaps/vial/keymap.c
new file mode 100644
index 0000000000..5ad476a25d
--- /dev/null
+++ b/keyboards/viktus/minne_topre/keymaps/vial/keymap.c
@@ -0,0 +1,26 @@
+/* Copyright 2023 Viktus Design LLC
+ *
+ * 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_all(
+ 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_SCLN, KC_ENT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_RSFT, MO(1),
+ KC_LCTL, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RCTL
+ )
+};
diff --git a/keyboards/viktus/minne_topre/keymaps/vial/rules.mk b/keyboards/viktus/minne_topre/keymaps/vial/rules.mk
new file mode 100644
index 0000000000..b993c43f1c
--- /dev/null
+++ b/keyboards/viktus/minne_topre/keymaps/vial/rules.mk
@@ -0,0 +1,6 @@
+VIA_ENABLE = yes
+VIAL_ENABLE = yes
+LTO_ENABLE = yes
+KEY_OVERRIDE_ENABLE = no
+EXTRAKEY_ENABLE = no
+MOUSEKEY_ENABLE = no
diff --git a/keyboards/viktus/minne_topre/keymaps/vial/vial.json b/keyboards/viktus/minne_topre/keymaps/vial/vial.json
new file mode 100644
index 0000000000..38eaaaca17
--- /dev/null
+++ b/keyboards/viktus/minne_topre/keymaps/vial/vial.json
@@ -0,0 +1,127 @@
+{
+ "name": "Minne - Topre",
+ "vendorId": "0x5644",
+ "productId": "0x4D54",
+ "lighting": "none",
+ "matrix": {
+ "rows": 4,
+ "cols": 12
+ },
+ "layouts": {
+ "labels": [
+ ["Bottom Row", "Dual 3U", "6U", "7U", "10U"]
+ ],
+ "keymap": [
+ [
+ "0,0",
+ "0,1",
+ "0,2",
+ "0,3",
+ "0,4",
+ "0,5",
+ "0,6",
+ "0,7",
+ "0,8",
+ "0,9",
+ "0,10",
+ {
+ "w":1.75
+ },
+ "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",
+ "1,10",
+ {
+ "w":1.5
+ },
+ "1,11"
+ ],
+ [
+ {
+ "w":1.75
+ },
+ "2,0",
+ "2,1",
+ "2,2",
+ "2,3",
+ "2,4",
+ "2,5",
+ "2,6",
+ "2,7",
+ "2,8",
+ "2,9",
+ "2,10",
+ "2,11"
+ ],
+ [
+ {
+ "x":1.38
+ },
+ "3,1\n\n\n0,0",
+ "3,2\n\n\n0,0",
+ {
+ "w":3
+ },
+ "3,4\n\n\n0,0",
+ {
+ "w":3
+ },
+ "3,7\n\n\n0,0",
+ "3,9\n\n\n0,0",
+ "3,10\n\n\n0,0"
+ ],
+ [
+ {
+ "x":1.38
+ },
+ "3,1\n\n\n0,1",
+ "3,2\n\n\n0,1",
+ {
+ "w":6
+ },
+ "3,5\n\n\n0,1",
+ {
+ "x":0
+ },
+ "3,9\n\n\n0,1",
+ "3,10\n\n\n0,1"
+ ],
+ [
+ {
+ "x":1.38,
+ "w":1.5
+ },
+ "3,1\n\n\n0,2",
+ {
+ "w":7
+ },
+ "3,5\n\n\n0,2",
+ {
+ "x":0,
+ "w":1.5
+ },
+ "3,10\n\n\n0,2"
+ ],
+ [
+ {
+ "x":1.38,
+ "w":10
+ },
+ "3,5\n\n\n0,3"
+ ]
+ ]
+ }
+}
diff --git a/keyboards/viktus/minne_topre/minne_topre.c b/keyboards/viktus/minne_topre/minne_topre.c
new file mode 100644
index 0000000000..96b04090cf
--- /dev/null
+++ b/keyboards/viktus/minne_topre/minne_topre.c
@@ -0,0 +1,49 @@
+/* Copyright 2023 Viktus Design LLC
+ *
+ * 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"
+#include "ec.h"
+#include "matrix.h"
+//#include "debug.h" // needed for debugging
+
+#define RESET_PT 55
+#define ACTUATION_PT 65
+
+// console debugging for pad values
+/*void keyboard_post_init_kb() {
+ debug_enable = true;
+ debug_matrix = true;
+}*/
+
+void matrix_init_custom(void) {
+ ec_config_t ec_config = {.reset_pt = RESET_PT, .actuation_pt = ACTUATION_PT};
+
+ ec_init(&ec_config);
+}
+
+bool matrix_scan_custom(matrix_row_t current_matrix[]) {
+ bool updated = ec_matrix_scan(current_matrix);
+
+ // console debugging for pad values
+ /*static int cnt = 0;
+ if (cnt++ == 300) {
+ cnt = 0;
+ ec_dprint_matrix();
+ dprintf("\n");
+ }*/
+
+ return updated;
+}
diff --git a/keyboards/viktus/minne_topre/readme.md b/keyboards/viktus/minne_topre/readme.md
new file mode 100644
index 0000000000..0bd412f28c
--- /dev/null
+++ b/keyboards/viktus/minne_topre/readme.md
@@ -0,0 +1,27 @@
+# Viktus Minne - Topre
+
+![minne_topre](https://i.imgur.com/OKnryxch.png)
+
+Minne is a 40% keyboard with an HHKB bottom row, Now with Topre.
+
+- Keyboard Maintainer: BlindAssassin111
+- Hardware Supported: Viktus Minne Topre PCB
+- Hardware Availability: Viktus Design LLC
+
+Make example for this keyboard (after setting up your build environment):
+
+ make viktus/minne_topre:default
+
+Flashing example for this keyboard:
+
+ make viktus/minne_topre:default:flash
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+## Bootloader
+
+Enter the bootloader in 3 ways:
+
+* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
+* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/viktus/minne_topre/rules.mk b/keyboards/viktus/minne_topre/rules.mk
new file mode 100644
index 0000000000..037e26c530
--- /dev/null
+++ b/keyboards/viktus/minne_topre/rules.mk
@@ -0,0 +1,3 @@
+CUSTOM_MATRIX = lite
+QUANTUM_LIB_SRC += analog.c
+SRC += ec.c
From b6b360bfabd10708ff1f6fce5d42fd042672aaf9 Mon Sep 17 00:00:00 2001
From: John-Schreiber <56258966+John-Schreiber@users.noreply.github.com>
Date: Tue, 28 Mar 2023 21:50:07 -0400
Subject: [PATCH 11/69] [Keyboard] Add support for BFO-9000 (#426)
* Add files via upload
* Update keyboards/keebio/bfo9000/keymaps/vial/rules.mk
Co-authored-by: Less/Rikki <86894501+lesshonor@users.noreply.github.com>
---------
Co-authored-by: Less/Rikki <86894501+lesshonor@users.noreply.github.com>
---
.../keebio/bfo9000/keymaps/vial/config.h | 32 ++++
.../keebio/bfo9000/keymaps/vial/keymap.c | 15 ++
.../keebio/bfo9000/keymaps/vial/rules.mk | 5 +
.../keebio/bfo9000/keymaps/vial/vial.json | 152 ++++++++++++++++++
4 files changed, 204 insertions(+)
create mode 100644 keyboards/keebio/bfo9000/keymaps/vial/config.h
create mode 100644 keyboards/keebio/bfo9000/keymaps/vial/keymap.c
create mode 100644 keyboards/keebio/bfo9000/keymaps/vial/rules.mk
create mode 100644 keyboards/keebio/bfo9000/keymaps/vial/vial.json
diff --git a/keyboards/keebio/bfo9000/keymaps/vial/config.h b/keyboards/keebio/bfo9000/keymaps/vial/config.h
new file mode 100644
index 0000000000..c461f0e599
--- /dev/null
+++ b/keyboards/keebio/bfo9000/keymaps/vial/config.h
@@ -0,0 +1,32 @@
+/*
+This is the c configuration file for the keymap
+
+Copyright 2012 Jun Wako
+Copyright 2015 Jack Humbert
+
+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 {0xCA, 0x43, 0x6E, 0xF3, 0x4D, 0x91, 0x78, 0x1F}
+#define VIAL_UNLOCK_COMBO_ROWS { 0, 2 }
+#define VIAL_UNLOCK_COMBO_COLS { 0, 5 }
+
+
+//#define USE_I2C
+
+/* Select hand configuration */
+// #define MASTER_RIGHT
+// #define EE_HANDS
+#define DYNAMIC_KEYMAP_LAYER_COUNT 2
diff --git a/keyboards/keebio/bfo9000/keymaps/vial/keymap.c b/keyboards/keebio/bfo9000/keymaps/vial/keymap.c
new file mode 100644
index 0000000000..f37ea79c40
--- /dev/null
+++ b/keyboards/keebio/bfo9000/keymaps/vial/keymap.c
@@ -0,0 +1,15 @@
+#include QMK_KEYBOARD_H
+
+#define _BASE 0
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+[_BASE] = LAYOUT(
+ KC_ESC, KC_VOLU, KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
+ KC_HOME, KC_VOLD, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC,
+ KC_END, KC_TAB, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
+ KC_PGUP, KC_CAPS, KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_ENT,
+ KC_PGDN, KC_UP, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, XXXXXXX,
+ KC_LEFT, KC_DOWN, KC_RGHT, KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_SPC, KC_ENT, KC_BSPC, KC_SPC, KC_SPC, KC_RGUI, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+)
+};
diff --git a/keyboards/keebio/bfo9000/keymaps/vial/rules.mk b/keyboards/keebio/bfo9000/keymaps/vial/rules.mk
new file mode 100644
index 0000000000..6c6095dc89
--- /dev/null
+++ b/keyboards/keebio/bfo9000/keymaps/vial/rules.mk
@@ -0,0 +1,5 @@
+VIA_ENABLE = yes
+VIAL_ENABLE = yes
+LTO_ENABLE = yes
+COMMAND_ENABLE = no
+KEY_OVERRIDE_ENABLE = no
\ No newline at end of file
diff --git a/keyboards/keebio/bfo9000/keymaps/vial/vial.json b/keyboards/keebio/bfo9000/keymaps/vial/vial.json
new file mode 100644
index 0000000000..dd1cb17f81
--- /dev/null
+++ b/keyboards/keebio/bfo9000/keymaps/vial/vial.json
@@ -0,0 +1,152 @@
+{
+ "name": "Keeb.io BFO-9000",
+ "vendorId": "0xCB10",
+ "productId": "0x1169",
+ "lighting": "qmk_rgblight",
+ "matrix": {
+ "rows": 12,
+ "cols": 9
+ },
+ "layouts": {
+ "keymap": [
+ [
+ "0,0",
+ "0,1",
+ "0,2",
+ "0,3",
+ "0,4",
+ "0,5",
+ "0,6",
+ "0,7",
+ "0,8",
+ {
+ "x": 5
+ },
+ "6,0",
+ "6,1",
+ "6,2",
+ "6,3",
+ "6,4",
+ "6,5",
+ "6,6",
+ "6,7",
+ "6,8"
+ ],
+ [
+ "1,0",
+ "1,1",
+ "1,2",
+ "1,3",
+ "1,4",
+ "1,5",
+ "1,6",
+ "1,7",
+ "1,8",
+ {
+ "x": 5
+ },
+ "7,0",
+ "7,1",
+ "7,2",
+ "7,3",
+ "7,4",
+ "7,5",
+ "7,6",
+ "7,7",
+ "7,8"
+ ],
+ [
+ "2,0",
+ "2,1",
+ "2,2",
+ "2,3",
+ "2,4",
+ "2,5",
+ "2,6",
+ "2,7",
+ "2,8",
+ {
+ "x": 5
+ },
+ "8,0",
+ "8,1",
+ "8,2",
+ "8,3",
+ "8,4",
+ "8,5",
+ "8,6",
+ "8,7",
+ "8,8"
+ ],
+ [
+ "3,0",
+ "3,1",
+ "3,2",
+ "3,3",
+ "3,4",
+ "3,5",
+ "3,6",
+ "3,7",
+ "3,8",
+ {
+ "x": 5
+ },
+ "9,0",
+ "9,1",
+ "9,2",
+ "9,3",
+ "9,4",
+ "9,5",
+ "9,6",
+ "9,7",
+ "9,8"
+ ],
+ [
+ "4,0",
+ "4,1",
+ "4,2",
+ "4,3",
+ "4,4",
+ "4,5",
+ "4,6",
+ "4,7",
+ "4,8",
+ {
+ "x": 5
+ },
+ "10,0",
+ "10,1",
+ "10,2",
+ "10,3",
+ "10,4",
+ "10,5",
+ "10,6",
+ "10,7",
+ "10,8"
+ ],
+ [
+ "5,0",
+ "5,1",
+ "5,2",
+ "5,3",
+ "5,4",
+ "5,5",
+ "5,6",
+ "5,7",
+ "5,8",
+ {
+ "x": 5
+ },
+ "11,0",
+ "11,1",
+ "11,2",
+ "11,3",
+ "11,4",
+ "11,5",
+ "11,6",
+ "11,7",
+ "11,8"
+ ]
+ ]
+ }
+}
\ No newline at end of file
From 209c682ce90ff98b487debcc71c47f64317a845e Mon Sep 17 00:00:00 2001
From: Less/Rikki <86894501+lesshonor@users.noreply.github.com>
Date: Tue, 28 Mar 2023 21:51:14 -0400
Subject: [PATCH 12/69] [CI] detect clang-formatted VIAL_KEYBOARD_UID (#428)
* fix: detect clang-formatted VIAL_KEYBOARD_UIDs
* style: match UID output to "About..." in Vial GUI
---
util/ci_vial_verify_uid.py | 27 ++++++++++++++-------------
1 file changed, 14 insertions(+), 13 deletions(-)
diff --git a/util/ci_vial_verify_uid.py b/util/ci_vial_verify_uid.py
index a07cb24de5..5f98be7c2d 100755
--- a/util/ci_vial_verify_uid.py
+++ b/util/ci_vial_verify_uid.py
@@ -1,33 +1,33 @@
#!/usr/bin/env python3
from glob import glob
-import os
+from pathlib import Path
import re
import sys
import struct
from collections import defaultdict
-
def main():
+
+ VIAL_UID_REGEX = re.compile(r"#\s*define\s+VIAL_KEYBOARD_UID\s+(?:\\(?:\n|\r)\s*)*{\s*((?:0(?:x|X)(?:[0-9a-fA-F]){2}\s*,\s*){7}(?:0(?:x|X)(?:[0-9a-fA-F]){2}))\s*}")
+
error = 0
uid_to_keyboards = defaultdict(set)
for filename in glob("keyboards/**/vial.json", recursive=True):
keyboard = filename[10:-10].split("/keymaps/")[0]
- path = os.path.dirname(filename)
+ dirname = Path(filename).parents[0]
uid = None
+
while True:
- config_h = os.path.join(path, "config.h")
- if os.path.exists(config_h):
- with open(config_h, "r") as inf:
- for line in inf:
- uid = re.findall(r"#define.*VIAL_KEYBOARD_UID.*{(.*)}", line)
- if uid:
- break
+ config_h = dirname.joinpath("config.h")
+ if config_h.exists() and config_h.stat().st_size < 100000:
+ content = config_h.read_text()
+ uid = VIAL_UID_REGEX.search(content)
if uid:
break
- path = os.path.dirname(path)
- if path.endswith("keyboards"):
+ dirname = dirname.parents[0]
+ if dirname.match("keyboards"):
break
if not uid:
@@ -35,7 +35,8 @@ def main():
error = 1
continue
- uid = uid[0].split(",")
+ uid = uid[1].split(",")
+ uid.reverse()
uid = [int(x, 16) for x in uid]
uid = struct.pack("BBBBBBBB", *uid).hex()
uid_to_keyboards[uid].add(keyboard)
From ba1ebf348ee7e0919979fd7bf4e0d1f73148f37b Mon Sep 17 00:00:00 2001
From: adophoxia <100170946+adophoxia@users.noreply.github.com>
Date: Sun, 9 Apr 2023 18:01:59 -0700
Subject: [PATCH 13/69] Port Keychron Q11 to VIAL (#413)
* Port Keychron Q11 to VIAL
* Add back removed `KC_TASK` and `KC_FLXP` keycodes in `default` and `via` keymaps
* Sync #20125 from `qmk/master`
---
.../keychron/q11/ansi_encoder/ansi_encoder.c | 244 ++++++++++++++++
keyboards/keychron/q11/ansi_encoder/config.h | 20 ++
keyboards/keychron/q11/ansi_encoder/info.json | 166 +++++++++++
.../q11/ansi_encoder/keymaps/default/keymap.c | 71 +++++
.../q11/ansi_encoder/keymaps/default/rules.mk | 1 +
.../ansi_encoder/keymaps/keychron/keymap.c | 84 ++++++
.../ansi_encoder/keymaps/keychron/rules.mk | 5 +
.../q11/ansi_encoder/keymaps/via/keymap.c | 72 +++++
.../q11/ansi_encoder/keymaps/via/rules.mk | 2 +
.../q11/ansi_encoder/keymaps/vial/config.h | 8 +
.../q11/ansi_encoder/keymaps/vial/keymap.c | 84 ++++++
.../q11/ansi_encoder/keymaps/vial/rules.mk | 7 +
.../q11/ansi_encoder/keymaps/vial/vial.json | 268 ++++++++++++++++++
keyboards/keychron/q11/ansi_encoder/rules.mk | 9 +
keyboards/keychron/q11/config.h | 110 +++++++
keyboards/keychron/q11/halconf.h | 23 ++
keyboards/keychron/q11/mcuconf.h | 28 ++
keyboards/keychron/q11/q11.c | 98 +++++++
keyboards/keychron/q11/readme.md | 21 ++
19 files changed, 1321 insertions(+)
create mode 100755 keyboards/keychron/q11/ansi_encoder/ansi_encoder.c
create mode 100755 keyboards/keychron/q11/ansi_encoder/config.h
create mode 100755 keyboards/keychron/q11/ansi_encoder/info.json
create mode 100755 keyboards/keychron/q11/ansi_encoder/keymaps/default/keymap.c
create mode 100755 keyboards/keychron/q11/ansi_encoder/keymaps/default/rules.mk
create mode 100755 keyboards/keychron/q11/ansi_encoder/keymaps/keychron/keymap.c
create mode 100755 keyboards/keychron/q11/ansi_encoder/keymaps/keychron/rules.mk
create mode 100755 keyboards/keychron/q11/ansi_encoder/keymaps/via/keymap.c
create mode 100755 keyboards/keychron/q11/ansi_encoder/keymaps/via/rules.mk
create mode 100644 keyboards/keychron/q11/ansi_encoder/keymaps/vial/config.h
create mode 100755 keyboards/keychron/q11/ansi_encoder/keymaps/vial/keymap.c
create mode 100755 keyboards/keychron/q11/ansi_encoder/keymaps/vial/rules.mk
create mode 100644 keyboards/keychron/q11/ansi_encoder/keymaps/vial/vial.json
create mode 100755 keyboards/keychron/q11/ansi_encoder/rules.mk
create mode 100755 keyboards/keychron/q11/config.h
create mode 100755 keyboards/keychron/q11/halconf.h
create mode 100755 keyboards/keychron/q11/mcuconf.h
create mode 100755 keyboards/keychron/q11/q11.c
create mode 100644 keyboards/keychron/q11/readme.md
diff --git a/keyboards/keychron/q11/ansi_encoder/ansi_encoder.c b/keyboards/keychron/q11/ansi_encoder/ansi_encoder.c
new file mode 100755
index 0000000000..88f6132c61
--- /dev/null
+++ b/keyboards/keychron/q11/ansi_encoder/ansi_encoder.c
@@ -0,0 +1,244 @@
+/* Copyright 2023 @ Keychron (https://www.keychron.com)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+#include "quantum.h"
+
+#ifdef RGB_MATRIX_ENABLE
+
+// clang-format off
+
+const ckled2001_led PROGMEM g_ckled2001_leds[DRIVER_LED_TOTAL] = {
+/* Refer to IS31 manual for these locations
+ * driver
+ * | R location
+ * | | G location
+ * | | | B location
+ * | | | | */
+ {0, A_2, C_2, B_2}, // ESC
+ {0, A_3, C_3, B_3}, // F1
+ {0, A_4, C_4, B_4}, // F2
+ {0, A_5, C_5, B_5}, // F3
+ {0, A_6, C_6, B_6}, // F4
+ {0, A_7, C_7, B_7}, // F5
+ {0, A_8, C_8, B_8}, // F6
+
+ {0, D_1, F_1, E_1}, // M1
+ {0, D_2, F_2, E_2}, // `~
+ {0, D_3, F_3, E_3}, // 1!
+ {0, D_4, F_4, E_4}, // 2@
+ {0, D_5, F_5, E_5}, // 3#
+ {0, D_6, F_6, E_6}, // 4$
+ {0, D_7, F_7, E_7}, // 5%
+ {0, D_8, F_8, E_8}, // 6^
+
+ {0, G_1, I_1, H_1}, // M2
+ {0, G_2, I_2, H_2}, // TAB
+ {0, G_3, I_3, H_3}, // Q
+ {0, G_4, I_4, H_4}, // W
+ {0, G_5, I_5, H_5}, // E
+ {0, G_6, I_6, H_6}, // R
+ {0, G_7, I_7, H_7}, // T
+
+ {0, J_1, L_1, K_1}, // M3
+ {0, J_2, L_2, K_2}, // CapsJock
+ {0, J_3, L_3, K_3}, // A
+ {0, J_4, L_4, K_4}, // S
+ {0, J_5, L_5, K_5}, // D
+ {0, J_6, L_6, K_6}, // F
+ {0, J_7, L_7, K_7}, // G
+
+ {0, J_9, L_9, K_9}, // M4
+ {0, J_11, L_11, K_11}, // Shift_J
+ {0, J_12, L_12, K_12}, // Z
+ {0, J_13, L_13, K_13}, // X
+ {0, J_14, L_14, K_14}, // C
+ {0, J_15, L_15, K_15}, // V
+ {0, J_16, L_16, K_16}, // B
+
+ {0, G_9, I_9, H_9}, // M5
+ {0, G_10, I_10, H_10}, // Ctrl_L
+ {0, G_11, I_11, H_11}, // WGn_L
+ {0, G_12, I_12, H_12}, // Alt_L
+ {0, G_13, I_13, H_13}, // Fn
+ {0, G_15, I_15, H_15}, // Space
+
+ {0, A_16, C_16, B_16}, // F7
+ {0, A_15, C_15, B_15}, // F8
+ {0, A_14, C_14, B_14}, // F9
+ {0, A_13, C_13, B_13}, // F11
+ {0, A_12, C_12, B_12}, // F11
+ {0, A_11, C_11, B_11}, // F12
+ {0, A_10, C_10, B_10}, // INS
+ {0, A_9, C_9, B_9}, // DEL
+
+ {0, D_16, F_16, E_16}, // 7&
+ {0, D_15, F_15, E_15}, // 8*
+ {0, D_14, F_14, E_14}, // 9(
+ {0, D_13, F_13, E_13}, // 1)
+ {0, D_12, F_12, E_12}, // -_
+ {0, D_11, F_11, E_11}, // =+
+ {0, D_10, F_10, E_10}, // BackSpace
+ {0, D_8, F_8, E_8}, // PgUp
+
+ {0, G_16, I_16, H_16}, // Y
+ {0, G_15, I_15, H_15}, // U
+ {0, G_14, I_14, H_14}, // G
+ {0, G_13, I_13, H_13}, // O
+ {0, G_12, I_12, H_12}, // P
+ {0, G_11, I_11, H_11}, // [
+ {0, G_10, I_10, H_10}, // ]
+ {0, G_9, I_9, H_9}, // \||
+ {0, G_8, I_8, H_8}, // PgDn
+
+ {0, J_16, L_16, K_16}, // H
+ {0, J_15, L_15, K_15}, // J
+ {0, J_14, L_14, K_14}, // KKEY_PRESS_HOME
+ {0, J_13, L_13, K_13}, // J
+ {0, J_12, L_12, K_12}, // ;:
+ {0, J_11, L_11, K_11}, // '"
+ {0, J_9, L_9, K_9}, // Enter
+ {0, J_8, L_8, K_8}, // Home
+
+ {0, J_7, L_7, K_7}, // N
+ {0, J_6, L_6, K_6}, // M
+ {0, J_5, L_5, K_5}, // ,<
+ {0, J_4, L_4, K_4}, // .>
+ {0, J_3, L_3, K_3}, // ?/
+ {0, J_2, L_2, K_2}, // Shift_R
+ {0, J_1, L_1, K_1}, // Up
+
+ {0, G_6, I_6, H_6}, // Space
+ {0, G_5, I_5, H_5}, // Win_R
+ {0, G_4, I_4, H_4}, // Fn
+ {0, G_3, I_3, H_3}, // Ctrl_R
+ {0, G_2, I_2, H_2}, // Left
+ {0, G_1, I_1, H_1}, // Down
+ {0, G_7, I_7, H_7}, // Right
+};
+
+#define __ NO_LED
+
+led_config_t g_led_config = {
+ {
+ // Key Matrix to LED Index
+ { __, 0, 1, 2, 3, 4, 5, 6, __ },
+ { 7, 8, 9, 10, 11, 12, 13, 14, __ },
+ { 15, 16, 17, 18, 19, __, 20, 21, __ },
+ { 22, 23, 24, 25, 26, 27, 28, __, __ },
+ { 29, __, 30, 31, 32, 33, 34, 35, __ },
+ { 36, 37, 38, 39, 40, __, 41, __, __ },
+ { 42, 43, 44, 45, 46, 47, 48, 49, __ },
+ { 50, 51, 52, 53, 54, 55, 56, __, 57 },
+ { 58, 59, 60, 61, 62, 63, 64, 65, 66 },
+ { 67, 68, 69, 70, 71, 72, __, 73, 74 },
+ { 75, 76, 77, 78, 79, 80, __, 81, __ },
+ { __, 82, 83, 84, 85, __, 86, 87, 88 },
+ },
+ {
+ // LED Index to Physical Position
+ {17,0}, {31,0}, {45,0}, {59,0}, {72,0}, {86,0}, {100,0},
+ {0,15}, {17,15}, {31,15}, {45,15}, {59,15}, {72,15}, {86,15}, {100,15},
+ {0,27}, {21,27}, {38,27}, {52,27}, {66,27}, {79,27}, {93,27},
+ {0,40}, {22,40}, {41,40}, {55,40}, {69,40}, {83,40}, {97,40},
+ {0,52}, {26,52}, {48,52}, {61,52}, {76,52}, {90,52}, {102,52},
+ {0,64}, {19,64}, {36,64}, {53,64}, {70,64}, {94,64},
+ {110,0}, {124,0}, {138,0}, {152,0}, {165,0}, {179,0}, {193,0}, {207,0},
+ {110,15}, {124,15}, {138,15}, {152,15}, {165,15}, {179,15}, {200,15}, {224,15},
+ {104,27}, {117,27}, {131,27}, {145,27}, {158,27}, {172,27}, {186,27}, {203,27}, {224,27},
+ {107,40}, {121,40}, {134,40}, {148,40}, {162,40}, {176,40}, {198,40}, {224,40},
+ {114,52}, {127,52}, {141,52}, {155,52}, {169,52}, {188,52}, {210,52},
+ {126,64}, {152,64}, {166,64}, {180,64}, {196,64}, {210,64}, {224,64},
+ },
+ {
+ // RGB LED Index to Flag
+ 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 4, 4, 4, 4, 4, 4,
+ 1, 1, 4, 4, 4, 4, 4,
+ 1, 8, 4, 4, 4, 4, 4,
+ 1, 1, 4, 4, 4, 4, 4,
+ 1, 1, 1, 1, 1, 4,
+ 1, 1, 1, 1, 1, 1, 1, 1,
+ 4, 4, 4, 4, 4, 4, 1, 1,
+ 4, 4, 4, 4, 4, 4, 4, 4, 1,
+ 4, 4, 4, 4, 4, 4, 1, 1,
+ 4, 4, 4, 4, 4, 1, 1,
+ 4, 1, 1, 1, 1, 1, 1,
+ }
+};
+
+// clang-format on
+
+#endif
+
+#define ADC_BUFFER_DEPTH 1
+#define ADC_NUM_CHANNELS 1
+#define ADC_SAMPLING_RATE ADC_SMPR_SMP_12P5
+#define ADC_RESOLUTION ADC_CFGR_RES_10BITS
+
+static int16_t analogReadPin_my(pin_t pin) {
+ ADCConfig adcCfg = {};
+ adcsample_t sampleBuffer[ADC_NUM_CHANNELS*ADC_BUFFER_DEPTH];
+ ADCDriver* targetDriver = &ADCD1;
+ ADCConversionGroup adcConversionGroup = {
+ .circular = FALSE,
+ .num_channels = (uint16_t)(ADC_NUM_CHANNELS),
+ .cfgr = ADC_RESOLUTION,
+ };
+
+ palSetLineMode(pin, PAL_MODE_INPUT_ANALOG);
+ switch (pin) {
+ case B0:
+ adcConversionGroup.smpr[2] = ADC_SMPR2_SMP_AN15(ADC_SAMPLING_RATE);
+ adcConversionGroup.sqr[0] = ADC_SQR1_SQ1_N(ADC_CHANNEL_IN15);
+ sampleBuffer[0] = 0;
+ break;
+ case B1:
+ adcConversionGroup.smpr[2] = ADC_SMPR2_SMP_AN16(ADC_SAMPLING_RATE);
+ adcConversionGroup.sqr[0] = ADC_SQR1_SQ1_N(ADC_CHANNEL_IN16);
+ sampleBuffer[0] = 0;
+ break;
+ default:
+ return 0;
+ }
+ adcStart(targetDriver, &adcCfg);
+ if (adcConvert(targetDriver, &adcConversionGroup, &sampleBuffer[0], ADC_BUFFER_DEPTH) != MSG_OK) {
+ return 0;
+ }
+
+ return *sampleBuffer;
+}
+
+void keyboard_post_init_kb(void) {
+ // 1. The pin A5/B5 of the USB C interface in the left hand is connected to the pin A0 of MCU,
+ // A0 will be set to output and write high when keyboard initial.
+ // 2. The same pin in the right hand is connected to the pin B0 and B1 of MCU respectively,
+ // and the ADC function of B0 and B1 will be enabled when keyboard initial.
+ // 3. because the serial usart RXD and TXD is multiplexed on USB's D+ and D- in the right hand.
+ // So detect the voltage on the pin A5/B5 of the USB C interface by ADC,
+ // and disable USB connectivity when the ADC value exceeds 1000,
+ // to avoid affecting the serial usart communication between the left hand and the right hand.
+ if (is_keyboard_left()) {
+ setPinOutput(A0);
+ writePinHigh(A0);
+ } else {
+ if ((analogReadPin_my(B0) > 1000) || (analogReadPin_my(B1) > 1000)) {
+ setPinInput(A11);
+ setPinInput(A12);
+ }
+ }
+
+ keyboard_post_init_user();
+}
diff --git a/keyboards/keychron/q11/ansi_encoder/config.h b/keyboards/keychron/q11/ansi_encoder/config.h
new file mode 100755
index 0000000000..08632f0ce7
--- /dev/null
+++ b/keyboards/keychron/q11/ansi_encoder/config.h
@@ -0,0 +1,20 @@
+/* Copyright 2023 @ Keychron(https://www.keychron.com)
+ *
+ * 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
+
+/* Enable caps-lock LED */
+#define CAPS_LOCK_LED_INDEX 23
diff --git a/keyboards/keychron/q11/ansi_encoder/info.json b/keyboards/keychron/q11/ansi_encoder/info.json
new file mode 100755
index 0000000000..50d1260a09
--- /dev/null
+++ b/keyboards/keychron/q11/ansi_encoder/info.json
@@ -0,0 +1,166 @@
+{
+ "keyboard_name": "Keychron Q11",
+ "manufacturer": "Keychron",
+ "url": "https://github.com/Keychron",
+ "maintainer": "lalalademaxiya1",
+ "bootloader": "stm32-dfu",
+ "bootmagic": {
+ "matrix": [0, 1]
+ },
+ "features": {
+ "audio": false,
+ "backlight": false,
+ "bootmagic": true,
+ "command": false,
+ "console": false,
+ "dip_switch": true,
+ "encoder": true,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": true,
+ "rgb_matrix": true,
+ "rgblight": false
+ },
+ "diode_direction": "ROW2COL",
+ "encoder": {
+ "rotary": [
+ {"pin_a": "B0", "pin_b": "B1"}
+ ]
+ },
+ "matrix_pins": {
+ "cols": ["A7", "A6", "A5", "A4", "A3", "A2", "A1", "C15", null],
+ "rows": ["A13", "A14", "A15", "B3", "B4", "B5"]
+ },
+ "processor": "STM32L432",
+ "rgb_matrix": {
+ "driver": "CKLED2001",
+ "split_count": [42, 47]
+ },
+ "split": {
+ "enabled": true,
+ "encoder": {
+ "right": {
+ "rotary": [
+ {"pin_a": "C14", "pin_b": "C15"}
+ ]
+ }
+ },
+ "matrix_pins": {
+ "right": {
+ "cols": ["A8", "A7", "A6", "A5", "A4", "A3", "A2", "A1", "A0"],
+ "rows": ["B5", "B4", "B3", "A15", "A14", "A13"]
+ }
+ },
+ "transport": {
+ "protocol": "serial_usart",
+ "sync_matrix_state": false
+ }
+ },
+ "usb": {
+ "vid": "0x3434",
+ "pid": "0x01E0",
+ "device_version": "1.0.0"
+ },
+ "layouts": {
+ "LAYOUT_ansi_91": {
+ "layout": [
+ {"matrix":[0,0], "x":0, "y":0},
+ {"matrix":[0,1], "x":1.25, "y":0},
+ {"matrix":[0,2], "x":2.25, "y":0},
+ {"matrix":[0,3], "x":3.25, "y":0},
+ {"matrix":[0,4], "x":4.25, "y":0},
+ {"matrix":[0,5], "x":5.25, "y":0},
+ {"matrix":[0,6], "x":6.25, "y":0},
+ {"matrix":[0,7], "x":7.25, "y":0},
+ {"matrix":[6,0], "x":8.25, "y":0},
+ {"matrix":[6,1], "x":9.25, "y":0},
+ {"matrix":[6,2], "x":10.25, "y":0},
+ {"matrix":[6,3], "x":11.25, "y":0},
+ {"matrix":[6,4], "x":12.25, "y":0},
+ {"matrix":[6,5], "x":13.25, "y":0},
+ {"matrix":[6,6], "x":14.25, "y":0},
+ {"matrix":[6,7], "x":15.25, "y":0},
+ {"matrix":[6,8], "x":16.5, "y":0},
+
+ {"matrix":[1,0], "x":0, "y":1.25},
+ {"matrix":[1,1], "x":1.25, "y":1.25},
+ {"matrix":[1,2], "x":2.25, "y":1.25},
+ {"matrix":[1,3], "x":3.25, "y":1.25},
+ {"matrix":[1,4], "x":4.25, "y":1.25},
+ {"matrix":[1,5], "x":5.25, "y":1.25},
+ {"matrix":[1,6], "x":6.25, "y":1.25},
+ {"matrix":[1,7], "x":7.25, "y":1.25},
+ {"matrix":[7,0], "x":8.25, "y":1.25},
+ {"matrix":[7,1], "x":9.25, "y":1.25},
+ {"matrix":[7,2], "x":10.25, "y":1.25},
+ {"matrix":[7,3], "x":11.25, "y":1.25},
+ {"matrix":[7,4], "x":12.25, "y":1.25},
+ {"matrix":[7,5], "x":13.25, "y":1.25},
+ {"matrix":[7,6], "x":14.25, "y":1.25, "w":2},
+ {"matrix":[7,8], "x":16.5, "y":1.25},
+
+ {"matrix":[2,0], "x":0, "y":2.25},
+ {"matrix":[2,1], "x":1.25, "y":2.25, "w":1.5},
+ {"matrix":[2,2], "x":2.75, "y":2.25},
+ {"matrix":[2,3], "x":3.75, "y":2.25},
+ {"matrix":[2,4], "x":4.75, "y":2.25},
+ {"matrix":[2,6], "x":5.75, "y":2.25},
+ {"matrix":[2,7], "x":6.75, "y":2.25},
+ {"matrix":[8,0], "x":7.75, "y":2.25},
+ {"matrix":[8,1], "x":8.75, "y":2.25},
+ {"matrix":[8,2], "x":9.75, "y":2.25},
+ {"matrix":[8,3], "x":10.75, "y":2.25},
+ {"matrix":[8,4], "x":11.75, "y":2.25},
+ {"matrix":[8,5], "x":12.75, "y":2.25},
+ {"matrix":[8,6], "x":13.75, "y":2.25},
+ {"matrix":[8,7], "x":14.75, "y":2.25, "w":1.5},
+ {"matrix":[8,8], "x":16.5, "y":2.25},
+
+ {"matrix":[3,0], "x":0, "y":3.25},
+ {"matrix":[3,1], "x":1.25, "y":3.25, "w":1.75},
+ {"matrix":[3,2], "x":3, "y":3.25},
+ {"matrix":[3,3], "x":4, "y":3.25},
+ {"matrix":[3,4], "x":5, "y":3.25},
+ {"matrix":[3,5], "x":6, "y":3.25},
+ {"matrix":[3,6], "x":7, "y":3.25},
+ {"matrix":[9,0], "x":8, "y":3.25},
+ {"matrix":[9,1], "x":9, "y":3.25},
+ {"matrix":[9,2], "x":10, "y":3.25},
+ {"matrix":[9,3], "x":11, "y":3.25},
+ {"matrix":[9,4], "x":12, "y":3.25},
+ {"matrix":[9,5], "x":13, "y":3.25},
+ {"matrix":[9,7], "x":14, "y":3.25, "w":2.25},
+ {"matrix":[9,8], "x":16.5, "y":3.25},
+
+ {"matrix":[4,0], "x":0, "y":4.25},
+ {"matrix":[4,2], "x":1.25, "y":4.25, "w":2.25},
+ {"matrix":[4,3], "x":3.5, "y":4.25},
+ {"matrix":[4,4], "x":4.5, "y":4.25},
+ {"matrix":[4,5], "x":5.5, "y":4.25},
+ {"matrix":[4,6], "x":6.5, "y":4.25},
+ {"matrix":[4,7], "x":7.5, "y":4.25},
+ {"matrix":[10,0], "x":8.5, "y":4.25},
+ {"matrix":[10,1], "x":9.5, "y":4.25},
+ {"matrix":[10,2], "x":10.5, "y":4.25},
+ {"matrix":[10,3], "x":11.5, "y":4.25},
+ {"matrix":[10,4], "x":12.5, "y":4.25},
+ {"matrix":[10,5], "x":13.5, "y":4.25, "w":1.75},
+ {"matrix":[10,7], "x":15.5, "y":4.25},
+
+ {"matrix":[5,0], "x":0, "y":5.25},
+ {"matrix":[5,1], "x":1.25, "y":5.25, "w":1.25},
+ {"matrix":[5,2], "x":2.5, "y":5.25, "w":1.25},
+ {"matrix":[5,3], "x":3.75, "y":5.25, "w":1.25},
+ {"matrix":[5,4], "x":5, "y":5.25, "w":1.25},
+ {"matrix":[5,6], "x":6.25, "y":5.25, "w":2.25},
+ {"matrix":[11,1], "x":8.5, "y":5.25, "w":2.75},
+ {"matrix":[11,2], "x":11.25, "y":5.25},
+ {"matrix":[11,3], "x":12.25, "y":5.25},
+ {"matrix":[11,4], "x":13.25, "y":5.25},
+ {"matrix":[11,6], "x":14.5, "y":5.25},
+ {"matrix":[11,7], "x":15.5, "y":5.25},
+ {"matrix":[11,8], "x":16.5, "y":5.25}
+ ]
+ }
+ }
+}
diff --git a/keyboards/keychron/q11/ansi_encoder/keymaps/default/keymap.c b/keyboards/keychron/q11/ansi_encoder/keymaps/default/keymap.c
new file mode 100755
index 0000000000..1a7bff95da
--- /dev/null
+++ b/keyboards/keychron/q11/ansi_encoder/keymaps/default/keymap.c
@@ -0,0 +1,71 @@
+/* Copyright 2023 @ Keychron (https://www.keychron.com)
+ *
+ * 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{
+ MAC_BASE,
+ MAC_FN,
+ WIN_BASE,
+ WIN_FN
+};
+
+#define KC_TASK LGUI(KC_TAB)
+#define KC_FLXP LGUI(KC_E)
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [MAC_BASE] = LAYOUT_ansi_91(
+ KC_MUTE, KC_ESC, KC_BRID, KC_BRIU, KC_NO, KC_NO, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_INS, 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_PGUP,
+ _______, 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_PGDN,
+ _______, 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_HOME,
+ _______, 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_LCTL, KC_LOPT, KC_LCMD, MO(MAC_FN), KC_SPC, KC_SPC, KC_RCMD, MO(MAC_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
+
+ [MAC_FN] = LAYOUT_ansi_91(
+ RGB_TOG, _______, 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_TOG,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
+
+ [WIN_BASE] = LAYOUT_ansi_91(
+ KC_MUTE, 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_INS, 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_PGUP,
+ _______, 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_PGDN,
+ _______, 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_HOME,
+ _______, 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_LCTL, KC_LWIN, KC_LALT, MO(WIN_FN), KC_SPC, KC_SPC, KC_RALT, MO(WIN_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
+
+ [WIN_FN] = LAYOUT_ansi_91(
+ RGB_TOG, _______, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, RGB_TOG,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
+};
+
+#if defined(ENCODER_MAP_ENABLE)
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+ [MAC_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
+ [MAC_FN] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI), ENCODER_CCW_CW(RGB_VAD, RGB_VAI) },
+ [WIN_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
+ [WIN_FN] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI), ENCODER_CCW_CW(RGB_VAD, RGB_VAI) }
+};
+#endif // ENCODER_MAP_ENABLE
diff --git a/keyboards/keychron/q11/ansi_encoder/keymaps/default/rules.mk b/keyboards/keychron/q11/ansi_encoder/keymaps/default/rules.mk
new file mode 100755
index 0000000000..ee32568148
--- /dev/null
+++ b/keyboards/keychron/q11/ansi_encoder/keymaps/default/rules.mk
@@ -0,0 +1 @@
+ENCODER_MAP_ENABLE = yes
diff --git a/keyboards/keychron/q11/ansi_encoder/keymaps/keychron/keymap.c b/keyboards/keychron/q11/ansi_encoder/keymaps/keychron/keymap.c
new file mode 100755
index 0000000000..02883cd89a
--- /dev/null
+++ b/keyboards/keychron/q11/ansi_encoder/keymaps/keychron/keymap.c
@@ -0,0 +1,84 @@
+/* Copyright 2023 @ Keychron (https://www.keychron.com)
+ *
+ * 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
+#include "keychron_common.h"
+
+// clang-format off
+
+enum layers{
+ MAC_BASE,
+ MAC_FN,
+ WIN_BASE,
+ WIN_FN
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [MAC_BASE] = LAYOUT_ansi_91(
+ KC_MUTE, KC_ESC, KC_BRID, KC_BRIU, KC_MCTL, KC_LPAD, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_INS, KC_DEL, KC_MUTE,
+ MACRO01, 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_PGUP,
+ MACRO02, 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_PGDN,
+ MACRO03, 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_HOME,
+ MACRO04, 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,
+ MACRO05, KC_LCTL, KC_LOPTN, KC_LCMMD, MO(MAC_FN), KC_SPC, KC_SPC, KC_RCMMD, MO(MAC_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
+
+ [MAC_FN] = LAYOUT_ansi_91(
+ RGB_TOG, _______, 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_TOG,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
+
+ [WIN_BASE] = LAYOUT_ansi_91(
+ KC_MUTE, 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_INS, KC_DEL, KC_MUTE,
+ MACRO01, 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_PGUP,
+ MACRO02, 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_PGDN,
+ MACRO03, 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_HOME,
+ MACRO04, 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,
+ MACRO05, KC_LCTL, KC_LWIN, KC_LALT, MO(WIN_FN), KC_SPC, KC_SPC, KC_RALT, MO(WIN_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
+
+ [WIN_FN] = LAYOUT_ansi_91(
+ RGB_TOG, _______, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, RGB_TOG,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
+};
+
+#if defined(ENCODER_ENABLE) && defined(ENCODER_MAP_ENABLE)
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+ [MAC_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
+ [MAC_FN] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI), ENCODER_CCW_CW(RGB_VAD, RGB_VAI)},
+ [WIN_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
+ [WIN_FN] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI), ENCODER_CCW_CW(RGB_VAD, RGB_VAI)}
+};
+#endif // ENCODER_MAP_ENABLE
+
+// clang-format on
+
+void housekeeping_task_user(void) {
+ housekeeping_task_keychron();
+}
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ if (!process_record_keychron(keycode, record)) {
+ return false;
+ }
+
+ return true;
+}
diff --git a/keyboards/keychron/q11/ansi_encoder/keymaps/keychron/rules.mk b/keyboards/keychron/q11/ansi_encoder/keymaps/keychron/rules.mk
new file mode 100755
index 0000000000..9cf1a9b56c
--- /dev/null
+++ b/keyboards/keychron/q11/ansi_encoder/keymaps/keychron/rules.mk
@@ -0,0 +1,5 @@
+VIA_ENABLE = yes
+ENCODER_MAP_ENABLE = yes
+
+VPATH += keyboards/keychron/common
+SRC += keychron_common.c
diff --git a/keyboards/keychron/q11/ansi_encoder/keymaps/via/keymap.c b/keyboards/keychron/q11/ansi_encoder/keymaps/via/keymap.c
new file mode 100755
index 0000000000..8c4062adbe
--- /dev/null
+++ b/keyboards/keychron/q11/ansi_encoder/keymaps/via/keymap.c
@@ -0,0 +1,72 @@
+/* Copyright 2023 @ Keychron (https://www.keychron.com)
+ *
+ * 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{
+ MAC_BASE,
+ MAC_FN,
+ WIN_BASE,
+ WIN_FN
+};
+
+#define KC_TASK LGUI(KC_TAB)
+#define KC_FLXP LGUI(KC_E)
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [MAC_BASE] = LAYOUT_ansi_91(
+ KC_MUTE, KC_ESC, KC_BRID, KC_BRIU, KC_NO, KC_NO, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_INS, KC_DEL, KC_MUTE,
+ MACRO01, 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_PGUP,
+ MACRO02, 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_PGDN,
+ MACRO03, 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_HOME,
+ MACRO04, 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,
+ MACRO05, KC_LCTL, KC_LOPT, KC_LCMD, MO(MAC_FN), KC_SPC, KC_SPC, KC_RCMD, MO(MAC_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
+
+ [MAC_FN] = LAYOUT_ansi_91(
+ RGB_TOG, _______, 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_TOG,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
+
+ [WIN_BASE] = LAYOUT_ansi_91(
+ KC_MUTE, 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_INS, KC_DEL, KC_MUTE,
+ MACRO01, 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_PGUP,
+ MACRO02, 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_PGDN,
+ MACRO03, 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_HOME,
+ MACRO04, 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,
+ MACRO05, KC_LCTL, KC_LWIN, KC_LALT, MO(WIN_FN), KC_SPC, KC_SPC, KC_RALT, MO(WIN_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
+
+ [WIN_FN] = LAYOUT_ansi_91(
+ RGB_TOG, _______, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, RGB_TOG,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
+};
+
+#if defined(ENCODER_ENABLE) && defined(ENCODER_MAP_ENABLE)
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+ [MAC_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
+ [MAC_FN] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI), ENCODER_CCW_CW(RGB_VAD, RGB_VAI) },
+ [WIN_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
+ [WIN_FN] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI), ENCODER_CCW_CW(RGB_VAD, RGB_VAI) }
+};
+#endif // ENCODER_MAP_ENABLE
diff --git a/keyboards/keychron/q11/ansi_encoder/keymaps/via/rules.mk b/keyboards/keychron/q11/ansi_encoder/keymaps/via/rules.mk
new file mode 100755
index 0000000000..f1adcab005
--- /dev/null
+++ b/keyboards/keychron/q11/ansi_encoder/keymaps/via/rules.mk
@@ -0,0 +1,2 @@
+VIA_ENABLE = yes
+ENCODER_MAP_ENABLE = yes
diff --git a/keyboards/keychron/q11/ansi_encoder/keymaps/vial/config.h b/keyboards/keychron/q11/ansi_encoder/keymaps/vial/config.h
new file mode 100644
index 0000000000..17d97b7433
--- /dev/null
+++ b/keyboards/keychron/q11/ansi_encoder/keymaps/vial/config.h
@@ -0,0 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+
+#pragma once
+
+#define VIAL_KEYBOARD_UID {0x63, 0x39, 0x38, 0xEA, 0x3A, 0x46, 0x3E, 0x9F}
+
+#define VIAL_UNLOCK_COMBO_ROWS { 0, 9 }
+#define VIAL_UNLOCK_COMBO_COLS { 1, 7 }
\ No newline at end of file
diff --git a/keyboards/keychron/q11/ansi_encoder/keymaps/vial/keymap.c b/keyboards/keychron/q11/ansi_encoder/keymaps/vial/keymap.c
new file mode 100755
index 0000000000..02883cd89a
--- /dev/null
+++ b/keyboards/keychron/q11/ansi_encoder/keymaps/vial/keymap.c
@@ -0,0 +1,84 @@
+/* Copyright 2023 @ Keychron (https://www.keychron.com)
+ *
+ * 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
+#include "keychron_common.h"
+
+// clang-format off
+
+enum layers{
+ MAC_BASE,
+ MAC_FN,
+ WIN_BASE,
+ WIN_FN
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [MAC_BASE] = LAYOUT_ansi_91(
+ KC_MUTE, KC_ESC, KC_BRID, KC_BRIU, KC_MCTL, KC_LPAD, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_INS, KC_DEL, KC_MUTE,
+ MACRO01, 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_PGUP,
+ MACRO02, 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_PGDN,
+ MACRO03, 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_HOME,
+ MACRO04, 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,
+ MACRO05, KC_LCTL, KC_LOPTN, KC_LCMMD, MO(MAC_FN), KC_SPC, KC_SPC, KC_RCMMD, MO(MAC_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
+
+ [MAC_FN] = LAYOUT_ansi_91(
+ RGB_TOG, _______, 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_TOG,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
+
+ [WIN_BASE] = LAYOUT_ansi_91(
+ KC_MUTE, 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_INS, KC_DEL, KC_MUTE,
+ MACRO01, 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_PGUP,
+ MACRO02, 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_PGDN,
+ MACRO03, 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_HOME,
+ MACRO04, 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,
+ MACRO05, KC_LCTL, KC_LWIN, KC_LALT, MO(WIN_FN), KC_SPC, KC_SPC, KC_RALT, MO(WIN_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
+
+ [WIN_FN] = LAYOUT_ansi_91(
+ RGB_TOG, _______, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, RGB_TOG,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
+};
+
+#if defined(ENCODER_ENABLE) && defined(ENCODER_MAP_ENABLE)
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+ [MAC_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
+ [MAC_FN] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI), ENCODER_CCW_CW(RGB_VAD, RGB_VAI)},
+ [WIN_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
+ [WIN_FN] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI), ENCODER_CCW_CW(RGB_VAD, RGB_VAI)}
+};
+#endif // ENCODER_MAP_ENABLE
+
+// clang-format on
+
+void housekeeping_task_user(void) {
+ housekeeping_task_keychron();
+}
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ if (!process_record_keychron(keycode, record)) {
+ return false;
+ }
+
+ return true;
+}
diff --git a/keyboards/keychron/q11/ansi_encoder/keymaps/vial/rules.mk b/keyboards/keychron/q11/ansi_encoder/keymaps/vial/rules.mk
new file mode 100755
index 0000000000..c4ca639d6c
--- /dev/null
+++ b/keyboards/keychron/q11/ansi_encoder/keymaps/vial/rules.mk
@@ -0,0 +1,7 @@
+VIA_ENABLE = yes
+VIAL_ENABLE = yes
+VIALRGB_ENABLE = yes
+ENCODER_MAP_ENABLE = yes
+
+VPATH += keyboards/keychron/common
+SRC += keychron_common.c
diff --git a/keyboards/keychron/q11/ansi_encoder/keymaps/vial/vial.json b/keyboards/keychron/q11/ansi_encoder/keymaps/vial/vial.json
new file mode 100644
index 0000000000..6897d36068
--- /dev/null
+++ b/keyboards/keychron/q11/ansi_encoder/keymaps/vial/vial.json
@@ -0,0 +1,268 @@
+{
+ "name": "Keychron Q11",
+ "vendorId": "0x3434",
+ "productId": "0x01E0",
+ "lighting": "vialrgb",
+ "customKeycodes": [
+ {"name": "Mission Control", "title": "Mission Control in macOS", "shortName": "MCtrl"},
+ {"name": "Launch Pad", "title": "Launch Pad in macOS", "shortName": "LPad"},
+ {"name": "Left Option", "title": "Left Option in macOS", "shortName": "LOpt"},
+ {"name": "Right Option", "title": "Right Option in macOS", "shortName": "ROpt"},
+ {"name": "Left Cmd", "title": "Left Command in macOS", "shortName": "LCmd"},
+ {"name": "Right Cmd", "title": "Right Command in macOS", "shortName": "RCmd"},
+ {"name": "Siri", "title": "Siri in macOS", "shortName": "Siri"},
+ {"name": "Task View", "title": "Task View in windows", "shortName": "Task"},
+ {"name": "File Explorer", "title": "File Explorer in windows", "shortName": "File"},
+ {"name": "Screen Shot", "title": "Screenshot in macOS", "shortName": "SShot"},
+ {"name": "Cortana", "title": "Cortana in windows", "shortName": "Cortana"}
+ ],
+ "matrix": {"rows": 12, "cols": 9},
+ "layouts": {
+ "keymap": [
+ [
+ {
+ "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",
+ {
+ "x": 14.5
+ },
+ "1,0\n\n\n\n\n\n\n\n\ne",
+ "1,1\n\n\n\n\n\n\n\n\ne"
+ ],
+ [
+ {
+ "x": 0.75
+ },
+ "0,0",
+ {
+ "x": 0.25,
+ "c": "#777777"
+ },
+ "0,1\nESC",
+ {
+ "c": "#cccccc"
+ },
+ "0,2",
+ "0,3",
+ "0,4",
+ "0,5",
+ {
+ "c": "#aaaaaa"
+ },
+ "0,6",
+ "0,7",
+ "6,0",
+ "6,1",
+ {
+ "c": "#cccccc"
+ },
+ "6,2",
+ "6,3",
+ "6,4",
+ "6,5",
+ {
+ "c": "#aaaaaa"
+ },
+ "6,6",
+ "6,7",
+ {
+ "x": 0.25,
+ "c": "#cccccc"
+ },
+ "6,8"
+ ],
+ [
+ {
+ "y": 0.25,
+ "x": 0.75
+ },
+ "1,0",
+ {
+ "x": 0.25
+ },
+ "1,1",
+ "1,2",
+ "1,3",
+ "1,4",
+ "1,5",
+ "1,6",
+ "1,7",
+ "7,0",
+ "7,1",
+ "7,2",
+ "7,3",
+ "7,4",
+ "7,5",
+ {
+ "c": "#aaaaaa",
+ "w": 2
+ },
+ "7,6",
+ {
+ "x": 0.25
+ },
+ "7,8"
+ ],
+ [
+ {
+ "x": 0.75,
+ "c": "#cccccc"
+ },
+ "2,0",
+ {
+ "x": 0.25,
+ "c": "#aaaaaa",
+ "w": 1.5
+ },
+ "2,1",
+ {
+ "c": "#cccccc"
+ },
+ "2,2",
+ "2,3",
+ "2,4",
+ "2,6",
+ "2,7",
+ "8,0",
+ "8,1",
+ "8,2",
+ "8,3",
+ "8,4",
+ "8,5",
+ "8,6",
+ {
+ "w": 1.5
+ },
+ "8,7",
+ {
+ "x": 0.25,
+ "c": "#aaaaaa"
+ },
+ "8,8"
+ ],
+ [
+ {
+ "x": 0.75,
+ "c": "#cccccc"
+ },
+ "3,0",
+ {
+ "x": 0.25,
+ "c": "#aaaaaa",
+ "w": 1.75
+ },
+ "3,1",
+ {
+ "c": "#cccccc"
+ },
+ "3,2",
+ "3,3",
+ "3,4",
+ "3,5",
+ "3,6",
+ "9,0",
+ "9,1",
+ "9,2",
+ "9,3",
+ "9,4",
+ "9,5",
+ {
+ "c": "#777777",
+ "w": 2.25
+ },
+ "9,7",
+ {
+ "x": 0.25,
+ "c": "#aaaaaa"
+ },
+ "9,8"
+ ],
+ [
+ {
+ "x": 0.75,
+ "c": "#cccccc"
+ },
+ "4,0",
+ {
+ "x": 0.25,
+ "c": "#aaaaaa",
+ "w": 2.25
+ },
+ "4,2",
+ {
+ "c": "#cccccc"
+ },
+ "4,3",
+ "4,4",
+ "4,5",
+ "4,6",
+ "4,7",
+ "10,0",
+ "10,1",
+ "10,2",
+ "10,3",
+ "10,4",
+ {
+ "c": "#aaaaaa",
+ "w": 1.75
+ },
+ "10,5",
+ {
+ "x": 0.25,
+ "c": "#777777"
+ },
+ "10,7"
+ ],
+ [
+ {
+ "x": 0.75,
+ "c": "#cccccc"
+ },
+ "5,0",
+ {
+ "x": 0.25,
+ "c": "#aaaaaa",
+ "w": 1.25
+ },
+ "5,1",
+ {
+ "w": 1.25
+ },
+ "5,2",
+ {
+ "w": 1.25
+ },
+ "5,3",
+ {
+ "w": 1.25
+ },
+ "5,4",
+ {
+ "c": "#cccccc",
+ "w": 2.25
+ },
+ "5,6",
+ {
+ "w": 2.75
+ },
+ "11,1",
+ {
+ "c": "#aaaaaa"
+ },
+ "11,2",
+ "11,3",
+ "11,4",
+ {
+ "x": 0.25,
+ "c": "#777777"
+ },
+ "11,6",
+ "11,7",
+ "11,8"
+ ]
+ ]
+ }
+}
+
\ No newline at end of file
diff --git a/keyboards/keychron/q11/ansi_encoder/rules.mk b/keyboards/keychron/q11/ansi_encoder/rules.mk
new file mode 100755
index 0000000000..567ea30a2a
--- /dev/null
+++ b/keyboards/keychron/q11/ansi_encoder/rules.mk
@@ -0,0 +1,9 @@
+# Build Options
+# change yes to no to disable
+#
+EEPROM_DRIVER = wear_leveling
+WEAR_LEVELING_DRIVER = embedded_flash
+SERIAL_DRIVER = usart
+
+# Enter lower-power sleep mode when on the ChibiOS idle thread
+OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE
diff --git a/keyboards/keychron/q11/config.h b/keyboards/keychron/q11/config.h
new file mode 100755
index 0000000000..3e765f7718
--- /dev/null
+++ b/keyboards/keychron/q11/config.h
@@ -0,0 +1,110 @@
+/* Copyright 2023 @ Keychron(https://www.keychron.com)
+ *
+ * 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
+
+// Connects each switch in the dip switch to the GPIO pin of the MCU
+#define DIP_SWITCH_PINS \
+ { A8 }
+
+/* handedness */
+#define SPLIT_HAND_MATRIX_GRID A2, A15
+#define SPLIT_HAND_MATRIX_GRID_LOW_IS_RIGHT
+
+#define MATRIX_MASKED // actual mask is defined by `matrix_mask` in `q11.c`
+
+/* RGB Matrix Configuration */
+#define DRIVER_COUNT 1
+#define DRIVER_ADDR_1 0b1110100
+#define DRIVER_1_LED_TOTAL 89
+#define DRIVER_LED_TOTAL DRIVER_1_LED_TOTAL
+#define SPLIT_TRANSPORT_MIRROR
+
+/* Increase I2C speed to 1000 KHz */
+#define I2C1_TIMINGR_PRESC 0U
+#define I2C1_TIMINGR_SCLDEL 3U
+#define I2C1_TIMINGR_SDADEL 0U
+#define I2C1_TIMINGR_SCLH 15U
+#define I2C1_TIMINGR_SCLL 51U
+
+#define CKLED2001_CURRENT_TUNE \
+ { 0x80, 0xFF, 0xFF, 0x80, 0xFF, 0xFF, 0x80, 0xFF, 0xFF, 0x80, 0xFF, 0xFF } // 300mA
+
+/* EEPROM Driver Configuration */
+#define WEAR_LEVELING_LOGICAL_SIZE 2048
+#define WEAR_LEVELING_BACKING_SIZE (WEAR_LEVELING_LOGICAL_SIZE * 2)
+
+/* Split Keyboard specific options. */
+#define SERIAL_USART_TX_PIN A9 // USART TX pin
+
+/* Encoder Configuration */
+#define ENCODER_DEFAULT_POS 0x3
+
+/* Disable RGB lighting when PC is in suspend */
+#define RGB_DISABLE_WHEN_USB_SUSPENDED
+
+// RGB Matrix Animation modes. Explicitly enabled
+// For full list of effects, see:
+// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
+// #define ENABLE_RGB_MATRIX_ALPHAS_MODS
+// #define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
+// #define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
+#define ENABLE_RGB_MATRIX_BREATHING
+// #define ENABLE_RGB_MATRIX_BAND_SAT
+// #define ENABLE_RGB_MATRIX_BAND_VAL
+// #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
+// #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
+// #define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
+#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
+#define ENABLE_RGB_MATRIX_CYCLE_ALL
+#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
+#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
+#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
+#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
+#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
+#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
+#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
+#define ENABLE_RGB_MATRIX_DUAL_BEACON
+#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
+// #define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
+// #define ENABLE_RGB_MATRIX_RAINDROPS
+#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
+// #define ENABLE_RGB_MATRIX_HUE_BREATHING
+// #define ENABLE_RGB_MATRIX_HUE_PENDULUM
+// #define ENABLE_RGB_MATRIX_HUE_WAVE
+#define ENABLE_RGB_MATRIX_PIXEL_RAIN
+// #define ENABLE_RGB_MATRIX_PIXEL_FLOW
+// #define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
+
+#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
+// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
+#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
+#define ENABLE_RGB_MATRIX_DIGITAL_RAIN
+
+#define RGB_MATRIX_KEYPRESSES
+// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
+// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE
+// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
+// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
+// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
+// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
+#define ENABLE_RGB_MATRIX_SPLASH
+// #define ENABLE_RGB_MATRIX_MULTISPLASH
+#define ENABLE_RGB_MATRIX_SOLID_SPLASH
+// #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
diff --git a/keyboards/keychron/q11/halconf.h b/keyboards/keychron/q11/halconf.h
new file mode 100755
index 0000000000..028285a1f3
--- /dev/null
+++ b/keyboards/keychron/q11/halconf.h
@@ -0,0 +1,23 @@
+/* Copyright 2020 QMK
+ *
+ * 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_SERIAL TRUE
+#define HAL_USE_ADC TRUE
+
+#include_next
diff --git a/keyboards/keychron/q11/mcuconf.h b/keyboards/keychron/q11/mcuconf.h
new file mode 100755
index 0000000000..209b3f6fb5
--- /dev/null
+++ b/keyboards/keychron/q11/mcuconf.h
@@ -0,0 +1,28 @@
+/* Copyright 2020 QMK
+ *
+ * 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 STM32_I2C_USE_I2C1
+#define STM32_I2C_USE_I2C1 TRUE
+
+#undef STM32_SERIAL_USE_USART1
+#define STM32_SERIAL_USE_USART1 TRUE
+
+#undef STM32_ADC_USE_ADC1
+#define STM32_ADC_USE_ADC1 TRUE
diff --git a/keyboards/keychron/q11/q11.c b/keyboards/keychron/q11/q11.c
new file mode 100755
index 0000000000..992eea5776
--- /dev/null
+++ b/keyboards/keychron/q11/q11.c
@@ -0,0 +1,98 @@
+/* Copyright 2023 @ Keychron (https://www.keychron.com)
+ *
+ * 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"
+
+// Mask out handedness diode to prevent it
+// from keeping the keyboard awake
+// - just mirroring `KC_NO` in the `LAYOUT`
+// macro to keep it simple
+const matrix_row_t matrix_mask[] = {
+ 0b011111111,
+ 0b011111111,
+ 0b011111111,
+ 0b001111111,
+ 0b011111101,
+ 0b001011111,
+ 0b111111111,
+ 0b101111111,
+ 0b111111111,
+ 0b110111111,
+ 0b010111111,
+ 0b111011110,
+};
+
+#ifdef DIP_SWITCH_ENABLE
+bool dip_switch_update_kb(uint8_t index, bool active) {
+ if (!dip_switch_update_user(index, active)) {
+ return false;
+ }
+ if (index == 0) {
+ default_layer_set(1UL << (active ? 0 : 2));
+ }
+ return true;
+}
+#endif
+
+#if defined(RGB_MATRIX_ENABLE) && (defined(CAPS_LOCK_LED_INDEX) || defined(NUM_LOCK_LED_INDEX))
+bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
+ if (!process_record_user(keycode, record)) {
+ return false;
+ }
+ switch (keycode) {
+ case RGB_TOG:
+ if (record->event.pressed) {
+ switch (rgb_matrix_get_flags()) {
+ case LED_FLAG_ALL: {
+ rgb_matrix_set_flags(LED_FLAG_NONE);
+ rgb_matrix_set_color_all(0, 0, 0);
+ } 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;
+ }
+ return true;
+}
+
+void rgb_matrix_indicators_advanced_kb(uint8_t led_min, uint8_t led_max) {
+ // RGB_MATRIX_INDICATOR_SET_COLOR(index, red, green, blue);
+# if defined(CAPS_LOCK_LED_INDEX)
+ if (host_keyboard_led_state().caps_lock) {
+ RGB_MATRIX_INDICATOR_SET_COLOR(CAPS_LOCK_LED_INDEX, 255, 255, 255);
+ } else {
+ if (!rgb_matrix_get_flags()) {
+ RGB_MATRIX_INDICATOR_SET_COLOR(CAPS_LOCK_LED_INDEX, 0, 0, 0);
+ }
+ }
+# endif // CAPS_LOCK_LED_INDEX
+# if defined(NUM_LOCK_LED_INDEX)
+ if (host_keyboard_led_state().num_lock) {
+ RGB_MATRIX_INDICATOR_SET_COLOR(NUM_LOCK_LED_INDEX, 255, 255, 255);
+ } else {
+ if (!rgb_matrix_get_flags()) {
+ RGB_MATRIX_INDICATOR_SET_COLOR(NUM_LOCK_LED_INDEX, 0, 0, 0);
+ }
+ }
+# endif // NUM_LOCK_LED_INDEX
+}
+#endif
diff --git a/keyboards/keychron/q11/readme.md b/keyboards/keychron/q11/readme.md
new file mode 100644
index 0000000000..d7cccb0b3e
--- /dev/null
+++ b/keyboards/keychron/q11/readme.md
@@ -0,0 +1,21 @@
+# Keychron Q11
+
+![Keychron Q11](https://i.imgur.com/FPTNqKj.jpg[/img])
+
+A customizable 75% split keyboard.
+
+* Keyboard Maintainer: [Keychron](https://github.com/keychron)
+* Hardware Supported: Keychron Q11
+* Hardware Availability: [Keychron Q11 QMK Custom Mechanical Keyboard](https://www.keychron.com/products/keychron-q11-qmk-custom-mechanical-keyboard)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make keychron/q11/ansi_encoder:default
+
+Flashing example for this keyboard:
+
+ make keychron/q11/ansi_encoder:default:flash
+
+**Reset Key**: Hold down the key located at *K01*, which programmed as *Esc* while plugging in the keyboard.
+
+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).
\ No newline at end of file
From 4b9687098d1795bd3299e6dca2dcc07114f7a997 Mon Sep 17 00:00:00 2001
From: adophoxia <100170946+adophoxia@users.noreply.github.com>
Date: Sun, 9 Apr 2023 18:02:39 -0700
Subject: [PATCH 14/69] Update Q0; Port Keychron Q0 Plus to VIAL (#416)
* Update Q0; Port Keychron Q0 Plus to VIAL
* Update VIAL UIDs for Q0 and Q0 Plus
* Remove `via` keymaps and mentions of `VIA_ENABLE = yes` for `keychron` keymaps for Q0 and Q0 Plus
* Update readme.md
* Add VIAL-specific flags for `vial` keymap
---
keyboards/keychron/q0/config.h | 79 +--------
keyboards/keychron/q0/q0.c | 6 +-
keyboards/keychron/q0/q0.h | 23 ---
keyboards/keychron/q0/readme.md | 8 +-
keyboards/keychron/q0/rev_0130/config.h | 4 +
keyboards/keychron/q0/rev_0130/info.json | 125 +++++++++++---
.../q0/rev_0130/keymaps/default/keymap.c | 12 +-
.../q0/rev_0130/keymaps/keychron/keymap.c | 65 ++++++++
.../q0/rev_0130/keymaps/keychron/rules.mk | 4 +
.../q0/rev_0130/keymaps/vial/config.h | 2 +-
.../q0/rev_0130/keymaps/vial/keymap.c | 26 ++-
.../q0/rev_0130/keymaps/vial/rules.mk | 5 +-
.../q0/rev_0130/keymaps/vial/vial.json | 20 +--
keyboards/keychron/q0/rev_0130/rev_0130.c | 33 ----
keyboards/keychron/q0/rev_0130/rules.mk | 22 ---
.../rev_0130.h => rev_0131/config.h} | 34 ++--
keyboards/keychron/q0/rev_0131/info.json | 138 +++++++++++++++
.../q0/rev_0131/keymaps/default/keymap.c | 49 ++++++
.../q0/rev_0131/keymaps/default/rules.mk | 1 +
.../q0/rev_0131/keymaps/keychron/keymap.c | 83 +++++++++
.../q0/rev_0131/keymaps/keychron/rules.mk | 2 +
.../q0/rev_0131/keymaps/vial/config.h | 8 +
.../q0/rev_0131/keymaps/vial/keymap.c | 83 +++++++++
.../q0/rev_0131/keymaps/vial/rules.mk | 7 +
.../q0/rev_0131/keymaps/vial/vial.json | 157 ++++++++++++++++++
keyboards/keychron/q0/rev_0131/readme.md | 6 +
keyboards/keychron/q0/rev_0131/rev_0131.c | 62 +++++++
keyboards/keychron/q0/rev_0131/rules.mk | 5 +
28 files changed, 839 insertions(+), 230 deletions(-)
delete mode 100644 keyboards/keychron/q0/q0.h
create mode 100644 keyboards/keychron/q0/rev_0130/keymaps/keychron/keymap.c
create mode 100644 keyboards/keychron/q0/rev_0130/keymaps/keychron/rules.mk
rename keyboards/keychron/q0/{rev_0130/rev_0130.h => rev_0131/config.h} (57%)
create mode 100644 keyboards/keychron/q0/rev_0131/info.json
create mode 100644 keyboards/keychron/q0/rev_0131/keymaps/default/keymap.c
create mode 100644 keyboards/keychron/q0/rev_0131/keymaps/default/rules.mk
create mode 100644 keyboards/keychron/q0/rev_0131/keymaps/keychron/keymap.c
create mode 100644 keyboards/keychron/q0/rev_0131/keymaps/keychron/rules.mk
create mode 100644 keyboards/keychron/q0/rev_0131/keymaps/vial/config.h
create mode 100644 keyboards/keychron/q0/rev_0131/keymaps/vial/keymap.c
create mode 100644 keyboards/keychron/q0/rev_0131/keymaps/vial/rules.mk
create mode 100644 keyboards/keychron/q0/rev_0131/keymaps/vial/vial.json
create mode 100644 keyboards/keychron/q0/rev_0131/readme.md
create mode 100644 keyboards/keychron/q0/rev_0131/rev_0131.c
create mode 100644 keyboards/keychron/q0/rev_0131/rules.mk
diff --git a/keyboards/keychron/q0/config.h b/keyboards/keychron/q0/config.h
index 9422fadb42..454d8a2cc6 100644
--- a/keyboards/keychron/q0/config.h
+++ b/keyboards/keychron/q0/config.h
@@ -16,86 +16,11 @@
#pragma once
-/* key matrix size */
-#define MATRIX_ROWS 6
-#define MATRIX_COLS 4
-
-/* key matrix pins */
-#define MATRIX_ROW_PINS { B5, B4, B3, A15, A14, A13 }
-#define MATRIX_COL_PINS { A5, A6, A7, B0 }
-
-/* COL2ROW or ROW2COL */
-#define DIODE_DIRECTION ROW2COL
-
-/* Set 0 if debouncing isn't needed */
-#define DEBOUNCE 5
-
-/* RGB Matrix Driver Configuration */
-#define DRIVER_COUNT 1
-#define DRIVER_ADDR_1 0b1110100
-
-#define CKLED2001_CURRENT_TUNE \
- { 0xFF, 0xFF, 0x70, 0xFF, 0xFF, 0x70, 0xFF, 0xFF, 0x70, 0xFF, 0xFF, 0x70 }
-
-#define RGB_MATRIX_CENTER \
- { 56, 16 }
-
-/* NKRO */
-#define FORCE_NKRO
+#define CKLED2001_CURRENT_TUNE { 0xFF, 0xFF, 0x70, 0xFF, 0xFF, 0x70, 0xFF, 0xFF, 0x70, 0xFF, 0xFF, 0x70 }
/* turn off effects when suspended */
#define RGB_DISABLE_WHEN_USB_SUSPENDED
/* EEPROM Driver Configuration */
#define WEAR_LEVELING_LOGICAL_SIZE 2048
-#define WEAR_LEVELING_BACKING_SIZE (WEAR_LEVELING_LOGICAL_SIZE * 2)
-
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-// #define ENABLE_RGB_MATRIX_ALPHAS_MODS
-// #define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-// #define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_BREATHING
-// #define ENABLE_RGB_MATRIX_BAND_SAT
-// #define ENABLE_RGB_MATRIX_BAND_VAL
-// #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-// #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-// #define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-// #define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-#define ENABLE_RGB_MATRIX_CYCLE_ALL
-#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-#define ENABLE_RGB_MATRIX_DUAL_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-// #define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-#define ENABLE_RGB_MATRIX_RAINDROPS
-// #define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-// #define ENABLE_RGB_MATRIX_HUE_BREATHING
-// #define ENABLE_RGB_MATRIX_HUE_PENDULUM
-// #define ENABLE_RGB_MATRIX_HUE_WAVE
-// #define ENABLE_RGB_MATRIX_PIXEL_RAIN
-// #define ENABLE_RGB_MATRIX_PIXEL_FLOW
-// #define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-#define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-#define ENABLE_RGB_MATRIX_SPLASH
-#define ENABLE_RGB_MATRIX_MULTISPLASH
-#define ENABLE_RGB_MATRIX_SOLID_SPLASH
-#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-// #define RGB_MATRIX_KEYPRESSES
\ No newline at end of file
+#define WEAR_LEVELING_BACKING_SIZE (WEAR_LEVELING_LOGICAL_SIZE * 2)
\ No newline at end of file
diff --git a/keyboards/keychron/q0/q0.c b/keyboards/keychron/q0/q0.c
index d17ab77f47..672c8111d3 100644
--- a/keyboards/keychron/q0/q0.c
+++ b/keyboards/keychron/q0/q0.c
@@ -14,7 +14,7 @@
* along with this program. If not, see .
*/
-#include "q0.h"
+#include "quantum.h"
#if defined(RGB_MATRIX_ENABLE) && defined(NUM_LOCK_LED_INDEX)
@@ -42,9 +42,7 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
return true;
}
-__attribute__((weak)) void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {
- // RGB_MATRIX_INDICATOR_SET_COLOR(index, red, green, blue);
-
+void rgb_matrix_indicators_advanced_kb(uint8_t led_min, uint8_t led_max) {
if (host_keyboard_led_state().num_lock) {
RGB_MATRIX_INDICATOR_SET_COLOR(NUM_LOCK_LED_INDEX, 255, 255, 255);
} else {
diff --git a/keyboards/keychron/q0/q0.h b/keyboards/keychron/q0/q0.h
deleted file mode 100644
index 6eaa41e87c..0000000000
--- a/keyboards/keychron/q0/q0.h
+++ /dev/null
@@ -1,23 +0,0 @@
-/* Copyright 2022 @ Keychron (https://www.keychron.com)
- *
- * 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 "quantum.h"
-
-#if defined(KEYBOARD_keychron_q0_rev_0130)
-# include "rev_0130.h"
-#endif
diff --git a/keyboards/keychron/q0/readme.md b/keyboards/keychron/q0/readme.md
index d0180d386e..cab643be3b 100644
--- a/keyboards/keychron/q0/readme.md
+++ b/keyboards/keychron/q0/readme.md
@@ -7,12 +7,12 @@ A customizable number keypad.
* Hardware Availability: [Keychron](https://www.keychron.com)
Make example for this keyboard (after setting up your build environment):
-
- make keychron/q0/rev_0130:default
+
+ make keychron/q0/rev_0131:vial (Keychron Q0 Plus)
Flashing example for this keyboard:
-
- make keychron/q0/rev_0130:default:flash
+
+ make keychron/q0/rev_0131:vial:flash (Keychron Q0 Plus)
**Reset Key**: Hold down the key located at *K00*, commonly programmed as *Esc* while plugging in the keyboard.
diff --git a/keyboards/keychron/q0/rev_0130/config.h b/keyboards/keychron/q0/rev_0130/config.h
index e7fabed664..6b5bf30fda 100644
--- a/keyboards/keychron/q0/rev_0130/config.h
+++ b/keyboards/keychron/q0/rev_0130/config.h
@@ -16,6 +16,10 @@
#pragma once
+/* RGB Matrix Driver Configuration */
+#define DRIVER_COUNT 1
+#define DRIVER_ADDR_1 0b1110100
+
/* RGB Matrix Configuration */
#define DRIVER_1_LED_TOTAL 21
#define DRIVER_LED_TOTAL DRIVER_1_LED_TOTAL
diff --git a/keyboards/keychron/q0/rev_0130/info.json b/keyboards/keychron/q0/rev_0130/info.json
index d42a43ef66..cf1503db23 100644
--- a/keyboards/keychron/q0/rev_0130/info.json
+++ b/keyboards/keychron/q0/rev_0130/info.json
@@ -6,38 +6,117 @@
"usb": {
"vid": "0x3434",
"pid": "0x0130",
- "device_version": "1.0.2"
+ "device_version": "1.0.2",
+ "force_nkro": true
+ },
+ "matrix_pins": {
+ "cols": ["A5", "A6", "A7", "B0"],
+ "rows": ["B5", "B4", "B3", "A15", "A14", "A13"]
+ },
+ "features": {
+ "audio": false,
+ "backlight": false,
+ "bootmagic": true,
+ "command": false,
+ "console": false,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": true,
+ "rgb_matrix": true,
+ "rgblight": false
+ },
+ "diode_direction": "ROW2COL",
+ "bootmagic": {
+ "matrix": [0, 1]
+ },
+ "processor": "STM32L432",
+ "bootloader": "stm32-dfu",
+ "rgb_matrix": {
+ "driver": "CKLED2001",
+ "animations": {
+ "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,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "jellybean_raindrops": true,
+ "pixel_rain": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "solid_splash": true,
+ "keypresses": true,
+ "framebuffer_effects": true
+ },
+ "center_point": [56, 16],
+ "layout": [
+ {"flags": 1,"matrix":[0,0], "x":0, "y":0},
+ {"flags": 1,"matrix":[0,1], "x":1, "y":0},
+ {"flags": 1,"matrix":[0,2], "x":2, "y":0},
+ {"flags": 1,"matrix":[0,3], "x":3, "y":0},
+
+ {"flags": 9,"matrix":[1,0], "x":0, "y":6},
+ {"flags": 4,"matrix":[1,1], "x":1, "y":6},
+ {"flags": 4,"matrix":[1,2], "x":2, "y":6},
+ {"flags": 4,"matrix":[1,3], "x":3, "y":6},
+
+ {"flags": 4,"matrix":[2,0], "x":0, "y":13},
+ {"flags": 4,"matrix":[2,1], "x":1, "y":13},
+ {"flags": 4,"matrix":[2,2], "x":2, "y":13},
+
+ {"flags": 4,"matrix":[3,0], "x":0, "y":19},
+ {"flags": 4,"matrix":[3,1], "x":1, "y":19},
+ {"flags": 4,"matrix":[3,2], "x":2, "y":19},
+ {"flags": 4,"matrix":[2,3], "x":3, "y":16},
+
+ {"flags": 4,"matrix":[4,0], "x":0, "y":25},
+ {"flags": 4,"matrix":[4,1], "x":1, "y":25},
+ {"flags": 4,"matrix":[4,2], "x":2, "y":25},
+
+ {"flags": 4,"matrix":[5,0], "x":0, "y":32},
+ {"flags": 4,"matrix":[5,2], "x":2, "y":32},
+ {"flags": 1,"matrix":[4,3], "x":3, "y":29}
+ ]
},
"layouts": {
"LAYOUT_numpad_6x4": {
"layout": [
- {"label":"Fn", "x":0, "y":0},
- {"label":"Esc", "x":1, "y":0},
- {"label":"Backspace", "x":2, "y":0},
- {"label":"Tab", "x":3, "y":0},
+ {"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},
- {"label":"Num Lock", "x":0, "y":1},
- {"label":"/", "x":1, "y":1},
- {"label":"*", "x":2, "y":1},
- {"label":"-", "x":3, "y":1},
+ {"matrix":[1,0], "x":0, "y":1},
+ {"matrix":[1,1], "x":1, "y":1},
+ {"matrix":[1,2], "x":2, "y":1},
+ {"matrix":[1,3], "x":3, "y":1},
- {"label":"7", "x":0, "y":2},
- {"label":"8", "x":1, "y":2},
- {"label":"9", "x":2, "y":2},
+ {"matrix":[2,0], "x":0, "y":2},
+ {"matrix":[2,1], "x":1, "y":2},
+ {"matrix":[2,2], "x":2, "y":2},
- {"label":"4", "x":0, "y":3},
- {"label":"5", "x":1, "y":3},
- {"label":"6", "x":2, "y":3},
- {"label":"+", "x":3, "y":2, "h":2},
+ {"matrix":[3,0], "x":0, "y":3},
+ {"matrix":[3,1], "x":1, "y":3},
+ {"matrix":[3,2], "x":2, "y":3},
+ {"matrix":[2,3], "x":3, "y":2, "h":2},
- {"label":"1", "x":0, "y":4},
- {"label":"2", "x":1, "y":4},
- {"label":"3", "x":2, "y":4},
+ {"matrix":[4,0], "x":0, "y":4},
+ {"matrix":[4,1], "x":1, "y":4},
+ {"matrix":[4,2], "x":2, "y":4},
- {"label":"0", "x":0, "y":5, "w":2},
- {"label":".", "x":2, "y":5},
- {"label":"Enter", "x":3, "y":4, "h":2}
+ {"matrix":[5,0], "x":0, "y":5, "w":2},
+ {"matrix":[5,2], "x":2, "y":5},
+ {"matrix":[4,3], "x":3, "y":4, "h":2}
]
}
}
-}
\ No newline at end of file
+}
diff --git a/keyboards/keychron/q0/rev_0130/keymaps/default/keymap.c b/keyboards/keychron/q0/rev_0130/keymaps/default/keymap.c
index 6a05648074..387ff2d686 100644
--- a/keyboards/keychron/q0/rev_0130/keymaps/default/keymap.c
+++ b/keyboards/keychron/q0/rev_0130/keymaps/default/keymap.c
@@ -20,12 +20,12 @@ enum layers { _BASE, _FN1};
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_BASE] = LAYOUT_numpad_6x4(
- MO(_FN1), KC_ESC, KC_BSPACE, KC_TAB,
- KC_NUMLOCK, KC_PSLS, KC_PAST, KC_PMNS,
- KC_P7, KC_P8, KC_P9,
- KC_P4, KC_P5, KC_P6, KC_PPLS,
- KC_P1, KC_P2, KC_P3,
- KC_P0, KC_PDOT, KC_PENT),
+ MO(_FN1), KC_ESC, KC_BSPC, KC_TAB,
+ KC_NUM, KC_PSLS, KC_PAST, KC_PMNS,
+ KC_P7, KC_P8, KC_P9,
+ KC_P4, KC_P5, KC_P6, KC_PPLS,
+ KC_P1, KC_P2, KC_P3,
+ KC_P0, KC_PDOT, KC_PENT),
[_FN1] = LAYOUT_numpad_6x4(
_______, KC_MUTE, KC_VOLD, KC_VOLU,
diff --git a/keyboards/keychron/q0/rev_0130/keymaps/keychron/keymap.c b/keyboards/keychron/q0/rev_0130/keymaps/keychron/keymap.c
new file mode 100644
index 0000000000..73826716fc
--- /dev/null
+++ b/keyboards/keychron/q0/rev_0130/keymaps/keychron/keymap.c
@@ -0,0 +1,65 @@
+/* Copyright 2023 @ Keychron (https://www.keychron.com)
+ *
+ * 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
+#include "keychron_common.h"
+
+enum layers { _BASE, _FN1, _RESERVED1, _RESERVED2 };
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [_BASE] = LAYOUT_numpad_6x4(
+ MO(_FN1), KC_ESC, KC_BSPC, KC_TAB,
+ KC_NUM, KC_PSLS, KC_PAST, KC_PMNS,
+ KC_P7, KC_P8, KC_P9,
+ KC_P4, KC_P5, KC_P6, KC_PPLS,
+ KC_P1, KC_P2, KC_P3,
+ KC_P0, KC_PDOT, KC_PENT),
+
+ [_FN1] = LAYOUT_numpad_6x4(
+ _______, KC_MUTE, KC_VOLD, KC_VOLU,
+ RGB_MOD, RGB_VAI, RGB_HUI, KC_DEL,
+ RGB_RMOD, RGB_VAD, RGB_HUD,
+ RGB_SAI, RGB_SPI, KC_MPRV, _______,
+ RGB_SAD, RGB_SPD, KC_MPLY,
+ RGB_TOG, KC_MNXT, _______),
+
+ [_RESERVED1] = LAYOUT_numpad_6x4(
+ _______, _______, _______, _______,
+ _______, _______, _______, _______,
+ _______, _______, _______,
+ _______, _______, _______, _______,
+ _______, _______, _______,
+ _______, _______, _______),
+
+ [_RESERVED2] = LAYOUT_numpad_6x4(
+ _______, _______, _______, _______,
+ _______, _______, _______, _______,
+ _______, _______, _______,
+ _______, _______, _______, _______,
+ _______, _______, _______,
+ _______, _______, _______)
+};
+
+void housekeeping_task_user(void) {
+ housekeeping_task_keychron();
+}
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ if (!process_record_keychron(keycode, record)) {
+ return false;
+ }
+ return true;
+}
diff --git a/keyboards/keychron/q0/rev_0130/keymaps/keychron/rules.mk b/keyboards/keychron/q0/rev_0130/keymaps/keychron/rules.mk
new file mode 100644
index 0000000000..e5ae43813e
--- /dev/null
+++ b/keyboards/keychron/q0/rev_0130/keymaps/keychron/rules.mk
@@ -0,0 +1,4 @@
+ENCODER_MAP_ENABLE = yes
+
+VPATH += keyboards/keychron/common
+SRC += keychron_common.c
diff --git a/keyboards/keychron/q0/rev_0130/keymaps/vial/config.h b/keyboards/keychron/q0/rev_0130/keymaps/vial/config.h
index 5065e78b68..7dab45c639 100644
--- a/keyboards/keychron/q0/rev_0130/keymaps/vial/config.h
+++ b/keyboards/keychron/q0/rev_0130/keymaps/vial/config.h
@@ -2,7 +2,7 @@
#pragma once
-#define VIAL_KEYBOARD_UID {0xCD, 0xB9, 0xD4, 0xC9, 0x53, 0x9A, 0x68, 0xC3}
+#define VIAL_KEYBOARD_UID {0xCB, 0x44, 0x98, 0x8F, 0x71, 0xAE, 0x25, 0x99}
#define VIAL_UNLOCK_COMBO_ROWS { 0, 4 }
#define VIAL_UNLOCK_COMBO_COLS { 0, 3 }
diff --git a/keyboards/keychron/q0/rev_0130/keymaps/vial/keymap.c b/keyboards/keychron/q0/rev_0130/keymaps/vial/keymap.c
index 078ede4041..73826716fc 100644
--- a/keyboards/keychron/q0/rev_0130/keymaps/vial/keymap.c
+++ b/keyboards/keychron/q0/rev_0130/keymaps/vial/keymap.c
@@ -1,4 +1,4 @@
-/* Copyright 2022 @ Keychron (https://www.keychron.com)
+/* Copyright 2023 @ Keychron (https://www.keychron.com)
*
* 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
@@ -15,17 +15,18 @@
*/
#include QMK_KEYBOARD_H
+#include "keychron_common.h"
enum layers { _BASE, _FN1, _RESERVED1, _RESERVED2 };
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_BASE] = LAYOUT_numpad_6x4(
- MO(_FN1), KC_ESC, KC_BSPACE, KC_TAB,
- KC_NUMLOCK, KC_PSLS, KC_PAST, KC_PMNS,
- KC_P7, KC_P8, KC_P9,
- KC_P4, KC_P5, KC_P6, KC_PPLS,
- KC_P1, KC_P2, KC_P3,
- KC_P0, KC_PDOT, KC_PENT),
+ MO(_FN1), KC_ESC, KC_BSPC, KC_TAB,
+ KC_NUM, KC_PSLS, KC_PAST, KC_PMNS,
+ KC_P7, KC_P8, KC_P9,
+ KC_P4, KC_P5, KC_P6, KC_PPLS,
+ KC_P1, KC_P2, KC_P3,
+ KC_P0, KC_PDOT, KC_PENT),
[_FN1] = LAYOUT_numpad_6x4(
_______, KC_MUTE, KC_VOLD, KC_VOLU,
@@ -51,3 +52,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, _______,
_______, _______, _______)
};
+
+void housekeeping_task_user(void) {
+ housekeeping_task_keychron();
+}
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ if (!process_record_keychron(keycode, record)) {
+ return false;
+ }
+ return true;
+}
diff --git a/keyboards/keychron/q0/rev_0130/keymaps/vial/rules.mk b/keyboards/keychron/q0/rev_0130/keymaps/vial/rules.mk
index 31bb6d699f..c4077f69ff 100644
--- a/keyboards/keychron/q0/rev_0130/keymaps/vial/rules.mk
+++ b/keyboards/keychron/q0/rev_0130/keymaps/vial/rules.mk
@@ -1,3 +1,6 @@
VIA_ENABLE = yes
VIAL_ENABLE = yes
-VIALRGB_ENABLE = yes
\ No newline at end of file
+VIALRGB_ENABLE = yes
+
+VPATH += keyboards/keychron/common
+SRC += keychron_common.c
diff --git a/keyboards/keychron/q0/rev_0130/keymaps/vial/vial.json b/keyboards/keychron/q0/rev_0130/keymaps/vial/vial.json
index 4e75265ffa..65216a9750 100644
--- a/keyboards/keychron/q0/rev_0130/keymaps/vial/vial.json
+++ b/keyboards/keychron/q0/rev_0130/keymaps/vial/vial.json
@@ -1,14 +1,14 @@
{
- "name": "Keychron Q0",
- "vendorId": "0x3434",
- "productId": "0x0130",
- "lighting": "vialrgb",
- "matrix": {
- "rows": 6,
- "cols": 4
- },
- "layouts": {
- "keymap":[
+ "name": "Keychron Q0",
+ "vendorId": "0x3434",
+ "productId": "0x0130",
+ "lighting": "vialrgb",
+ "matrix": {
+ "rows": 6,
+ "cols": 4
+ },
+ "layouts": {
+ "keymap":[
[
"0,0",
"0,1",
diff --git a/keyboards/keychron/q0/rev_0130/rev_0130.c b/keyboards/keychron/q0/rev_0130/rev_0130.c
index 64c4842086..5d03282dd4 100644
--- a/keyboards/keychron/q0/rev_0130/rev_0130.c
+++ b/keyboards/keychron/q0/rev_0130/rev_0130.c
@@ -54,37 +54,4 @@ const ckled2001_led PROGMEM g_ckled2001_leds[DRIVER_LED_TOTAL] = {
{0, L_1, J_1, K_1}, // 19
{0, C_2, A_2, B_2}, // 20
};
-
-#define __ NO_LED
-
-led_config_t g_led_config = {
- {
- // Key Matrix to LED Index
- { 0, 1, 2, 3 },
- { 4, 5, 6, 7 },
- { 8, 9, 10, 14 },
- { 11, 12, 13, __ },
- { 15, 16, 17, 20 },
- { 18, __, 19, __ }
- },
- {
- // LED Index to Physical Position
- {0,0}, {37,0}, {75,0}, {112,0},
- {0,6}, {37,6}, {75,6}, {112,6},
- {0,13}, {37,13}, {75,13},
- {0,19}, {37,19}, {75,19}, {112,16},
- {0,25}, {37,25}, {75,25},
- {18,32}, {75,32}, {112,29},
- },
- {
- // LED Index to Flag
- 1, 1, 1, 1,
- 9, 4, 4, 4,
- 4, 4, 4,
- 4, 4, 4, 4,
- 4, 4, 4,
- 4, 4, 1
- }
-};
-
#endif // RGB_MATRIX_ENABLE
diff --git a/keyboards/keychron/q0/rev_0130/rules.mk b/keyboards/keychron/q0/rev_0130/rules.mk
index 5a04c755cd..4eebc33437 100644
--- a/keyboards/keychron/q0/rev_0130/rules.mk
+++ b/keyboards/keychron/q0/rev_0130/rules.mk
@@ -1,25 +1,3 @@
-# MCU name
-MCU = STM32L432
-
-# Bootloader selection
-BOOTLOADER = stm32-dfu
-
-# Build Options
-# change yes to no to disable.
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = no # Commands for debug and configuration
-NKRO_ENABLE = yes # Enable USB N-key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
-AUDIO_ENABLE = no # Audio output
-DIP_SWITCH_ENABLE = no
-RGB_MATRIX_ENABLE = yes
-RGB_MATRIX_DRIVER = CKLED2001
-LTO_ENABLE = yes
EEPROM_DRIVER = wear_leveling
WEAR_LEVELING_DRIVER = embedded_flash
diff --git a/keyboards/keychron/q0/rev_0130/rev_0130.h b/keyboards/keychron/q0/rev_0131/config.h
similarity index 57%
rename from keyboards/keychron/q0/rev_0130/rev_0130.h
rename to keyboards/keychron/q0/rev_0131/config.h
index d66c880aa9..be99f3d3bc 100644
--- a/keyboards/keychron/q0/rev_0130/rev_0130.h
+++ b/keyboards/keychron/q0/rev_0131/config.h
@@ -1,4 +1,4 @@
-/* Copyright 2022 @ Keychron (https://www.keychron.com)
+/* Copyright 2023 @ Keychron (https://www.keychron.com)
*
* 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
@@ -16,23 +16,19 @@
#pragma once
-#include "quantum.h"
+/* RGB Matrix Driver Configuration */
+#define DRIVER_COUNT 1
+#define DRIVER_ADDR_1 0b1110111
-#define XXX KC_NO
+/* RGB Matrix Configuration */
+#define DRIVER_1_LED_TOTAL 26
+#define DRIVER_LED_TOTAL DRIVER_1_LED_TOTAL
-#define LAYOUT_numpad_6x4( \
- K00, K01, K02, K03, \
- K10, K11, K12, K13, \
- K20, K21, K22, \
- K30, K31, K32, K23, \
- K40, K41, K42, \
- K50, K52, K43 \
-) \
-{ \
- { K00, K01, K02, K03 }, \
- { K10, K11, K12, K13 }, \
- { K20, K21, K22, K23 }, \
- { K30, K31, K32, XXX }, \
- { K40, K41, K42, K43 }, \
- { K50, XXX, K52, XXX }, \
-}
+/* Scan phase of led driver set as MSKPHASE_9CHANNEL(defined as 0x03 in CKLED2001.h) */
+#define PHASE_CHANNEL MSKPHASE_9CHANNEL
+
+/* Enable num-lock LED */
+#define NUM_LOCK_LED_INDEX 5
+
+/* Encoder Configuration */
+#define ENCODER_DEFAULT_POS 0x3
diff --git a/keyboards/keychron/q0/rev_0131/info.json b/keyboards/keychron/q0/rev_0131/info.json
new file mode 100644
index 0000000000..2f057ea985
--- /dev/null
+++ b/keyboards/keychron/q0/rev_0131/info.json
@@ -0,0 +1,138 @@
+{
+ "keyboard_name": "Keychron Q0 Plus",
+ "manufacturer": "Keychron",
+ "url": "https://github.com/Keychron",
+ "maintainer": "lalalademaxiya1",
+ "usb": {
+ "vid": "0x3434",
+ "pid": "0x0131",
+ "device_version": "1.0.0",
+ "force_nkro": true
+ },
+ "matrix_pins": {
+ "cols": ["C14", "C15", "A0", "A1", "A2"],
+ "rows": ["B5", "B4", "B3", "A15", "A14", "A13"]
+ },
+ "features": {
+ "audio": false,
+ "backlight": false,
+ "bootmagic": true,
+ "command": false,
+ "console": false,
+ "encoder": true,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": true,
+ "rgb_matrix": true,
+ "rgblight": false
+ },
+ "diode_direction": "ROW2COL",
+ "encoder": {
+ "rotary": [
+ {"pin_a": "A3", "pin_b": "A4"}
+ ]
+ },
+ "bootmagic": {
+ "matrix": [0, 1]
+ },
+ "processor": "STM32L432",
+ "bootloader": "stm32-dfu",
+ "rgb_matrix": {
+ "driver": "CKLED2001",
+ "animations": {
+ "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,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "jellybean_raindrops": true,
+ "pixel_rain": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "solid_splash": true,
+ "keypresses": true,
+ "framebuffer_effects": true
+ },
+ "layout": [
+ {"flags": 1, "matrix":[0,1], "x":1.25, "y":0},
+ {"flags": 1, "matrix":[0,2], "x":2.25, "y":0},
+ {"flags": 1, "matrix":[0,3], "x":3.25, "y":0},
+ {"flags": 1, "matrix":[0,4], "x":4.25, "y":0},
+
+ {"flags": 4, "matrix":[1,0], "x":0, "y":1.25},
+ {"flags": 8, "matrix":[1,1], "x":1.25, "y":1.25},
+ {"flags": 4, "matrix":[1,2], "x":2.25, "y":1.25},
+ {"flags": 4, "matrix":[1,3], "x":3.25, "y":1.25},
+ {"flags": 4, "matrix":[1,4], "x":4.25, "y":1.25},
+
+ {"flags": 4, "matrix":[2,0], "x":0, "y":2.25},
+ {"flags": 4, "matrix":[2,1], "x":1.25, "y":2.25},
+ {"flags": 4, "matrix":[2,2], "x":2.25, "y":2.25},
+ {"flags": 4, "matrix":[2,3], "x":3.25, "y":2.25},
+ {"flags": 4, "matrix":[2,4], "x":4.25, "y":2.25},
+
+ {"flags": 4, "matrix":[3,0], "x":0, "y":3.25},
+ {"flags": 4, "matrix":[3,1], "x":1.25, "y":3.25},
+ {"flags": 4, "matrix":[3,2], "x":2.25, "y":3.25},
+ {"flags": 4, "matrix":[3,3], "x":3.25, "y":3.25},
+
+ {"flags": 4, "matrix":[4,0], "x":0, "y":4.25},
+ {"flags": 4, "matrix":[4,1], "x":1.25, "y":4.25},
+ {"flags": 4, "matrix":[4,2], "x":2.25, "y":4.25},
+ {"flags": 4, "matrix":[4,3], "x":3.25, "y":4.25},
+ {"flags": 4, "matrix":[4,4], "x":4.25, "y":4.25},
+
+ {"flags": 4, "matrix":[5,0], "x":0, "y":5.25},
+ {"flags": 4, "matrix":[5,1], "x":1.25, "y":5.25},
+ {"flags": 1, "matrix":[5,3], "x":3.25, "y":5.25}
+ ]
+ },
+ "layouts": {
+ "LAYOUT_numpad_6x5": {
+ "layout": [
+ {"matrix":[0,0], "x":0, "y":0},
+ {"matrix":[0,1], "x":1.25, "y":0},
+ {"matrix":[0,2], "x":2.25, "y":0},
+ {"matrix":[0,3], "x":3.25, "y":0},
+ {"matrix":[0,4], "x":4.25, "y":0},
+
+ {"matrix":[1,0], "x":0, "y":1.25},
+ {"matrix":[1,1], "x":1.25, "y":1.25},
+ {"matrix":[1,2], "x":2.25, "y":1.25},
+ {"matrix":[1,3], "x":3.25, "y":1.25},
+ {"matrix":[1,4], "x":4.25, "y":1.25},
+
+ {"matrix":[2,0], "x":0, "y":2.25},
+ {"matrix":[2,1], "x":1.25, "y":2.25},
+ {"matrix":[2,2], "x":2.25, "y":2.25},
+ {"matrix":[2,3], "x":3.25, "y":2.25},
+ {"matrix":[2,4], "x":4.25, "y":2.25, "h":2},
+
+ {"matrix":[3,0], "x":0, "y":3.25},
+ {"matrix":[3,1], "x":1.25, "y":3.25},
+ {"matrix":[3,2], "x":2.25, "y":3.25},
+ {"matrix":[3,3], "x":3.25, "y":3.25},
+
+ {"matrix":[4,0], "x":0, "y":4.25},
+ {"matrix":[4,1], "x":1.25, "y":4.25},
+ {"matrix":[4,2], "x":2.25, "y":4.25},
+ {"matrix":[4,3], "x":3.25, "y":4.25},
+ {"matrix":[4,4], "x":4.25, "y":4.25, "h":2},
+
+ {"matrix":[5,0], "x":0, "y":5.25},
+ {"matrix":[5,1], "x":1.25, "y":5.25, "w":2},
+ {"matrix":[5,3], "x":3.25, "y":5.25}
+ ]
+ }
+ }
+}
diff --git a/keyboards/keychron/q0/rev_0131/keymaps/default/keymap.c b/keyboards/keychron/q0/rev_0131/keymaps/default/keymap.c
new file mode 100644
index 0000000000..f92d6b8362
--- /dev/null
+++ b/keyboards/keychron/q0/rev_0131/keymaps/default/keymap.c
@@ -0,0 +1,49 @@
+/* Copyright 2023 @ Keychron (https://www.keychron.com)
+ *
+ * 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 {
+ BASE,
+ FUNC
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [BASE] = LAYOUT_numpad_6x5(
+ KC_MUTE, MO(FUNC), KC_ESC, KC_BSPC, KC_TAB,
+ _______, KC_NUM, KC_PSLS, KC_PAST, KC_PMNS,
+ _______, KC_P7, KC_P8, KC_P9, KC_PPLS,
+ _______, KC_P4, KC_P5, KC_P6,
+ _______, KC_P1, KC_P2, KC_P3, KC_PENT,
+ _______, KC_P0, KC_PDOT),
+
+ [FUNC] = LAYOUT_numpad_6x5(
+ RGB_TOG, _______, KC_MUTE, KC_VOLD, KC_VOLU,
+ _______, RGB_MOD, RGB_VAI, RGB_HUI, KC_DEL,
+ _______, RGB_RMOD, RGB_VAD, RGB_HUD, _______,
+ _______, RGB_SAI, RGB_SPI, KC_MPRV,
+ _______, RGB_SAD, RGB_SPD, KC_MPLY, _______,
+ _______, RGB_TOG, KC_MNXT),
+};
+
+#if defined(ENCODER_MAP_ENABLE)
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+ [BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
+ [FUNC] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI) },
+};
+#endif // ENCODER_MAP_ENABLE
diff --git a/keyboards/keychron/q0/rev_0131/keymaps/default/rules.mk b/keyboards/keychron/q0/rev_0131/keymaps/default/rules.mk
new file mode 100644
index 0000000000..ee32568148
--- /dev/null
+++ b/keyboards/keychron/q0/rev_0131/keymaps/default/rules.mk
@@ -0,0 +1 @@
+ENCODER_MAP_ENABLE = yes
diff --git a/keyboards/keychron/q0/rev_0131/keymaps/keychron/keymap.c b/keyboards/keychron/q0/rev_0131/keymaps/keychron/keymap.c
new file mode 100644
index 0000000000..5d73b5733f
--- /dev/null
+++ b/keyboards/keychron/q0/rev_0131/keymaps/keychron/keymap.c
@@ -0,0 +1,83 @@
+/* Copyright 2023 @ Keychron (https://www.keychron.com)
+ *
+ * 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
+#include "keychron_common.h"
+
+// clang-format off
+
+enum layers {
+ BASE,
+ FUNC,
+ L2,
+ L3
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [BASE] = LAYOUT_numpad_6x5(
+ KC_MUTE, MO(FUNC), KC_ESC, KC_BSPC, KC_TAB,
+ MACRO01, KC_NUM, KC_PSLS, KC_PAST, KC_PMNS,
+ MACRO02, KC_P7, KC_P8, KC_P9, KC_PPLS,
+ MACRO03, KC_P4, KC_P5, KC_P6,
+ MACRO04, KC_P1, KC_P2, KC_P3, KC_PENT,
+ MACRO05, KC_P0, KC_PDOT),
+
+ [FUNC] = LAYOUT_numpad_6x5(
+ RGB_TOG, _______, KC_MUTE, KC_VOLD, KC_VOLU,
+ MACRO01, RGB_MOD, RGB_VAI, RGB_HUI, KC_DEL,
+ MACRO02, RGB_RMOD, RGB_VAD, RGB_HUD, _______,
+ MACRO03, RGB_SAI, RGB_SPI, KC_MPRV,
+ MACRO04, RGB_SAD, RGB_SPD, KC_MPLY, _______,
+ MACRO05, RGB_TOG, KC_MNXT),
+
+ [L2] = LAYOUT_numpad_6x5(
+ _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______,
+ _______, _______, _______, _______,
+ _______, _______, _______, _______, _______,
+ _______, _______, _______),
+
+ [L3] = LAYOUT_numpad_6x5(
+ _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______,
+ _______, _______, _______, _______,
+ _______, _______, _______, _______, _______,
+ _______, _______, _______)
+};
+
+#if defined(ENCODER_MAP_ENABLE)
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+ [BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
+ [FUNC] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI) },
+ [L2] = { ENCODER_CCW_CW(_______, _______) },
+ [L3] = { ENCODER_CCW_CW(_______, _______) }
+};
+#endif // ENCODER_MAP_ENABLE
+
+// clang-format on
+
+void housekeeping_task_user(void) {
+ housekeeping_task_keychron();
+}
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ if (!process_record_keychron(keycode, record)) {
+ return false;
+ }
+ return true;
+}
diff --git a/keyboards/keychron/q0/rev_0131/keymaps/keychron/rules.mk b/keyboards/keychron/q0/rev_0131/keymaps/keychron/rules.mk
new file mode 100644
index 0000000000..4b0e1da76e
--- /dev/null
+++ b/keyboards/keychron/q0/rev_0131/keymaps/keychron/rules.mk
@@ -0,0 +1,2 @@
+VPATH += keyboards/keychron/common
+SRC += keychron_common.c
diff --git a/keyboards/keychron/q0/rev_0131/keymaps/vial/config.h b/keyboards/keychron/q0/rev_0131/keymaps/vial/config.h
new file mode 100644
index 0000000000..15f11cf4df
--- /dev/null
+++ b/keyboards/keychron/q0/rev_0131/keymaps/vial/config.h
@@ -0,0 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+
+#pragma once
+
+#define VIAL_KEYBOARD_UID {0xD2, 0xD3, 0x91, 0xAE, 0xA4, 0x06, 0x6C, 0x30}
+
+#define VIAL_UNLOCK_COMBO_ROWS { 0, 4 }
+#define VIAL_UNLOCK_COMBO_COLS { 1, 4 }
diff --git a/keyboards/keychron/q0/rev_0131/keymaps/vial/keymap.c b/keyboards/keychron/q0/rev_0131/keymaps/vial/keymap.c
new file mode 100644
index 0000000000..52e1ee2eb2
--- /dev/null
+++ b/keyboards/keychron/q0/rev_0131/keymaps/vial/keymap.c
@@ -0,0 +1,83 @@
+/* Copyright 2023 @ Keychron (https://www.keychron.com)
+ *
+ * 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
+#include "keychron_common.h"
+
+// clang-format off
+
+enum layers {
+ BASE,
+ FUNC,
+ L2,
+ L3
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [BASE] = LAYOUT_numpad_6x5(
+ KC_MUTE, MO(FUNC), KC_ESC, KC_BSPC, KC_TAB,
+ MACRO01, KC_NUM, KC_PSLS, KC_PAST, KC_PMNS,
+ MACRO02, KC_P7, KC_P8, KC_P9, KC_PPLS,
+ MACRO03, KC_P4, KC_P5, KC_P6,
+ MACRO04, KC_P1, KC_P2, KC_P3, KC_PENT,
+ MACRO05, KC_P0, KC_PDOT),
+
+ [FUNC] = LAYOUT_numpad_6x5(
+ RGB_TOG, _______, KC_MUTE, KC_VOLD, KC_VOLU,
+ MACRO01, RGB_MOD, RGB_VAI, RGB_HUI, KC_DEL,
+ MACRO02, RGB_RMOD, RGB_VAD, RGB_HUD, _______,
+ MACRO03, RGB_SAI, RGB_SPI, KC_MPRV,
+ MACRO04, RGB_SAD, RGB_SPD, KC_MPLY, _______,
+ MACRO05, RGB_TOG, KC_MNXT),
+
+ [L2] = LAYOUT_numpad_6x5(
+ _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______,
+ _______, _______, _______, _______,
+ _______, _______, _______, _______, _______,
+ _______, _______, _______),
+
+ [L3] = LAYOUT_numpad_6x5(
+ _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______,
+ _______, _______, _______, _______,
+ _______, _______, _______, _______, _______,
+ _______, _______, _______)
+};
+
+#if defined(ENCODER_MAP_ENABLE)
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+ [BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
+ [FUNC] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI) },
+ [L2] = { ENCODER_CCW_CW(_______, _______) },
+ [L3] = { ENCODER_CCW_CW(_______, _______) }
+};
+#endif // ENCODER_MAP_ENABLE
+
+// clang-format on
+
+void housekeeping_task_user(void) {
+ housekeeping_task_keychron();
+}
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ if (!process_record_keychron(keycode, record)) {
+ return false;
+ }
+ return true;
+}
diff --git a/keyboards/keychron/q0/rev_0131/keymaps/vial/rules.mk b/keyboards/keychron/q0/rev_0131/keymaps/vial/rules.mk
new file mode 100644
index 0000000000..c4ca639d6c
--- /dev/null
+++ b/keyboards/keychron/q0/rev_0131/keymaps/vial/rules.mk
@@ -0,0 +1,7 @@
+VIA_ENABLE = yes
+VIAL_ENABLE = yes
+VIALRGB_ENABLE = yes
+ENCODER_MAP_ENABLE = yes
+
+VPATH += keyboards/keychron/common
+SRC += keychron_common.c
diff --git a/keyboards/keychron/q0/rev_0131/keymaps/vial/vial.json b/keyboards/keychron/q0/rev_0131/keymaps/vial/vial.json
new file mode 100644
index 0000000000..06922df10d
--- /dev/null
+++ b/keyboards/keychron/q0/rev_0131/keymaps/vial/vial.json
@@ -0,0 +1,157 @@
+{
+ "name": "Keychron Q0 Plus",
+ "vendorId": "0x3434",
+ "productId": "0x0131",
+ "lighting": "vialrgb",
+ "customKeycodes": [
+ {
+ "name": "Mission Control",
+ "title": "Mission Control in macOS",
+ "shortName": "MCtrl"
+ },
+ {
+ "name": "Launch Pad",
+ "title": "Launch Pad in macOS",
+ "shortName": "LPad"
+ },
+ {
+ "name": "Left Option",
+ "title": "Left Option in macOS",
+ "shortName": "LOpt"
+ },
+ {
+ "name": "Right Option",
+ "title": "Right Option in macOS",
+ "shortName": "ROpt"
+ },
+ {
+ "name": "Left Cmd",
+ "title": "Left Command in macOS",
+ "shortName": "LCmd"
+ },
+ {
+ "name": "Right Cmd",
+ "title": "Right Command in macOS",
+ "shortName": "RCmd"
+ },
+ {
+ "name": "Siri",
+ "title": "Siri in macOS",
+ "shortName": "Siri"
+ },
+ {
+ "name": "Task View",
+ "title": "Task View in windows",
+ "shortName": "Task"
+ },
+ {
+ "name": "File Explorer",
+ "title": "File Explorer in windows",
+ "shortName": "File"
+ },
+ {
+ "name": "Screen Shot",
+ "title": "Screenshot in macOS",
+ "shortName": "SShot"
+ },
+ {
+ "name": "Cortana",
+ "title": "Cortana in windows",
+ "shortName": "Cortana"
+ }
+ ],
+ "matrix": {"rows": 6, "cols": 5},
+ "layouts": {
+ "keymap": [
+ [
+ "0,0\n\n\n\n\n\n\n\n\ne",
+ "0,1\n\n\n\n\n\n\n\n\ne"
+ ],
+ [
+ {
+ "x": 0.5
+ },
+ "0,0",
+ {
+ "x": 0.25,
+ "c": "#aaaaaa"
+ },
+ "0,1",
+ "0,2",
+ "0,3",
+ "0,4"
+ ],
+ [
+ {
+ "y": 0.25,
+ "x": 0.5,
+ "c": "#cccccc"
+ },
+ "1,0",
+ {
+ "x": 0.25
+ },
+ "1,1",
+ "1,2",
+ "1,3",
+ "1,4"
+ ],
+ [
+ {
+ "x": 0.5
+ },
+ "2,0",
+ {
+ "x": 0.25
+ },
+ "2,1",
+ "2,2",
+ "2,3",
+ {
+ "h": 2
+ },
+ "2,4"
+ ],
+ [
+ {
+ "x": 0.5
+ },
+ "3,0",
+ {
+ "x": 0.25
+ },
+ "3,1",
+ "3,2",
+ "3,3"
+ ],
+ [
+ {
+ "x": 0.5
+ },
+ "4,0",
+ {
+ "x": 0.25
+ },
+ "4,1",
+ "4,2",
+ "4,3",
+ {
+ "h": 2
+ },
+ "4,4"
+ ],
+ [
+ {
+ "x": 0.5
+ },
+ "5,0",
+ {
+ "x": 0.25,
+ "w": 2
+ },
+ "5,1",
+ "5,3"
+ ]
+ ]
+ }
+}
diff --git a/keyboards/keychron/q0/rev_0131/readme.md b/keyboards/keychron/q0/rev_0131/readme.md
new file mode 100644
index 0000000000..df07c40e49
--- /dev/null
+++ b/keyboards/keychron/q0/rev_0131/readme.md
@@ -0,0 +1,6 @@
+# The enhanced version with encoder of the Keychron Q0
+
+- The name of this keyboard is "Q0 Plus"
+- Enable EC11 rotary encoder
+- Turn clockwise to increase volume and turn anti-clockwise to decrease volume
+- Press the knob button to mute
diff --git a/keyboards/keychron/q0/rev_0131/rev_0131.c b/keyboards/keychron/q0/rev_0131/rev_0131.c
new file mode 100644
index 0000000000..89f812e681
--- /dev/null
+++ b/keyboards/keychron/q0/rev_0131/rev_0131.c
@@ -0,0 +1,62 @@
+/* Copyright 2023 @ Keychron (https://www.keychron.com)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+#include "quantum.h"
+
+#ifdef RGB_MATRIX_ENABLE
+
+// clang-format off
+
+const ckled2001_led PROGMEM g_ckled2001_leds[DRIVER_LED_TOTAL] = {
+/* Refer to CKLED manual for these locations
+ * driver
+ * | R location
+ * | | G location
+ * | | | B location
+ * | | | | */
+ {0, I_2, G_2, H_2},
+ {0, I_3, G_3, H_3},
+ {0, I_4, G_4, H_4},
+ {0, I_5, G_5, H_5},
+
+ {0, C_1, A_1, B_1},
+ {0, C_2, A_2, B_2},
+ {0, C_3, A_3, B_3},
+ {0, C_4, A_4, B_4},
+ {0, C_5, A_5, B_5},
+
+ {0, F_1, D_1, E_1},
+ {0, F_2, D_2, E_2},
+ {0, F_3, D_3, E_3},
+ {0, F_4, D_4, E_4},
+ {0, F_5, D_5, E_5},
+
+ {0, I_6, G_6, H_6},
+ {0, I_7, G_7, H_7},
+ {0, I_8, G_8, H_8},
+ {0, I_9, G_9, H_9},
+
+ {0, C_6, A_6, B_6},
+ {0, C_7, A_7, B_7},
+ {0, C_8, A_8, B_8},
+ {0, C_9, A_9, B_9},
+ {0, C_10, A_10, B_10},
+
+ {0, F_6, D_6, E_6},
+ {0, F_7, D_7, E_7},
+ {0, F_9, D_9, E_9},
+};
+#endif // RGB_MATRIX_ENABLE
diff --git a/keyboards/keychron/q0/rev_0131/rules.mk b/keyboards/keychron/q0/rev_0131/rules.mk
new file mode 100644
index 0000000000..4eebc33437
--- /dev/null
+++ b/keyboards/keychron/q0/rev_0131/rules.mk
@@ -0,0 +1,5 @@
+EEPROM_DRIVER = wear_leveling
+WEAR_LEVELING_DRIVER = embedded_flash
+
+# Enter lower-power sleep mode when on the ChibiOS idle thread
+OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE
From bec2d660d6c014024667e2aee2fa6384e07120c4 Mon Sep 17 00:00:00 2001
From: Kristofer
Date: Mon, 10 Apr 2023 03:03:31 +0200
Subject: [PATCH 15/69] Port SteamVan rev1 to Vial (#429)
* Start porting SteamVan rev1
* Port SteamVan rev1
* Update readme.md
* Update readme.md
* Update readme.md
* Update keymap.c
---
.../handwired/steamvan/keymaps/vial/config.h | 7 +
.../handwired/steamvan/keymaps/vial/keymap.c | 60 +++++++
.../handwired/steamvan/keymaps/vial/readme.md | 2 +
.../handwired/steamvan/keymaps/vial/rules.mk | 2 +
.../handwired/steamvan/keymaps/vial/vial.json | 153 ++++++++++++++++++
5 files changed, 224 insertions(+)
create mode 100644 keyboards/handwired/steamvan/keymaps/vial/config.h
create mode 100644 keyboards/handwired/steamvan/keymaps/vial/keymap.c
create mode 100644 keyboards/handwired/steamvan/keymaps/vial/readme.md
create mode 100644 keyboards/handwired/steamvan/keymaps/vial/rules.mk
create mode 100644 keyboards/handwired/steamvan/keymaps/vial/vial.json
diff --git a/keyboards/handwired/steamvan/keymaps/vial/config.h b/keyboards/handwired/steamvan/keymaps/vial/config.h
new file mode 100644
index 0000000000..2ae2574576
--- /dev/null
+++ b/keyboards/handwired/steamvan/keymaps/vial/config.h
@@ -0,0 +1,7 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+
+#pragma once
+
+#define VIAL_KEYBOARD_UID {0x7B, 0x61, 0xAC, 0x64, 0xC9, 0x02, 0x6D, 0x1A}
+#define VIAL_UNLOCK_COMBO_ROWS { 0, 2 }
+#define VIAL_UNLOCK_COMBO_COLS { 0, 11 }
diff --git a/keyboards/handwired/steamvan/keymaps/vial/keymap.c b/keyboards/handwired/steamvan/keymaps/vial/keymap.c
new file mode 100644
index 0000000000..e612a7a6f5
--- /dev/null
+++ b/keyboards/handwired/steamvan/keymaps/vial/keymap.c
@@ -0,0 +1,60 @@
+/* Copyright 2019 John M Daly
+ *
+ * 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
+
+// This file is based on the default keymap of the MiniVan.
+
+enum layer_names {
+ _QW,
+ _L1,
+ _L2,
+ _L3,
+};
+
+// Curly braces have their own keys. These are defined to make them not mess up
+// the grid in layer 2.
+#define L_CURBR LSFT(KC_LBRC)
+#define R_CURBR LSFT(KC_RBRC)
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [_QW] = LAYOUT_standard( /* QWERTY */
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
+ MO(_L1), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, MO(_L1),
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, MO(_L2),
+ KC_LCTL, MO(_L2), KC_LGUI, KC_ENT, KC_SPC, KC_RALT, KC_ESC, TG(_L3)
+ ),
+
+ [_L1] = LAYOUT_standard( /* LAYER 1 */
+ KC_GRV, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL,
+ _______, KC_BSLS, KC_QUOT, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_DOWN, KC_UP, KC_LEFT, KC_RGHT, _______,
+ _______, KC_ESC, _______, KC_PSCR, _______, _______, _______, KC_MSTP, KC_MPLY, KC_MPRV, KC_MNXT, KC_RSFT,
+ _______, KC_LGUI, _______, _______, _______, _______, _______, _______
+ ),
+
+ [_L2] = LAYOUT_standard( /* LAYER 2 */
+ _______, _______, _______, _______, _______, _______, _______, KC_7, KC_8, KC_9, KC_0, _______,
+ KC_ESC, KC_PIPE, KC_DQUO, KC_UNDS, KC_PLUS, L_CURBR, R_CURBR, KC_4, KC_5, KC_6, KC_VOLU, KC_ENT,
+ _______, _______, _______, _______, _______, _______, KC_0, KC_1, KC_2, KC_3, KC_VOLD, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+
+ [_L3] = LAYOUT_standard( /* LAYER 3 */
+ _______, _______, _______, _______, _______, _______, _______, KC_F1, KC_F2, KC_F3, KC_F4, _______,
+ KC_ESC, _______, _______, _______, _______, _______, _______, KC_F5, KC_F6, KC_F7, KC_F8, _______,
+ KC_LSFT, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_F9, KC_F10, KC_F11, KC_F12, _______,
+ _______, KC_LSFT, KC_B, KC_SPC, KC_C, _______, _______, _______
+ )
+};
diff --git a/keyboards/handwired/steamvan/keymaps/vial/readme.md b/keyboards/handwired/steamvan/keymaps/vial/readme.md
new file mode 100644
index 0000000000..9bb3f35c29
--- /dev/null
+++ b/keyboards/handwired/steamvan/keymaps/vial/readme.md
@@ -0,0 +1,2 @@
+# SteamVan rev1 Vial
+Based on the default SteamVan layout
diff --git a/keyboards/handwired/steamvan/keymaps/vial/rules.mk b/keyboards/handwired/steamvan/keymaps/vial/rules.mk
new file mode 100644
index 0000000000..4f7618e9b2
--- /dev/null
+++ b/keyboards/handwired/steamvan/keymaps/vial/rules.mk
@@ -0,0 +1,2 @@
+VIA_ENABLE = yes
+VIAL_ENABLE = yes
diff --git a/keyboards/handwired/steamvan/keymaps/vial/vial.json b/keyboards/handwired/steamvan/keymaps/vial/vial.json
new file mode 100644
index 0000000000..87eee470d7
--- /dev/null
+++ b/keyboards/handwired/steamvan/keymaps/vial/vial.json
@@ -0,0 +1,153 @@
+{
+ "name": "SteamVan",
+ "vendorId": "0xFEED",
+ "productId": "0x0001",
+ "lighting": "qmk_rgblight",
+ "matrix": {
+ "rows": 4,
+ "cols": 12
+ },
+ "layouts": {
+ "labels": [
+ "Arrows",
+ "Command"
+ ],
+ "keymap": [
+ [
+ {
+ "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",
+ {
+ "c": "#aaaaaa",
+ "w": 1.75
+ },
+ "0,11"
+ ],
+ [
+ {
+ "w": 1.25
+ },
+ "1,0",
+ {
+ "c": "#cccccc"
+ },
+ "1,1",
+ "1,2",
+ "1,3",
+ "1,4",
+ "1,5",
+ "1,6",
+ "1,7",
+ "1,8",
+ "1,9",
+ "1,10",
+ {
+ "c": "#aaaaaa",
+ "w": 1.5
+ },
+ "1,11"
+ ],
+ [
+ {
+ "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\n\n\n0,0",
+ {
+ "c": "#aaaaaa"
+ },
+ "2,11"
+ ],
+ [
+ {
+ "w": 1.25
+ },
+ "3,0\n\n\n1,0",
+ {
+ "w": 1.5
+ },
+ "3,1\n\n\n1,0",
+ {
+ "w": 1.25
+ },
+ "3,3\n\n\n1,0",
+ {
+ "c": "#777777",
+ "w": 2.25
+ },
+ "3,4",
+ {
+ "c": "#aaaaaa",
+ "w": 2
+ },
+ "3,6",
+ {
+ "w": 1.25
+ },
+ "3,8\n\n\n0,0",
+ {
+ "w": 1.5
+ },
+ "3,9\n\n\n0,0",
+ {
+ "w": 1.75
+ },
+ "3,11\n\n\n0,0"
+ ],
+ [
+ {
+ "y": 0.25,
+ "x": 10.75,
+ "c": "#777777"
+ },
+ "2,10\n\n\n0,1"
+ ],
+ [
+ {
+ "c": "#aaaaaa"
+ },
+ "3,0\n\n\n1,1",
+ "3,1\n\n\n1,1",
+ "3,2\n\n\n1,1",
+ "3,3\n\n\n1,1",
+ {
+ "x": 4.25,
+ "w": 1.5
+ },
+ "3,8\n\n\n0,1",
+ {
+ "c": "#777777"
+ },
+ "3,9\n\n\n0,1",
+ "3,10\n\n\n0,1",
+ "3,11\n\n\n0,1"
+ ]
+ ]
+ }
+}
From 712ad24d403c2603251dfa6c992c22384bd69dee Mon Sep 17 00:00:00 2001
From: Kristofer
Date: Mon, 10 Apr 2023 03:03:45 +0200
Subject: [PATCH 16/69] Port Plaid to Vial (#430)
* Port Plaid
* Update readme.md
* Update readme.md
* Update keymap.c
---
.../dm9records/plaid/keymaps/vial/config.h | 8 ++
.../dm9records/plaid/keymaps/vial/keymap.c | 109 ++++++++++++++++++
.../dm9records/plaid/keymaps/vial/readme.md | 7 ++
.../dm9records/plaid/keymaps/vial/rules.mk | 3 +
.../dm9records/plaid/keymaps/vial/vial.json | 71 ++++++++++++
5 files changed, 198 insertions(+)
create mode 100644 keyboards/dm9records/plaid/keymaps/vial/config.h
create mode 100644 keyboards/dm9records/plaid/keymaps/vial/keymap.c
create mode 100644 keyboards/dm9records/plaid/keymaps/vial/readme.md
create mode 100644 keyboards/dm9records/plaid/keymaps/vial/rules.mk
create mode 100644 keyboards/dm9records/plaid/keymaps/vial/vial.json
diff --git a/keyboards/dm9records/plaid/keymaps/vial/config.h b/keyboards/dm9records/plaid/keymaps/vial/config.h
new file mode 100644
index 0000000000..a45879476d
--- /dev/null
+++ b/keyboards/dm9records/plaid/keymaps/vial/config.h
@@ -0,0 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+
+#pragma once
+
+#define VIAL_KEYBOARD_UID {0x19, 0x4E, 0xD1, 0x59, 0x72, 0x00, 0x2E, 0x42}
+
+#define VIAL_UNLOCK_COMBO_ROWS { 0, 2 }
+#define VIAL_UNLOCK_COMBO_COLS { 0, 11 }
diff --git a/keyboards/dm9records/plaid/keymaps/vial/keymap.c b/keyboards/dm9records/plaid/keymaps/vial/keymap.c
new file mode 100644
index 0000000000..c0aff7dc89
--- /dev/null
+++ b/keyboards/dm9records/plaid/keymaps/vial/keymap.c
@@ -0,0 +1,109 @@
+/* Copyright 2019 Takuya Urakawa (dm9records.com)
+ *
+ * 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
+
+enum plaid_layers {
+ _QWERTY,
+ _LOWER,
+ _RAISE,
+ _ADJUST
+};
+
+#define LOWER FN_MO13
+#define RAISE FN_MO23
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+/* Qwerty
+ * ,-----------------------------------------------------------------------------------.
+ * | Tab | Q | W | E | R | T | Y | U | I | O | P | Bksp |
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * | Esc | A | S | D | F | G | H | J | K | L | ; | " |
+ * |------+------+------+------+------+------|------+------+------+------+------+------|
+ * | Shift| Z | X | C | V | B | N | M | , | . | / |Enter |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Ctrl | RAlt | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right |
+ * `-----------------------------------------------------------------------------------'
+ */
+[_QWERTY] = LAYOUT_plaid_grid(
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
+ KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT ,
+ KC_LCTL, KC_RALT, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
+),
+
+/* Lower
+ * ,-----------------------------------------------------------------------------------.
+ * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Bksp |
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * | Del | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | |
+ * |------+------+------+------+------+------|------+------+------+------+------+------|
+ * | | F7 | F8 | F9 | F10 | F11 | F12 |ISO ~ |ISO | | Home | End | |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | | | | | | | Next | Vol- | Vol+ | Play |
+ * `-----------------------------------------------------------------------------------'
+ */
+[_LOWER] = LAYOUT_plaid_grid(
+ KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,
+ KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE,
+ _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, S(KC_NUHS), S(KC_NUBS), KC_HOME, KC_END, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
+),
+
+/* Raise
+ * ,-----------------------------------------------------------------------------------.
+ * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp |
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * | Del | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ |
+ * |------+------+------+------+------+------|------+------+------+------+------+------|
+ * | | F7 | F8 | F9 | F10 | F11 | F12 |ISO # |ISO / |Pg Up |Pg Dn | |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | | | | | | | Next | Vol- | Vol+ | Play |
+ * `-----------------------------------------------------------------------------------'
+ */
+[_RAISE] = LAYOUT_plaid_grid(
+ KC_GRV, 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_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
+ _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
+),
+
+/* Adjust (Lower + Raise)
+ * ,-----------------------------------------------------------------------------------.
+ * |Reset | | | | | | | | | | | Del |
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * | | |MusCyc|Aud on|Audoff|AGnorm|AGswap| | | | | |
+ * |------+------+------+------+------+------|------+------+------+------+------+------|
+ * | | | |Mus on|Musoff| | | | | | | |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | | | | | | | | | | |
+ * `-----------------------------------------------------------------------------------'
+ */
+[_ADJUST] = LAYOUT_plaid_grid(
+ QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL,
+ _______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, _______, _______, _______, _______, _______,
+ _______, _______, _______, MU_ON, MU_OFF, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+)
+
+};
+
+bool led_update_user(led_t led_state) {
+ writePin(LED_RED, led_state.caps_lock);
+ writePin(LED_GREEN, led_state.scroll_lock);
+ return false;
+}
diff --git a/keyboards/dm9records/plaid/keymaps/vial/readme.md b/keyboards/dm9records/plaid/keymaps/vial/readme.md
new file mode 100644
index 0000000000..80a89a715d
--- /dev/null
+++ b/keyboards/dm9records/plaid/keymaps/vial/readme.md
@@ -0,0 +1,7 @@
+# Vial keymap for Plaid
+
+This layout is based on the default layout, and includes an adjust layer (4),
+accessible by holding the lower and raise modifiers together.
+
+RED LED : Caps Lock
+GREEN LED : Scroll Lock
diff --git a/keyboards/dm9records/plaid/keymaps/vial/rules.mk b/keyboards/dm9records/plaid/keymaps/vial/rules.mk
new file mode 100644
index 0000000000..46f9f1360f
--- /dev/null
+++ b/keyboards/dm9records/plaid/keymaps/vial/rules.mk
@@ -0,0 +1,3 @@
+VIA_ENABLE = yes
+VIAL_ENABLE = yes
+LTO_ENABLE = yes
diff --git a/keyboards/dm9records/plaid/keymaps/vial/vial.json b/keyboards/dm9records/plaid/keymaps/vial/vial.json
new file mode 100644
index 0000000000..e33ee4de72
--- /dev/null
+++ b/keyboards/dm9records/plaid/keymaps/vial/vial.json
@@ -0,0 +1,71 @@
+{
+ "name": "Plaid",
+ "vendorId": "0x16C0",
+ "productId": "0x27DB",
+ "lighting": "none",
+ "matrix": { "rows": 4, "cols": 12 },
+ "layouts": {
+ "labels": [["Bottom Row", "Grid", "MIT"]],
+ "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"
+ ],
+ [
+ "1,0",
+ "1,1",
+ "1,2",
+ "1,3",
+ "1,4",
+ "1,5",
+ "1,6",
+ "1,7",
+ "1,8",
+ "1,9",
+ "1,10",
+ "1,11"
+ ],
+ [
+ "2,0",
+ "2,1",
+ "2,2",
+ "2,3",
+ "2,4",
+ "2,5",
+ "2,6",
+ "2,7",
+ "2,8",
+ "2,9",
+ "2,10",
+ "2,11"
+ ],
+ [
+ "3,0",
+ "3,1",
+ "3,2",
+ "3,3",
+ "3,4",
+ { "c": "#777777" },
+ "3,5\n\n\n0,0",
+ "3,6\n\n\n0,0",
+ { "c": "#cccccc" },
+ "3,7",
+ "3,8",
+ "3,9",
+ "3,10",
+ "3,11"
+ ],
+ [{ "x": 5, "c": "#777777", "w": 2 }, "3,5\n\n\n0,1"]
+ ]
+ }
+}
From c18a5a91e82605298eef1575d7f3b9d309cc2674 Mon Sep 17 00:00:00 2001
From: stanrc85 <47038504+stanrc85@users.noreply.github.com>
Date: Sun, 9 Apr 2023 21:03:53 -0400
Subject: [PATCH 17/69] Move keymap to proper PCB Rev folder (#432)
---
.../{ => standard_led/arm/rev4}/keymaps/vial/config.h | 0
.../{ => standard_led/arm/rev4}/keymaps/vial/keymap.c | 0
.../adelais/standard_led/arm/rev4/keymaps/vial/readme.md | 5 +++++
.../{ => standard_led/arm/rev4}/keymaps/vial/rules.mk | 0
.../{ => standard_led/arm/rev4}/keymaps/vial/vial.json | 0
5 files changed, 5 insertions(+)
rename keyboards/mechlovin/adelais/{ => standard_led/arm/rev4}/keymaps/vial/config.h (100%)
rename keyboards/mechlovin/adelais/{ => standard_led/arm/rev4}/keymaps/vial/keymap.c (100%)
create mode 100644 keyboards/mechlovin/adelais/standard_led/arm/rev4/keymaps/vial/readme.md
rename keyboards/mechlovin/adelais/{ => standard_led/arm/rev4}/keymaps/vial/rules.mk (100%)
rename keyboards/mechlovin/adelais/{ => standard_led/arm/rev4}/keymaps/vial/vial.json (100%)
diff --git a/keyboards/mechlovin/adelais/keymaps/vial/config.h b/keyboards/mechlovin/adelais/standard_led/arm/rev4/keymaps/vial/config.h
similarity index 100%
rename from keyboards/mechlovin/adelais/keymaps/vial/config.h
rename to keyboards/mechlovin/adelais/standard_led/arm/rev4/keymaps/vial/config.h
diff --git a/keyboards/mechlovin/adelais/keymaps/vial/keymap.c b/keyboards/mechlovin/adelais/standard_led/arm/rev4/keymaps/vial/keymap.c
similarity index 100%
rename from keyboards/mechlovin/adelais/keymaps/vial/keymap.c
rename to keyboards/mechlovin/adelais/standard_led/arm/rev4/keymaps/vial/keymap.c
diff --git a/keyboards/mechlovin/adelais/standard_led/arm/rev4/keymaps/vial/readme.md b/keyboards/mechlovin/adelais/standard_led/arm/rev4/keymaps/vial/readme.md
new file mode 100644
index 0000000000..f26e9b45e6
--- /dev/null
+++ b/keyboards/mechlovin/adelais/standard_led/arm/rev4/keymaps/vial/readme.md
@@ -0,0 +1,5 @@
+# The Vial keymap for Adelais Rev. 4
+
+Make example for this keyboard (after setting up your build environment):
+
+ make mechlovin/adelais/standard_led/arm/rev4:vial
\ No newline at end of file
diff --git a/keyboards/mechlovin/adelais/keymaps/vial/rules.mk b/keyboards/mechlovin/adelais/standard_led/arm/rev4/keymaps/vial/rules.mk
similarity index 100%
rename from keyboards/mechlovin/adelais/keymaps/vial/rules.mk
rename to keyboards/mechlovin/adelais/standard_led/arm/rev4/keymaps/vial/rules.mk
diff --git a/keyboards/mechlovin/adelais/keymaps/vial/vial.json b/keyboards/mechlovin/adelais/standard_led/arm/rev4/keymaps/vial/vial.json
similarity index 100%
rename from keyboards/mechlovin/adelais/keymaps/vial/vial.json
rename to keyboards/mechlovin/adelais/standard_led/arm/rev4/keymaps/vial/vial.json
From e54c15147ad47ce7641fb4c2bb1c8bf607625338 Mon Sep 17 00:00:00 2001
From: Keepo <64993772+CountKeepo@users.noreply.github.com>
Date: Mon, 10 Apr 2023 04:04:04 +0300
Subject: [PATCH 18/69] Add missing vial.json to the PRKL30 keyboard (#434)
* Create rules.mk
* Add files via upload
* Update readme.md
* Support for PRKL30 + fix
Added VIAL support for PRKL30 since it didn't have any.
I also fixed a deprecated line in the promicro folder. #define RGBLIGHT_ANIMATIONS is no longer valid in QMK.
* Create vial.json
---
.../handwired/prkl30/keymaps/vial/vial.json | 20 +++++++++++++++++++
1 file changed, 20 insertions(+)
create mode 100644 keyboards/handwired/prkl30/keymaps/vial/vial.json
diff --git a/keyboards/handwired/prkl30/keymaps/vial/vial.json b/keyboards/handwired/prkl30/keymaps/vial/vial.json
new file mode 100644
index 0000000000..d3e7048f47
--- /dev/null
+++ b/keyboards/handwired/prkl30/keymaps/vial/vial.json
@@ -0,0 +1,20 @@
+{
+ "name": "PRKL30",
+ "vendorId": "0xE0E0",
+ "productId": "0x0030",
+ "lighting": "qmk_rgblight",
+ "matrix": {"rows": 4, "cols": 10},
+ "layouts": {
+ "labels": [
+ "Encoder",
+ "Split space"
+ ],
+ "keymap": [
+ ["0,0\n\n\n0,1\n\n\n\n\n\ne","0,1\n\n\n0,1\n\n\n\n\n\ne",{"d":true},"\n\n\n0,0\n\n\n\n\n\n",{"d":true},"\n\n\n0,0\n\n\n\n\n\n"],
+ [{"y":0.25,"x":2.5},"0,0","0,1","0,2","0,3","0,4","0,5","0,6","0,7","0,8","0,9","3,0","3,1",{"w":1.5},"3,2"],
+ [{"x":2.5},"1,0","1,1","1,2","1,3","1,4","1,5","1,6","1,7","1,8","1,9","3,3","3,4",{"x":0.25,"w":1.25,"h":2,"w2":1.5,"h2":1,"x2":-0.25},"3,5"],
+ [{"x":2.5},"2,0","2,1","2,2","2,3","2,4",{"w":2},"2,5\n\n\n1,0","2,7","2,8","2,9","3,6",{"w":1.25},"3,7"],
+ [{"y":0.25,"x":7.5},"2,5\n\n\n1,1","2,6\n\n\n1,1"]
+ ]
+ }
+}
\ No newline at end of file
From 9824ad65cb04171a20c054888aaf29359d83c96b Mon Sep 17 00:00:00 2001
From: Patrick Muldoon
Date: Sun, 9 Apr 2023 18:04:17 -0700
Subject: [PATCH 19/69] Adding Mode Sonnet, both HotSwap and Solder PCB. (#435)
Following the porting guide this adds The Mode Sonnet, both hotswap and solder variants.
Tested on multiple keyboards.
---
keyboards/mode/m75h/keymaps/vial/config.h | 9 +
keyboards/mode/m75h/keymaps/vial/keymap.c | 53 ++++
keyboards/mode/m75h/keymaps/vial/rules.mk | 2 +
keyboards/mode/m75h/keymaps/vial/vial.json | 224 +++++++++++++++++
keyboards/mode/m75s/keymaps/vial/config.h | 9 +
keyboards/mode/m75s/keymaps/vial/keymap.c | 53 ++++
keyboards/mode/m75s/keymaps/vial/rules.mk | 2 +
keyboards/mode/m75s/keymaps/vial/vial.json | 267 +++++++++++++++++++++
8 files changed, 619 insertions(+)
create mode 100644 keyboards/mode/m75h/keymaps/vial/config.h
create mode 100755 keyboards/mode/m75h/keymaps/vial/keymap.c
create mode 100644 keyboards/mode/m75h/keymaps/vial/rules.mk
create mode 100644 keyboards/mode/m75h/keymaps/vial/vial.json
create mode 100644 keyboards/mode/m75s/keymaps/vial/config.h
create mode 100755 keyboards/mode/m75s/keymaps/vial/keymap.c
create mode 100644 keyboards/mode/m75s/keymaps/vial/rules.mk
create mode 100644 keyboards/mode/m75s/keymaps/vial/vial.json
diff --git a/keyboards/mode/m75h/keymaps/vial/config.h b/keyboards/mode/m75h/keymaps/vial/config.h
new file mode 100644
index 0000000000..853449a33a
--- /dev/null
+++ b/keyboards/mode/m75h/keymaps/vial/config.h
@@ -0,0 +1,9 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+
+#pragma once
+
+#define VIAL_KEYBOARD_UID {0xF0, 0x43, 0xB4, 0x31, 0xB5, 0x0C, 0x27, 0x6F}
+
+/* Unlock with esc / del */
+#define VIAL_UNLOCK_COMBO_ROWS { 0, 0 }
+#define VIAL_UNLOCK_COMBO_COLS { 0, 15 }
diff --git a/keyboards/mode/m75h/keymaps/vial/keymap.c b/keyboards/mode/m75h/keymaps/vial/keymap.c
new file mode 100755
index 0000000000..67acb022d4
--- /dev/null
+++ b/keyboards/mode/m75h/keymaps/vial/keymap.c
@@ -0,0 +1,53 @@
+/*
+Copyright 2020 Álvaro "Gondolindrim" Volpato
+
+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_all(
+ 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_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(1) , KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+ [1] = LAYOUT_all(
+ QK_BOOT, 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_MUTE,
+ 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_VOLU,
+ 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_VOLD,
+ 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_MPLY,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ ),
+ [2] = LAYOUT_all(
+ 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, 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
+ ),
+ [3] = LAYOUT_all(
+ 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, 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/mode/m75h/keymaps/vial/rules.mk b/keyboards/mode/m75h/keymaps/vial/rules.mk
new file mode 100644
index 0000000000..4f7618e9b2
--- /dev/null
+++ b/keyboards/mode/m75h/keymaps/vial/rules.mk
@@ -0,0 +1,2 @@
+VIA_ENABLE = yes
+VIAL_ENABLE = yes
diff --git a/keyboards/mode/m75h/keymaps/vial/vial.json b/keyboards/mode/m75h/keymaps/vial/vial.json
new file mode 100644
index 0000000000..cc181bbee3
--- /dev/null
+++ b/keyboards/mode/m75h/keymaps/vial/vial.json
@@ -0,0 +1,224 @@
+{
+ "name": "Mode SeventyFive H",
+ "vendorId": "0x00DE",
+ "productId": "0x7572",
+ "lighting": "none",
+ "matrix": {"rows": 7, "cols": 16},
+ "layouts": {
+ "labels": ["7U Spacebar"],
+ "keymap": [
+ [
+ {
+ "c": "#777777"
+ },
+ "0,0",
+ {
+ "x": 0.5,
+ "c": "#cccccc"
+ },
+ "0,1",
+ "0,2",
+ "0,3",
+ "0,4",
+ {
+ "x": 0.5
+ },
+ "0,6",
+ "0,7",
+ "0,8",
+ "0,9",
+ {
+ "x": 0.5
+ },
+ "0,10",
+ "0,11",
+ "0,12",
+ "0,13",
+ {
+ "x": 0.5
+ },
+ "0,15"
+ ],
+ [
+ {
+ "y": 0.5,
+ "c": "#cccccc"
+ },
+ "1,0",
+ "1,1",
+ "1,2",
+ "1,3",
+ "1,4",
+ "1,5",
+ "1,6",
+ "1,7",
+ "1,8",
+ "1,9",
+ "1,10",
+ "1,11",
+ "1,12",
+ {
+ "c": "#aaaaaa",
+ "w": 2
+ },
+ "1,13",
+ {
+ "c": "#cccccc"
+ },
+ "1,15"
+ ],
+ [
+ {
+ "c": "#aaaaaa",
+ "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,14",
+ {
+ "c": "#cccccc"
+ },
+ "2,15"
+ ],
+ [
+ {
+ "c": "#aaaaaa",
+ "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,14",
+ {
+ "c": "#cccccc"
+ },
+ "3,15"
+ ],
+ [
+ {
+ "c": "#aaaaaa",
+ "w": 2.25
+ },
+ "4,0",
+ {
+ "c": "#cccccc"
+ },
+ "4,2",
+ "4,3",
+ "4,4",
+ "4,5",
+ "4,6",
+ "4,7",
+ "4,8",
+ "4,9",
+ "4,10",
+ "4,11",
+ {
+ "c": "#aaaaaa",
+ "w": 1.75
+ },
+ "4,12",
+ {
+ "c": "#777777"
+ },
+ "4,14",
+ {
+ "c": "#cccccc"
+ },
+ "4,15"
+ ],
+ [
+ {
+ "c": "#aaaaaa",
+ "w": 1.25
+ },
+ "5,0\n\n\n0,0",
+ {
+ "w": 1.25
+ },
+ "5,1\n\n\n0,0",
+ {
+ "w": 1.25
+ },
+ "5,2\n\n\n0,0",
+ {
+ "c": "#cccccc",
+ "w": 6.25
+ },
+ "6,6\n\n\n0,0",
+ {
+ "c": "#aaaaaa",
+ "w": 1.25
+ },
+ "6,10\n\n\n0,0",
+ {
+ "w": 1.25
+ },
+ "6,11\n\n\n0,0",
+ {
+ "x": 0.5,
+ "c": "#777777"
+ },
+ "6,13",
+ "6,14",
+ "6,15"
+ ],
+ [
+ {
+ "c": "#aaaaaa",
+ "w": 1.5
+ },
+ "5,0\n\n\n0,1",
+ "5,1\n\n\n0,1",
+ {
+ "w": 1.5
+ },
+ "5,2\n\n\n0,1",
+ {
+ "c": "#cccccc",
+ "w": 7
+ },
+ "6,6\n\n\n0,1",
+ {
+ "c": "#aaaaaa",
+ "w": 1.5
+ },
+ "6,11\n\n\n0,1"
+ ]
+ ]
+ }
+}
diff --git a/keyboards/mode/m75s/keymaps/vial/config.h b/keyboards/mode/m75s/keymaps/vial/config.h
new file mode 100644
index 0000000000..c0bc8a51b7
--- /dev/null
+++ b/keyboards/mode/m75s/keymaps/vial/config.h
@@ -0,0 +1,9 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+
+#pragma once
+
+#define VIAL_KEYBOARD_UID {0x3D, 0x6C, 0x63, 0x19, 0xA7, 0x1F, 0x0E, 0x59}
+
+/* Unlock with esc / del */
+#define VIAL_UNLOCK_COMBO_ROWS { 0, 0 }
+#define VIAL_UNLOCK_COMBO_COLS { 0, 15 }
diff --git a/keyboards/mode/m75s/keymaps/vial/keymap.c b/keyboards/mode/m75s/keymaps/vial/keymap.c
new file mode 100755
index 0000000000..fafdb6c136
--- /dev/null
+++ b/keyboards/mode/m75s/keymaps/vial/keymap.c
@@ -0,0 +1,53 @@
+/*
+Copyright 2020 Álvaro "Gondolindrim" Volpato
+
+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_all(
+ 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_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_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_NUBS, KC_ENT , KC_PGDN,
+ KC_LSFT, KC_NUHS, 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(1) , KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+ [1] = LAYOUT_all(
+ QK_BOOT , 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_MUTE,
+ 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_VOLU,
+ 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_VOLD,
+ 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_MPLY,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ ),
+ [2] = LAYOUT_all(
+ 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, 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
+ ),
+ [3] = LAYOUT_all(
+ 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, 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/mode/m75s/keymaps/vial/rules.mk b/keyboards/mode/m75s/keymaps/vial/rules.mk
new file mode 100644
index 0000000000..4f7618e9b2
--- /dev/null
+++ b/keyboards/mode/m75s/keymaps/vial/rules.mk
@@ -0,0 +1,2 @@
+VIA_ENABLE = yes
+VIAL_ENABLE = yes
diff --git a/keyboards/mode/m75s/keymaps/vial/vial.json b/keyboards/mode/m75s/keymaps/vial/vial.json
new file mode 100644
index 0000000000..d34f7c79f4
--- /dev/null
+++ b/keyboards/mode/m75s/keymaps/vial/vial.json
@@ -0,0 +1,267 @@
+{
+ "name": "Mode SeventyFive S",
+ "vendorId": "0x00DE",
+ "productId": "0x7583",
+ "lighting": "none",
+ "matrix": {"rows": 7, "cols": 16},
+ "layouts": {
+ "labels": [
+ "7U Spacebar",
+ "Split Backspace",
+ "ISO Enter",
+ "Split Left Shift"
+ ],
+ "keymap": [
+ [
+ {
+ "x": 15.75
+ },
+ "1,13\n\n\n1,1",
+ "1,14\n\n\n1,1"
+ ],
+ [
+ {
+ "y": 0.25,
+ "x": 2.75,
+ "c": "#777777"
+ },
+ "0,0",
+ {
+ "x": 0.5,
+ "c": "#cccccc"
+ },
+ "0,1",
+ "0,2",
+ "0,3",
+ "0,4",
+ {
+ "x": 0.5
+ },
+ "0,6",
+ "0,7",
+ "0,8",
+ "0,9",
+ {
+ "x": 0.5
+ },
+ "0,10",
+ "0,11",
+ "0,12",
+ "0,13",
+ {
+ "x": 0.5
+ },
+ "0,15"
+ ],
+ [
+ {
+ "y": 0.5,
+ "x": 2.75,
+ "c": "#cccccc"
+ },
+ "1,0",
+ "1,1",
+ "1,2",
+ "1,3",
+ "1,4",
+ "1,5",
+ "1,6",
+ "1,7",
+ "1,8",
+ "1,9",
+ "1,10",
+ "1,11",
+ "1,12",
+ {
+ "c": "#aaaaaa",
+ "w": 2
+ },
+ "1,13\n\n\n1,0",
+ {
+ "c": "#cccccc"
+ },
+ "1,15"
+ ],
+ [
+ {
+ "x": 2.75,
+ "c": "#aaaaaa",
+ "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,14\n\n\n2,0",
+ {
+ "c": "#cccccc"
+ },
+ "2,15",
+ {
+ "x": 1.5,
+ "c": "#777777",
+ "w": 1.25,
+ "h": 2,
+ "w2": 1.5,
+ "h2": 1,
+ "x2": -0.25
+ },
+ "3,14\n\n\n2,1"
+ ],
+ [
+ {
+ "x": 2.75,
+ "c": "#aaaaaa",
+ "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,14\n\n\n2,0",
+ {
+ "c": "#cccccc"
+ },
+ "3,15",
+ {
+ "x": 0.5
+ },
+ "3,13\n\n\n2,1"
+ ],
+ [
+ {
+ "c": "#aaaaaa",
+ "w": 1.25
+ },
+ "4,0\n\n\n3,1",
+ {
+ "c": "#cccccc"
+ },
+ "4,1\n\n\n3,1",
+ {
+ "x": 0.5,
+ "c": "#aaaaaa",
+ "w": 2.25
+ },
+ "4,0\n\n\n3,0",
+ {
+ "c": "#cccccc"
+ },
+ "4,2",
+ "4,3",
+ "4,4",
+ "4,5",
+ "4,6",
+ "4,7",
+ "4,8",
+ "4,9",
+ "4,10",
+ "4,11",
+ {
+ "c": "#aaaaaa",
+ "w": 1.75
+ },
+ "4,12",
+ {
+ "c": "#777777"
+ },
+ "4,14",
+ {
+ "c": "#cccccc"
+ },
+ "4,15"
+ ],
+ [
+ {
+ "x": 2.75,
+ "c": "#aaaaaa",
+ "w": 1.25
+ },
+ "5,0\n\n\n0,0",
+ {
+ "w": 1.25
+ },
+ "5,1\n\n\n0,0",
+ {
+ "w": 1.25
+ },
+ "5,2\n\n\n0,0",
+ {
+ "c": "#cccccc",
+ "w": 6.25
+ },
+ "6,6\n\n\n0,0",
+ {
+ "c": "#aaaaaa",
+ "w": 1.25
+ },
+ "6,10\n\n\n0,0",
+ {
+ "w": 1.25
+ },
+ "6,11\n\n\n0,0",
+ {
+ "x": 0.5,
+ "c": "#777777"
+ },
+ "6,13",
+ "6,14",
+ "6,15"
+ ],
+ [
+ {
+ "x": 2.75,
+ "c": "#aaaaaa",
+ "w": 1.5
+ },
+ "5,0\n\n\n0,1",
+ "5,1\n\n\n0,1",
+ {
+ "w": 1.5
+ },
+ "5,2\n\n\n0,1",
+ {
+ "c": "#cccccc",
+ "w": 7
+ },
+ "6,6\n\n\n0,1",
+ {
+ "c": "#aaaaaa",
+ "w": 1.5
+ },
+ "6,11\n\n\n0,1"
+ ]
+ ]
+ }
+}
From 1d5c35f18b6a7e7cb9bdc1df8e7b61178c40561d Mon Sep 17 00:00:00 2001
From: Jake Wickham <70282382+JW2586@users.noreply.github.com>
Date: Sun, 16 Apr 2023 02:09:11 +0100
Subject: [PATCH 20/69] Waterfowl support (#436)
* waterfowl support
* Update .gitignore
* Update .gitignore
* working
* deleted old json files
* Delete compile command.txt
* Update keyboards/waterfowl/keymaps/vial/rules.mk
Co-authored-by: Less/Rikki <86894501+lesshonor@users.noreply.github.com>
---------
Co-authored-by: Less/Rikki <86894501+lesshonor@users.noreply.github.com>
---
keyboards/waterfowl/keymaps/vial/config.h | 8 +
keyboards/waterfowl/keymaps/vial/keymap.c | 117 +++++++++
keyboards/waterfowl/keymaps/vial/rules.mk | 9 +
keyboards/waterfowl/keymaps/vial/vial.json | 263 +++++++++++++++++++++
4 files changed, 397 insertions(+)
create mode 100644 keyboards/waterfowl/keymaps/vial/config.h
create mode 100644 keyboards/waterfowl/keymaps/vial/keymap.c
create mode 100644 keyboards/waterfowl/keymaps/vial/rules.mk
create mode 100644 keyboards/waterfowl/keymaps/vial/vial.json
diff --git a/keyboards/waterfowl/keymaps/vial/config.h b/keyboards/waterfowl/keymaps/vial/config.h
new file mode 100644
index 0000000000..0c550f1f5a
--- /dev/null
+++ b/keyboards/waterfowl/keymaps/vial/config.h
@@ -0,0 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+
+#pragma once
+
+#define VIAL_KEYBOARD_UID {0x95, 0x71, 0x9F, 0x29, 0xA6, 0x0B, 0x39, 0x57}
+
+#define VIAL_UNLOCK_COMBO_ROWS {0, 2, 4, 6}
+#define VIAL_UNLOCK_COMBO_COLS {0, 0, 0, 0}
diff --git a/keyboards/waterfowl/keymaps/vial/keymap.c b/keyboards/waterfowl/keymaps/vial/keymap.c
new file mode 100644
index 0000000000..3e693bcebf
--- /dev/null
+++ b/keyboards/waterfowl/keymaps/vial/keymap.c
@@ -0,0 +1,117 @@
+/* Copyright 2022 CyanDuck
+*
+* 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 3 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
+
+// Defines names for use in layer keycodes and the keymap
+enum layer_names {
+ _QWERTY,
+ _NAVNUM,
+ _SYM,
+ _FUNC,
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+/* QWERTY
+ *
+ * ,----------------------------------. ,----------------------------------.
+ * | Q | W | E | R | T | | Y | U | I | O | P |
+ * |------+------+------+------+------| |------+------+------+------+------|
+ * | A | S | D | F | G | | H | J | K | L | ; |
+ * |------+------+------+------+------| ,-----. ,-----. |------+------+------+------+------|
+ * | Z | X | C | V | B | |CAPS | |NUMLK| | N | M | , | . | / |
+ * `----------------------------------' `-----' `-----' `----------------------------------'
+ * ,-----. ,--------------------. ,--------------------. ,-----.
+ * | 1 | | DEL | SPACE | TAB | | ESC | BS | ENTER | | 4 |
+ * `-----' `--------------------' `--------------------' `-----'
+ */
+[_QWERTY] = LAYOUT(
+ KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,
+ MT(MOD_LGUI, KC_A), MT(MOD_LALT, KC_S), MT(MOD_LCTL, KC_D), MT(MOD_LSFT, KC_F), KC_G, KC_H, MT(MOD_LSFT, KC_J), MT(MOD_LCTL, KC_K), MT(MOD_LALT, KC_L), MT(MOD_LGUI, KC_SCLN),
+ KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH,
+ KC_1, LT(3,KC_DEL), LT(1,KC_SPC), KC_TAB, KC_CAPS, KC_NUM, KC_ESC, KC_BSPC, LT(2,KC_ENT), KC_4
+),
+
+/* NAVNUM
+ *
+ * ,----------------------------------. ,----------------------------------.
+ * | | PgUp | UP | PgDn | | | / | 7 | 8 | 9 | - |
+ * |------+------+------+------+------| |------+------+------+------+------|
+ * | Home | Left | Down | Right| End | | = | 4 | 5 | 6 | + |
+ * |------+------+------+------+------| ,-----. ,-----. |------+------+------+------+------|
+ * | | | INS | | | |CAPS | |NUMLK| | 0 | 1 | 2 | 3 | * |
+ * `----------------------------------' `-----' `-----' `----------------------------------'
+ * ,-----. ,--------------------. ,--------------------. ,-----.
+ * | 1 | | DEL | SPACE | MO(3)| | ESC | BS | ENTER | | 4 |
+ * `-----' `--------------------' `--------------------' `-----'
+ */
+[_NAVNUM] = LAYOUT(
+ KC_NO, KC_PGUP, KC_UP, KC_PGDN, KC_NO, KC_SLSH, KC_7, KC_8, KC_9, KC_MINS,
+ KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, KC_END, KC_EQL, KC_4, KC_5, KC_6, KC_PLUS,
+ KC_NO, KC_NO, KC_INS, KC_NO, KC_NO, KC_0, KC_1, KC_2, KC_3, KC_ASTR,
+ KC_1, LT(3,KC_DEL), LT(1,KC_SPC), KC_TAB, KC_CAPS, KC_NUM, KC_ESC, KC_BSPC, LT(2,KC_ENT), KC_4
+),
+
+/* SYM
+ *
+ * ,----------------------------------. ,----------------------------------.
+ * | % | @ | [ | ] | \ | | ¦ | ¬ | ^ | | |
+ * |------+------+------+------+------| |------+------+------+------+------|
+ * | # | ! | ( | ) | | | | _ | ' | " | ~ | ` |
+ * |------+------+------+------+------| ,-----. ,-----. |------+------+------+------+------|
+ * | $ | £ | { | } | & | |CAPS | |NUMLK| | | | | | |
+ * `----------------------------------' `-----' `-----' `----------------------------------'
+ * ,-----. ,--------------------. ,--------------------. ,-----.
+ * | 1 | | DEL | SPACE | TAB | | ESC | BS | ENTER | | 4 |
+ * `-----' `--------------------' `--------------------' `-----'
+ */
+[_SYM] = LAYOUT(
+ KC_PERC, KC_AT, KC_LBRC, KC_RBRC, KC_BSLS, KC_NO, KC_NO, KC_CIRC, KC_NO, KC_NO,
+ KC_HASH, KC_EXLM, KC_LPRN, KC_RPRN, KC_PIPE, KC_UNDS, KC_QUOT, KC_DQT, KC_TILD, KC_GRV,
+ KC_DLR, KC_NO, KC_LCBR, KC_RCBR, KC_AMPR, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
+ KC_1, LT(3,KC_DEL), LT(1,KC_SPC), KC_TAB, KC_CAPS, KC_NUM, KC_ESC, KC_BSPC, LT(2,KC_ENT), KC_4
+),
+
+/* FUNC
+ *
+ * ,----------------------------------. ,----------------------------------.
+ * | | | | | | | | F7 | F8 | F9 | F11 |
+ * |------+------+------+------+------| |------+------+------+------+------|
+ * | | | | | | | | F4 | F5 | F6 | F12 |
+ * |------+------+------+------+------| ,-----. ,-----. |------+------+------+------+------|
+ * | Reset| | | | | |CAPS | |NUMLK| | F10 | F1 | F2 | F3 | F13 |
+ * `----------------------------------' `-----' `-----' `----------------------------------'
+ * ,-----. ,--------------------. ,--------------------. ,-----.
+ * | 1 | | DEL | SPACE | TAB | | ESC | BS | ENTER | | 4 |
+ * `-----' `--------------------' `--------------------' `-----'
+ */
+[_FUNC] = LAYOUT(
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_F7, KC_F8, KC_F9, KC_F11,
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_F4, KC_F5, KC_F6, KC_F12,
+ RESET, KC_NO, KC_NO, KC_NO, KC_NO, KC_F10, KC_F1, KC_F2, KC_F3, KC_F13,
+ KC_1, LT(3,KC_DEL), LT(1,KC_SPC), KC_TAB, KC_CAPS, KC_NUM, KC_ESC, KC_BSPC, LT(2,KC_ENT), KC_4
+),
+};
+
+#if defined(ENCODER_MAP_ENABLE)
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+ [_QWERTY] = { ENCODER_CCW_CW(KC_MS_WH_UP, KC_MS_WH_DOWN), ENCODER_CCW_CW(KC_TAB, S(KC_TAB)), ENCODER_CCW_CW(KC_MS_WH_LEFT, KC_MS_WH_RIGHT), ENCODER_CCW_CW(KC_LEFT, KC_RIGHT) },
+ [_NAVNUM] = { ENCODER_CCW_CW(KC_MS_WH_UP, KC_MS_WH_DOWN), ENCODER_CCW_CW(KC_TAB, S(KC_TAB)), ENCODER_CCW_CW(KC_MS_WH_LEFT, KC_MS_WH_RIGHT), ENCODER_CCW_CW(KC_LEFT, KC_RIGHT) },
+ [_SYM] = { ENCODER_CCW_CW(KC_MS_WH_UP, KC_MS_WH_DOWN), ENCODER_CCW_CW(KC_TAB, S(KC_TAB)), ENCODER_CCW_CW(KC_MS_WH_LEFT, KC_MS_WH_RIGHT), ENCODER_CCW_CW(KC_LEFT, KC_RIGHT) },
+ [_FUNC] = { ENCODER_CCW_CW(KC_MS_WH_UP, KC_MS_WH_DOWN), ENCODER_CCW_CW(KC_TAB, S(KC_TAB)), ENCODER_CCW_CW(KC_MS_WH_LEFT, KC_MS_WH_RIGHT), ENCODER_CCW_CW(KC_LEFT, KC_RIGHT) },
+};
+#endif
\ No newline at end of file
diff --git a/keyboards/waterfowl/keymaps/vial/rules.mk b/keyboards/waterfowl/keymaps/vial/rules.mk
new file mode 100644
index 0000000000..db6cb50ede
--- /dev/null
+++ b/keyboards/waterfowl/keymaps/vial/rules.mk
@@ -0,0 +1,9 @@
+ENCODER_ENABLE = yes
+ENCODER_MAP_ENABLE = yes
+VIA_ENABLE = yes
+VIAL_ENABLE = yes
+LTO_ENABLE = yes
+QMK_SETTINGS = no
+KEY_OVERRIDE_ENABLE = no
+TAP_DANCE_ENABLE = no
+COMBO_ENABLE = no
\ No newline at end of file
diff --git a/keyboards/waterfowl/keymaps/vial/vial.json b/keyboards/waterfowl/keymaps/vial/vial.json
new file mode 100644
index 0000000000..2e2f3118a7
--- /dev/null
+++ b/keyboards/waterfowl/keymaps/vial/vial.json
@@ -0,0 +1,263 @@
+{
+ "name": "Waterfowl",
+ "vendorId": "0xFEED",
+ "productId": "0x9CE3",
+ "lighting": "none",
+ "matrix": {
+ "rows": 8,
+ "cols": 5
+ },
+ "layouts": {
+ "keymap":
+ [
+ [
+ {
+ "y": 0.25,
+ "x": 3
+ },
+ "0,2",
+ {
+ "x": 9
+ },
+ "4,2"
+ ],
+ [
+ {
+ "y": -0.75,
+ "x": 2
+ },
+ "0,1",
+ {
+ "x": 1
+ },
+ "0,3",
+ {
+ "x": 7
+ },
+ "4,3",
+ {
+ "x": 1
+ },
+ "4,1"
+ ],
+ [
+ {
+ "y": -0.875,
+ "x": 5
+ },
+ "0,4",
+ {
+ "x": 5
+ },
+ "4,4"
+ ],
+ [
+ {
+ "y": -0.625,
+ "x": 1
+ },
+ "0,0",
+ {
+ "x": 13
+ },
+ "4,0"
+ ],
+ [
+ {
+ "y": -0.75,
+ "x": 3
+ },
+ "1,2",
+ {
+ "x": 9
+ },
+ "5,2"
+ ],
+ [
+ {
+ "y": -0.75,
+ "x": 2
+ },
+ "1,1",
+ {
+ "x": 1
+ },
+ "1,3",
+ {
+ "x": 1
+ },
+ "1,0\n\n\n\n\n\n\n\n\ne",
+ "1,1\n\n\n\n\n\n\n\n\ne",
+ {
+ "x": 1
+ },
+ "3,0\n\n\n\n\n\n\n\n\ne",
+ "3,1\n\n\n\n\n\n\n\n\ne",
+ {
+ "x": 1
+ },
+ "5,3",
+ {
+ "x": 1
+ },
+ "5,1"
+ ],
+ [
+ {
+ "y": -0.875,
+ "x": 5
+ },
+ "1,4",
+ {
+ "x": 5
+ },
+ "5,4"
+ ],
+ [
+ {
+ "y": -0.625,
+ "x": 1
+ },
+ "1,0",
+ {
+ "x": 13
+ },
+ "5,0"
+ ],
+ [
+ {
+ "y": -0.75,
+ "x": 3
+ },
+ "2,2",
+ {
+ "x": 9
+ },
+ "6,2"
+ ],
+ [
+ {
+ "y": -0.75,
+ "x": 2
+ },
+ "2,1",
+ {
+ "x": 1
+ },
+ "2,3",
+ {
+ "x": 1.5
+ },
+ "3,4",
+ {
+ "x": 2
+ },
+ "7,4",
+ {
+ "x": 1.5
+ },
+ "6,3",
+ {
+ "x": 1
+ },
+ "6,1"
+ ],
+ [
+ {
+ "y": -0.875,
+ "x": 5
+ },
+ "2,4",
+ {
+ "x": 5
+ },
+ "6,4"
+ ],
+ [
+ {
+ "y": -0.625,
+ "x": 1
+ },
+ "2,0",
+ {
+ "x": 13
+ },
+ "6,0"
+ ],
+ [
+ {
+ "y": -0.5,
+ "x": 3
+ },
+ "3,0",
+ {
+ "x": 9
+ },
+ "7,0"
+ ],
+ [
+ {
+ "x": 2.5
+ },
+ "0,0\n\n\n\n\n\n\n\n\ne",
+ "0,1\n\n\n\n\n\n\n\n\ne",
+ {
+ "x": 8
+ },
+ "2,0\n\n\n\n\n\n\n\n\ne",
+ "2,1\n\n\n\n\n\n\n\n\ne"
+ ],
+ [
+ {
+ "r": 15,
+ "rx": 4,
+ "ry": 8.175,
+ "y": -4.675,
+ "x": -0.5
+ },
+ "3,1"
+ ],
+ [
+ {
+ "r": 30,
+ "y": -1,
+ "x": -0.5
+ },
+ "3,2"
+ ],
+ [
+ {
+ "r": 45,
+ "y": -1,
+ "x": -0.5
+ },
+ "3,3"
+ ],
+ [
+ {
+ "r": -45,
+ "rx": 13,
+ "y": -4.675,
+ "x": -0.5
+ },
+ "7,3"
+ ],
+ [
+ {
+ "r": -30,
+ "y": -1,
+ "x": -0.5
+ },
+ "7,2"
+ ],
+ [
+ {
+ "r": -15,
+ "y": -1,
+ "x": -0.5
+ },
+ "7,1"
+ ]
+ ]
+ }
+}
\ No newline at end of file
From be7f5a959ae408b28a8cb8ec8f2a2f974d682986 Mon Sep 17 00:00:00 2001
From: stanrc85 <47038504+stanrc85@users.noreply.github.com>
Date: Sat, 15 Apr 2023 21:10:31 -0400
Subject: [PATCH 21/69] Port Adelais en Ciel rev3 (#412)
* Port Adelais en Ciel rev3
* Add readme
* Requested Change
* Proper Encoder rules
* Remove lines, fix custom keycodes and encoders
---
.../rgb_led/rev3/keymaps/vial/config.h | 10 +
.../rgb_led/rev3/keymaps/vial/keymap.c | 110 ++++++
.../rgb_led/rev3/keymaps/vial/readme.md | 5 +
.../rgb_led/rev3/keymaps/vial/rules.mk | 8 +
.../rgb_led/rev3/keymaps/vial/vial.json | 323 ++++++++++++++++++
5 files changed, 456 insertions(+)
create mode 100644 keyboards/mechlovin/adelais/rgb_led/rev3/keymaps/vial/config.h
create mode 100644 keyboards/mechlovin/adelais/rgb_led/rev3/keymaps/vial/keymap.c
create mode 100644 keyboards/mechlovin/adelais/rgb_led/rev3/keymaps/vial/readme.md
create mode 100644 keyboards/mechlovin/adelais/rgb_led/rev3/keymaps/vial/rules.mk
create mode 100644 keyboards/mechlovin/adelais/rgb_led/rev3/keymaps/vial/vial.json
diff --git a/keyboards/mechlovin/adelais/rgb_led/rev3/keymaps/vial/config.h b/keyboards/mechlovin/adelais/rgb_led/rev3/keymaps/vial/config.h
new file mode 100644
index 0000000000..19115cf3bf
--- /dev/null
+++ b/keyboards/mechlovin/adelais/rgb_led/rev3/keymaps/vial/config.h
@@ -0,0 +1,10 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+
+#pragma once
+
+#define VIAL_KEYBOARD_UID {0x79, 0x23, 0xBB, 0xEF, 0xD1, 0xA9, 0x46, 0x7B}
+#define VIAL_UNLOCK_COMBO_ROWS { 0, 2 }
+#define VIAL_UNLOCK_COMBO_COLS { 0, 13 }
+
+#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
+#define RGB_MATRIX_KEYPRESSES
\ No newline at end of file
diff --git a/keyboards/mechlovin/adelais/rgb_led/rev3/keymaps/vial/keymap.c b/keyboards/mechlovin/adelais/rgb_led/rev3/keymaps/vial/keymap.c
new file mode 100644
index 0000000000..fffd6d3b17
--- /dev/null
+++ b/keyboards/mechlovin/adelais/rgb_led/rev3/keymaps/vial/keymap.c
@@ -0,0 +1,110 @@
+/* Copyright 2020 Team Mechlovin
+ *
+ * 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
+
+enum my_keycodes {
+ BL_TOG = USER00,
+ BL_EFFECT,
+ BL_ISPD,
+ BL_DSPD,
+ BL_IHUE,
+ BL_DHUE,
+ BL_ISAT,
+ BL_DSAT,
+ BL_IVAL,
+ BL_DVAL
+};
+
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [0] = LAYOUT_all(
+ KC_SPC, KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL,
+ KC_SPC, 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_SLSH,
+ KC_SPC, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_BSLS, MO(1), KC_RSFT, KC_UP,
+ KC_LCTL, KC_LALT, KC_SPC, MO(2), KC_SPC, KC_RALT, KC_RCTL ),
+ [1] = LAYOUT_all(
+ 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, 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 ),
+ [2] = LAYOUT_all(
+ QK_BOOT, KC_TRNS, BL_TOG, BL_EFFECT, BL_ISPD, BL_DSPD, BL_IHUE, BL_DHUE, BL_ISAT, BL_DSAT, BL_IVAL, BL_DVAL, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_P7, KC_P8, KC_P9, KC_PSLS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_P4, KC_P5, KC_P6, KC_PAST, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_P1, KC_P2, KC_P3, KC_PPLS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_P0, KC_PDOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ),
+ [3] = LAYOUT_all(
+ 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, 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 ),
+
+};
+
+#if defined(ENCODER_MAP_ENABLE)
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+ [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
+ [1] = { ENCODER_CCW_CW(RGB_HUD, RGB_HUI) },
+ [2] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI) },
+ [3] = { ENCODER_CCW_CW(RGB_RMOD, RGB_MOD)},
+ // Encoder 1
+};
+#endif
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ if (record->event.pressed) {
+ switch (keycode) {
+#ifdef RGB_MATRIX_ENABLE
+ case BL_TOG: // toggle rgb matrix
+ rgb_matrix_toggle();
+ return false;
+ case BL_EFFECT:
+ rgb_matrix_step();
+ return false;
+ case BL_ISPD:
+ rgb_matrix_increase_speed();
+ return false;
+ case BL_DSPD:
+ rgb_matrix_decrease_speed();
+ return false;
+ case BL_IHUE:
+ rgb_matrix_increase_hue();
+ return false;
+ case BL_DHUE:
+ rgb_matrix_decrease_hue();
+ return false;
+ case BL_ISAT:
+ rgb_matrix_increase_sat();
+ return false;
+ case BL_DSAT:
+ rgb_matrix_decrease_sat();
+ return false;
+ case BL_IVAL:
+ rgb_matrix_increase_val();
+ return false;
+ case BL_DVAL:
+ rgb_matrix_decrease_val();
+ return false;
+#endif
+ default:
+ break;
+ }
+ }
+ return true;
+}
diff --git a/keyboards/mechlovin/adelais/rgb_led/rev3/keymaps/vial/readme.md b/keyboards/mechlovin/adelais/rgb_led/rev3/keymaps/vial/readme.md
new file mode 100644
index 0000000000..2fb9a5a6b5
--- /dev/null
+++ b/keyboards/mechlovin/adelais/rgb_led/rev3/keymaps/vial/readme.md
@@ -0,0 +1,5 @@
+# The Vial keymap for Adelais en Ciel Rev. 3
+
+Make example for this keyboard (after setting up your build environment):
+
+ make mechlovin/adelais/rgb_led/rev3:vial
\ No newline at end of file
diff --git a/keyboards/mechlovin/adelais/rgb_led/rev3/keymaps/vial/rules.mk b/keyboards/mechlovin/adelais/rgb_led/rev3/keymaps/vial/rules.mk
new file mode 100644
index 0000000000..de611a34ff
--- /dev/null
+++ b/keyboards/mechlovin/adelais/rgb_led/rev3/keymaps/vial/rules.mk
@@ -0,0 +1,8 @@
+VIA_ENABLE = yes
+VIAL_ENABLE = yes
+VIALRGB_ENABLE = yes
+LTO_ENABLE = yes
+KEY_OVERRIDE_ENABLE = no
+COMBO_ENABLE = no
+ENCODER_ENABLE = yes
+ENCODER_MAP_ENABLE = yes
\ No newline at end of file
diff --git a/keyboards/mechlovin/adelais/rgb_led/rev3/keymaps/vial/vial.json b/keyboards/mechlovin/adelais/rgb_led/rev3/keymaps/vial/vial.json
new file mode 100644
index 0000000000..d163d58253
--- /dev/null
+++ b/keyboards/mechlovin/adelais/rgb_led/rev3/keymaps/vial/vial.json
@@ -0,0 +1,323 @@
+{
+ "name": "Adelais En Ciel Rev.3 DEV",
+ "vendorId": "0x4D4C",
+ "productId": "0xAEC4",
+ "lighting": "vialrgb",
+ "customKeycodes": [
+ {"name": "Backlight Toggle", "title": "Backlight Toggle", "shortName": "BL_TOG"},
+ {"name": "Backlight Effect", "title": "Backlight Effect", "shortName": "BL_EFFECT"},
+ {"name": "Backlight Increase Speed", "title": "Backlight Increase Speed", "shortName": "BL_ISPD"},
+ {"name": "Backlight Decrease Speed", "title": "Backlight Decrease Speed", "shortName": "BL_DSPD"},
+ {"name": "Backlight Increase Hue", "title": "Backlight Increase Hue", "shortName": "BL_IHUE"},
+ {"name": "Backlight Decrease Hue", "title": "Backlight Decrease Hue", "shortName": "BL_DHUE"},
+ {"name": "Backlight Increase Saturation", "title": "Backlight Increase Saturation", "shortName": "BL_ISAT"},
+ {"name": "Backlight Decrease Saturation", "title": "Backlight Decrease Saturation", "shortName": "BL_DSAT"},
+ {"name": "Backlight Increase Value", "title": "Backlight Increase Value", "shortName": "BL_IVAL"},
+ {"name": "Backlight Decrease Value", "title": "Backlight Decrease Value", "shortName": "BL_DVAL"}
+ ],
+ "matrix": {"rows": 5, "cols": 15},
+ "layouts": {
+ "labels": [
+ "Back Space 2U",
+ "Right Shift 2.75U",
+ "Split Space",
+ "Encoder"
+ ],
+ "keymap": [
+ [
+ {
+ "x": 0.5,
+ "c": "#777777"
+ },
+ "3,0\n\n\n\n\n\n\n\n\ne",
+ "3,1\n\n\n\n\n\n\n\n\ne"
+ ],
+ [
+ {
+ "y": -0.85,
+ "x": 15.15,
+ "c": "#aaaaaa",
+ "w": 2
+ },
+ "0,13\n\n\n0,1"
+ ],
+ [
+ {
+ "x": 0.55,
+ "c": "#777777"
+ },
+ "3,1"
+ ],
+ [
+ {
+ "y": -0.95,
+ "x": 3.7,
+ "c": "#cccccc"
+ },
+ "0,2",
+ {
+ "x": 8.45
+ },
+ "0,11"
+ ],
+ [
+ {
+ "y": -0.95,
+ "x": 1.7
+ },
+ "0,0",
+ "0,1",
+ {
+ "x": 10.45
+ },
+ "0,12",
+ {
+ "c": "#aaaaaa"
+ },
+ "0,13\n\n\n0,0",
+ "0,14\n\n\n0,0"
+ ],
+ [
+ {
+ "y": -0.10000000000000009,
+ "x": 0.35
+ },
+ "4,1"
+ ],
+ [
+ {
+ "y": -0.9499999999999997,
+ "x": 13,
+ "c": "#cccccc"
+ },
+ "1,10"
+ ],
+ [
+ {
+ "y": -0.9500000000000002,
+ "x": 1.5,
+ "c": "#aaaaaa",
+ "w": 1.5
+ },
+ "1,0",
+ {
+ "c": "#cccccc"
+ },
+ "1,1",
+ {
+ "x": 10
+ },
+ "1,11",
+ "1,12",
+ {
+ "c": "#aaaaaa",
+ "w": 1.5
+ },
+ "1,13"
+ ],
+ [
+ {
+ "y": -0.10000000000000009,
+ "x": 0.15
+ },
+ "4,3"
+ ],
+ [
+ {
+ "y": -0.9000000000000004,
+ "x": 13.4,
+ "c": "#cccccc"
+ },
+ "2,10",
+ "2,11",
+ {
+ "c": "#777777",
+ "w": 2.25
+ },
+ "2,13"
+ ],
+ [
+ {
+ "y": -0.9999999999999996,
+ "x": 1.3,
+ "c": "#aaaaaa",
+ "w": 1.75
+ },
+ "2,0",
+ {
+ "c": "#cccccc"
+ },
+ "2,1"
+ ],
+ [
+ {
+ "x": 1.05,
+ "c": "#aaaaaa",
+ "w": 2.25
+ },
+ "3,0",
+ {
+ "c": "#cccccc"
+ },
+ "3,2",
+ {
+ "x": 8.8
+ },
+ "3,11",
+ "3,12",
+ {
+ "c": "#aaaaaa",
+ "w": 1.75
+ },
+ "3,13\n\n\n1,0",
+ "3,14\n\n\n1,0",
+ {
+ "x": 0.3000000000000007,
+ "w": 2.75
+ },
+ "3,13\n\n\n1,1"
+ ],
+ [
+ {
+ "x": 1.05,
+ "w": 1.5
+ },
+ "4,0",
+ {
+ "x": 13.45,
+ "w": 1.5
+ },
+ "4,14"
+ ],
+ [
+ {
+ "r": 12,
+ "y": -6,
+ "x": 5.05,
+ "c": "#cccccc"
+ },
+ "0,3",
+ "0,4",
+ "0,5",
+ "0,6"
+ ],
+ [
+ {
+ "x": 4.6
+ },
+ "1,2",
+ "1,3",
+ "1,4",
+ "1,5"
+ ],
+ [
+ {
+ "x": 4.85
+ },
+ "2,2",
+ "2,3",
+ "2,4",
+ "2,5"
+ ],
+ [
+ {
+ "x": 5.3
+ },
+ "3,3",
+ "3,4",
+ "3,5",
+ "3,6"
+ ],
+ [
+ {
+ "x": 6.6,
+ "c": "#777777",
+ "w": 2
+ },
+ "4,4\n\n\n2,0",
+ {
+ "c": "#aaaaaa",
+ "w": 1.25
+ },
+ "4,6\n\n\n2,0"
+ ],
+ [
+ {
+ "y": -0.9500000000000002,
+ "x": 5.05,
+ "w": 1.5
+ },
+ "4,2"
+ ],
+ [
+ {
+ "y": 0.25,
+ "x": 6.5,
+ "c": "#777777",
+ "w": 2.25
+ },
+ "4,4\n\n\n2,1",
+ {
+ "c": "#aaaaaa"
+ },
+ "4,6\n\n\n2,1"
+ ],
+ [
+ {
+ "r": -12,
+ "y": -2.7,
+ "x": 8.45,
+ "c": "#cccccc"
+ },
+ "0,7",
+ "0,8",
+ "0,9",
+ "0,10"
+ ],
+ [
+ {
+ "x": 8.05
+ },
+ "1,6",
+ "1,7",
+ "1,8",
+ "1,9"
+ ],
+ [
+ {
+ "x": 8.2
+ },
+ "2,6",
+ "2,7",
+ "2,8",
+ "2,9"
+ ],
+ [
+ {
+ "x": 7.75
+ },
+ "3,7",
+ "3,8",
+ "3,9",
+ "3,10"
+ ],
+ [
+ {
+ "x": 7.75,
+ "c": "#777777",
+ "w": 2.75
+ },
+ "4,8"
+ ],
+ [
+ {
+ "y": -0.9500000000000002,
+ "x": 10.55,
+ "c": "#aaaaaa",
+ "w": 1.5
+ },
+ "4,10"
+ ]
+ ]
+ }
+ }
From b28c08ff54ac327ed4cce628e408652ebcadf00d Mon Sep 17 00:00:00 2001
From: Alvaro Muente <40742045+alvaromuente@users.noreply.github.com>
Date: Sat, 15 Apr 2023 20:11:16 -0500
Subject: [PATCH 22/69] jay60 vial keymap (#438)
---
.../mechlovin/jay60/keymaps/vial/config.h | 7 +
.../mechlovin/jay60/keymaps/vial/keymap.c | 36 +++++
.../mechlovin/jay60/keymaps/vial/rules.mk | 8 ++
.../mechlovin/jay60/keymaps/vial/vial.json | 127 ++++++++++++++++++
4 files changed, 178 insertions(+)
create mode 100644 keyboards/mechlovin/jay60/keymaps/vial/config.h
create mode 100644 keyboards/mechlovin/jay60/keymaps/vial/keymap.c
create mode 100644 keyboards/mechlovin/jay60/keymaps/vial/rules.mk
create mode 100644 keyboards/mechlovin/jay60/keymaps/vial/vial.json
diff --git a/keyboards/mechlovin/jay60/keymaps/vial/config.h b/keyboards/mechlovin/jay60/keymaps/vial/config.h
new file mode 100644
index 0000000000..a9982c34d5
--- /dev/null
+++ b/keyboards/mechlovin/jay60/keymaps/vial/config.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#define VIAL_KEYBOARD_UID {0xED, 0x27, 0xA0, 0x71, 0x36, 0x44, 0x16, 0x13}
+#define VIAL_UNLOCK_COMBO_ROWS { 0, 2 }
+#define VIAL_UNLOCK_COMBO_COLS { 0, 13 }
+
+#define DYNAMIC_KEYMAP_LAYER_COUNT 4
diff --git a/keyboards/mechlovin/jay60/keymaps/vial/keymap.c b/keyboards/mechlovin/jay60/keymaps/vial/keymap.c
new file mode 100644
index 0000000000..ed73cc5267
--- /dev/null
+++ b/keyboards/mechlovin/jay60/keymaps/vial/keymap.c
@@ -0,0 +1,36 @@
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [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_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_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_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1),
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_LALT, KC_RALT, KC_RGUI, KC_RCTL
+ ),
+
+ [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_PSCR,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_BSPC,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, KC_LEFT, KC_RGHT, KC_TRNS,
+ KC_TRNS, KC_VOLD, KC_VOLU, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_DOWN, KC_END, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ ),
+
+ [2] = LAYOUT_all(
+ 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, 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
+ ),
+
+ [3] = LAYOUT_all(
+ 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, 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
+ ),
+
+};
\ No newline at end of file
diff --git a/keyboards/mechlovin/jay60/keymaps/vial/rules.mk b/keyboards/mechlovin/jay60/keymaps/vial/rules.mk
new file mode 100644
index 0000000000..d2df3b4b86
--- /dev/null
+++ b/keyboards/mechlovin/jay60/keymaps/vial/rules.mk
@@ -0,0 +1,8 @@
+VIA_ENABLE = yes
+VIAL_ENABLE = yes
+
+LTO_ENABLE = yes
+QMK_SETTINGS = no
+TAP_DANCE_ENABLE = no
+COMBO_ENABLE = no
+KEY_OVERRIDE_ENABLE = no
\ No newline at end of file
diff --git a/keyboards/mechlovin/jay60/keymaps/vial/vial.json b/keyboards/mechlovin/jay60/keymaps/vial/vial.json
new file mode 100644
index 0000000000..33a9c64e1c
--- /dev/null
+++ b/keyboards/mechlovin/jay60/keymaps/vial/vial.json
@@ -0,0 +1,127 @@
+{
+ "name": "Jay60 Rev.1",
+ "vendorId": "0x4D4C",
+ "productId": "0x0600",
+ "lighting": "none",
+ "matrix": {"rows": 5, "cols": 14},
+ "layouts": {
+ "labels": [
+ "Split Backspace",
+ "2.75U Right Shift",
+ ["Bottom Row", "6.25U", "7U"]
+ ],
+ "keymap": [
+ [
+ {"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",
+ {"c": "#aaaaaa", "w": 2},
+ "0,13\n\n\n0,0",
+ {"x": 0.25},
+ "0,13\n\n\n0,1",
+ "2,12\n\n\n0,1"
+ ],
+ [
+ {"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"
+ ],
+ [
+ {"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": "#777777", "w": 2.25},
+ "2,13"
+ ],
+ [
+ {"c": "#aaaaaa", "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\n\n\n1,0",
+ "3,13\n\n\n1,0",
+ {"x": 0.25, "w": 2.75},
+ "3,12\n\n\n1,1"
+ ],
+ [
+ {"w": 1.25},
+ "4,0\n\n\n2,0",
+ {"w": 1.25},
+ "4,1\n\n\n2,0",
+ {"w": 1.25},
+ "4,2\n\n\n2,0",
+ {"c": "#cccccc", "w": 6.25},
+ "4,6\n\n\n2,0",
+ {"c": "#aaaaaa", "w": 1.25},
+ "4,10\n\n\n2,0",
+ {"w": 1.25},
+ "4,11\n\n\n2,0",
+ {"w": 1.25},
+ "4,12\n\n\n2,0",
+ {"w": 1.25},
+ "4,13\n\n\n2,0"
+ ],
+ [
+ {"y": 0.5, "w": 1.5},
+ "4,0\n\n\n2,1",
+ "4,1\n\n\n2,1",
+ {"w": 1.5},
+ "4,2\n\n\n2,1",
+ {"c": "#cccccc", "w": 7},
+ "4,6\n\n\n2,1",
+ {"c": "#aaaaaa", "w": 1.5},
+ "4,11\n\n\n2,1",
+ "4,12\n\n\n2,1",
+ {"w": 1.5},
+ "4,13\n\n\n2,1"
+ ]
+ ]
+ }
+}
\ No newline at end of file
From 8356266e078cefeec7c1e4a8c1d59118ad5a0755 Mon Sep 17 00:00:00 2001
From: Raymond Dean <18014111+pcs3rd@users.noreply.github.com>
Date: Sun, 16 Apr 2023 00:22:35 -0400
Subject: [PATCH 23/69] Add mini49 to keyboards (#381)
* Add mini49 back
* Update readme.md
* Update keymap.c
update vial keymap
* Update keymap.c
* Create rules.mk
* Update readme.md
* Update readme.md
* Update readme.md
* rename vial/ to via/
* Update readme.md
* Update config.h
Set bootmagic_lite key to top left
* Update readme.md
* Update keyboards/mini49/config.h
Co-authored-by: Less/Rikki <86894501+lesshonor@users.noreply.github.com>
* Update keyboards/mini49/keymaps/vial/keymap.c
rename `LAYOUT_mini49` to `LAYOUT`
Co-authored-by: Less/Rikki <86894501+lesshonor@users.noreply.github.com>
* Change code per previous suggestions
* remove mini49/config.h
* Tonight's last commit.
* I lied.
* migrate layout to info.json
* Update rules.mk
* Update readme.md
* remove mini49.h and remove reference from info.json
* Update readme.md
update photo
* revert pico-sdk to 07edde8
---------
Co-authored-by: Less/Rikki <86894501+lesshonor@users.noreply.github.com>
---
keyboards/mini49/info.json | 81 +++++++++++++++++++++++
keyboards/mini49/keymaps/default/keymap.c | 11 +++
keyboards/mini49/keymaps/default/rules.mk | 1 +
keyboards/mini49/keymaps/vial/config.h | 12 ++++
keyboards/mini49/keymaps/vial/keymap.c | 14 ++++
keyboards/mini49/keymaps/vial/rules.mk | 3 +
keyboards/mini49/keymaps/vial/vial.json | 19 ++++++
keyboards/mini49/readme.md | 29 ++++++++
keyboards/mini49/rules.mk | 1 +
9 files changed, 171 insertions(+)
create mode 100644 keyboards/mini49/info.json
create mode 100644 keyboards/mini49/keymaps/default/keymap.c
create mode 100644 keyboards/mini49/keymaps/default/rules.mk
create mode 100644 keyboards/mini49/keymaps/vial/config.h
create mode 100644 keyboards/mini49/keymaps/vial/keymap.c
create mode 100644 keyboards/mini49/keymaps/vial/rules.mk
create mode 100644 keyboards/mini49/keymaps/vial/vial.json
create mode 100644 keyboards/mini49/readme.md
create mode 100644 keyboards/mini49/rules.mk
diff --git a/keyboards/mini49/info.json b/keyboards/mini49/info.json
new file mode 100644
index 0000000000..156722ec10
--- /dev/null
+++ b/keyboards/mini49/info.json
@@ -0,0 +1,81 @@
+{
+ "manufacturer": "HSS",
+ "keyboard_name": "mini49",
+ "maintainer": "pcs3rd",
+ "bootloader": "rp2040",
+ "diode_direction": "COL2ROW",
+ "features": {
+ "command": false,
+ "console": false,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": true
+ },
+ "matrix_pins": {
+ "cols": ["GP0", "GP1", "GP2", "GP3", "GP4", "GP5", "GP6", "GP7", "GP8", "GP9"],
+ "rows": ["GP10", "GP11", "GP12", "GP13", "GP14"]
+ },
+ "processor": "RP2040",
+ "url": "",
+ "usb": {
+ "device_version": "1.0.0",
+ "pid": "0x0000",
+ "vid": "0xBEEF"
+ },
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ { "label": "K00", "matrix": [0, 0], "w": 1, "x": 0, "y": 0 },
+ { "label": "K01", "matrix": [0, 1], "w": 1, "x": 1, "y": 0 },
+ { "label": "K02", "matrix": [0, 2], "w": 1, "x": 2, "y": 0 },
+ { "label": "K03", "matrix": [0, 3], "w": 1, "x": 3, "y": 0 },
+ { "label": "K04", "matrix": [0, 4], "w": 1, "x": 4, "y": 0 },
+ { "label": "K05", "matrix": [0, 5], "w": 1, "x": 5, "y": 0 },
+ { "label": "K06", "matrix": [0, 6], "w": 1, "x": 6, "y": 0 },
+ { "label": "K07", "matrix": [0, 7], "w": 1, "x": 7, "y": 0 },
+ { "label": "K08", "matrix": [0, 8], "w": 1, "x": 8, "y": 0 },
+ { "label": "K09", "matrix": [0, 9], "w": 1, "x": 9, "y": 0 },
+ { "label": "K10", "matrix": [1, 0], "w": 1, "x": 0, "y": 1 },
+ { "label": "K11", "matrix": [1, 1], "w": 1, "x": 1, "y": 1 },
+ { "label": "K12", "matrix": [1, 2], "w": 1, "x": 2, "y": 1 },
+ { "label": "K13", "matrix": [1, 3], "w": 1, "x": 3, "y": 1 },
+ { "label": "K14", "matrix": [1, 4], "w": 1, "x": 4, "y": 1 },
+ { "label": "K15", "matrix": [1, 5], "w": 1, "x": 5, "y": 1 },
+ { "label": "K16", "matrix": [1, 6], "w": 1, "x": 6, "y": 1 },
+ { "label": "K17", "matrix": [1, 7], "w": 1, "x": 7, "y": 1 },
+ { "label": "K18", "matrix": [1, 8], "w": 1, "x": 8, "y": 1 },
+ { "label": "K19", "matrix": [1, 9], "w": 1, "x": 9, "y": 1 },
+ { "label": "K20", "matrix": [2, 0], "w": 1, "x": 0, "y": 2 },
+ { "label": "K21", "matrix": [2, 1], "w": 1, "x": 1, "y": 2 },
+ { "label": "K22", "matrix": [2, 2], "w": 1, "x": 2, "y": 2 },
+ { "label": "K23", "matrix": [2, 3], "w": 1, "x": 3, "y": 2 },
+ { "label": "K24", "matrix": [2, 4], "w": 1, "x": 4, "y": 2 },
+ { "label": "K25", "matrix": [2, 5], "w": 1, "x": 5, "y": 2 },
+ { "label": "K26", "matrix": [2, 6], "w": 1, "x": 6, "y": 2 },
+ { "label": "K27", "matrix": [2, 7], "w": 1, "x": 7, "y": 2 },
+ { "label": "K28", "matrix": [2, 8], "w": 1, "x": 8, "y": 2 },
+ { "label": "K29", "matrix": [2, 9], "w": 1, "x": 9, "y": 2 },
+ { "label": "K30", "matrix": [3, 0], "w": 1, "x": 0, "y": 3 },
+ { "label": "K31", "matrix": [3, 1], "w": 1, "x": 1, "y": 3 },
+ { "label": "K32", "matrix": [3, 2], "w": 1, "x": 2, "y": 3 },
+ { "label": "K33", "matrix": [3, 3], "w": 1, "x": 3, "y": 3 },
+ { "label": "K34", "matrix": [3, 4], "w": 1, "x": 4, "y": 3 },
+ { "label": "K35", "matrix": [3, 5], "w": 1, "x": 5, "y": 3 },
+ { "label": "K36", "matrix": [3, 6], "w": 1, "x": 6, "y": 3 },
+ { "label": "K37", "matrix": [3, 7], "w": 1, "x": 7, "y": 3 },
+ { "label": "K38", "matrix": [3, 8], "w": 1, "x": 8, "y": 3 },
+ { "label": "K39", "matrix": [3, 9], "w": 1, "x": 9, "y": 3 },
+ { "label": "K40", "matrix": [4, 0], "w": 1, "x": 0, "y": 4 },
+ { "label": "K41", "matrix": [4, 1], "w": 1, "x": 1, "y": 4 },
+ { "label": "K42", "matrix": [4, 2], "w": 1, "x": 2, "y": 4 },
+ { "label": "K43", "matrix": [4, 3], "w": 1, "x": 3, "y": 4 },
+ { "label": "K45", "matrix": [4, 5], "w": 1, "x": 4, "y": 4 },
+ { "label": "K46", "matrix": [4, 6], "w": 1, "x": 5, "y": 4 },
+ { "label": "K47", "matrix": [4, 7], "w": 1, "x": 6, "y": 4 },
+ { "label": "K48", "matrix": [4, 8], "w": 1, "x": 7, "y": 4 },
+ { "label": "K49", "matrix": [4, 9], "w": 1, "x": 8, "y": 4 }
+ ]
+ }
+ }
+
+}
diff --git a/keyboards/mini49/keymaps/default/keymap.c b/keyboards/mini49/keymaps/default/keymap.c
new file mode 100644
index 0000000000..69a9e21a35
--- /dev/null
+++ b/keyboards/mini49/keymaps/default/keymap.c
@@ -0,0 +1,11 @@
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [0] = LAYOUT(
+ KC_ESC, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_BSPC,
+ 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_ENT,
+ KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH,
+ KC_LCTL, KC_LALT, KC_LGUI, KC_LSFT, KC_SPC, KC_NO, KC_NO, KC_NO, KC_NO
+ )
+};
diff --git a/keyboards/mini49/keymaps/default/rules.mk b/keyboards/mini49/keymaps/default/rules.mk
new file mode 100644
index 0000000000..7e4fd5d349
--- /dev/null
+++ b/keyboards/mini49/keymaps/default/rules.mk
@@ -0,0 +1 @@
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
diff --git a/keyboards/mini49/keymaps/vial/config.h b/keyboards/mini49/keymaps/vial/config.h
new file mode 100644
index 0000000000..2ccfe974e6
--- /dev/null
+++ b/keyboards/mini49/keymaps/vial/config.h
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+
+#pragma once
+
+#define VIAL_KEYBOARD_UID {0x5C, 0x8A, 0x21, 0xB3, 0x82, 0x40, 0xF6, 0x11}
+
+#define VIAL_UNLOCK_COMBO_ROWS {0, 0}
+#define VIAL_UNLOCK_COMBO_COLS {0, 9}
+
+#define DYNAMIC_KEYMAP_MACRO_COUNT 32
+#define DYNAMIC_KEYMAP_LAYER_COUNT 12
+
diff --git a/keyboards/mini49/keymaps/vial/keymap.c b/keyboards/mini49/keymaps/vial/keymap.c
new file mode 100644
index 0000000000..a412eeb784
--- /dev/null
+++ b/keyboards/mini49/keymaps/vial/keymap.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [0] = LAYOUT(
+ KC_ESC, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_BSPC,
+ 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_ENT,
+ KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH,
+ KC_LCTL, KC_LALT, KC_LGUI, KC_LSFT, KC_SPC, KC_NO, KC_NO, KC_NO, KC_NO
+ )
+};
+
diff --git a/keyboards/mini49/keymaps/vial/rules.mk b/keyboards/mini49/keymaps/vial/rules.mk
new file mode 100644
index 0000000000..7e2cda2ab0
--- /dev/null
+++ b/keyboards/mini49/keymaps/vial/rules.mk
@@ -0,0 +1,3 @@
+VIA_ENABLE = yes
+VIAL_ENABLE = yes
+MIDI_ENABLE = yes
\ No newline at end of file
diff --git a/keyboards/mini49/keymaps/vial/vial.json b/keyboards/mini49/keymaps/vial/vial.json
new file mode 100644
index 0000000000..40cffe2c13
--- /dev/null
+++ b/keyboards/mini49/keymaps/vial/vial.json
@@ -0,0 +1,19 @@
+{
+ "name": "mini49",
+ "vendorId": "0xBEEF",
+ "productId": "0x0000",
+ "lighting": "none",
+ "matrix": {"rows": 5, "cols": 10},
+ "layouts": {
+ "keymap": [
+ ["0,0","0,1","0,2","0,3","0,4","0,5","0,6","0,7","0,8","0,9"],
+ ["1,0","1,1","1,2","1,3","1,4","1,5","1,6","1,7","1,8","1,9"],
+ ["2,0","2,1","2,2","2,3","2,4","2,5","2,6","2,7","2,8","2,9"],
+ ["3,0","3,1","3,2","3,3","3,4","3,5","3,6","3,7","3,8","3,9"],
+ ["4,0","4,1","4,2","4,3",{"w": 2 }, "4,5","4,6","4,7","4,8", "4,9"]
+ ]
+ },
+ "vial": {
+ "midi": "advanced"
+ }
+}
\ No newline at end of file
diff --git a/keyboards/mini49/readme.md b/keyboards/mini49/readme.md
new file mode 100644
index 0000000000..a68a5ee0fe
--- /dev/null
+++ b/keyboards/mini49/readme.md
@@ -0,0 +1,29 @@
+# mini49
+
+
+![mini49](https://cloud.stickpile.net/apps/files_sharing/publicpreview/YkYfcoeLRmHpfy2?file=/&fileId=225288&x=1080&y=1920&a=true)
+
+A sub-60% ortholinear keyboard powered by vial-qmk.
+
+* Keyboard Maintainer: [Raymond Dean][def]
+* Hardware Supported: *RP2040*
+
+Make example for this keyboard (after setting up your build environment):
+
+ make mini49:vial
+
+Flashing example for this keyboard:
+
+ make mini49:vial:flash
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+## Bootloader
+
+Enter the bootloader in 3 ways:
+
+- Bootmagic reset: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard. Bootmagic is not enabled in the vial layout.
+- Physical reset: Hold the BOOT button down while pressing the RESET button.
+- Keycode in layout: Press the key mapped to QK_BOOT if it is available
+
+[def]: https://github.com/pcs3rd
diff --git a/keyboards/mini49/rules.mk b/keyboards/mini49/rules.mk
new file mode 100644
index 0000000000..6e7633bfe0
--- /dev/null
+++ b/keyboards/mini49/rules.mk
@@ -0,0 +1 @@
+# This file intentionally left blank
From f03180984d40641628742f017fc7d9606c41d40a Mon Sep 17 00:00:00 2001
From: adophoxia <100170946+adophoxia@users.noreply.github.com>
Date: Sun, 30 Apr 2023 16:22:52 -0700
Subject: [PATCH 24/69] Add `KBDCraft Adam64` to VIAL (#446)
* Add `KBDCraft Adam64` to VIAL
* Sync changes from `#20503`
* Have `make` command example in `readme.md` use `vial` keymap
* Add in new `VIAL_KEYBOARD_UID`
* Update keyboards/kbdcraft/adam64/readme.md
Co-authored-by: Less/Rikki <86894501+lesshonor@users.noreply.github.com>
---------
Co-authored-by: Less/Rikki <86894501+lesshonor@users.noreply.github.com>
---
keyboards/kbdcraft/adam64/adam64.c | 98 ++++++++
keyboards/kbdcraft/adam64/config.h | 34 +++
keyboards/kbdcraft/adam64/halconf.h | 23 ++
keyboards/kbdcraft/adam64/info.json | 214 ++++++++++++++++++
.../kbdcraft/adam64/keymaps/default/keymap.c | 37 +++
.../kbdcraft/adam64/keymaps/vial/config.h | 9 +
.../kbdcraft/adam64/keymaps/vial/keymap.c | 37 +++
.../kbdcraft/adam64/keymaps/vial/rules.mk | 3 +
.../kbdcraft/adam64/keymaps/vial/vial.json | 115 ++++++++++
keyboards/kbdcraft/adam64/mcuconf.h | 24 ++
keyboards/kbdcraft/adam64/readme.md | 27 +++
keyboards/kbdcraft/adam64/rules.mk | 2 +
12 files changed, 623 insertions(+)
create mode 100644 keyboards/kbdcraft/adam64/adam64.c
create mode 100644 keyboards/kbdcraft/adam64/config.h
create mode 100644 keyboards/kbdcraft/adam64/halconf.h
create mode 100644 keyboards/kbdcraft/adam64/info.json
create mode 100644 keyboards/kbdcraft/adam64/keymaps/default/keymap.c
create mode 100644 keyboards/kbdcraft/adam64/keymaps/vial/config.h
create mode 100644 keyboards/kbdcraft/adam64/keymaps/vial/keymap.c
create mode 100644 keyboards/kbdcraft/adam64/keymaps/vial/rules.mk
create mode 100644 keyboards/kbdcraft/adam64/keymaps/vial/vial.json
create mode 100644 keyboards/kbdcraft/adam64/mcuconf.h
create mode 100644 keyboards/kbdcraft/adam64/readme.md
create mode 100644 keyboards/kbdcraft/adam64/rules.mk
diff --git a/keyboards/kbdcraft/adam64/adam64.c b/keyboards/kbdcraft/adam64/adam64.c
new file mode 100644
index 0000000000..ae5ebf19d3
--- /dev/null
+++ b/keyboards/kbdcraft/adam64/adam64.c
@@ -0,0 +1,98 @@
+/*
+ * Copyright 2023 KBDCraft
+ * Copyright 2023 Adophoxia
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+#include "quantum.h"
+
+#ifdef RGB_MATRIX_ENABLE
+const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
+/* Refer to IS31 manual for these locations
+ * driver
+ * | R location
+ * | | G location
+ * | | | B location
+ * | | | | */
+ {0, CS14_SW1, CS13_SW1, CS15_SW1},
+ {0, CS14_SW2, CS13_SW2, CS15_SW2},
+ {0, CS14_SW3, CS13_SW3, CS15_SW3},
+ {0, CS14_SW4, CS13_SW4, CS15_SW4},
+ {0, CS14_SW5, CS13_SW5, CS15_SW5},
+ {0, CS14_SW6, CS13_SW6, CS15_SW6},
+ {0, CS14_SW7, CS13_SW7, CS15_SW7},
+ {0, CS32_SW1, CS31_SW1, CS33_SW1},
+ {0, CS32_SW2, CS31_SW2, CS33_SW2},
+ {0, CS32_SW3, CS31_SW3, CS33_SW3},
+ {0, CS32_SW4, CS31_SW4, CS33_SW4},
+ {0, CS32_SW5, CS31_SW5, CS33_SW5},
+ {0, CS32_SW6, CS31_SW6, CS33_SW6},
+ {0, CS32_SW7, CS31_SW7, CS33_SW7},
+
+ {0, CS23_SW1, CS24_SW1, CS22_SW1},
+ {0, CS23_SW2, CS24_SW2, CS22_SW2},
+ {0, CS23_SW3, CS24_SW3, CS22_SW3},
+ {0, CS23_SW4, CS24_SW4, CS22_SW4},
+ {0, CS23_SW5, CS24_SW5, CS22_SW5},
+ {0, CS23_SW6, CS24_SW6, CS22_SW6},
+ {0, CS23_SW7, CS24_SW7, CS22_SW7},
+ {0, CS35_SW1, CS34_SW1, CS36_SW1},
+ {0, CS35_SW2, CS34_SW2, CS36_SW2},
+ {0, CS35_SW3, CS34_SW3, CS36_SW3},
+ {0, CS35_SW4, CS34_SW4, CS36_SW4},
+ {0, CS35_SW5, CS34_SW5, CS36_SW5},
+ {0, CS35_SW6, CS34_SW6, CS36_SW6},
+ {0, CS35_SW7, CS34_SW7, CS36_SW7},
+
+ {0, CS17_SW1, CS16_SW1, CS18_SW1},
+ {0, CS17_SW2, CS16_SW2, CS18_SW2},
+ {0, CS17_SW3, CS16_SW3, CS18_SW3},
+ {0, CS17_SW4, CS16_SW4, CS18_SW4},
+ {0, CS17_SW5, CS16_SW5, CS18_SW5},
+ {0, CS17_SW6, CS16_SW6, CS18_SW6},
+ {0, CS17_SW7, CS16_SW7, CS18_SW7},
+ {0, CS26_SW1, CS25_SW1, CS27_SW1},
+ {0, CS26_SW2, CS25_SW2, CS27_SW2},
+ {0, CS26_SW3, CS25_SW3, CS27_SW3},
+ {0, CS26_SW4, CS25_SW4, CS27_SW4},
+ {0, CS26_SW5, CS25_SW5, CS27_SW5},
+ {0, CS26_SW7, CS25_SW7, CS27_SW7},
+
+ {0, CS20_SW1, CS19_SW1, CS21_SW1},
+ {0, CS20_SW2, CS19_SW2, CS21_SW2},
+ {0, CS20_SW3, CS19_SW3, CS21_SW3},
+ {0, CS20_SW4, CS19_SW4, CS21_SW4},
+ {0, CS20_SW5, CS19_SW5, CS21_SW5},
+ {0, CS20_SW6, CS19_SW6, CS21_SW6},
+ {0, CS20_SW7, CS19_SW7, CS21_SW7},
+ {0, CS29_SW1, CS28_SW1, CS30_SW1},
+ {0, CS29_SW2, CS28_SW2, CS30_SW2},
+ {0, CS29_SW3, CS28_SW3, CS30_SW3},
+ {0, CS29_SW4, CS28_SW4, CS30_SW4},
+ {0, CS29_SW5, CS28_SW5, CS30_SW5},
+ {0, CS29_SW6, CS28_SW6, CS30_SW6},
+ {0, CS29_SW7, CS28_SW7, CS30_SW7},
+
+ {0, CS9_SW1, CS10_SW1, CS8_SW1},
+ {0, CS9_SW2, CS10_SW2, CS8_SW2},
+ {0, CS9_SW3, CS10_SW3, CS8_SW3},
+ {0, CS9_SW6, CS10_SW6, CS8_SW6},
+ {0, CS2_SW3, CS1_SW3, CS3_SW3},
+ {0, CS2_SW4, CS1_SW4, CS3_SW4},
+ {0, CS2_SW5, CS1_SW5, CS3_SW5},
+ {0, CS2_SW6, CS1_SW6, CS3_SW6},
+ {0, CS2_SW7, CS1_SW7, CS3_SW7}
+};
+#endif
diff --git a/keyboards/kbdcraft/adam64/config.h b/keyboards/kbdcraft/adam64/config.h
new file mode 100644
index 0000000000..383fe478a4
--- /dev/null
+++ b/keyboards/kbdcraft/adam64/config.h
@@ -0,0 +1,34 @@
+/*
+ * Copyright 2023 KBDCraft
+ * Copyright 2023 Adophoxia
+ *
+ * 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 I2C1_SCL_PIN B8
+#define I2C1_SDA_PIN B9
+#define I2C1_CLOCK_SPEED 400000
+#define I2C1_DUTY_CYCLE FAST_DUTY_CYCLE_16_9
+
+#define DRIVER_COUNT 1
+#define DRIVER_ADDR_1 0b0110000
+#define DRIVER_LED_TOTAL 64
+
+/* turn off effects when suspended */
+#define RGB_DISABLE_WHEN_USB_SUSPENDED
+
+#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
+#define RGB_MATRIX_KEYPRESSES
\ No newline at end of file
diff --git a/keyboards/kbdcraft/adam64/halconf.h b/keyboards/kbdcraft/adam64/halconf.h
new file mode 100644
index 0000000000..6a04713f1c
--- /dev/null
+++ b/keyboards/kbdcraft/adam64/halconf.h
@@ -0,0 +1,23 @@
+/*
+ * Copyright 2023 KBDCraft
+ * Copyright 2023 Adophoxia
+ *
+ * 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
+
+#include_next
diff --git a/keyboards/kbdcraft/adam64/info.json b/keyboards/kbdcraft/adam64/info.json
new file mode 100644
index 0000000000..98ad19fded
--- /dev/null
+++ b/keyboards/kbdcraft/adam64/info.json
@@ -0,0 +1,214 @@
+{
+
+ "keyboard_name": "Adam64",
+ "manufacturer": "KBDCRAFT",
+ "url": "https://kbdcraft.store/products/adam",
+ "maintainer": "KBDCraft",
+ "usb": {
+ "vid": "0x586A",
+ "pid": "0xB001",
+ "device_version": "0.0.1"
+ },
+ "processor": "STM32F401",
+ "bootloader": "stm32-dfu",
+ "diode_direction": "ROW2COL",
+ "matrix_pins": {
+ "rows": ["C8", "C9", "A8", "A10", "B14"],
+ "cols": ["B15", "C6", "C7", "A15", "B7", "C10", "C11", "C12", "D2", "B3", "B4", "B5", "A0", "A1"]
+ },
+ "features":{
+ "bootmagic": true,
+ "mousekey": true,
+ "extrakey": true,
+ "nkro": true,
+ "console": false,
+ "command": false,
+ "rgb_matrix": true
+ },
+ "rgb_matrix":{
+ "driver": "IS31FL3741",
+ "max_brightness": 150,
+ "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,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_rain": true,
+ "pixel_flow": true,
+ "pixel_fractal": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
+ "layout": [
+ {"flags": 4, "matrix": [0, 0], "x": 0, "y": 0 },
+ {"flags": 4, "matrix": [0, 1], "x": 16, "y": 0 },
+ {"flags": 4, "matrix": [0, 2], "x": 32, "y": 0 },
+ {"flags": 4, "matrix": [0, 3], "x": 48, "y": 0 },
+ {"flags": 4, "matrix": [0, 4], "x": 64, "y": 0 },
+ {"flags": 4, "matrix": [0, 5], "x": 80, "y": 0 },
+ {"flags": 4, "matrix": [0, 6], "x": 96, "y": 0 },
+ {"flags": 4, "matrix": [0, 7], "x": 112, "y": 0 },
+ {"flags": 4, "matrix": [0, 8], "x": 128, "y": 0 },
+ {"flags": 4, "matrix": [0, 9], "x": 144, "y": 0 },
+ {"flags": 4, "matrix": [0, 10], "x": 160, "y": 0 },
+ {"flags": 4, "matrix": [0, 11], "x": 176, "y": 0 },
+ {"flags": 4, "matrix": [0, 12], "x": 192, "y": 0 },
+ {"flags": 4, "matrix": [0, 13], "x": 208, "y": 0 },
+
+ {"flags": 4, "matrix": [1, 0], "x": 0, "y": 10 },
+ {"flags": 4, "matrix": [1, 1], "x": 16, "y": 10 },
+ {"flags": 4, "matrix": [1, 2], "x": 32, "y": 10 },
+ {"flags": 4, "matrix": [1, 3], "x": 48, "y": 10 },
+ {"flags": 4, "matrix": [1, 4], "x": 64, "y": 10 },
+ {"flags": 4, "matrix": [1, 5], "x": 80, "y": 10 },
+ {"flags": 4, "matrix": [1, 6], "x": 96, "y": 10 },
+ {"flags": 4, "matrix": [1, 7], "x": 112, "y": 10 },
+ {"flags": 4, "matrix": [1, 8], "x": 128, "y": 10 },
+ {"flags": 4, "matrix": [1, 9], "x": 144, "y": 10 },
+ {"flags": 4, "matrix": [1, 10], "x": 160, "y": 10 },
+ {"flags": 4, "matrix": [1, 11], "x": 176, "y": 10 },
+ {"flags": 4, "matrix": [1, 12], "x": 192, "y": 10 },
+ {"flags": 4, "matrix": [1, 13], "x": 208, "y": 10 },
+
+ {"flags": 4, "matrix": [2, 0], "x": 0, "y": 20 },
+ {"flags": 4, "matrix": [2, 1], "x": 16, "y": 20 },
+ {"flags": 4, "matrix": [2, 2], "x": 32, "y": 20 },
+ {"flags": 4, "matrix": [2, 3], "x": 48, "y": 20 },
+ {"flags": 4, "matrix": [2, 4], "x": 64, "y": 20 },
+ {"flags": 4, "matrix": [2, 5], "x": 80, "y": 20 },
+ {"flags": 4, "matrix": [2, 6], "x": 96, "y": 20 },
+ {"flags": 4, "matrix": [2, 7], "x": 112, "y": 20 },
+ {"flags": 4, "matrix": [2, 8], "x": 128, "y": 20 },
+ {"flags": 4, "matrix": [2, 9], "x": 144, "y": 20 },
+ {"flags": 4, "matrix": [2, 10], "x": 160, "y": 20 },
+ {"flags": 4, "matrix": [2, 11], "x": 176, "y": 20 },
+ {"flags": 4, "matrix": [2, 13], "x": 208, "y": 20 },
+
+ {"flags": 4, "matrix": [3, 0], "x": 0, "y": 30 },
+ {"flags": 4, "matrix": [3, 1], "x": 16, "y": 30 },
+ {"flags": 4, "matrix": [3, 2], "x": 32, "y": 30 },
+ {"flags": 4, "matrix": [3, 3], "x": 48, "y": 30 },
+ {"flags": 4, "matrix": [3, 4], "x": 64, "y": 30 },
+ {"flags": 4, "matrix": [3, 5], "x": 80, "y": 30 },
+ {"flags": 4, "matrix": [3, 6], "x": 96, "y": 30 },
+ {"flags": 4, "matrix": [3, 7], "x": 112, "y": 30 },
+ {"flags": 4, "matrix": [3, 8], "x": 128, "y": 30 },
+ {"flags": 4, "matrix": [3, 9], "x": 144, "y": 30 },
+ {"flags": 4, "matrix": [3, 10], "x": 160, "y": 30 },
+ {"flags": 4, "matrix": [3, 11], "x": 176, "y": 30 },
+ {"flags": 4, "matrix": [3, 12], "x": 192, "y": 30 },
+ {"flags": 4, "matrix": [3, 13], "x": 208, "y": 30 },
+
+ {"flags": 4, "matrix": [4, 0], "x": 0, "y": 40 },
+ {"flags": 4, "matrix": [4, 1], "x": 16, "y": 40 },
+ {"flags": 4, "matrix": [4, 2], "x": 32, "y": 40 },
+ {"flags": 4, "matrix": [4, 5], "x": 80, "y": 40 },
+ {"flags": 4, "matrix": [4, 9], "x": 144, "y": 40 },
+ {"flags": 4, "matrix": [4, 10], "x": 160, "y": 40 },
+ {"flags": 4, "matrix": [4, 11], "x": 176, "y": 40 },
+ {"flags": 4, "matrix": [4, 12], "x": 192, "y": 40 },
+ {"flags": 4, "matrix": [4, 13], "x": 208, "y": 40 }
+ ]
+ },
+ "community_layouts": [ "64_ansi" ],
+ "layouts": {
+ "LAYOUT_64_ansi": {
+ "layout": [
+ { "matrix": [0, 0], "x": 0, "y": 0 },
+ { "matrix": [0, 1], "x": 1, "y": 0 },
+ { "matrix": [0, 2], "x": 2, "y": 0 },
+ { "matrix": [0, 3], "x": 3, "y": 0 },
+ { "matrix": [0, 4], "x": 4, "y": 0 },
+ { "matrix": [0, 5], "x": 5, "y": 0 },
+ { "matrix": [0, 6], "x": 6, "y": 0 },
+ { "matrix": [0, 7], "x": 7, "y": 0 },
+ { "matrix": [0, 8], "x": 8, "y": 0 },
+ { "matrix": [0, 9], "x": 9, "y": 0 },
+ { "matrix": [0, 10], "x": 10, "y": 0 },
+ { "matrix": [0, 11], "x": 11, "y": 0 },
+ { "matrix": [0, 12], "x": 12, "y": 0 },
+ { "matrix": [0, 13], "w": 2, "x": 13, "y": 0 },
+
+ { "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 },
+ { "matrix": [1, 1], "x": 1.5, "y": 1 },
+ { "matrix": [1, 2], "x": 2.5, "y": 1 },
+ { "matrix": [1, 3], "x": 3.5, "y": 1 },
+ { "matrix": [1, 4], "x": 4.5, "y": 1 },
+ { "matrix": [1, 5], "x": 5.5, "y": 1 },
+ { "matrix": [1, 6], "x": 6.5, "y": 1 },
+ { "matrix": [1, 7], "x": 7.5, "y": 1 },
+ { "matrix": [1, 8], "x": 8.5, "y": 1 },
+ { "matrix": [1, 9], "x": 9.5, "y": 1 },
+ { "matrix": [1, 10], "x": 10.5, "y": 1 },
+ { "matrix": [1, 11], "x": 11.5, "y": 1 },
+ { "matrix": [1, 12], "x": 12.5, "y": 1 },
+ { "matrix": [1, 13], "w": 1.5, "x": 13.5, "y": 1 },
+
+ { "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 },
+ { "matrix": [2, 1], "x": 1.75, "y": 2 },
+ { "matrix": [2, 2], "x": 2.75, "y": 2 },
+ { "matrix": [2, 3], "x": 3.75, "y": 2 },
+ { "matrix": [2, 4], "x": 4.75, "y": 2 },
+ { "matrix": [2, 5], "x": 5.75, "y": 2 },
+ { "matrix": [2, 6], "x": 6.75, "y": 2 },
+ { "matrix": [2, 7], "x": 7.75, "y": 2 },
+ { "matrix": [2, 8], "x": 8.75, "y": 2 },
+ { "matrix": [2, 9], "x": 9.75, "y": 2 },
+ { "matrix": [2, 10], "x": 10.75, "y": 2 },
+ { "matrix": [2, 11], "x": 11.75, "y": 2 },
+ { "matrix": [2, 13], "w": 2.25, "x": 12.75, "y": 2 },
+
+ { "matrix": [3, 0], "w": 2, "x": 0, "y": 3 },
+ { "matrix": [3, 1], "x": 2, "y": 3 },
+ { "matrix": [3, 2], "x": 3, "y": 3 },
+ { "matrix": [3, 3], "x": 4, "y": 3 },
+ { "matrix": [3, 4], "x": 5, "y": 3 },
+ { "matrix": [3, 5], "x": 6, "y": 3 },
+ { "matrix": [3, 6], "x": 7, "y": 3 },
+ { "matrix": [3, 7], "x": 8, "y": 3 },
+ { "matrix": [3, 8], "x": 9, "y": 3 },
+ { "matrix": [3, 9], "x": 10, "y": 3 },
+ { "matrix": [3, 10], "x": 11, "y": 3 },
+ { "matrix": [3, 11], "x": 12, "y": 3 },
+ { "matrix": [3, 12], "x": 13, "y": 3 },
+ { "matrix": [3, 13], "x": 14, "y": 3 },
+
+ { "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4 },
+ { "matrix": [4, 1], "w": 1.25, "x": 1.25, "y": 4 },
+ { "matrix": [4, 2], "w": 1.25, "x": 2.5, "y": 4 },
+ { "matrix": [4, 5], "w": 6.25, "x": 3.75, "y": 4 },
+ { "matrix": [4, 9], "x": 10, "y": 4 },
+ { "matrix": [4, 10], "x": 11, "y": 4 },
+ { "matrix": [4, 11], "x": 12, "y": 4 },
+ { "matrix": [4, 12], "x": 13, "y": 4 },
+ { "matrix": [4, 13], "x": 14, "y": 4 }
+ ]
+ }
+ }
+}
\ No newline at end of file
diff --git a/keyboards/kbdcraft/adam64/keymaps/default/keymap.c b/keyboards/kbdcraft/adam64/keymaps/default/keymap.c
new file mode 100644
index 0000000000..a2f71eda95
--- /dev/null
+++ b/keyboards/kbdcraft/adam64/keymaps/default/keymap.c
@@ -0,0 +1,37 @@
+/*
+ * Copyright 2023 KBDCraft
+ * Copyright 2023 Adophoxia
+ *
+ * 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_64_ansi(
+ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_DEL,
+ KC_LCTL, KC_LOPT, KC_LCMD, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+
+ [1] = LAYOUT_64_ansi(
+ KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
+ KC_NO, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, RGB_MOD, KC_PSCR, KC_SCRL, KC_PAUS, KC_NO,
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RGB_SPI, RGB_SPD, KC_HOME, KC_PGUP, EE_CLR,
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, NK_TOGG, KC_NO, KC_INS, KC_END, KC_PGDN, KC_VOLU, KC_MUTE,
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, RGB_MOD, KC_VOLD, RGB_TOG
+ )
+};
diff --git a/keyboards/kbdcraft/adam64/keymaps/vial/config.h b/keyboards/kbdcraft/adam64/keymaps/vial/config.h
new file mode 100644
index 0000000000..a098acc7af
--- /dev/null
+++ b/keyboards/kbdcraft/adam64/keymaps/vial/config.h
@@ -0,0 +1,9 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+
+#pragma once
+
+#define VIAL_KEYBOARD_UID {0x68, 0x15, 0xE0, 0x6E, 0xF2, 0x8C, 0x40, 0x6A}
+
+#define VIAL_UNLOCK_COMBO_ROWS { 0, 2 }
+#define VIAL_UNLOCK_COMBO_COLS { 0, 13 }
+
diff --git a/keyboards/kbdcraft/adam64/keymaps/vial/keymap.c b/keyboards/kbdcraft/adam64/keymaps/vial/keymap.c
new file mode 100644
index 0000000000..4ff28d4978
--- /dev/null
+++ b/keyboards/kbdcraft/adam64/keymaps/vial/keymap.c
@@ -0,0 +1,37 @@
+/*
+ * Copyright 2023 KBDCraft
+ * Copyright 2023 Adophoxia
+ *
+ * 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_64_ansi(
+ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_DEL,
+ KC_LCTL, KC_LOPT, KC_LCMD, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+
+ [1] = LAYOUT_64_ansi(
+ KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
+ _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, RGB_MOD, KC_PSCR, KC_SCRL, KC_PAUS, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, RGB_SPI, RGB_SPD, KC_HOME, KC_PGUP, EE_CLR,
+ _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, KC_INS, KC_END, KC_PGDN, KC_VOLU, KC_MUTE,
+ _______, _______, _______, _______, _______, _______, RGB_MOD, KC_VOLD, RGB_TOG
+ )
+};
diff --git a/keyboards/kbdcraft/adam64/keymaps/vial/rules.mk b/keyboards/kbdcraft/adam64/keymaps/vial/rules.mk
new file mode 100644
index 0000000000..31bb6d699f
--- /dev/null
+++ b/keyboards/kbdcraft/adam64/keymaps/vial/rules.mk
@@ -0,0 +1,3 @@
+VIA_ENABLE = yes
+VIAL_ENABLE = yes
+VIALRGB_ENABLE = yes
\ No newline at end of file
diff --git a/keyboards/kbdcraft/adam64/keymaps/vial/vial.json b/keyboards/kbdcraft/adam64/keymaps/vial/vial.json
new file mode 100644
index 0000000000..48862c7443
--- /dev/null
+++ b/keyboards/kbdcraft/adam64/keymaps/vial/vial.json
@@ -0,0 +1,115 @@
+{
+ "name": "Adam64",
+ "vendorId": "0x586A",
+ "productId": "0xB001",
+ "lighting": "vialrgb",
+ "matrix": { "rows": 5, "cols": 14 },
+ "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",
+ "0,12",
+ {
+ "w": 2
+ },
+ "0,13"
+ ],
+ [
+ {
+ "w": 1.5
+ },
+ "1,0",
+ "1,1",
+ "1,2",
+ "1,3",
+ "1,4",
+ "1,5",
+ "1,6",
+ "1,7",
+ "1,8",
+ "1,9",
+ "1,10",
+ "1,11",
+ "1,12",
+ {
+ "w": 1.5
+ },
+ "1,13"
+ ],
+ [
+ {
+ "w": 1.75
+ },
+ "2,0",
+ "2,1",
+ "2,2",
+ "2,3",
+ "2,4",
+ "2,5",
+ "2,6",
+ "2,7",
+ "2,8",
+ "2,9",
+ "2,10",
+ "2,11",
+ {
+ "w": 2.25
+ },
+ "2,13"
+ ],
+ [
+ {
+ "w": 2
+ },
+ "3,0",
+ "3,1",
+ "3,2",
+ "3,3",
+ "3,4",
+ "3,5",
+ "3,6",
+ "3,7",
+ "3,8",
+ "3,9",
+ "3,10",
+ "3,11",
+ "3,12",
+ "3,13"
+ ],
+ [
+ {
+ "w": 1.25
+ },
+ "4,0",
+ {
+ "w": 1.25
+ },
+ "4,1",
+ {
+ "w": 1.25
+ },
+ "4,2",
+ {
+ "w": 6.25
+ },
+ "4,5",
+ "4,9",
+ "4,10",
+ "4,11",
+ "4,12",
+ "4,13"
+ ]
+ ]
+ }
+}
diff --git a/keyboards/kbdcraft/adam64/mcuconf.h b/keyboards/kbdcraft/adam64/mcuconf.h
new file mode 100644
index 0000000000..ef406b9a3d
--- /dev/null
+++ b/keyboards/kbdcraft/adam64/mcuconf.h
@@ -0,0 +1,24 @@
+/*
+ * Copyright 2023 KBDCraft
+ * Copyright 2023 Adophoxia
+ *
+ * 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 STM32_I2C_USE_I2C1
+#define STM32_I2C_USE_I2C1 TRUE
\ No newline at end of file
diff --git a/keyboards/kbdcraft/adam64/readme.md b/keyboards/kbdcraft/adam64/readme.md
new file mode 100644
index 0000000000..25550aff44
--- /dev/null
+++ b/keyboards/kbdcraft/adam64/readme.md
@@ -0,0 +1,27 @@
+# KBDCraft Adam64
+
+![Adam64](https://i.imgur.com/6m2yyTUh.jpg)
+
+A custom 64-key mechanical keyboard comprised of Legos.
+
+* Keyboard Maintainer: The QMK Community
+* Hardware Supported: STM32F401
+* Hardware Availability: https://kbdcraft.store/products/adam
+
+Make example for this keyboard (after setting up your build environment):
+
+ make kbdcraft/adam64:default
+
+Flashing example for this keyboard:
+
+ make kbdcraft/adam64:default:flash
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+## Bootloader
+
+Enter the bootloader in 3 ways:
+
+* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
+* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/kbdcraft/adam64/rules.mk b/keyboards/kbdcraft/adam64/rules.mk
new file mode 100644
index 0000000000..094c6b058e
--- /dev/null
+++ b/keyboards/kbdcraft/adam64/rules.mk
@@ -0,0 +1,2 @@
+# Enter lower-power sleep mode when on the ChibiOS idle thread
+OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE
From b0da10370109f72efb09c4305b3d119fcb9fa75b Mon Sep 17 00:00:00 2001
From: Ben
Date: Mon, 1 May 2023 01:23:59 +0200
Subject: [PATCH 25/69] Increase vial layers to 9 (#449)
Co-authored-by: Ben Roe
---
keyboards/keycapsss/3w6_2040/config.h | 2 ++
1 file changed, 2 insertions(+)
diff --git a/keyboards/keycapsss/3w6_2040/config.h b/keyboards/keycapsss/3w6_2040/config.h
index f69c51d70e..0cb820a3a7 100644
--- a/keyboards/keycapsss/3w6_2040/config.h
+++ b/keyboards/keycapsss/3w6_2040/config.h
@@ -25,3 +25,5 @@
#define BOOTMAGIC_LITE_ROW 0
#define BOOTMAGIC_LITE_COLUMN 0
+
+#define DYNAMIC_KEYMAP_LAYER_COUNT 9
\ No newline at end of file
From bf08cb969de4ac5cae437c48e69622c3eb4cd139 Mon Sep 17 00:00:00 2001
From: DonutCables
Date: Sun, 30 Apr 2023 19:24:31 -0400
Subject: [PATCH 26/69] Update and add Budget96 support (#450)
* Add Vial-enabled default map to budget96
* Update rules.mk via suggestion
Co-authored-by: Less/Rikki <86894501+lesshonor@users.noreply.github.com>
* Suggestions to keymap.c
Co-authored-by: Less/Rikki <86894501+lesshonor@users.noreply.github.com>
---------
Co-authored-by: Less/Rikki <86894501+lesshonor@users.noreply.github.com>
---
.../budget96/keymaps/vial/config.h | 14 +
.../budget96/keymaps/vial/keymap.c | 45 +++
.../budget96/keymaps/vial/readme.md | 1 +
.../budget96/keymaps/vial/rules.mk | 18 +
.../budget96/keymaps/vial/vial.json | 317 ++++++++++++++++++
5 files changed, 395 insertions(+)
create mode 100644 keyboards/donutcables/budget96/keymaps/vial/config.h
create mode 100644 keyboards/donutcables/budget96/keymaps/vial/keymap.c
create mode 100644 keyboards/donutcables/budget96/keymaps/vial/readme.md
create mode 100644 keyboards/donutcables/budget96/keymaps/vial/rules.mk
create mode 100644 keyboards/donutcables/budget96/keymaps/vial/vial.json
diff --git a/keyboards/donutcables/budget96/keymaps/vial/config.h b/keyboards/donutcables/budget96/keymaps/vial/config.h
new file mode 100644
index 0000000000..4f99c69ff4
--- /dev/null
+++ b/keyboards/donutcables/budget96/keymaps/vial/config.h
@@ -0,0 +1,14 @@
+/* SPDX-Licanse-Identifier: GPL-2.0-or-later */
+
+#pragma once
+
+#define VIAL_KEYBOARD_UID {0x2F, 0xE9, 0x9C, 0x35, 0xA0, 0x07, 0xEA, 0x2B}
+#define VIAL_UNLOCK_COMBO_ROWS { 0,3 }
+#define VIAL_UNLOCK_COMBO_COLS { 6,2 }
+#define DYNAMIC_KEYMAP_LAYER_COUNT 3
+#undef LOCKING_SUPPORT_ENABLE
+#undef LOCKING_RESYNC_ENABLE
+#define NO_ACTION_ONESHOT
+#define LAYER_STATE_8BIT
+
+
diff --git a/keyboards/donutcables/budget96/keymaps/vial/keymap.c b/keyboards/donutcables/budget96/keymaps/vial/keymap.c
new file mode 100644
index 0000000000..e9d28a8bc8
--- /dev/null
+++ b/keyboards/donutcables/budget96/keymaps/vial/keymap.c
@@ -0,0 +1,45 @@
+/* Copyright 2021 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_96_ansi(
+ 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_PSCR, KC_NUM, KC_INS, KC_HOME, KC_PGUP, KC_PSLS,
+ 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_END, KC_PGDN, KC_PSLS, KC_PAST,
+ 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_P7, KC_P8, KC_P9, KC_PMNS,
+ 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_P4, KC_P5, KC_P6, KC_PPLS,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RIGHT, KC_P0, KC_PDOT, KC_PENT),
+
+[1] = LAYOUT_96_ansi(
+ QK_BOOT, EE_CLR, 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,
+ RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, 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, RGB_RMOD, RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, 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),
+
+[2] = LAYOUT_96_ansi(
+ 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
+};
+
+
+
diff --git a/keyboards/donutcables/budget96/keymaps/vial/readme.md b/keyboards/donutcables/budget96/keymaps/vial/readme.md
new file mode 100644
index 0000000000..78e8e89b1c
--- /dev/null
+++ b/keyboards/donutcables/budget96/keymaps/vial/readme.md
@@ -0,0 +1 @@
+# Vial-enabled default keymap for budget96
diff --git a/keyboards/donutcables/budget96/keymaps/vial/rules.mk b/keyboards/donutcables/budget96/keymaps/vial/rules.mk
new file mode 100644
index 0000000000..6b19afe8a8
--- /dev/null
+++ b/keyboards/donutcables/budget96/keymaps/vial/rules.mk
@@ -0,0 +1,18 @@
+VIA_ENABLE = yes
+VIAL_ENABLE = yes
+LTO_ENABLE = yes
+QMK_SETTINGS = no
+
+MAGIC_ENABLE = no
+MOUSEKEY_ENABLE = no
+CONSOLE_ENABLE = no
+COMMAND_ENABLE = no
+COMBO_ENABLE = no
+NKRO_ENABLE = no
+KEY_OVERRIDE_ENABLE = no
+VIRTSER_ENABLE = no
+
+TAP_DANCE_ENABLE = no
+SPACE_CADET_ENABLE = no
+GRAVE_ESC_ENABLE = no
+BACKLIGHT_ENABLE = no
diff --git a/keyboards/donutcables/budget96/keymaps/vial/vial.json b/keyboards/donutcables/budget96/keymaps/vial/vial.json
new file mode 100644
index 0000000000..5c9ec5817b
--- /dev/null
+++ b/keyboards/donutcables/budget96/keymaps/vial/vial.json
@@ -0,0 +1,317 @@
+{
+ "lighting": "none",
+ "matrix":{
+ "rows":8,
+ "cols":15
+ },
+ "layouts":{
+ "labels":[
+ "Split Backspace",
+ "ISO Enter",
+ "Split LShift",
+ "Split RShift",
+ [
+ "Bottom Row",
+ "Default",
+ "All"
+ ],
+ "Split Numpad +",
+ "Split Numpad Enter",
+ "Split Numpad 0"
+ ],
+ "keymap":[
+
+ [
+ {
+ "x": 2.5
+ },
+ "5,0",
+ "5,2",
+ "5,3",
+ "5,4",
+ "5,5",
+ "6,0",
+ "6,10",
+ "7,10",
+ "7,0",
+ "5,11",
+ "5,12",
+ "5,13",
+ "5,14",
+ "1,13",
+ "2,14",
+ "0,13",
+ "7,6",
+ "7,8",
+ "7,9"
+ ],
+ [
+ {
+ "x": 2.5
+ },
+ "4,0",
+ "4,1",
+ "4,2",
+ "4,3",
+ "4,4",
+ "4,5",
+ "6,1",
+ "6,11",
+ "7,11",
+ "7,1",
+ "4,10",
+ "4,11",
+ "4,12",
+ {
+ "c": "#00773a",
+ "w": 2
+ },
+ "4,13\n\n\n0,0",
+ {
+ "c": "#cccccc"
+ },
+ "4,6",
+ "4,7",
+ "4,8",
+ "4,9",
+ {
+ "x": 2.25,
+ "c": "#00773a"
+ },
+ "4,13\n\n\n0,1",
+ "4,14\n\n\n0,1"
+ ],
+ [
+ {
+ "x": 2.5,
+ "c": "#cccccc",
+ "w": 1.5
+ },
+ "3,0",
+ "3,1",
+ "3,2",
+ "3,3",
+ "3,4",
+ "3,5",
+ "6,2",
+ "6,12",
+ "7,12",
+ "7,2",
+ "3,10",
+ "3,11",
+ "3,12",
+ {
+ "c": "#5d437e",
+ "w": 1.5
+ },
+ "3,13\n\n\n1,0",
+ {
+ "c": "#cccccc"
+ },
+ "3,6",
+ "3,7",
+ "3,8",
+ {
+ "c": "#00589f",
+ "h": 2
+ },
+ "3,9\n\n\n5,0",
+ {
+ "x": 0.25
+ },
+ "3,9\n\n\n5,1",
+ {
+ "x": 1.75,
+ "c": "#5d437e",
+ "w": 1.25,
+ "h": 2,
+ "w2": 1.5,
+ "h2": 1,
+ "x2": -0.25
+ },
+ "2,13\n\n\n1,1"
+ ],
+ [
+ {
+ "x": 2.5,
+ "c": "#67635b",
+ "w": 1.25,
+ "w2": 1.75,
+ "l": true
+ },
+ "2,0",
+ {
+ "x": 0.5,
+ "c": "#cccccc"
+ },
+ "2,1",
+ "2,2",
+ "2,3",
+ "2,4",
+ "2,5",
+ "6,3",
+ "6,13",
+ "7,13",
+ "7,3",
+ "2,10",
+ "2,11",
+ {
+ "c": "#5d437e",
+ "w": 2.25
+ },
+ "2,12\n\n\n1,0",
+ {
+ "c": "#cccccc"
+ },
+ "2,6",
+ "2,7",
+ "2,8",
+ {
+ "x": 1.25,
+ "c": "#00589f"
+ },
+ "2,9\n\n\n5,1",
+ {
+ "x": 0.75,
+ "c": "#5d437e"
+ },
+ "2,12\n\n\n1,1"
+ ],
+ [
+ {
+ "c": "#cb3d6e",
+ "w": 1.25
+ },
+ "1,0\n\n\n2,1",
+ "0,3\n\n\n2,1",
+ {
+ "x": 0.25,
+ "w": 2.25
+ },
+ "1,0\n\n\n2,0",
+ {
+ "c": "#cccccc"
+ },
+ "1,1",
+ "1,2",
+ "1,3",
+ "1,4",
+ "1,5",
+ "6,4",
+ "6,14",
+ "7,14",
+ "7,4",
+ "1,10",
+ {
+ "c": "#8d242f",
+ "w": 1.75
+ },
+ "1,11\n\n\n3,0",
+ "6,8\n\n\n3,0",
+ {
+ "c": "#cccccc"
+ },
+ "1,6",
+ "1,7",
+ "1,8",
+ {
+ "c": "#00589f",
+ "h": 2
+ },
+ "1,9\n\n\n6,0",
+ {
+ "x": 0.25
+ },
+ "1,9\n\n\n6,1",
+ {
+ "x": 0.25,
+ "c": "#8d242f",
+ "w": 2.75
+ },
+ "1,11\n\n\n3,1"
+ ],
+ [
+ {
+ "x": 2.5,
+ "c": "#ee6d00",
+ "w": 1.25
+ },
+ "0,0\n\n\n4,0",
+ {
+ "w": 1.25
+ },
+ "0,1\n\n\n4,0",
+ {
+ "w": 1.25
+ },
+ "0,2\n\n\n4,0",
+ {
+ "c": "#dd1126",
+ "w": 6.25
+ },
+ "6,5\n\n\n4,0",
+ {
+ "c": "#f8c200",
+ "w": 1.5
+ },
+ "7,5\n\n\n4,0",
+ {
+ "w": 1.5
+ },
+ "0,11\n\n\n4,0",
+ "6,6\n\n\n4,0",
+ "6,7\n\n\n4,0",
+ {
+ "c": "#00589f"
+ },
+ "6,9\n\n\n7,0",
+ "0,6\n\n\n7,0",
+ {
+ "c": "#cccccc"
+ },
+ "0,8",
+ {
+ "x": 1.25,
+ "c": "#00589f"
+ },
+ "0,9\n\n\n6,1"
+ ],
+ [
+ {
+ "y": 0.25,
+ "x": 2.5,
+ "c": "#ee6d00",
+ "w": 1.25
+ },
+ "0,0\n\n\n4,1",
+ {
+ "w": 1.25
+ },
+ "0,1\n\n\n4,1",
+ {
+ "w": 1.25
+ },
+ "0,2\n\n\n4,1",
+ {
+ "c": "#dd1126",
+ "w": 6.25
+ },
+ "6,5\n\n\n4,1",
+ {
+ "c": "#f8c200"
+ },
+ "7,5\n\n\n4,1",
+ "0,10\n\n\n4,1",
+ "0,11\n\n\n4,1",
+ "6,6\n\n\n4,1",
+ "6,7\n\n\n4,1",
+ {
+ "c": "#00589f",
+ "w": 2
+ },
+ "0,6\n\n\n7,1"
+ ]
+]
+
+ }
+}
\ No newline at end of file
From 5cdfed141413040fe313877ac204c1d0fd8e970c Mon Sep 17 00:00:00 2001
From: Less/Rikki <86894501+lesshonor@users.noreply.github.com>
Date: Sun, 30 Apr 2023 19:25:37 -0400
Subject: [PATCH 27/69] fix: update obsolete keycodes (#452)
---
keyboards/gizmo_engineering/gk6/keymaps/vial/keymap.c | 2 +-
keyboards/pearlboards/pandora/keymaps/vial/keymap.c | 2 +-
keyboards/waterfowl/keymaps/vial/keymap.c | 4 ++--
3 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/keyboards/gizmo_engineering/gk6/keymaps/vial/keymap.c b/keyboards/gizmo_engineering/gk6/keymaps/vial/keymap.c
index ad357648ac..1b7d6ff81b 100755
--- a/keyboards/gizmo_engineering/gk6/keymaps/vial/keymap.c
+++ b/keyboards/gizmo_engineering/gk6/keymaps/vial/keymap.c
@@ -66,7 +66,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, _______, _______, _______, _______, _______, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, _______,
_______, _______, _______, _______, _______, _______, _______, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, _______,
_______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, _______, _______, _______, KC_PIPE, KC_BSLS,
- DEBUG, _______, _______, _______, _______, _______, _______, _______, _______, KC_RALT
+ DB_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, KC_RALT
),
/* Lower
diff --git a/keyboards/pearlboards/pandora/keymaps/vial/keymap.c b/keyboards/pearlboards/pandora/keymaps/vial/keymap.c
index fb766287a9..13a002341a 100644
--- a/keyboards/pearlboards/pandora/keymaps/vial/keymap.c
+++ b/keyboards/pearlboards/pandora/keymaps/vial/keymap.c
@@ -44,7 +44,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT_all(
- KC_GESC, 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_DEL, KC_BSPC,
+ QK_GESC, 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_DEL, KC_BSPC,
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT,
KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1),
diff --git a/keyboards/waterfowl/keymaps/vial/keymap.c b/keyboards/waterfowl/keymaps/vial/keymap.c
index 3e693bcebf..4fe117cd50 100644
--- a/keyboards/waterfowl/keymaps/vial/keymap.c
+++ b/keyboards/waterfowl/keymaps/vial/keymap.c
@@ -102,7 +102,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_FUNC] = LAYOUT(
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_F7, KC_F8, KC_F9, KC_F11,
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_F4, KC_F5, KC_F6, KC_F12,
- RESET, KC_NO, KC_NO, KC_NO, KC_NO, KC_F10, KC_F1, KC_F2, KC_F3, KC_F13,
+ QK_BOOT, KC_NO, KC_NO, KC_NO, KC_NO, KC_F10, KC_F1, KC_F2, KC_F3, KC_F13,
KC_1, LT(3,KC_DEL), LT(1,KC_SPC), KC_TAB, KC_CAPS, KC_NUM, KC_ESC, KC_BSPC, LT(2,KC_ENT), KC_4
),
};
@@ -114,4 +114,4 @@ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
[_SYM] = { ENCODER_CCW_CW(KC_MS_WH_UP, KC_MS_WH_DOWN), ENCODER_CCW_CW(KC_TAB, S(KC_TAB)), ENCODER_CCW_CW(KC_MS_WH_LEFT, KC_MS_WH_RIGHT), ENCODER_CCW_CW(KC_LEFT, KC_RIGHT) },
[_FUNC] = { ENCODER_CCW_CW(KC_MS_WH_UP, KC_MS_WH_DOWN), ENCODER_CCW_CW(KC_TAB, S(KC_TAB)), ENCODER_CCW_CW(KC_MS_WH_LEFT, KC_MS_WH_RIGHT), ENCODER_CCW_CW(KC_LEFT, KC_RIGHT) },
};
-#endif
\ No newline at end of file
+#endif
From 4eb1c2e21fef3b2a94215992158c0195b92a8d4d Mon Sep 17 00:00:00 2001
From: Marcel Maltry <49197539+marcelmaltry@users.noreply.github.com>
Date: Mon, 1 May 2023 01:26:13 +0200
Subject: [PATCH 28/69] Port wilba.tech WT60-H1 to Vial. (#453)
---
.../wilba_tech/wt60_h1/keymaps/vial/config.h | 8 +
.../wilba_tech/wt60_h1/keymaps/vial/keymap.c | 1 +
.../wilba_tech/wt60_h1/keymaps/vial/rules.mk | 3 +
.../wilba_tech/wt60_h1/keymaps/vial/vial.json | 200 ++++++++++++++++++
4 files changed, 212 insertions(+)
create mode 100644 keyboards/wilba_tech/wt60_h1/keymaps/vial/config.h
create mode 100644 keyboards/wilba_tech/wt60_h1/keymaps/vial/keymap.c
create mode 100644 keyboards/wilba_tech/wt60_h1/keymaps/vial/rules.mk
create mode 100644 keyboards/wilba_tech/wt60_h1/keymaps/vial/vial.json
diff --git a/keyboards/wilba_tech/wt60_h1/keymaps/vial/config.h b/keyboards/wilba_tech/wt60_h1/keymaps/vial/config.h
new file mode 100644
index 0000000000..d7e773fd73
--- /dev/null
+++ b/keyboards/wilba_tech/wt60_h1/keymaps/vial/config.h
@@ -0,0 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+
+#pragma once
+
+/* Vial configuration */
+#define VIAL_KEYBOARD_UID {0x4D, 0x1A, 0x49, 0x5D, 0x98, 0xAF, 0x2A, 0x0F}
+#define VIAL_UNLOCK_COMBO_ROWS { 0, 2 }
+#define VIAL_UNLOCK_COMBO_COLS { 0, 12 }
diff --git a/keyboards/wilba_tech/wt60_h1/keymaps/vial/keymap.c b/keyboards/wilba_tech/wt60_h1/keymaps/vial/keymap.c
new file mode 100644
index 0000000000..1f9d213f05
--- /dev/null
+++ b/keyboards/wilba_tech/wt60_h1/keymaps/vial/keymap.c
@@ -0,0 +1 @@
+#include "../default/keymap.c"
\ No newline at end of file
diff --git a/keyboards/wilba_tech/wt60_h1/keymaps/vial/rules.mk b/keyboards/wilba_tech/wt60_h1/keymaps/vial/rules.mk
new file mode 100644
index 0000000000..3ed0d216fb
--- /dev/null
+++ b/keyboards/wilba_tech/wt60_h1/keymaps/vial/rules.mk
@@ -0,0 +1,3 @@
+VIA_ENABLE = yes
+VIAL_ENABLE = yes
+QMK_SETTINGS = no
diff --git a/keyboards/wilba_tech/wt60_h1/keymaps/vial/vial.json b/keyboards/wilba_tech/wt60_h1/keymaps/vial/vial.json
new file mode 100644
index 0000000000..cfe2865425
--- /dev/null
+++ b/keyboards/wilba_tech/wt60_h1/keymaps/vial/vial.json
@@ -0,0 +1,200 @@
+{
+ "name": "wilba.tech WT60-H1",
+ "vendorId": "0x6582",
+ "productId": "0x0024",
+ "lighting": "none",
+ "matrix": {"rows": 5, "cols": 14},
+ "layouts": {
+ "labels": [["Bottom Row", "7U", "HHKB", "WKL"]],
+ "keymap": [
+ [
+ {
+ "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",
+ "2,13"
+ ],
+ [
+ {
+ "c": "#aaaaaa",
+ "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"
+ ],
+ [
+ {
+ "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": "#777777",
+ "w": 2.25
+ },
+ "2,12"
+ ],
+ [
+ {
+ "c": "#aaaaaa",
+ "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",
+ "3,13"
+ ],
+ [
+ {
+ "w": 1.5
+ },
+ "4,0\n\n\n0,0",
+ "4,1\n\n\n0,0",
+ {
+ "w": 1.5
+ },
+ "4,2\n\n\n0,0",
+ {
+ "c": "#cccccc",
+ "w": 7
+ },
+ "4,6\n\n\n0,0",
+ {
+ "c": "#aaaaaa",
+ "w": 1.5
+ },
+ "4,11\n\n\n0,0",
+ "4,12\n\n\n0,0",
+ {
+ "w": 1.5
+ },
+ "4,13\n\n\n0,0"
+ ],
+ [
+ {
+ "y": 0.25,
+ "w": 1.5,
+ "d": true
+ },
+ "4,0\n\n\n0,1",
+ "4,1\n\n\n0,1",
+ {
+ "w": 1.5
+ },
+ "4,2\n\n\n0,1",
+ {
+ "c": "#cccccc",
+ "w": 7
+ },
+ "4,6\n\n\n0,1",
+ {
+ "c": "#aaaaaa",
+ "w": 1.5
+ },
+ "4,11\n\n\n0,1",
+ "4,12\n\n\n0,1",
+ {
+ "w": 1.5,
+ "d": true
+ },
+ "4,13\n\n\n0,1"
+ ],
+ [
+ {
+ "w": 1.5
+ },
+ "4,0\n\n\n0,2",
+ {
+ "d": true
+ },
+ "4,1\n\n\n0,2",
+ {
+ "w": 1.5
+ },
+ "4,2\n\n\n0,2",
+ {
+ "c": "#cccccc",
+ "w": 7
+ },
+ "4,6\n\n\n0,2",
+ {
+ "c": "#aaaaaa",
+ "w": 1.5
+ },
+ "4,11\n\n\n0,2",
+ {
+ "d": true
+ },
+ "4,12\n\n\n0,2",
+ {
+ "w": 1.5
+ },
+ "4,13\n\n\n0,2"
+ ]
+ ]
+ }
+}
From b5200015d2b4cf9babcae0e893fe65078151201b Mon Sep 17 00:00:00 2001
From: Dani <58542682+DPoplin@users.noreply.github.com>
Date: Sun, 30 Apr 2023 20:35:28 -0500
Subject: [PATCH 29/69] Add support for aeternus omnibus (#448)
* add reviung53 vial files
* Revert "add reviung53 vial files"
This reverts commit 074be536deda760843efda31f0c5ee9dbbb5a5e7.
* add aeternus omnibus
* add vial files
* prettify
* fix layouts
* add encoder functionality
---
keyboards/aeternus/omnibus/config.h | 49 +++
keyboards/aeternus/omnibus/info.json | 249 +++++++++++
.../aeternus/omnibus/keymaps/default/keymap.c | 44 ++
.../aeternus/omnibus/keymaps/via/keymap.c | 44 ++
.../aeternus/omnibus/keymaps/via/rules.mk | 1 +
.../aeternus/omnibus/keymaps/vial/config.h | 7 +
.../aeternus/omnibus/keymaps/vial/keymap.c | 53 +++
.../aeternus/omnibus/keymaps/vial/rules.mk | 7 +
.../aeternus/omnibus/keymaps/vial/vial.json | 401 ++++++++++++++++++
keyboards/aeternus/omnibus/omnibus.c | 17 +
keyboards/aeternus/omnibus/omnibus.h | 53 +++
keyboards/aeternus/omnibus/readme.md | 27 ++
keyboards/aeternus/omnibus/rules.mk | 22 +
13 files changed, 974 insertions(+)
create mode 100644 keyboards/aeternus/omnibus/config.h
create mode 100644 keyboards/aeternus/omnibus/info.json
create mode 100644 keyboards/aeternus/omnibus/keymaps/default/keymap.c
create mode 100644 keyboards/aeternus/omnibus/keymaps/via/keymap.c
create mode 100644 keyboards/aeternus/omnibus/keymaps/via/rules.mk
create mode 100644 keyboards/aeternus/omnibus/keymaps/vial/config.h
create mode 100644 keyboards/aeternus/omnibus/keymaps/vial/keymap.c
create mode 100644 keyboards/aeternus/omnibus/keymaps/vial/rules.mk
create mode 100644 keyboards/aeternus/omnibus/keymaps/vial/vial.json
create mode 100644 keyboards/aeternus/omnibus/omnibus.c
create mode 100644 keyboards/aeternus/omnibus/omnibus.h
create mode 100644 keyboards/aeternus/omnibus/readme.md
create mode 100644 keyboards/aeternus/omnibus/rules.mk
diff --git a/keyboards/aeternus/omnibus/config.h b/keyboards/aeternus/omnibus/config.h
new file mode 100644
index 0000000000..01d376f0d5
--- /dev/null
+++ b/keyboards/aeternus/omnibus/config.h
@@ -0,0 +1,49 @@
+/*
+Copyright 2021 KnoblesseOblige
+
+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 "config_common.h"
+
+/* USB Device descriptor parameter */
+#define VENDOR_ID 0xAE7E
+#define PRODUCT_ID 0x4F42 /* "OB" */
+#define DEVICE_VER 0x0001
+#define MANUFACTURER KnoblesseOblige
+#define PRODUCT Omnibus
+
+#define MATRIX_ROWS 4
+#define MATRIX_COLS 12
+
+#define MATRIX_ROW_PINS { B1, B0, D6, D4 }
+#define MATRIX_COL_PINS { B4, B5, B6, C6, C7, F7, F6, F5, F4, F1, F0, D7 }
+
+#define DIODE_DIRECTION COL2ROW
+
+#define ENCODERS_PAD_A { B2 }
+#define ENCODERS_PAD_B { B3 }
+
+#define RGB_DI_PIN B7
+#ifdef RGB_DI_PIN
+# define RGBLED_NUM 22
+# define RGBLIGHT_ANIMATIONS
+#endif
+
+#define DEBOUNCE 5
+
+#define LOCKING_SUPPORT_ENABLE
+#define LOCKING_RESYNC_ENABLE
diff --git a/keyboards/aeternus/omnibus/info.json b/keyboards/aeternus/omnibus/info.json
new file mode 100644
index 0000000000..e1f62ecc27
--- /dev/null
+++ b/keyboards/aeternus/omnibus/info.json
@@ -0,0 +1,249 @@
+{
+ "keyboard_name": "omnibus",
+ "url": "",
+ "maintainer": "KnoblesseOblige",
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ {
+ "label": "k00",
+ "x": 0,
+ "y": 0
+ },
+ {
+ "label": "k01",
+ "x": 1,
+ "y": 0
+ },
+ {
+ "label": "k02",
+ "x": 2,
+ "y": 0
+ },
+ {
+ "label": "k03",
+ "x": 3,
+ "y": 0
+ },
+ {
+ "label": "k04",
+ "x": 4,
+ "y": 0
+ },
+ {
+ "label": "k05",
+ "x": 5,
+ "y": 0
+ },
+ {
+ "label": "k06",
+ "x": 6,
+ "y": 0
+ },
+ {
+ "label": "k07",
+ "x": 7,
+ "y": 0
+ },
+ {
+ "label": "k08",
+ "x": 8,
+ "y": 0
+ },
+ {
+ "label": "k09",
+ "x": 9,
+ "y": 0
+ },
+ {
+ "label": "k0a",
+ "x": 10,
+ "y": 0
+ },
+ {
+ "label": "k0b",
+ "x": 11,
+ "y": 0,
+ "w": 1.75
+ },
+ {
+ "label": "k37",
+ "x": 7,
+ "y": 3
+ },
+ {
+ "label": "k10",
+ "x": 0,
+ "y": 1
+ },
+ {
+ "label": "k11",
+ "x": 1,
+ "y": 1
+ },
+ {
+ "label": "k12",
+ "x": 2,
+ "y": 1
+ },
+ {
+ "label": "k13",
+ "x": 3,
+ "y": 1
+ },
+ {
+ "label": "k14",
+ "x": 4,
+ "y": 1
+ },
+ {
+ "label": "k15",
+ "x": 5,
+ "y": 1
+ },
+ {
+ "label": "k16",
+ "x": 6,
+ "y": 1
+ },
+ {
+ "label": "k17",
+ "x": 7,
+ "y": 1
+ },
+ {
+ "label": "k18",
+ "x": 8,
+ "y": 1
+ },
+ {
+ "label": "k19",
+ "x": 9,
+ "y": 1
+ },
+ {
+ "label": "k1a",
+ "x": 10,
+ "y": 1
+ },
+ {
+ "label": "k1b",
+ "x": 11,
+ "y": 1
+ },
+ {
+ "label": "k20",
+ "x": 0,
+ "y": 2
+ },
+ {
+ "label": "k21",
+ "x": 1,
+ "y": 2
+ },
+ {
+ "label": "k22",
+ "x": 2,
+ "y": 2
+ },
+ {
+ "label": "k23",
+ "x": 3,
+ "y": 2
+ },
+ {
+ "label": "k24",
+ "x": 4,
+ "y": 2
+ },
+ {
+ "label": "k25",
+ "x": 5,
+ "y": 2
+ },
+ {
+ "label": "k26",
+ "x": 6,
+ "y": 2
+ },
+ {
+ "label": "k27",
+ "x": 7,
+ "y": 2
+ },
+ {
+ "label": "k28",
+ "x": 8,
+ "y": 2
+ },
+ {
+ "label": "k29",
+ "x": 9,
+ "y": 2
+ },
+ {
+ "label": "k2a",
+ "x": 10,
+ "y": 2
+ },
+ {
+ "label": "k2b",
+ "x": 11,
+ "y": 2
+ },
+
+
+ {
+ "label": "k30",
+ "x": 0,
+ "y": 3
+ },
+ {
+ "label": "k31",
+ "x": 1,
+ "y": 3
+ },
+ {
+ "label": "k32",
+ "x": 2,
+ "y": 3
+ },
+ {
+ "label": "k33",
+ "x": 3,
+ "y": 3
+ },
+ {
+ "label": "k34",
+ "x": 4,
+ "y": 3
+ },
+ {
+ "label": "k36",
+ "x": 6,
+ "y": 3
+ },
+ {
+ "label": "k38",
+ "x": 8,
+ "y": 3
+ },
+ {
+ "label": "k39",
+ "x": 9,
+ "y": 3
+ },
+ {
+ "label": "k3a",
+ "x": 10,
+ "y": 3
+ },
+ {
+ "label": "k3b",
+ "x": 11,
+ "y": 3
+ }
+ ]
+ }
+ }
+ }
diff --git a/keyboards/aeternus/omnibus/keymaps/default/keymap.c b/keyboards/aeternus/omnibus/keymaps/default/keymap.c
new file mode 100644
index 0000000000..41e2be18b9
--- /dev/null
+++ b/keyboards/aeternus/omnibus/keymaps/default/keymap.c
@@ -0,0 +1,44 @@
+/* Copyright 2021 KnoblesseOblige
+ *
+ * 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] = {
+ /* Base */
+ [0] = LAYOUT_all(
+ KC_GESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, KC_DEL,
+ LCTL_T(KC_TAB), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT,
+ MO(1), KC_LALT, KC_LGUI, MO(2), KC_SPC, KC_SPC, MO(3), MO(1), TT(2), MO(2)
+ ),
+ [1] = LAYOUT_all(
+ KC_GRAVE, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
+ 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
+ ),
+ [2] = LAYOUT_all(
+ 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_UP, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ ),
+ [3] = LAYOUT_all(
+ KC_GRAVE, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, 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/aeternus/omnibus/keymaps/via/keymap.c b/keyboards/aeternus/omnibus/keymaps/via/keymap.c
new file mode 100644
index 0000000000..41e2be18b9
--- /dev/null
+++ b/keyboards/aeternus/omnibus/keymaps/via/keymap.c
@@ -0,0 +1,44 @@
+/* Copyright 2021 KnoblesseOblige
+ *
+ * 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] = {
+ /* Base */
+ [0] = LAYOUT_all(
+ KC_GESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, KC_DEL,
+ LCTL_T(KC_TAB), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT,
+ MO(1), KC_LALT, KC_LGUI, MO(2), KC_SPC, KC_SPC, MO(3), MO(1), TT(2), MO(2)
+ ),
+ [1] = LAYOUT_all(
+ KC_GRAVE, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
+ 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
+ ),
+ [2] = LAYOUT_all(
+ 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_UP, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ ),
+ [3] = LAYOUT_all(
+ KC_GRAVE, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, 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/aeternus/omnibus/keymaps/via/rules.mk b/keyboards/aeternus/omnibus/keymaps/via/rules.mk
new file mode 100644
index 0000000000..036bd6d1c3
--- /dev/null
+++ b/keyboards/aeternus/omnibus/keymaps/via/rules.mk
@@ -0,0 +1 @@
+VIA_ENABLE = yes
\ No newline at end of file
diff --git a/keyboards/aeternus/omnibus/keymaps/vial/config.h b/keyboards/aeternus/omnibus/keymaps/vial/config.h
new file mode 100644
index 0000000000..cb66b49ee5
--- /dev/null
+++ b/keyboards/aeternus/omnibus/keymaps/vial/config.h
@@ -0,0 +1,7 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+
+#pragma once
+
+#define VIAL_KEYBOARD_UID {0x61, 0x6F, 0x6D, 0x6E, 0x69, 0x62, 0x75, 0x73}
+#define VIAL_UNLOCK_COMBO_ROWS { 0, 1 }
+#define VIAL_UNLOCK_COMBO_COLS { 0, 11 }
diff --git a/keyboards/aeternus/omnibus/keymaps/vial/keymap.c b/keyboards/aeternus/omnibus/keymaps/vial/keymap.c
new file mode 100644
index 0000000000..37e8accf27
--- /dev/null
+++ b/keyboards/aeternus/omnibus/keymaps/vial/keymap.c
@@ -0,0 +1,53 @@
+/* Copyright 2021 KnoblesseOblige
+ *
+ * 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
+
+#if defined(ENCODER_MAP_ENABLE)
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+ [0] = { ENCODER_CCW_CW(KC_MS_WH_UP, KC_MS_WH_DOWN) },
+ [1] = { ENCODER_CCW_CW(RGB_HUD, RGB_HUI) },
+ [2] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI) },
+ [3] = { ENCODER_CCW_CW(RGB_RMOD, RGB_MOD) },
+};
+#endif
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ /* Base */
+ [0] = LAYOUT_all(
+ KC_GESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, KC_DEL,
+ LCTL_T(KC_TAB), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT,
+ MO(1), KC_LALT, KC_LGUI, MO(2), KC_SPC, KC_SPC, MO(3), MO(1), TT(2), MO(2)
+ ),
+ [1] = LAYOUT_all(
+ KC_GRAVE, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
+ 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
+ ),
+ [2] = LAYOUT_all(
+ 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_UP, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ ),
+ [3] = LAYOUT_all(
+ KC_GRAVE, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, 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/aeternus/omnibus/keymaps/vial/rules.mk b/keyboards/aeternus/omnibus/keymaps/vial/rules.mk
new file mode 100644
index 0000000000..bacb882dc8
--- /dev/null
+++ b/keyboards/aeternus/omnibus/keymaps/vial/rules.mk
@@ -0,0 +1,7 @@
+VIA_ENABLE = yes
+VIAL_ENABLE = yes
+
+QMK_SETTINGS = no
+LTO_ENABLE = yes
+TAP_DANCE_ENABLE = no
+ENCODER_MAP_ENABLE = yes
diff --git a/keyboards/aeternus/omnibus/keymaps/vial/vial.json b/keyboards/aeternus/omnibus/keymaps/vial/vial.json
new file mode 100644
index 0000000000..d6e99b1bad
--- /dev/null
+++ b/keyboards/aeternus/omnibus/keymaps/vial/vial.json
@@ -0,0 +1,401 @@
+{
+ "name": "Omnibus",
+ "vendorId": "AE7E",
+ "productId": "4F42",
+ "lighting": "qmk_rgblight",
+ "matrix": {
+ "rows": 4,
+ "cols": 12
+ },
+ "layouts": {
+ "labels": [
+ [
+ "Bottom Row",
+ "Standard / Standard",
+ "Southpaw / Arrows",
+ "3u/3u (m3n3van)",
+ "2.75u/2.25u (Minisub)",
+ "1.5u/1.5u S-Class",
+ "2.25u/2u (0.75u HHKB)",
+ "4.25u",
+ "6u (m3n3van)",
+ "Jetvan",
+ "6.25u HHKB/WKL",
+ "Offset 7u",
+ "Offset 9u",
+ "Big Boi",
+ "9.75u (0.25u WKL)",
+ "Behemoth",
+ "Centered 9u",
+ "Nixdorf",
+ "6.25u (0.75u HHKB)",
+ "7u (1.25u/2u HHKB)",
+ "7u (1u/1.75u HHKB)",
+ "10u HHKB (1u/1.75u HHKB)",
+ "6.25u (MB44)",
+ "2.25/1/2.75 (MB44)",
+ "2.75u/2.25u/1u (MB44)",
+ "6.25u (0.75u WKL) (Pegasus)"
+ ],
+ "Split Backspace",
+ "JIS Enter"
+ ],
+ "keymap": [
+ [
+ "0,0",
+ "0,1",
+ "0,2",
+ "0,3",
+ "0,4",
+ "0,5",
+ "0,6",
+ "0,7",
+ "0,8",
+ "0,9",
+ "0,10",
+ {
+ "w": 1.75
+ },
+ "0,11\n\n\n1,0",
+ {
+ "x": 0.25
+ },
+ "0,11\n\n\n1,1",
+ {
+ "w": 0.75
+ },
+ "3,7\n\n\n1,1",
+ {
+ "x": 0.25
+ },
+ "0,0\n\n\n1,1\n\n\n\n\n\ne",
+ "0,1\n\n\n1,1\n\n\n\n\n\ne"
+ ],
+ [
+ { "w": 1.25 },
+ "1,0",
+ "1,1",
+ "1,2",
+ "1,3",
+ "1,4",
+ "1,5",
+ "1,6",
+ "1,7",
+ "1,8",
+ "1,9",
+ "1,10",
+ { "w": 1.5 },
+ "1,11\n\n\n2,0",
+ { "x": 1, "h": 2, "w2": 1.5, "h2": 1, "x2": -0.5 },
+ "1,11\n\n\n2,1"
+ ],
+ [
+ { "w": 1.75 },
+ "2,0",
+ "2,1",
+ "2,2",
+ "2,3",
+ "2,4",
+ "2,5",
+ "2,6",
+ "2,7",
+ "2,8",
+ "2,9",
+ "2,10",
+ "2,11\n\n\n2,0"
+ ],
+ [
+ { "w": 1.25 },
+ "3,0\n\n\n0,0",
+ { "w": 1.5 },
+ "3,1\n\n\n0,0",
+ { "w": 1.25 },
+ "3,3\n\n\n0,0",
+ { "w": 2.25 },
+ "3,4\n\n\n0,0",
+ { "w": 2 },
+ "3,6\n\n\n0,0",
+ { "w": 1.25 },
+ "3,8\n\n\n0,0",
+ { "w": 1.5 },
+ "3,9\n\n\n0,0",
+ { "w": 1.75 },
+ "3,11\n\n\n0,0"
+ ],
+ [
+ { "y": 1 },
+ "3,0\n\n\n0,1",
+ "3,1\n\n\n0,1",
+ "3,2\n\n\n0,1",
+ "3,3\n\n\n0,1",
+ { "w": 2.25 },
+ "3,4\n\n\n0,1",
+ { "w": 2 },
+ "3,6\n\n\n0,1",
+ { "w": 1.5 },
+ "3,8\n\n\n0,1",
+ "3,9\n\n\n0,1",
+ "3,10\n\n\n0,1",
+ "3,11\n\n\n0,1"
+ ],
+ [
+ "3,0\n\n\n0,2",
+ { "w": 1.25 },
+ "3,1\n\n\n0,2",
+ "3,2\n\n\n0,2",
+ { "w": 3 },
+ "3,4\n\n\n0,2",
+ { "w": 3 },
+ "3,6\n\n\n0,2",
+ { "w": 1.25 },
+ "3,9\n\n\n0,2",
+ "3,10\n\n\n0,2",
+ { "w": 1.25 },
+ "3,11\n\n\n0,2"
+ ],
+ [
+ { "w": 1.25 },
+ "3,0\n\n\n0,3",
+ "3,1\n\n\n0,3",
+ { "w": 1.25 },
+ "3,2\n\n\n0,3",
+ { "w": 2.75 },
+ "3,4\n\n\n0,3",
+ { "w": 2.25 },
+ "3,6\n\n\n0,3",
+ { "w": 1.25 },
+ "3,8\n\n\n0,3",
+ "3,9\n\n\n0,3",
+ "3,10\n\n\n0,3",
+ "3,11\n\n\n0,3"
+ ],
+ [
+ { "w": 1.5 },
+ "3,0\n\n\n0,4",
+ { "w": 1.5 },
+ "3,1\n\n\n0,4",
+ { "x": 1, "w": 2.25 },
+ "3,4\n\n\n0,4",
+ { "w": 2 },
+ "3,6\n\n\n0,4",
+ { "w": 1.5 },
+ "3,8\n\n\n0,4",
+ "3,9\n\n\n0,4",
+ "3,10\n\n\n0,4",
+ "3,11\n\n\n0,4"
+ ],
+ [
+ { "y": 1, "w": 0.75, "d": true },
+ "\n\n\n0,5",
+ { "w": 1.25 },
+ "3,1\n\n\n0,5",
+ "3,2\n\n\n0,5",
+ "3,3\n\n\n0,5",
+ { "w": 2.25 },
+ "3,4\n\n\n0,5",
+ { "w": 2 },
+ "3,6\n\n\n0,5",
+ { "w": 1.25 },
+ "3,8\n\n\n0,5",
+ { "w": 1.25 },
+ "3,9\n\n\n0,5",
+ { "w": 1.25 },
+ "3,10\n\n\n0,5",
+ { "w": 0.75, "d": true },
+ "\n\n\n0,5"
+ ],
+ [
+ { "y": 1 },
+ "3,0\n\n\n0,6",
+ "3,1\n\n\n0,6",
+ "3,2\n\n\n0,6",
+ "3,3\n\n\n0,6",
+ { "w": 4.25 },
+ "3,4\n\n\n0,6",
+ { "w": 1.5 },
+ "3,8\n\n\n0,6",
+ "3,9\n\n\n0,6",
+ "3,10\n\n\n0,6",
+ "3,11\n\n\n0,6"
+ ],
+ [
+ "3,0\n\n\n0,7",
+ { "w": 1.25 },
+ "3,1\n\n\n0,7",
+ "3,2\n\n\n0,7",
+ { "w": 6 },
+ "3,4\n\n\n0,7",
+ { "w": 1.25 },
+ "3,9\n\n\n0,7",
+ "3,10\n\n\n0,7",
+ { "w": 1.25 },
+ "3,11\n\n\n0,7"
+ ],
+ [
+ { "w": 1.25 },
+ "3,0\n\n\n0,8",
+ "3,1\n\n\n0,8",
+ { "w": 1.25 },
+ "3,2\n\n\n0,8",
+ { "w": 6.25 },
+ "3,4\n\n\n0,8",
+ "3,9\n\n\n0,8",
+ "3,10\n\n\n0,8",
+ "3,11\n\n\n0,8"
+ ],
+ [
+ { "w": 1.25 },
+ "3,0\n\n\n0,9",
+ "3,1\n\n\n0,9",
+ "3,2\n\n\n0,9",
+ { "w": 6.25 },
+ "3,4\n\n\n0,9",
+ "3,9\n\n\n0,9",
+ "3,10\n\n\n0,9",
+ { "w": 1.25 },
+ "3,11\n\n\n0,9"
+ ],
+ [
+ { "w": 1.25 },
+ "3,0\n\n\n0,10",
+ { "w": 1.5 },
+ "3,1\n\n\n0,10",
+ "3,3\n\n\n0,10",
+ { "w": 7 },
+ "3,6\n\n\n0,10",
+ "3,10\n\n\n0,10",
+ "3,11\n\n\n0,10"
+ ],
+ [
+ { "w": 1.25 },
+ "3,0\n\n\n0,11",
+ { "w": 1.5 },
+ "3,1\n\n\n0,11",
+ { "w": 9 },
+ "3,6\n\n\n0,11",
+ "3,11\n\n\n0,11"
+ ],
+ [
+ "3,0\n\n\n0,12",
+ "3,1\n\n\n0,12",
+ { "w": 9.75 },
+ "3,6\n\n\n0,12",
+ "3,11\n\n\n0,12"
+ ],
+ [
+ { "w": 1.25 },
+ "3,0\n\n\n0,13",
+ { "x": 0.25, "w": 9.75 },
+ "3,4\n\n\n0,13",
+ { "x": 0.25, "w": 1.25 },
+ "3,11\n\n\n0,13"
+ ],
+ [
+ { "w": 12.75 },
+ "3,4\n\n\n0,14"
+ ],
+ [
+ { "w": 1.25 },
+ "3,0\n\n\n0,15",
+ { "w": 1.25 },
+ "3,1\n\n\n0,15",
+ { "w": 9 },
+ "3,4\n\n\n0,15",
+ { "w": 1.25 },
+ "3,11\n\n\n0,15"
+ ],
+ [
+ "3,0\n\n\n0,16",
+ "3,1\n\n\n0,16",
+ "3,2\n\n\n0,16",
+ { "w": 8 },
+ "3,4\n\n\n0,16",
+ { "w": 1.75 },
+ "3,11\n\n\n0,16"
+ ],
+ [
+ { "y": 1, "x": 0.75, "w": 1.25 },
+ "3,1\n\n\n0,17",
+ { "w": 1.25 },
+ "3,2\n\n\n0,17",
+ { "w": 6.25 },
+ "3,4\n\n\n0,17",
+ { "w": 1.25 },
+ "3,9\n\n\n0,17",
+ { "w": 1.25 },
+ "3,10\n\n\n0,17"
+ ],
+ [
+ { "x": 1.25, "w": 1.25 },
+ "3,1\n\n\n0,18",
+ { "w": 7 },
+ "3,4\n\n\n0,18",
+ { "w": 1.25 },
+ "3,9\n\n\n0,18"
+ ],
+ [
+ { "x": 1, "w": 1.5 },
+ "3,1\n\n\n0,19",
+ { "w": 7 },
+ "3,4\n\n\n0,19",
+ { "w": 1.5 },
+ "3,9\n\n\n0,19"
+ ],
+ [{ "x": 1, "w": 10 }, "3,4\n\n\n0,20"],
+ [
+ { "y": 1 },
+ "3,0\n\n\n0,21",
+ "3,1\n\n\n0,21",
+ "3,2\n\n\n0,21",
+ { "w": 6.25 },
+ "3,4\n\n\n0,21",
+ { "x": 0.5 },
+ "3,9\n\n\n0,21",
+ "3,10\n\n\n0,21",
+ "3,11\n\n\n0,21"
+ ],
+ [
+ "3,0\n\n\n0,22",
+ { "w": 1.25 },
+ "3,1\n\n\n0,22",
+ "3,2\n\n\n0,22",
+ { "w": 2.25 },
+ "3,3\n\n\n0,22",
+ "3,4\n\n\n0,22",
+ { "w": 2.75 },
+ "3,6\n\n\n0,22",
+ { "x": 0.5 },
+ "3,9\n\n\n0,22",
+ "3,10\n\n\n0,22",
+ "3,11\n\n\n0,22"
+ ],
+ [
+ "3,0\n\n\n0,23",
+ { "w": 1.25 },
+ "3,1\n\n\n0,23",
+ "3,2\n\n\n0,23",
+ { "w": 2.75 },
+ "3,4\n\n\n0,23",
+ { "w": 2.25 },
+ "3,6\n\n\n0,23",
+ "3,8\n\n\n0,23",
+ { "x": 0.5 },
+ "3,9\n\n\n0,23",
+ "3,10\n\n\n0,23",
+ "3,11\n\n\n0,23"
+ ],
+ [
+ { "y": 1, "w": 1.25 },
+ "3,0\n\n\n0,24",
+ { "x": 0.75, "w": 1.25 },
+ "3,2\n\n\n0,24",
+ { "w": 6.25 },
+ "3,4\n\n\n0,24",
+ { "w": 1.25 },
+ "3,9\n\n\n0,24",
+ { "x": 0.75, "w": 1.25 },
+ "3,11\n\n\n0,24"
+ ]
+ ]
+ }
+}
diff --git a/keyboards/aeternus/omnibus/omnibus.c b/keyboards/aeternus/omnibus/omnibus.c
new file mode 100644
index 0000000000..6fd5199509
--- /dev/null
+++ b/keyboards/aeternus/omnibus/omnibus.c
@@ -0,0 +1,17 @@
+/* Copyright 2021 KnoblesseOblige
+ *
+ * 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 "omnibus.h"
diff --git a/keyboards/aeternus/omnibus/omnibus.h b/keyboards/aeternus/omnibus/omnibus.h
new file mode 100644
index 0000000000..ec716e9ae5
--- /dev/null
+++ b/keyboards/aeternus/omnibus/omnibus.h
@@ -0,0 +1,53 @@
+/* Copyright 2021 KnoblesseOblige
+ *
+ * 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 "quantum.h"
+
+#define kxx KC_NO
+
+/* This is a shortcut to help you visually see your layout.
+ *
+ * The first section contains all of the arguments representing the physical
+ * layout of the board and position of the keys.
+ *
+ * The second converts the arguments into a two-dimensional array which
+ * represents the switch matrix.
+ */
+#define LAYOUT_all( \
+ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k37, \
+ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, \
+ k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, \
+ k30, k31, k32, k33, k34, k36, k38, k39, k3a, k3b \
+) { \
+ { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b }, \
+ { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b }, \
+ { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b }, \
+ { k30, k31, k32, k33, k34, kxx, k36, k37, k38, k39, k3a, k3b } \
+}
+
+#define LAYOUT_all_no_encoder( \
+ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, \
+ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, \
+ k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, \
+ k30, k31, k32, k33, k34, k36, k38, k39, k3a, k3b \
+) { \
+ { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b }, \
+ { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b }, \
+ { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b }, \
+ { k30, k31, k32, k33, k34, kxx, k36, kxx, k38, k39, k3a, k3b } \
+}
diff --git a/keyboards/aeternus/omnibus/readme.md b/keyboards/aeternus/omnibus/readme.md
new file mode 100644
index 0000000000..afbbb3edd2
--- /dev/null
+++ b/keyboards/aeternus/omnibus/readme.md
@@ -0,0 +1,27 @@
+# Omnibus
+
+![Omnibus](https://cdn.shopify.com/s/files/1/0501/5080/1588/products/IMG_9986_1024x1024@2x.jpg?v=1629070461)
+
+A drop-in replacement PCB for most Minivan cases. Also supports every known bottom row layout.
+
+* Keyboard Maintainer: [Aeternus](https://github.com/AeternusCo)
+* Hardware Supported: Most Minivan cases
+* Hardware Availability: https://store.aeternus.co/products/omnibus-pcb
+
+Make example for this keyboard (after setting up your build environment):
+
+ make aeternus/omnibus:default
+
+Flashing example for this keyboard:
+
+ make aeternus/omnibus: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 Escape key and plug in the keyboard
+* **Physical reset button**: Briefly press the button on the back of the PCB
+* **Keycode in layout**: Press the key mapped to `RESET` if it is available
\ No newline at end of file
diff --git a/keyboards/aeternus/omnibus/rules.mk b/keyboards/aeternus/omnibus/rules.mk
new file mode 100644
index 0000000000..c28edc9134
--- /dev/null
+++ b/keyboards/aeternus/omnibus/rules.mk
@@ -0,0 +1,22 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+BOOTLOADER = atmel-dfu
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = no # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
+# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
+SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
+# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+NKRO_ENABLE = no # USB Nkey Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
+ENCODER_ENABLE = yes
From b8ff6e5deacf8b18ff07d7c981e5abd091e371f9 Mon Sep 17 00:00:00 2001
From: Dani <58542682+DPoplin@users.noreply.github.com>
Date: Sun, 30 Apr 2023 20:35:59 -0500
Subject: [PATCH 30/69] Add support for Keebio DSP40 (#443)
* add reviung53 vial files
* add keebio/dsp40
* Revert "add reviung53 vial files"
This reverts commit 074be536deda760843efda31f0c5ee9dbbb5a5e7.
* prettify
* Update keyboards/keebio/dsp40/rev1/rules.mk
Co-authored-by: Less/Rikki <86894501+lesshonor@users.noreply.github.com>
* Update keyboards/keebio/dsp40/keymaps/vial/vial.json
Co-authored-by: Less/Rikki <86894501+lesshonor@users.noreply.github.com>
* add vial encoder support
* fix formatting
* remove via lines in json
* implement changes from review
* Revert changes to dsp40.c
* Revert changes to rev1.c
* Remove extra spaces
---------
Co-authored-by: Less/Rikki <86894501+lesshonor@users.noreply.github.com>
---
keyboards/keebio/dsp40/keymaps/vial/config.h | 5 +
keyboards/keebio/dsp40/keymaps/vial/keymap.c | 75 ++++++
keyboards/keebio/dsp40/keymaps/vial/rules.mk | 7 +
keyboards/keebio/dsp40/keymaps/vial/vial.json | 255 ++++++++++++++++++
4 files changed, 342 insertions(+)
create mode 100644 keyboards/keebio/dsp40/keymaps/vial/config.h
create mode 100755 keyboards/keebio/dsp40/keymaps/vial/keymap.c
create mode 100644 keyboards/keebio/dsp40/keymaps/vial/rules.mk
create mode 100644 keyboards/keebio/dsp40/keymaps/vial/vial.json
diff --git a/keyboards/keebio/dsp40/keymaps/vial/config.h b/keyboards/keebio/dsp40/keymaps/vial/config.h
new file mode 100644
index 0000000000..bc0a528a19
--- /dev/null
+++ b/keyboards/keebio/dsp40/keymaps/vial/config.h
@@ -0,0 +1,5 @@
+#pragma once
+
+#define VIAL_KEYBOARD_UID {0xCE, 0xD3, 0x93, 0xC2, 0x74, 0x75, 0xEA, 0xE7}
+#define VIAL_UNLOCK_COMBO_ROWS { 0 , 2 }
+#define VIAL_UNLOCK_COMBO_COLS { 0 , 11 }
diff --git a/keyboards/keebio/dsp40/keymaps/vial/keymap.c b/keyboards/keebio/dsp40/keymaps/vial/keymap.c
new file mode 100755
index 0000000000..2812bf2330
--- /dev/null
+++ b/keyboards/keebio/dsp40/keymaps/vial/keymap.c
@@ -0,0 +1,75 @@
+/* Copyright 2021 Danny Nguyen
+
+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
+
+enum via_layers {
+ _MAIN,
+ _FN1,
+ _FN2,
+ _FN3,
+};
+
+#if defined(ENCODER_MAP_ENABLE)
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+ [0] = { ENCODER_CCW_CW(KC_MS_WH_UP, KC_MS_WH_DOWN) },
+ [1] = { ENCODER_CCW_CW(RGB_HUD, RGB_HUI) },
+ [2] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI) },
+ [3] = { ENCODER_CCW_CW(RGB_RMOD, RGB_MOD) },
+};
+#endif
+
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ /* Default Layer
+ * ,-----------------------------------------------------------.
+ * | Esc| Q | W | E | R | T | Y | U | I | O | P | BS |
+ * |-----------------------------------------------------------|
+ * | Tab | A | S | D | F | G | H | J | K | L | Ent |
+ * |-----------------------------------------------------------|
+ * | LSft | Z | X | C | V | B | N | M | , | . | /? |
+ * |-----------------------------------------------------------|
+ * | LCtl | LGui| LAlt| spc fn1 | spc fn2 |fn3|RAlt|RCtl |
+ * `-----------------------------------------------------------'
+ */
+ [_MAIN] = LAYOUT_ortho_4x12(
+ 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_SCLN, KC_ENT,
+ KC_LSFT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, LT(_FN1, KC_SPC), KC_SPC, KC_SPC, LT(_FN2, KC_SPC), MO(_FN3), LT(_FN3, KC_LGUI), KC_RALT, KC_RCTL
+ ),
+
+ [_FN1] = LAYOUT_ortho_4x12(
+ KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,
+ KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, _______, KC_PIPE,
+ _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,S(KC_NUHS),S(KC_NUBS),BL_TOGG,BL_INC, BL_DEC,
+ _______, _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
+ ),
+
+ [_FN2] = LAYOUT_ortho_4x12(
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
+ KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, _______, KC_BSLS,
+ _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, _______, _______, KC_DEL,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+
+ [_FN3] = LAYOUT_ortho_4x12(
+ _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ )
+};
diff --git a/keyboards/keebio/dsp40/keymaps/vial/rules.mk b/keyboards/keebio/dsp40/keymaps/vial/rules.mk
new file mode 100644
index 0000000000..ab00f5cb34
--- /dev/null
+++ b/keyboards/keebio/dsp40/keymaps/vial/rules.mk
@@ -0,0 +1,7 @@
+VIA_ENABLE = yes
+VIAL_ENABLE = yes
+LTO_ENABLE = yes
+MOUSEKEY_ENABLE = yes
+CONSOLE_ENABLE = yes
+COMMAND_ENABLE = no
+ENCODER_MAP_ENABLE = yes
diff --git a/keyboards/keebio/dsp40/keymaps/vial/vial.json b/keyboards/keebio/dsp40/keymaps/vial/vial.json
new file mode 100644
index 0000000000..5c334ba592
--- /dev/null
+++ b/keyboards/keebio/dsp40/keymaps/vial/vial.json
@@ -0,0 +1,255 @@
+{
+ "name": "DSP40 Rev. 1",
+ "vendorId": "0xCB10",
+ "productId": "0x144C",
+ "lighting": "qmk_backlight",
+ "matrix": {
+ "rows": 4,
+ "cols": 12
+ },
+ "layouts": {
+ "labels": [
+ [
+ "Row 2",
+ "Staggered",
+ "Ortho"
+ ],
+ [
+ "Row 3",
+ "Staggered 1.25-1",
+ "Staggered 1-1.25",
+ "Ortho"
+ ],
+ [
+ "Row 4",
+ "Staggered 1.25 Mods",
+ "Staggered 1.5 Mods",
+ "Ortho"
+ ]
+ ],
+ "keymap": [
+ [
+ {
+ "c": "#777777"
+ },
+ "0,0\n\n\n\n\n\n\n\n\ne",
+ "0,1\n\n\n\n\n\n\n\n\ne",
+ {"x":0.5},"0,0",
+ {
+ "c": "#cccccc"
+ },
+ "0,1",
+ "0,2",
+ "0,3",
+ "0,4",
+ "0,5",
+ "0,6",
+ "0,7",
+ "0,8",
+ "0,9",
+ "0,10",
+ {
+ "c": "#aaaaaa"
+ },
+ "0,11"
+ ],
+ [
+ {"x":2.5},
+ {
+ "w": 1.25
+ },
+ "1,0\n\n\n0,0",
+ {
+ "c": "#cccccc"
+ },
+ "1,1\n\n\n0,0",
+ "1,2\n\n\n0,0",
+ "1,3\n\n\n0,0",
+ "1,4\n\n\n0,0",
+ "1,5\n\n\n0,0",
+ "1,6\n\n\n0,0",
+ "1,7\n\n\n0,0",
+ "1,8\n\n\n0,0",
+ "1,9\n\n\n0,0",
+ {
+ "c": "#777777",
+ "w": 1.75
+ },
+ "1,11\n\n\n0,0",
+ {
+ "x": 0.5,
+ "c": "#aaaaaa"
+ },
+ "1,0\n\n\n0,1",
+ {
+ "c": "#cccccc"
+ },
+ "1,1\n\n\n0,1",
+ "1,2\n\n\n0,1",
+ "1,3\n\n\n0,1",
+ "1,4\n\n\n0,1",
+ "1,5\n\n\n0,1",
+ "1,6\n\n\n0,1",
+ "1,7\n\n\n0,1",
+ "1,8\n\n\n0,1",
+ "1,9\n\n\n0,1",
+ "1,10\n\n\n0,1",
+ {
+ "c": "#aaaaaa"
+ },
+ "1,11\n\n\n0,1"
+ ],
+ [
+ {"x":2.5},
+ {
+ "w": 1.75
+ },
+ "2,1\n\n\n1,0",
+ {
+ "c": "#cccccc"
+ },
+ "2,2\n\n\n1,0",
+ "2,3\n\n\n1,0",
+ "2,4\n\n\n1,0",
+ "2,5\n\n\n1,0",
+ "2,6\n\n\n1,0",
+ "2,7\n\n\n1,0",
+ "2,8\n.\n\n1,0",
+ "2,9\n\n\n1,0",
+ {
+ "w": 1.25
+ },
+ "2,10\n\n\n1,0",
+ {
+ "c": "#aaaaaa"
+ },
+ "2,11\n\n\n1,0",
+ {
+ "x": 0.5,
+ "w": 1.75
+ },
+ "2,1\n\n\n1,1",
+ {
+ "c": "#cccccc"
+ },
+ "2,2\n\n\n1,1",
+ "2,3\n\n\n1,1",
+ "2,4\n\n\n1,1",
+ "2,5\n\n\n1,1",
+ "2,6\n\n\n1,1",
+ "2,7\n\n\n1,1",
+ "2,8\n.\n\n1,1",
+ "2,9\n\n\n1,1",
+ "2,10\n\n\n1,1",
+ {
+ "c": "#aaaaaa",
+ "w": 1.25
+ },
+ "2,11\n\n\n1,1"
+ ],
+ [
+ {"x":2.5},
+ {
+ "w": 1.25
+ },
+ "3,0\n\n\n2,0",
+ "3,1\n\n\n2,0",
+ {
+ "w": 1.25
+ },
+ "3,2\n\n\n2,0",
+ {
+ "c": "#cccccc",
+ "w": 2.25
+ },
+ "3,4\n\n\n2,0",
+ {
+ "w": 2.75
+ },
+ "3,7\n\n\n2,0",
+ {
+ "c": "#aaaaaa",
+ "w": 1.25
+ },
+ "3,9\n\n\n2,0",
+ "3,10\n\n\n2,0",
+ {
+ "w": 1.25
+ },
+ "3,11\n\n\n2,0",
+ {
+ "x": 0.5
+ },
+ "2,0\n\n\n1,2",
+ {
+ "c": "#cccccc"
+ },
+ "2,1\n\n\n1,2",
+ "2,2\n\n\n1,2",
+ "2,3\n\n\n1,2",
+ "2,4\n\n\n1,2",
+ "2,5\n\n\n1,2",
+ "2,6\n\n\n1,2",
+ "2,7\n\n\n1,2",
+ "2,8\n\n\n1,2",
+ "2,9\n\n\n1,2",
+ "2,10\n\n\n1,2",
+ {
+ "c": "#777777"
+ },
+ "2,11\n\n\n1,2"
+ ],
+ [
+ {
+ "y": 0.25,
+ "c": "#aaaaaa",
+ "w": 1.5
+ },
+ "3,0\n\n\n2,1",
+ "3,1\n\n\n2,1",
+ {
+ "w": 1.5
+ },
+ "3,2\n\n\n2,1",
+ {
+ "c": "#cccccc",
+ "w": 2.25
+ },
+ "3,4\n\n\n2,1",
+ {
+ "w": 2.75
+ },
+ "3,7\n\n\n2,1",
+ {
+ "c": "#aaaaaa"
+ },
+ "3,9\n\n\n2,1",
+ "3,10\n\n\n2,1",
+ "3,11\n\n\n2,1"
+ ],
+ [
+ {
+ "y": 0.25
+ },
+ "3,0\n\n\n2,2",
+ "3,1\n\n\n2,2",
+ "3,2\n\n\n2,2",
+ "3,3\n\n\n2,2",
+ "3,4\n\n\n2,2",
+ {
+ "c": "#cccccc"
+ },
+ "3,5\n\n\n2,2",
+ "3,6\n\n\n2,2",
+ {
+ "c": "#aaaaaa"
+ },
+ "3,7\n\n\n2,2",
+ "3,8\n\n\n2,2",
+ "3,9\n\n\n2,2",
+ "3,10\n\n\n2,2",
+ "3,11\n\n\n2,2"
+ ]
+ ]
+ }
+ }
From 06d21745a649bcabd1d29754b4288ea4428a2057 Mon Sep 17 00:00:00 2001
From: Dani <58542682+DPoplin@users.noreply.github.com>
Date: Sun, 30 Apr 2023 20:36:16 -0500
Subject: [PATCH 31/69] Add support for reviung53 (#440)
* add reviung53 vial files
* add newlines at file end
* remove VIAL_INSECURE from rules.mk
* Update keyboards/reviung/reviung53/keymaps/vial/rules.mk
Co-authored-by: Less/Rikki <86894501+lesshonor@users.noreply.github.com>
* Delete readme.md
* Revert "Delete readme.md"
This reverts commit acad8ef9f3823214d51cd9805b46ead7ad93a1be.
* add unlock code
* remove comments
---------
Co-authored-by: Less/Rikki <86894501+lesshonor@users.noreply.github.com>
---
.../reviung/reviung53/keymaps/vial/config.h | 7 +
.../reviung/reviung53/keymaps/vial/keymap.c | 55 +++++++
.../reviung/reviung53/keymaps/vial/rules.mk | 4 +
.../reviung/reviung53/keymaps/vial/vial.json | 137 ++++++++++++++++++
4 files changed, 203 insertions(+)
create mode 100644 keyboards/reviung/reviung53/keymaps/vial/config.h
create mode 100644 keyboards/reviung/reviung53/keymaps/vial/keymap.c
create mode 100644 keyboards/reviung/reviung53/keymaps/vial/rules.mk
create mode 100644 keyboards/reviung/reviung53/keymaps/vial/vial.json
diff --git a/keyboards/reviung/reviung53/keymaps/vial/config.h b/keyboards/reviung/reviung53/keymaps/vial/config.h
new file mode 100644
index 0000000000..75e568566e
--- /dev/null
+++ b/keyboards/reviung/reviung53/keymaps/vial/config.h
@@ -0,0 +1,7 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+
+#pragma once
+
+#define VIAL_KEYBOARD_UID {0xE9, 0xF8, 0x22, 0xB0, 0x41, 0x10, 0x91, 0xC4}
+#define VIAL_UNLOCK_COMBO_ROWS { 0, 5 }
+#define VIAL_UNLOCK_COMBO_COLS { 2, 3 }
diff --git a/keyboards/reviung/reviung53/keymaps/vial/keymap.c b/keyboards/reviung/reviung53/keymaps/vial/keymap.c
new file mode 100644
index 0000000000..6b47aad35a
--- /dev/null
+++ b/keyboards/reviung/reviung53/keymaps/vial/keymap.c
@@ -0,0 +1,55 @@
+// Copyright 2021 gtips (@gtips)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include QMK_KEYBOARD_H
+
+// Defines names for use in layer keycodes and the keymap
+enum layer_names {
+ _BASE,
+ _LOWER,
+ _RAISE,
+ _ADJUST
+};
+
+#define LOWER MO(_LOWER)
+#define RAISE MO(_RAISE)
+#define ADJUST MO(_ADJUST)
+
+#define SF_SS RSFT_T(KC_SLSH)
+#define SP_LO LT(LOWER, KC_SPC)
+#define SP_RA LT(RAISE, KC_SPC)
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [_BASE] = LAYOUT_reviung53(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, 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_BSPC,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, SF_SS,
+ KC_LCTL, KC_LGUI, KC_LALT, SP_LO, SP_RA, KC_LALT, KC_RGUI, KC_RCTL
+ ),
+ [_LOWER] = LAYOUT_reviung53(
+ KC_GESC, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_PAUS, KC_SLCK, KC_PSCR, _______,
+ _______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______,
+ _______, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, XXXXXXX, KC_QUOT,
+ _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_HOME, KC_END, KC_PGUP, KC_PGDN, KC_SLSH,
+ _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+ [_RAISE] = LAYOUT_reviung53(
+ KC_TILD, KC_F9, KC_F10, KC_F11, KC_F12, KC_MUTE, KC_VOLU, KC_VOLD, KC_MPLY, _______,
+ _______, 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_LBRC, KC_RBRC, KC_BSLS, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_DQUO,
+ _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_QUES,
+ _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+ [_ADJUST] = LAYOUT_reviung53(
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT,
+ RGB_VAI, RGB_SAI, RGB_HUI, RGB_MOD, XXXXXXX, RGB_TOG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ RGB_VAD, RGB_SAD, RGB_HUD, RGB_RMOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX
+ ),
+};
+
+layer_state_t layer_state_set_user(layer_state_t state) {
+ return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
+}
diff --git a/keyboards/reviung/reviung53/keymaps/vial/rules.mk b/keyboards/reviung/reviung53/keymaps/vial/rules.mk
new file mode 100644
index 0000000000..043b69911e
--- /dev/null
+++ b/keyboards/reviung/reviung53/keymaps/vial/rules.mk
@@ -0,0 +1,4 @@
+VIA_ENABLE = yes
+VIAL_ENABLE = yes
+LTO_ENABLE = yes
+QMK_SETTINGS = no
diff --git a/keyboards/reviung/reviung53/keymaps/vial/vial.json b/keyboards/reviung/reviung53/keymaps/vial/vial.json
new file mode 100644
index 0000000000..2de141256b
--- /dev/null
+++ b/keyboards/reviung/reviung53/keymaps/vial/vial.json
@@ -0,0 +1,137 @@
+{
+ "keyboard_name": "reviung53",
+ "manufacturer": "gtips",
+ "url": "",
+ "maintainer": "gtips",
+ "usb": {
+ "vid": "0x4E94",
+ "pid": "0x4E09",
+ "device_version": "0.0.1"
+ },
+ "lighting": "qmk_rgblight",
+ "matrix": {
+ "rows": 7,
+ "cols": 8
+ },
+ "layouts": {
+ "keymap": [
+ [
+ {
+ "x": 2.25
+ },
+ "0,2",
+ {
+ "x": 0.25
+ },
+ "0,3",
+ "0,4",
+ "0,5",
+ "0,6",
+ {
+ "x": 0.25
+ },
+ "0,7",
+ "4,0",
+ "4,1",
+ "4,2",
+ {
+ "x": 0.25
+ },
+ "4,3"
+ ],
+ [
+ {
+ "w": 1.5
+ },
+ "1,0",
+ "1,1",
+ "1,2",
+ "1,3",
+ "1,4",
+ "1,5",
+ "1,6",
+ "1,7",
+ "4,4",
+ "4,5",
+ "4,6",
+ {
+ "w": 1.5
+ },
+ "4,7"
+ ],
+ [
+ {
+ "w": 1.75
+ },
+ "2,0",
+ "2,1",
+ "2,2",
+ "2,3",
+ "2,4",
+ "2,5",
+ "2,6",
+ "2,7",
+ "5,0",
+ "5,1",
+ "5,2",
+ {
+ "w": 1.25
+ },
+ "5,3"
+ ],
+ [
+ {
+ "w": 2.25
+ },
+ "3,0",
+ "3,1",
+ "3,2",
+ "3,3",
+ "3,4",
+ "3,5",
+ "3,6",
+ "3,7",
+ "5,4",
+ "5,5",
+ {
+ "w": 1.75
+ },
+ "5,6"
+ ],
+ [
+ {
+ "w": 1.5
+ },
+ "6,0",
+ {
+ "w": 1.25
+ },
+ "6,1",
+ {
+ "w": 1.25
+ },
+ "6,2",
+ {
+ "w": 2.75
+ },
+ "6,3",
+ {
+ "w": 2.25
+ },
+ "6,4",
+ {
+ "w": 1.25
+ },
+ "6,5",
+ {
+ "w": 1.25
+ },
+ "6,6",
+ {
+ "w": 1.5
+ },
+ "6,7"
+ ]
+ ]
+ }
+}
From 6bea951a128a920983a085313237ff87b1acc86c Mon Sep 17 00:00:00 2001
From: adophoxia <100170946+adophoxia@users.noreply.github.com>
Date: Sun, 30 Apr 2023 20:32:35 -0700
Subject: [PATCH 32/69] Add missing layer `dip switch` code for Keychron V2
(#447)
* Add missing layer `dip switch` for Keychron V2
* Add missing `#if defined` block in `v2.c`
---
keyboards/keychron/v2/v2.c | 16 ++++++++++++++--
1 file changed, 14 insertions(+), 2 deletions(-)
diff --git a/keyboards/keychron/v2/v2.c b/keyboards/keychron/v2/v2.c
index 011d58dfd2..fbc0335025 100644
--- a/keyboards/keychron/v2/v2.c
+++ b/keyboards/keychron/v2/v2.c
@@ -26,10 +26,21 @@ const matrix_row_t matrix_mask[] = {
#ifdef DIP_SWITCH_ENABLE
+bool dip_switch_update_kb(uint8_t index, bool active) {
+ if (!dip_switch_update_user(index, active)) { return false;}
+ if (index == 0) {
+ default_layer_set(1UL << (active ? 1 : 0));
+ }
+ return true;
+}
+
+#endif // DIP_SWITCH_ENABLE
+
+#if defined(RGB_MATRIX_ENABLE) && defined(CAPS_LOCK_LED_INDEX)
+
bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
if (!process_record_user(keycode, record)) { return false; }
switch (keycode) {
-#ifdef RGB_MATRIX_ENABLE
case RGB_TOG:
if (record->event.pressed) {
switch (rgb_matrix_get_flags()) {
@@ -47,12 +58,13 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
rgb_matrix_enable();
}
return false;
-#endif
}
return true;
}
void rgb_matrix_indicators_advanced_kb(uint8_t led_min, uint8_t led_max) {
+ // RGB_MATRIX_INDICATOR_SET_COLOR(index, red, green, blue);
+
if (host_keyboard_led_state().caps_lock) {
RGB_MATRIX_INDICATOR_SET_COLOR(CAPS_LOCK_LED_INDEX, 255, 255, 255);
} else {
From 1222eb2d7bc6fe07e1c1ca90b50ab3f18f30d65b Mon Sep 17 00:00:00 2001
From: Dong Zhou
Date: Sat, 13 May 2023 21:12:31 -0400
Subject: [PATCH 33/69] add support for kyria keyboard (#441)
* add support for kyria keyboard
* move into rev2 folder
* clean up rules.mk
* more clean up
---
.../splitkb/kyria/rev2/keymaps/vial/config.h | 17 +
.../splitkb/kyria/rev2/keymaps/vial/keymap.c | 24 ++
.../splitkb/kyria/rev2/keymaps/vial/rules.mk | 22 ++
.../splitkb/kyria/rev2/keymaps/vial/vial.json | 341 ++++++++++++++++++
4 files changed, 404 insertions(+)
create mode 100644 keyboards/splitkb/kyria/rev2/keymaps/vial/config.h
create mode 100644 keyboards/splitkb/kyria/rev2/keymaps/vial/keymap.c
create mode 100644 keyboards/splitkb/kyria/rev2/keymaps/vial/rules.mk
create mode 100644 keyboards/splitkb/kyria/rev2/keymaps/vial/vial.json
diff --git a/keyboards/splitkb/kyria/rev2/keymaps/vial/config.h b/keyboards/splitkb/kyria/rev2/keymaps/vial/config.h
new file mode 100644
index 0000000000..7008340c06
--- /dev/null
+++ b/keyboards/splitkb/kyria/rev2/keymaps/vial/config.h
@@ -0,0 +1,17 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+
+#pragma once
+
+#define VIAL_KEYBOARD_UID {0x20, 0x43, 0x8B, 0x3D, 0x4E, 0x21, 0xFD, 0x07}
+
+/* #define DYNAMIC_KEYMAP_LAYER_COUNT 3 */
+
+#undef LOCKING_SUPPORT_ENABLE
+#undef LOCKING_RESYNC_ENABLE
+
+#define NO_ACTION_ONESHOT
+#define NO_MUSIC_MODE
+#define LAYER_STATE_8BIT
+
+#define VIAL_UNLOCK_COMBO_ROWS { 0, 2 }
+#define VIAL_UNLOCK_COMBO_COLS { 0, 3 }
diff --git a/keyboards/splitkb/kyria/rev2/keymaps/vial/keymap.c b/keyboards/splitkb/kyria/rev2/keymaps/vial/keymap.c
new file mode 100644
index 0000000000..3eb18d330b
--- /dev/null
+++ b/keyboards/splitkb/kyria/rev2/keymaps/vial/keymap.c
@@ -0,0 +1,24 @@
+// Copyright 2021 Your Name (@nosarthur)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include QMK_KEYBOARD_H
+
+
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [0] = LAYOUT(KC_ESC, KC_Q, KC_D, KC_R, KC_W, KC_B, KC_J, KC_F, KC_U, KC_P, KC_Q, KC_BSPC, KC_LGUI, KC_A, KC_S, KC_H, KC_T, KC_G, KC_Y, KC_N, KC_E, KC_O, KC_I, KC_QUOT, KC_TAB, KC_Z, KC_X, KC_M, KC_C, KC_V, KC_BSLS, TT(2), KC_LBRC, KC_RBRC, KC_K, KC_L, KC_COMM, KC_DOT, KC_SLSH, KC_GRV, KC_LCTL, KC_LALT, KC_SPC, KC_LSPO, TT(1), TT(1), KC_RSPC, KC_ENT, KC_MINS, KC_EQL),
+ [1] = LAYOUT(KC_TRNS, KC_NO, KC_7, KC_8, KC_9, KC_NO, KC_NO, KC_NO, KC_UP, KC_PGUP, KC_PSLS, KC_TRNS, KC_TRNS, KC_0, KC_4, KC_5, KC_6, KC_PDOT, KC_NO, KC_LEFT, KC_DOWN, KC_RGHT, KC_PAST, KC_PPLS, KC_TRNS, KC_NO, KC_1, KC_2, KC_3, KC_PCMM, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL, KC_HOME, KC_END, KC_PGDN, KC_EXLM, KC_PMNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
+ [2] = LAYOUT(KC_NO, KC_NO, KC_F9, KC_F10, KC_F11, KC_F12, KC_NO, KC_MPLY, KC_VOLU, KC_BRIU, KC_NO, KC_MUTE, KC_NO, KC_NO, KC_F5, KC_F6, KC_F7, KC_F8, KC_NO, KC_MSTP, KC_VOLD, KC_BRID, KC_NO, KC_NO, KC_NO, KC_NO, KC_F1, KC_F2, KC_F3, KC_F4, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, KC_NO, KC_NO),
+ [3] = LAYOUT(KC_NO, KC_NO, KC_F9, KC_F10, KC_F11, KC_F12, KC_NO, KC_MPLY, KC_VOLU, KC_BRIU, KC_NO, KC_MUTE, KC_NO, KC_NO, KC_F5, KC_F6, KC_F7, KC_F8, KC_NO, KC_MSTP, KC_VOLD, KC_BRID, KC_NO, KC_NO, KC_NO, KC_NO, KC_F1, KC_F2, KC_F3, KC_F4, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, KC_NO, KC_NO)
+};
+
+#if defined(ENCODER_MAP_ENABLE)
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+ [0] = { ENCODER_CCW_CW(KC_BRIU, KC_BRID), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
+ [1] = { ENCODER_CCW_CW(RGB_HUD, RGB_HUI), ENCODER_CCW_CW(RGB_SAD, RGB_SAI) },
+ [2] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI), ENCODER_CCW_CW(RGB_SPD, RGB_SPI) },
+ [3] = { ENCODER_CCW_CW(RGB_RMOD, RGB_MOD), ENCODER_CCW_CW(KC_RIGHT, KC_LEFT) },
+ // Encoder 1 Encoder 2
+};
+#endif
+
diff --git a/keyboards/splitkb/kyria/rev2/keymaps/vial/rules.mk b/keyboards/splitkb/kyria/rev2/keymaps/vial/rules.mk
new file mode 100644
index 0000000000..6c76f3d286
--- /dev/null
+++ b/keyboards/splitkb/kyria/rev2/keymaps/vial/rules.mk
@@ -0,0 +1,22 @@
+# Bootloader selection
+# BOOTLOADER = caterina
+
+# Build Options
+# change yes to no to disable
+#
+ENCODER_MAP_ENABLE = yes
+OLED_ENABLE = no
+
+AUTO_SHIFT_ENABLE = yes
+COMBO_ENABLE = yes
+TAP_DANCE_ENABLE = no
+
+VIA_ENABLE = yes
+VIAL_ENABLE = yes
+
+QMK_SETTINGS = yes
+KEY_OVERRIDE_ENABLE = no
+SPACE_CADET_ENABLE = no
+GRAVE_ESC_ENABLE = no
+MAGIC_ENABLE = no
+AVR_USE_MINIMAL_PRINTF = yes
diff --git a/keyboards/splitkb/kyria/rev2/keymaps/vial/vial.json b/keyboards/splitkb/kyria/rev2/keymaps/vial/vial.json
new file mode 100644
index 0000000000..6a1faaf2ce
--- /dev/null
+++ b/keyboards/splitkb/kyria/rev2/keymaps/vial/vial.json
@@ -0,0 +1,341 @@
+{
+ "name": "Kyria rev2.1",
+ "matrix": {"rows": 8, "cols": 8},
+ "layouts": {
+ "labels": [
+ "Far Left 2U",
+ "Mid Left 2U",
+ "Mid Right 2U",
+ "Far Right 2U"
+ ],
+ "keymap":
+[
+ [
+ {
+ "y": 0.25,
+ "x": 3
+ },
+ "0,4",
+ {
+ "x": 9
+ },
+ "4,4"
+ ],
+ [
+ {
+ "y": -0.75,
+ "x": 2
+ },
+ "0,5",
+ {
+ "x": 1
+ },
+ "0,3",
+ {
+ "x": 7
+ },
+ "4,3",
+ {
+ "x": 1
+ },
+ "4,5"
+ ],
+ [
+ {
+ "y": -0.875,
+ "x": 5
+ },
+ "0,2",
+ {
+ "x": 5
+ },
+ "4,2"
+ ],
+ [
+ {
+ "y": -0.625,
+ "c": "#aaaaaa"
+ },
+ "0,7",
+ {
+ "c": "#cccccc"
+ },
+ "0,6",
+ {
+ "x": 13
+ },
+ "4,6",
+ {
+ "c": "#aaaaaa"
+ },
+ "4,7"
+ ],
+ [
+ {
+ "y": -0.75,
+ "x": 3,
+ "c": "#cccccc"
+ },
+ "1,4",
+ {
+ "x": 9
+ },
+ "5,4"
+ ],
+ [
+ {
+ "y": -0.75,
+ "x": 2
+ },
+ "1,5",
+ {
+ "x": 1
+ },
+ "1,3",
+ {
+ "x": 7
+ },
+ "5,3",
+ {
+ "x": 1
+ },
+ "5,5"
+ ],
+ [
+ {
+ "y": -0.875,
+ "x": 5
+ },
+ "1,2",
+ {
+ "x": 5
+ },
+ "5,2"
+ ],
+ [
+ {
+ "y": -0.625,
+ "c": "#aaaaaa"
+ },
+ "1,7",
+ {
+ "c": "#cccccc"
+ },
+ "1,6",
+ {
+ "x": 13
+ },
+ "5,6",
+ {
+ "c": "#aaaaaa"
+ },
+ "5,7"
+ ],
+ [
+ {
+ "y": -0.75,
+ "x": 3,
+ "c": "#cccccc"
+ },
+ "2,4",
+ {
+ "x": 9
+ },
+ "6,4"
+ ],
+ [
+ {
+ "y": -0.75,
+ "x": 2
+ },
+ "2,5",
+ {
+ "x": 1
+ },
+ "2,3",
+ {
+ "x": 7
+ },
+ "6,3",
+ {
+ "x": 1
+ },
+ "6,5"
+ ],
+ [
+ {
+ "y": -0.875,
+ "x": 5
+ },
+ "2,2",
+ {
+ "x": 5
+ },
+ "6,2"
+ ],
+ [
+ {
+ "y": -0.625,
+ "c": "#aaaaaa"
+ },
+ "2,7",
+ {
+ "c": "#cccccc"
+ },
+ "2,6",
+ {
+ "x": 13
+ },
+ "6,6",
+ {
+ "c": "#aaaaaa"
+ },
+ "6,7"
+ ],
+ [
+ {
+ "y": -0.5,
+ "x": 2.5
+ },
+ "3,5",
+ {
+ "x": 10
+ },
+ "7,5"
+ ],
+ [
+ {
+ "x": 2
+ },
+ "0,0\n\n\n\n\n\n\n\n\ne",
+ "0,1\n\n\n\n\n\n\n\n\ne",
+ {
+ "x": 9
+ },
+ "1,0\n\n\n\n\n\n\n\n\ne",
+ "1,1\n\n\n\n\n\n\n\n\ne"
+ ],
+ [
+ {
+ "rx": 4,
+ "ry": 8.175,
+ "y": -4.675,
+ "x": -0.5
+ },
+ "3,3"
+ ],
+ [
+ {
+ "rx": 13,
+ "y": -4.675,
+ "x": -0.5
+ },
+ "7,3"
+ ],
+ [
+ {
+ "r": 15,
+ "rx": 4,
+ "y": -4.675,
+ "x": -0.5
+ },
+ "3,2"
+ ],
+ [
+ {
+ "r": 30,
+ "y": -2,
+ "x": -0.5
+ },
+ "2,1\n\n\n0,0"
+ ],
+ [
+ {
+ "x": -0.5
+ },
+ "3,1\n\n\n0,0"
+ ],
+ [
+ {
+ "y": 0.5,
+ "x": -1,
+ "h": 2
+ },
+ "3,1\n\n\n0,1"
+ ],
+ [
+ {
+ "r": 45,
+ "y": -3.5,
+ "x": -0.5
+ },
+ "2,0\n\n\n1,0"
+ ],
+ [
+ {
+ "x": -0.5
+ },
+ "3,0\n\n\n1,0"
+ ],
+ [
+ {
+ "y": 0.25,
+ "h": 2
+ },
+ "3,0\n\n\n1,1"
+ ],
+ [
+ {
+ "r": -45,
+ "rx": 13,
+ "y": -5.675,
+ "x": -0.5
+ },
+ "6,0\n\n\n2,0"
+ ],
+ [
+ {
+ "x": -0.5
+ },
+ "7,0\n\n\n2,0"
+ ],
+ [
+ {
+ "y": 0.25,
+ "x": -1,
+ "h": 2
+ },
+ "7,0\n\n\n2,1"
+ ],
+ [
+ {
+ "r": -30,
+ "y": -3.25,
+ "x": -0.5
+ },
+ "6,1\n\n\n3,0"
+ ],
+ [
+ {
+ "x": -0.5
+ },
+ "7,1\n\n\n3,0"
+ ],
+ [
+ {
+ "y": 0.5,
+ "h": 2
+ },
+ "7,1\n\n\n3,1"
+ ],
+ [
+ {
+ "r": -15,
+ "y": -2.5,
+ "x": -0.5
+ },
+ "7,2"
+ ]
+]
+}
+}
From a2482e1dc9e26b4053812511c0bf2722c81c6888 Mon Sep 17 00:00:00 2001
From: stanrc85 <47038504+stanrc85@users.noreply.github.com>
Date: Sat, 13 May 2023 21:13:39 -0400
Subject: [PATCH 34/69] Update json to match PCB layouts (#454)
---
.../aliceclonergb/keymaps/vial/vial.json | 33 +++++++++++++++----
1 file changed, 27 insertions(+), 6 deletions(-)
diff --git a/keyboards/sneakbox/aliceclonergb/keymaps/vial/vial.json b/keyboards/sneakbox/aliceclonergb/keymaps/vial/vial.json
index 56e3028a68..903904f4f5 100644
--- a/keyboards/sneakbox/aliceclonergb/keymaps/vial/vial.json
+++ b/keyboards/sneakbox/aliceclonergb/keymaps/vial/vial.json
@@ -7,6 +7,10 @@
"matrix": { "rows": 10, "cols": 8 },
"lighting": "qmk_rgblight",
"layouts": {
+ "labels": [
+ "Split Backspace",
+ "Split Right Shift"
+ ],
"keymap":
[
[
@@ -33,8 +37,17 @@
"x": 15.08,
"c": "#cccccc"
},
- "1,6",
- "1,7"
+ "1,6\n\n\n0,1",
+ "1,7\n\n\n0,1"
+ ],
+ [
+ {
+ "y": -0.8885,
+ "x": 15.08,
+ "w": 2,
+ "c": "#cccccc"
+ },
+ "1,6\n\n\n0,0"
],
[
{
@@ -178,25 +191,33 @@
"c": "#cccccc"
},
"7,5",
+ {
+ "x": -0.0024999999999995026,
+ "w": 2.75,
+ "c": "#cccccc"
+ },
+ "7,6\n\n\n1,0"
+ ],
+ [
{
"x": -0.0024999999999995026,
"w": 1.75,
"c": "#cccccc"
},
- "7,6",
+ "7,6\n\n\n1,1",
{
"x": -0.002600000000001046,
"c": "#cccccc"
},
- "7,7"
+ "7,7\n\n\n1,1"
],
[
{
- "y": -0.9996,
+ "y": -1.9996,
"x": 0.9996,
"w": 2.25,
"c": "#aaaaaa"
- },
+ },
"6,1"
],
[
From 16c354bbdbab2a18fe4950a7b721ac9484669e71 Mon Sep 17 00:00:00 2001
From: rachmansyahbs
Date: Sun, 14 May 2023 09:19:29 +0800
Subject: [PATCH 35/69] Add vial keymap for RS60 (#459)
---
keyboards/xelus/rs60/keymaps/vial/config.h | 7 +
keyboards/xelus/rs60/keymaps/vial/keymap.c | 50 +++++
keyboards/xelus/rs60/keymaps/vial/rules.mk | 3 +
keyboards/xelus/rs60/keymaps/vial/vial.json | 195 ++++++++++++++++++++
4 files changed, 255 insertions(+)
create mode 100644 keyboards/xelus/rs60/keymaps/vial/config.h
create mode 100644 keyboards/xelus/rs60/keymaps/vial/keymap.c
create mode 100644 keyboards/xelus/rs60/keymaps/vial/rules.mk
create mode 100644 keyboards/xelus/rs60/keymaps/vial/vial.json
diff --git a/keyboards/xelus/rs60/keymaps/vial/config.h b/keyboards/xelus/rs60/keymaps/vial/config.h
new file mode 100644
index 0000000000..991bc24039
--- /dev/null
+++ b/keyboards/xelus/rs60/keymaps/vial/config.h
@@ -0,0 +1,7 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+
+#pragma once
+
+#define VIAL_KEYBOARD_UID {0xB5, 0xCF, 0x0C, 0xD3, 0x06, 0xBA, 0xDB, 0x39}
+#define VIAL_UNLOCK_COMBO_ROWS { 0, 2 }
+#define VIAL_UNLOCK_COMBO_COLS { 0, 13 }
diff --git a/keyboards/xelus/rs60/keymaps/vial/keymap.c b/keyboards/xelus/rs60/keymaps/vial/keymap.c
new file mode 100644
index 0000000000..2900081385
--- /dev/null
+++ b/keyboards/xelus/rs60/keymaps/vial/keymap.c
@@ -0,0 +1,50 @@
+/* Copyright 2021 Harrison Chan (Xelus)
+ *
+ * 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_60_ansi_split_bs_rshift(
+ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL , KC_BSLS, 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_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1),
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL
+ ),
+
+ [1] = LAYOUT_60_ansi_split_bs_rshift(
+ 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_PSCR, KC_PSCR,
+ KC_CAPS, KC_TRNS, KC_UP , KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLD, KC_VOLU, QK_BOOT,
+ KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, 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_RSFT, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ ),
+
+ [2] = LAYOUT_60_ansi_split_bs_rshift(
+ 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_RSFT, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ ),
+
+ [3] = LAYOUT_60_ansi_split_bs_rshift(
+ 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_RSFT, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ )
+};
diff --git a/keyboards/xelus/rs60/keymaps/vial/rules.mk b/keyboards/xelus/rs60/keymaps/vial/rules.mk
new file mode 100644
index 0000000000..46f9f1360f
--- /dev/null
+++ b/keyboards/xelus/rs60/keymaps/vial/rules.mk
@@ -0,0 +1,3 @@
+VIA_ENABLE = yes
+VIAL_ENABLE = yes
+LTO_ENABLE = yes
diff --git a/keyboards/xelus/rs60/keymaps/vial/vial.json b/keyboards/xelus/rs60/keymaps/vial/vial.json
new file mode 100644
index 0000000000..356ea697ed
--- /dev/null
+++ b/keyboards/xelus/rs60/keymaps/vial/vial.json
@@ -0,0 +1,195 @@
+{
+ "name": "RS60",
+ "vendorId": "0x5845",
+ "productId": "0x5253",
+ "lighting": "none",
+ "matrix": {
+ "rows": 5,
+ "cols": 14
+ },
+ "layouts": {
+ "labels": [
+ "Split Backspace",
+ "Split Right Shift",
+ ["Bottom Row", "6.25U", "7U"]
+ ],
+ "keymap": [
+ [
+ {
+ "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",
+ {
+ "c": "#aaaaaa",
+ "w": 2
+ },
+ "0,13\n\n\n0,0",
+ {
+ "x": 0.5
+ },
+ "0,13\n\n\n0,1",
+ "2,13\n\n\n0,1"
+ ],
+ [
+ {
+ "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",
+ {
+ "w": 1.5
+ },
+ "1,13"
+ ],
+ [
+ {
+ "c": "#aaaaaa",
+ "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": "#777777",
+ "w": 2.25
+ },
+ "2,12"
+ ],
+ [
+ {
+ "c": "#aaaaaa",
+ "w": 2.25
+ },
+ "3,0",
+ {
+ "c": "#cccccc"
+ },
+ "3,1",
+ "3,2",
+ "3,3",
+ "3,4",
+ "3,5",
+ "3,6",
+ "3,7",
+ "3,8",
+ "3,9",
+ "3,11",
+ {
+ "c": "#aaaaaa",
+ "w": 1.75
+ },
+ "3,12\n\n\n1,0",
+ "3,13\n\n\n1,0",
+ {
+ "x": 0.5,
+ "w": 2.75
+ },
+ "3,12\n\n\n1,1"
+ ],
+ [
+ {
+ "w": 1.25
+ },
+ "4,0\n\n\n2,0",
+ {
+ "w": 1.25
+ },
+ "4,1\n\n\n2,0",
+ {
+ "w": 1.25
+ },
+ "4,2\n\n\n2,0",
+ {
+ "c": "#cccccc",
+ "w": 6.25
+ },
+ "4,5\n\n\n2,0",
+ {
+ "c": "#aaaaaa",
+ "w": 1.25
+ },
+ "4,9\n\n\n2,0",
+ {
+ "w": 1.25
+ },
+ "4,10\n\n\n2,0",
+ {
+ "w": 1.25
+ },
+ "4,12\n\n\n2,0",
+ {
+ "w": 1.25
+ },
+ "4,13\n\n\n2,0"
+ ],
+ [
+ {
+ "y": 0.5,
+ "w": 1.5
+ },
+ "4,0\n\n\n2,1",
+ "4,1\n\n\n2,1",
+ {
+ "w": 1.5
+ },
+ "4,2\n\n\n2,1",
+ {
+ "c": "#cccccc",
+ "w": 7
+ },
+ "4,5\n\n\n2,1",
+ {
+ "c": "#aaaaaa",
+ "w": 1.5
+ },
+ "4,10\n\n\n2,1",
+ "4,12\n\n\n2,1",
+ {
+ "w": 1.5
+ },
+ "4,13\n\n\n2,1"
+ ]
+ ]
+ }
+}
From b17a0d5c9c795594884da393643a4d0d66f892d6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E5=B1=85=E6=88=8E=E6=B0=8F?=
Date: Sun, 14 May 2023 13:10:49 +0800
Subject: [PATCH 36/69] Port amj40 to Vial (#458)
---
.../amjkeyboard/amj40/keymaps/vial/config.h | 8 +
.../amjkeyboard/amj40/keymaps/vial/keymap.c | 143 ++++++++++++++++++
.../amjkeyboard/amj40/keymaps/vial/readme.md | 11 ++
.../amjkeyboard/amj40/keymaps/vial/rules.mk | 11 ++
.../amjkeyboard/amj40/keymaps/vial/vial.json | 34 +++++
5 files changed, 207 insertions(+)
create mode 100644 keyboards/amjkeyboard/amj40/keymaps/vial/config.h
create mode 100644 keyboards/amjkeyboard/amj40/keymaps/vial/keymap.c
create mode 100644 keyboards/amjkeyboard/amj40/keymaps/vial/readme.md
create mode 100644 keyboards/amjkeyboard/amj40/keymaps/vial/rules.mk
create mode 100644 keyboards/amjkeyboard/amj40/keymaps/vial/vial.json
diff --git a/keyboards/amjkeyboard/amj40/keymaps/vial/config.h b/keyboards/amjkeyboard/amj40/keymaps/vial/config.h
new file mode 100644
index 0000000000..bd0321e6e9
--- /dev/null
+++ b/keyboards/amjkeyboard/amj40/keymaps/vial/config.h
@@ -0,0 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+
+#pragma once
+
+#define VIAL_KEYBOARD_UID {0x78, 0x0D, 0x83, 0xE1, 0xB1, 0x93, 0x37, 0x62}
+
+#define VIAL_UNLOCK_COMBO_ROWS { 0, 0 }
+#define VIAL_UNLOCK_COMBO_COLS { 0, 11 }
diff --git a/keyboards/amjkeyboard/amj40/keymaps/vial/keymap.c b/keyboards/amjkeyboard/amj40/keymaps/vial/keymap.c
new file mode 100644
index 0000000000..8cc9b1bece
--- /dev/null
+++ b/keyboards/amjkeyboard/amj40/keymaps/vial/keymap.c
@@ -0,0 +1,143 @@
+/* Copyright 2017 Fabian Topfstedt
+ *
+ * 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
+
+enum layer_names {
+ _QWERTY,
+ _LOWER,
+ _RAISE,
+ _ADJUST,
+};
+
+enum custom_keycodes {
+ QWERTY = SAFE_RANGE,
+ LOWER,
+ RAISE,
+ ADJUST,
+};
+
+#define LT1_SPC LT(_LOWER,KC_SPC)
+#define LT2_SPC LT(_RAISE,KC_SPC)
+#define LT3_LGU LT(_ADJUST,KC_LGUI)
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ /* Default Layer
+ * ,-----------------------------------------------.
+ * |Esc| Q | W | E | R | T | Y | U | I | O | P |BS |
+ * |-----------------------------------------------|
+ * |Tab | A | S | D | F | G | H | J | K | L |Enter |
+ * |-----------------------------------------------|
+ * | LSft | Z | X | C | V | B | N | M | , | . |/? |
+ * |-----------------------------------------------|
+ * |LCtl|GUI|LAlt|Spc/Fn0 | Spc/Fn1 |Fn2 |Alt|RCtl|
+ * `-----------------------------------------------'
+ */
+ [_QWERTY] = 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_DOT, KC_SLSH,
+ KC_LCTL, KC_LGUI, KC_LALT, LT1_SPC, LT2_SPC, LT3_LGU, KC_RALT, KC_RCTL
+ ),
+
+ /* Function Layer 1 HHKB style
+ * ,-----------------------------------------------.
+ * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) |BS |
+ * |-----------------------------------------------|
+ * | F1 |F2 |F3 |F4 |F5 |F6 | _ | + | { | } | Pipe |
+ * |-----------------------------------------------|
+ * | F7 |F8 |F9 |F10|F11|F12| : | " |BL±|BL+ |BL-|
+ * |-----------------------------------------------|
+ * | | | | | Left |Down|Up |Rght|
+ * `-----------------------------------------------'
+ */
+ [_LOWER] = LAYOUT(
+ KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,
+ KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE,
+ KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_COLN, KC_DQT, BL_TOGG, BL_INC, BL_DEC,
+ _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
+ ),
+
+ /* Function Layer 1 HHKB style
+ * ,-----------------------------------------------.
+ * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 |BS |
+ * |-----------------------------------------------|
+ * | F1 |F2 |F3 |F4 |F5 |F6 | - | = | [ | ] | \ |
+ * |-----------------------------------------------|
+ * | F7 |F8 |F9 |F10|F11|F12| ; | ' | | |Del|
+ * |-----------------------------------------------|
+ * | | | | | | | |RGB±|
+ * `-----------------------------------------------'
+ */
+ [_RAISE] = LAYOUT(
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
+ KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
+ KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_SCLN, KC_QUOT, _______, _______, KC_DEL,
+ _______, _______, _______, _______, _______, _______, _______, RGB_TOG
+ ),
+
+ /* Function Layer 1 HHKB style
+ * ,-----------------------------------------------.
+ * | |RST| | | | | | | | | |Del|
+ * |-----------------------------------------------|
+ * | | | |Au1|Au0|AGN|AGS| | | | |
+ * |-----------------------------------------------|
+ * | | | |RTg|RMd|RH+|RH-|RS+|RS-|RV+ |RV-|
+ * |-----------------------------------------------|
+ * |SLP | | | | | | |RTg |
+ * `-----------------------------------------------'
+ */
+ [_ADJUST] = LAYOUT(
+ _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL,
+ _______, _______, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, _______, _______, _______, _______,
+ _______, _______, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD,
+ KC_SLEP, _______, _______, _______, _______, _______, _______, _______
+ ),
+};
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ switch (keycode) {
+ case LOWER:
+ if (record->event.pressed) {
+ layer_on(_LOWER);
+ update_tri_layer(_LOWER, _RAISE, _ADJUST);
+ } else {
+ layer_off(_LOWER);
+ update_tri_layer(_LOWER, _RAISE, _ADJUST);
+ }
+ return false;
+ break;
+ case RAISE:
+ if (record->event.pressed) {
+ layer_on(_RAISE);
+ update_tri_layer(_LOWER, _RAISE, _ADJUST);
+ } else {
+ layer_off(_RAISE);
+ update_tri_layer(_LOWER, _RAISE, _ADJUST);
+ }
+ return false;
+ break;
+ case ADJUST:
+ if (record->event.pressed) {
+ layer_on(_ADJUST);
+ } else {
+ layer_off(_ADJUST);
+ }
+ return false;
+ break;
+ }
+ return true;
+}
diff --git a/keyboards/amjkeyboard/amj40/keymaps/vial/readme.md b/keyboards/amjkeyboard/amj40/keymaps/vial/readme.md
new file mode 100644
index 0000000000..2659292ae5
--- /dev/null
+++ b/keyboards/amjkeyboard/amj40/keymaps/vial/readme.md
@@ -0,0 +1,11 @@
+AMJ40 Default Layout
+=====================
+
+##Quantum MK Firmware
+For the full Quantum feature list, see the parent readme.md.
+
+# Features
+* Based on a combination of the original AMJ40 keymap from the TMK firmware as well as the Planck Ortholinear keyboard's "Lower," "Raise," and "Adjust" layers.
+* View the keymap.c file to understand they layout of the keymap.
+* Has keys to toggle both the switch LEDs and underglow LEDs.
+
diff --git a/keyboards/amjkeyboard/amj40/keymaps/vial/rules.mk b/keyboards/amjkeyboard/amj40/keymaps/vial/rules.mk
new file mode 100644
index 0000000000..e3c7b6e47b
--- /dev/null
+++ b/keyboards/amjkeyboard/amj40/keymaps/vial/rules.mk
@@ -0,0 +1,11 @@
+VIA_ENABLE = yes
+VIAL_ENABLE = yes
+LTO_ENABLE = yes
+# disable unused QMK features to reduce firmware size
+BACKLIGHT_ENABLE = no
+RGBLIGHT_ENABLE = no
+# disable unused Vial features to reduce firmware size
+QMK_SETTINGS = yes
+TAP_DANCE_ENABLE = yes
+COMBO_ENABLE = yes
+KEY_OVERRIDE_ENABLE = no
diff --git a/keyboards/amjkeyboard/amj40/keymaps/vial/vial.json b/keyboards/amjkeyboard/amj40/keymaps/vial/vial.json
new file mode 100644
index 0000000000..9388901d5d
--- /dev/null
+++ b/keyboards/amjkeyboard/amj40/keymaps/vial/vial.json
@@ -0,0 +1,34 @@
+{
+ "lighting": "none",
+ "matrix": {
+ "rows": 4,
+ "cols": 12
+ },
+ "layouts": {
+ "labels": [
+ [
+ "Layout",
+ "Staggered",
+ "Ortholinear"
+ ],
+ [
+ "Bottom Row",
+ "Layout 1",
+ "Layout 2",
+ "Layout 3",
+ "Layout 4",
+ "Ortholinear 2.75u Spacebar",
+ "Ortholinear 6u Spacebar"
+ ]
+ ],
+ "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\n\n\n0,0","1,1\n\n\n0,0","1,2\n\n\n0,0","1,3\n\n\n0,0","1,4\n\n\n0,0","1,5\n\n\n0,0","1,6\n\n\n0,0","1,7\n\n\n0,0","1,8\n\n\n0,0","1,9\n\n\n0,0",{"w":1.75},"1,11\n\n\n0,0",{"x":0.25},"1,0\n\n\n0,1","1,1\n\n\n0,1","1,2\n\n\n0,1","1,3\n\n\n0,1","1,4\n\n\n0,1","1,5\n\n\n0,1","1,6\n\n\n0,1","1,7\n\n\n0,1","1,8\n\n\n0,1","1,9\n\n\n0,1","1,10\n\n\n0,1","1,11\n\n\n0,1"],
+ [{"w":1.75},"2,0\n\n\n0,0","2,2\n\n\n0,0","2,3\n\n\n0,0","2,4\n\n\n0,0","2,5\n\n\n0,0","2,6\n\n\n0,0","2,7\n\n\n0,0","2,8\n\n\n0,0","2,9\n\n\n0,0",{"w":1.25},"2,10\n\n\n0,0","2,11\n\n\n0,0",{"x":0.25},"2,0\n\n\n0,1","2,1\n\n\n0,1","2,2\n\n\n0,1","2,3\n\n\n0,1","2,4\n\n\n0,1","2,5\n\n\n0,1","2,6\n\n\n0,1","2,7\n\n\n0,1","2,8\n\n\n0,1","2,9\n\n\n0,1","2,10\n\n\n0,1","2,11\n\n\n0,1"],
+ [{"w":1.25},"3,0\n\n\n1,0","3,1\n\n\n1,0",{"w":1.25},"3,2\n\n\n1,0",{"w":2.25},"3,4\n\n\n1,0",{"w":2.75},"3,5\n\n\n1,0",{"w":1.25},"3,9\n\n\n1,0","3,10\n\n\n1,0",{"w":1.25},"3,11\n\n\n1,0"],
+ [{"y":0.25,"w":1.25},"3,0\n\n\n1,1","3,1\n\n\n1,1","3,2\n\n\n1,1",{"w":6.25},"3,5\n\n\n1,1",{"w":1.25},"3,10\n\n\n1,1",{"w":1.25},"3,11\n\n\n1,1",{"x":0.25},"3,0\n\n\n1,4","3,1\n\n\n1,4","3,2\n\n\n1,4","3,3\n\n\n1,4","3,4\n\n\n1,4",{"w":2.75},"3,5\n\n\n1,4",{"w":1.25},"3,8\n\n\n1,4","3,9\n\n\n1,4","3,10\n\n\n1,4","3,11\n\n\n1,4"],
+ [{"y":0.25,"w":1.5},"3,0\n\n\n1,2","3,1\n\n\n1,2",{"w":1.5},"3,2\n\n\n1,2",{"w":2.25},"3,5\n\n\n1,2",{"w":2.75},"3,5\n\n\n1,2","3,9\n\n\n1,2","3,10\n\n\n1,2","3,11\n\n\n1,2",{"x":0.25},"3,0\n\n\n1,5","3,1\n\n\n1,5","3,2\n\n\n1,5",{"w":6},"3,5\n\n\n1,5","3,9\n\n\n1,5","3,10\n\n\n1,5","3,11\n\n\n1,5"],
+ [{"y":0.25,"w":1.25},"3,0\n\n\n1,3","3,1\n\n\n1,3",{"w":1.25},"3,2\n\n\n1,3",{"w":6.25},"3,5\n\n\n1,3","3,10\n\n\n1,3",{"w":1.25},"3,11\n\n\n1,3"]
+ ]
+ }
+}
From 5aeafef0b84b83383dfceb64117b86149e20d4e1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E5=B1=85=E6=88=8E=E6=B0=8F?=
Date: Sun, 14 May 2023 13:11:00 +0800
Subject: [PATCH 37/69] Port horizon to Vial (#460)
---
keyboards/horizon/keymaps/vial/config.h | 8 ++++
keyboards/horizon/keymaps/vial/keymap.c | 47 ++++++++++++++++++++++++
keyboards/horizon/keymaps/vial/rules.mk | 5 +++
keyboards/horizon/keymaps/vial/vial.json | 15 ++++++++
4 files changed, 75 insertions(+)
create mode 100644 keyboards/horizon/keymaps/vial/config.h
create mode 100644 keyboards/horizon/keymaps/vial/keymap.c
create mode 100644 keyboards/horizon/keymaps/vial/rules.mk
create mode 100644 keyboards/horizon/keymaps/vial/vial.json
diff --git a/keyboards/horizon/keymaps/vial/config.h b/keyboards/horizon/keymaps/vial/config.h
new file mode 100644
index 0000000000..3cbf8c719e
--- /dev/null
+++ b/keyboards/horizon/keymaps/vial/config.h
@@ -0,0 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+
+#pragma once
+
+#define VIAL_KEYBOARD_UID {0x56, 0x0E, 0x81, 0x4F, 0x0A, 0x75, 0xE8, 0xDD}
+
+#define VIAL_UNLOCK_COMBO_ROWS { 0, 0 }
+#define VIAL_UNLOCK_COMBO_COLS { 0, 13 }
diff --git a/keyboards/horizon/keymaps/vial/keymap.c b/keyboards/horizon/keymaps/vial/keymap.c
new file mode 100644
index 0000000000..29a9bec0d8
--- /dev/null
+++ b/keyboards/horizon/keymaps/vial/keymap.c
@@ -0,0 +1,47 @@
+/* Copyright 2021 Steven Karrmann
+ *
+ * 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
+
+enum layer_names {
+ _BASE,
+ _SYMBOL,
+ _FUNCTION
+};
+
+#define MO_SYMB MO(_SYMBOL)
+#define MO_FUNC MO(_FUNCTION)
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [_BASE] = LAYOUT(
+ KC_GRV , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_MINS,
+ KC_EQL , KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT,
+ KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_ESC , KC_ENT , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT,
+ KC_LCTL, KC_LALT, KC_LGUI, KC_APP , KC_DEL , KC_TAB , MO_SYMB, MO_FUNC, KC_SPC , KC_BSPC, KC_APP , KC_RGUI, KC_RALT, KC_RCTL
+ ),
+ [_SYMBOL] = LAYOUT(
+ KC_TILD, KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_UNDS,
+ KC_PLUS, KC_EXLM, KC_LPRN, KC_RPRN, KC_DLR , KC_AMPR, KC_PIPE, KC_HASH, KC_LCBR, KC_RCBR, KC_COLN, KC_DQUO,
+ _______, KC_AT , KC_LBRC, KC_RBRC, KC_BSLS, KC_PERC, _______, _______, KC_CIRC, KC_ASTR, KC_LABK, KC_RABK, KC_QUES, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+ [_FUNCTION] = LAYOUT(
+ _______, KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_PSCR, KC_SLCK, KC_HOME, KC_PGDN, KC_PGUP, KC_END , _______,
+ _______, KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_INS , KC_CLCK, KC_LEFT, KC_DOWN, KC_UP , KC_RGHT, _______,
+ _______, KC_F9 , KC_F10 , KC_F11 , KC_F12 , _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, KC_PAUS, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ )
+};
\ No newline at end of file
diff --git a/keyboards/horizon/keymaps/vial/rules.mk b/keyboards/horizon/keymaps/vial/rules.mk
new file mode 100644
index 0000000000..2da603f8f6
--- /dev/null
+++ b/keyboards/horizon/keymaps/vial/rules.mk
@@ -0,0 +1,5 @@
+VIA_ENABLE = yes
+VIAL_ENABLE = yes
+LTO_ENABLE = yes
+NKRO_ENABLE = yes
+CONSOLE_ENABLE = no
diff --git a/keyboards/horizon/keymaps/vial/vial.json b/keyboards/horizon/keymaps/vial/vial.json
new file mode 100644
index 0000000000..f456cc90ba
--- /dev/null
+++ b/keyboards/horizon/keymaps/vial/vial.json
@@ -0,0 +1,15 @@
+{
+ "lighting": "none",
+ "matrix": {
+ "rows": 4,
+ "cols": 14
+ },
+ "layouts": {
+ "keymap": [
+ ["0,0","0,1","0,2","0,3","0,4","0,5",{"x":2},"0,8","0,9","0,10","0,11","0,12","0,13"],
+ ["1,0","1,1","1,2","1,3","1,4","1,5",{"x":2},"1,8","1,9","1,10","1,11","1,12","1,13"],
+ ["2,0","2,1","2,2","2,3","2,4","2,5","2,6","2,7","2,8","2,9","2,10","2,11","2,12","2,13"],
+ ["3,0","3,1","3,2","3,3","3,4","3,5","3,6","3,7","3,8","3,9","3,10","3,11","3,12","3,13"]
+ ]
+ }
+}
From b178217d5c6bdaa5d66cb2024d1c36d643aed8d5 Mon Sep 17 00:00:00 2001
From: jonathan
Date: Sun, 14 May 2023 14:41:07 +0930
Subject: [PATCH 38/69] Add support for Alps64 (#461)
* first pass alps64 vial firmware (buggy on hardware)
* disable tap dance and midi to allow for proper compiling on atmega32u2
---
keyboards/alps64/keymaps/vial/config.h | 9 +
keyboards/alps64/keymaps/vial/keymap.c | 37 ++++
keyboards/alps64/keymaps/vial/rules.mk | 8 +
keyboards/alps64/keymaps/vial/vial.json | 216 ++++++++++++++++++++++++
4 files changed, 270 insertions(+)
create mode 100644 keyboards/alps64/keymaps/vial/config.h
create mode 100644 keyboards/alps64/keymaps/vial/keymap.c
create mode 100644 keyboards/alps64/keymaps/vial/rules.mk
create mode 100644 keyboards/alps64/keymaps/vial/vial.json
diff --git a/keyboards/alps64/keymaps/vial/config.h b/keyboards/alps64/keymaps/vial/config.h
new file mode 100644
index 0000000000..8f2f00c0f7
--- /dev/null
+++ b/keyboards/alps64/keymaps/vial/config.h
@@ -0,0 +1,9 @@
+
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+
+#pragma once
+
+#define VIAL_KEYBOARD_UID {0xBD, 0x15, 0x93, 0x37, 0x7A, 0x35, 0x29, 0x02}
+#define VIAL_UNLOCK_COMBO_ROWS { 3, 2 }
+#define VIAL_UNLOCK_COMBO_COLS { 6, 3 }
+
diff --git a/keyboards/alps64/keymaps/vial/keymap.c b/keyboards/alps64/keymaps/vial/keymap.c
new file mode 100644
index 0000000000..aef6995a10
--- /dev/null
+++ b/keyboards/alps64/keymaps/vial/keymap.c
@@ -0,0 +1,37 @@
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ /* 0: qwerty */
+ [0] = LAYOUT_all(
+ 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_NUHS, KC_BSPC,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
+ KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_ESC,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_APP, KC_RALT, KC_RGUI, KC_RCTL
+ ),
+
+ [1] = LAYOUT_all(
+ 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_TRNS, KC_DEL,
+ 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, KC_TRNS, KC_TRNS, KC_TRNS
+ ),
+
+ [2] = LAYOUT_all(
+ 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, 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
+ ),
+
+ [3] = LAYOUT_all(
+ 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, 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/alps64/keymaps/vial/rules.mk b/keyboards/alps64/keymaps/vial/rules.mk
new file mode 100644
index 0000000000..c96b352451
--- /dev/null
+++ b/keyboards/alps64/keymaps/vial/rules.mk
@@ -0,0 +1,8 @@
+VIA_ENABLE = yes
+VIAL_ENABLE = yes
+LTO_ENABLE = yes
+CONSOLE_ENABLE = no
+COMMAND_ENABLE = no
+TAP_DANCE_ENABLE = no
+MIDI_ENABLE = no
+
diff --git a/keyboards/alps64/keymaps/vial/vial.json b/keyboards/alps64/keymaps/vial/vial.json
new file mode 100644
index 0000000000..a0efe975fb
--- /dev/null
+++ b/keyboards/alps64/keymaps/vial/vial.json
@@ -0,0 +1,216 @@
+{
+ "name": "Hasu Alps64",
+ "lighting" : "none",
+ "matrix": {"rows": 8, "cols": 8},
+ "layouts": {
+ "labels": [
+ ["Enter Key", "ANSI", "ISO", "BAE"],
+ "Split Left Shift",
+ "Split Right Shift",
+ "Split Backspace",
+ ["Bottom row", "104", "101/103", "101/103 WKL", "Infinity", "AEK", "HHKB"]
+ ],
+ "keymap": [
+ [
+ {"x": 2.75},
+ "3,6",
+ "3,7",
+ "4,6",
+ "4,7",
+ "5,6",
+ "5,7",
+ "6,6",
+ "6,7",
+ "7,6",
+ "7,7",
+ "0,6",
+ "0,7",
+ "1,7",
+ {"c": "#aaaaaa", "w": 2},
+ "2,7\n\n\n3,0",
+ {"x": 0.5, "c": "#cccccc"},
+ "2,6\n\n\n3,1",
+ {"c": "#aaaaaa"},
+ "2,7\n\n\n3,1"
+ ],
+ [
+ {"x": 2.75, "w": 1.5},
+ "3,4",
+ {"c": "#cccccc"},
+ "3,5",
+ "4,4",
+ "4,5",
+ "5,4",
+ "5,5",
+ "6,4",
+ "6,5",
+ "7,5",
+ "0,5",
+ "1,5",
+ "1,6",
+ "2,5",
+ {"w": 1.5},
+ "2,4\n\n\n0,0",
+ {
+ "x": 1.5,
+ "c": "#777777",
+ "w": 1.25,
+ "h": 2,
+ "w2": 1.5,
+ "h2": 1,
+ "x2": -0.25
+ },
+ "2,3\n\n\n0,1",
+ {
+ "x": 0.75,
+ "w": 1.5,
+ "h": 2,
+ "w2": 2.25,
+ "h2": 1,
+ "x2": -0.75,
+ "y2": 1
+ },
+ "2,3\n\n\n0,2"
+ ],
+ [
+ {"x": 2.75, "c": "#aaaaaa", "w": 1.75},
+ "3,2",
+ {"c": "#cccccc"},
+ "3,3",
+ "4,3",
+ "5,2",
+ "5,3",
+ "6,3",
+ "7,3",
+ "7,4",
+ "0,3",
+ "0,4",
+ "1,3",
+ "1,4",
+ {"c": "#777777", "w": 2.25},
+ "2,3\n\n\n0,0",
+ {"x": 0.5, "c": "#cccccc"},
+ "2,4\n\n\n0,1"
+ ],
+ [
+ {"c": "#aaaaaa", "w": 1.25},
+ "3,1\n\n\n1,1",
+ {"c": "#cccccc"},
+ "4,1\n\n\n1,1",
+ {"x": 0.5, "c": "#aaaaaa", "w": 2.25},
+ "3,1\n\n\n1,0",
+ {"c": "#cccccc"},
+ "4,2",
+ "5,1",
+ "6,1",
+ "6,2",
+ "7,1",
+ "7,2",
+ "0,1",
+ "0,2",
+ "1,1",
+ "1,2",
+ {"c": "#aaaaaa", "w": 2.75},
+ "2,1\n\n\n2,0",
+ {"x": 0.5, "w": 1.75},
+ "2,1\n\n\n2,1",
+ "2,2\n\n\n2,1"
+ ],
+ [
+ {"x": 2.75, "w": 1.25},
+ "3,0\n\n\n4,0",
+ {"w": 1.25},
+ "4,0\n\n\n4,0",
+ {"w": 1.25},
+ "5,0\n\n\n4,0",
+ {"c": "#cccccc", "w": 6.25},
+ "6,0\n\n\n4,0",
+ {"c": "#aaaaaa", "w": 1.25},
+ "7,0\n\n\n4,0",
+ {"w": 1.25},
+ "0,0\n\n\n4,0",
+ {"w": 1.25},
+ "1,0\n\n\n4,0",
+ {"w": 1.25},
+ "2,0\n\n\n4,0"
+ ],
+ [
+ {"y": 0.25, "x": 2.75, "w": 1.5},
+ "3,0\n\n\n4,1",
+ "4,0\n\n\n4,1",
+ {"w": 1.5},
+ "5,0\n\n\n4,1",
+ {"c": "#cccccc", "w": 7},
+ "6,0\n\n\n4,1",
+ {"c": "#aaaaaa", "w": 1.5},
+ "0,0\n\n\n4,1",
+ "1,0\n\n\n4,1",
+ {"w": 1.5},
+ "2,0\n\n\n4,1"
+ ],
+ [
+ {"x": 2.75, "w": 1.5},
+ "3,0\n\n\n4,2",
+ {"d": true},
+ "\n\n\n4,2",
+ {"w": 1.5},
+ "5,0\n\n\n4,2",
+ {"c": "#cccccc", "w": 7},
+ "6,0\n\n\n4,2",
+ {"c": "#aaaaaa", "w": 1.5},
+ "0,0\n\n\n4,2",
+ {"d": true},
+ "\n\n\n4,2",
+ {"w": 1.5},
+ "2,0\n\n\n4,2"
+ ],
+ [
+ {"x": 2.75, "w": 1.5},
+ "3,0\n\n\n4,3",
+ "4,0\n\n\n4,3",
+ {"w": 1.5},
+ "5,0\n\n\n4,3",
+ {"c": "#cccccc", "w": 6},
+ "6,0\n\n\n4,3",
+ {"c": "#aaaaaa", "w": 1.5},
+ "7,0\n\n\n4,3",
+ "0,0\n\n\n4,3",
+ "1,0\n\n\n4,3",
+ {"w": 1.5},
+ "2,0\n\n\n4,3"
+ ],
+ [
+ {"x": 2.75, "w": 1.5},
+ "3,0\n\n\n4,4",
+ {"w": 1.25},
+ "4,0\n\n\n4,4",
+ {"w": 1.5},
+ "5,0\n\n\n4,4",
+ {"c": "#cccccc", "w": 6.5},
+ "6,0\n\n\n4,4",
+ {"c": "#aaaaaa", "w": 1.5},
+ "0,0\n\n\n4,4",
+ {"w": 1.25},
+ "1,0\n\n\n4,4",
+ {"w": 1.5},
+ "2,0\n\n\n4,4"
+ ],
+ [
+ {"x": 2.75, "w": 1.5, "d": true},
+ "\n\n\n4,5",
+ "4,0\n\n\n4,5",
+ {"w": 1.5},
+ "5,0\n\n\n4,5",
+ {"c": "#cccccc", "w": 6},
+ "6,0\n\n\n4,5",
+ {"c": "#aaaaaa", "w": 1.5},
+ "7,0\n\n\n4,5",
+ "0,0\n\n\n4,5",
+ "1,0\n\n\n4,5",
+ {"w": 1.5, "d": true},
+ "\n\n\n4,5"
+ ]
+ ]
+ }
+}
+
From a3f281f176c0a18b1508933d5cb4fb2e486d6de3 Mon Sep 17 00:00:00 2001
From: Dani <58542682+DPoplin@users.noreply.github.com>
Date: Sun, 14 May 2023 00:11:34 -0500
Subject: [PATCH 39/69] Add support for keyhive absinthe (#445)
* add reviung53 vial files
* Revert "add reviung53 vial files"
This reverts commit 074be536deda760843efda31f0c5ee9dbbb5a5e7.
* add absinthe vial files
* enable lto and disable qmk settings
* set vial tap dance entries
* prettify
* correct formatting
* Remove via specific lines
* Add lighting
* Update keyboards/keyhive/absinthe/keymaps/vial/keymap.c
Co-authored-by: Less/Rikki <86894501+lesshonor@users.noreply.github.com>
* Update keyboards/keyhive/absinthe/keymaps/vial/rules.mk
Co-authored-by: Less/Rikki <86894501+lesshonor@users.noreply.github.com>
---------
Co-authored-by: Less/Rikki <86894501+lesshonor@users.noreply.github.com>
---
.../keyhive/absinthe/keymaps/vial/config.h | 8 +
.../keyhive/absinthe/keymaps/vial/keymap.c | 56 +++++
.../keyhive/absinthe/keymaps/vial/rules.mk | 7 +
.../keyhive/absinthe/keymaps/vial/vial.json | 219 ++++++++++++++++++
4 files changed, 290 insertions(+)
create mode 100644 keyboards/keyhive/absinthe/keymaps/vial/config.h
create mode 100644 keyboards/keyhive/absinthe/keymaps/vial/keymap.c
create mode 100644 keyboards/keyhive/absinthe/keymaps/vial/rules.mk
create mode 100644 keyboards/keyhive/absinthe/keymaps/vial/vial.json
diff --git a/keyboards/keyhive/absinthe/keymaps/vial/config.h b/keyboards/keyhive/absinthe/keymaps/vial/config.h
new file mode 100644
index 0000000000..83abb2d92f
--- /dev/null
+++ b/keyboards/keyhive/absinthe/keymaps/vial/config.h
@@ -0,0 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+
+#pragma once
+
+#define VIAL_KEYBOARD_UID {0x7C, 0x37, 0x95, 0x7D, 0x34, 0xB0, 0x89, 0x8B}
+#define VIAL_UNLOCK_COMBO_ROWS { 0 , 5 }
+#define VIAL_UNLOCK_COMBO_COLS { 0 , 6 }
+#define VIAL_TAP_DANCE_ENTRIES 4
diff --git a/keyboards/keyhive/absinthe/keymaps/vial/keymap.c b/keyboards/keyhive/absinthe/keymaps/vial/keymap.c
new file mode 100644
index 0000000000..91343a1370
--- /dev/null
+++ b/keyboards/keyhive/absinthe/keymaps/vial/keymap.c
@@ -0,0 +1,56 @@
+/* Copyright 2021 alittlepeace
+ *
+ * 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_default(
+ KC_GESC, 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_INS, KC_HOME, KC_PGUP,
+ 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_DEL, KC_END, KC_PGDN,
+ 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_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), KC_UP,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT),
+
+ [1] = LAYOUT_default(
+ _______, 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_PSCR, KC_SLCK, KC_PAUS,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
+
+ [2] = LAYOUT_default(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
+
+ [3] = LAYOUT_default(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______)
+
+};
+
+#if defined(ENCODER_MAP_ENABLE)
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+ [0] = { ENCODER_CCW_CW(KC_WH_U, KC_WH_D) },
+ [1] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
+ [2] = { ENCODER_CCW_CW(KC_WH_U, KC_WH_D) },
+ [3] = { ENCODER_CCW_CW(KC_WH_U, KC_WH_D) }
+};
+#endif
diff --git a/keyboards/keyhive/absinthe/keymaps/vial/rules.mk b/keyboards/keyhive/absinthe/keymaps/vial/rules.mk
new file mode 100644
index 0000000000..ec1a82f4eb
--- /dev/null
+++ b/keyboards/keyhive/absinthe/keymaps/vial/rules.mk
@@ -0,0 +1,7 @@
+VIA_ENABLE = yes
+MOUSEKEY_ENABLE = yes
+VIAL_ENABLE = yes
+LTO_ENABLE = yes
+QMK_SETTINGS = no
+
+ENCODER_MAP_ENABLE = yes
diff --git a/keyboards/keyhive/absinthe/keymaps/vial/vial.json b/keyboards/keyhive/absinthe/keymaps/vial/vial.json
new file mode 100644
index 0000000000..1cba64c32f
--- /dev/null
+++ b/keyboards/keyhive/absinthe/keymaps/vial/vial.json
@@ -0,0 +1,219 @@
+{
+ "name": "Absinthe",
+ "vendorId": "0xB00B",
+ "productId": "0xFEED",
+ "lighting": "qmk_backlight",
+ "matrix": {
+ "rows": 9,
+ "cols": 9
+ },
+ "layouts": {
+ "labels": [
+ "Full Backspace",
+ "Full Right Shift",
+ "ANSI"
+ ],
+ "keymap": [
+ [
+ {
+ "c": "#777777"
+ },
+ "0,0",
+ {
+ "c": "#cccccc"
+ },
+ "1,0",
+ "0,1",
+ "1,1",
+ "0,2",
+ "1,2",
+ "0,3",
+ "1,3",
+ "0,4",
+ "1,4",
+ "0,5",
+ "1,5",
+ "0,6",
+ "1,6\n\n\n0,0",
+ "0,7\n\n\n0,0",
+ {
+ "x": 0.5
+ },
+ "1,7",
+ "0,8",
+ "1,8",
+ {
+ "x": 0.75,
+ "c": "#aaaaaa",
+ "w": 2
+ },
+ "1,6\n\n\n0,1"
+ ],
+ [
+ {
+ "w": 1.5
+ },
+ "2,0",
+ {
+ "c": "#cccccc"
+ },
+ "2,1",
+ "3,1",
+ "2,2",
+ "3,2",
+ "2,3",
+ "3,3",
+ "2,4",
+ "3,4",
+ "2,5",
+ "3,5",
+ "2,6",
+ "3,6",
+ {
+ "w": 1.5
+ },
+ "2,7",
+ {
+ "x": 0.5
+ },
+ "3,7",
+ "2,8",
+ "3,8"
+ ],
+ [
+ {
+ "c": "#aaaaaa",
+ "w": 1.75
+ },
+ "4,0",
+ {
+ "c": "#cccccc"
+ },
+ "4,1",
+ "5,1",
+ "4,2",
+ "5,2",
+ "4,3",
+ "5,3",
+ "4,4",
+ "5,4",
+ "4,5",
+ "5,5",
+ "4,6",
+ {
+ "c": "#777777",
+ "w": 2.25
+ },
+ "5,6"
+ ],
+ [
+ {
+ "c": "#aaaaaa",
+ "w": 2.25
+ },
+ "6,0",
+ {
+ "c": "#cccccc"
+ },
+ "6,1",
+ "7,1",
+ "6,2",
+ "7,2",
+ "6,3",
+ "7,3",
+ "6,4",
+ "7,4",
+ "6,5",
+ "7,5",
+ {
+ "c": "#aaaaaa",
+ "w": 1.75
+ },
+ "6,6\n\n\n1,0",
+ "6,7\n\n\n1,0",
+ {
+ "x": 1.5,
+ "c": "#777777"
+ },
+ "6,8",
+ {
+ "x": 1.5,
+ "c": "#aaaaaa",
+ "w": 2.75
+ },
+ "6,6\n\n\n1,1"
+ ],
+ [
+ {
+ "w": 1.5
+ },
+ "8,0\n\n\n2,0",
+ "8,1\n\n\n2,0",
+ {
+ "w": 1.5
+ },
+ "8,2\n\n\n2,0",
+ {
+ "c": "#cccccc",
+ "w": 7
+ },
+ "8,3\n\n\n2,0",
+ {
+ "c": "#aaaaaa",
+ "w": 1.5
+ },
+ "7,6\n\n\n2,0",
+ "8,6\n\n\n2,0",
+ {
+ "w": 1.5
+ },
+ "8,7\n\n\n2,0",
+ {
+ "x": 0.5,
+ "c": "#777777"
+ },
+ "7,7",
+ "8,8",
+ "7,8"
+ ],
+ [
+ {
+ "y": 0.5,
+ "c": "#aaaaaa",
+ "w": 1.25
+ },
+ "8,0\n\n\n2,1",
+ {
+ "w": 1.25
+ },
+ "8,1\n\n\n2,1",
+ {
+ "w": 1.25
+ },
+ "8,2\n\n\n2,1",
+ {
+ "c": "#cccccc",
+ "w": 6.25
+ },
+ "8,3\n\n\n2,1",
+ {
+ "c": "#aaaaaa",
+ "w": 1.25
+ },
+ "8,5\n\n\n2,1",
+ {
+ "w": 1.25
+ },
+ "7,6\n\n\n2,1",
+ {
+ "w": 1.25
+ },
+ "8,6\n\n\n2,1",
+ {
+ "w": 1.25
+ },
+ "8,7\n\n\n2,1"
+ ]
+ ]
+ }
+ }
From dbbaa1bc5d79623f966604ac51fd6d9835fcfa3d Mon Sep 17 00:00:00 2001
From: Dani <58542682+DPoplin@users.noreply.github.com>
Date: Sat, 20 May 2023 13:01:13 -0500
Subject: [PATCH 40/69] Add Support for KBDFans D45 (#442)
* add reviung53 vial files
* add d45 directory from qmk
* remove reviung53 files not on vial branch
* add vial specific files
* fix config and rules conflicts
* prettify
* update lighting
* Update keyboards/kbdfans/d45/config.h
Co-authored-by: Less/Rikki <86894501+lesshonor@users.noreply.github.com>
* migrate from rules.mk and config.h to info.json
---------
Co-authored-by: Less/Rikki <86894501+lesshonor@users.noreply.github.com>
---
.../kbdfans/d45/keymaps/default/keymap.c | 24 +++
keyboards/kbdfans/d45/keymaps/via/keymap.c | 39 +++++
keyboards/kbdfans/d45/keymaps/via/rules.mk | 1 +
keyboards/kbdfans/d45/keymaps/vial/config.h | 7 +
keyboards/kbdfans/d45/keymaps/vial/keymap.c | 62 +++++++
keyboards/kbdfans/d45/keymaps/vial/rules.mk | 3 +
keyboards/kbdfans/d45/keymaps/vial/vial.json | 138 ++++++++++++++++
keyboards/kbdfans/d45/v1/config.h | 6 +
keyboards/kbdfans/d45/v1/info.json | 151 ++++++++++++++++++
keyboards/kbdfans/d45/v1/readme.md | 20 +++
keyboards/kbdfans/d45/v1/rules.mk | 1 +
11 files changed, 452 insertions(+)
create mode 100644 keyboards/kbdfans/d45/keymaps/default/keymap.c
create mode 100644 keyboards/kbdfans/d45/keymaps/via/keymap.c
create mode 100644 keyboards/kbdfans/d45/keymaps/via/rules.mk
create mode 100644 keyboards/kbdfans/d45/keymaps/vial/config.h
create mode 100644 keyboards/kbdfans/d45/keymaps/vial/keymap.c
create mode 100644 keyboards/kbdfans/d45/keymaps/vial/rules.mk
create mode 100644 keyboards/kbdfans/d45/keymaps/vial/vial.json
create mode 100755 keyboards/kbdfans/d45/v1/config.h
create mode 100644 keyboards/kbdfans/d45/v1/info.json
create mode 100644 keyboards/kbdfans/d45/v1/readme.md
create mode 100644 keyboards/kbdfans/d45/v1/rules.mk
diff --git a/keyboards/kbdfans/d45/keymaps/default/keymap.c b/keyboards/kbdfans/d45/keymaps/default/keymap.c
new file mode 100644
index 0000000000..b6d65cf180
--- /dev/null
+++ b/keyboards/kbdfans/d45/keymaps/default/keymap.c
@@ -0,0 +1,24 @@
+/* Copyright 2022 dztech kbdfans
+ *
+ * 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( /* Base */
+ KC_ESC, 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_DEL,
+ KC_F2, 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_HOME,
+ KC_F3, 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_F4, KC_LCTL, KC_LALT, KC_SPC, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT),
+ };
diff --git a/keyboards/kbdfans/d45/keymaps/via/keymap.c b/keyboards/kbdfans/d45/keymaps/via/keymap.c
new file mode 100644
index 0000000000..f21fc50328
--- /dev/null
+++ b/keyboards/kbdfans/d45/keymaps/via/keymap.c
@@ -0,0 +1,39 @@
+/* Copyright 2022 dztech kbdfans
+ *
+ * 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( /* Base */
+ KC_ESC, 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_DEL,
+ KC_F2, 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_HOME,
+ KC_F3, 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_F4, KC_LCTL, KC_LALT, KC_SPC, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT),
+ [1] = LAYOUT( /* FN */
+ KC_ESC, 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_DEL,
+ KC_F2, 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_HOME,
+ KC_F3, 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_F4, KC_LCTL, KC_LALT, KC_SPC, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT),
+ [2] = LAYOUT( /* FN */
+ KC_ESC, 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_DEL,
+ KC_F2, 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_HOME,
+ KC_F3, 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_F4, KC_LCTL, KC_LALT, KC_SPC, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT),
+ [3] = LAYOUT( /* FN */
+ KC_ESC, 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_DEL,
+ KC_F2, 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_HOME,
+ KC_F3, 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_F4, KC_LCTL, KC_LALT, KC_SPC, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT),
+ };
diff --git a/keyboards/kbdfans/d45/keymaps/via/rules.mk b/keyboards/kbdfans/d45/keymaps/via/rules.mk
new file mode 100644
index 0000000000..1e5b99807c
--- /dev/null
+++ b/keyboards/kbdfans/d45/keymaps/via/rules.mk
@@ -0,0 +1 @@
+VIA_ENABLE = yes
diff --git a/keyboards/kbdfans/d45/keymaps/vial/config.h b/keyboards/kbdfans/d45/keymaps/vial/config.h
new file mode 100644
index 0000000000..07c7e30159
--- /dev/null
+++ b/keyboards/kbdfans/d45/keymaps/vial/config.h
@@ -0,0 +1,7 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+
+#pragma once
+
+#define VIAL_KEYBOARD_UID {0xC0, 0x17, 0xF0, 0x89, 0xD6, 0x68, 0xC4, 0xEA}
+#define VIAL_UNLOCK_COMBO_ROWS { 0, 0 }
+#define VIAL_UNLOCK_COMBO_COLS { 0, 1 }
diff --git a/keyboards/kbdfans/d45/keymaps/vial/keymap.c b/keyboards/kbdfans/d45/keymaps/vial/keymap.c
new file mode 100644
index 0000000000..9ca23d5fa8
--- /dev/null
+++ b/keyboards/kbdfans/d45/keymaps/vial/keymap.c
@@ -0,0 +1,62 @@
+/* Copyright 2022 dztech kbdfans
+ *
+ * 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
+
+enum layer_names {
+ _BASE,
+ _LOWER,
+ _RAISE,
+ _ADJUST
+};
+
+#define LOWER MO(_LOWER)
+#define RAISE MO(_RAISE)
+#define ADJUST MO(_ADJUST)
+
+#define SF_SS RSFT_T(KC_SLSH)
+#define SP_LO LT(LOWER, KC_SPC)
+#define SP_RA LT(RAISE, KC_SPC)
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [_BASE] = LAYOUT( /* Base */
+ KC_ESC, 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_DEL,
+ KC_F2, 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_HOME,
+ KC_F3, 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_F4, KC_LCTL, KC_LALT, KC_SPC, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT
+ ),
+ [_LOWER] = LAYOUT( /* FN */
+ KC_ESC, 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_DEL,
+ KC_F2, 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_HOME,
+ KC_F3, 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_F4, KC_LCTL, KC_LALT, KC_SPC, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT
+ ),
+ [_RAISE] = LAYOUT( /* FN */
+ KC_ESC, 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_DEL,
+ KC_F2, 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_HOME,
+ KC_F3, 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_F4, KC_LCTL, KC_LALT, KC_SPC, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT
+ ),
+ [_ADJUST] = LAYOUT( /* FN */
+ KC_ESC, 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_DEL,
+ KC_F2, 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_HOME,
+ KC_F3, 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_F4, KC_LCTL, KC_LALT, KC_SPC, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT
+ ),
+ };
+
+ layer_state_t layer_state_set_user(layer_state_t state) {
+ return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
+}
diff --git a/keyboards/kbdfans/d45/keymaps/vial/rules.mk b/keyboards/kbdfans/d45/keymaps/vial/rules.mk
new file mode 100644
index 0000000000..46f9f1360f
--- /dev/null
+++ b/keyboards/kbdfans/d45/keymaps/vial/rules.mk
@@ -0,0 +1,3 @@
+VIA_ENABLE = yes
+VIAL_ENABLE = yes
+LTO_ENABLE = yes
diff --git a/keyboards/kbdfans/d45/keymaps/vial/vial.json b/keyboards/kbdfans/d45/keymaps/vial/vial.json
new file mode 100644
index 0000000000..2e515eea12
--- /dev/null
+++ b/keyboards/kbdfans/d45/keymaps/vial/vial.json
@@ -0,0 +1,138 @@
+{
+ "name": "D45",
+ "vendorId": "0x4B42",
+ "productId": "0x0010",
+ "lighting": "qmk_backlight",
+ "matrix": {
+ "rows": 4,
+ "cols": 16
+ },
+ "layouts": {
+ "keymap": [
+ [
+ "0,0",
+ {
+ "x": 0.25,
+ "w": 1.5
+ },
+ "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",
+ {
+ "w": 1.5
+ },
+ "0,14",
+ {
+ "x": 0.5
+ },
+ "0,15"
+ ],
+ [
+ "1,0",
+ {
+ "x": 0.25,
+ "w": 1.75
+ },
+ "1,1",
+ "1,2",
+ "1,3",
+ "1,4",
+ "1,5",
+ "1,6",
+ "1,7",
+ "1,8",
+ "1,9",
+ "1,10",
+ "1,11",
+ "1,12",
+ {
+ "w": 2.25
+ },
+ "1,14",
+ {
+ "x": 0.5
+ },
+ "1,15"
+ ],
+ [
+ "2,0",
+ {
+ "x": 0.25,
+ "w": 2.25
+ },
+ "2,1",
+ "2,2",
+ "2,3",
+ "2,4",
+ "2,5",
+ "2,6",
+ "2,7",
+ "2,8",
+ "2,9",
+ "2,10",
+ "2,11",
+ {
+ "w": 1.75
+ },
+ "2,13",
+ {
+ "x": 1.5
+ },
+ "2,15"
+ ],
+ [
+ {
+ "y": -0.75,
+ "x": 15.5
+ },
+ "2,14"
+ ],
+ [
+ {
+ "y": -0.25
+ },
+ "3,0",
+ {
+ "x": 1.75
+ },
+ "3,2",
+ {
+ "w": 1.5
+ },
+ "3,3",
+ {
+ "w": 2.75
+ },
+ "3,5",
+ {
+ "w": 2.25
+ },
+ "3,7",
+ {
+ "w": 1.5
+ },
+ "3,9",
+ "3,10"
+ ],
+ [
+ {
+ "y": -0.75,
+ "x": 14.5
+ },
+ "3,13",
+ "3,14",
+ "3,15"
+ ]
+ ]
+ }
+ }
diff --git a/keyboards/kbdfans/d45/v1/config.h b/keyboards/kbdfans/d45/v1/config.h
new file mode 100755
index 0000000000..fa9a83d08e
--- /dev/null
+++ b/keyboards/kbdfans/d45/v1/config.h
@@ -0,0 +1,6 @@
+#pragma once
+
+/* 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
diff --git a/keyboards/kbdfans/d45/v1/info.json b/keyboards/kbdfans/d45/v1/info.json
new file mode 100644
index 0000000000..bf2dab87d9
--- /dev/null
+++ b/keyboards/kbdfans/d45/v1/info.json
@@ -0,0 +1,151 @@
+{
+ "manufacturer": "kbdfans",
+ "keyboard_name": "D45",
+ "maintainer": "moyi4681",
+ "bootloader": "atmel-dfu",
+ "build": {
+ "lto": true
+ },
+ "config_h_features": {
+ "audio": false,
+ "backlight": false,
+ "bluetooth": false,
+ "bootmagic": true,
+ "command": false,
+ "console": false,
+ "extrakey": true,
+ "lto": true,
+ "mousekey": true,
+ "nkro": false,
+ "rgb_matrix": false,
+ "rgblight": false,
+ "sleep_led": false
+ },
+ "debounce": 5,
+ "diode_direction": "COL2ROW",
+ "features": {
+ "audio": false,
+ "backlight": false,
+ "bluetooth": false,
+ "bootmagic": true,
+ "command": false,
+ "console": false,
+ "extrakey": true,
+ "lto": true,
+ "mousekey": true,
+ "nkro": false,
+ "rgb_matrix": false,
+ "rgblight": false,
+ "sleep_led": false
+ },
+ "keyboard_folder": "kbdfans/d45/v1",
+ "keymaps": {},
+ "matrix_pins": {
+ "cols": ["D7", "F7", "F6", "F5", "F4", "F1", "F0", "E6", "B0", "B1", "B2", "B3", "B7", "D2", "D3", "D5"],
+ "rows": ["B5", "B4", "D6", "D4"]
+ },
+ "matrix_size": {
+ "cols": 16,
+ "rows": 4
+ },
+ "mouse_key": {
+ "enabled": true
+ },
+ "parse_errors": [],
+ "parse_warnings": [],
+ "platform": "unknown",
+ "processor": "atmega32u4",
+ "processor_type": "avr",
+ "protocol": "LUFA",
+ "rgb_matrix": {
+ "driver": "WS2812"
+ },
+ "rgblight": {
+ "animations": {
+ "breathing": false,
+ "christmas": false,
+ "knight": false,
+ "rainbow_mood": false,
+ "rainbow_swirl": false,
+ "rgb_test": false,
+ "snake": false,
+ "static_gradient": false
+ },
+ "brightness_steps": 16,
+ "hue_steps": 16,
+ "led_count": 72,
+ "max_brightness": 255,
+ "pin": "B6",
+ "saturation_steps": 16,
+ "sleep": false
+ },
+ "usb": {
+ "device_ver": "0x0100",
+ "device_version": "1.0.0",
+ "pid": "0x0006",
+ "vid": "0x4B42"
+ },
+ "layouts": {
+ "LAYOUT": {
+ "c_macro": false,
+ "layout": [
+ { "matrix": [0, 0], "x": 0, "y": 0 },
+ { "matrix": [0, 1], "w": 1.5, "x": 1.25, "y": 0 },
+ { "matrix": [0, 2], "x": 2.75, "y": 0 },
+ { "matrix": [0, 3], "x": 3.75, "y": 0 },
+ { "matrix": [0, 4], "x": 4.75, "y": 0 },
+ { "matrix": [0, 5], "x": 5.75, "y": 0 },
+ { "matrix": [0, 6], "x": 6.75, "y": 0 },
+ { "matrix": [0, 7], "x": 7.75, "y": 0 },
+ { "matrix": [0, 8], "x": 8.75, "y": 0 },
+ { "matrix": [0, 9], "x": 9.75, "y": 0 },
+ { "matrix": [0, 10], "x": 10.75, "y": 0 },
+ { "matrix": [0, 11], "x": 11.75, "y": 0 },
+ { "matrix": [0, 12], "x": 12.75, "y": 0 },
+ { "matrix": [0, 13], "x": 13.75, "y": 0 },
+ { "matrix": [3, 13], "w": 1.5, "x": 14.75, "y": 0 },
+ { "matrix": [0, 14], "x": 16.75, "y": 0 },
+ { "matrix": [1, 0], "x": 0, "y": 1 },
+ { "matrix": [1, 1], "w": 1.75, "x": 1.25, "y": 1 },
+ { "matrix": [1, 2], "x": 3, "y": 1 },
+ { "matrix": [1, 3], "x": 4, "y": 1 },
+ { "matrix": [1, 4], "x": 5, "y": 1 },
+ { "matrix": [1, 5], "x": 6, "y": 1 },
+ { "matrix": [1, 6], "x": 7, "y": 1 },
+ { "matrix": [1, 7], "x": 8, "y": 1 },
+ { "matrix": [1, 8], "x": 9, "y": 1 },
+ { "matrix": [1, 9], "x": 10, "y": 1 },
+ { "matrix": [1, 10], "x": 11, "y": 1 },
+ { "matrix": [1, 11], "x": 12, "y": 1 },
+ { "matrix": [1, 12], "x": 13, "y": 1 },
+ { "matrix": [1, 13], "w": 2.25, "x": 14, "y": 1 },
+ { "matrix": [1, 14], "x": 16.75, "y": 1 },
+ { "matrix": [2, 0], "x": 0, "y": 2 },
+ { "matrix": [2, 1], "w": 2.25, "x": 1.25, "y": 2 },
+ { "matrix": [2, 2], "x": 3.5, "y": 2 },
+ { "matrix": [2, 3], "x": 4.5, "y": 2 },
+ { "matrix": [2, 4], "x": 5.5, "y": 2 },
+ { "matrix": [2, 5], "x": 6.5, "y": 2 },
+ { "matrix": [2, 6], "x": 7.5, "y": 2 },
+ { "matrix": [2, 7], "x": 8.5, "y": 2 },
+ { "matrix": [2, 8], "x": 9.5, "y": 2 },
+ { "matrix": [2, 9], "x": 10.5, "y": 2 },
+ { "matrix": [2, 10], "x": 11.5, "y": 2 },
+ { "matrix": [2, 11], "x": 12.5, "y": 2 },
+ { "matrix": [2, 12], "w": 1.75, "x": 13.5, "y": 2 },
+ { "matrix": [2, 13], "x": 15.5, "y": 2.25 },
+ { "matrix": [2, 14], "x": 16.75, "y": 2 },
+ { "matrix": [3, 0], "x": 0, "y": 3 },
+ { "matrix": [3, 1], "x": 2.75, "y": 3 },
+ { "matrix": [3, 2], "w": 1.5, "x": 3.75, "y": 3 },
+ { "matrix": [3, 5], "w": 2.75, "x": 5.25, "y": 3 },
+ { "matrix": [3, 8], "w": 2.25, "x": 8, "y": 3 },
+ { "matrix": [3, 9], "w": 1.5, "x": 10.25, "y": 3 },
+ { "matrix": [3, 10], "x": 11.75, "y": 3 },
+ { "matrix": [3, 11], "x": 14.5, "y": 3.25 },
+ { "matrix": [3, 12], "x": 15.5, "y": 3.25 },
+ { "matrix": [3, 14], "x": 16.5, "y": 3.25 }
+ ]
+ }
+ }
+}
\ No newline at end of file
diff --git a/keyboards/kbdfans/d45/v1/readme.md b/keyboards/kbdfans/d45/v1/readme.md
new file mode 100644
index 0000000000..768decc17a
--- /dev/null
+++ b/keyboards/kbdfans/d45/v1/readme.md
@@ -0,0 +1,20 @@
+# d45
+
+* Keyboard Maintainer: [moyi4681](https://github.com/moyi4681)
+* Hardware Supported: KBDFANS
+* Hardware Availability: [kbdfans](https://kbdfans.myshopify.com/)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make kbdfans/d45:default
+
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+## Bootloader
+
+Enter the bootloader in 3 ways:
+
+* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
+* **Physical reset button**: Double tap the reset button on the back of the PCB
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/kbdfans/d45/v1/rules.mk b/keyboards/kbdfans/d45/v1/rules.mk
new file mode 100644
index 0000000000..7ff128fa69
--- /dev/null
+++ b/keyboards/kbdfans/d45/v1/rules.mk
@@ -0,0 +1 @@
+# This file intentionally left blank
\ No newline at end of file
From 6ed58d55b2553c316df7644a3f2ef38f56bacbd9 Mon Sep 17 00:00:00 2001
From: juanlufont
Date: Sat, 20 May 2023 20:04:05 +0200
Subject: [PATCH 41/69] Add Vial support for NCR-80 Hotswap (#463)
* Add Vial support for NCR-80 Hotswap
* Update keyboards/mt/ncr80/hotswap/keymaps/vial/rules.mk
Co-authored-by: Less/Rikki <86894501+lesshonor@users.noreply.github.com>
* Update keyboards/mt/ncr80/hotswap/keymaps/vial/keymap.c
Replace RESET with QK_BOOT
Co-authored-by: Less/Rikki <86894501+lesshonor@users.noreply.github.com>
* Update keyboards/mt/ncr80/hotswap/keymaps/vial/keymap.c
Remove empty layers
Co-authored-by: Less/Rikki <86894501+lesshonor@users.noreply.github.com>
* Revert (unnecesary) changes on hotswap.h
I am sorry if the wrong indentation makes you unease :-)
---------
Co-authored-by: Less/Rikki <86894501+lesshonor@users.noreply.github.com>
---
.../mt/ncr80/hotswap/keymaps/vial/config.h | 8 ++
.../mt/ncr80/hotswap/keymaps/vial/keymap.c | 33 +++++
.../mt/ncr80/hotswap/keymaps/vial/rules.mk | 3 +
.../mt/ncr80/hotswap/keymaps/vial/vial.json | 127 ++++++++++++++++++
4 files changed, 171 insertions(+)
create mode 100644 keyboards/mt/ncr80/hotswap/keymaps/vial/config.h
create mode 100644 keyboards/mt/ncr80/hotswap/keymaps/vial/keymap.c
create mode 100644 keyboards/mt/ncr80/hotswap/keymaps/vial/rules.mk
create mode 100644 keyboards/mt/ncr80/hotswap/keymaps/vial/vial.json
diff --git a/keyboards/mt/ncr80/hotswap/keymaps/vial/config.h b/keyboards/mt/ncr80/hotswap/keymaps/vial/config.h
new file mode 100644
index 0000000000..5d5d6511da
--- /dev/null
+++ b/keyboards/mt/ncr80/hotswap/keymaps/vial/config.h
@@ -0,0 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+
+#pragma once
+
+#define VIAL_KEYBOARD_UID {0xF4, 0x0E, 0x00, 0x77, 0xA2, 0x55, 0x5A, 0x3E}
+#define VIAL_UNLOCK_COMBO_ROWS { 0, 6 }
+#define VIAL_UNLOCK_COMBO_COLS { 0, 3 }
+#define DYNAMIC_KEYMAP_LAYER_COUNT 3
diff --git a/keyboards/mt/ncr80/hotswap/keymaps/vial/keymap.c b/keyboards/mt/ncr80/hotswap/keymaps/vial/keymap.c
new file mode 100644
index 0000000000..fb95978a30
--- /dev/null
+++ b/keyboards/mt/ncr80/hotswap/keymaps/vial/keymap.c
@@ -0,0 +1,33 @@
+/*
+ * 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_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
+ 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_INS, KC_HOME, KC_PGUP,
+ 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_DEL, KC_END, KC_PGDN,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
+ KC_LCTL, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
+ [1] = LAYOUT(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______)
+};
diff --git a/keyboards/mt/ncr80/hotswap/keymaps/vial/rules.mk b/keyboards/mt/ncr80/hotswap/keymaps/vial/rules.mk
new file mode 100644
index 0000000000..46f9f1360f
--- /dev/null
+++ b/keyboards/mt/ncr80/hotswap/keymaps/vial/rules.mk
@@ -0,0 +1,3 @@
+VIA_ENABLE = yes
+VIAL_ENABLE = yes
+LTO_ENABLE = yes
diff --git a/keyboards/mt/ncr80/hotswap/keymaps/vial/vial.json b/keyboards/mt/ncr80/hotswap/keymaps/vial/vial.json
new file mode 100644
index 0000000000..6cc7dbfd70
--- /dev/null
+++ b/keyboards/mt/ncr80/hotswap/keymaps/vial/vial.json
@@ -0,0 +1,127 @@
+{
+ "name": "NCR-80 Hotswap",
+ "vendorId": "0x4D54",
+ "productId": "0x2002",
+ "lighting": "none",
+ "matrix": {
+ "rows": 11,
+ "cols": 9
+ },
+ "layouts": {
+ "keymap": [
+ [
+ "0,0",
+ { "x": 1 },
+ "0,2",
+ "0,3",
+ "0,4",
+ "0,5",
+ { "x": 0.5 },
+ "0,6",
+ "0,7",
+ "0,8",
+ "6,8",
+ { "x": 0.5 },
+ "6,7",
+ "6,5",
+ "6,4",
+ "6,3"
+ ],
+ [
+ { "y": 0.5 },
+ "1,0",
+ "1,1",
+ "1,2",
+ "1,3",
+ "1,4",
+ "1,5",
+ "1,6",
+ "1,7",
+ "1,8",
+ "7,8",
+ "7,0",
+ "7,7",
+ "7,5",
+ { "w": 2 },
+ "7,3",
+ { "x": 0.25 },
+ "7,6",
+ "7,2",
+ "7,1"
+ ],
+ [
+ { "w": 1.5 },
+ "2,0",
+ "2,1",
+ "2,2",
+ "2,3",
+ "2,4",
+ "2,5",
+ "2,6",
+ "2,7",
+ "2,8",
+ "8,8",
+ "8,7",
+ "8,5",
+ "8,4",
+ { "w": 1.5 },
+ "8,3",
+ { "x": 0.25 },
+ "8,6",
+ "8,2",
+ "8,1"
+ ],
+ [
+ { "w": 1.75 },
+ "3,0",
+ "3,1",
+ "3,2",
+ "3,3",
+ "3,4",
+ "3,5",
+ "3,6",
+ "3,7",
+ "3,8",
+ "9,8",
+ "9,7",
+ "9,5",
+ { "w": 2.25 },
+ "9,3"
+ ],
+ [
+ { "w": 2.25 },
+ "4,0",
+ "4,2",
+ "4,3",
+ "4,4",
+ "4,5",
+ "4,6",
+ "4,7",
+ "4,8",
+ "10,8",
+ "10,7",
+ "10,5",
+ { "w": 2.75 },
+ "10,4",
+ { "x": 1.25 },
+ "9,2"
+ ],
+ [
+ { "w": 1.5 },
+ "5,0",
+ { "x": 1, "w": 1.5 },
+ "5,2",
+ { "w": 7 },
+ "5,6",
+ { "w": 1.5 },
+ "5,7",
+ { "x": 1, "w": 1.5 },
+ "5,3",
+ { "x": 0.25 },
+ "10,6",
+ "10,2",
+ "10,1"
+ ]
+ ]
+ }
+}
From facabd2138b0a3ddb75a81afde616893dd83ab19 Mon Sep 17 00:00:00 2001
From: Randolph Sapp <35777938+StaticRocket@users.noreply.github.com>
Date: Sat, 20 May 2023 16:29:12 -0500
Subject: [PATCH 42/69] keyboards: wuque: tata80: copy configs from qmk (#464)
Copy the keyboard entry for the tata80 from the tip of qmk/master:
a4771e4fe4479869a997b130c1435ee072cbc2fa
This only adds support for the wk version as that's all I can test right
now. Also add a vial keymap.
Signed-off-by: StaticRocket <35777938+StaticRocket@users.noreply.github.com>
---
keyboards/wuque/tata80/wk/config.h | 31 +++
keyboards/wuque/tata80/wk/info.json | 115 +++++++++++
.../wuque/tata80/wk/keymaps/default/keymap.c | 36 ++++
.../wuque/tata80/wk/keymaps/via/keymap.c | 51 +++++
.../wuque/tata80/wk/keymaps/via/rules.mk | 2 +
.../wuque/tata80/wk/keymaps/vial/config.h | 12 ++
.../wuque/tata80/wk/keymaps/vial/keymap.c | 36 ++++
.../wuque/tata80/wk/keymaps/vial/rules.mk | 3 +
.../wuque/tata80/wk/keymaps/vial/vial.json | 186 ++++++++++++++++++
keyboards/wuque/tata80/wk/readme.md | 19 ++
keyboards/wuque/tata80/wk/rules.mk | 13 ++
keyboards/wuque/tata80/wk/wk.c | 16 ++
keyboards/wuque/tata80/wk/wk.h | 44 +++++
13 files changed, 564 insertions(+)
create mode 100644 keyboards/wuque/tata80/wk/config.h
create mode 100644 keyboards/wuque/tata80/wk/info.json
create mode 100644 keyboards/wuque/tata80/wk/keymaps/default/keymap.c
create mode 100644 keyboards/wuque/tata80/wk/keymaps/via/keymap.c
create mode 100644 keyboards/wuque/tata80/wk/keymaps/via/rules.mk
create mode 100644 keyboards/wuque/tata80/wk/keymaps/vial/config.h
create mode 100644 keyboards/wuque/tata80/wk/keymaps/vial/keymap.c
create mode 100644 keyboards/wuque/tata80/wk/keymaps/vial/rules.mk
create mode 100644 keyboards/wuque/tata80/wk/keymaps/vial/vial.json
create mode 100644 keyboards/wuque/tata80/wk/readme.md
create mode 100644 keyboards/wuque/tata80/wk/rules.mk
create mode 100644 keyboards/wuque/tata80/wk/wk.c
create mode 100644 keyboards/wuque/tata80/wk/wk.h
diff --git a/keyboards/wuque/tata80/wk/config.h b/keyboards/wuque/tata80/wk/config.h
new file mode 100644
index 0000000000..c4890ec9b1
--- /dev/null
+++ b/keyboards/wuque/tata80/wk/config.h
@@ -0,0 +1,31 @@
+/* Copyright 2022 wuque
+ *
+ * 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
+
+
+/* key matrix pins */
+#define MATRIX_ROW_PINS { F0, F1, F4, F5, F6, F7 }
+#define MATRIX_COL_PINS { C6, B6, B5, B4, D7, D6, D4, D5, D3, D2, D1, D0, B7, B3, B2, B1, B0 }
+
+/* COL2ROW, ROW2COL*/
+#define DIODE_DIRECTION COL2ROW
+
+/* 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
+
+#define FORCE_NKRO
diff --git a/keyboards/wuque/tata80/wk/info.json b/keyboards/wuque/tata80/wk/info.json
new file mode 100644
index 0000000000..f1b5acf12d
--- /dev/null
+++ b/keyboards/wuque/tata80/wk/info.json
@@ -0,0 +1,115 @@
+{
+ "keyboard_name": "Tata80_wk",
+ "manufacturer": "wuque studio",
+ "url": "https://shop.wuquestudio.com/products/tata80-keyboard-kit",
+ "maintainer": "Koichi Katano",
+ "usb": {
+ "vid": "0x2365",
+ "pid": "0x0168",
+ "device_version": "0.0.1"
+ },
+ "processor": "atmega32u4",
+ "bootloader": "atmel-dfu",
+ "indicators": {
+ "caps_lock": "E6"
+ },
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ { "label": "Esc", "x": 0, "y": 0 },
+ { "label": "F1", "x": 1.25, "y": 0 },
+ { "label": "F2", "x": 2.25, "y": 0 },
+ { "label": "F3", "x": 3.25, "y": 0 },
+ { "label": "F4", "x": 4.25, "y": 0 },
+ { "label": "F5", "x": 5.5, "y": 0 },
+ { "label": "F6", "x": 6.5, "y": 0 },
+ { "label": "F7", "x": 7.5, "y": 0 },
+ { "label": "F8", "x": 8.5, "y": 0 },
+ { "label": "F9", "x": 9.75, "y": 0 },
+ { "label": "F10", "x": 10.75, "y": 0 },
+ { "label": "F11", "x": 11.75, "y": 0 },
+ { "label": "F12", "x": 12.75, "y": 0 },
+ { "label": "F13", "x": 14, "y": 0 },
+ { "label": "Print", "x": 15.25, "y": 0 },
+ { "label": "Scroll", "x": 16.25, "y": 0 },
+ { "label": "Pause", "x": 17.25, "y": 0 },
+
+ { "label": "~", "x": 0, "y": 1.25 },
+ { "label": "1", "x": 1, "y": 1.25 },
+ { "label": "2", "x": 2, "y": 1.25 },
+ { "label": "3", "x": 3, "y": 1.25 },
+ { "label": "4", "x": 4, "y": 1.25 },
+ { "label": "5", "x": 5, "y": 1.25 },
+ { "label": "6", "x": 6, "y": 1.25 },
+ { "label": "7", "x": 7, "y": 1.25 },
+ { "label": "8", "x": 8, "y": 1.25 },
+ { "label": "9", "x": 9, "y": 1.25 },
+ { "label": "0", "x": 10, "y": 1.25 },
+ { "label": "-", "x": 11, "y": 1.25 },
+ { "label": "=", "x": 12, "y": 1.25 },
+ { "label": "Backspace", "x": 13, "y": 1.25, "w": 2 },
+ { "label": "Insert", "x": 15.25, "y": 1.25 },
+ { "label": "Home", "x": 16.25, "y": 1.25 },
+ { "label": "PageUp", "x": 17.25, "y": 1.25 },
+
+ { "label": "Tab", "x": 0, "y": 2.25, "w": 1.5 },
+ { "label": "Q", "x": 1.5, "y": 2.25 },
+ { "label": "W", "x": 2.5, "y": 2.25 },
+ { "label": "E", "x": 3.5, "y": 2.25 },
+ { "label": "R", "x": 4.5, "y": 2.25 },
+ { "label": "T", "x": 5.5, "y": 2.25 },
+ { "label": "Y", "x": 6.5, "y": 2.25 },
+ { "label": "U", "x": 7.5, "y": 2.25 },
+ { "label": "I", "x": 8.5, "y": 2.25 },
+ { "label": "O", "x": 9.5, "y": 2.25 },
+ { "label": "P", "x": 10.5, "y": 2.25 },
+ { "label": "[", "x": 11.5, "y": 2.25 },
+ { "label": "]", "x": 12.5, "y": 2.25 },
+ { "label": "\\", "x": 13.5, "y": 2.25, "w": 1.5 },
+ { "label": "Delete", "x": 15.25, "y": 2.25 },
+ { "label": "End", "x": 16.25, "y": 2.25 },
+ { "label": "PageDown", "x": 17.25, "y": 2.25 },
+
+ { "label": "Caps Lock", "x": 0, "y": 3.25, "w": 1.75 },
+ { "label": "A", "x": 1.75, "y": 3.25 },
+ { "label": "S", "x": 2.75, "y": 3.25 },
+ { "label": "D", "x": 3.75, "y": 3.25 },
+ { "label": "F", "x": 4.75, "y": 3.25 },
+ { "label": "G", "x": 5.75, "y": 3.25 },
+ { "label": "H", "x": 6.75, "y": 3.25 },
+ { "label": "J", "x": 7.75, "y": 3.25 },
+ { "label": "K", "x": 8.75, "y": 3.25 },
+ { "label": "L", "x": 9.75, "y": 3.25 },
+ { "label": ";", "x": 10.75, "y": 3.25 },
+ { "label": "'", "x": 11.75, "y": 3.25 },
+ { "label": "Enter", "x": 12.75, "y": 3.25, "w": 2.25 },
+
+ { "label": "Shift", "x": 0, "y": 4.25, "w": 2.25 },
+ { "label": "Z", "x": 2.25, "y": 4.25 },
+ { "label": "X", "x": 3.25, "y": 4.25 },
+ { "label": "C", "x": 4.25, "y": 4.25 },
+ { "label": "V", "x": 5.25, "y": 4.25 },
+ { "label": "B", "x": 6.25, "y": 4.25 },
+ { "label": "N", "x": 7.25, "y": 4.25 },
+ { "label": "M", "x": 8.25, "y": 4.25 },
+ { "label": ",", "x": 9.25, "y": 4.25 },
+ { "label": ".", "x": 10.25, "y": 4.25 },
+ { "label": "/", "x": 11.25, "y": 4.25 },
+ { "label": "Shift", "x": 12.25, "y": 4.25, "w": 2.75 },
+ { "label": "\u2191", "x": 16.25, "y": 4.25 },
+
+ { "label": "Ctrl", "x": 0, "y": 5.25, "w": 1.25 },
+ { "label": "Win", "x": 1.25, "y": 5.25, "w": 1.25 },
+ { "label": "Alt", "x": 2.5, "y": 5.25, "w": 1.25 },
+ { "label": "Space", "x": 3.75, "y": 5.25, "w": 6.25 },
+ { "label": "Alt", "x": 10, "y": 5.25, "w": 1.25 },
+ { "label": "Fn", "x": 11.25, "y": 5.25, "w": 1.25 },
+ { "label": "Win", "x": 12.5, "y": 5.25, "w": 1.25 },
+ { "label": "Ctrl", "x": 13.75, "y": 5.25, "w": 1.25 },
+ { "label": "\u2190", "x": 15.25, "y": 5.25 },
+ { "label": "\u2193", "x": 16.25, "y": 5.25 },
+ { "label": "\u2192", "x": 17.25, "y": 5.25 }
+ ]
+ }
+ }
+}
diff --git a/keyboards/wuque/tata80/wk/keymaps/default/keymap.c b/keyboards/wuque/tata80/wk/keymaps/default/keymap.c
new file mode 100644
index 0000000000..ea4680a0fc
--- /dev/null
+++ b/keyboards/wuque/tata80/wk/keymaps/default/keymap.c
@@ -0,0 +1,36 @@
+/* Copyright 2022 wuque
+ *
+ * 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_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_PSCR, KC_SCRL, KC_PAUS,
+ 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_INS, KC_HOME, KC_PGUP,
+ 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_DEL, KC_END, KC_PGDN,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+ [1] = LAYOUT(
+ _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ )
+};
diff --git a/keyboards/wuque/tata80/wk/keymaps/via/keymap.c b/keyboards/wuque/tata80/wk/keymaps/via/keymap.c
new file mode 100644
index 0000000000..134eca5af1
--- /dev/null
+++ b/keyboards/wuque/tata80/wk/keymaps/via/keymap.c
@@ -0,0 +1,51 @@
+/* Copyright 2022 wuque
+ *
+ * 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_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_PSCR, KC_SCRL, KC_PAUS,
+ 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_INS, KC_HOME, KC_PGUP,
+ 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_DEL, KC_END, KC_PGDN,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+ [1] = LAYOUT(
+ _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+ [2] = LAYOUT(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+ [3] = LAYOUT(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ )
+};
diff --git a/keyboards/wuque/tata80/wk/keymaps/via/rules.mk b/keyboards/wuque/tata80/wk/keymaps/via/rules.mk
new file mode 100644
index 0000000000..43061db1dd
--- /dev/null
+++ b/keyboards/wuque/tata80/wk/keymaps/via/rules.mk
@@ -0,0 +1,2 @@
+VIA_ENABLE = yes
+LTO_ENABLE = yes
\ No newline at end of file
diff --git a/keyboards/wuque/tata80/wk/keymaps/vial/config.h b/keyboards/wuque/tata80/wk/keymaps/vial/config.h
new file mode 100644
index 0000000000..b6c42aef33
--- /dev/null
+++ b/keyboards/wuque/tata80/wk/keymaps/vial/config.h
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+
+#pragma once
+
+#define VIAL_KEYBOARD_UID {0x6F, 0x39, 0x42, 0x3A, 0x41, 0x83, 0xFD, 0x60}
+#define VIAL_UNLOCK_COMBO_ROWS { 0, 2 }
+#define VIAL_UNLOCK_COMBO_COLS { 0, 13 }
+#define VIAL_TAP_DANCE_ENTRIES 4
+#define VIAL_COMBO_ENTRIES 4
+#define VIAL_KEY_OVERRIDE_ENTRIES 4
+#define DYNAMIC_KEYMAP_LAYER_COUNT 3
+
diff --git a/keyboards/wuque/tata80/wk/keymaps/vial/keymap.c b/keyboards/wuque/tata80/wk/keymaps/vial/keymap.c
new file mode 100644
index 0000000000..ea4680a0fc
--- /dev/null
+++ b/keyboards/wuque/tata80/wk/keymaps/vial/keymap.c
@@ -0,0 +1,36 @@
+/* Copyright 2022 wuque
+ *
+ * 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_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_PSCR, KC_SCRL, KC_PAUS,
+ 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_INS, KC_HOME, KC_PGUP,
+ 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_DEL, KC_END, KC_PGDN,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+ [1] = LAYOUT(
+ _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ )
+};
diff --git a/keyboards/wuque/tata80/wk/keymaps/vial/rules.mk b/keyboards/wuque/tata80/wk/keymaps/vial/rules.mk
new file mode 100644
index 0000000000..8ff1f2319b
--- /dev/null
+++ b/keyboards/wuque/tata80/wk/keymaps/vial/rules.mk
@@ -0,0 +1,3 @@
+VIA_ENABLE = yes
+LTO_ENABLE = yes
+VIAL_ENABLE = yes
diff --git a/keyboards/wuque/tata80/wk/keymaps/vial/vial.json b/keyboards/wuque/tata80/wk/keymaps/vial/vial.json
new file mode 100644
index 0000000000..9c10ce9110
--- /dev/null
+++ b/keyboards/wuque/tata80/wk/keymaps/vial/vial.json
@@ -0,0 +1,186 @@
+{
+ "name": "Tata80",
+ "vendorId": "0x2365",
+ "productId": "0x0168",
+ "lighting": "none",
+ "matrix": {"rows": 6, "cols": 17},
+ "layouts": {
+ "keymap": [
+ [
+ "0,0",
+ {
+ "x": 0.25
+ },
+ "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.25
+ },
+ "0,14",
+ "0,15",
+ "0,16"
+ ],
+ [
+ {
+ "y": 0.25
+ },
+ "1,0",
+ "1,1",
+ "1,2",
+ "1,3",
+ "1,4",
+ "1,5",
+ "1,6",
+ "1,7",
+ "1,8",
+ "1,9",
+ "1,10",
+ "1,11",
+ "1,12",
+ {
+ "w": 2
+ },
+ "1,13",
+ {
+ "x": 0.25
+ },
+ "1,14",
+ "1,15",
+ "1,16"
+ ],
+ [
+ {
+ "w": 1.5
+ },
+ "2,0",
+ "2,1",
+ "2,2",
+ "2,3",
+ "2,4",
+ "2,5",
+ "2,6",
+ "2,7",
+ "2,8",
+ "2,9",
+ "2,10",
+ "2,11",
+ "2,12",
+ {
+ "w": 1.5
+ },
+ "2,13",
+ {
+ "x": 0.25
+ },
+ "2,14",
+ "2,15",
+ "2,16"
+ ],
+ [
+ {
+ "w": 1.72
+ },
+ "3,0",
+ "3,1",
+ "3,2",
+ "3,3",
+ "3,4",
+ "3,5",
+ "3,6",
+ "3,7",
+ "3,8",
+ "3,9",
+ "3,10",
+ "3,11",
+ {
+ "w": 2.25
+ },
+ "3,13"
+ ],
+ [
+ {
+ "w": 2.25
+ },
+ "4,0",
+ "4,2",
+ "4,3",
+ "4,4",
+ "4,5",
+ "4,6",
+ "4,7",
+ "4,8",
+ "4,9",
+ "4,10",
+ "4,11",
+ {
+ "w": 2.75
+ },
+ "4,13",
+ {
+ "x": 1.25
+ },
+ "4,15"
+ ],
+ [
+ {
+ "w": 1.25
+ },
+ "5,0",
+ {
+ "w": 1.25
+ },
+ "5,1",
+ {
+ "w": 1.25
+ },
+ "5,2",
+ {
+ "w": 6.25
+ },
+ "5,6",
+ {
+ "w": 1.25
+ },
+ "5,9",
+ {
+ "w": 1.25
+ },
+ "5,10",
+ {
+ "w": 1.25
+ },
+ "5,11",
+ {
+ "w": 1.25
+ },
+ "5,13",
+ {
+ "x": 0.25
+ },
+ "5,14",
+ "5,15",
+ "5,16"
+ ]
+ ]
+ }
+}
diff --git a/keyboards/wuque/tata80/wk/readme.md b/keyboards/wuque/tata80/wk/readme.md
new file mode 100644
index 0000000000..dc47fce485
--- /dev/null
+++ b/keyboards/wuque/tata80/wk/readme.md
@@ -0,0 +1,19 @@
+# Tata80
+
+Support Atmega32u4 keyboard, with a specific configuration
+
+* Keyboard Maintainer: [zoumeiguang2000](https://github.com/zoumeiguang2000)
+* Hardware Supported: Atmega32u4
+
+## Bootloader
+
+* **Physical reset button**: Short press the button on the back of the PCB to enter the Bootloader and flash the firmware
+Make example for this keyboard (after setting up your build environment):
+
+ make wuque/tata80/wk:default
+
+Flashing example for this keyboard:
+
+ make wuque/tata80/wk: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/wuque/tata80/wk/rules.mk b/keyboards/wuque/tata80/wk/rules.mk
new file mode 100644
index 0000000000..93c8ae6d48
--- /dev/null
+++ b/keyboards/wuque/tata80/wk/rules.mk
@@ -0,0 +1,13 @@
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = no # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = no # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
+NKRO_ENABLE = no # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
+
diff --git a/keyboards/wuque/tata80/wk/wk.c b/keyboards/wuque/tata80/wk/wk.c
new file mode 100644
index 0000000000..1846559718
--- /dev/null
+++ b/keyboards/wuque/tata80/wk/wk.c
@@ -0,0 +1,16 @@
+/* Copyright 2022 wuque
+ *
+ * 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 "wk.h"
diff --git a/keyboards/wuque/tata80/wk/wk.h b/keyboards/wuque/tata80/wk/wk.h
new file mode 100644
index 0000000000..d166d4312c
--- /dev/null
+++ b/keyboards/wuque/tata80/wk/wk.h
@@ -0,0 +1,44 @@
+/* Copyright 2022 wuque
+ *
+ * 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 "quantum.h"
+
+/* This is a shortcut to help you visually see your layout.
+ *
+ * The first section contains all of the arguments representing the physical
+ * layout of the board and position of the keys.
+ *
+ * The second converts the arguments into a two-dimensional array which
+ * represents the switch matrix.
+ */
+#define LAYOUT( \
+ k000, k001, k002, k003, k004, k005, k006, k007, k008, k009, k010, k011, k012, k013, k014, k015, k016, \
+ k100, k101, k102, k103, k104, k105, k106, k107, k108, k109, k110, k111, k112, k113, k114, k115, k116, \
+ k200, k201, k202, k203, k204, k205, k206, k207, k208, k209, k210, k211, k212, k213, k214, k215, k216, \
+ k300, k301, k302, k303, k304, k305, k306, k307, k308, k309, k310, k311, k313, \
+ k400, k402, k403, k404, k405, k406, k407, k408, k409, k410, k411, k413, k415, \
+ k500, k501, k502, k506, k509, k510, k511, k513, k514, k515, k516 \
+) \
+{ \
+ { k000, k001, k002, k003, k004, k005, k006, k007, k008, k009, k010, k011, k012, k013, k014, k015, k016 }, \
+ { k100, k101, k102, k103, k104, k105, k106, k107, k108, k109, k110, k111, k112, k113, k114, k115, k116 }, \
+ { k200, k201, k202, k203, k204, k205, k206, k207, k208, k209, k210, k211, k212, k213, k214, k215, k216 }, \
+ { k300, k301, k302, k303, k304, k305, k306, k307, k308, k309, k310, k311, KC_NO, k313, KC_NO, KC_NO, KC_NO }, \
+ { k400, KC_NO, k402, k403, k404, k405, k406, k407, k408, k409, k410, k411, KC_NO, k413, KC_NO, k415, KC_NO }, \
+ { k500, k501, k502, KC_NO, KC_NO, KC_NO, k506, KC_NO, KC_NO, k509, k510, k511, KC_NO, k513, k514, k515, k516 } \
+}
From be45071b5fb0024a106c867b23f27a633dfd7bef Mon Sep 17 00:00:00 2001
From: Vino Rodrigues <366673+vinorodrigues@users.noreply.github.com>
Date: Sun, 21 May 2023 07:29:53 +1000
Subject: [PATCH 43/69] [Keyboard] Add Moondrop Dash75 (#462)
* Add Moondrop Dash75
* Update config.h
---
keyboards/moondrop/dash75/info.json | 119 ++++++++++++++++++
.../dash75/keymaps/default/keymap.json | 18 +++
.../moondrop/dash75/keymaps/vial/config.h | 10 ++
.../moondrop/dash75/keymaps/vial/keymap.c | 24 ++++
.../moondrop/dash75/keymaps/vial/rules.mk | 3 +
.../moondrop/dash75/keymaps/vial/vial.json | 13 ++
keyboards/moondrop/dash75/r1/config.h | 12 ++
keyboards/moondrop/dash75/r1/info.json | 6 +
keyboards/moondrop/dash75/r1/rules.mk | 2 +
keyboards/moondrop/dash75/readme.md | 29 +++++
10 files changed, 236 insertions(+)
create mode 100644 keyboards/moondrop/dash75/info.json
create mode 100644 keyboards/moondrop/dash75/keymaps/default/keymap.json
create mode 100644 keyboards/moondrop/dash75/keymaps/vial/config.h
create mode 100644 keyboards/moondrop/dash75/keymaps/vial/keymap.c
create mode 100644 keyboards/moondrop/dash75/keymaps/vial/rules.mk
create mode 100644 keyboards/moondrop/dash75/keymaps/vial/vial.json
create mode 100644 keyboards/moondrop/dash75/r1/config.h
create mode 100644 keyboards/moondrop/dash75/r1/info.json
create mode 100644 keyboards/moondrop/dash75/r1/rules.mk
create mode 100644 keyboards/moondrop/dash75/readme.md
diff --git a/keyboards/moondrop/dash75/info.json b/keyboards/moondrop/dash75/info.json
new file mode 100644
index 0000000000..13e28fb325
--- /dev/null
+++ b/keyboards/moondrop/dash75/info.json
@@ -0,0 +1,119 @@
+{
+ "manufacturer": "MOONDROP",
+ "keyboard_name": "Dash 75",
+ "maintainer": "vinorodrigues",
+ "bootloader": "atmel-dfu",
+ "features": {
+ "bootmagic": true,
+ "command": false,
+ "console": false,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": false,
+ "lto": true
+ },
+ "diode_direction": "COL2ROW",
+ "matrix_pins": {
+ "rows": ["B6", "B5", "B4", "D7", "D6", "D4"],
+ "cols": ["C6", "B2", "B3", "F7", "F6", "F5", "F4", "F1", "F0", "B7", "D5", "D3", "D2", "D0", "D1"]
+ },
+ "processor": "atmega32u4",
+ "url": "https://moondroplab.com/en/products/dash75",
+ "usb": {
+ "vid": "0x6DD4",
+ "pid": "0x7501",
+ "device_version": "1.5.0"
+ },
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ { "matrix": [0, 0], "x": 0, "y": 0 },
+ { "matrix": [0, 1], "x": 1.5, "y": 0 },
+ { "matrix": [0, 2], "x": 2.5, "y": 0 },
+ { "matrix": [0, 3], "x": 3.5, "y": 0 },
+ { "matrix": [0, 4], "x": 4.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.5, "y": 0 },
+ { "matrix": [0, 11], "x": 11.5, "y": 0 },
+ { "matrix": [0, 12], "x": 12.5, "y": 0 },
+ { "matrix": [0, 13], "x": 13.5, "y": 0 },
+ { "matrix": [0, 14], "x": 15, "y": 0 },
+
+ { "matrix": [1, 0], "x": 0, "y": 1.25 },
+ { "matrix": [1, 1], "x": 1, "y": 1.25 },
+ { "matrix": [1, 2], "x": 2, "y": 1.25 },
+ { "matrix": [1, 3], "x": 3, "y": 1.25 },
+ { "matrix": [1, 4], "x": 4, "y": 1.25 },
+ { "matrix": [1, 5], "x": 5, "y": 1.25 },
+ { "matrix": [1, 6], "x": 6, "y": 1.25 },
+ { "matrix": [1, 7], "x": 7, "y": 1.25 },
+ { "matrix": [1, 8], "x": 8, "y": 1.25 },
+ { "matrix": [1, 9], "x": 9, "y": 1.25 },
+ { "matrix": [1, 10], "x": 10, "y": 1.25 },
+ { "matrix": [1, 11], "x": 11, "y": 1.25 },
+ { "matrix": [1, 12], "x": 12, "y": 1.25 },
+ { "matrix": [1, 13], "x": 13, "y": 1.25, "w": 2 },
+ { "matrix": [1, 14], "x": 15, "y": 1.25 },
+
+ { "matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5 },
+ { "matrix": [2, 1], "x": 1.5, "y": 2.25 },
+ { "matrix": [2, 2], "x": 2.5, "y": 2.25 },
+ { "matrix": [2, 3], "x": 3.5, "y": 2.25 },
+ { "matrix": [2, 4], "x": 4.5, "y": 2.25 },
+ { "matrix": [2, 5], "x": 5.5, "y": 2.25 },
+ { "matrix": [2, 6], "x": 6.5, "y": 2.25 },
+ { "matrix": [2, 7], "x": 7.5, "y": 2.25 },
+ { "matrix": [2, 8], "x": 8.5, "y": 2.25 },
+ { "matrix": [2, 9], "x": 9.5, "y": 2.25 },
+ { "matrix": [2, 10], "x": 10.5, "y": 2.25 },
+ { "matrix": [2, 11], "x": 11.5, "y": 2.25 },
+ { "matrix": [2, 12], "x": 12.5, "y": 2.25 },
+ { "matrix": [2, 13], "x": 13.5, "y": 2.25, "w": 1.5 },
+ { "matrix": [2, 14], "x": 15, "y": 2.25 },
+
+ { "matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75 },
+ { "matrix": [3, 1], "x": 1.75, "y": 3.25 },
+ { "matrix": [3, 2], "x": 2.75, "y": 3.25 },
+ { "matrix": [3, 3], "x": 3.75, "y": 3.25 },
+ { "matrix": [3, 4], "x": 4.75, "y": 3.25 },
+ { "matrix": [3, 5], "x": 5.75, "y": 3.25 },
+ { "matrix": [3, 6], "x": 6.75, "y": 3.25 },
+ { "matrix": [3, 7], "x": 7.75, "y": 3.25 },
+ { "matrix": [3, 8], "x": 8.75, "y": 3.25 },
+ { "matrix": [3, 9], "x": 9.75, "y": 3.25 },
+ { "matrix": [3, 10], "x": 10.75, "y": 3.25 },
+ { "matrix": [3, 11], "x": 11.75, "y": 3.25 },
+ { "matrix": [3, 13], "x": 12.75, "y": 3.25, "w": 2.25 },
+ { "matrix": [3, 14], "x": 15, "y": 3.25 },
+
+ { "matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25 },
+ { "matrix": [4, 1], "x": 2.25, "y": 4.25 },
+ { "matrix": [4, 2], "x": 3.25, "y": 4.25 },
+ { "matrix": [4, 3], "x": 4.25, "y": 4.25 },
+ { "matrix": [4, 4], "x": 5.25, "y": 4.25 },
+ { "matrix": [4, 5], "x": 6.25, "y": 4.25 },
+ { "matrix": [4, 6], "x": 7.25, "y": 4.25 },
+ { "matrix": [4, 7], "x": 8.25, "y": 4.25 },
+ { "matrix": [4, 8], "x": 9.25, "y": 4.25 },
+ { "matrix": [4, 9], "x": 10.25, "y": 4.25 },
+ { "matrix": [4, 10], "x": 11.25, "y": 4.25 },
+ { "matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 1.75 },
+ { "matrix": [4, 13], "x": 14, "y": 4.25 },
+ { "matrix": [4, 14], "x": 15, "y": 4.25 },
+
+ { "matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.25 },
+ { "matrix": [5, 1], "x": 1.25, "y": 5.25, "w": 1.25 },
+ { "matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.25 },
+ { "matrix": [5, 5], "x": 3.75, "y": 5.25, "w": 6.25 },
+ { "matrix": [5, 9], "x": 10, "y": 5.25, "w": 1.25 },
+ { "matrix": [5, 10], "x": 11.25, "y": 5.25, "w": 1.25 },
+ { "matrix": [5, 12], "x": 13, "y": 5.25 },
+ { "matrix": [5, 13], "x": 14, "y": 5.25 },
+ { "matrix": [5, 14], "x": 15, "y": 5.25 }
+ ]
+ }
+ }
+}
diff --git a/keyboards/moondrop/dash75/keymaps/default/keymap.json b/keyboards/moondrop/dash75/keymaps/default/keymap.json
new file mode 100644
index 0000000000..67811c18a3
--- /dev/null
+++ b/keyboards/moondrop/dash75/keymaps/default/keymap.json
@@ -0,0 +1,18 @@
+{
+ "version": 1,
+ "notes": "This file is a keymap.json file for moondrop/dash75",
+ "keyboard": "moondrop/dash75",
+ "keymap": "default",
+ "layout": "LAYOUT",
+ "author": "vinorodrigues",
+ "layers": [
+ [
+ "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_PSCR",
+ "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_INS",
+ "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_DEL",
+ "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_PGUP",
+ "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_PGDN",
+ "KC_LCTL", "KC_LGUI", "KC_LALT", "KC_SPC", "KC_RALT", "KC_APP", "KC_LEFT", "KC_DOWN", "KC_RGHT"
+ ]
+ ]
+}
diff --git a/keyboards/moondrop/dash75/keymaps/vial/config.h b/keyboards/moondrop/dash75/keymaps/vial/config.h
new file mode 100644
index 0000000000..38194d0836
--- /dev/null
+++ b/keyboards/moondrop/dash75/keymaps/vial/config.h
@@ -0,0 +1,10 @@
+// Copyright 2023 moondroplab (@moondroplab)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#define DYNAMIC_KEYMAP_LAYER_COUNT 2
+
+#define VIAL_KEYBOARD_UID {0xF5, 0xD5, 0x49, 0x62, 0xFE, 0x77, 0x30, 0x64}
+#define VIAL_UNLOCK_COMBO_ROWS { 0, 3 }
+#define VIAL_UNLOCK_COMBO_COLS { 0, 13 }
diff --git a/keyboards/moondrop/dash75/keymaps/vial/keymap.c b/keyboards/moondrop/dash75/keymaps/vial/keymap.c
new file mode 100644
index 0000000000..76ad4c55aa
--- /dev/null
+++ b/keyboards/moondrop/dash75/keymaps/vial/keymap.c
@@ -0,0 +1,24 @@
+// Copyright 2023 moondroplab (@moondroplab)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [0] = LAYOUT(
+ 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_PSCR,
+ 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_INS,
+ 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_DEL,
+ 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_PGUP,
+ 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_PGDN,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_APP, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+
+ [1] = LAYOUT(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______
+ )
+};
diff --git a/keyboards/moondrop/dash75/keymaps/vial/rules.mk b/keyboards/moondrop/dash75/keymaps/vial/rules.mk
new file mode 100644
index 0000000000..f24b31f0a7
--- /dev/null
+++ b/keyboards/moondrop/dash75/keymaps/vial/rules.mk
@@ -0,0 +1,3 @@
+# Vial options
+VIA_ENABLE = yes
+VIAL_ENABLE = yes
diff --git a/keyboards/moondrop/dash75/keymaps/vial/vial.json b/keyboards/moondrop/dash75/keymaps/vial/vial.json
new file mode 100644
index 0000000000..b609ec4c18
--- /dev/null
+++ b/keyboards/moondrop/dash75/keymaps/vial/vial.json
@@ -0,0 +1,13 @@
+{
+ "matrix": {"rows": 6, "cols": 15},
+ "layouts": {
+ "keymap":[
+ [{"c":"#777777"},"0,0",{"x":0.5,"c":"#cccccc"},"0,1","0,2","0,3","0,4",{"x":0.5},"0,6","0,7","0,8","0,9",{"x":0.5},"0,10","0,11","0,12","0,13",{"x":0.5},"0,14"],
+ [{"y":0.25},"1,0","1,1","1,2","1,3","1,4","1,5","1,6","1,7","1,8","1,9","1,10","1,11","1,12",{"w":2},"1,13","1,14"],
+ [{"w":1.5},"2,0","2,1","2,2","2,3","2,4","2,5","2,6","2,7","2,8","2,9","2,10","2,11","2,12",{"w":1.5},"2,13","2,14"],
+ [{"c":"#aaaaaa","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",{"c":"#cccccc"},"3,14"],
+ [{"c":"#aaaaaa","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,12",{"c":"#777777"},"4,13",{"c":"#cccccc"},"4,14"],
+ [{"c":"#aaaaaa","w":1.25},"5,0",{"w":1.25},"5,1",{"w":1.25},"5,2",{"c":"#cccccc","w":6.25},"5,5",{"c":"#aaaaaa","w":1.25},"5,9",{"w":1.25},"5,10",{"x":0.5,"c":"#777777"},"5,12","5,13","5,14"]
+ ]
+ }
+}
diff --git a/keyboards/moondrop/dash75/r1/config.h b/keyboards/moondrop/dash75/r1/config.h
new file mode 100644
index 0000000000..1fc7844cab
--- /dev/null
+++ b/keyboards/moondrop/dash75/r1/config.h
@@ -0,0 +1,12 @@
+// Copyright 2023 moondroplab (@moondroplab)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#ifndef SERIAL_NUMBER
+# define SERIAL_NUMBER "Dash 75"
+#endif
+
+#define USB_SUSPEND_WAKEUP_DELAY 5000 // wait for USB hub to start
+
+#define HOLD_ON_OTHER_KEY_PRESS
diff --git a/keyboards/moondrop/dash75/r1/info.json b/keyboards/moondrop/dash75/r1/info.json
new file mode 100644
index 0000000000..d908748c6c
--- /dev/null
+++ b/keyboards/moondrop/dash75/r1/info.json
@@ -0,0 +1,6 @@
+{
+ "usb": {
+ "pid": "0x7501",
+ "device_version": "1.6.0"
+ }
+}
diff --git a/keyboards/moondrop/dash75/r1/rules.mk b/keyboards/moondrop/dash75/r1/rules.mk
new file mode 100644
index 0000000000..6441046fb6
--- /dev/null
+++ b/keyboards/moondrop/dash75/r1/rules.mk
@@ -0,0 +1,2 @@
+# This file intentionally left blank
+# ** Settings are Data Driven and reside in `info.json` **
diff --git a/keyboards/moondrop/dash75/readme.md b/keyboards/moondrop/dash75/readme.md
new file mode 100644
index 0000000000..5b015f6d5b
--- /dev/null
+++ b/keyboards/moondrop/dash75/readme.md
@@ -0,0 +1,29 @@
+# Moondrop Dash75
+
+![Moondrop Dash75](https://i.imgur.com/mxaYcvqh.jpg)
+
+The 75%, Commodore 64 inspired, keyboard with integrated USB Hub and headphone DAC/Amp
+
+* Keyboard Maintainer: [vinorodrigues](https://github.com/vinorodrigues)
+* Hardware Supported:
+ * Moondrop Dash75
+* Hardware Availability: [moondroplab.com](https://moondroplab.com/en/products/dash75)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make moondrop/dash75/r1:default
+
+Flashing example for this keyboard:
+
+ make moondrop/dash75/r1:default:flash
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information.
+Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+## Bootloader
+
+Enter the bootloader in 3 ways:
+
+* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
+* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
From 61a3cd6a9c30757a54c625d65c8f6535436d376a Mon Sep 17 00:00:00 2001
From: juanlufont
Date: Sun, 21 May 2023 05:25:13 +0200
Subject: [PATCH 44/69] Add Vial support for Zoom65 Lite version (#467)
* Fix row,col values for encoder click
* Add some notes about configuration
* Remove old encoder functions, not required anymore
---
.../zoom65_lite/keymaps/vial/config.h | 7 +
.../zoom65_lite/keymaps/vial/keymap.c | 49 ++++++
.../zoom65_lite/keymaps/vial/readme.md | 13 ++
.../zoom65_lite/keymaps/vial/rules.mk | 7 +
.../zoom65_lite/keymaps/vial/vial.json | 139 ++++++++++++++++++
5 files changed, 215 insertions(+)
create mode 100644 keyboards/meletrix/zoom65_lite/keymaps/vial/config.h
create mode 100644 keyboards/meletrix/zoom65_lite/keymaps/vial/keymap.c
create mode 100644 keyboards/meletrix/zoom65_lite/keymaps/vial/readme.md
create mode 100644 keyboards/meletrix/zoom65_lite/keymaps/vial/rules.mk
create mode 100644 keyboards/meletrix/zoom65_lite/keymaps/vial/vial.json
diff --git a/keyboards/meletrix/zoom65_lite/keymaps/vial/config.h b/keyboards/meletrix/zoom65_lite/keymaps/vial/config.h
new file mode 100644
index 0000000000..74bcea52f9
--- /dev/null
+++ b/keyboards/meletrix/zoom65_lite/keymaps/vial/config.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#define VIAL_KEYBOARD_UID {0xBB, 0x38, 0x62, 0xAC, 0x5F, 0x1D, 0x0B, 0x91}
+
+#define VIAL_UNLOCK_COMBO_ROWS { 0, 0 }
+#define VIAL_UNLOCK_COMBO_COLS { 0, 13 }
+#define DYNAMIC_KEYMAP_LAYER_COUNT 3
diff --git a/keyboards/meletrix/zoom65_lite/keymaps/vial/keymap.c b/keyboards/meletrix/zoom65_lite/keymaps/vial/keymap.c
new file mode 100644
index 0000000000..cfd34fe622
--- /dev/null
+++ b/keyboards/meletrix/zoom65_lite/keymaps/vial/keymap.c
@@ -0,0 +1,49 @@
+/* Copyright 2021 meletrix
+ *
+ * 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
+
+#if defined(ENCODER_MAP_ENABLE)
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+ [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
+ [1] = { ENCODER_CCW_CW(KC_MS_WH_DOWN, KC_MS_WH_UP) },
+ [2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
+};
+#endif
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [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_BSPC, KC_BSPC, KC_VOLU, KC_MUTE, KC_VOLD,
+ 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_DEL,
+ 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_PGUP,
+ KC_LSFT, 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_SPC, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+ [1] = LAYOUT_all(
+ KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, KC_MNXT, KC_MPLY, KC_MPRV,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+ [2] = LAYOUT_all(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+};
diff --git a/keyboards/meletrix/zoom65_lite/keymaps/vial/readme.md b/keyboards/meletrix/zoom65_lite/keymaps/vial/readme.md
new file mode 100644
index 0000000000..a5eb91374e
--- /dev/null
+++ b/keyboards/meletrix/zoom65_lite/keymaps/vial/readme.md
@@ -0,0 +1,13 @@
+# The Vial keymap for Zoom65 Lite
+
+This is the Vial keymap for the Zoom65 Lite.
+
+Several (arbitrary) QMK features have been modified / disabled to reduce the size of the final firmware binary and make it fit in the (otherwise kind of limited) memory of the `atmega32u4` microcontroller.
+
+These arbitrary configurations are:
+
+- reduce the number predefined keyboard layouts to 3
+- disable *key override* feature
+- disable *combo* feature
+
+If you any of the above configuration decisions conflicts with your needs, feel free to adjust the configuration as long as the final binary still fits in the microcontroller memory.
diff --git a/keyboards/meletrix/zoom65_lite/keymaps/vial/rules.mk b/keyboards/meletrix/zoom65_lite/keymaps/vial/rules.mk
new file mode 100644
index 0000000000..90a8b087d0
--- /dev/null
+++ b/keyboards/meletrix/zoom65_lite/keymaps/vial/rules.mk
@@ -0,0 +1,7 @@
+VIA_ENABLE = yes
+VIAL_ENABLE = yes
+LTO_ENABLE = yes
+ENCODER_MAP_ENABLE = yes
+
+COMBO_ENABLE = no
+KEY_OVERRIDE_ENABLE = no
diff --git a/keyboards/meletrix/zoom65_lite/keymaps/vial/vial.json b/keyboards/meletrix/zoom65_lite/keymaps/vial/vial.json
new file mode 100644
index 0000000000..e248c37944
--- /dev/null
+++ b/keyboards/meletrix/zoom65_lite/keymaps/vial/vial.json
@@ -0,0 +1,139 @@
+{
+ "name": "Zoom65 Lite",
+ "vendorId": "0x806C",
+ "productId": "0x0005",
+ "lighting": "none",
+ "matrix": {
+ "rows": 5,
+ "cols": 15
+ },
+ "layouts": {
+ "labels": [
+ "Split Backspace",
+ "ISO Enter",
+ "Split Left Shift",
+ "Split Spacebar"
+ ],
+ "keymap": [
+ [{ "x": 15.5 }, "1,13\n\n\n0,1", "2,13\n\n\n0,1"],
+ [
+ { "y": 0.25, "x": 2.5 },
+ "0,0",
+ "0,1",
+ "0,2",
+ "0,3",
+ "0,4",
+ "0,5",
+ "0,6",
+ "0,7",
+ "0,8",
+ "0,9",
+ "0,10",
+ "0,11",
+ "0,12",
+ { "w": 2 },
+ "0,13\n\n\n0,0",
+ { "x": 1.25 },
+ "0,0\n\n\n\n\n\n\n\n\ne",
+ "0,1\n\n\n\n\n\n\n\n\ne"
+ ],
+ [
+ { "x": 2.5, "w": 1.5 },
+ "1,0",
+ "1,1",
+ "1,2",
+ "1,3",
+ "1,4",
+ "1,5",
+ "1,6",
+ "1,7",
+ "1,8",
+ "1,9",
+ "1,10",
+ "1,11",
+ "1,12",
+ { "w": 1.5 },
+ "1,13\n\n\n1,0",
+ "1,14",
+ { "x": 0.75 },
+ "0,14",
+ {
+ "x": 1.75,
+ "w": 1.25,
+ "h": 2,
+ "w2": 1.5,
+ "h2": 1,
+ "x2": -0.25
+ },
+ "1,13\n\n\n1,1"
+ ],
+ [
+ { "x": 2.5, "w": 1.75 },
+ "2,0",
+ "2,1",
+ "2,2",
+ "2,3",
+ "2,4",
+ "2,5",
+ "2,6",
+ "2,7",
+ "2,8",
+ "2,9",
+ "2,10",
+ "2,11",
+ { "w": 2.25 },
+ "2,12\n\n\n1,0",
+ "2,14",
+ { "x": 2.5 },
+ "2,12\n\n\n1,1"
+ ],
+ [
+ { "w": 1.25 },
+ "3,0\n\n\n2,1",
+ "3,1\n\n\n2,1",
+ { "x": 0.25, "w": 2.25 },
+ "3,0\n\n\n2,0",
+ "3,2",
+ "3,3",
+ "3,4",
+ "3,5",
+ "3,6",
+ "3,7",
+ "3,8",
+ "3,9",
+ "3,10",
+ "3,11",
+ { "w": 1.75 },
+ "3,12",
+ "3,13",
+ "3,14"
+ ],
+ [
+ { "x": 2.5, "w": 1.25 },
+ "4,0",
+ { "w": 1.25 },
+ "4,1",
+ { "w": 1.25 },
+ "4,2",
+ { "w": 6.25 },
+ "4,6\n\n\n3,0",
+ { "w": 1.25 },
+ "4,10",
+ { "w": 1.25 },
+ "4,11",
+ { "x": 0.5 },
+ "4,12",
+ "4,13",
+ "4,14"
+ ],
+ [
+ { "y": 0.25, "x": 6.25, "w": 2.25 },
+ "4,4\n\n\n3,1",
+ { "w": 1.25 },
+ "4,6\n\n\n3,1",
+ { "w": 2.75 },
+ "4,8\n\n\n3,1"
+ ]
+ ]
+ }
+}
From 5b6acd035d1ff912fd2bb9cf9f3144f29f229728 Mon Sep 17 00:00:00 2001
From: Dani <58542682+DPoplin@users.noreply.github.com>
Date: Sun, 28 May 2023 00:25:26 -0500
Subject: [PATCH 45/69] Add Rainkeebs Twoyo (#465)
* add reviung53 vial files
* Revert "add reviung53 vial files"
This reverts commit 074be536deda760843efda31f0c5ee9dbbb5a5e7.
* add rainkeebs twoyo
* add vial.json
* add layout options
* add config.h
* move config to info.json
* decrease firmware size
* add encoder mapping
* fix layout
* fix split layout keymap
* prettify vial.json
* fix file formatting
* reduce firmware size with tapdance
* enable encoder map for default
---
keyboards/rainkeebs/twoyo/config.h | 28 ++++
keyboards/rainkeebs/twoyo/info.json | 144 ++++++++++++++++++
.../rainkeebs/twoyo/keymaps/default/keymap.c | 57 +++++++
.../rainkeebs/twoyo/keymaps/via/keymap.c | 117 ++++++++++++++
.../rainkeebs/twoyo/keymaps/via/rules.mk | 1 +
.../rainkeebs/twoyo/keymaps/vial/config.h | 8 +
.../rainkeebs/twoyo/keymaps/vial/keymap.c | 57 +++++++
.../rainkeebs/twoyo/keymaps/vial/rules.mk | 6 +
.../rainkeebs/twoyo/keymaps/vial/vial.json | 87 +++++++++++
keyboards/rainkeebs/twoyo/readme.md | 22 +++
keyboards/rainkeebs/twoyo/rules.mk | 5 +
keyboards/rainkeebs/twoyo/twoyo.c | 16 ++
keyboards/rainkeebs/twoyo/twoyo.h | 35 +++++
13 files changed, 583 insertions(+)
create mode 100644 keyboards/rainkeebs/twoyo/config.h
create mode 100644 keyboards/rainkeebs/twoyo/info.json
create mode 100644 keyboards/rainkeebs/twoyo/keymaps/default/keymap.c
create mode 100644 keyboards/rainkeebs/twoyo/keymaps/via/keymap.c
create mode 100644 keyboards/rainkeebs/twoyo/keymaps/via/rules.mk
create mode 100644 keyboards/rainkeebs/twoyo/keymaps/vial/config.h
create mode 100644 keyboards/rainkeebs/twoyo/keymaps/vial/keymap.c
create mode 100644 keyboards/rainkeebs/twoyo/keymaps/vial/rules.mk
create mode 100644 keyboards/rainkeebs/twoyo/keymaps/vial/vial.json
create mode 100644 keyboards/rainkeebs/twoyo/readme.md
create mode 100644 keyboards/rainkeebs/twoyo/rules.mk
create mode 100644 keyboards/rainkeebs/twoyo/twoyo.c
create mode 100644 keyboards/rainkeebs/twoyo/twoyo.h
diff --git a/keyboards/rainkeebs/twoyo/config.h b/keyboards/rainkeebs/twoyo/config.h
new file mode 100644
index 0000000000..e74c75e600
--- /dev/null
+++ b/keyboards/rainkeebs/twoyo/config.h
@@ -0,0 +1,28 @@
+/* Copyright 2021 Regan Palmer
+ *
+ * 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
+
+/* usb handedness? */
+#define SPLIT_USB_DETECT
+
+/* Set 0 if debouncing isn't needed */
+#define DEBOUNCING 5
+
+/* 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
diff --git a/keyboards/rainkeebs/twoyo/info.json b/keyboards/rainkeebs/twoyo/info.json
new file mode 100644
index 0000000000..678691453d
--- /dev/null
+++ b/keyboards/rainkeebs/twoyo/info.json
@@ -0,0 +1,144 @@
+{
+ "manufacturer": "rainkeebs",
+ "keyboard_name": "Twoyo",
+ "maintainer": "rainkeebs",
+ "bootloader": "caterina",
+ "config_h_features": {
+ "audio": false,
+ "backlight": false,
+ "bootmagic": true,
+ "command": false,
+ "console": false,
+ "encoder": true,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": true,
+ "sleep_led": false
+ },
+ "diode_direction": "COL2ROW",
+ "encoder": {
+ "enabled": true,
+ "rotary": [
+ {
+ "pin_a": "F4",
+ "pin_b": "F5"
+ }
+ ]
+ },
+ "features": {
+ "audio": false,
+ "backlight": false,
+ "bootmagic": true,
+ "command": false,
+ "console": false,
+ "encoder": true,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": true,
+ "sleep_led": false
+ },
+ "height": 4,
+ "keyboard_folder": "rainkeebs/twoyo",
+ "keymaps": {},
+ "matrix_pins": {
+ "cols": ["D1", "B6", "B2", "B3", "B1", "F7"],
+ "rows": ["F6", "C6", "D4", "D0"]
+ },
+ "matrix_size": {
+ "cols": 6,
+ "rows": 8
+ },
+ "mouse_key": {
+ "enabled": true
+ },
+ "parse_errors": [],
+ "parse_warnings": [],
+ "platform": "unknown",
+ "processor": "atmega32u4",
+ "processor_type": "avr",
+ "protocol": "LUFA",
+ "split": {
+ "enabled": true,
+ "encoder": {
+ "right": {
+ "rotary": [
+ {
+ "pin_a": "D1",
+ "pin_b": "D0"
+ }
+ ]
+ }
+ },
+ "matrix_pins": {
+ "right": {
+ "cols": ["D4", "C6", "D7", "E6", "B4", "B5"],
+ "rows": ["F4", "F7", "F6", "B6"]
+ }
+ },
+ "soft_serial_pin": "D3",
+ "transport": {
+ "protocol": "serial"
+ },
+ "usb_detect": {
+ "enabled": false
+ }
+ },
+ "url": "https://www.rainkeebs.mx/product/twoyo-keyboard-kit",
+ "usb": {
+ "device_ver": "0x0001",
+ "device_version": "0.0.1",
+ "pid": "0x616B",
+ "vid": "0x726B"
+ },
+ "width": 14,
+ "layouts": {
+ "LAYOUT": {
+ "c_macro": true,
+ "filename": "keyboards/rainkeebs/twoyo/twoyo.h",
+ "layout": [
+ { "label": "0,0", "matrix": [0, 0], "w": 1, "x": 0, "y": 0 },
+ { "label": "0,1", "matrix": [0, 1], "w": 1, "x": 1, "y": 0 },
+ { "label": "0,2", "matrix": [0, 2], "w": 1, "x": 2, "y": 0 },
+ { "label": "0,3", "matrix": [0, 3], "w": 1, "x": 3, "y": 0 },
+ { "label": "0,4", "matrix": [0, 4], "w": 1, "x": 4, "y": 0 },
+ { "label": "0,5", "matrix": [0, 5], "w": 1, "x": 5, "y": 0 },
+ { "label": "0,6", "matrix": [4, 0], "w": 1, "x": 8, "y": 0 },
+ { "label": "0,7", "matrix": [4, 1], "w": 1, "x": 9, "y": 0 },
+ { "label": "0,8", "matrix": [4, 2], "w": 1, "x": 10, "y": 0 },
+ { "label": "0,9", "matrix": [4, 3], "w": 1, "x": 11, "y": 0 },
+ { "label": "0,10", "matrix": [4, 4], "w": 1, "x": 12, "y": 0 },
+ { "label": "0,11", "matrix": [4, 5], "w": 1, "x": 13, "y": 0 },
+ { "label": "1,0", "matrix": [1, 0], "w": 1.25, "x": 0, "y": 1 },
+ { "label": "1,1", "matrix": [1, 1], "w": 1, "x": 1.25, "y": 1 },
+ { "label": "1,2", "matrix": [1, 2], "w": 1, "x": 2.25, "y": 1 },
+ { "label": "1,3", "matrix": [1, 3], "w": 1, "x": 3.25, "y": 1 },
+ { "label": "1,4", "matrix": [1, 4], "w": 1, "x": 4.25, "y": 1 },
+ { "label": "1,5", "matrix": [1, 5], "w": 1, "x": 5.25, "y": 1 },
+ { "label": "1,7", "matrix": [5, 1], "w": 1, "x": 8.25, "y": 1 },
+ { "label": "1,8", "matrix": [5, 2], "w": 1, "x": 9.25, "y": 1 },
+ { "label": "1,9", "matrix": [5, 3], "w": 1, "x": 10.25, "y": 1 },
+ { "label": "1,10", "matrix": [5, 4], "w": 1, "x": 11.25, "y": 1 },
+ { "label": "1,11", "matrix": [5, 5], "w": 1.75, "x": 12.25, "y": 1 },
+ { "label": "2,0", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 },
+ { "label": "2,1", "matrix": [2, 1], "w": 1, "x": 1.75, "y": 2 },
+ { "label": "2,2", "matrix": [2, 2], "w": 1, "x": 2.75, "y": 2 },
+ { "label": "2,3", "matrix": [2, 3], "w": 1, "x": 3.75, "y": 2 },
+ { "label": "2,4", "matrix": [2, 4], "w": 1, "x": 4.75, "y": 2 },
+ { "label": "2,5", "matrix": [2, 5], "w": 1, "x": 5.75, "y": 2 },
+ { "label": "2,7", "matrix": [6, 1], "w": 1, "x": 8.75, "y": 2 },
+ { "label": "2,8", "matrix": [6, 2], "w": 1, "x": 9.75, "y": 2 },
+ { "label": "2,9", "matrix": [6, 3], "w": 1, "x": 10.75, "y": 2 },
+ { "label": "2,10", "matrix": [6, 4], "w": 1, "x": 11.75, "y": 2 },
+ { "label": "2,11", "matrix": [6, 5], "w": 1.25, "x": 12.75, "y": 2 },
+ { "label": "3,0", "matrix": [3, 0], "w": 1.25, "x": 0, "y": 3 },
+ { "label": "3,1", "matrix": [3, 1], "w": 1, "x": 1.25, "y": 3 },
+ { "label": "3,2", "matrix": [3, 2], "w": 1.25, "x": 2.25, "y": 3 },
+ { "label": "3,4", "matrix": [3, 4], "w": 2.75, "x": 3.5, "y": 3 },
+ { "label": "3,7", "matrix": [7, 1], "w": 2.25, "x": 8.25, "y": 3 },
+ { "label": "3,9", "matrix": [7, 3], "w": 1.25, "x": 10.5, "y": 3 },
+ { "label": "3,10", "matrix": [7, 4], "w": 1, "x": 11.75, "y": 3 },
+ { "label": "3,11", "matrix": [7, 5], "w": 1.25, "x": 12.75, "y": 3 }
+ ]
+ }
+ }
+}
diff --git a/keyboards/rainkeebs/twoyo/keymaps/default/keymap.c b/keyboards/rainkeebs/twoyo/keymaps/default/keymap.c
new file mode 100644
index 0000000000..3f35b2d50b
--- /dev/null
+++ b/keyboards/rainkeebs/twoyo/keymaps/default/keymap.c
@@ -0,0 +1,57 @@
+/* Copyright 2021 Regan Palmer
+ *
+ * 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
+
+#if defined(ENCODER_MAP_ENABLE)
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+ [0] = { ENCODER_CCW_CW(KC_MS_WH_UP, KC_MS_WH_DOWN), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
+ [1] = { ENCODER_CCW_CW(RGB_HUD, RGB_HUI), ENCODER_CCW_CW(RGB_SAD, RGB_SAI) },
+ [2] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI), ENCODER_CCW_CW(RGB_SPD, RGB_SPI) },
+ [3] = { ENCODER_CCW_CW(RGB_RMOD, RGB_MOD), ENCODER_CCW_CW(KC_RIGHT, KC_LEFT) },
+ // Encoder 1 Encoder 2
+};
+#endif
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ LAYOUT(
+ KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPACE,
+ KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_ENTER,
+ KC_LSHIFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, MO(1),
+ KC_LCTRL, KC_LGUI, KC_LALT, MO(2), KC_SPC, KC_RALT, KC_RGUI, KC_RCTRL
+ ),
+
+ LAYOUT(
+ KC_TILDE, KC_EXCLAIM, KC_AT, KC_HASH, KC_DOLLAR, KC_PERCENT, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_TRNS,
+ KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_UNDS, KC_LCBR, KC_RCBR, KC_DQT, KC_COLON, KC_TRNS,
+ KC_TRNS, RESET, KC_NO, KC_NO, KC_NO, KC_PLUS, KC_PIPE, KC_QUES, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ ),
+
+ LAYOUT(
+ KC_GRAVE, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_TRNS,
+ KC_TRNS, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, KC_MINS, KC_LBRC, KC_RBRC, KC_QUOTE, KC_SCLN, KC_TRNS,
+ KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_EQL, KC_BSLS, KC_SLASH, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ ),
+
+ LAYOUT(
+ 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/rainkeebs/twoyo/keymaps/via/keymap.c b/keyboards/rainkeebs/twoyo/keymaps/via/keymap.c
new file mode 100644
index 0000000000..a32c73c291
--- /dev/null
+++ b/keyboards/rainkeebs/twoyo/keymaps/via/keymap.c
@@ -0,0 +1,117 @@
+/* Copyright 2021 Regan Palmer
+ *
+ * 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] = {
+
+ LAYOUT(
+ KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPACE,
+ KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_ENTER,
+ KC_LSHIFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, MO(1),
+ KC_LCTRL, KC_LGUI, KC_LALT, MO(2), KC_SPC, KC_RALT, KC_RGUI, KC_RCTRL
+ ),
+
+ LAYOUT(
+ KC_TILDE, KC_EXCLAIM, KC_AT, KC_HASH, KC_DOLLAR, KC_PERCENT, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_TRNS,
+ KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_UNDS, KC_LCBR, KC_RCBR, KC_DQT, KC_COLON, KC_TRNS,
+ KC_TRNS, RESET, KC_NO, KC_NO, KC_NO, KC_PLUS, KC_PIPE, KC_QUES, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ ),
+
+ LAYOUT(
+ KC_GRAVE, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_TRNS,
+ KC_TRNS, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, KC_MINS, KC_LBRC, KC_RBRC, KC_QUOTE, KC_SCLN, KC_TRNS,
+ KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_EQL, KC_BSLS, KC_SLASH, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ ),
+
+ LAYOUT(
+ 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
+ )
+};
+
+void encoder_update_user(uint8_t index, bool clockwise) {
+
+ switch (get_highest_layer(layer_state)) {
+ case 0:
+ if (index == 0) {
+ if (clockwise) {
+ tap_code(KC_VOLU);
+ } else {
+ tap_code(KC_VOLD);
+ }
+ }
+ else if (index == 1) {
+ if (clockwise) {
+ tap_code(KC_MS_WH_DOWN);
+ } else {
+ tap_code(KC_MS_WH_UP);
+ }
+ }
+ break;
+ case 1:
+ if (index == 0) {
+ if (clockwise) {
+ tap_code(KC_MNXT);
+ } else {
+ tap_code(KC_MPRV);
+ }
+ }
+ else if (index == 1) {
+ if (clockwise) {
+ tap_code(KC_WH_R);
+ } else {
+ tap_code(KC_WH_L);
+ }
+ }
+ break;
+ case 2:
+ if (index == 0) {
+ if (clockwise) {
+ tap_code(KC_PGUP);
+ } else {
+ tap_code(KC_PGDOWN);
+ }
+ }
+ else if (index == 1) {
+ if (clockwise) {
+ tap_code(KC_END);
+ } else {
+ tap_code(KC_HOME);
+ }
+ }
+ break;
+ case 3:
+ if (index == 0) {
+ if (clockwise) {
+ tap_code(KC_PGUP);
+ } else {
+ tap_code(KC_PGDOWN);
+ }
+ }
+ else if (index == 1) {
+ if (clockwise) {
+ tap_code(KC_END);
+ } else {
+ tap_code(KC_HOME);
+ }
+ }
+ break;
+ }
+};
diff --git a/keyboards/rainkeebs/twoyo/keymaps/via/rules.mk b/keyboards/rainkeebs/twoyo/keymaps/via/rules.mk
new file mode 100644
index 0000000000..1e5b99807c
--- /dev/null
+++ b/keyboards/rainkeebs/twoyo/keymaps/via/rules.mk
@@ -0,0 +1 @@
+VIA_ENABLE = yes
diff --git a/keyboards/rainkeebs/twoyo/keymaps/vial/config.h b/keyboards/rainkeebs/twoyo/keymaps/vial/config.h
new file mode 100644
index 0000000000..46c64c244c
--- /dev/null
+++ b/keyboards/rainkeebs/twoyo/keymaps/vial/config.h
@@ -0,0 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+
+#pragma once
+
+#define VIAL_KEYBOARD_UID {0xE1, 0x46, 0x48, 0x68, 0xFC, 0x48, 0xF5, 0x48}
+#define VIAL_UNLOCK_COMBO_ROWS { 0, 0 }
+#define VIAL_UNLOCK_COMBO_COLS { 0, 1 }
+#define VIAL_TAP_DANCE_ENTRIES 4
diff --git a/keyboards/rainkeebs/twoyo/keymaps/vial/keymap.c b/keyboards/rainkeebs/twoyo/keymaps/vial/keymap.c
new file mode 100644
index 0000000000..3f35b2d50b
--- /dev/null
+++ b/keyboards/rainkeebs/twoyo/keymaps/vial/keymap.c
@@ -0,0 +1,57 @@
+/* Copyright 2021 Regan Palmer
+ *
+ * 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
+
+#if defined(ENCODER_MAP_ENABLE)
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+ [0] = { ENCODER_CCW_CW(KC_MS_WH_UP, KC_MS_WH_DOWN), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
+ [1] = { ENCODER_CCW_CW(RGB_HUD, RGB_HUI), ENCODER_CCW_CW(RGB_SAD, RGB_SAI) },
+ [2] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI), ENCODER_CCW_CW(RGB_SPD, RGB_SPI) },
+ [3] = { ENCODER_CCW_CW(RGB_RMOD, RGB_MOD), ENCODER_CCW_CW(KC_RIGHT, KC_LEFT) },
+ // Encoder 1 Encoder 2
+};
+#endif
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ LAYOUT(
+ KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPACE,
+ KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_ENTER,
+ KC_LSHIFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, MO(1),
+ KC_LCTRL, KC_LGUI, KC_LALT, MO(2), KC_SPC, KC_RALT, KC_RGUI, KC_RCTRL
+ ),
+
+ LAYOUT(
+ KC_TILDE, KC_EXCLAIM, KC_AT, KC_HASH, KC_DOLLAR, KC_PERCENT, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_TRNS,
+ KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_UNDS, KC_LCBR, KC_RCBR, KC_DQT, KC_COLON, KC_TRNS,
+ KC_TRNS, RESET, KC_NO, KC_NO, KC_NO, KC_PLUS, KC_PIPE, KC_QUES, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ ),
+
+ LAYOUT(
+ KC_GRAVE, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_TRNS,
+ KC_TRNS, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, KC_MINS, KC_LBRC, KC_RBRC, KC_QUOTE, KC_SCLN, KC_TRNS,
+ KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_EQL, KC_BSLS, KC_SLASH, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ ),
+
+ LAYOUT(
+ 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/rainkeebs/twoyo/keymaps/vial/rules.mk b/keyboards/rainkeebs/twoyo/keymaps/vial/rules.mk
new file mode 100644
index 0000000000..45ad307be7
--- /dev/null
+++ b/keyboards/rainkeebs/twoyo/keymaps/vial/rules.mk
@@ -0,0 +1,6 @@
+VIA_ENABLE = yes
+VIAL_ENABLE = yes
+ENCODER_MAP_ENABLE = yes
+LTO_ENABLE = yes
+QMK_SETTINGS = no
+TAP_DANCE_ENABLE = no
diff --git a/keyboards/rainkeebs/twoyo/keymaps/vial/vial.json b/keyboards/rainkeebs/twoyo/keymaps/vial/vial.json
new file mode 100644
index 0000000000..6cd5effb19
--- /dev/null
+++ b/keyboards/rainkeebs/twoyo/keymaps/vial/vial.json
@@ -0,0 +1,87 @@
+{
+ "name": "Twoyo",
+ "matrix": {
+ "rows": 8,
+ "cols": 6
+ },
+ "layouts": {
+ "labels": [
+ "1u Right Shift"
+ ],
+ "keymap": [
+ [
+ { "y": 0.25 },
+ "0,0\n\n\n\n\n\n\n\n\ne",
+ "0,1\n\n\n\n\n\n\n\n\ne",
+ { "x": 9 },
+ "1,0\n\n\n\n\n\n\n\n\ne",
+ "1,1\n\n\n\n\n\n\n\n\ne"],
+ [
+ "0,0",
+ "0,1",
+ "0,2",
+ "0,3",
+ "0,4",
+ "0,5",
+ { "x": 1 },
+ "4,0",
+ "4,1",
+ "4,2",
+ "4,3",
+ "4,4",
+ "4,5"
+ ],
+ [
+ { "w": 1.25 },
+ "1,0",
+ "1,1",
+ "1,2",
+ "1,3",
+ "1,4",
+ "1,5",
+ { "x": 1 },
+ "5,1",
+ "5,2",
+ "5,3",
+ "5,4",
+ { "w": 1.75 },
+ "5,5"
+ ],
+ [
+ { "w": 1.75 },
+ "2,0",
+ "2,1",
+ "2,2",
+ "2,3",
+ "2,4",
+ "2,5",
+ { "x": 1 },
+ "6,1",
+ "6,2",
+ "6,3",
+ "6,4\n0,0",
+ { "w": 1.25 },
+ "6,5\n0,0",
+ { "x": 0.25, "w": 1.25 },
+ "6,4\n\n\n0,1",
+ "6,5\n\n\n0,1"
+ ],
+ [
+ { "w": 1.25 },
+ "3,0",
+ "3,1",
+ { "w": 1.25 },
+ "3,2",
+ { "w": 2.75 },
+ "3,4",
+ { "x": 1, "w": 2.25 },
+ "7,1",
+ { "w": 1.25 },
+ "7,3",
+ "7,4",
+ { "w": 1.25 },
+ "7,5"
+ ]
+ ]
+ }
+}
diff --git a/keyboards/rainkeebs/twoyo/readme.md b/keyboards/rainkeebs/twoyo/readme.md
new file mode 100644
index 0000000000..75f45db063
--- /dev/null
+++ b/keyboards/rainkeebs/twoyo/readme.md
@@ -0,0 +1,22 @@
+# Twoyo
+
+![Twoyo](https://i.imgur.com/j48Gq0g.png)
+
+A 12u split staggered 40% kit.
+
+* Keyboard Maintainer: Rain
+* Hardware Supported: Yasui PCB v2
+* Hardware Availability: [rainkeebs](https://www.rainkeebs.mx/product/twoyo-keyboard-kit)
+
+
+Make example for this keyboard (after setting up your build environment):
+
+ qmk compile -kb twoyo -kb default
+
+To reset the keyboard, hold the top left key while plugging in, or hit the reset button near the USB port
+
+Install example for this keyboard:
+
+ qmk flash -kb twoyo -km default
+
+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).
\ No newline at end of file
diff --git a/keyboards/rainkeebs/twoyo/rules.mk b/keyboards/rainkeebs/twoyo/rules.mk
new file mode 100644
index 0000000000..fc89e3b54c
--- /dev/null
+++ b/keyboards/rainkeebs/twoyo/rules.mk
@@ -0,0 +1,5 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader
+BOOTLOADER = caterina
diff --git a/keyboards/rainkeebs/twoyo/twoyo.c b/keyboards/rainkeebs/twoyo/twoyo.c
new file mode 100644
index 0000000000..515f2dc3f2
--- /dev/null
+++ b/keyboards/rainkeebs/twoyo/twoyo.c
@@ -0,0 +1,16 @@
+/* Copyright 2021 Regan Palmer
+ *
+ * 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 "twoyo.h"
diff --git a/keyboards/rainkeebs/twoyo/twoyo.h b/keyboards/rainkeebs/twoyo/twoyo.h
new file mode 100644
index 0000000000..96c9a88d45
--- /dev/null
+++ b/keyboards/rainkeebs/twoyo/twoyo.h
@@ -0,0 +1,35 @@
+/* Copyright 2021 Regan Palmer
+ *
+ * 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 "quantum.h"
+
+#define LAYOUT( \
+ L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, \
+ L10, L11, L12, L13, L14, L15, R11, R12, R13, R14, R15, \
+ L20, L21, L22, L23, L24, L25, R21, R22, R23, R24, R25, \
+ L30, L31, L32, L34, R31, R33, R34, R35 \
+ ) \
+ { \
+ { L00, L01, L02, L03, L04, L05}, \
+ { L10, L11, L12, L13, L14, L15}, \
+ { L20, L21, L22, L23, L24, L25}, \
+ { L30, L31, L32, KC_NO, L34, KC_NO}, \
+ { R00, R01, R02, R03, R04, R05}, \
+ { KC_NO, R11, R12, R13, R14, R15}, \
+ { KC_NO, R21, R22, R23, R24, R25}, \
+ { KC_NO, R31, KC_NO, R33, R34, R35} \
+ }
From 427b93b70d2ba46817eb0bceb22a8b0f24711ea3 Mon Sep 17 00:00:00 2001
From: a33bis <48868985+a33bis@users.noreply.github.com>
Date: Sun, 28 May 2023 01:25:53 -0400
Subject: [PATCH 46/69] Support for Mechlovin' Infinity87 (#471)
* Basic Port
* Basic Port
---
.../infinity87/keymaps/vial/config.h | 7 +
.../infinity87/keymaps/vial/keymap.c | 52 +++++
.../infinity87/keymaps/vial/rules.mk | 5 +
.../infinity87/keymaps/vial/vial.json | 203 ++++++++++++++++++
4 files changed, 267 insertions(+)
create mode 100644 keyboards/mechlovin/infinity87/keymaps/vial/config.h
create mode 100644 keyboards/mechlovin/infinity87/keymaps/vial/keymap.c
create mode 100644 keyboards/mechlovin/infinity87/keymaps/vial/rules.mk
create mode 100644 keyboards/mechlovin/infinity87/keymaps/vial/vial.json
diff --git a/keyboards/mechlovin/infinity87/keymaps/vial/config.h b/keyboards/mechlovin/infinity87/keymaps/vial/config.h
new file mode 100644
index 0000000000..9752c87fae
--- /dev/null
+++ b/keyboards/mechlovin/infinity87/keymaps/vial/config.h
@@ -0,0 +1,7 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+
+#pragma once
+
+#define VIAL_KEYBOARD_UID {0x8D, 0xEE, 0x7B, 0x90, 0x7B, 0x12, 0x87, 0x19}
+#define VIAL_UNLOCK_COMBO_ROWS { 0, 0 }
+#define VIAL_UNLOCK_COMBO_COLS { 5, 16 }
diff --git a/keyboards/mechlovin/infinity87/keymaps/vial/keymap.c b/keyboards/mechlovin/infinity87/keymaps/vial/keymap.c
new file mode 100644
index 0000000000..6267857a24
--- /dev/null
+++ b/keyboards/mechlovin/infinity87/keymaps/vial/keymap.c
@@ -0,0 +1,52 @@
+/* Copyright 2023 Gabriel Levrel
+ *
+ * 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_all(
+ 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_PSCR, KC_SLCK, KC_PAUS,
+ 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_DEL, KC_INS, KC_HOME, KC_PGUP,
+ 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_DEL, KC_END, KC_PGDN,
+ 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_HASH, KC_ENT,
+ KC_LSFT, KC_BSLS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LSFT, KC_LSFT, KC_UP,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_LALT, KC_LGUI, MO(1), KC_LCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+ [1] = LAYOUT_all(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+ [2] = LAYOUT_all(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+ [3] = LAYOUT_all(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+
+};
diff --git a/keyboards/mechlovin/infinity87/keymaps/vial/rules.mk b/keyboards/mechlovin/infinity87/keymaps/vial/rules.mk
new file mode 100644
index 0000000000..7d28ec17d3
--- /dev/null
+++ b/keyboards/mechlovin/infinity87/keymaps/vial/rules.mk
@@ -0,0 +1,5 @@
+VIA_ENABLE = yes
+VIAL_ENABLE = yes
+
+COMMAND_ENABLE = no
+CONSOLE_ENABLE = no
diff --git a/keyboards/mechlovin/infinity87/keymaps/vial/vial.json b/keyboards/mechlovin/infinity87/keymaps/vial/vial.json
new file mode 100644
index 0000000000..c88526b9b3
--- /dev/null
+++ b/keyboards/mechlovin/infinity87/keymaps/vial/vial.json
@@ -0,0 +1,203 @@
+{
+ "lighting": "qmk_backlight_rgblight",
+ "matrix": {"rows": 6, "cols": 17},
+ "layouts": {
+ "labels": [
+ "Split Backspace",
+ ["Enter", "ANSI Enter", "ISO Enter", "1.25u Enter"],
+ "ISO Left Shift",
+ ["Right Shift", "ANSI Right Shift", "1u - 1.75u", "1.75u - 1u"],
+ ["Bottom Row", "6.25u", "7u", "6u"]
+ ],
+ "keymap": [
+ [
+ {"x": 2.5},
+ "0,0",
+ {"x": 1},
+ "0,1",
+ "0,2",
+ "0,3",
+ "0,4",
+ {"x": 0.5},
+ "0,5",
+ "0,6",
+ "0,7",
+ "0,8",
+ {"x": 0.5},
+ "0,9",
+ "0,10",
+ "0,11",
+ "0,12",
+ {"x": 0.25},
+ "0,14",
+ "0,15",
+ "0,16"
+ ],
+ [
+ {"y": 0.25, "x": 2.5},
+ "1,0",
+ "1,1",
+ "1,2",
+ "1,3",
+ "1,4",
+ "1,5",
+ "1,6",
+ "1,7",
+ "1,8",
+ "1,9",
+ "1,10",
+ "1,11",
+ "1,12",
+ {"w": 2},
+ "1,13\n\n\n0,0",
+ {"x": 0.25},
+ "1,14",
+ "1,15",
+ "1,16",
+ {"x": 1},
+ "1,13\n\n\n0,1",
+ "0,13\n\n\n0,1"
+ ],
+ [
+ {"x": 2.5, "w": 1.5},
+ "2,0",
+ "2,1",
+ "2,2",
+ "2,3",
+ "2,4",
+ "2,5",
+ "2,6",
+ "2,7",
+ "2,8",
+ "2,9",
+ "2,10",
+ "2,11",
+ "2,12",
+ {"w": 1.5},
+ "2,13\n\n\n1,0",
+ {"x": 0.25},
+ "2,14",
+ "2,15",
+ "2,16",
+ {
+ "x": 1.75,
+ "w": 1.25,
+ "h": 2,
+ "w2": 1.5,
+ "h2": 1,
+ "x2": -0.25
+ },
+ "3,13\n\n\n1,1",
+ {"x": 1.5, "w": 1.5},
+ "2,13\n\n\n1,2"
+ ],
+ [
+ {"x": 2.5, "w": 1.75},
+ "3,0",
+ "3,1",
+ "3,2",
+ "3,3",
+ "3,4",
+ "3,5",
+ "3,6",
+ "3,7",
+ "3,8",
+ "3,9",
+ "3,10",
+ "3,11",
+ {"w": 2.25},
+ "3,13\n\n\n1,0",
+ {"x": 4},
+ "3,12\n\n\n1,1",
+ {"x": 2},
+ "3,12\n\n\n1,2",
+ {"w": 1.25},
+ "3,13\n\n\n1,2"
+ ],
+ [
+ {"w": 1.25},
+ "4,0\n\n\n2,1",
+ "4,1\n\n\n2,1",
+ {"x": 0.25, "w": 2.25},
+ "4,0\n\n\n2,0",
+ "4,2",
+ "4,3",
+ "4,4",
+ "4,5",
+ "4,6",
+ "4,7",
+ "4,8",
+ "4,9",
+ "4,10",
+ "4,11",
+ {"w": 2.75},
+ "4,13\n\n\n3,0",
+ {"x": 1.25},
+ "4,15",
+ {"x": 1.25},
+ "4,12\n\n\n3,1",
+ {"w": 1.75},
+ "4,13\n\n\n3,1",
+ {"x": 0.25, "w": 1.75},
+ "4,12\n\n\n3,2",
+ "4,13\n\n\n3,2"
+ ],
+ [
+ {"x": 2.5, "w": 1.25},
+ "5,0\n\n\n4,0",
+ {"w": 1.25},
+ "5,1\n\n\n4,0",
+ {"w": 1.25},
+ "5,2\n\n\n4,0",
+ {"w": 6.25},
+ "5,6\n\n\n4,0",
+ {"w": 1.25},
+ "5,10\n\n\n4,0",
+ {"w": 1.25},
+ "5,11\n\n\n4,0",
+ {"w": 1.25},
+ "5,12\n\n\n4,0",
+ {"w": 1.25},
+ "5,13\n\n\n4,0",
+ {"x": 0.25},
+ "5,14",
+ "5,15",
+ "5,16"
+ ],
+ [
+ {"y": 0.25, "x": 2.5, "w": 1.5},
+ "5,0\n\n\n4,1",
+ "5,1\n\n\n4,1",
+ {"w": 1.5},
+ "5,2\n\n\n4,1",
+ {"w": 7},
+ "5,6\n\n\n4,1",
+ {"w": 1.5},
+ "5,11\n\n\n4,1",
+ "5,12\n\n\n4,1",
+ {"w": 1.5},
+ "5,13\n\n\n4,1"
+ ],
+ [
+ {"x": 2.5, "w": 1.25},
+ "5,0\n\n\n4,2",
+ {"w": 0.75, "d": true},
+ "\n\n\n4,2",
+ {"w": 1.25},
+ "5,1\n\n\n4,2",
+ {"w": 1.25},
+ "5,2\n\n\n4,2",
+ {"w": 6},
+ "5,6\n\n\n4,2",
+ {"w": 1.25},
+ "5,10\n\n\n4,2",
+ {"w": 1.25},
+ "5,11\n\n\n4,2",
+ {"w": 0.75, "d": true},
+ "\n\n\n4,2",
+ {"w": 1.25},
+ "5,13\n\n\n4,2"
+ ]
+ ]
+ }
+}
From ca8021e65a6acdb425dc4d41de09f5effa9f95b6 Mon Sep 17 00:00:00 2001
From: Gerrit Plehn <52218643+GerritPlehn@users.noreply.github.com>
Date: Sun, 28 May 2023 07:26:09 +0200
Subject: [PATCH 47/69] Support for ashpil Model M USB-C (#472)
* Add support for ashpil/modelm_usbc
* revert config.h to upstream
* remove via keymap
---
.../ashpil/modelm_usbc/keymaps/vial/config.h | 8 +
.../ashpil/modelm_usbc/keymaps/vial/keymap.c | 51 ++++
.../ashpil/modelm_usbc/keymaps/vial/rules.mk | 2 +
.../ashpil/modelm_usbc/keymaps/vial/vial.json | 239 ++++++++++++++++++
4 files changed, 300 insertions(+)
create mode 100644 keyboards/ashpil/modelm_usbc/keymaps/vial/config.h
create mode 100644 keyboards/ashpil/modelm_usbc/keymaps/vial/keymap.c
create mode 100644 keyboards/ashpil/modelm_usbc/keymaps/vial/rules.mk
create mode 100644 keyboards/ashpil/modelm_usbc/keymaps/vial/vial.json
diff --git a/keyboards/ashpil/modelm_usbc/keymaps/vial/config.h b/keyboards/ashpil/modelm_usbc/keymaps/vial/config.h
new file mode 100644
index 0000000000..6ce9be782c
--- /dev/null
+++ b/keyboards/ashpil/modelm_usbc/keymaps/vial/config.h
@@ -0,0 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+
+#pragma once
+
+#define VIAL_KEYBOARD_UID {0x0A, 0x52, 0x03, 0xC4, 0xD6, 0x2F, 0xA3, 0x5D}
+
+#define VIAL_UNLOCK_COMBO_ROWS { 0, 6 }
+#define VIAL_UNLOCK_COMBO_COLS { 2, 6 }
diff --git a/keyboards/ashpil/modelm_usbc/keymaps/vial/keymap.c b/keyboards/ashpil/modelm_usbc/keymaps/vial/keymap.c
new file mode 100644
index 0000000000..10402ed070
--- /dev/null
+++ b/keyboards/ashpil/modelm_usbc/keymaps/vial/keymap.c
@@ -0,0 +1,51 @@
+/* Copyright 2019 ashpil
+ *
+ * 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_fullsize_iso_wkl(
+ 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_PSCR, KC_SCRL, KC_PAUS,
+ 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_INS, KC_HOME, KC_PGUP, KC_NUM, KC_PSLS, KC_PAST, KC_PMNS,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_DEL, KC_END, KC_PGDN, KC_P7, KC_P8, KC_P9, KC_PPLS,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, KC_ENT, KC_P4, KC_P5, KC_P6,
+ KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT,
+ KC_LCTL, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT
+ ),
+ [1] = LAYOUT_fullsize_iso_wkl(
+ 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, 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,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ ),
+ [2] = LAYOUT_fullsize_iso_wkl(
+ 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, 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,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ ),
+ [3] = LAYOUT_fullsize_iso_wkl(
+ 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, 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,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ )
+};
diff --git a/keyboards/ashpil/modelm_usbc/keymaps/vial/rules.mk b/keyboards/ashpil/modelm_usbc/keymaps/vial/rules.mk
new file mode 100644
index 0000000000..4f7618e9b2
--- /dev/null
+++ b/keyboards/ashpil/modelm_usbc/keymaps/vial/rules.mk
@@ -0,0 +1,2 @@
+VIA_ENABLE = yes
+VIAL_ENABLE = yes
diff --git a/keyboards/ashpil/modelm_usbc/keymaps/vial/vial.json b/keyboards/ashpil/modelm_usbc/keymaps/vial/vial.json
new file mode 100644
index 0000000000..d6a2049554
--- /dev/null
+++ b/keyboards/ashpil/modelm_usbc/keymaps/vial/vial.json
@@ -0,0 +1,239 @@
+{
+ "name": "IBM Model M 101 ANSI/102 ISO",
+ "vendorId": "0xFEED",
+ "productId": "0x0000",
+ "matrix": {
+ "rows": 8,
+ "cols": 16
+ },
+ "layouts": {
+ "labels": ["ISO"],
+ "keymap": [
+ [
+ "0,2",
+ {
+ "x": 1
+ },
+ "2,3",
+ "2,4",
+ "1,4",
+ "0,4",
+ {
+ "x": 0.5
+ },
+ "0,6",
+ "0,8",
+ "1,9",
+ "2,9",
+ {
+ "x": 0.5
+ },
+ "2,6",
+ "3,6",
+ "3,11",
+ "3,12",
+ {
+ "x": 0.5
+ },
+ "3,15",
+ "4,15",
+ "6,14"
+ ],
+ [
+ {
+ "y": 0.25
+ },
+ "2,2",
+ "3,2",
+ "3,3",
+ "3,4",
+ "3,5",
+ "2,5",
+ "2,7",
+ "3,7",
+ "3,8",
+ "3,9",
+ "3,10",
+ "2,10",
+ "2,8",
+ {
+ "w": 2
+ },
+ "1,6",
+ {
+ "x": 0.5
+ },
+ "2,12",
+ "2,14",
+ "2,13",
+ {
+ "x": 0.5
+ },
+ "6,11",
+ "6,12",
+ "6,13",
+ "7,13"
+ ],
+ [
+ {
+ "w": 1.5
+ },
+ "1,2",
+ "4,2",
+ "4,3",
+ "4,4",
+ "4,5",
+ "1,5",
+ "1,7",
+ "4,7",
+ "4,8",
+ "4,9",
+ "4,10",
+ "1,10",
+ "1,8",
+ {
+ "w": 1.5
+ },
+ "6,10\n\n\n0,0",
+ {
+ "x": 0.5
+ },
+ "2,11",
+ "3,14",
+ "3,13",
+ {
+ "x": 0.5
+ },
+ "4,11",
+ "4,12",
+ "4,13",
+ {
+ "h": 2
+ },
+ "4,14"
+ ],
+ [
+ {
+ "w": 1.75
+ },
+ "1,3",
+ "5,2",
+ "5,3",
+ "5,4",
+ "5,5",
+ "0,5",
+ "0,7",
+ "5,7",
+ "5,8",
+ "5,9",
+ "5,10",
+ "0,10",
+ {
+ "w": 2.25
+ },
+ "6,6\n\n\n0,0",
+ {
+ "x": 4
+ },
+ "1,11",
+ "1,12",
+ "1,13"
+ ],
+ [
+ {
+ "w": 2.25
+ },
+ "1,1\n\n\n0,0",
+ "6,2",
+ "6,3",
+ "6,4",
+ "6,5",
+ "7,5",
+ "7,7",
+ "6,7",
+ "6,8",
+ "6,9",
+ "7,10",
+ {
+ "w": 2.75
+ },
+ "6,1",
+ {
+ "x": 1.5
+ },
+ "0,14",
+ {
+ "x": 1.5
+ },
+ "5,11",
+ "5,12",
+ "5,13",
+ {
+ "h": 2
+ },
+ "5,14"
+ ],
+ [
+ {
+ "w": 1.5
+ },
+ "2,0",
+ {
+ "x": 1,
+ "w": 1.5
+ },
+ "0,15",
+ {
+ "w": 7
+ },
+ "7,6",
+ {
+ "w": 1.5
+ },
+ "7,15",
+ {
+ "x": 1,
+ "w": 1.5
+ },
+ "6,0",
+ {
+ "x": 0.5
+ },
+ "7,14",
+ "7,11",
+ "7,12",
+ {
+ "x": 0.5,
+ "w": 2
+ },
+ "0,12",
+ "0,13"
+ ],
+ [
+ {
+ "y": 0.75,
+ "x": 13.75,
+ "w": 1.25,
+ "h": 2,
+ "w2": 1.5,
+ "h2": 1,
+ "x2": -0.25
+ },
+ "6,6\n\n\n0,1"
+ ],
+ [
+ {
+ "x": 12.75
+ },
+ "6,10\n\n\n0,1"
+ ],
+ [
+ {
+ "w": 1.25
+ },
+ "1,1\n\n\n0,1",
+ "0,3\n\n\n0,1"
+ ]
+ ]
+ }
+}
From 4cb9541bbcc8adcc4cac74e3425224abe2a4700d Mon Sep 17 00:00:00 2001
From: Philipp Bontemps
Date: Sun, 28 May 2023 11:14:39 +0200
Subject: [PATCH 48/69] Add support for GH80-3000 (#468)
---
keyboards/gh80_3000/keymaps/vial/config.h | 12 +
keyboards/gh80_3000/keymaps/vial/keymap.c | 34 ++
keyboards/gh80_3000/keymaps/vial/rules.mk | 3 +
keyboards/gh80_3000/keymaps/vial/vial.json | 412 +++++++++++++++++++++
4 files changed, 461 insertions(+)
create mode 100644 keyboards/gh80_3000/keymaps/vial/config.h
create mode 100644 keyboards/gh80_3000/keymaps/vial/keymap.c
create mode 100644 keyboards/gh80_3000/keymaps/vial/rules.mk
create mode 100644 keyboards/gh80_3000/keymaps/vial/vial.json
diff --git a/keyboards/gh80_3000/keymaps/vial/config.h b/keyboards/gh80_3000/keymaps/vial/config.h
new file mode 100644
index 0000000000..a34baa72a2
--- /dev/null
+++ b/keyboards/gh80_3000/keymaps/vial/config.h
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+
+#pragma once
+
+#define VIAL_KEYBOARD_UID {0xE0, 0x60, 0x00, 0xF9, 0x5E, 0xBE, 0x88, 0x23}
+
+#define VIAL_UNLOCK_COMBO_ROWS { 0, 6 }
+#define VIAL_UNLOCK_COMBO_COLS { 0, 10 }
+
+#define DYNAMIC_KEYMAP_LAYER_COUNT 2
+#define VIAL_TAP_DANCE_ENTRIES 4
+#define VIAL_COMBO_ENTRIES 4
\ No newline at end of file
diff --git a/keyboards/gh80_3000/keymaps/vial/keymap.c b/keyboards/gh80_3000/keymaps/vial/keymap.c
new file mode 100644
index 0000000000..0221ffbc32
--- /dev/null
+++ b/keyboards/gh80_3000/keymaps/vial/keymap.c
@@ -0,0 +1,34 @@
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ LAYOUT(
+ 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_PSCR, KC_SLCK, KC_PAUS, KC_MPLY, KC_MPRV, KC_MNXT, 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_BSPC, KC_INS, KC_HOME, KC_PGUP, KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, KC_P7, KC_P8, KC_P9, KC_PPLS,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_P4, KC_P5, KC_P6, KC_PPLS,
+ KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PCMM, KC_PDOT, KC_PENT
+ )
+};
+
+void led_set_user(uint8_t usb_led) {
+
+ if (usb_led & (1 << USB_LED_NUM_LOCK)) {
+ DDRB |= (1 << 5); PORTB &= ~(1 << 5);
+ } else {
+ DDRB &= ~(1 << 5); PORTB &= ~(1 << 5);
+ }
+
+ if (usb_led & (1 << USB_LED_CAPS_LOCK)) {
+ DDRB |= (1 << 6); PORTB &= ~(1 << 6);
+ } else {
+ DDRB &= ~(1 << 6); PORTB &= ~(1 << 6);
+ }
+
+ if (usb_led & (1 << USB_LED_SCROLL_LOCK)) {
+ DDRB |= (1 << 7); PORTB &= ~(1 << 7);
+ } else {
+ DDRB &= ~(1 << 7); PORTB &= ~(1 << 7);
+ }
+}
diff --git a/keyboards/gh80_3000/keymaps/vial/rules.mk b/keyboards/gh80_3000/keymaps/vial/rules.mk
new file mode 100644
index 0000000000..4852be61c5
--- /dev/null
+++ b/keyboards/gh80_3000/keymaps/vial/rules.mk
@@ -0,0 +1,3 @@
+VIA_ENABLE = yes
+VIAL_ENABLE = yes
+LTO_ENABLE = yes
\ No newline at end of file
diff --git a/keyboards/gh80_3000/keymaps/vial/vial.json b/keyboards/gh80_3000/keymaps/vial/vial.json
new file mode 100644
index 0000000000..1d1aef5c4d
--- /dev/null
+++ b/keyboards/gh80_3000/keymaps/vial/vial.json
@@ -0,0 +1,412 @@
+{
+ "name": "GH80-3000",
+ "vendorId": "",
+ "productId": "",
+ "lighting": "none",
+ "matrix": {
+ "rows": 11,
+ "cols": 11
+ },
+ "layouts": {
+ "labels": [
+ "Split Backspace",
+ "ISO Enter",
+ "Split Left Shift",
+ "Split Right Shift",
+ "Split Numpad Plus",
+ "Split Numpd Enter",
+ "Split Numpad 0",
+ [
+ "Bottom Row",
+ "Default",
+ "7U Space",
+ "7U Space WKL",
+ "Split Space"
+ ],
+ "Add Function Keys"
+ ],
+ "keymap": [
+ [
+ "0,0",
+ {
+ "x": 1
+ },
+ "0,1",
+ "0,2",
+ "0,3",
+ "3,0",
+ {
+ "x": 0.5
+ },
+ "3,1",
+ "3,2",
+ "3,3",
+ "3,6",
+ {
+ "x": 0.5
+ },
+ "3,7",
+ "3,8",
+ "3,9",
+ "3,10",
+ {
+ "x": 0.25
+ },
+ "0,4",
+ "0,5",
+ "0,6",
+ {
+ "x": 0.25,
+ "d": true
+ },
+ "0,7\n\n\n8,0",
+ {
+ "d": true
+ },
+ "0,8\n\n\n8,0",
+ {
+ "d": true
+ },
+ "0,9\n\n\n8,0",
+ {
+ "d": true
+ },
+ "0,10\n\n\n8,0"
+ ],
+ [
+ {
+ "y": 0.5
+ },
+ "1,0",
+ "1,1",
+ "1,2",
+ "1,3",
+ "4,0",
+ "4,1",
+ "4,2",
+ "4,3",
+ "4,4",
+ "4,5",
+ "4,6",
+ "4,7",
+ "4,8",
+ {
+ "w": 2
+ },
+ "4,10\n\n\n0,0",
+ {
+ "x": 0.25
+ },
+ "1,4",
+ "1,5",
+ "1,6",
+ {
+ "x": 0.25
+ },
+ "1,7",
+ "1,8",
+ "1,9",
+ "1,10"
+ ],
+ [
+ {
+ "w": 1.5
+ },
+ "2,0",
+ "2,1",
+ "2,2",
+ "2,3",
+ "5,0",
+ "5,1",
+ "5,2",
+ "5,3",
+ "5,5",
+ "5,6",
+ "5,7",
+ "5,8",
+ "5,9",
+ {
+ "w": 1.5
+ },
+ "5,10\n\n\n1,0",
+ {
+ "x": 0.25
+ },
+ "2,4",
+ "2,5",
+ "2,6",
+ {
+ "x": 0.25
+ },
+ "2,7",
+ "2,8",
+ "2,9",
+ {
+ "h": 2
+ },
+ "8,10\n\n\n4,0",
+ {
+ "x": 0.25
+ },
+ "7,10\n\n\n4,1"
+ ],
+ [
+ {
+ "w": 1.75
+ },
+ "8,0",
+ "8,1",
+ "8,2",
+ "8,3",
+ "6,0",
+ "6,1",
+ "6,2",
+ "6,3",
+ "6,6",
+ "6,7",
+ "6,8",
+ "6,9",
+ {
+ "w": 2.25
+ },
+ "6,10\n\n\n1,0",
+ {
+ "x": 3.5
+ },
+ "8,7",
+ "8,8",
+ "8,9",
+ {
+ "x": 1.25
+ },
+ "8,10\n\n\n4,1"
+ ],
+ [
+ {
+ "w": 2.25
+ },
+ "9,0\n\n\n2,0",
+ "9,2",
+ "9,3",
+ "7,0",
+ "7,1",
+ "7,2",
+ "7,3",
+ "7,5",
+ "7,6",
+ "7,7",
+ "7,8",
+ {
+ "w": 2.75
+ },
+ "7,9\n\n\n3,0",
+ {
+ "x": 1.25
+ },
+ "9,6",
+ {
+ "x": 1.25
+ },
+ "9,7",
+ "9,8",
+ "9,9",
+ {
+ "h": 2
+ },
+ "10,10\n\n\n5,0",
+ {
+ "x": 0.25
+ },
+ "9,10\n\n\n5,1"
+ ],
+ [
+ {
+ "w": 1.25
+ },
+ "10,0\n\n\n7,0",
+ {
+ "w": 1.25
+ },
+ "10,1\n\n\n7,0",
+ {
+ "w": 1.25
+ },
+ "10,2\n\n\n7,0",
+ {
+ "w": 6.25
+ },
+ "8,5\n\n\n7,0",
+ {
+ "w": 1.25
+ },
+ "6,4\n\n\n7,0",
+ {
+ "w": 1.25
+ },
+ "6,5\n\n\n7,0",
+ {
+ "w": 1.25
+ },
+ "9,4\n\n\n7,0",
+ {
+ "w": 1.25
+ },
+ "9,5\n\n\n7,0",
+ {
+ "x": 0.25
+ },
+ "10,4",
+ "10,5",
+ "10,6",
+ {
+ "x": 0.25,
+ "w": 2
+ },
+ "10,7\n\n\n6,0",
+ "10,9",
+ {
+ "x": 1.25
+ },
+ "10,10\n\n\n5,1"
+ ],
+ [
+ {
+ "y": 0.25,
+ "w": 1.25
+ },
+ "9,0\n\n\n2,1",
+ "9,1\n\n\n2,1",
+ {
+ "x": 10.75
+ },
+ "4,9\n\n\n0,1",
+ "4,10\n\n\n0,1",
+ {
+ "x": 3.5
+ },
+ "10,7\n\n\n6,1",
+ "10,8\n\n\n6,11"
+ ],
+ [
+ {
+ "x": 12.25,
+ "w": 1.75
+ },
+ "7,9\n\n\n3,1",
+ "7,10\n\n\n3,1"
+ ],
+ [
+ {
+ "y": -0.75,
+ "x": 18.5
+ },
+ "0,7\n\n\n8,1",
+ "0,8\n\n\n8,1",
+ "0,9\n\n\n8,1",
+ "0,10\n\n\n8,1"
+ ],
+ [
+ {
+ "x": 13.75,
+ "w": 1.25,
+ "h": 2,
+ "w2": 1.5,
+ "h2": 1,
+ "x2": -0.25
+ },
+ "6,10\n\n\n1,1"
+ ],
+ [
+ {
+ "x": 12.75
+ },
+ "5,10\n\n\n1,1"
+ ],
+ [
+ {
+ "w": 1.5
+ },
+ "10,0\n\n\n7,1",
+ "10,1\n\n\n7,1",
+ {
+ "w": 1.5
+ },
+ "10,2\n\n\n7,1",
+ {
+ "w": 7
+ },
+ "8,5\n\n\n7,1",
+ {
+ "w": 1.5
+ },
+ "6,5\n\n\n7,1",
+ "9,4\n\n\n7,1",
+ {
+ "w": 1.5
+ },
+ "9,5\n\n\n7,1"
+ ],
+ [
+ {
+ "w": 1.5
+ },
+ "10,0\n\n\n7,2",
+ {
+ "d": true
+ },
+ "10,1\n\n\n7,2",
+ {
+ "w": 1.5
+ },
+ "10,2\n\n\n7,2",
+ {
+ "w": 7
+ },
+ "8,5\n\n\n7,2",
+ {
+ "w": 1.5
+ },
+ "6,5\n\n\n7,2",
+ {
+ "d": true
+ },
+ "9,4\n\n\n7,2",
+ {
+ "w": 1.5
+ },
+ "9,5\n\n\n7,2"
+ ],
+ [
+ {
+ "w": 1.55
+ },
+ "10,0\n\n\n7,3",
+ "10,1\n\n\n7,3",
+ {
+ "w": 1.5
+ },
+ "10,2\n\n\n7,3",
+ "10,3\n\n\n7,3",
+ {
+ "w": 2
+ },
+ "8,4\n\n\n7,3",
+ "8,5\n\n\n7,3",
+ {
+ "w": 2
+ },
+ "8,6\n\n\n7,3",
+ "6,4\n\n\n7,3",
+ {
+ "w": 1.5
+ },
+ "6,5\n\n\n7,3",
+ "9,4\n\n\n7,3",
+ {
+ "w": 1.5
+ },
+ "9,5\n\n\n7,3"
+ ]
+ ]
+ }
+}
From 105915582a4cfc15a9422f9633eccc656dd1cbb2 Mon Sep 17 00:00:00 2001
From: Jerome Berclaz
Date: Sun, 28 May 2023 02:14:59 -0700
Subject: [PATCH 49/69] New keyboard: Model H controller for IBM Model M (#469)
* added modelh controller
* updated readme
---
keyboards/ibm/modelh/chconf.h | 31 ++
keyboards/ibm/modelh/config.h | 45 +++
keyboards/ibm/modelh/halconf.h | 23 ++
keyboards/ibm/modelh/info.json | 282 ++++++++++++++++++
keyboards/ibm/modelh/keymaps/default/keymap.c | 27 ++
keyboards/ibm/modelh/keymaps/vial/config.h | 8 +
keyboards/ibm/modelh/keymaps/vial/keymap.c | 27 ++
keyboards/ibm/modelh/keymaps/vial/rules.mk | 2 +
keyboards/ibm/modelh/keymaps/vial/vial.json | 212 +++++++++++++
keyboards/ibm/modelh/mcuconf.h | 25 ++
keyboards/ibm/modelh/modelh.c | 25 ++
keyboards/ibm/modelh/readme.md | 20 ++
keyboards/ibm/modelh/rules.mk | 2 +
13 files changed, 729 insertions(+)
create mode 100644 keyboards/ibm/modelh/chconf.h
create mode 100644 keyboards/ibm/modelh/config.h
create mode 100644 keyboards/ibm/modelh/halconf.h
create mode 100644 keyboards/ibm/modelh/info.json
create mode 100644 keyboards/ibm/modelh/keymaps/default/keymap.c
create mode 100644 keyboards/ibm/modelh/keymaps/vial/config.h
create mode 100644 keyboards/ibm/modelh/keymaps/vial/keymap.c
create mode 100644 keyboards/ibm/modelh/keymaps/vial/rules.mk
create mode 100644 keyboards/ibm/modelh/keymaps/vial/vial.json
create mode 100644 keyboards/ibm/modelh/mcuconf.h
create mode 100644 keyboards/ibm/modelh/modelh.c
create mode 100644 keyboards/ibm/modelh/readme.md
create mode 100644 keyboards/ibm/modelh/rules.mk
diff --git a/keyboards/ibm/modelh/chconf.h b/keyboards/ibm/modelh/chconf.h
new file mode 100644
index 0000000000..413fb8d69c
--- /dev/null
+++ b/keyboards/ibm/modelh/chconf.h
@@ -0,0 +1,31 @@
+/* Copyright 2020 QMK
+ *
+ * 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 CH_CFG_ST_TIMEDELTA 0
+#define CH_CFG_USE_TM TRUE
+#define CH_CFG_USE_REGISTRY TRUE
+#define CH_CFG_USE_WAITEXIT TRUE
+#define CH_CFG_USE_CONDVARS TRUE
+#define CH_CFG_USE_CONDVARS_TIMEOUT FALSE
+#define CH_CFG_USE_MESSAGES TRUE
+#define CH_CFG_USE_MAILBOXES TRUE
+#define CH_CFG_USE_HEAP TRUE
+#define CH_CFG_USE_OBJ_CACHES TRUE
+#define CH_CFG_USE_DELEGATES TRUE
+
+#include_next
diff --git a/keyboards/ibm/modelh/config.h b/keyboards/ibm/modelh/config.h
new file mode 100644
index 0000000000..ac95ccfe66
--- /dev/null
+++ b/keyboards/ibm/modelh/config.h
@@ -0,0 +1,45 @@
+/*
+Copyright 2020 John Hawthorn
+
+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
+
+
+/* Model H customizations */
+
+#define MODELH_STATUS_LED C13
+
+/* 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
+
+
+/*
+ * Feature disable options
+ * These options are also useful to firmware size reduction.
+ */
+
+/* disable debug print */
+//#define NO_DEBUG
+
+/* disable print */
+//#define NO_PRINT
+
+/* disable action features */
+//#define NO_ACTION_LAYER
+//#define NO_ACTION_TAPPING
+//#define NO_ACTION_ONESHOT
diff --git a/keyboards/ibm/modelh/halconf.h b/keyboards/ibm/modelh/halconf.h
new file mode 100644
index 0000000000..8e3ad48ffc
--- /dev/null
+++ b/keyboards/ibm/modelh/halconf.h
@@ -0,0 +1,23 @@
+/* Copyright 2020 QMK
+ *
+ * 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_PWM TRUE
+#define SERIAL_BUFFERS_SIZE 16
+
+#include_next
diff --git a/keyboards/ibm/modelh/info.json b/keyboards/ibm/modelh/info.json
new file mode 100644
index 0000000000..4f18a0211d
--- /dev/null
+++ b/keyboards/ibm/modelh/info.json
@@ -0,0 +1,282 @@
+{
+ "manufacturer": "IBM",
+ "keyboard_name": "Model M",
+ "maintainer": "jhawthorn",
+ "bootloader": "stm32duino",
+ "diode_direction": "COL2ROW",
+ "features": {
+ "bootmagic": false,
+ "command": false,
+ "console": false,
+ "extrakey": true,
+ "mousekey": false,
+ "nkro": false,
+ "sleep_led": true
+ },
+ "indicators": {
+ "caps_lock": "B8",
+ "num_lock": "B9",
+ "scroll_lock": "B7"
+ },
+ "matrix_pins": {
+ "cols": ["A10", "A9", "A8", "B15", "B14", "B13", "B12", "B11", "B10", "B1", "B0", "A7", "A6", "A5", "A4", "A3"],
+ "rows": ["B6", "B5", "B4", "A15", "B3", "A0", "A2", "A1"]
+ },
+ "processor": "STM32F103",
+ "url": "modelh.club",
+ "usb": {
+ "device_version": "1.0.0",
+ "max_power": 100,
+ "pid": "0xB155",
+ "vid": "0xFEED"
+ },
+ "layouts": {
+ "LAYOUT_fullsize_ansi_wkl": {
+ "layout": [
+ {"matrix": [0, 2], "x": 0, "y": 0},
+
+ {"matrix": [2, 3], "x": 2, "y": 0},
+ {"matrix": [2, 4], "x": 3, "y": 0},
+ {"matrix": [1, 4], "x": 4, "y": 0},
+ {"matrix": [0, 4], "x": 5, "y": 0},
+
+ {"matrix": [0, 6], "x": 6.5, "y": 0},
+ {"matrix": [0, 8], "x": 7.5, "y": 0},
+ {"matrix": [1, 9], "x": 8.5, "y": 0},
+ {"matrix": [2, 9], "x": 9.5, "y": 0},
+
+ {"matrix": [2, 6], "x": 11, "y": 0},
+ {"matrix": [3, 6], "x": 12, "y": 0},
+ {"matrix": [3, 11], "x": 13, "y": 0},
+ {"matrix": [3, 12], "x": 14, "y": 0},
+
+ {"matrix": [3, 15], "x": 15.25, "y": 0},
+ {"matrix": [4, 15], "x": 16.25, "y": 0},
+ {"matrix": [6, 14], "x": 17.25, "y": 0},
+
+ {"matrix": [2, 2], "x": 0, "y": 1.5},
+ {"matrix": [3, 2], "x": 1, "y": 1.5},
+ {"matrix": [3, 3], "x": 2, "y": 1.5},
+ {"matrix": [3, 4], "x": 3, "y": 1.5},
+ {"matrix": [3, 5], "x": 4, "y": 1.5},
+ {"matrix": [2, 5], "x": 5, "y": 1.5},
+ {"matrix": [2, 7], "x": 6, "y": 1.5},
+ {"matrix": [3, 7], "x": 7, "y": 1.5},
+ {"matrix": [3, 8], "x": 8, "y": 1.5},
+ {"matrix": [3, 9], "x": 9, "y": 1.5},
+ {"matrix": [3, 10], "x": 10, "y": 1.5},
+ {"matrix": [2, 10], "x": 11, "y": 1.5},
+ {"matrix": [2, 8], "x": 12, "y": 1.5},
+ {"matrix": [1, 6], "x": 13, "y": 1.5, "w": 2},
+
+ {"matrix": [2, 12], "x": 15.25, "y": 1.5},
+ {"matrix": [2, 14], "x": 16.25, "y": 1.5},
+ {"matrix": [2, 13], "x": 17.25, "y": 1.5},
+
+ {"matrix": [6, 11], "x": 18.5, "y": 1.5},
+ {"matrix": [6, 12], "x": 19.5, "y": 1.5},
+ {"matrix": [6, 13], "x": 20.5, "y": 1.5},
+ {"matrix": [7, 13], "x": 21.5, "y": 1.5},
+
+ {"matrix": [1, 2], "x": 0, "y": 2.5, "w": 1.5},
+ {"matrix": [4, 2], "x": 1.5, "y": 2.5},
+ {"matrix": [4, 3], "x": 2.5, "y": 2.5},
+ {"matrix": [4, 4], "x": 3.5, "y": 2.5},
+ {"matrix": [4, 5], "x": 4.5, "y": 2.5},
+ {"matrix": [1, 5], "x": 5.5, "y": 2.5},
+ {"matrix": [1, 7], "x": 6.5, "y": 2.5},
+ {"matrix": [4, 7], "x": 7.5, "y": 2.5},
+ {"matrix": [4, 8], "x": 8.5, "y": 2.5},
+ {"matrix": [4, 9], "x": 9.5, "y": 2.5},
+ {"matrix": [4, 10], "x": 10.5, "y": 2.5},
+ {"matrix": [1, 10], "x": 11.5, "y": 2.5},
+ {"matrix": [1, 8], "x": 12.5, "y": 2.5},
+ {"matrix": [5, 6], "x": 13.5, "y": 2.5, "w": 1.5},
+
+ {"matrix": [2, 11], "x": 15.25, "y": 2.5},
+ {"matrix": [3, 14], "x": 16.25, "y": 2.5},
+ {"matrix": [3, 13], "x": 17.25, "y": 2.5},
+
+ {"matrix": [4, 11], "x": 18.5, "y": 2.5},
+ {"matrix": [4, 12], "x": 19.5, "y": 2.5},
+ {"matrix": [4, 13], "x": 20.5, "y": 2.5},
+ {"matrix": [4, 14], "x": 21.5, "y": 2.5, "h": 2},
+
+ {"matrix": [1, 3], "x": 0, "y": 3.5, "w": 1.5},
+ {"matrix": [5, 2], "x": 1.75, "y": 3.5},
+ {"matrix": [5, 3], "x": 2.75, "y": 3.5},
+ {"matrix": [5, 4], "x": 3.75, "y": 3.5},
+ {"matrix": [5, 5], "x": 4.75, "y": 3.5},
+ {"matrix": [0, 5], "x": 5.75, "y": 3.5},
+ {"matrix": [0, 7], "x": 6.75, "y": 3.5},
+ {"matrix": [5, 7], "x": 7.75, "y": 3.5},
+ {"matrix": [5, 8], "x": 8.75, "y": 3.5},
+ {"matrix": [5, 9], "x": 9.75, "y": 3.5},
+ {"matrix": [5, 10], "x": 10.75, "y": 3.5},
+ {"matrix": [0, 10], "x": 11.75, "y": 3.5},
+ {"matrix": [6, 6], "x": 12.75, "y": 3.5, "w": 2.25},
+
+ {"matrix": [1, 11], "x": 18.5, "y": 3.5},
+ {"matrix": [1, 12], "x": 19.5, "y": 3.5},
+ {"matrix": [1, 13], "x": 20.5, "y": 3.5},
+
+ {"matrix": [1, 1], "x": 0, "y": 4.5, "w": 2.25},
+ {"matrix": [6, 2], "x": 2.25, "y": 4.5},
+ {"matrix": [6, 3], "x": 3.25, "y": 4.5},
+ {"matrix": [6, 4], "x": 4.25, "y": 4.5},
+ {"matrix": [6, 5], "x": 5.25, "y": 4.5},
+ {"matrix": [7, 5], "x": 6.25, "y": 4.5},
+ {"matrix": [7, 7], "x": 7.25, "y": 4.5},
+ {"matrix": [6, 7], "x": 8.25, "y": 4.5},
+ {"matrix": [6, 8], "x": 9.25, "y": 4.5},
+ {"matrix": [6, 9], "x": 10.25, "y": 4.5},
+ {"matrix": [7, 10], "x": 11.25, "y": 4.5},
+ {"matrix": [6, 1], "x": 12.25, "y": 4.5, "w": 2.75},
+
+ {"matrix": [0, 14], "x": 16.25, "y": 4.5},
+
+ {"matrix": [5, 11], "x": 18.5, "y": 4.5},
+ {"matrix": [5, 12], "x": 19.5, "y": 4.5},
+ {"matrix": [5, 13], "x": 20.5, "y": 4.5},
+ {"matrix": [5, 14], "x": 21.5, "y": 4.5, "h": 2},
+
+ {"matrix": [2, 0], "x": 0, "y": 5.5, "w": 1.5},
+ {"matrix": [0, 15], "x": 2.5, "y": 5.5, "w": 1.5},
+ {"matrix": [7, 6], "x": 4, "y": 5.5, "w": 7},
+ {"matrix": [7, 15], "x": 11, "y": 5.5, "w": 1.5},
+ {"matrix": [6, 0], "x": 13.5, "y": 5.5, "w": 1.5},
+
+ {"matrix": [7, 14], "x": 15.25, "y": 5.5},
+ {"matrix": [7, 11], "x": 16.25, "y": 5.5},
+ {"matrix": [7, 12], "x": 17.25, "y": 5.5},
+
+ {"matrix": [0, 12], "x": 18.5, "y": 5.5, "w": 2},
+ {"matrix": [0, 13], "x": 20.5, "y": 5.5}
+ ]
+ },
+ "LAYOUT_fullsize_iso_wkl": {
+ "layout": [
+ {"matrix": [0, 2], "x": 0, "y": 0},
+
+ {"matrix": [2, 3], "x": 2, "y": 0},
+ {"matrix": [2, 4], "x": 3, "y": 0},
+ {"matrix": [1, 4], "x": 4, "y": 0},
+ {"matrix": [0, 4], "x": 5, "y": 0},
+
+ {"matrix": [0, 6], "x": 6.5, "y": 0},
+ {"matrix": [0, 8], "x": 7.5, "y": 0},
+ {"matrix": [1, 9], "x": 8.5, "y": 0},
+ {"matrix": [2, 9], "x": 9.5, "y": 0},
+
+ {"matrix": [2, 6], "x": 11, "y": 0},
+ {"matrix": [3, 6], "x": 12, "y": 0},
+ {"matrix": [3, 11], "x": 13, "y": 0},
+ {"matrix": [3, 12], "x": 14, "y": 0},
+
+ {"matrix": [3, 15], "x": 15.25, "y": 0},
+ {"matrix": [4, 15], "x": 16.25, "y": 0},
+ {"matrix": [6, 14], "x": 17.25, "y": 0},
+
+ {"matrix": [2, 2], "x": 0, "y": 1.5},
+ {"matrix": [3, 2], "x": 1, "y": 1.5},
+ {"matrix": [3, 3], "x": 2, "y": 1.5},
+ {"matrix": [3, 4], "x": 3, "y": 1.5},
+ {"matrix": [3, 5], "x": 4, "y": 1.5},
+ {"matrix": [2, 5], "x": 5, "y": 1.5},
+ {"matrix": [2, 7], "x": 6, "y": 1.5},
+ {"matrix": [3, 7], "x": 7, "y": 1.5},
+ {"matrix": [3, 8], "x": 8, "y": 1.5},
+ {"matrix": [3, 9], "x": 9, "y": 1.5},
+ {"matrix": [3, 10], "x": 10, "y": 1.5},
+ {"matrix": [2, 10], "x": 11, "y": 1.5},
+ {"matrix": [2, 8], "x": 12, "y": 1.5},
+ {"matrix": [1, 6], "x": 13, "y": 1.5, "w": 2},
+
+ {"matrix": [2, 12], "x": 15.25, "y": 1.5},
+ {"matrix": [2, 14], "x": 16.25, "y": 1.5},
+ {"matrix": [2, 13], "x": 17.25, "y": 1.5},
+
+ {"matrix": [6, 11], "x": 18.5, "y": 1.5},
+ {"matrix": [6, 12], "x": 19.5, "y": 1.5},
+ {"matrix": [6, 13], "x": 20.5, "y": 1.5},
+ {"matrix": [7, 13], "x": 21.5, "y": 1.5},
+
+ {"matrix": [1, 2], "x": 0, "y": 2.5, "w": 1.5},
+ {"matrix": [4, 2], "x": 1.5, "y": 2.5},
+ {"matrix": [4, 3], "x": 2.5, "y": 2.5},
+ {"matrix": [4, 4], "x": 3.5, "y": 2.5},
+ {"matrix": [4, 5], "x": 4.5, "y": 2.5},
+ {"matrix": [1, 5], "x": 5.5, "y": 2.5},
+ {"matrix": [1, 7], "x": 6.5, "y": 2.5},
+ {"matrix": [4, 7], "x": 7.5, "y": 2.5},
+ {"matrix": [4, 8], "x": 8.5, "y": 2.5},
+ {"matrix": [4, 9], "x": 9.5, "y": 2.5},
+ {"matrix": [4, 10], "x": 10.5, "y": 2.5},
+ {"matrix": [1, 10], "x": 11.5, "y": 2.5},
+ {"matrix": [1, 8], "x": 12.5, "y": 2.5},
+
+ {"matrix": [2, 11], "x": 15.25, "y": 2.5},
+ {"matrix": [3, 14], "x": 16.25, "y": 2.5},
+ {"matrix": [3, 13], "x": 17.25, "y": 2.5},
+
+ {"matrix": [4, 11], "x": 18.5, "y": 2.5},
+ {"matrix": [4, 12], "x": 19.5, "y": 2.5},
+ {"matrix": [4, 13], "x": 20.5, "y": 2.5},
+ {"matrix": [4, 14], "x": 21.5, "y": 2.5, "h": 2},
+
+ {"matrix": [1, 3], "x": 0, "y": 3.5, "w": 1.5},
+ {"matrix": [5, 2], "x": 1.75, "y": 3.5},
+ {"matrix": [5, 3], "x": 2.75, "y": 3.5},
+ {"matrix": [5, 4], "x": 3.75, "y": 3.5},
+ {"matrix": [5, 5], "x": 4.75, "y": 3.5},
+ {"matrix": [0, 5], "x": 5.75, "y": 3.5},
+ {"matrix": [0, 7], "x": 6.75, "y": 3.5},
+ {"matrix": [5, 7], "x": 7.75, "y": 3.5},
+ {"matrix": [5, 8], "x": 8.75, "y": 3.5},
+ {"matrix": [5, 9], "x": 9.75, "y": 3.5},
+ {"matrix": [5, 10], "x": 10.75, "y": 3.5},
+ {"matrix": [0, 10], "x": 11.75, "y": 3.5},
+ {"matrix": [6, 10], "x": 12.75, "y": 3.5},
+ {"matrix": [6, 6], "x": 13.75, "y": 2.5, "w": 1.25, "h": 2},
+
+ {"matrix": [1, 11], "x": 18.5, "y": 3.5},
+ {"matrix": [1, 12], "x": 19.5, "y": 3.5},
+ {"matrix": [1, 13], "x": 20.5, "y": 3.5},
+
+ {"matrix": [1, 1], "x": 0, "y": 4.5, "w": 1.25},
+ {"matrix": [0, 3], "x": 1.25, "y": 4.5},
+ {"matrix": [6, 2], "x": 2.25, "y": 4.5},
+ {"matrix": [6, 3], "x": 3.25, "y": 4.5},
+ {"matrix": [6, 4], "x": 4.25, "y": 4.5},
+ {"matrix": [6, 5], "x": 5.25, "y": 4.5},
+ {"matrix": [7, 5], "x": 6.25, "y": 4.5},
+ {"matrix": [7, 7], "x": 7.25, "y": 4.5},
+ {"matrix": [6, 7], "x": 8.25, "y": 4.5},
+ {"matrix": [6, 8], "x": 9.25, "y": 4.5},
+ {"matrix": [6, 9], "x": 10.25, "y": 4.5},
+ {"matrix": [7, 10], "x": 11.25, "y": 4.5},
+ {"matrix": [6, 1], "x": 12.25, "y": 4.5, "w": 2.75},
+
+ {"matrix": [0, 14], "x": 16.25, "y": 4.5},
+
+ {"matrix": [5, 11], "x": 18.5, "y": 4.5},
+ {"matrix": [5, 12], "x": 19.5, "y": 4.5},
+ {"matrix": [5, 13], "x": 20.5, "y": 4.5},
+ {"matrix": [5, 14], "x": 21.5, "y": 4.5, "h": 2},
+
+ {"matrix": [2, 0], "x": 0, "y": 5.5, "w": 1.5},
+ {"matrix": [0, 15], "x": 2.5, "y": 5.5, "w": 1.5},
+ {"matrix": [7, 6], "x": 4, "y": 5.5, "w": 7},
+ {"matrix": [7, 15], "x": 11, "y": 5.5, "w": 1.5},
+ {"matrix": [6, 0], "x": 13.5, "y": 5.5, "w": 1.5},
+
+ {"matrix": [7, 14], "x": 15.25, "y": 5.5},
+ {"matrix": [7, 11], "x": 16.25, "y": 5.5},
+ {"matrix": [7, 12], "x": 17.25, "y": 5.5},
+
+ {"matrix": [0, 12], "x": 18.5, "y": 5.5, "w": 2},
+ {"matrix": [0, 13], "x": 20.5, "y": 5.5}
+ ]
+ }
+ }
+}
diff --git a/keyboards/ibm/modelh/keymaps/default/keymap.c b/keyboards/ibm/modelh/keymaps/default/keymap.c
new file mode 100644
index 0000000000..9098b869b3
--- /dev/null
+++ b/keyboards/ibm/modelh/keymaps/default/keymap.c
@@ -0,0 +1,27 @@
+/* Copyright 2020 John Hawthorn
+ *
+ * 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_fullsize_ansi_wkl( /* Base layer */
+ 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_PSCR, KC_SCRL, KC_PAUS,
+ 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_INS, KC_HOME, KC_PGUP, KC_NUM, KC_PSLS, KC_PAST, KC_PMNS,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, KC_P7, KC_P8, KC_P9, KC_PPLS,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_P4, KC_P5, KC_P6,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT,
+ KC_LCTL, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT
+ ),
+};
diff --git a/keyboards/ibm/modelh/keymaps/vial/config.h b/keyboards/ibm/modelh/keymaps/vial/config.h
new file mode 100644
index 0000000000..6497949e94
--- /dev/null
+++ b/keyboards/ibm/modelh/keymaps/vial/config.h
@@ -0,0 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+
+#pragma once
+
+#define VIAL_KEYBOARD_UID {0xBC, 0x8E, 0x44, 0xF1, 0x5C, 0x16, 0xD6, 0x38}
+
+#define VIAL_UNLOCK_COMBO_ROWS { 0, 6, 7 }
+#define VIAL_UNLOCK_COMBO_COLS { 2, 6, 15 }
diff --git a/keyboards/ibm/modelh/keymaps/vial/keymap.c b/keyboards/ibm/modelh/keymaps/vial/keymap.c
new file mode 100644
index 0000000000..9098b869b3
--- /dev/null
+++ b/keyboards/ibm/modelh/keymaps/vial/keymap.c
@@ -0,0 +1,27 @@
+/* Copyright 2020 John Hawthorn
+ *
+ * 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_fullsize_ansi_wkl( /* Base layer */
+ 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_PSCR, KC_SCRL, KC_PAUS,
+ 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_INS, KC_HOME, KC_PGUP, KC_NUM, KC_PSLS, KC_PAST, KC_PMNS,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, KC_P7, KC_P8, KC_P9, KC_PPLS,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_P4, KC_P5, KC_P6,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT,
+ KC_LCTL, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT
+ ),
+};
diff --git a/keyboards/ibm/modelh/keymaps/vial/rules.mk b/keyboards/ibm/modelh/keymaps/vial/rules.mk
new file mode 100644
index 0000000000..4f7618e9b2
--- /dev/null
+++ b/keyboards/ibm/modelh/keymaps/vial/rules.mk
@@ -0,0 +1,2 @@
+VIA_ENABLE = yes
+VIAL_ENABLE = yes
diff --git a/keyboards/ibm/modelh/keymaps/vial/vial.json b/keyboards/ibm/modelh/keymaps/vial/vial.json
new file mode 100644
index 0000000000..5f744bd59c
--- /dev/null
+++ b/keyboards/ibm/modelh/keymaps/vial/vial.json
@@ -0,0 +1,212 @@
+{
+ "lighting": "none",
+ "matrix": {
+ "rows": 8,
+ "cols": 16
+ },
+ "layouts": {
+ "labels": "iso",
+ "keymap": [
+ [
+ "0,2",
+ {
+ "x": 1
+ },
+ "2,3",
+ "2,4",
+ "1,4",
+ "0,4",
+ {
+ "x": 0.5
+ },
+ "0,6",
+ "0,8",
+ "1,9",
+ "2,9",
+ {
+ "x": 0.5
+ },
+ "2,6",
+ "3,6",
+ "3,11",
+ "3,12",
+ {
+ "x": 0.25
+ },
+ "3,15",
+ "4,15",
+ "6,14"
+ ],
+ [
+ {
+ "y": 0.5
+ },
+ "2,2",
+ "3,2",
+ "3,3",
+ "3,4",
+ "3,5",
+ "2,5",
+ "2,7",
+ "3,7",
+ "3,8",
+ "3,9",
+ "3,10",
+ "2,10",
+ "2,8",
+ {
+ "w": 2
+ },
+ "1,6",
+ {
+ "x": 0.25
+ },
+ "2,12",
+ "2,14",
+ "2,13",
+ {
+ "x": 0.25
+ },
+ "6,11",
+ "6,12",
+ "6,13",
+ "7,13"
+ ],
+ [
+ {
+ "w": 1.5
+ },
+ "1,2",
+ "4,2",
+ "4,3",
+ "4,4",
+ "4,5",
+ "1,5",
+ "1,7",
+ "4,7",
+ "4,8",
+ "4,9",
+ "4,10",
+ "1,10",
+ "1,8",
+ {
+ "w": 1.5
+ },
+ "5,6",
+ {
+ "x": 0.25
+ },
+ "2,11",
+ "3,14",
+ "3,13",
+ {
+ "x": 0.25
+ },
+ "4,11",
+ "4,12",
+ "4,13",
+ {
+ "h": 2
+ },
+ "4,14"
+ ],
+ [
+ {
+ "w": 1.75
+ },
+ "1,3",
+ "5,2",
+ "5,3",
+ "5,4",
+ "5,5",
+ "0,5",
+ "0,7",
+ "5,7",
+ "5,8",
+ "5,9",
+ "5,10",
+ "0,10",
+ {
+ "w": 2.25
+ },
+ "6,6",
+ {
+ "x": 3.5
+ },
+ "1,11",
+ "1,12",
+ "1,13"
+ ],
+ [
+ {
+ "w": 2.25
+ },
+ "1,1",
+ "6,2",
+ "6,3",
+ "6,4",
+ "6,5",
+ "7,5",
+ "7,7",
+ "6,7",
+ "6,8",
+ "6,9",
+ "7,10",
+ {
+ "w": 2.75
+ },
+ "6,1",
+ {
+ "x": 1.25
+ },
+ "0,14",
+ {
+ "x": 1.25
+ },
+ "5,11",
+ "5,12",
+ "5,13",
+ {
+ "h": 2
+ },
+ "5,14"
+ ],
+ [
+ {
+ "w": 1.5
+ },
+ "2,0",
+ {
+ "x": 1,
+ "w": 1.5
+ },
+ "0,15",
+ {
+ "w": 7
+ },
+ "7,6",
+ {
+ "w": 1.5
+ },
+ "7,15",
+ {
+ "x": 1,
+ "w": 1.5
+ },
+ "6,0",
+ {
+ "x": 0.25
+ },
+ "7,14",
+ "7,11",
+ "7,12",
+ {
+ "x": 0.25,
+ "w": 2
+ },
+ "0,12",
+ "0,13"
+ ]
+ ]
+ }
+}
diff --git a/keyboards/ibm/modelh/mcuconf.h b/keyboards/ibm/modelh/mcuconf.h
new file mode 100644
index 0000000000..7d3d6e143a
--- /dev/null
+++ b/keyboards/ibm/modelh/mcuconf.h
@@ -0,0 +1,25 @@
+/* Copyright 2020 QMK
+ *
+ * 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 STM32_PWM_USE_TIM2
+#undef STM32_SPI_USE_SPI2
+
+#define STM32_PWM_USE_TIM2 TRUE
+#define STM32_SPI_USE_SPI2 FALSE
diff --git a/keyboards/ibm/modelh/modelh.c b/keyboards/ibm/modelh/modelh.c
new file mode 100644
index 0000000000..5384b37338
--- /dev/null
+++ b/keyboards/ibm/modelh/modelh.c
@@ -0,0 +1,25 @@
+/* Copyright 2020 John Hawthorn
+ *
+ * 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"
+
+
+void keyboard_pre_init_kb(void) {
+ setPinOutput(MODELH_STATUS_LED);
+ writePin(MODELH_STATUS_LED, 0);
+
+ keyboard_pre_init_user();
+}
diff --git a/keyboards/ibm/modelh/readme.md b/keyboards/ibm/modelh/readme.md
new file mode 100644
index 0000000000..0bbed03d1f
--- /dev/null
+++ b/keyboards/ibm/modelh/readme.md
@@ -0,0 +1,20 @@
+# Model H - A USB capable PCB for the IBM Model M keyboard
+
+![modelh](https://modelh.club/modelh_assembled.jpg)
+
+This conversion kit allows you to replace your IBM Model M's original internal controller board with a modern USB board. This aims to match the footprint of the original controller and plugs into the original keyboard matrix, but exposes a USB port through the original SDL connector.
+
+* Keyboard Maintainer: [John Hawthorn](https://github.com/jhawthorn)
+* Hardware Supported: IBM Model M, Generations 1-3
+* Hardware Availability: [www.modelh.club](www.modelh.club)
+* How to [build your own controller](https://github.com/jberclaz/modelh)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make ibm/modelh:vial
+
+Flashing example for this keyboard:
+
+ make ibm/modelh:vial:flash
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
diff --git a/keyboards/ibm/modelh/rules.mk b/keyboards/ibm/modelh/rules.mk
new file mode 100644
index 0000000000..a92b099328
--- /dev/null
+++ b/keyboards/ibm/modelh/rules.mk
@@ -0,0 +1,2 @@
+# Enter lower-power sleep mode when on the ChibiOS idle thread
+OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE
From f1bdb0531c9b90191682e8601c6f1f7fe29e1181 Mon Sep 17 00:00:00 2001
From: lsh4711 <120231876+lsh4711@users.noreply.github.com>
Date: Fri, 9 Jun 2023 14:20:36 +0900
Subject: [PATCH 50/69] Fix compile error when define constant mode (#474)
* Combine conditional expressions in one line
* Remove spaces
---
quantum/qmk_settings.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/quantum/qmk_settings.c b/quantum/qmk_settings.c
index d33be2ea57..3b386c08b2 100644
--- a/quantum/qmk_settings.c
+++ b/quantum/qmk_settings.c
@@ -26,7 +26,7 @@ static void auto_shift_timeout_apply(void) {
set_autoshift_timeout(QS.auto_shift_timeout);
}
-#ifdef MOUSEKEY_ENABLE
+#if defined(MOUSEKEY_ENABLE) && !defined(MK_3_SPEED)
static void mousekey_apply(void) {
mk_delay = QS.mousekey_delay / 10;
mk_interval = QS.mousekey_interval;
@@ -48,7 +48,7 @@ static const qmk_settings_proto_t protos[] PROGMEM = {
DECLARE_STATIC_SETTING(6, osk_timeout),
DECLARE_STATIC_SETTING(7, tapping_term),
DECLARE_STATIC_SETTING(8, tapping),
-#ifdef MOUSEKEY_ENABLE
+#if defined(MOUSEKEY_ENABLE) && !defined(MK_3_SPEED)
DECLARE_STATIC_SETTING_NOTIFY(9, mousekey_delay, mousekey_apply),
DECLARE_STATIC_SETTING_NOTIFY(10, mousekey_interval, mousekey_apply),
DECLARE_STATIC_SETTING_NOTIFY(11, mousekey_move_delta, mousekey_apply),
@@ -166,7 +166,7 @@ void qmk_settings_reset(void) {
QS.osk_tap_toggle = ONESHOT_TAP_TOGGLE;
QS.osk_timeout = ONESHOT_TIMEOUT;
-#ifdef MOUSEKEY_ENABLE
+#if defined(MOUSEKEY_ENABLE) && !defined(MK_3_SPEED)
QS.mousekey_delay = MOUSEKEY_DELAY;
QS.mousekey_interval = MOUSEKEY_INTERVAL;
QS.mousekey_move_delta = MOUSEKEY_MOVE_DELTA;
From f2af3f511d1511074879a8429ab8a0d6ca21dfa8 Mon Sep 17 00:00:00 2001
From: Ivan Gromov <38141348+key10iq@users.noreply.github.com>
Date: Mon, 19 Jun 2023 02:14:58 +0400
Subject: [PATCH 51/69] Add imi60 support (#475)
* Create config.h
* Create keymap.c
* Create rules.mk
* Create vial.json
* Create keymap.c
* Create config.h
* Create imi60.c
* Create imi60.h
* Create info.json
* Create rules.mk
* Update keyboards/keyten/imi60/info.json
Co-authored-by: Less/Rikki <86894501+lesshonor@users.noreply.github.com>
* Delete config.h
* Delete imi60.h
* Delete imi60.c
* Update keyboards/keyten/imi60/keymaps/default/keymap.c
Co-authored-by: Less/Rikki <86894501+lesshonor@users.noreply.github.com>
* Update keyboards/keyten/imi60/keymaps/vial/keymap.c
Co-authored-by: Less/Rikki <86894501+lesshonor@users.noreply.github.com>
* Update keyboards/keyten/imi60/keymaps/vial/rules.mk
Co-authored-by: Less/Rikki <86894501+lesshonor@users.noreply.github.com>
* Update keyboards/keyten/imi60/rules.mk
Co-authored-by: Less/Rikki <86894501+lesshonor@users.noreply.github.com>
* Update config.h
---------
Co-authored-by: Less/Rikki <86894501+lesshonor@users.noreply.github.com>
---
keyboards/keyten/imi60/info.json | 94 ++++++++++
.../keyten/imi60/keymaps/default/keymap.c | 22 +++
keyboards/keyten/imi60/keymaps/vial/config.h | 7 +
keyboards/keyten/imi60/keymaps/vial/keymap.c | 22 +++
keyboards/keyten/imi60/keymaps/vial/rules.mk | 7 +
keyboards/keyten/imi60/keymaps/vial/vial.json | 162 ++++++++++++++++++
keyboards/keyten/imi60/rules.mk | 1 +
7 files changed, 315 insertions(+)
create mode 100644 keyboards/keyten/imi60/info.json
create mode 100644 keyboards/keyten/imi60/keymaps/default/keymap.c
create mode 100644 keyboards/keyten/imi60/keymaps/vial/config.h
create mode 100644 keyboards/keyten/imi60/keymaps/vial/keymap.c
create mode 100644 keyboards/keyten/imi60/keymaps/vial/rules.mk
create mode 100644 keyboards/keyten/imi60/keymaps/vial/vial.json
create mode 100644 keyboards/keyten/imi60/rules.mk
diff --git a/keyboards/keyten/imi60/info.json b/keyboards/keyten/imi60/info.json
new file mode 100644
index 0000000000..f2885bb9db
--- /dev/null
+++ b/keyboards/keyten/imi60/info.json
@@ -0,0 +1,94 @@
+{
+ "manufacturer": "keyten",
+ "keyboard_name": "imi60",
+ "maintainer": "key10iq",
+ "processor": "atmega32u4",
+ "bootloader": "atmel-dfu",
+ "usb": {
+ "vid": "0xEB69",
+ "pid": "0x6002",
+ "device_version": "0.0.1"
+ },
+ "features": {
+ "bootmagic": true,
+ "command": false,
+ "console": false,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": true
+ },
+ "diode_direction": "COL2ROW",
+ "matrix_pins": {
+ "rows": ["D1", "D0", "D3", "D2", "D5"],
+ "cols": ["B7", "F1", "F4", "F5", "F6", "F7", "C7", "C6", "B6", "B5", "B4", "D7", "D6", "D4"]
+ },
+ "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": [0, 11], "x": 11, "y": 0 },
+ { "matrix": [0, 12], "x": 12, "y": 0 },
+ { "matrix": [0, 13], "x": 13, "y": 0 },
+ { "matrix": [2, 13], "x": 14, "y": 0 },
+ { "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 },
+ { "matrix": [1, 1], "x": 1.5, "y": 1 },
+ { "matrix": [1, 2], "x": 2.5, "y": 1 },
+ { "matrix": [1, 3], "x": 3.5, "y": 1 },
+ { "matrix": [1, 4], "x": 4.5, "y": 1 },
+ { "matrix": [1, 5], "x": 5.5, "y": 1 },
+ { "matrix": [1, 6], "x": 6.5, "y": 1 },
+ { "matrix": [1, 7], "x": 7.5, "y": 1 },
+ { "matrix": [1, 8], "x": 8.5, "y": 1 },
+ { "matrix": [1, 9], "x": 9.5, "y": 1 },
+ { "matrix": [1, 10], "x": 10.5, "y": 1 },
+ { "matrix": [1, 11], "x": 11.5, "y": 1 },
+ { "matrix": [1, 12], "x": 12.5, "y": 1 },
+ { "matrix": [1, 13], "w": 1.5, "x": 13.5, "y": 1 },
+ { "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 },
+ { "matrix": [2, 1], "x": 1.75, "y": 2 },
+ { "matrix": [2, 2], "x": 2.75, "y": 2 },
+ { "matrix": [2, 3], "x": 3.75, "y": 2 },
+ { "matrix": [2, 4], "x": 4.75, "y": 2 },
+ { "matrix": [2, 5], "x": 5.75, "y": 2 },
+ { "matrix": [2, 6], "x": 6.75, "y": 2 },
+ { "matrix": [2, 7], "x": 7.75, "y": 2 },
+ { "matrix": [2, 8], "x": 8.75, "y": 2 },
+ { "matrix": [2, 9], "x": 9.75, "y": 2 },
+ { "matrix": [2, 10], "x": 10.75, "y": 2 },
+ { "matrix": [2, 11], "x": 11.75, "y": 2 },
+ { "matrix": [2, 12], "w": 2.25, "x": 12.75, "y": 2 },
+ { "matrix": [3, 0], "w": 1.25, "x": 0, "y": 3 },
+ { "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": 7.25, "y": 3 },
+ { "matrix": [3, 8], "x": 8.25, "y": 3 },
+ { "matrix": [3, 9], "x": 9.25, "y": 3 },
+ { "matrix": [3, 10], "x": 10.25, "y": 3 },
+ { "matrix": [3, 11], "x": 11.25, "y": 3 },
+ { "matrix": [3, 12], "w": 1.75, "x": 12.25, "y": 3 },
+ { "matrix": [3, 13], "x": 14, "y": 3 },
+ { "matrix": [4, 0], "w": 1.5, "x": 0, "y": 4 },
+ { "matrix": [4, 1], "x": 1.5, "y": 4 },
+ { "matrix": [4, 3], "w": 1.5, "x": 2.5, "y": 4 },
+ { "matrix": [4, 7], "w": 7, "x": 4, "y": 4 },
+ { "matrix": [4, 11], "w": 1.5, "x": 11, "y": 4 },
+ { "matrix": [4, 12], "x": 12.5, "y": 4 },
+ { "matrix": [4, 13], "w": 1.5, "x": 13.5, "y": 4 }
+ ]
+ }
+ }
+}
diff --git a/keyboards/keyten/imi60/keymaps/default/keymap.c b/keyboards/keyten/imi60/keymaps/default/keymap.c
new file mode 100644
index 0000000000..dd11389cef
--- /dev/null
+++ b/keyboards/keyten/imi60/keymaps/default/keymap.c
@@ -0,0 +1,22 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ [0] = LAYOUT(
+ 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_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_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_LSFT, KC_TRNS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1),
+ KC_CAPS, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL
+ ),
+
+ [1] = LAYOUT(
+ 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_CAPS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_UP, KC_INS, KC_DEL,
+ KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, KC_HOME, KC_LEFT, KC_RGHT, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGDN, KC_END, KC_DOWN, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+)
+};
diff --git a/keyboards/keyten/imi60/keymaps/vial/config.h b/keyboards/keyten/imi60/keymaps/vial/config.h
new file mode 100644
index 0000000000..0984cab61c
--- /dev/null
+++ b/keyboards/keyten/imi60/keymaps/vial/config.h
@@ -0,0 +1,7 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+
+#pragma once
+
+#define VIAL_KEYBOARD_UID {0x49, 0x3C, 0xCA, 0xFB, 0xB6, 0xD2, 0xF6, 0xD8}
+#define VIAL_UNLOCK_COMBO_ROWS { 0, 4 }
+#define VIAL_UNLOCK_COMBO_COLS { 0, 13 }
diff --git a/keyboards/keyten/imi60/keymaps/vial/keymap.c b/keyboards/keyten/imi60/keymaps/vial/keymap.c
new file mode 100644
index 0000000000..dd11389cef
--- /dev/null
+++ b/keyboards/keyten/imi60/keymaps/vial/keymap.c
@@ -0,0 +1,22 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ [0] = LAYOUT(
+ 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_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_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_LSFT, KC_TRNS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1),
+ KC_CAPS, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL
+ ),
+
+ [1] = LAYOUT(
+ 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_CAPS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_UP, KC_INS, KC_DEL,
+ KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, KC_HOME, KC_LEFT, KC_RGHT, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGDN, KC_END, KC_DOWN, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+)
+};
diff --git a/keyboards/keyten/imi60/keymaps/vial/rules.mk b/keyboards/keyten/imi60/keymaps/vial/rules.mk
new file mode 100644
index 0000000000..96d058b29d
--- /dev/null
+++ b/keyboards/keyten/imi60/keymaps/vial/rules.mk
@@ -0,0 +1,7 @@
+VIA_ENABLE = yes
+VIAL_ENABLE = yes
+
+LTO_ENABLE = yes
+TAP_DANCE_ENABLE = no
+COMBO_ENABLE = no
+KEY_OVERRIDE_ENABLE = no
diff --git a/keyboards/keyten/imi60/keymaps/vial/vial.json b/keyboards/keyten/imi60/keymaps/vial/vial.json
new file mode 100644
index 0000000000..9f0a714388
--- /dev/null
+++ b/keyboards/keyten/imi60/keymaps/vial/vial.json
@@ -0,0 +1,162 @@
+{
+ "name": "imi60",
+ "vendorId": "0xEB69",
+ "productId": "0x6002",
+ "lighting": "none",
+ "matrix": {
+ "rows": 5,
+ "cols": 14
+ },
+ "layouts": {
+ "labels": [
+ "Split Backspace",
+ "ISO Enter",
+ "Split Left Shift",
+ "Split Right Shift"
+ ],
+ "keymap": [
+ [
+ {
+ "x": 2.5
+ },
+ "0,0",
+ "0,1",
+ "0,2",
+ "0,3",
+ "0,4",
+ "0,5",
+ "0,6",
+ "0,7",
+ "0,8",
+ "0,9",
+ "0,10",
+ "0,11",
+ "0,12",
+ {
+ "w": 2
+ },
+ "0,13\n\n\n0,0",
+ {
+ "x": 1
+ },
+ "0,13\n\n\n0,1",
+ "2,13\n\n\n0,1"
+ ],
+ [
+ {
+ "x": 2.5,
+ "w": 1.5
+ },
+ "1,0",
+ "1,1",
+ "1,2",
+ "1,3",
+ "1,4",
+ "1,5",
+ "1,6",
+ "1,7",
+ "1,8",
+ "1,9",
+ "1,10",
+ "1,11",
+ "1,12",
+ {
+ "w": 1.5
+ },
+ "1,13\n\n\n1,0",
+ {
+ "x": 1.75,
+ "w": 1.25,
+ "h": 2,
+ "w2": 1.5,
+ "h2": 1,
+ "x2": -0.25
+ },
+ "1,13\n\n\n1,1"
+ ],
+ [
+ {
+ "x": 2.5,
+ "w": 1.75
+ },
+ "2,0",
+ "2,1",
+ "2,2",
+ "2,3",
+ "2,4",
+ "2,5",
+ "2,6",
+ "2,7",
+ "2,8",
+ "2,9",
+ "2,10",
+ "2,11",
+ {
+ "w": 2.25
+ },
+ "2,12\n\n\n1,0",
+ {
+ "x": 0.75
+ },
+ "2,12\n\n\n1,1"
+ ],
+ [
+ {
+ "w": 1.25
+ },
+ "3,0\n\n\n2,1",
+ "3,1\n\n\n2,1",
+ {
+ "x": 0.25,
+ "w": 2.25
+ },
+ "3,0\n\n\n2,0",
+ "3,2",
+ "3,3",
+ "3,4",
+ "3,5",
+ "3,6",
+ "3,7",
+ "3,8",
+ "3,9",
+ "3,10",
+ "3,11",
+ {
+ "w": 2.75
+ },
+ "3,12\n\n\n3,0",
+ {
+ "x": 0.25,
+ "w": 1.75
+ },
+ "3,12\n\n\n3,1",
+ "3,13\n\n\n3,1"
+ ],
+ [
+ {
+ "x": 2.5,
+ "w": 1.5
+ },
+ "4,0",
+ "4,1",
+ {
+ "w": 1.5
+ },
+ "4,3",
+ {
+ "w": 7
+ },
+ "4,7",
+ {
+ "w": 1.5
+ },
+ "4,11",
+ "4,12",
+ {
+ "w": 1.5
+ },
+ "4,13"
+ ]
+ ]
+ }
+}
diff --git a/keyboards/keyten/imi60/rules.mk b/keyboards/keyten/imi60/rules.mk
new file mode 100644
index 0000000000..6e7633bfe0
--- /dev/null
+++ b/keyboards/keyten/imi60/rules.mk
@@ -0,0 +1 @@
+# This file intentionally left blank
From e53111e26d10650c3998644a58f399bf081d1237 Mon Sep 17 00:00:00 2001
From: stffffn
Date: Mon, 19 Jun 2023 00:15:29 +0200
Subject: [PATCH 52/69] Add vial keymap for fc980c (#481)
* Add vial keymap for fc980c
* Implement suggested code review changes
* Fix broken `matrix_is_on` function
---
keyboards/fc980c/keymaps/vial/config.h | 7 +
keyboards/fc980c/keymaps/vial/keymap.c | 39 ++++
keyboards/fc980c/keymaps/vial/rules.mk | 6 +
keyboards/fc980c/keymaps/vial/vial.json | 237 ++++++++++++++++++++++++
4 files changed, 289 insertions(+)
create mode 100644 keyboards/fc980c/keymaps/vial/config.h
create mode 100644 keyboards/fc980c/keymaps/vial/keymap.c
create mode 100644 keyboards/fc980c/keymaps/vial/rules.mk
create mode 100644 keyboards/fc980c/keymaps/vial/vial.json
diff --git a/keyboards/fc980c/keymaps/vial/config.h b/keyboards/fc980c/keymaps/vial/config.h
new file mode 100644
index 0000000000..048729e65f
--- /dev/null
+++ b/keyboards/fc980c/keymaps/vial/config.h
@@ -0,0 +1,7 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+
+#pragma once
+
+#define VIAL_KEYBOARD_UID {0x3F, 0x7E, 0x77, 0x9B, 0x2F, 0x52, 0x81, 0xF9}
+#define VIAL_UNLOCK_COMBO_ROWS { 0, 6 }
+#define VIAL_UNLOCK_COMBO_COLS { 13, 3 }
\ No newline at end of file
diff --git a/keyboards/fc980c/keymaps/vial/keymap.c b/keyboards/fc980c/keymaps/vial/keymap.c
new file mode 100644
index 0000000000..88762c7a86
--- /dev/null
+++ b/keyboards/fc980c/keymaps/vial/keymap.c
@@ -0,0 +1,39 @@
+/*
+Copyright 2017 Balz Guenat
+
+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_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_INS, KC_PGUP, KC_PGDN,
+ 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_NUM, KC_PSLS, KC_PAST, KC_PMNS,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_P7, KC_P8, KC_P9, KC_PPLS,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_P4, KC_P5, KC_P6,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, MO(1), KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT),
+ [1] = LAYOUT(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_END,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUS, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, KC_APP, _______, KC_HOME, KC_PGDN, KC_END, _______, _______),
+};
+
+bool matrix_is_on(uint8_t row, uint8_t col)
+{
+ return (matrix_get_row(row) & (1<
Date: Sun, 18 Jun 2023 16:46:57 -0700
Subject: [PATCH 53/69] ported w1-at to vial (#480)
* ported w1-at
* Update keyboards/w1_at/keymaps/vial/keymap.c
Co-authored-by: Less/Rikki <86894501+lesshonor@users.noreply.github.com>
---------
Co-authored-by: Less/Rikki <86894501+lesshonor@users.noreply.github.com>
---
keyboards/w1_at/keymaps/vial/config.h | 7 +
keyboards/w1_at/keymaps/vial/keymap.c | 49 +++++
keyboards/w1_at/keymaps/vial/readme.md | 9 +
keyboards/w1_at/keymaps/vial/rules.mk | 2 +
keyboards/w1_at/keymaps/vial/vial.json | 288 +++++++++++++++++++++++++
5 files changed, 355 insertions(+)
create mode 100644 keyboards/w1_at/keymaps/vial/config.h
create mode 100644 keyboards/w1_at/keymaps/vial/keymap.c
create mode 100644 keyboards/w1_at/keymaps/vial/readme.md
create mode 100644 keyboards/w1_at/keymaps/vial/rules.mk
create mode 100644 keyboards/w1_at/keymaps/vial/vial.json
diff --git a/keyboards/w1_at/keymaps/vial/config.h b/keyboards/w1_at/keymaps/vial/config.h
new file mode 100644
index 0000000000..0328f9ae8b
--- /dev/null
+++ b/keyboards/w1_at/keymaps/vial/config.h
@@ -0,0 +1,7 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+
+#pragma once
+
+#define VIAL_KEYBOARD_UID {0xEF, 0xFC, 0xF5, 0xFF, 0xBC, 0x05, 0x3E, 0xA3}
+#define VIAL_UNLOCK_COMBO_ROWS { 0, 2 }
+#define VIAL_UNLOCK_COMBO_COLS { 0, 13 }
diff --git a/keyboards/w1_at/keymaps/vial/keymap.c b/keyboards/w1_at/keymaps/vial/keymap.c
new file mode 100644
index 0000000000..bd6e2274d2
--- /dev/null
+++ b/keyboards/w1_at/keymaps/vial/keymap.c
@@ -0,0 +1,49 @@
+/* Copyright 2021 Yiancar-Designs
+ *
+ * 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
+
+enum custom_keycodes {
+ KC_P00 = SAFE_RANGE
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+[0] = LAYOUT_all( /* Base */
+ KC_F1, KC_F2, QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, KC_NUM, KC_PMNS, KC_PSLS, KC_PAST,
+ KC_F3, KC_F4, 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_P7, KC_P8, KC_P9, KC_PPLS,
+ KC_F5, KC_F6, 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_P4, KC_P5, KC_P6, KC_PMNS,
+ KC_F7, KC_F8, KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), KC_P1, KC_P2, KC_P3, KC_PMNS,
+ KC_F9, KC_F10, KC_LCTL, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_P0, KC_P00, KC_PDOT, KC_PENT),
+
+[1] = LAYOUT_all( /* FN */
+ 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, 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_VOLU, KC_VOLD, KC_MUTE, 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)
+};
+
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ if (record->event.pressed) {
+ switch(keycode) {
+ case KC_P00:
+ tap_code(KC_P0);
+ tap_code(KC_P0);
+ return false;
+ }
+ }
+ return true;
+}
\ No newline at end of file
diff --git a/keyboards/w1_at/keymaps/vial/readme.md b/keyboards/w1_at/keymaps/vial/readme.md
new file mode 100644
index 0000000000..af0497e720
--- /dev/null
+++ b/keyboards/w1_at/keymaps/vial/readme.md
@@ -0,0 +1,9 @@
+# The default keymap for W1-AT.
+
+Layer 0
+
+![Layer 0](https://i.imgur.com/pLdgxlJ.png)
+
+Layer 1
+
+![Layer 1](https://i.imgur.com/v24h9EO.png)
diff --git a/keyboards/w1_at/keymaps/vial/rules.mk b/keyboards/w1_at/keymaps/vial/rules.mk
new file mode 100644
index 0000000000..4f7618e9b2
--- /dev/null
+++ b/keyboards/w1_at/keymaps/vial/rules.mk
@@ -0,0 +1,2 @@
+VIA_ENABLE = yes
+VIAL_ENABLE = yes
diff --git a/keyboards/w1_at/keymaps/vial/vial.json b/keyboards/w1_at/keymaps/vial/vial.json
new file mode 100644
index 0000000000..4f0cb8638f
--- /dev/null
+++ b/keyboards/w1_at/keymaps/vial/vial.json
@@ -0,0 +1,288 @@
+{
+ "name": "W1-AT",
+ "vendorId": "0x8968",
+ "productId": "0x5754",
+ "lighting": "none",
+ "customKeycodes": [{"name": "00", "title": "00", "shortName": "KC_P00"}],
+ "matrix": {"rows": 5, "cols": 20},
+ "layouts": {
+ "labels": [
+ "Split Backspace",
+ "ISO Enter",
+ "Split Left Shift",
+ "Split Right Shift",
+ "Single Num +",
+ "Split Num Enter",
+ "Split Num 0",
+ "10U Spacebar"
+ ],
+ "keymap": [
+ [
+ "0,0",
+ "0,1",
+ {
+ "x": 0.25,
+ "c": "#777777"
+ },
+ "0,2",
+ {
+ "c": "#cccccc"
+ },
+ "0,3",
+ "0,4",
+ "0,5",
+ "0,6",
+ "0,7",
+ "0,8",
+ "0,9",
+ "0,10",
+ "0,11",
+ "0,12",
+ "0,13",
+ "0,14",
+ {
+ "c": "#aaaaaa",
+ "w": 2
+ },
+ "0,15\n\n\n0,0",
+ {
+ "x": 0.25
+ },
+ "0,16",
+ "0,17",
+ "0,18",
+ "0,19",
+ {
+ "x": 0.75
+ },
+ "0,15\n\n\n0,1",
+ "2,14\n\n\n0,1"
+ ],
+ [
+ {
+ "c": "#cccccc"
+ },
+ "1,0",
+ "1,1",
+ {
+ "x": 0.25,
+ "c": "#aaaaaa",
+ "w": 1.5
+ },
+ "1,2",
+ {
+ "c": "#cccccc"
+ },
+ "1,3",
+ "1,4",
+ "1,5",
+ "1,6",
+ "1,7",
+ "1,8",
+ "1,9",
+ "1,10",
+ "1,11",
+ "1,12",
+ "1,13",
+ "1,14",
+ {
+ "c": "#aaaaaa",
+ "w": 1.5
+ },
+ "1,15\n\n\n1,0",
+ {
+ "x": 0.25,
+ "c": "#cccccc"
+ },
+ "1,16",
+ "1,17",
+ "1,18",
+ {
+ "c": "#aaaaaa"
+ },
+ "1,19\n\n\n4,0",
+ {
+ "x": 1.5,
+ "c": "#777777",
+ "w": 1.25,
+ "h": 2,
+ "w2": 1.5,
+ "h2": 1,
+ "x2": -0.25
+ },
+ "2,15\n\n\n1,1",
+ {
+ "x": 0.5,
+ "c": "#aaaaaa",
+ "h": 2
+ },
+ "1,19\n\n\n4,1"
+ ],
+ [
+ {
+ "c": "#cccccc"
+ },
+ "2,0",
+ "2,1",
+ {
+ "x": 0.25,
+ "c": "#aaaaaa",
+ "w": 1.75
+ },
+ "2,2",
+ {
+ "c": "#cccccc"
+ },
+ "2,3",
+ "2,4",
+ "2,5",
+ "2,6",
+ "2,7",
+ "2,8",
+ "2,9",
+ "2,10",
+ "2,11",
+ "2,12",
+ "2,13",
+ {
+ "c": "#777777",
+ "w": 2.25
+ },
+ "2,15\n\n\n1,0",
+ {
+ "x": 0.25,
+ "c": "#cccccc"
+ },
+ "2,16",
+ "2,17",
+ "2,18",
+ {
+ "c": "#aaaaaa"
+ },
+ "2,19\n\n\n4,0",
+ {
+ "x": 0.5,
+ "c": "#cccccc"
+ },
+ "1,15\n\n\n1,1"
+ ],
+ [
+ "3,0",
+ "3,1",
+ {
+ "x": 0.25,
+ "c": "#aaaaaa",
+ "w": 2.25
+ },
+ "3,2\n\n\n2,0",
+ {
+ "c": "#cccccc"
+ },
+ "3,4",
+ "3,5",
+ "3,6",
+ "3,7",
+ "3,8",
+ "3,9",
+ "3,10",
+ "3,11",
+ "3,12",
+ "3,13",
+ {
+ "c": "#aaaaaa",
+ "w": 2.75
+ },
+ "3,14\n\n\n3,0",
+ {
+ "x": 0.25,
+ "c": "#cccccc"
+ },
+ "3,16",
+ "3,17",
+ "3,18",
+ {
+ "c": "#aaaaaa",
+ "h": 2
+ },
+ "4,19\n\n\n5,0",
+ {
+ "x": 3.25
+ },
+ "3,19\n\n\n5,1"
+ ],
+ [
+ {
+ "c": "#cccccc"
+ },
+ "4,0",
+ "4,1",
+ {
+ "x": 0.25,
+ "c": "#aaaaaa",
+ "w": 1.5
+ },
+ "4,2",
+ {
+ "x": 1,
+ "w": 1.5
+ },
+ "4,4\n\n\n7,0",
+ {
+ "c": "#cccccc",
+ "w": 7
+ },
+ "4,8\n\n\n7,0",
+ {
+ "c": "#aaaaaa",
+ "w": 1.5
+ },
+ "4,13\n\n\n7,0",
+ {
+ "x": 1,
+ "w": 1.5
+ },
+ "4,15",
+ {
+ "x": 0.25,
+ "c": "#cccccc",
+ "w": 2
+ },
+ "4,16\n\n\n6,0",
+ "4,18",
+ {
+ "x": 4.25,
+ "c": "#aaaaaa"
+ },
+ "4,19\n\n\n5,1"
+ ],
+ [
+ {
+ "y": 0.5,
+ "x": 2.25,
+ "w": 1.25
+ },
+ "3,2\n\n\n2,1",
+ {
+ "c": "#cccccc"
+ },
+ "3,3\n\n\n2,1",
+ {
+ "w": 10
+ },
+ "4,8\n\n\n7,1",
+ {
+ "c": "#aaaaaa",
+ "w": 1.75
+ },
+ "3,14\n\n\n3,1",
+ "3,15\n\n\n3,1",
+ {
+ "x": 0.25,
+ "c": "#cccccc"
+ },
+ "4,16\n\n\n6,1",
+ "4,17\n\n\n6,1"
+ ]
+ ]
+ }
+}
From 25384b47a1455ca682cf3a920075006f794fb718 Mon Sep 17 00:00:00 2001
From: a33bis <48868985+a33bis@users.noreply.github.com>
Date: Sun, 25 Jun 2023 00:54:28 -0400
Subject: [PATCH 54/69] OGR Support (#485)
* Basic port
* Revert name change + keymap clean up
* Fix whitespace
---
keyboards/akb/ogr/keymaps/vial/config.h | 9 ++
keyboards/akb/ogr/keymaps/vial/keymap.c | 51 ++++++++
keyboards/akb/ogr/keymaps/vial/rules.mk | 3 +
keyboards/akb/ogr/keymaps/vial/vial.json | 141 +++++++++++++++++++++++
4 files changed, 204 insertions(+)
create mode 100644 keyboards/akb/ogr/keymaps/vial/config.h
create mode 100644 keyboards/akb/ogr/keymaps/vial/keymap.c
create mode 100644 keyboards/akb/ogr/keymaps/vial/rules.mk
create mode 100644 keyboards/akb/ogr/keymaps/vial/vial.json
diff --git a/keyboards/akb/ogr/keymaps/vial/config.h b/keyboards/akb/ogr/keymaps/vial/config.h
new file mode 100644
index 0000000000..3b431b5265
--- /dev/null
+++ b/keyboards/akb/ogr/keymaps/vial/config.h
@@ -0,0 +1,9 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+
+#pragma once
+
+#define VIAL_KEYBOARD_UID {0xC9, 0x7A, 0x7F, 0x35, 0xB7, 0x59, 0x23, 0xDE}
+#define VIAL_UNLOCK_COMBO_ROWS { 1, 4 }
+#define VIAL_UNLOCK_COMBO_COLS { 2, 16 }
+
+#define DYNAMIC_KEYMAP_LAYER_COUNT 3
diff --git a/keyboards/akb/ogr/keymaps/vial/keymap.c b/keyboards/akb/ogr/keymaps/vial/keymap.c
new file mode 100644
index 0000000000..69d32bff75
--- /dev/null
+++ b/keyboards/akb/ogr/keymaps/vial/keymap.c
@@ -0,0 +1,51 @@
+/* Copyright 2023 Gabriel Levrel
+ *
+ * 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] = {
+
+ /*
+ * ┌───┬───┐ ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┬───┐
+ * │ F1│ F2│ │Esc│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ Backsp│Hom│
+ * ├───┼───┤ ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤
+ * | F3| F4| │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │PgU│
+ * ├───┼───┤ ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤
+ * | F5| F6| │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ Enter │PgD│
+ * ├───┼───┤ ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤
+ * | F7| F8| │ Shift │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ Shift│ ↑ │End│
+ * ├───┼───┤ ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴──┬┴──┬┴──┬───┼───┼───┤
+ * | F9|F10| │Ctrl│GUI │Alt │ │Alt│Ctl│ │ ← │ ↓ │ → │
+ * └───┴───┘ └────┴────┴────┴────────────────────────┴───┴───┴───┴───┴───┴───┘
+ */
+ [0] = LAYOUT_all(
+
+ KC_F1, KC_F2, KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, KC_HOME,
+ KC_F3, KC_F4, 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_F5, KC_F6, 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_F7, KC_F8, KC_LSFT, KC_NUBS, 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_F9, KC_F10, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+
+
+ [1] = LAYOUT_all(
+ _______, _______, KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, KC_INS, _______, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUS, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+
+};
diff --git a/keyboards/akb/ogr/keymaps/vial/rules.mk b/keyboards/akb/ogr/keymaps/vial/rules.mk
new file mode 100644
index 0000000000..46f9f1360f
--- /dev/null
+++ b/keyboards/akb/ogr/keymaps/vial/rules.mk
@@ -0,0 +1,3 @@
+VIA_ENABLE = yes
+VIAL_ENABLE = yes
+LTO_ENABLE = yes
diff --git a/keyboards/akb/ogr/keymaps/vial/vial.json b/keyboards/akb/ogr/keymaps/vial/vial.json
new file mode 100644
index 0000000000..4c36527664
--- /dev/null
+++ b/keyboards/akb/ogr/keymaps/vial/vial.json
@@ -0,0 +1,141 @@
+{
+ "lighting": "none",
+ "matrix": {"rows": 5, "cols": 18},
+ "layouts": {
+ "labels": [
+ "Split Backspace",
+ "ISO Enter",
+ "Split Left Shift",
+ "WK Bottom Row"
+ ],
+ "keymap": [
+ [
+ {"x": 2.75},
+ "0,0",
+ "0,1",
+ {"x": 0.5},
+ "0,2",
+ "0,3",
+ "0,4",
+ "0,5",
+ "0,6",
+ "0,7",
+ "0,8",
+ "0,9",
+ "0,10",
+ "0,11",
+ "0,12",
+ "0,13",
+ "0,14",
+ {"w": 2},
+ "0,15\n\n\n0,0",
+ "0,17",
+ {"x": 0.75},
+ "0,15\n\n\n0,1",
+ "0,16\n\n\n0,1"
+ ],
+ [
+ {"x": 2.75},
+ "1,0",
+ "1,1",
+ {"x": 0.5, "w": 1.5},
+ "1,2",
+ "1,3",
+ "1,4",
+ "1,5",
+ "1,6",
+ "1,7",
+ "1,8",
+ "1,9",
+ "1,10",
+ "1,11",
+ "1,12",
+ "1,13",
+ "1,14",
+ {"w": 1.5},
+ "1,15\n\n\n1,0",
+ "1,16",
+ {"x": 1.5, "w": 1.25, "h": 2, "w2": 1.5, "h2": 1, "x2": -0.25},
+ "2,15\n\n\n1,1"
+ ],
+ [
+ {"x": 2.75},
+ "2,0",
+ "2,1",
+ {"x": 0.5, "w": 1.75},
+ "2,2",
+ "2,3",
+ "2,4",
+ "2,5",
+ "2,6",
+ "2,7",
+ "2,8",
+ "2,9",
+ "2,10",
+ "2,11",
+ "2,12",
+ "2,13",
+ {"w": 2.25},
+ "2,15\n\n\n1,0",
+ "2,16",
+ {"x": 0.5},
+ "2,14\n\n\n1,1"
+ ],
+ [
+ {"w": 1.25},
+ "3,2\n\n\n2,1",
+ "3,3\n\n\n2,1",
+ {"x": 0.5},
+ "3,0",
+ "3,1",
+ {"x": 0.5, "w": 2.25},
+ "3,2\n\n\n2,0",
+ "3,4",
+ "3,5",
+ "3,6",
+ "3,7",
+ "3,8",
+ "3,9",
+ "3,10",
+ "3,11",
+ "3,12",
+ "3,13",
+ {"w": 1.75},
+ "3,14",
+ "3,15",
+ "3,16"
+ ],
+ [
+ {"x": 2.75},
+ "4,0",
+ "4,1",
+ {"x": 0.5, "w": 1.5},
+ "4,2\n\n\n3,0",
+ {"x": 0.75, "w": 1.5},
+ "4,4\n\n\n3,0",
+ {"w": 7},
+ "4,9\n\n\n3,0",
+ {"w": 1.5},
+ "4,13\n\n\n3,0",
+ {"x": 0.75},
+ "4,14",
+ "4,15",
+ "4,16"
+ ],
+ [
+ {"x": 5.25, "w": 1.25},
+ "4,2\n\n\n3,1",
+ {"w": 1.25},
+ "4,3\n\n\n3,1",
+ {"w": 1.25},
+ "4,4\n\n\n3,1",
+ {"w": 6.25},
+ "4,9\n\n\n3,1",
+ {"w": 1.25},
+ "4,12\n\n\n3,1",
+ {"w": 1.25},
+ "4,13\n\n\n3,1"
+ ]
+ ]
+ }
+}
From c5be7c7868c82d8de68261269d0b7bebe061a6e7 Mon Sep 17 00:00:00 2001
From: Jerome Berclaz
Date: Sat, 24 Jun 2023 21:56:17 -0700
Subject: [PATCH 55/69] fixed incorrect lock lights behavior for modelh
controller (#487)
---
keyboards/ibm/modelh/info.json | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/keyboards/ibm/modelh/info.json b/keyboards/ibm/modelh/info.json
index 4f18a0211d..cceb12a31c 100644
--- a/keyboards/ibm/modelh/info.json
+++ b/keyboards/ibm/modelh/info.json
@@ -11,12 +11,13 @@
"extrakey": true,
"mousekey": false,
"nkro": false,
- "sleep_led": true
+ "sleep_led": false
},
"indicators": {
"caps_lock": "B8",
- "num_lock": "B9",
- "scroll_lock": "B7"
+ "num_lock": "B7",
+ "scroll_lock": "B9",
+ "on_state": 0
},
"matrix_pins": {
"cols": ["A10", "A9", "A8", "B15", "B14", "B13", "B12", "B11", "B10", "B1", "B0", "A7", "A6", "A5", "A4", "A3"],
From 0373554f48c5fbcb827ca3cebc25b1d80759d7c4 Mon Sep 17 00:00:00 2001
From: farfalleflickan <6597735+farfalleflickan@users.noreply.github.com>
Date: Sun, 25 Jun 2023 10:42:20 +0200
Subject: [PATCH 56/69] Ported nack to VIAL (#486)
* Ported nack to VIAL
* Update keyboards/nack/keymaps/vial/vial.json
Co-authored-by: Less/Rikki <86894501+lesshonor@users.noreply.github.com>
* Update keyboards/nack/keymaps/vial/keymap.c
Co-authored-by: Less/Rikki <86894501+lesshonor@users.noreply.github.com>
* Update keyboards/nack/keymaps/vial/keymap.c
Co-authored-by: Less/Rikki <86894501+lesshonor@users.noreply.github.com>
* Delete readme.md
---------
Co-authored-by: Less/Rikki <86894501+lesshonor@users.noreply.github.com>
---
keyboards/nack/keymaps/vial/config.h | 8 +++
keyboards/nack/keymaps/vial/keymap.c | 65 ++++++++++++++++++++++++
keyboards/nack/keymaps/vial/rules.mk | 3 ++
keyboards/nack/keymaps/vial/vial.json | 72 +++++++++++++++++++++++++++
4 files changed, 148 insertions(+)
create mode 100644 keyboards/nack/keymaps/vial/config.h
create mode 100644 keyboards/nack/keymaps/vial/keymap.c
create mode 100644 keyboards/nack/keymaps/vial/rules.mk
create mode 100644 keyboards/nack/keymaps/vial/vial.json
diff --git a/keyboards/nack/keymaps/vial/config.h b/keyboards/nack/keymaps/vial/config.h
new file mode 100644
index 0000000000..00112646cc
--- /dev/null
+++ b/keyboards/nack/keymaps/vial/config.h
@@ -0,0 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+
+#pragma once
+#define VIAL_KEYBOARD_UID {0x92, 0x63, 0xA4, 0xD0, 0x7B, 0xD6, 0xE9, 0x86}
+#define VIAL_UNLOCK_COMBO_ROWS { 0, 2 }
+#define VIAL_UNLOCK_COMBO_COLS { 0, 12 }
+#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
+#define RGB_MATRIX_KEYPRESSES
diff --git a/keyboards/nack/keymaps/vial/keymap.c b/keyboards/nack/keymaps/vial/keymap.c
new file mode 100644
index 0000000000..896ddbb755
--- /dev/null
+++ b/keyboards/nack/keymaps/vial/keymap.c
@@ -0,0 +1,65 @@
+/* Copyright 2020 farfalleflickan
+ *
+ * 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
+
+// Defines names for use in layer keycodes and the keymap
+enum layer_names {
+ BASE,
+ NUM,
+ FN
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [BASE] = LAYOUT(
+/* __________________________________________________________________________________________________________________________________________________________________________
+ | \ \ \ \ \ \ \ \ \ \ \ \ \ \ */
+// | |----TAB-----|---Q--------|-----W------|-----E------|-----R------|----T-------|-----Y------|-----U------|----I-------|------O-----|----P-------|----Å-------|--( ¨^~ )---|
+ 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,
+// | |----ESC-----|---A--------|---S--------|----D-------|-----F------|-----G------|-----H------|-----J------|-----K------|-----L------|-----Ö------|-----Ä------|--( '* )----|
+ KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS,
+// | |---SHIFT----|---Z--------|---X--------|----C-------|-----V------|-----B------|-----N------|------M-----|---( ,; )---|---( .: )---|---( -_ )---|----UP------|-BACKSPACE--|
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_UP, KC_BSPC,
+// | |---CTRL-----|---ALT------|---META-----|----FN_1----|----------SPACE----------|----FN_2----|----AltGr---|--( <>| )---|---ENETER---|-LEFT-------|---DOWN-----|--RIGHT-----|
+ KC_LCTL, KC_LALT, KC_LGUI, MO(NUM), KC_SPC, KC_NO, MO(FN), KC_RALT, KC_NUBS, KC_ENT, KC_LEFT, KC_DOWN, KC_RIGHT
+// \|____________|____________|____________|____________|____________|____________|____________|____________|____________|____________|____________|____________|____________|
+ ),
+ [NUM] = LAYOUT(
+/* __________________________________________________________________________________________________________________________________________________________________________
+ | \ \ \ \ \ \ \ \ \ \ \ \ \ \ */
+// | |---TAB------|---( 1! )---|--( 2"@ )---|--( 3#£ )---|---( 4¤$ )--|--( 5%€ )---|---( 6& )---|--( 7/{ )---|--( 8([ )---|--( 9)] )---|--( 0=} )---|---( +?\ )--|---( ´` )---|
+ _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL,
+// | |----ESC-----|-----F1-----|-----F2-----|----F3------|----F4------|----F5------|-----F6-----|-----F7------|----F8-----|-----F9-----|-----F10----|----F11-----|----F12-----|
+ _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
+// | |---SHIFT----|------------|------------|------------|------------|------------|------------|------------|------------|------------|------------|------------|------------|
+ _______, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
+// | |---CTRL-----|---ALT------|---META-----|---FN_1-----|------------|------------|----FN_2----|--AltGr-----|---( §½ )---|------------|------------|------------|------------|
+ _______, _______, _______, KC_TRNS, KC_NO, KC_NO, TO(BASE), _______, KC_GRV, KC_NO, KC_NO, KC_NO, KC_NO
+// \|____________|____________|____________|____________|____________|____________|____________|____________|____________|____________|____________|____________|____________|
+ ),
+ [FN] = LAYOUT(
+/* __________________________________________________________________________________________________________________________________________________________________________
+ | \ \ \ \ \ \ \ \ \ \ \ \ \ \ */
+// | |-RGB TOGGLE-|-CHANGE RGB-|-RGB HUE UP-|-RGB SAT UP-|------------|------------|------------|------------|------------|------------|------------|------------|-QK_BOOT KBD--|
+ RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
+// | |------------|------------|------------|------------|------------|------------|------------|------------|------------|------------|------------|------------|------------|
+ MU_TOG, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
+// | |------------|------------|------------|------------|------------|------------|------------|------------|------------|------------|------------|-RGB LIGHT +|------------|
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RGB_VAI, KC_NO,
+// | |------------|------------|------------|---FN_1-----|------------|------------|----FN_2----|------------|------------|------------|------------|-RGB LIGHT -|------------|
+ KC_NO, KC_NO, KC_NO, KC_TRNS, KC_NO, KC_NO, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, RGB_VAD, KC_NO
+// \|____________|____________|____________|____________|____________|____________|____________|____________|____________|____________|____________|____________|____________|
+ )
+};
diff --git a/keyboards/nack/keymaps/vial/rules.mk b/keyboards/nack/keymaps/vial/rules.mk
new file mode 100644
index 0000000000..d013bc62da
--- /dev/null
+++ b/keyboards/nack/keymaps/vial/rules.mk
@@ -0,0 +1,3 @@
+VIA_ENABLE = yes
+VIAL_ENABLE = yes
+VIALRGB_ENABLE = yes
diff --git a/keyboards/nack/keymaps/vial/vial.json b/keyboards/nack/keymaps/vial/vial.json
new file mode 100644
index 0000000000..05fe087a17
--- /dev/null
+++ b/keyboards/nack/keymaps/vial/vial.json
@@ -0,0 +1,72 @@
+{
+ "lighting": "vialrgb",
+ "matrix": {
+ "rows": 4,
+ "cols": 13
+ },
+ "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",
+ "0,12"
+ ],
+ [
+ "1,0",
+ "1,1",
+ "1,2",
+ "1,3",
+ "1,4",
+ "1,5",
+ "1,6",
+ "1,7",
+ "1,8",
+ "1,9",
+ "1,10",
+ "1,11",
+ "1,12"
+ ],
+ [
+ "2,0",
+ "2,1",
+ "2,2",
+ "2,3",
+ "2,4",
+ "2,5",
+ "2,6",
+ "2,7",
+ "2,8",
+ "2,9",
+ "2,10",
+ "2,11",
+ "2,12"
+ ],
+ [
+ "3,0",
+ "3,1",
+ "3,2",
+ "3,3",
+ "3,4",
+ "3,5",
+ "3,6",
+ "3,7",
+ "3,8",
+ "3,9",
+ "3,10",
+ "3,11",
+ "3,12"
+ ]
+]
+ }
+}
+
From a5e9711c23fd2f7ed85f02f8a11c37ed75ddd8fd Mon Sep 17 00:00:00 2001
From: honorless <86894501+lesshonor@users.noreply.github.com>
Date: Tue, 27 Jun 2023 09:22:57 -0400
Subject: [PATCH 57/69] fix: obsolete keycodes
---
keyboards/aeternus/omnibus/keymaps/default/keymap.c | 2 +-
keyboards/aeternus/omnibus/keymaps/vial/keymap.c | 2 +-
keyboards/boardsource/lulu/keymaps/vial/keymap.c | 2 +-
keyboards/gh80_3000/keymaps/vial/keymap.c | 4 ++--
keyboards/horizon/keymaps/vial/keymap.c | 4 ++--
keyboards/keyhive/absinthe/keymaps/vial/keymap.c | 4 ++--
keyboards/mechlovin/infinity87/keymaps/vial/keymap.c | 2 +-
keyboards/rainkeebs/twoyo/keymaps/default/keymap.c | 8 ++++----
keyboards/rainkeebs/twoyo/keymaps/vial/keymap.c | 8 ++++----
keyboards/reviung/reviung53/keymaps/vial/keymap.c | 2 +-
10 files changed, 19 insertions(+), 19 deletions(-)
diff --git a/keyboards/aeternus/omnibus/keymaps/default/keymap.c b/keyboards/aeternus/omnibus/keymaps/default/keymap.c
index 41e2be18b9..15c9c378b3 100644
--- a/keyboards/aeternus/omnibus/keymaps/default/keymap.c
+++ b/keyboards/aeternus/omnibus/keymaps/default/keymap.c
@@ -18,7 +18,7 @@
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Base */
[0] = LAYOUT_all(
- KC_GESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, KC_DEL,
+ QK_GESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, KC_DEL,
LCTL_T(KC_TAB), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT,
MO(1), KC_LALT, KC_LGUI, MO(2), KC_SPC, KC_SPC, MO(3), MO(1), TT(2), MO(2)
diff --git a/keyboards/aeternus/omnibus/keymaps/vial/keymap.c b/keyboards/aeternus/omnibus/keymaps/vial/keymap.c
index 37e8accf27..bca595dde1 100644
--- a/keyboards/aeternus/omnibus/keymaps/vial/keymap.c
+++ b/keyboards/aeternus/omnibus/keymaps/vial/keymap.c
@@ -27,7 +27,7 @@ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Base */
[0] = LAYOUT_all(
- KC_GESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, KC_DEL,
+ QK_GESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, KC_DEL,
LCTL_T(KC_TAB), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT,
MO(1), KC_LALT, KC_LGUI, MO(2), KC_SPC, KC_SPC, MO(3), MO(1), TT(2), MO(2)
diff --git a/keyboards/boardsource/lulu/keymaps/vial/keymap.c b/keyboards/boardsource/lulu/keymaps/vial/keymap.c
index 3b07bf5564..4a969d4963 100644
--- a/keyboards/boardsource/lulu/keymaps/vial/keymap.c
+++ b/keyboards/boardsource/lulu/keymaps/vial/keymap.c
@@ -33,7 +33,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_QWERTY] = LAYOUT(
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_GRV,
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_MINS,
- KC_LCTRL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
+ 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_LSFT, 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_RSFT,
KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_ENT, RAISE, KC_BSPC, KC_RGUI
),
diff --git a/keyboards/gh80_3000/keymaps/vial/keymap.c b/keyboards/gh80_3000/keymaps/vial/keymap.c
index 0221ffbc32..be553e91aa 100644
--- a/keyboards/gh80_3000/keymaps/vial/keymap.c
+++ b/keyboards/gh80_3000/keymaps/vial/keymap.c
@@ -3,8 +3,8 @@
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
LAYOUT(
- 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_PSCR, KC_SLCK, KC_PAUS, KC_MPLY, KC_MPRV, KC_MNXT, 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_BSPC, KC_INS, KC_HOME, KC_PGUP, KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS,
+ 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_PSCR, KC_SCRL, KC_PAUS, KC_MPLY, KC_MPRV, KC_MNXT, 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_BSPC, KC_INS, KC_HOME, KC_PGUP, KC_NUM, KC_PSLS, KC_PAST, KC_PMNS,
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, KC_P7, KC_P8, KC_P9, KC_PPLS,
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_P4, KC_P5, KC_P6, KC_PPLS,
KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT,
diff --git a/keyboards/horizon/keymaps/vial/keymap.c b/keyboards/horizon/keymaps/vial/keymap.c
index 29a9bec0d8..bdb03bd081 100644
--- a/keyboards/horizon/keymaps/vial/keymap.c
+++ b/keyboards/horizon/keymaps/vial/keymap.c
@@ -39,8 +39,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
),
[_FUNCTION] = LAYOUT(
- _______, KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_PSCR, KC_SLCK, KC_HOME, KC_PGDN, KC_PGUP, KC_END , _______,
- _______, KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_INS , KC_CLCK, KC_LEFT, KC_DOWN, KC_UP , KC_RGHT, _______,
+ _______, KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_PSCR, KC_SCRL, KC_HOME, KC_PGDN, KC_PGUP, KC_END , _______,
+ _______, KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_INS , KC_CAPS, KC_LEFT, KC_DOWN, KC_UP , KC_RGHT, _______,
_______, KC_F9 , KC_F10 , KC_F11 , KC_F12 , _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, KC_PAUS, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
)
diff --git a/keyboards/keyhive/absinthe/keymaps/vial/keymap.c b/keyboards/keyhive/absinthe/keymaps/vial/keymap.c
index 91343a1370..c22e351663 100644
--- a/keyboards/keyhive/absinthe/keymaps/vial/keymap.c
+++ b/keyboards/keyhive/absinthe/keymaps/vial/keymap.c
@@ -17,14 +17,14 @@
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT_default(
- KC_GESC, 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_INS, KC_HOME, KC_PGUP,
+ QK_GESC, 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_INS, KC_HOME, KC_PGUP,
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_DEL, KC_END, KC_PGDN,
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_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), KC_UP,
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT),
[1] = LAYOUT_default(
- _______, 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_PSCR, KC_SLCK, KC_PAUS,
+ _______, 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_PSCR, KC_SCRL, KC_PAUS,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
diff --git a/keyboards/mechlovin/infinity87/keymaps/vial/keymap.c b/keyboards/mechlovin/infinity87/keymaps/vial/keymap.c
index 6267857a24..bd15bd1fd9 100644
--- a/keyboards/mechlovin/infinity87/keymaps/vial/keymap.c
+++ b/keyboards/mechlovin/infinity87/keymaps/vial/keymap.c
@@ -17,7 +17,7 @@
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT_all(
- 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_PSCR, KC_SLCK, KC_PAUS,
+ 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_PSCR, KC_SCRL, KC_PAUS,
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_DEL, KC_INS, KC_HOME, KC_PGUP,
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_DEL, KC_END, KC_PGDN,
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_HASH, KC_ENT,
diff --git a/keyboards/rainkeebs/twoyo/keymaps/default/keymap.c b/keyboards/rainkeebs/twoyo/keymaps/default/keymap.c
index 3f35b2d50b..5e14849704 100644
--- a/keyboards/rainkeebs/twoyo/keymaps/default/keymap.c
+++ b/keyboards/rainkeebs/twoyo/keymaps/default/keymap.c
@@ -28,16 +28,16 @@ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
LAYOUT(
- KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPACE,
+ 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_ENTER,
- KC_LSHIFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, MO(1),
- KC_LCTRL, KC_LGUI, KC_LALT, MO(2), KC_SPC, KC_RALT, KC_RGUI, KC_RCTRL
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, MO(1),
+ KC_LCTL, KC_LGUI, KC_LALT, MO(2), KC_SPC, KC_RALT, KC_RGUI, KC_RCTL
),
LAYOUT(
KC_TILDE, KC_EXCLAIM, KC_AT, KC_HASH, KC_DOLLAR, KC_PERCENT, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_TRNS,
KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_UNDS, KC_LCBR, KC_RCBR, KC_DQT, KC_COLON, KC_TRNS,
- KC_TRNS, RESET, KC_NO, KC_NO, KC_NO, KC_PLUS, KC_PIPE, KC_QUES, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, QK_BOOT, KC_NO, KC_NO, KC_NO, KC_PLUS, KC_PIPE, KC_QUES, 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/rainkeebs/twoyo/keymaps/vial/keymap.c b/keyboards/rainkeebs/twoyo/keymaps/vial/keymap.c
index 3f35b2d50b..5e14849704 100644
--- a/keyboards/rainkeebs/twoyo/keymaps/vial/keymap.c
+++ b/keyboards/rainkeebs/twoyo/keymaps/vial/keymap.c
@@ -28,16 +28,16 @@ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
LAYOUT(
- KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPACE,
+ 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_ENTER,
- KC_LSHIFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, MO(1),
- KC_LCTRL, KC_LGUI, KC_LALT, MO(2), KC_SPC, KC_RALT, KC_RGUI, KC_RCTRL
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, MO(1),
+ KC_LCTL, KC_LGUI, KC_LALT, MO(2), KC_SPC, KC_RALT, KC_RGUI, KC_RCTL
),
LAYOUT(
KC_TILDE, KC_EXCLAIM, KC_AT, KC_HASH, KC_DOLLAR, KC_PERCENT, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_TRNS,
KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_UNDS, KC_LCBR, KC_RCBR, KC_DQT, KC_COLON, KC_TRNS,
- KC_TRNS, RESET, KC_NO, KC_NO, KC_NO, KC_PLUS, KC_PIPE, KC_QUES, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, QK_BOOT, KC_NO, KC_NO, KC_NO, KC_PLUS, KC_PIPE, KC_QUES, 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/reviung/reviung53/keymaps/vial/keymap.c b/keyboards/reviung/reviung53/keymaps/vial/keymap.c
index 6b47aad35a..4764cbd274 100644
--- a/keyboards/reviung/reviung53/keymaps/vial/keymap.c
+++ b/keyboards/reviung/reviung53/keymaps/vial/keymap.c
@@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_LCTL, KC_LGUI, KC_LALT, SP_LO, SP_RA, KC_LALT, KC_RGUI, KC_RCTL
),
[_LOWER] = LAYOUT_reviung53(
- KC_GESC, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_PAUS, KC_SLCK, KC_PSCR, _______,
+ QK_GESC, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_PAUS, KC_SCRL, KC_PSCR, _______,
_______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______,
_______, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, XXXXXXX, KC_QUOT,
_______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_HOME, KC_END, KC_PGUP, KC_PGDN, KC_SLSH,
From da872d27009b9ede24e0a4bf48f0b43efc30bce1 Mon Sep 17 00:00:00 2001
From: honorless <86894501+lesshonor@users.noreply.github.com>
Date: Tue, 27 Jun 2023 09:24:19 -0400
Subject: [PATCH 58/69] chore: clean up enum definition
---
.../arm/rev4/keymaps/vial/keymap.c | 27 +++++++------------
1 file changed, 10 insertions(+), 17 deletions(-)
diff --git a/keyboards/mechlovin/adelais/standard_led/arm/rev4/keymaps/vial/keymap.c b/keyboards/mechlovin/adelais/standard_led/arm/rev4/keymaps/vial/keymap.c
index c83d398f64..f4cf26ab4e 100644
--- a/keyboards/mechlovin/adelais/standard_led/arm/rev4/keymaps/vial/keymap.c
+++ b/keyboards/mechlovin/adelais/standard_led/arm/rev4/keymaps/vial/keymap.c
@@ -17,15 +17,15 @@
enum my_keycodes {
BL_TOG = USER00,
- BL_EFFECT = USER01,
- BL_ISPD = USER02,
- BL_DSPD = USER03,
- BL_IHUE = USER04,
- BL_DHUE = USER05,
- BL_ISAT = USER06,
- BL_DSAT = USER07,
- BL_IVAL = USER08,
- BL_DVAL = USER09
+ BL_EFFECT,
+ BL_ISPD,
+ BL_DSPD,
+ BL_IHUE,
+ BL_DHUE,
+ BL_ISAT,
+ BL_DSAT,
+ BL_IVAL,
+ BL_DVAL
};
@@ -47,14 +47,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_TRNS, KC_TRNS, KC_TRNS, KC_P7, KC_P8, KC_P9, KC_PSLS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_P4, KC_P5, KC_P6, KC_PAST, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_P1, KC_P2, KC_P3, KC_PPLS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_P0, KC_PDOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ),
- [3] = LAYOUT_all(
- 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, 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_P0, KC_PDOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS )
};
#ifdef ENCODER_ENABLE
From 912308a772d14a2a501259dff3e33275aa998498 Mon Sep 17 00:00:00 2001
From: honorless <86894501+lesshonor@users.noreply.github.com>
Date: Tue, 27 Jun 2023 09:25:00 -0400
Subject: [PATCH 59/69] chore: avoid keycapsss/3w6_2040 merge conflict
---
keyboards/keycapsss/3w6_2040/config.h | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-)
diff --git a/keyboards/keycapsss/3w6_2040/config.h b/keyboards/keycapsss/3w6_2040/config.h
index 0cb820a3a7..bf54e4ee37 100644
--- a/keyboards/keycapsss/3w6_2040/config.h
+++ b/keyboards/keycapsss/3w6_2040/config.h
@@ -23,7 +23,4 @@
#define RGBLIGHT_DEFAULT_VAR 255
#define RGBLIGHT_DEFAULT_SPD 2
-#define BOOTMAGIC_LITE_ROW 0
-#define BOOTMAGIC_LITE_COLUMN 0
-
-#define DYNAMIC_KEYMAP_LAYER_COUNT 9
\ No newline at end of file
+#define DYNAMIC_KEYMAP_LAYER_COUNT 9
From 9425a1c5997d1c3d35f94ecad370642b1de798b7 Mon Sep 17 00:00:00 2001
From: honorless <86894501+lesshonor@users.noreply.github.com>
Date: Tue, 27 Jun 2023 09:25:30 -0400
Subject: [PATCH 60/69] refactor: aeternus/omnibus
---
keyboards/aeternus/omnibus/config.h | 28 +-
keyboards/aeternus/omnibus/info.json | 389 +++++++-----------
.../aeternus/omnibus/keymaps/via/keymap.c | 44 --
.../aeternus/omnibus/keymaps/via/rules.mk | 1 -
.../aeternus/omnibus/keymaps/vial/rules.mk | 4 +-
keyboards/aeternus/omnibus/omnibus.c | 17 -
keyboards/aeternus/omnibus/omnibus.h | 53 ---
keyboards/aeternus/omnibus/rules.mk | 23 +-
8 files changed, 148 insertions(+), 411 deletions(-)
delete mode 100644 keyboards/aeternus/omnibus/keymaps/via/keymap.c
delete mode 100644 keyboards/aeternus/omnibus/keymaps/via/rules.mk
delete mode 100644 keyboards/aeternus/omnibus/omnibus.c
delete mode 100644 keyboards/aeternus/omnibus/omnibus.h
diff --git a/keyboards/aeternus/omnibus/config.h b/keyboards/aeternus/omnibus/config.h
index 01d376f0d5..0a7d501827 100644
--- a/keyboards/aeternus/omnibus/config.h
+++ b/keyboards/aeternus/omnibus/config.h
@@ -17,33 +17,7 @@ along with this program. If not, see .
#pragma once
-#include "config_common.h"
-
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xAE7E
-#define PRODUCT_ID 0x4F42 /* "OB" */
-#define DEVICE_VER 0x0001
-#define MANUFACTURER KnoblesseOblige
-#define PRODUCT Omnibus
-
-#define MATRIX_ROWS 4
-#define MATRIX_COLS 12
-
-#define MATRIX_ROW_PINS { B1, B0, D6, D4 }
-#define MATRIX_COL_PINS { B4, B5, B6, C6, C7, F7, F6, F5, F4, F1, F0, D7 }
-
-#define DIODE_DIRECTION COL2ROW
-
-#define ENCODERS_PAD_A { B2 }
-#define ENCODERS_PAD_B { B3 }
-
-#define RGB_DI_PIN B7
-#ifdef RGB_DI_PIN
-# define RGBLED_NUM 22
-# define RGBLIGHT_ANIMATIONS
-#endif
-
-#define DEBOUNCE 5
+#define RGBLED_NUM 22
#define LOCKING_SUPPORT_ENABLE
#define LOCKING_RESYNC_ENABLE
diff --git a/keyboards/aeternus/omnibus/info.json b/keyboards/aeternus/omnibus/info.json
index e1f62ecc27..5fa0b4f152 100644
--- a/keyboards/aeternus/omnibus/info.json
+++ b/keyboards/aeternus/omnibus/info.json
@@ -1,249 +1,148 @@
{
- "keyboard_name": "omnibus",
- "url": "",
+ "manufacturer": "Aeternus",
+ "keyboard_name": "Omnibus",
"maintainer": "KnoblesseOblige",
- "layouts": {
- "LAYOUT": {
- "layout": [
- {
- "label": "k00",
- "x": 0,
- "y": 0
- },
- {
- "label": "k01",
- "x": 1,
- "y": 0
- },
- {
- "label": "k02",
- "x": 2,
- "y": 0
- },
- {
- "label": "k03",
- "x": 3,
- "y": 0
- },
- {
- "label": "k04",
- "x": 4,
- "y": 0
- },
- {
- "label": "k05",
- "x": 5,
- "y": 0
- },
- {
- "label": "k06",
- "x": 6,
- "y": 0
- },
- {
- "label": "k07",
- "x": 7,
- "y": 0
- },
- {
- "label": "k08",
- "x": 8,
- "y": 0
- },
- {
- "label": "k09",
- "x": 9,
- "y": 0
- },
- {
- "label": "k0a",
- "x": 10,
- "y": 0
- },
- {
- "label": "k0b",
- "x": 11,
- "y": 0,
- "w": 1.75
- },
- {
- "label": "k37",
- "x": 7,
- "y": 3
- },
- {
- "label": "k10",
- "x": 0,
- "y": 1
- },
- {
- "label": "k11",
- "x": 1,
- "y": 1
- },
- {
- "label": "k12",
- "x": 2,
- "y": 1
- },
- {
- "label": "k13",
- "x": 3,
- "y": 1
- },
- {
- "label": "k14",
- "x": 4,
- "y": 1
- },
- {
- "label": "k15",
- "x": 5,
- "y": 1
- },
- {
- "label": "k16",
- "x": 6,
- "y": 1
- },
- {
- "label": "k17",
- "x": 7,
- "y": 1
- },
- {
- "label": "k18",
- "x": 8,
- "y": 1
- },
- {
- "label": "k19",
- "x": 9,
- "y": 1
- },
- {
- "label": "k1a",
- "x": 10,
- "y": 1
- },
- {
- "label": "k1b",
- "x": 11,
- "y": 1
- },
- {
- "label": "k20",
- "x": 0,
- "y": 2
- },
- {
- "label": "k21",
- "x": 1,
- "y": 2
- },
- {
- "label": "k22",
- "x": 2,
- "y": 2
- },
- {
- "label": "k23",
- "x": 3,
- "y": 2
- },
- {
- "label": "k24",
- "x": 4,
- "y": 2
- },
- {
- "label": "k25",
- "x": 5,
- "y": 2
- },
- {
- "label": "k26",
- "x": 6,
- "y": 2
- },
- {
- "label": "k27",
- "x": 7,
- "y": 2
- },
- {
- "label": "k28",
- "x": 8,
- "y": 2
- },
- {
- "label": "k29",
- "x": 9,
- "y": 2
- },
- {
- "label": "k2a",
- "x": 10,
- "y": 2
- },
- {
- "label": "k2b",
- "x": 11,
- "y": 2
- },
-
-
- {
- "label": "k30",
- "x": 0,
- "y": 3
- },
- {
- "label": "k31",
- "x": 1,
- "y": 3
- },
- {
- "label": "k32",
- "x": 2,
- "y": 3
- },
- {
- "label": "k33",
- "x": 3,
- "y": 3
- },
- {
- "label": "k34",
- "x": 4,
- "y": 3
- },
- {
- "label": "k36",
- "x": 6,
- "y": 3
- },
- {
- "label": "k38",
- "x": 8,
- "y": 3
- },
- {
- "label": "k39",
- "x": 9,
- "y": 3
- },
- {
- "label": "k3a",
- "x": 10,
- "y": 3
- },
- {
- "label": "k3b",
- "x": 11,
- "y": 3
- }
+ "bootloader": "atmel-dfu",
+ "diode_direction": "COL2ROW",
+ "encoder": {
+ "rotary": [
+ {"pin_a": "B2", "pin_b": "B3"}
]
- }
+ },
+ "features": {
+ "bootmagic": true,
+ "encoder": true,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": false,
+ "rgblight": true
+ },
+ "matrix_pins": {
+ "cols": ["B4", "B5", "B6", "C6", "C7", "F7", "F6", "F5", "F4", "F1", "F0", "D7"],
+ "rows": ["B1", "B0", "D6", "D4"]
+ },
+ "processor": "atmega32u4",
+ "rgblight": {
+ "animations": {
+ "alternating": true,
+ "breathing": true,
+ "knight": true,
+ "rainbow_mood": true,
+ "rainbow_swirl": true,
+ "rgb_test": true,
+ "snake": true,
+ "static_gradient": true,
+ "twinkle": true
+ },
+ "pin": "B7"
+ },
+ "url": "",
+ "usb": {
+ "device_version": "0.0.1",
+ "pid": "0x4F42",
+ "vid": "0xAE7E"
+ },
+ "layouts": {
+ "LAYOUT_all": {
+ "layout": [
+ { "label": "1u", "matrix": [0, 0], "w": 1, "x": 0, "y": 0 },
+ { "label": "1u", "matrix": [0, 1], "w": 1, "x": 1, "y": 0 },
+ { "label": "1u", "matrix": [0, 2], "w": 1, "x": 2, "y": 0 },
+ { "label": "1u", "matrix": [0, 3], "w": 1, "x": 3, "y": 0 },
+ { "label": "1u", "matrix": [0, 4], "w": 1, "x": 4, "y": 0 },
+ { "label": "1u", "matrix": [0, 5], "w": 1, "x": 5, "y": 0 },
+ { "label": "1u", "matrix": [0, 6], "w": 1, "x": 6, "y": 0 },
+ { "label": "1u", "matrix": [0, 7], "w": 1, "x": 7, "y": 0 },
+ { "label": "1u", "matrix": [0, 8], "w": 1, "x": 8, "y": 0 },
+ { "label": "1u", "matrix": [0, 9], "w": 1, "x": 9, "y": 0 },
+ { "label": "1u", "matrix": [0, 10], "w": 1, "x": 10, "y": 0 },
+ { "label": "nono", "matrix": [0, 11], "w": 1, "x": 11, "y": 0 },
+ { "label": "enc", "matrix": [3, 7], "w": 0.75, "x": 12, "y": 0 },
+ { "label": "1.25u", "matrix": [1, 0], "w": 1.25, "x": 0, "y": 1 },
+ { "label": "1u", "matrix": [1, 1], "w": 1, "x": 1.25, "y": 1 },
+ { "label": "1u", "matrix": [1, 2], "w": 1, "x": 2.25, "y": 1 },
+ { "label": "1u", "matrix": [1, 3], "w": 1, "x": 3.25, "y": 1 },
+ { "label": "1u", "matrix": [1, 4], "w": 1, "x": 4.25, "y": 1 },
+ { "label": "1u", "matrix": [1, 5], "w": 1, "x": 5.25, "y": 1 },
+ { "label": "1u", "matrix": [1, 6], "w": 1, "x": 6.25, "y": 1 },
+ { "label": "1u", "matrix": [1, 7], "w": 1, "x": 7.25, "y": 1 },
+ { "label": "1u", "matrix": [1, 8], "w": 1, "x": 8.25, "y": 1 },
+ { "label": "1u", "matrix": [1, 9], "w": 1, "x": 9.25, "y": 1 },
+ { "label": "1u", "matrix": [1, 10], "w": 1, "x": 10.25, "y": 1 },
+ { "label": "1.5u", "matrix": [1, 11], "w": 1.5, "x": 11.25, "y": 1 },
+ { "label": "1.75u", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 },
+ { "label": "1u", "matrix": [2, 1], "w": 1, "x": 1.75, "y": 2 },
+ { "label": "1u", "matrix": [2, 2], "w": 1, "x": 2.75, "y": 2 },
+ { "label": "1u", "matrix": [2, 3], "w": 1, "x": 3.75, "y": 2 },
+ { "label": "1u", "matrix": [2, 4], "w": 1, "x": 4.75, "y": 2 },
+ { "label": "1u", "matrix": [2, 5], "w": 1, "x": 5.75, "y": 2 },
+ { "label": "1u", "matrix": [2, 6], "w": 1, "x": 6.75, "y": 2 },
+ { "label": "1u", "matrix": [2, 7], "w": 1, "x": 7.75, "y": 2 },
+ { "label": "1u", "matrix": [2, 8], "w": 1, "x": 8.75, "y": 2 },
+ { "label": "1u", "matrix": [2, 9], "w": 1, "x": 9.75, "y": 2 },
+ { "label": "1u", "matrix": [2, 10], "w": 1, "x": 10.75, "y": 2 },
+ { "label": "1u", "matrix": [2, 11], "w": 1, "x": 11.75, "y": 2 },
+ { "label": "1u", "matrix": [3, 0], "w": 1, "x": 0, "y": 3 },
+ { "label": "1u", "matrix": [3, 1], "w": 1, "x": 1, "y": 3 },
+ { "label": "1u", "matrix": [3, 2], "w": 1, "x": 2, "y": 3 },
+ { "label": "1u", "matrix": [3, 3], "w": 1, "x": 3, "y": 3 },
+ { "label": "2.25u", "matrix": [3, 4], "w": 2.25, "x": 4, "y": 3 },
+ { "label": "2u", "matrix": [3, 6], "w": 2, "x": 6.25, "y": 3 },
+ { "label": "1.5u", "matrix": [3, 8], "w": 1.5, "x": 8.25, "y": 3 },
+ { "label": "1u", "matrix": [3, 9], "w": 1, "x": 9.75, "y": 3 },
+ { "label": "1u", "matrix": [3, 10], "w": 1, "x": 10.75, "y": 3 },
+ { "label": "1u", "matrix": [3, 11], "w": 1, "x": 11.75, "y": 3 }
+ ]
+ },
+ "LAYOUT_southpaw": {
+ "layout": [
+ { "label": "1u", "matrix": [0, 0], "w": 1, "x": 0, "y": 0 },
+ { "label": "1u", "matrix": [0, 1], "w": 1, "x": 1, "y": 0 },
+ { "label": "1u", "matrix": [0, 2], "w": 1, "x": 2, "y": 0 },
+ { "label": "1u", "matrix": [0, 3], "w": 1, "x": 3, "y": 0 },
+ { "label": "1u", "matrix": [0, 4], "w": 1, "x": 4, "y": 0 },
+ { "label": "1u", "matrix": [0, 5], "w": 1, "x": 5, "y": 0 },
+ { "label": "1u", "matrix": [0, 6], "w": 1, "x": 6, "y": 0 },
+ { "label": "1u", "matrix": [0, 7], "w": 1, "x": 7, "y": 0 },
+ { "label": "1u", "matrix": [0, 8], "w": 1, "x": 8, "y": 0 },
+ { "label": "1u", "matrix": [0, 9], "w": 1, "x": 9, "y": 0 },
+ { "label": "1u", "matrix": [0, 10], "w": 1, "x": 10, "y": 0 },
+ { "label": "nono", "matrix": [0, 11], "w": 1.75, "x": 11, "y": 0 },
+ { "label": "1.25u", "matrix": [1, 0], "w": 1.25, "x": 0, "y": 1 },
+ { "label": "1u", "matrix": [1, 1], "w": 1, "x": 1.25, "y": 1 },
+ { "label": "1u", "matrix": [1, 2], "w": 1, "x": 2.25, "y": 1 },
+ { "label": "1u", "matrix": [1, 3], "w": 1, "x": 3.25, "y": 1 },
+ { "label": "1u", "matrix": [1, 4], "w": 1, "x": 4.25, "y": 1 },
+ { "label": "1u", "matrix": [1, 5], "w": 1, "x": 5.25, "y": 1 },
+ { "label": "1u", "matrix": [1, 6], "w": 1, "x": 6.25, "y": 1 },
+ { "label": "1u", "matrix": [1, 7], "w": 1, "x": 7.25, "y": 1 },
+ { "label": "1u", "matrix": [1, 8], "w": 1, "x": 8.25, "y": 1 },
+ { "label": "1u", "matrix": [1, 9], "w": 1, "x": 9.25, "y": 1 },
+ { "label": "1u", "matrix": [1, 10], "w": 1, "x": 10.25, "y": 1 },
+ { "label": "1.5u", "matrix": [1, 11], "w": 1.5, "x": 11.25, "y": 1 },
+ { "label": "1.75u", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 },
+ { "label": "1u", "matrix": [2, 1], "w": 1, "x": 1.75, "y": 2 },
+ { "label": "1u", "matrix": [2, 2], "w": 1, "x": 2.75, "y": 2 },
+ { "label": "1u", "matrix": [2, 3], "w": 1, "x": 3.75, "y": 2 },
+ { "label": "1u", "matrix": [2, 4], "w": 1, "x": 4.75, "y": 2 },
+ { "label": "1u", "matrix": [2, 5], "w": 1, "x": 5.75, "y": 2 },
+ { "label": "1u", "matrix": [2, 6], "w": 1, "x": 6.75, "y": 2 },
+ { "label": "1u", "matrix": [2, 7], "w": 1, "x": 7.75, "y": 2 },
+ { "label": "1u", "matrix": [2, 8], "w": 1, "x": 8.75, "y": 2 },
+ { "label": "1u", "matrix": [2, 9], "w": 1, "x": 9.75, "y": 2 },
+ { "label": "1u", "matrix": [2, 10], "w": 1, "x": 10.75, "y": 2 },
+ { "label": "1u", "matrix": [2, 11], "w": 1, "x": 11.75, "y": 2 },
+ { "label": "1u", "matrix": [3, 0], "w": 1, "x": 0, "y": 3 },
+ { "label": "1u", "matrix": [3, 1], "w": 1, "x": 1, "y": 3 },
+ { "label": "1u", "matrix": [3, 2], "w": 1, "x": 2, "y": 3 },
+ { "label": "1u", "matrix": [3, 3], "w": 1, "x": 3, "y": 3 },
+ { "label": "2.25u", "matrix": [3, 4], "w": 2.25, "x": 4, "y": 3 },
+ { "label": "2u", "matrix": [3, 6], "w": 2, "x": 6.25, "y": 3 },
+ { "label": "1.5u", "matrix": [3, 8], "w": 1.5, "x": 8.25, "y": 3 },
+ { "label": "1u", "matrix": [3, 9], "w": 1, "x": 9.75, "y": 3 },
+ { "label": "1u", "matrix": [3, 10], "w": 1, "x": 10.75, "y": 3 },
+ { "label": "1u", "matrix": [3, 11], "w": 1, "x": 11.75, "y": 3 }
+ ]
+ }
}
- }
+}
diff --git a/keyboards/aeternus/omnibus/keymaps/via/keymap.c b/keyboards/aeternus/omnibus/keymaps/via/keymap.c
deleted file mode 100644
index 41e2be18b9..0000000000
--- a/keyboards/aeternus/omnibus/keymaps/via/keymap.c
+++ /dev/null
@@ -1,44 +0,0 @@
-/* Copyright 2021 KnoblesseOblige
- *
- * 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] = {
- /* Base */
- [0] = LAYOUT_all(
- KC_GESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, KC_DEL,
- LCTL_T(KC_TAB), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT,
- MO(1), KC_LALT, KC_LGUI, MO(2), KC_SPC, KC_SPC, MO(3), MO(1), TT(2), MO(2)
- ),
- [1] = LAYOUT_all(
- KC_GRAVE, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
- 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
- ),
- [2] = LAYOUT_all(
- 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_UP, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
- [3] = LAYOUT_all(
- KC_GRAVE, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, 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/aeternus/omnibus/keymaps/via/rules.mk b/keyboards/aeternus/omnibus/keymaps/via/rules.mk
deleted file mode 100644
index 036bd6d1c3..0000000000
--- a/keyboards/aeternus/omnibus/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
\ No newline at end of file
diff --git a/keyboards/aeternus/omnibus/keymaps/vial/rules.mk b/keyboards/aeternus/omnibus/keymaps/vial/rules.mk
index bacb882dc8..3e91f08bde 100644
--- a/keyboards/aeternus/omnibus/keymaps/vial/rules.mk
+++ b/keyboards/aeternus/omnibus/keymaps/vial/rules.mk
@@ -1,7 +1,7 @@
VIA_ENABLE = yes
VIAL_ENABLE = yes
+LTO_ENABLE = yes
+ENCODER_MAP_ENABLE = yes
QMK_SETTINGS = no
-LTO_ENABLE = yes
TAP_DANCE_ENABLE = no
-ENCODER_MAP_ENABLE = yes
diff --git a/keyboards/aeternus/omnibus/omnibus.c b/keyboards/aeternus/omnibus/omnibus.c
deleted file mode 100644
index 6fd5199509..0000000000
--- a/keyboards/aeternus/omnibus/omnibus.c
+++ /dev/null
@@ -1,17 +0,0 @@
-/* Copyright 2021 KnoblesseOblige
- *
- * 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 "omnibus.h"
diff --git a/keyboards/aeternus/omnibus/omnibus.h b/keyboards/aeternus/omnibus/omnibus.h
deleted file mode 100644
index ec716e9ae5..0000000000
--- a/keyboards/aeternus/omnibus/omnibus.h
+++ /dev/null
@@ -1,53 +0,0 @@
-/* Copyright 2021 KnoblesseOblige
- *
- * 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 "quantum.h"
-
-#define kxx KC_NO
-
-/* This is a shortcut to help you visually see your layout.
- *
- * The first section contains all of the arguments representing the physical
- * layout of the board and position of the keys.
- *
- * The second converts the arguments into a two-dimensional array which
- * represents the switch matrix.
- */
-#define LAYOUT_all( \
- k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k37, \
- k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, \
- k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, \
- k30, k31, k32, k33, k34, k36, k38, k39, k3a, k3b \
-) { \
- { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b }, \
- { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b }, \
- { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b }, \
- { k30, k31, k32, k33, k34, kxx, k36, k37, k38, k39, k3a, k3b } \
-}
-
-#define LAYOUT_all_no_encoder( \
- k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, \
- k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, \
- k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, \
- k30, k31, k32, k33, k34, k36, k38, k39, k3a, k3b \
-) { \
- { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b }, \
- { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b }, \
- { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b }, \
- { k30, k31, k32, k33, k34, kxx, k36, kxx, k38, k39, k3a, k3b } \
-}
diff --git a/keyboards/aeternus/omnibus/rules.mk b/keyboards/aeternus/omnibus/rules.mk
index c28edc9134..6e7633bfe0 100644
--- a/keyboards/aeternus/omnibus/rules.mk
+++ b/keyboards/aeternus/omnibus/rules.mk
@@ -1,22 +1 @@
-# MCU name
-MCU = atmega32u4
-
-# Bootloader selection
-BOOTLOADER = atmel-dfu
-
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = no # Commands for debug and configuration
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-NKRO_ENABLE = no # USB Nkey Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
-AUDIO_ENABLE = no # Audio output
-ENCODER_ENABLE = yes
+# This file intentionally left blank
From 1f41c7e87d85809e336383c54e384543f5f62015 Mon Sep 17 00:00:00 2001
From: honorless <86894501+lesshonor@users.noreply.github.com>
Date: Tue, 27 Jun 2023 09:02:30 -0400
Subject: [PATCH 61/69] fix: cut features from boardsource/lulu/avr
---
.../boardsource/lulu/keymaps/vial/config.h | 5 +++++
.../boardsource/lulu/keymaps/vial/rules.mk | 19 ++++++++++++-------
2 files changed, 17 insertions(+), 7 deletions(-)
diff --git a/keyboards/boardsource/lulu/keymaps/vial/config.h b/keyboards/boardsource/lulu/keymaps/vial/config.h
index 65a6bdb9c0..3ce29e5a53 100644
--- a/keyboards/boardsource/lulu/keymaps/vial/config.h
+++ b/keyboards/boardsource/lulu/keymaps/vial/config.h
@@ -5,3 +5,8 @@
#define VIAL_KEYBOARD_UID {0xAB, 0x22, 0x68, 0x8B, 0x59, 0xD0, 0x81, 0x11}
#define VIAL_UNLOCK_COMBO_ROWS { 0, 0 }
#define VIAL_UNLOCK_COMBO_COLS { 0, 1 }
+
+#if defined(__AVR_ATmega32U4__)
+ #undef ENABLE_RGB_MATRIX_BAND_SAT
+ #undef ENABLE_RGB_MATRIX_BAND_VAL
+#endif
diff --git a/keyboards/boardsource/lulu/keymaps/vial/rules.mk b/keyboards/boardsource/lulu/keymaps/vial/rules.mk
index 351a30e1b6..51fa8e5556 100644
--- a/keyboards/boardsource/lulu/keymaps/vial/rules.mk
+++ b/keyboards/boardsource/lulu/keymaps/vial/rules.mk
@@ -1,10 +1,15 @@
VIA_ENABLE = yes
VIAL_ENABLE = yes
-QMK_SETTINGS = no
-COMBO_ENABLE = no
-MOUSEKEY_ENABLE = no
-TAP_DANCE_ENABLE = no
+
VIALRGB_ENABLE = yes
-VIAL_ENCODERS_ENABLE = yes
-SPACE_CADET_ENABLE = no
-GRAVE_ESC_ENABLE = no
+
+ifeq ($(strip $(MCU)), atmega32u4)
+ QMK_SETTINGS = no
+ COMBO_ENABLE = no
+ MOUSEKEY_ENABLE = no
+ TAP_DANCE_ENABLE = no
+ SPACE_CADET_ENABLE = no
+ GRAVE_ESC_ENABLE = no
+ KEY_OVERRIDE_ENABLE = no
+ MAGIC_ENABLE = no
+endif
From fc2f20de225532b530eed2f628efe5837fb093ab Mon Sep 17 00:00:00 2001
From: honorless <86894501+lesshonor@users.noreply.github.com>
Date: Tue, 27 Jun 2023 09:03:42 -0400
Subject: [PATCH 62/69] fix: planck/rev6_drop
Remove VIA v3 configuration in vial.json
Enable RGB_MATRIX
---
keyboards/planck/rev6_drop/keymaps/vial/rules.mk | 1 +
keyboards/planck/rev6_drop/keymaps/vial/vial.json | 13 ++-----------
2 files changed, 3 insertions(+), 11 deletions(-)
diff --git a/keyboards/planck/rev6_drop/keymaps/vial/rules.mk b/keyboards/planck/rev6_drop/keymaps/vial/rules.mk
index 9dbbcc4c49..1ab38db929 100644
--- a/keyboards/planck/rev6_drop/keymaps/vial/rules.mk
+++ b/keyboards/planck/rev6_drop/keymaps/vial/rules.mk
@@ -1,5 +1,6 @@
VIA_ENABLE = yes
VIAL_ENABLE = yes
+RGB_MATRIX_ENABLE = yes
VIALRGB_ENABLE = yes
LTO_ENABLE = yes
diff --git a/keyboards/planck/rev6_drop/keymaps/vial/vial.json b/keyboards/planck/rev6_drop/keymaps/vial/vial.json
index edf741abc7..5a0f5f9de2 100644
--- a/keyboards/planck/rev6_drop/keymaps/vial/vial.json
+++ b/keyboards/planck/rev6_drop/keymaps/vial/vial.json
@@ -2,17 +2,8 @@
"name": "OLKB PLANCK REV6.1",
"vendorId": "0x03A8",
"productId": "0xA4F9",
- "firmwareVersion": 0,
- "keycodes": ["via/keycodes", "via/qmk_lighting"],
- "lighting": "vialrgb",
- "menus": [
- "via/keymap",
- "via/layouts",
- "via/macros",
- "via/save_load",
- "core/qmk_rgblight"
- ],
"matrix": {"rows": 8, "cols": 6},
+ "lighting": "vialrgb",
"layouts": {
"labels": [["Layout", "MIT (1x2u)", "Grid (2x1u)", "2x2u", "3x3u"]],
"keymap": [
@@ -113,4 +104,4 @@
]
]
}
-}
\ No newline at end of file
+}
From 5e65583f85c14a814b6c24c53fd955b867430a64 Mon Sep 17 00:00:00 2001
From: honorless <86894501+lesshonor@users.noreply.github.com>
Date: Tue, 27 Jun 2023 09:42:10 -0400
Subject: [PATCH 63/69] fix: cut console/command from handwired/prkl30
---
keyboards/handwired/prkl30/keymaps/vial/config.h | 2 +-
keyboards/handwired/prkl30/keymaps/vial/rules.mk | 8 +++++++-
2 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/keyboards/handwired/prkl30/keymaps/vial/config.h b/keyboards/handwired/prkl30/keymaps/vial/config.h
index 506c1725be..d484c59291 100644
--- a/keyboards/handwired/prkl30/keymaps/vial/config.h
+++ b/keyboards/handwired/prkl30/keymaps/vial/config.h
@@ -6,4 +6,4 @@
#define VIAL_UNLOCK_COMBO_ROWS { 0, 0 }
-#define VIAL_UNLOCK_COMBO_COLS { 0, 1 }
\ No newline at end of file
+#define VIAL_UNLOCK_COMBO_COLS { 0, 1 }
diff --git a/keyboards/handwired/prkl30/keymaps/vial/rules.mk b/keyboards/handwired/prkl30/keymaps/vial/rules.mk
index 4e13a6c067..c852abf313 100644
--- a/keyboards/handwired/prkl30/keymaps/vial/rules.mk
+++ b/keyboards/handwired/prkl30/keymaps/vial/rules.mk
@@ -4,4 +4,10 @@ LTO_ENABLE = yes
ENCODER_ENABLE = yes
ENCODER_MAP_ENABLE = yes
EXTRAKEY_ENABLE = yes
-QMK_SETTINGS = no
\ No newline at end of file
+
+CONSOLE_ENABLE = no
+COMMAND_ENABLE = no
+
+ifeq ($(strip $(MCU)), atmega32u4)
+ QMK_SETTINGS = no
+endif
From 0c348ddd6ec7b0dd765c95731bbef3ea36dd99c2 Mon Sep 17 00:00:00 2001
From: honorless <86894501+lesshonor@users.noreply.github.com>
Date: Tue, 27 Jun 2023 11:05:02 -0400
Subject: [PATCH 64/69] refactor: reduce sneakbox/aliceclonergb size
---
.../aliceclonergb/keymaps/vial/keymap.c | 18 ++----------------
1 file changed, 2 insertions(+), 16 deletions(-)
diff --git a/keyboards/sneakbox/aliceclonergb/keymaps/vial/keymap.c b/keyboards/sneakbox/aliceclonergb/keymaps/vial/keymap.c
index bdd6deb5f8..a55b58780e 100644
--- a/keyboards/sneakbox/aliceclonergb/keymaps/vial/keymap.c
+++ b/keyboards/sneakbox/aliceclonergb/keymaps/vial/keymap.c
@@ -20,9 +20,7 @@ along with this program. If not, see .
// Defines names for use in layer keycodes and the keymap
enum layer_names {
_BASE,
- _FN,
- _L3,
- _L4
+ _FN
};
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
@@ -38,17 +36,5 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_RMOD, RGB_MOD, RGB_TOG,
QK_BOOT, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_VAD, RGB_VAI, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_SAD, RGB_SAI, KC_TRNS, RGB_HUI,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
- [_L3] = LAYOUT_alice_split_bs(
- 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, 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),
- [_L4] = LAYOUT_alice_split_bs(
- 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, 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)
};
From dbba42ecb326ccbeb52d06cc2dbd007c0375b286 Mon Sep 17 00:00:00 2001
From: honorless <86894501+lesshonor@users.noreply.github.com>
Date: Tue, 27 Jun 2023 12:50:27 -0400
Subject: [PATCH 65/69] refactor: rainkeebs/twoyo
---
keyboards/rainkeebs/twoyo/config.h | 3 -
keyboards/rainkeebs/twoyo/info.json | 237 +++++++-----------
.../rainkeebs/twoyo/keymaps/default/rules.mk | 1 +
.../rainkeebs/twoyo/keymaps/via/keymap.c | 117 ---------
.../rainkeebs/twoyo/keymaps/via/rules.mk | 1 -
keyboards/rainkeebs/twoyo/twoyo.c | 16 --
keyboards/rainkeebs/twoyo/twoyo.h | 35 ---
7 files changed, 96 insertions(+), 314 deletions(-)
create mode 100644 keyboards/rainkeebs/twoyo/keymaps/default/rules.mk
delete mode 100644 keyboards/rainkeebs/twoyo/keymaps/via/keymap.c
delete mode 100644 keyboards/rainkeebs/twoyo/keymaps/via/rules.mk
delete mode 100644 keyboards/rainkeebs/twoyo/twoyo.c
delete mode 100644 keyboards/rainkeebs/twoyo/twoyo.h
diff --git a/keyboards/rainkeebs/twoyo/config.h b/keyboards/rainkeebs/twoyo/config.h
index e74c75e600..a14020674f 100644
--- a/keyboards/rainkeebs/twoyo/config.h
+++ b/keyboards/rainkeebs/twoyo/config.h
@@ -18,9 +18,6 @@
/* usb handedness? */
#define SPLIT_USB_DETECT
-/* Set 0 if debouncing isn't needed */
-#define DEBOUNCING 5
-
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
#define LOCKING_SUPPORT_ENABLE
diff --git a/keyboards/rainkeebs/twoyo/info.json b/keyboards/rainkeebs/twoyo/info.json
index 678691453d..2c8fcd1a4a 100644
--- a/keyboards/rainkeebs/twoyo/info.json
+++ b/keyboards/rainkeebs/twoyo/info.json
@@ -1,144 +1,97 @@
{
- "manufacturer": "rainkeebs",
- "keyboard_name": "Twoyo",
- "maintainer": "rainkeebs",
- "bootloader": "caterina",
- "config_h_features": {
- "audio": false,
- "backlight": false,
- "bootmagic": true,
- "command": false,
- "console": false,
- "encoder": true,
- "extrakey": true,
- "mousekey": true,
- "nkro": true,
- "sleep_led": false
- },
- "diode_direction": "COL2ROW",
- "encoder": {
- "enabled": true,
- "rotary": [
- {
- "pin_a": "F4",
- "pin_b": "F5"
- }
- ]
- },
- "features": {
- "audio": false,
- "backlight": false,
- "bootmagic": true,
- "command": false,
- "console": false,
- "encoder": true,
- "extrakey": true,
- "mousekey": true,
- "nkro": true,
- "sleep_led": false
- },
- "height": 4,
- "keyboard_folder": "rainkeebs/twoyo",
- "keymaps": {},
- "matrix_pins": {
- "cols": ["D1", "B6", "B2", "B3", "B1", "F7"],
- "rows": ["F6", "C6", "D4", "D0"]
- },
- "matrix_size": {
- "cols": 6,
- "rows": 8
- },
- "mouse_key": {
- "enabled": true
- },
- "parse_errors": [],
- "parse_warnings": [],
- "platform": "unknown",
- "processor": "atmega32u4",
- "processor_type": "avr",
- "protocol": "LUFA",
- "split": {
- "enabled": true,
- "encoder": {
- "right": {
- "rotary": [
- {
- "pin_a": "D1",
- "pin_b": "D0"
- }
- ]
- }
- },
- "matrix_pins": {
- "right": {
- "cols": ["D4", "C6", "D7", "E6", "B4", "B5"],
- "rows": ["F4", "F7", "F6", "B6"]
- }
- },
- "soft_serial_pin": "D3",
- "transport": {
- "protocol": "serial"
- },
- "usb_detect": {
- "enabled": false
- }
- },
- "url": "https://www.rainkeebs.mx/product/twoyo-keyboard-kit",
- "usb": {
- "device_ver": "0x0001",
- "device_version": "0.0.1",
- "pid": "0x616B",
- "vid": "0x726B"
- },
- "width": 14,
- "layouts": {
- "LAYOUT": {
- "c_macro": true,
- "filename": "keyboards/rainkeebs/twoyo/twoyo.h",
- "layout": [
- { "label": "0,0", "matrix": [0, 0], "w": 1, "x": 0, "y": 0 },
- { "label": "0,1", "matrix": [0, 1], "w": 1, "x": 1, "y": 0 },
- { "label": "0,2", "matrix": [0, 2], "w": 1, "x": 2, "y": 0 },
- { "label": "0,3", "matrix": [0, 3], "w": 1, "x": 3, "y": 0 },
- { "label": "0,4", "matrix": [0, 4], "w": 1, "x": 4, "y": 0 },
- { "label": "0,5", "matrix": [0, 5], "w": 1, "x": 5, "y": 0 },
- { "label": "0,6", "matrix": [4, 0], "w": 1, "x": 8, "y": 0 },
- { "label": "0,7", "matrix": [4, 1], "w": 1, "x": 9, "y": 0 },
- { "label": "0,8", "matrix": [4, 2], "w": 1, "x": 10, "y": 0 },
- { "label": "0,9", "matrix": [4, 3], "w": 1, "x": 11, "y": 0 },
- { "label": "0,10", "matrix": [4, 4], "w": 1, "x": 12, "y": 0 },
- { "label": "0,11", "matrix": [4, 5], "w": 1, "x": 13, "y": 0 },
- { "label": "1,0", "matrix": [1, 0], "w": 1.25, "x": 0, "y": 1 },
- { "label": "1,1", "matrix": [1, 1], "w": 1, "x": 1.25, "y": 1 },
- { "label": "1,2", "matrix": [1, 2], "w": 1, "x": 2.25, "y": 1 },
- { "label": "1,3", "matrix": [1, 3], "w": 1, "x": 3.25, "y": 1 },
- { "label": "1,4", "matrix": [1, 4], "w": 1, "x": 4.25, "y": 1 },
- { "label": "1,5", "matrix": [1, 5], "w": 1, "x": 5.25, "y": 1 },
- { "label": "1,7", "matrix": [5, 1], "w": 1, "x": 8.25, "y": 1 },
- { "label": "1,8", "matrix": [5, 2], "w": 1, "x": 9.25, "y": 1 },
- { "label": "1,9", "matrix": [5, 3], "w": 1, "x": 10.25, "y": 1 },
- { "label": "1,10", "matrix": [5, 4], "w": 1, "x": 11.25, "y": 1 },
- { "label": "1,11", "matrix": [5, 5], "w": 1.75, "x": 12.25, "y": 1 },
- { "label": "2,0", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 },
- { "label": "2,1", "matrix": [2, 1], "w": 1, "x": 1.75, "y": 2 },
- { "label": "2,2", "matrix": [2, 2], "w": 1, "x": 2.75, "y": 2 },
- { "label": "2,3", "matrix": [2, 3], "w": 1, "x": 3.75, "y": 2 },
- { "label": "2,4", "matrix": [2, 4], "w": 1, "x": 4.75, "y": 2 },
- { "label": "2,5", "matrix": [2, 5], "w": 1, "x": 5.75, "y": 2 },
- { "label": "2,7", "matrix": [6, 1], "w": 1, "x": 8.75, "y": 2 },
- { "label": "2,8", "matrix": [6, 2], "w": 1, "x": 9.75, "y": 2 },
- { "label": "2,9", "matrix": [6, 3], "w": 1, "x": 10.75, "y": 2 },
- { "label": "2,10", "matrix": [6, 4], "w": 1, "x": 11.75, "y": 2 },
- { "label": "2,11", "matrix": [6, 5], "w": 1.25, "x": 12.75, "y": 2 },
- { "label": "3,0", "matrix": [3, 0], "w": 1.25, "x": 0, "y": 3 },
- { "label": "3,1", "matrix": [3, 1], "w": 1, "x": 1.25, "y": 3 },
- { "label": "3,2", "matrix": [3, 2], "w": 1.25, "x": 2.25, "y": 3 },
- { "label": "3,4", "matrix": [3, 4], "w": 2.75, "x": 3.5, "y": 3 },
- { "label": "3,7", "matrix": [7, 1], "w": 2.25, "x": 8.25, "y": 3 },
- { "label": "3,9", "matrix": [7, 3], "w": 1.25, "x": 10.5, "y": 3 },
- { "label": "3,10", "matrix": [7, 4], "w": 1, "x": 11.75, "y": 3 },
- { "label": "3,11", "matrix": [7, 5], "w": 1.25, "x": 12.75, "y": 3 }
- ]
- }
- }
+ "manufacturer": "rainkeebs",
+ "keyboard_name": "Twoyo",
+ "maintainer": "rainkeebs",
+ "development_board": "promicro",
+ "diode_direction": "COL2ROW",
+ "encoder": {
+ "rotary": [
+ {"pin_a": "F4", "pin_b": "F5"}
+ ]
+ },
+ "features": {
+ "bootmagic": true,
+ "encoder": true,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": true
+ },
+ "matrix_pins": {
+ "cols": ["D1", "B6", "B2", "B3", "B1", "F7"],
+ "rows": ["F6", "C6", "D4", "D0"]
+ },
+ "split": {
+ "enabled": true,
+ "encoder": {
+ "right": {
+ "rotary": [
+ {"pin_a": "D1", "pin_b": "D0"}
+ ]
+ }
+ },
+ "matrix_pins": {
+ "right": {
+ "cols": ["D4", "C6", "D7", "E6", "B4", "B5"],
+ "rows": ["F4", "F7", "F6", "B6"]
+ }
+ },
+ "soft_serial_pin": "D3",
+ "transport": {
+ "protocol": "serial"
+ }
+ },
+ "url": "https://www.rainkeebs.mx/product/twoyo-keyboard-kit",
+ "usb": {
+ "device_version": "0.0.1",
+ "pid": "0x616B",
+ "vid": "0x726B"
+ },
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ {"label": "0,0", "matrix": [0, 0], "x": 0, "y": 0, "w": 1},
+ {"label": "0,1", "matrix": [0, 1], "x": 1, "y": 0, "w": 1},
+ {"label": "0,2", "matrix": [0, 2], "x": 2, "y": 0, "w": 1},
+ {"label": "0,3", "matrix": [0, 3], "x": 3, "y": 0, "w": 1},
+ {"label": "0,4", "matrix": [0, 4], "x": 4, "y": 0, "w": 1},
+ {"label": "0,5", "matrix": [0, 5], "x": 5, "y": 0, "w": 1},
+ {"label": "0,6", "matrix": [4, 0], "x": 8, "y": 0, "w": 1},
+ {"label": "0,7", "matrix": [4, 1], "x": 9, "y": 0, "w": 1},
+ {"label": "0,8", "matrix": [4, 2], "x": 10, "y": 0, "w": 1},
+ {"label": "0,9", "matrix": [4, 3], "x": 11, "y": 0, "w": 1},
+ {"label": "0,10", "matrix": [4, 4], "x": 12, "y": 0, "w": 1},
+ {"label": "0,11", "matrix": [4, 5], "x": 13, "y": 0, "w": 1},
+ {"label": "1,0", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.25},
+ {"label": "1,1", "matrix": [1, 1], "x": 1.25, "y": 1, "w": 1},
+ {"label": "1,2", "matrix": [1, 2], "x": 2.25, "y": 1, "w": 1},
+ {"label": "1,3", "matrix": [1, 3], "x": 3.25, "y": 1, "w": 1},
+ {"label": "1,4", "matrix": [1, 4], "x": 4.25, "y": 1, "w": 1},
+ {"label": "1,5", "matrix": [1, 5], "x": 5.25, "y": 1, "w": 1},
+ {"label": "1,7", "matrix": [5, 1], "x": 8.25, "y": 1, "w": 1},
+ {"label": "1,8", "matrix": [5, 2], "x": 9.25, "y": 1, "w": 1},
+ {"label": "1,9", "matrix": [5, 3], "x": 10.25, "y": 1, "w": 1},
+ {"label": "1,10", "matrix": [5, 4], "x": 11.25, "y": 1, "w": 1},
+ {"label": "1,11", "matrix": [5, 5], "x": 12.25, "y": 1, "w": 1.75},
+ {"label": "2,0", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
+ {"label": "2,1", "matrix": [2, 1], "x": 1.75, "y": 2, "w": 1},
+ {"label": "2,2", "matrix": [2, 2], "x": 2.75, "y": 2, "w": 1},
+ {"label": "2,3", "matrix": [2, 3], "x": 3.75, "y": 2, "w": 1},
+ {"label": "2,4", "matrix": [2, 4], "x": 4.75, "y": 2, "w": 1},
+ {"label": "2,5", "matrix": [2, 5], "x": 5.75, "y": 2, "w": 1},
+ {"label": "2,7", "matrix": [6, 1], "x": 8.75, "y": 2, "w": 1},
+ {"label": "2,8", "matrix": [6, 2], "x": 9.75, "y": 2, "w": 1},
+ {"label": "2,9", "matrix": [6, 3], "x": 10.75, "y": 2, "w": 1},
+ {"label": "2,10", "matrix": [6, 4], "x": 11.75, "y": 2, "w": 1},
+ {"label": "2,11", "matrix": [6, 5], "x": 12.75, "y": 2, "w": 1.25},
+ {"label": "3,0", "matrix": [3, 0], "x": 0, "y": 3, "w": 1.25},
+ {"label": "3,1", "matrix": [3, 1], "x": 1.25, "y": 3, "w": 1},
+ {"label": "3,2", "matrix": [3, 2], "x": 2.25, "y": 3, "w": 1.25},
+ {"label": "3,4", "matrix": [3, 4], "x": 3.5, "y": 3, "w": 2.75},
+ {"label": "3,7", "matrix": [7, 1], "x": 8.25, "y": 3, "w": 2.25},
+ {"label": "3,9", "matrix": [7, 3], "x": 10.5, "y": 3, "w": 1.25},
+ {"label": "3,10", "matrix": [7, 4], "x": 11.75, "y": 3, "w": 1},
+ {"label": "3,11", "matrix": [7, 5], "x": 12.75, "y": 3, "w": 1.25}
+ ]
+ }
+ }
}
diff --git a/keyboards/rainkeebs/twoyo/keymaps/default/rules.mk b/keyboards/rainkeebs/twoyo/keymaps/default/rules.mk
new file mode 100644
index 0000000000..ee32568148
--- /dev/null
+++ b/keyboards/rainkeebs/twoyo/keymaps/default/rules.mk
@@ -0,0 +1 @@
+ENCODER_MAP_ENABLE = yes
diff --git a/keyboards/rainkeebs/twoyo/keymaps/via/keymap.c b/keyboards/rainkeebs/twoyo/keymaps/via/keymap.c
deleted file mode 100644
index a32c73c291..0000000000
--- a/keyboards/rainkeebs/twoyo/keymaps/via/keymap.c
+++ /dev/null
@@ -1,117 +0,0 @@
-/* Copyright 2021 Regan Palmer
- *
- * 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] = {
-
- LAYOUT(
- KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPACE,
- KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_ENTER,
- KC_LSHIFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, MO(1),
- KC_LCTRL, KC_LGUI, KC_LALT, MO(2), KC_SPC, KC_RALT, KC_RGUI, KC_RCTRL
- ),
-
- LAYOUT(
- KC_TILDE, KC_EXCLAIM, KC_AT, KC_HASH, KC_DOLLAR, KC_PERCENT, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_TRNS,
- KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_UNDS, KC_LCBR, KC_RCBR, KC_DQT, KC_COLON, KC_TRNS,
- KC_TRNS, RESET, KC_NO, KC_NO, KC_NO, KC_PLUS, KC_PIPE, KC_QUES, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-
- LAYOUT(
- KC_GRAVE, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_TRNS,
- KC_TRNS, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, KC_MINS, KC_LBRC, KC_RBRC, KC_QUOTE, KC_SCLN, KC_TRNS,
- KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_EQL, KC_BSLS, KC_SLASH, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-
- LAYOUT(
- 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
- )
-};
-
-void encoder_update_user(uint8_t index, bool clockwise) {
-
- switch (get_highest_layer(layer_state)) {
- case 0:
- if (index == 0) {
- if (clockwise) {
- tap_code(KC_VOLU);
- } else {
- tap_code(KC_VOLD);
- }
- }
- else if (index == 1) {
- if (clockwise) {
- tap_code(KC_MS_WH_DOWN);
- } else {
- tap_code(KC_MS_WH_UP);
- }
- }
- break;
- case 1:
- if (index == 0) {
- if (clockwise) {
- tap_code(KC_MNXT);
- } else {
- tap_code(KC_MPRV);
- }
- }
- else if (index == 1) {
- if (clockwise) {
- tap_code(KC_WH_R);
- } else {
- tap_code(KC_WH_L);
- }
- }
- break;
- case 2:
- if (index == 0) {
- if (clockwise) {
- tap_code(KC_PGUP);
- } else {
- tap_code(KC_PGDOWN);
- }
- }
- else if (index == 1) {
- if (clockwise) {
- tap_code(KC_END);
- } else {
- tap_code(KC_HOME);
- }
- }
- break;
- case 3:
- if (index == 0) {
- if (clockwise) {
- tap_code(KC_PGUP);
- } else {
- tap_code(KC_PGDOWN);
- }
- }
- else if (index == 1) {
- if (clockwise) {
- tap_code(KC_END);
- } else {
- tap_code(KC_HOME);
- }
- }
- break;
- }
-};
diff --git a/keyboards/rainkeebs/twoyo/keymaps/via/rules.mk b/keyboards/rainkeebs/twoyo/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807c..0000000000
--- a/keyboards/rainkeebs/twoyo/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/rainkeebs/twoyo/twoyo.c b/keyboards/rainkeebs/twoyo/twoyo.c
deleted file mode 100644
index 515f2dc3f2..0000000000
--- a/keyboards/rainkeebs/twoyo/twoyo.c
+++ /dev/null
@@ -1,16 +0,0 @@
-/* Copyright 2021 Regan Palmer
- *
- * 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 "twoyo.h"
diff --git a/keyboards/rainkeebs/twoyo/twoyo.h b/keyboards/rainkeebs/twoyo/twoyo.h
deleted file mode 100644
index 96c9a88d45..0000000000
--- a/keyboards/rainkeebs/twoyo/twoyo.h
+++ /dev/null
@@ -1,35 +0,0 @@
-/* Copyright 2021 Regan Palmer
- *
- * 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 "quantum.h"
-
-#define LAYOUT( \
- L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, \
- L10, L11, L12, L13, L14, L15, R11, R12, R13, R14, R15, \
- L20, L21, L22, L23, L24, L25, R21, R22, R23, R24, R25, \
- L30, L31, L32, L34, R31, R33, R34, R35 \
- ) \
- { \
- { L00, L01, L02, L03, L04, L05}, \
- { L10, L11, L12, L13, L14, L15}, \
- { L20, L21, L22, L23, L24, L25}, \
- { L30, L31, L32, KC_NO, L34, KC_NO}, \
- { R00, R01, R02, R03, R04, R05}, \
- { KC_NO, R11, R12, R13, R14, R15}, \
- { KC_NO, R21, R22, R23, R24, R25}, \
- { KC_NO, R31, KC_NO, R33, R34, R35} \
- }
From c25be1da6c407a6ba095908c612601897bd44d31 Mon Sep 17 00:00:00 2001
From: honorless <86894501+lesshonor@users.noreply.github.com>
Date: Tue, 27 Jun 2023 10:30:47 -0400
Subject: [PATCH 66/69] chore: minimize merge conflicts
---
keyboards/kbdcraft/adam64/info.json | 266 ++++----
.../kbdcraft/adam64/keymaps/default/keymap.c | 4 +-
keyboards/viktus/minne/info.json | 582 +++++++++---------
.../viktus/minne/keymaps/default/keymap.c | 8 +-
keyboards/viktus/minne/keymaps/via/keymap.c | 8 +-
keyboards/viktus/minne_topre/info.json | 406 ++++++------
keyboards/wuque/tata80/wk/config.h | 10 -
keyboards/wuque/tata80/wk/info.json | 193 +++---
8 files changed, 740 insertions(+), 737 deletions(-)
diff --git a/keyboards/kbdcraft/adam64/info.json b/keyboards/kbdcraft/adam64/info.json
index 98ad19fded..cc33c26cc1 100644
--- a/keyboards/kbdcraft/adam64/info.json
+++ b/keyboards/kbdcraft/adam64/info.json
@@ -1,5 +1,4 @@
{
-
"keyboard_name": "Adam64",
"manufacturer": "KBDCRAFT",
"url": "https://kbdcraft.store/products/adam",
@@ -16,7 +15,7 @@
"rows": ["C8", "C9", "A8", "A10", "B14"],
"cols": ["B15", "C6", "C7", "A15", "B7", "C10", "C11", "C12", "D2", "B3", "B4", "B5", "A0", "A1"]
},
- "features":{
+ "features": {
"bootmagic": true,
"mousekey": true,
"extrakey": true,
@@ -25,10 +24,10 @@
"command": false,
"rgb_matrix": true
},
- "rgb_matrix":{
+ "rgb_matrix": {
"driver": "IS31FL3741",
"max_brightness": 150,
- "animations":{
+ "animations": {
"alphas_mods": true,
"gradient_up_down": true,
"gradient_left_right": true,
@@ -66,149 +65,148 @@
"solid_multisplash": true
},
"layout": [
- {"flags": 4, "matrix": [0, 0], "x": 0, "y": 0 },
- {"flags": 4, "matrix": [0, 1], "x": 16, "y": 0 },
- {"flags": 4, "matrix": [0, 2], "x": 32, "y": 0 },
- {"flags": 4, "matrix": [0, 3], "x": 48, "y": 0 },
- {"flags": 4, "matrix": [0, 4], "x": 64, "y": 0 },
- {"flags": 4, "matrix": [0, 5], "x": 80, "y": 0 },
- {"flags": 4, "matrix": [0, 6], "x": 96, "y": 0 },
- {"flags": 4, "matrix": [0, 7], "x": 112, "y": 0 },
- {"flags": 4, "matrix": [0, 8], "x": 128, "y": 0 },
- {"flags": 4, "matrix": [0, 9], "x": 144, "y": 0 },
- {"flags": 4, "matrix": [0, 10], "x": 160, "y": 0 },
- {"flags": 4, "matrix": [0, 11], "x": 176, "y": 0 },
- {"flags": 4, "matrix": [0, 12], "x": 192, "y": 0 },
- {"flags": 4, "matrix": [0, 13], "x": 208, "y": 0 },
+ {"flags": 4, "matrix": [0, 0], "x": 0, "y": 0},
+ {"flags": 4, "matrix": [0, 1], "x": 16, "y": 0},
+ {"flags": 4, "matrix": [0, 2], "x": 32, "y": 0},
+ {"flags": 4, "matrix": [0, 3], "x": 48, "y": 0},
+ {"flags": 4, "matrix": [0, 4], "x": 64, "y": 0},
+ {"flags": 4, "matrix": [0, 5], "x": 80, "y": 0},
+ {"flags": 4, "matrix": [0, 6], "x": 96, "y": 0},
+ {"flags": 4, "matrix": [0, 7], "x": 112, "y": 0},
+ {"flags": 4, "matrix": [0, 8], "x": 128, "y": 0},
+ {"flags": 4, "matrix": [0, 9], "x": 144, "y": 0},
+ {"flags": 4, "matrix": [0, 10], "x": 160, "y": 0},
+ {"flags": 4, "matrix": [0, 11], "x": 176, "y": 0},
+ {"flags": 4, "matrix": [0, 12], "x": 192, "y": 0},
+ {"flags": 4, "matrix": [0, 13], "x": 208, "y": 0},
- {"flags": 4, "matrix": [1, 0], "x": 0, "y": 10 },
- {"flags": 4, "matrix": [1, 1], "x": 16, "y": 10 },
- {"flags": 4, "matrix": [1, 2], "x": 32, "y": 10 },
- {"flags": 4, "matrix": [1, 3], "x": 48, "y": 10 },
- {"flags": 4, "matrix": [1, 4], "x": 64, "y": 10 },
- {"flags": 4, "matrix": [1, 5], "x": 80, "y": 10 },
- {"flags": 4, "matrix": [1, 6], "x": 96, "y": 10 },
- {"flags": 4, "matrix": [1, 7], "x": 112, "y": 10 },
- {"flags": 4, "matrix": [1, 8], "x": 128, "y": 10 },
- {"flags": 4, "matrix": [1, 9], "x": 144, "y": 10 },
- {"flags": 4, "matrix": [1, 10], "x": 160, "y": 10 },
- {"flags": 4, "matrix": [1, 11], "x": 176, "y": 10 },
- {"flags": 4, "matrix": [1, 12], "x": 192, "y": 10 },
- {"flags": 4, "matrix": [1, 13], "x": 208, "y": 10 },
+ {"flags": 4, "matrix": [1, 0], "x": 0, "y": 10},
+ {"flags": 4, "matrix": [1, 1], "x": 16, "y": 10},
+ {"flags": 4, "matrix": [1, 2], "x": 32, "y": 10},
+ {"flags": 4, "matrix": [1, 3], "x": 48, "y": 10},
+ {"flags": 4, "matrix": [1, 4], "x": 64, "y": 10},
+ {"flags": 4, "matrix": [1, 5], "x": 80, "y": 10},
+ {"flags": 4, "matrix": [1, 6], "x": 96, "y": 10},
+ {"flags": 4, "matrix": [1, 7], "x": 112, "y": 10},
+ {"flags": 4, "matrix": [1, 8], "x": 128, "y": 10},
+ {"flags": 4, "matrix": [1, 9], "x": 144, "y": 10},
+ {"flags": 4, "matrix": [1, 10], "x": 160, "y": 10},
+ {"flags": 4, "matrix": [1, 11], "x": 176, "y": 10},
+ {"flags": 4, "matrix": [1, 12], "x": 192, "y": 10},
+ {"flags": 4, "matrix": [1, 13], "x": 208, "y": 10},
- {"flags": 4, "matrix": [2, 0], "x": 0, "y": 20 },
- {"flags": 4, "matrix": [2, 1], "x": 16, "y": 20 },
- {"flags": 4, "matrix": [2, 2], "x": 32, "y": 20 },
- {"flags": 4, "matrix": [2, 3], "x": 48, "y": 20 },
- {"flags": 4, "matrix": [2, 4], "x": 64, "y": 20 },
- {"flags": 4, "matrix": [2, 5], "x": 80, "y": 20 },
- {"flags": 4, "matrix": [2, 6], "x": 96, "y": 20 },
- {"flags": 4, "matrix": [2, 7], "x": 112, "y": 20 },
- {"flags": 4, "matrix": [2, 8], "x": 128, "y": 20 },
- {"flags": 4, "matrix": [2, 9], "x": 144, "y": 20 },
- {"flags": 4, "matrix": [2, 10], "x": 160, "y": 20 },
- {"flags": 4, "matrix": [2, 11], "x": 176, "y": 20 },
- {"flags": 4, "matrix": [2, 13], "x": 208, "y": 20 },
+ {"flags": 4, "matrix": [2, 0], "x": 0, "y": 20},
+ {"flags": 4, "matrix": [2, 1], "x": 16, "y": 20},
+ {"flags": 4, "matrix": [2, 2], "x": 32, "y": 20},
+ {"flags": 4, "matrix": [2, 3], "x": 48, "y": 20},
+ {"flags": 4, "matrix": [2, 4], "x": 64, "y": 20},
+ {"flags": 4, "matrix": [2, 5], "x": 80, "y": 20},
+ {"flags": 4, "matrix": [2, 6], "x": 96, "y": 20},
+ {"flags": 4, "matrix": [2, 7], "x": 112, "y": 20},
+ {"flags": 4, "matrix": [2, 8], "x": 128, "y": 20},
+ {"flags": 4, "matrix": [2, 9], "x": 144, "y": 20},
+ {"flags": 4, "matrix": [2, 10], "x": 160, "y": 20},
+ {"flags": 4, "matrix": [2, 11], "x": 176, "y": 20},
+ {"flags": 4, "matrix": [2, 13], "x": 208, "y": 20},
- {"flags": 4, "matrix": [3, 0], "x": 0, "y": 30 },
- {"flags": 4, "matrix": [3, 1], "x": 16, "y": 30 },
- {"flags": 4, "matrix": [3, 2], "x": 32, "y": 30 },
- {"flags": 4, "matrix": [3, 3], "x": 48, "y": 30 },
- {"flags": 4, "matrix": [3, 4], "x": 64, "y": 30 },
- {"flags": 4, "matrix": [3, 5], "x": 80, "y": 30 },
- {"flags": 4, "matrix": [3, 6], "x": 96, "y": 30 },
- {"flags": 4, "matrix": [3, 7], "x": 112, "y": 30 },
- {"flags": 4, "matrix": [3, 8], "x": 128, "y": 30 },
- {"flags": 4, "matrix": [3, 9], "x": 144, "y": 30 },
- {"flags": 4, "matrix": [3, 10], "x": 160, "y": 30 },
- {"flags": 4, "matrix": [3, 11], "x": 176, "y": 30 },
- {"flags": 4, "matrix": [3, 12], "x": 192, "y": 30 },
- {"flags": 4, "matrix": [3, 13], "x": 208, "y": 30 },
+ {"flags": 4, "matrix": [3, 0], "x": 0, "y": 30},
+ {"flags": 4, "matrix": [3, 1], "x": 16, "y": 30},
+ {"flags": 4, "matrix": [3, 2], "x": 32, "y": 30},
+ {"flags": 4, "matrix": [3, 3], "x": 48, "y": 30},
+ {"flags": 4, "matrix": [3, 4], "x": 64, "y": 30},
+ {"flags": 4, "matrix": [3, 5], "x": 80, "y": 30},
+ {"flags": 4, "matrix": [3, 6], "x": 96, "y": 30},
+ {"flags": 4, "matrix": [3, 7], "x": 112, "y": 30},
+ {"flags": 4, "matrix": [3, 8], "x": 128, "y": 30},
+ {"flags": 4, "matrix": [3, 9], "x": 144, "y": 30},
+ {"flags": 4, "matrix": [3, 10], "x": 160, "y": 30},
+ {"flags": 4, "matrix": [3, 11], "x": 176, "y": 30},
+ {"flags": 4, "matrix": [3, 12], "x": 192, "y": 30},
+ {"flags": 4, "matrix": [3, 13], "x": 208, "y": 30},
- {"flags": 4, "matrix": [4, 0], "x": 0, "y": 40 },
- {"flags": 4, "matrix": [4, 1], "x": 16, "y": 40 },
- {"flags": 4, "matrix": [4, 2], "x": 32, "y": 40 },
- {"flags": 4, "matrix": [4, 5], "x": 80, "y": 40 },
- {"flags": 4, "matrix": [4, 9], "x": 144, "y": 40 },
- {"flags": 4, "matrix": [4, 10], "x": 160, "y": 40 },
- {"flags": 4, "matrix": [4, 11], "x": 176, "y": 40 },
- {"flags": 4, "matrix": [4, 12], "x": 192, "y": 40 },
- {"flags": 4, "matrix": [4, 13], "x": 208, "y": 40 }
+ {"flags": 4, "matrix": [4, 0], "x": 0, "y": 40},
+ {"flags": 4, "matrix": [4, 1], "x": 16, "y": 40},
+ {"flags": 4, "matrix": [4, 2], "x": 32, "y": 40},
+ {"flags": 4, "matrix": [4, 5], "x": 80, "y": 40},
+ {"flags": 4, "matrix": [4, 9], "x": 144, "y": 40},
+ {"flags": 4, "matrix": [4, 10], "x": 160, "y": 40},
+ {"flags": 4, "matrix": [4, 11], "x": 176, "y": 40},
+ {"flags": 4, "matrix": [4, 12], "x": 192, "y": 40},
+ {"flags": 4, "matrix": [4, 13], "x": 208, "y": 40}
]
},
- "community_layouts": [ "64_ansi" ],
"layouts": {
"LAYOUT_64_ansi": {
"layout": [
- { "matrix": [0, 0], "x": 0, "y": 0 },
- { "matrix": [0, 1], "x": 1, "y": 0 },
- { "matrix": [0, 2], "x": 2, "y": 0 },
- { "matrix": [0, 3], "x": 3, "y": 0 },
- { "matrix": [0, 4], "x": 4, "y": 0 },
- { "matrix": [0, 5], "x": 5, "y": 0 },
- { "matrix": [0, 6], "x": 6, "y": 0 },
- { "matrix": [0, 7], "x": 7, "y": 0 },
- { "matrix": [0, 8], "x": 8, "y": 0 },
- { "matrix": [0, 9], "x": 9, "y": 0 },
- { "matrix": [0, 10], "x": 10, "y": 0 },
- { "matrix": [0, 11], "x": 11, "y": 0 },
- { "matrix": [0, 12], "x": 12, "y": 0 },
- { "matrix": [0, 13], "w": 2, "x": 13, "y": 0 },
+ {"matrix": [0, 0], "x": 0, "y": 0},
+ {"matrix": [0, 1], "x": 1, "y": 0},
+ {"matrix": [0, 2], "x": 2, "y": 0},
+ {"matrix": [0, 3], "x": 3, "y": 0},
+ {"matrix": [0, 4], "x": 4, "y": 0},
+ {"matrix": [0, 5], "x": 5, "y": 0},
+ {"matrix": [0, 6], "x": 6, "y": 0},
+ {"matrix": [0, 7], "x": 7, "y": 0},
+ {"matrix": [0, 8], "x": 8, "y": 0},
+ {"matrix": [0, 9], "x": 9, "y": 0},
+ {"matrix": [0, 10], "x": 10, "y": 0},
+ {"matrix": [0, 11], "x": 11, "y": 0},
+ {"matrix": [0, 12], "x": 12, "y": 0},
+ {"matrix": [0, 13], "w": 2, "x": 13, "y": 0},
- { "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 },
- { "matrix": [1, 1], "x": 1.5, "y": 1 },
- { "matrix": [1, 2], "x": 2.5, "y": 1 },
- { "matrix": [1, 3], "x": 3.5, "y": 1 },
- { "matrix": [1, 4], "x": 4.5, "y": 1 },
- { "matrix": [1, 5], "x": 5.5, "y": 1 },
- { "matrix": [1, 6], "x": 6.5, "y": 1 },
- { "matrix": [1, 7], "x": 7.5, "y": 1 },
- { "matrix": [1, 8], "x": 8.5, "y": 1 },
- { "matrix": [1, 9], "x": 9.5, "y": 1 },
- { "matrix": [1, 10], "x": 10.5, "y": 1 },
- { "matrix": [1, 11], "x": 11.5, "y": 1 },
- { "matrix": [1, 12], "x": 12.5, "y": 1 },
- { "matrix": [1, 13], "w": 1.5, "x": 13.5, "y": 1 },
+ {"matrix": [1, 0], "w": 1.5, "x": 0, "y": 1},
+ {"matrix": [1, 1], "x": 1.5, "y": 1},
+ {"matrix": [1, 2], "x": 2.5, "y": 1},
+ {"matrix": [1, 3], "x": 3.5, "y": 1},
+ {"matrix": [1, 4], "x": 4.5, "y": 1},
+ {"matrix": [1, 5], "x": 5.5, "y": 1},
+ {"matrix": [1, 6], "x": 6.5, "y": 1},
+ {"matrix": [1, 7], "x": 7.5, "y": 1},
+ {"matrix": [1, 8], "x": 8.5, "y": 1},
+ {"matrix": [1, 9], "x": 9.5, "y": 1},
+ {"matrix": [1, 10], "x": 10.5, "y": 1},
+ {"matrix": [1, 11], "x": 11.5, "y": 1},
+ {"matrix": [1, 12], "x": 12.5, "y": 1},
+ {"matrix": [1, 13], "w": 1.5, "x": 13.5, "y": 1},
- { "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 },
- { "matrix": [2, 1], "x": 1.75, "y": 2 },
- { "matrix": [2, 2], "x": 2.75, "y": 2 },
- { "matrix": [2, 3], "x": 3.75, "y": 2 },
- { "matrix": [2, 4], "x": 4.75, "y": 2 },
- { "matrix": [2, 5], "x": 5.75, "y": 2 },
- { "matrix": [2, 6], "x": 6.75, "y": 2 },
- { "matrix": [2, 7], "x": 7.75, "y": 2 },
- { "matrix": [2, 8], "x": 8.75, "y": 2 },
- { "matrix": [2, 9], "x": 9.75, "y": 2 },
- { "matrix": [2, 10], "x": 10.75, "y": 2 },
- { "matrix": [2, 11], "x": 11.75, "y": 2 },
- { "matrix": [2, 13], "w": 2.25, "x": 12.75, "y": 2 },
+ {"matrix": [2, 0], "w": 1.75, "x": 0, "y": 2},
+ {"matrix": [2, 1], "x": 1.75, "y": 2},
+ {"matrix": [2, 2], "x": 2.75, "y": 2},
+ {"matrix": [2, 3], "x": 3.75, "y": 2},
+ {"matrix": [2, 4], "x": 4.75, "y": 2},
+ {"matrix": [2, 5], "x": 5.75, "y": 2},
+ {"matrix": [2, 6], "x": 6.75, "y": 2},
+ {"matrix": [2, 7], "x": 7.75, "y": 2},
+ {"matrix": [2, 8], "x": 8.75, "y": 2},
+ {"matrix": [2, 9], "x": 9.75, "y": 2},
+ {"matrix": [2, 10], "x": 10.75, "y": 2},
+ {"matrix": [2, 11], "x": 11.75, "y": 2},
+ {"matrix": [2, 13], "w": 2.25, "x": 12.75, "y": 2},
- { "matrix": [3, 0], "w": 2, "x": 0, "y": 3 },
- { "matrix": [3, 1], "x": 2, "y": 3 },
- { "matrix": [3, 2], "x": 3, "y": 3 },
- { "matrix": [3, 3], "x": 4, "y": 3 },
- { "matrix": [3, 4], "x": 5, "y": 3 },
- { "matrix": [3, 5], "x": 6, "y": 3 },
- { "matrix": [3, 6], "x": 7, "y": 3 },
- { "matrix": [3, 7], "x": 8, "y": 3 },
- { "matrix": [3, 8], "x": 9, "y": 3 },
- { "matrix": [3, 9], "x": 10, "y": 3 },
- { "matrix": [3, 10], "x": 11, "y": 3 },
- { "matrix": [3, 11], "x": 12, "y": 3 },
- { "matrix": [3, 12], "x": 13, "y": 3 },
- { "matrix": [3, 13], "x": 14, "y": 3 },
+ {"matrix": [3, 0], "w": 2, "x": 0, "y": 3},
+ {"matrix": [3, 1], "x": 2, "y": 3},
+ {"matrix": [3, 2], "x": 3, "y": 3},
+ {"matrix": [3, 3], "x": 4, "y": 3},
+ {"matrix": [3, 4], "x": 5, "y": 3},
+ {"matrix": [3, 5], "x": 6, "y": 3},
+ {"matrix": [3, 6], "x": 7, "y": 3},
+ {"matrix": [3, 7], "x": 8, "y": 3},
+ {"matrix": [3, 8], "x": 9, "y": 3},
+ {"matrix": [3, 9], "x": 10, "y": 3},
+ {"matrix": [3, 10], "x": 11, "y": 3},
+ {"matrix": [3, 11], "x": 12, "y": 3},
+ {"matrix": [3, 12], "x": 13, "y": 3},
+ {"matrix": [3, 13], "x": 14, "y": 3},
- { "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4 },
- { "matrix": [4, 1], "w": 1.25, "x": 1.25, "y": 4 },
- { "matrix": [4, 2], "w": 1.25, "x": 2.5, "y": 4 },
- { "matrix": [4, 5], "w": 6.25, "x": 3.75, "y": 4 },
- { "matrix": [4, 9], "x": 10, "y": 4 },
- { "matrix": [4, 10], "x": 11, "y": 4 },
- { "matrix": [4, 11], "x": 12, "y": 4 },
- { "matrix": [4, 12], "x": 13, "y": 4 },
- { "matrix": [4, 13], "x": 14, "y": 4 }
+ {"matrix": [4, 0], "w": 1.25, "x": 0, "y": 4},
+ {"matrix": [4, 1], "w": 1.25, "x": 1.25, "y": 4},
+ {"matrix": [4, 2], "w": 1.25, "x": 2.5, "y": 4},
+ {"matrix": [4, 5], "w": 6.25, "x": 3.75, "y": 4},
+ {"matrix": [4, 9], "x": 10, "y": 4},
+ {"matrix": [4, 10], "x": 11, "y": 4},
+ {"matrix": [4, 11], "x": 12, "y": 4},
+ {"matrix": [4, 12], "x": 13, "y": 4},
+ {"matrix": [4, 13], "x": 14, "y": 4}
]
}
}
-}
\ No newline at end of file
+}
diff --git a/keyboards/kbdcraft/adam64/keymaps/default/keymap.c b/keyboards/kbdcraft/adam64/keymaps/default/keymap.c
index a2f71eda95..0396bd77d1 100644
--- a/keyboards/kbdcraft/adam64/keymaps/default/keymap.c
+++ b/keyboards/kbdcraft/adam64/keymaps/default/keymap.c
@@ -31,7 +31,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
KC_NO, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, RGB_MOD, KC_PSCR, KC_SCRL, KC_PAUS, KC_NO,
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RGB_SPI, RGB_SPD, KC_HOME, KC_PGUP, EE_CLR,
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, NK_TOGG, KC_NO, KC_INS, KC_END, KC_PGDN, KC_VOLU, KC_MUTE,
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, RGB_MOD, KC_VOLD, RGB_TOG
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, NK_TOGG, KC_NO, KC_NO, KC_INS, KC_END, KC_PGDN, KC_VOLU, KC_MUTE,
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, RGB_MOD, KC_VOLD, RGB_TOG
)
};
diff --git a/keyboards/viktus/minne/info.json b/keyboards/viktus/minne/info.json
index 396aca8bcd..a31d5d1884 100644
--- a/keyboards/viktus/minne/info.json
+++ b/keyboards/viktus/minne/info.json
@@ -20,7 +20,7 @@
"nkro": true
},
"bootmagic": {
- "matrix": [1,0]
+ "matrix": [1, 0]
},
"build": {
"lto": true
@@ -43,320 +43,320 @@
"layouts": {
"LAYOUT_all": {
"layout": [
- { "label": "K10", "matrix": [1, 0], "w": 1, "x": 0, "y": 0 },
- { "label": "K11", "matrix": [1, 1], "w": 1, "x": 1, "y": 0 },
- { "label": "K01", "matrix": [0, 1], "w": 1, "x": 2, "y": 0 },
- { "label": "K02", "matrix": [0, 2], "w": 1, "x": 3, "y": 0 },
- { "label": "K12", "matrix": [1, 2], "w": 1, "x": 4, "y": 0 },
- { "label": "K13", "matrix": [1, 3], "w": 1, "x": 5, "y": 0 },
- { "label": "K03", "matrix": [0, 3], "w": 1, "x": 6, "y": 0 },
- { "label": "K04", "matrix": [0, 4], "w": 1, "x": 7, "y": 0 },
- { "label": "K14", "matrix": [1, 4], "w": 1, "x": 8, "y": 0 },
- { "label": "K15", "matrix": [1, 5], "w": 1, "x": 9, "y": 0 },
- { "label": "K05", "matrix": [0, 5], "w": 1, "x": 10, "y": 0 },
- { "label": "K06", "matrix": [0, 6], "w": 1.75, "x": 11, "y": 0 },
- { "label": "K30", "matrix": [3, 0], "w": 1.25, "x": 0, "y": 1 },
- { "label": "K31", "matrix": [3, 1], "w": 1, "x": 1.25, "y": 1 },
- { "label": "K21", "matrix": [2, 1], "w": 1, "x": 2.25, "y": 1 },
- { "label": "K22", "matrix": [2, 2], "w": 1, "x": 3.25, "y": 1 },
- { "label": "K32", "matrix": [3, 2], "w": 1, "x": 4.25, "y": 1 },
- { "label": "K33", "matrix": [3, 3], "w": 1, "x": 5.25, "y": 1 },
- { "label": "K23", "matrix": [2, 3], "w": 1, "x": 6.25, "y": 1 },
- { "label": "K24", "matrix": [2, 4], "w": 1, "x": 7.25, "y": 1 },
- { "label": "K34", "matrix": [3, 4], "w": 1, "x": 8.25, "y": 1 },
- { "label": "K35", "matrix": [3, 5], "w": 1, "x": 9.25, "y": 1 },
- { "label": "K25", "matrix": [2, 5], "w": 1, "x": 10.25, "y": 1 },
- { "label": "K26", "matrix": [2, 6], "w": 1.5, "x": 11.25, "y": 1 },
- { "label": "K50", "matrix": [5, 0], "w": 1.75, "x": 0, "y": 2 },
- { "label": "K51", "matrix": [5, 1], "w": 1, "x": 1.75, "y": 2 },
- { "label": "K41", "matrix": [4, 1], "w": 1, "x": 2.75, "y": 2 },
- { "label": "K42", "matrix": [4, 2], "w": 1, "x": 3.75, "y": 2 },
- { "label": "K52", "matrix": [5, 2], "w": 1, "x": 4.75, "y": 2 },
- { "label": "K53", "matrix": [5, 3], "w": 1, "x": 5.75, "y": 2 },
- { "label": "K43", "matrix": [4, 3], "w": 1, "x": 6.75, "y": 2 },
- { "label": "K44", "matrix": [4, 4], "w": 1, "x": 7.75, "y": 2 },
- { "label": "K54", "matrix": [5, 4], "w": 1, "x": 8.75, "y": 2 },
- { "label": "K55", "matrix": [5, 5], "w": 1, "x": 9.75, "y": 2 },
- { "label": "K45", "matrix": [4, 5], "w": 1, "x": 10.75, "y": 2 },
- { "label": "K46", "matrix": [4, 6], "w": 1, "x": 11.75, "y": 2 },
- { "label": "K71", "matrix": [7, 1], "w": 1, "x": 1.375, "y": 3 },
- { "label": "K61", "matrix": [6, 1], "w": 1, "x": 2.375, "y": 3 },
- { "label": "K62", "matrix": [6, 2], "w": 1.25, "x": 3.375, "y": 3 },
- { "label": "K72", "matrix": [7, 2], "w": 1.25, "x": 4.625, "y": 3 },
- { "label": "K73", "matrix": [7, 3], "w": 1, "x": 5.875, "y": 3 },
- { "label": "K63", "matrix": [6, 3], "w": 1.25, "x": 6.875, "y": 3 },
- { "label": "K64", "matrix": [6, 4], "w": 1.25, "x": 8.125, "y": 3 },
- { "label": "K74", "matrix": [7, 4], "w": 1, "x": 9.375, "y": 3 },
- { "label": "K75", "matrix": [7, 5], "w": 1, "x": 10.375, "y": 3 }
+ {"label": "K10", "matrix": [1, 0], "w": 1, "x": 0, "y": 0},
+ {"label": "K11", "matrix": [1, 1], "w": 1, "x": 1, "y": 0},
+ {"label": "K01", "matrix": [0, 1], "w": 1, "x": 2, "y": 0},
+ {"label": "K02", "matrix": [0, 2], "w": 1, "x": 3, "y": 0},
+ {"label": "K12", "matrix": [1, 2], "w": 1, "x": 4, "y": 0},
+ {"label": "K13", "matrix": [1, 3], "w": 1, "x": 5, "y": 0},
+ {"label": "K03", "matrix": [0, 3], "w": 1, "x": 6, "y": 0},
+ {"label": "K04", "matrix": [0, 4], "w": 1, "x": 7, "y": 0},
+ {"label": "K14", "matrix": [1, 4], "w": 1, "x": 8, "y": 0},
+ {"label": "K15", "matrix": [1, 5], "w": 1, "x": 9, "y": 0},
+ {"label": "K05", "matrix": [0, 5], "w": 1, "x": 10, "y": 0},
+ {"label": "K06", "matrix": [0, 6], "w": 1.75, "x": 11, "y": 0},
+ {"label": "K30", "matrix": [3, 0], "w": 1.25, "x": 0, "y": 1},
+ {"label": "K31", "matrix": [3, 1], "w": 1, "x": 1.25, "y": 1},
+ {"label": "K21", "matrix": [2, 1], "w": 1, "x": 2.25, "y": 1},
+ {"label": "K22", "matrix": [2, 2], "w": 1, "x": 3.25, "y": 1},
+ {"label": "K32", "matrix": [3, 2], "w": 1, "x": 4.25, "y": 1},
+ {"label": "K33", "matrix": [3, 3], "w": 1, "x": 5.25, "y": 1},
+ {"label": "K23", "matrix": [2, 3], "w": 1, "x": 6.25, "y": 1},
+ {"label": "K24", "matrix": [2, 4], "w": 1, "x": 7.25, "y": 1},
+ {"label": "K34", "matrix": [3, 4], "w": 1, "x": 8.25, "y": 1},
+ {"label": "K35", "matrix": [3, 5], "w": 1, "x": 9.25, "y": 1},
+ {"label": "K25", "matrix": [2, 5], "w": 1, "x": 10.25, "y": 1},
+ {"label": "K26", "matrix": [2, 6], "w": 1.5, "x": 11.25, "y": 1},
+ {"label": "K50", "matrix": [5, 0], "w": 1.75, "x": 0, "y": 2},
+ {"label": "K51", "matrix": [5, 1], "w": 1, "x": 1.75, "y": 2},
+ {"label": "K41", "matrix": [4, 1], "w": 1, "x": 2.75, "y": 2},
+ {"label": "K42", "matrix": [4, 2], "w": 1, "x": 3.75, "y": 2},
+ {"label": "K52", "matrix": [5, 2], "w": 1, "x": 4.75, "y": 2},
+ {"label": "K53", "matrix": [5, 3], "w": 1, "x": 5.75, "y": 2},
+ {"label": "K43", "matrix": [4, 3], "w": 1, "x": 6.75, "y": 2},
+ {"label": "K44", "matrix": [4, 4], "w": 1, "x": 7.75, "y": 2},
+ {"label": "K54", "matrix": [5, 4], "w": 1, "x": 8.75, "y": 2},
+ {"label": "K55", "matrix": [5, 5], "w": 1, "x": 9.75, "y": 2},
+ {"label": "K45", "matrix": [4, 5], "w": 1, "x": 10.75, "y": 2},
+ {"label": "K46", "matrix": [4, 6], "w": 1, "x": 11.75, "y": 2},
+ {"label": "K71", "matrix": [7, 1], "w": 1, "x": 1.375, "y": 3},
+ {"label": "K61", "matrix": [6, 1], "w": 1, "x": 2.375, "y": 3},
+ {"label": "K62", "matrix": [6, 2], "w": 1.25, "x": 3.375, "y": 3},
+ {"label": "K72", "matrix": [7, 2], "w": 1.25, "x": 4.625, "y": 3},
+ {"label": "K73", "matrix": [7, 3], "w": 1, "x": 5.875, "y": 3},
+ {"label": "K63", "matrix": [6, 3], "w": 1.25, "x": 6.875, "y": 3},
+ {"label": "K64", "matrix": [6, 4], "w": 1.25, "x": 8.125, "y": 3},
+ {"label": "K74", "matrix": [7, 4], "w": 1, "x": 9.375, "y": 3},
+ {"label": "K75", "matrix": [7, 5], "w": 1, "x": 10.375, "y": 3}
]
},
"LAYOUT_dual175u": {
"layout": [
- { "label": "K10", "matrix": [1, 0], "w": 1, "x": 0, "y": 0 },
- { "label": "K11", "matrix": [1, 1], "w": 1, "x": 1, "y": 0 },
- { "label": "K01", "matrix": [0, 1], "w": 1, "x": 2, "y": 0 },
- { "label": "K02", "matrix": [0, 2], "w": 1, "x": 3, "y": 0 },
- { "label": "K12", "matrix": [1, 2], "w": 1, "x": 4, "y": 0 },
- { "label": "K13", "matrix": [1, 3], "w": 1, "x": 5, "y": 0 },
- { "label": "K03", "matrix": [0, 3], "w": 1, "x": 6, "y": 0 },
- { "label": "K04", "matrix": [0, 4], "w": 1, "x": 7, "y": 0 },
- { "label": "K14", "matrix": [1, 4], "w": 1, "x": 8, "y": 0 },
- { "label": "K15", "matrix": [1, 5], "w": 1, "x": 9, "y": 0 },
- { "label": "K05", "matrix": [0, 5], "w": 1, "x": 10, "y": 0 },
- { "label": "K06", "matrix": [0, 6], "w": 1.75, "x": 11, "y": 0 },
- { "label": "K30", "matrix": [3, 0], "w": 1.25, "x": 0, "y": 1 },
- { "label": "K31", "matrix": [3, 1], "w": 1, "x": 1.25, "y": 1 },
- { "label": "K21", "matrix": [2, 1], "w": 1, "x": 2.25, "y": 1 },
- { "label": "K22", "matrix": [2, 2], "w": 1, "x": 3.25, "y": 1 },
- { "label": "K32", "matrix": [3, 2], "w": 1, "x": 4.25, "y": 1 },
- { "label": "K33", "matrix": [3, 3], "w": 1, "x": 5.25, "y": 1 },
- { "label": "K23", "matrix": [2, 3], "w": 1, "x": 6.25, "y": 1 },
- { "label": "K24", "matrix": [2, 4], "w": 1, "x": 7.25, "y": 1 },
- { "label": "K34", "matrix": [3, 4], "w": 1, "x": 8.25, "y": 1 },
- { "label": "K35", "matrix": [3, 5], "w": 1, "x": 9.25, "y": 1 },
- { "label": "K25", "matrix": [2, 5], "w": 1, "x": 10.25, "y": 1 },
- { "label": "K26", "matrix": [2, 6], "w": 1.5, "x": 11.25, "y": 1 },
- { "label": "K50", "matrix": [5, 0], "w": 1.75, "x": 0, "y": 2 },
- { "label": "K51", "matrix": [5, 1], "w": 1, "x": 1.75, "y": 2 },
- { "label": "K41", "matrix": [4, 1], "w": 1, "x": 2.75, "y": 2 },
- { "label": "K42", "matrix": [4, 2], "w": 1, "x": 3.75, "y": 2 },
- { "label": "K52", "matrix": [5, 2], "w": 1, "x": 4.75, "y": 2 },
- { "label": "K53", "matrix": [5, 3], "w": 1, "x": 5.75, "y": 2 },
- { "label": "K43", "matrix": [4, 3], "w": 1, "x": 6.75, "y": 2 },
- { "label": "K44", "matrix": [4, 4], "w": 1, "x": 7.75, "y": 2 },
- { "label": "K54", "matrix": [5, 4], "w": 1, "x": 8.75, "y": 2 },
- { "label": "K55", "matrix": [5, 5], "w": 1, "x": 9.75, "y": 2 },
- { "label": "K45", "matrix": [4, 5], "w": 1, "x": 10.75, "y": 2 },
- { "label": "K46", "matrix": [4, 6], "w": 1, "x": 11.75, "y": 2 },
- { "label": "K71", "matrix": [7, 1], "w": 1, "x": 1.375, "y": 3 },
- { "label": "K61", "matrix": [6, 1], "w": 1, "x": 2.375, "y": 3 },
- { "label": "K62", "matrix": [6, 2], "w": 1.25, "x": 3.375, "y": 3 },
- { "label": "K72", "matrix": [7, 2], "w": 1.75, "x": 4.625, "y": 3 },
- { "label": "K63", "matrix": [6, 3], "w": 1.75, "x": 6.375, "y": 3 },
- { "label": "K64", "matrix": [6, 4], "w": 1.25, "x": 8.125, "y": 3 },
- { "label": "K74", "matrix": [7, 4], "w": 1, "x": 9.375, "y": 3 },
- { "label": "K75", "matrix": [7, 5], "w": 1, "x": 10.375, "y": 3 }
+ {"label": "K10", "matrix": [1, 0], "w": 1, "x": 0, "y": 0},
+ {"label": "K11", "matrix": [1, 1], "w": 1, "x": 1, "y": 0},
+ {"label": "K01", "matrix": [0, 1], "w": 1, "x": 2, "y": 0},
+ {"label": "K02", "matrix": [0, 2], "w": 1, "x": 3, "y": 0},
+ {"label": "K12", "matrix": [1, 2], "w": 1, "x": 4, "y": 0},
+ {"label": "K13", "matrix": [1, 3], "w": 1, "x": 5, "y": 0},
+ {"label": "K03", "matrix": [0, 3], "w": 1, "x": 6, "y": 0},
+ {"label": "K04", "matrix": [0, 4], "w": 1, "x": 7, "y": 0},
+ {"label": "K14", "matrix": [1, 4], "w": 1, "x": 8, "y": 0},
+ {"label": "K15", "matrix": [1, 5], "w": 1, "x": 9, "y": 0},
+ {"label": "K05", "matrix": [0, 5], "w": 1, "x": 10, "y": 0},
+ {"label": "K06", "matrix": [0, 6], "w": 1.75, "x": 11, "y": 0},
+ {"label": "K30", "matrix": [3, 0], "w": 1.25, "x": 0, "y": 1},
+ {"label": "K31", "matrix": [3, 1], "w": 1, "x": 1.25, "y": 1},
+ {"label": "K21", "matrix": [2, 1], "w": 1, "x": 2.25, "y": 1},
+ {"label": "K22", "matrix": [2, 2], "w": 1, "x": 3.25, "y": 1},
+ {"label": "K32", "matrix": [3, 2], "w": 1, "x": 4.25, "y": 1},
+ {"label": "K33", "matrix": [3, 3], "w": 1, "x": 5.25, "y": 1},
+ {"label": "K23", "matrix": [2, 3], "w": 1, "x": 6.25, "y": 1},
+ {"label": "K24", "matrix": [2, 4], "w": 1, "x": 7.25, "y": 1},
+ {"label": "K34", "matrix": [3, 4], "w": 1, "x": 8.25, "y": 1},
+ {"label": "K35", "matrix": [3, 5], "w": 1, "x": 9.25, "y": 1},
+ {"label": "K25", "matrix": [2, 5], "w": 1, "x": 10.25, "y": 1},
+ {"label": "K26", "matrix": [2, 6], "w": 1.5, "x": 11.25, "y": 1},
+ {"label": "K50", "matrix": [5, 0], "w": 1.75, "x": 0, "y": 2},
+ {"label": "K51", "matrix": [5, 1], "w": 1, "x": 1.75, "y": 2},
+ {"label": "K41", "matrix": [4, 1], "w": 1, "x": 2.75, "y": 2},
+ {"label": "K42", "matrix": [4, 2], "w": 1, "x": 3.75, "y": 2},
+ {"label": "K52", "matrix": [5, 2], "w": 1, "x": 4.75, "y": 2},
+ {"label": "K53", "matrix": [5, 3], "w": 1, "x": 5.75, "y": 2},
+ {"label": "K43", "matrix": [4, 3], "w": 1, "x": 6.75, "y": 2},
+ {"label": "K44", "matrix": [4, 4], "w": 1, "x": 7.75, "y": 2},
+ {"label": "K54", "matrix": [5, 4], "w": 1, "x": 8.75, "y": 2},
+ {"label": "K55", "matrix": [5, 5], "w": 1, "x": 9.75, "y": 2},
+ {"label": "K45", "matrix": [4, 5], "w": 1, "x": 10.75, "y": 2},
+ {"label": "K46", "matrix": [4, 6], "w": 1, "x": 11.75, "y": 2},
+ {"label": "K71", "matrix": [7, 1], "w": 1, "x": 1.375, "y": 3},
+ {"label": "K61", "matrix": [6, 1], "w": 1, "x": 2.375, "y": 3},
+ {"label": "K62", "matrix": [6, 2], "w": 1.25, "x": 3.375, "y": 3},
+ {"label": "K72", "matrix": [7, 2], "w": 1.75, "x": 4.625, "y": 3},
+ {"label": "K63", "matrix": [6, 3], "w": 1.75, "x": 6.375, "y": 3},
+ {"label": "K64", "matrix": [6, 4], "w": 1.25, "x": 8.125, "y": 3},
+ {"label": "K74", "matrix": [7, 4], "w": 1, "x": 9.375, "y": 3},
+ {"label": "K75", "matrix": [7, 5], "w": 1, "x": 10.375, "y": 3}
]
},
"LAYOUT_275_225u": {
"layout": [
- { "label": "K10", "matrix": [1, 0], "w": 1, "x": 0, "y": 0 },
- { "label": "K11", "matrix": [1, 1], "w": 1, "x": 1, "y": 0 },
- { "label": "K01", "matrix": [0, 1], "w": 1, "x": 2, "y": 0 },
- { "label": "K02", "matrix": [0, 2], "w": 1, "x": 3, "y": 0 },
- { "label": "K12", "matrix": [1, 2], "w": 1, "x": 4, "y": 0 },
- { "label": "K13", "matrix": [1, 3], "w": 1, "x": 5, "y": 0 },
- { "label": "K03", "matrix": [0, 3], "w": 1, "x": 6, "y": 0 },
- { "label": "K04", "matrix": [0, 4], "w": 1, "x": 7, "y": 0 },
- { "label": "K14", "matrix": [1, 4], "w": 1, "x": 8, "y": 0 },
- { "label": "K15", "matrix": [1, 5], "w": 1, "x": 9, "y": 0 },
- { "label": "K05", "matrix": [0, 5], "w": 1, "x": 10, "y": 0 },
- { "label": "K06", "matrix": [0, 6], "w": 1.75, "x": 11, "y": 0 },
- { "label": "K30", "matrix": [3, 0], "w": 1.25, "x": 0, "y": 1 },
- { "label": "K31", "matrix": [3, 1], "w": 1, "x": 1.25, "y": 1 },
- { "label": "K21", "matrix": [2, 1], "w": 1, "x": 2.25, "y": 1 },
- { "label": "K22", "matrix": [2, 2], "w": 1, "x": 3.25, "y": 1 },
- { "label": "K32", "matrix": [3, 2], "w": 1, "x": 4.25, "y": 1 },
- { "label": "K33", "matrix": [3, 3], "w": 1, "x": 5.25, "y": 1 },
- { "label": "K23", "matrix": [2, 3], "w": 1, "x": 6.25, "y": 1 },
- { "label": "K24", "matrix": [2, 4], "w": 1, "x": 7.25, "y": 1 },
- { "label": "K34", "matrix": [3, 4], "w": 1, "x": 8.25, "y": 1 },
- { "label": "K35", "matrix": [3, 5], "w": 1, "x": 9.25, "y": 1 },
- { "label": "K25", "matrix": [2, 5], "w": 1, "x": 10.25, "y": 1 },
- { "label": "K26", "matrix": [2, 6], "w": 1.5, "x": 11.25, "y": 1 },
- { "label": "K50", "matrix": [5, 0], "w": 1.75, "x": 0, "y": 2 },
- { "label": "K51", "matrix": [5, 1], "w": 1, "x": 1.75, "y": 2 },
- { "label": "K41", "matrix": [4, 1], "w": 1, "x": 2.75, "y": 2 },
- { "label": "K42", "matrix": [4, 2], "w": 1, "x": 3.75, "y": 2 },
- { "label": "K52", "matrix": [5, 2], "w": 1, "x": 4.75, "y": 2 },
- { "label": "K53", "matrix": [5, 3], "w": 1, "x": 5.75, "y": 2 },
- { "label": "K43", "matrix": [4, 3], "w": 1, "x": 6.75, "y": 2 },
- { "label": "K44", "matrix": [4, 4], "w": 1, "x": 7.75, "y": 2 },
- { "label": "K54", "matrix": [5, 4], "w": 1, "x": 8.75, "y": 2 },
- { "label": "K55", "matrix": [5, 5], "w": 1, "x": 9.75, "y": 2 },
- { "label": "K45", "matrix": [4, 5], "w": 1, "x": 10.75, "y": 2 },
- { "label": "K46", "matrix": [4, 6], "w": 1, "x": 11.75, "y": 2 },
- { "label": "K71", "matrix": [7, 1], "w": 1, "x": 1.375, "y": 3 },
- { "label": "K61", "matrix": [6, 1], "w": 1.5, "x": 2.375, "y": 3 },
- { "label": "K72", "matrix": [7, 2], "w": 2.75, "x": 3.875, "y": 3 },
- { "label": "K63", "matrix": [6, 3], "w": 2.25, "x": 6.625, "y": 3 },
- { "label": "K74", "matrix": [7, 4], "w": 1.5, "x": 8.875, "y": 3 },
- { "label": "K75", "matrix": [7, 5], "w": 1, "x": 10.375, "y": 3 }
+ {"label": "K10", "matrix": [1, 0], "w": 1, "x": 0, "y": 0},
+ {"label": "K11", "matrix": [1, 1], "w": 1, "x": 1, "y": 0},
+ {"label": "K01", "matrix": [0, 1], "w": 1, "x": 2, "y": 0},
+ {"label": "K02", "matrix": [0, 2], "w": 1, "x": 3, "y": 0},
+ {"label": "K12", "matrix": [1, 2], "w": 1, "x": 4, "y": 0},
+ {"label": "K13", "matrix": [1, 3], "w": 1, "x": 5, "y": 0},
+ {"label": "K03", "matrix": [0, 3], "w": 1, "x": 6, "y": 0},
+ {"label": "K04", "matrix": [0, 4], "w": 1, "x": 7, "y": 0},
+ {"label": "K14", "matrix": [1, 4], "w": 1, "x": 8, "y": 0},
+ {"label": "K15", "matrix": [1, 5], "w": 1, "x": 9, "y": 0},
+ {"label": "K05", "matrix": [0, 5], "w": 1, "x": 10, "y": 0},
+ {"label": "K06", "matrix": [0, 6], "w": 1.75, "x": 11, "y": 0},
+ {"label": "K30", "matrix": [3, 0], "w": 1.25, "x": 0, "y": 1},
+ {"label": "K31", "matrix": [3, 1], "w": 1, "x": 1.25, "y": 1},
+ {"label": "K21", "matrix": [2, 1], "w": 1, "x": 2.25, "y": 1},
+ {"label": "K22", "matrix": [2, 2], "w": 1, "x": 3.25, "y": 1},
+ {"label": "K32", "matrix": [3, 2], "w": 1, "x": 4.25, "y": 1},
+ {"label": "K33", "matrix": [3, 3], "w": 1, "x": 5.25, "y": 1},
+ {"label": "K23", "matrix": [2, 3], "w": 1, "x": 6.25, "y": 1},
+ {"label": "K24", "matrix": [2, 4], "w": 1, "x": 7.25, "y": 1},
+ {"label": "K34", "matrix": [3, 4], "w": 1, "x": 8.25, "y": 1},
+ {"label": "K35", "matrix": [3, 5], "w": 1, "x": 9.25, "y": 1},
+ {"label": "K25", "matrix": [2, 5], "w": 1, "x": 10.25, "y": 1},
+ {"label": "K26", "matrix": [2, 6], "w": 1.5, "x": 11.25, "y": 1},
+ {"label": "K50", "matrix": [5, 0], "w": 1.75, "x": 0, "y": 2},
+ {"label": "K51", "matrix": [5, 1], "w": 1, "x": 1.75, "y": 2},
+ {"label": "K41", "matrix": [4, 1], "w": 1, "x": 2.75, "y": 2},
+ {"label": "K42", "matrix": [4, 2], "w": 1, "x": 3.75, "y": 2},
+ {"label": "K52", "matrix": [5, 2], "w": 1, "x": 4.75, "y": 2},
+ {"label": "K53", "matrix": [5, 3], "w": 1, "x": 5.75, "y": 2},
+ {"label": "K43", "matrix": [4, 3], "w": 1, "x": 6.75, "y": 2},
+ {"label": "K44", "matrix": [4, 4], "w": 1, "x": 7.75, "y": 2},
+ {"label": "K54", "matrix": [5, 4], "w": 1, "x": 8.75, "y": 2},
+ {"label": "K55", "matrix": [5, 5], "w": 1, "x": 9.75, "y": 2},
+ {"label": "K45", "matrix": [4, 5], "w": 1, "x": 10.75, "y": 2},
+ {"label": "K46", "matrix": [4, 6], "w": 1, "x": 11.75, "y": 2},
+ {"label": "K71", "matrix": [7, 1], "w": 1, "x": 1.375, "y": 3},
+ {"label": "K61", "matrix": [6, 1], "w": 1.5, "x": 2.375, "y": 3},
+ {"label": "K72", "matrix": [7, 2], "w": 2.75, "x": 3.875, "y": 3},
+ {"label": "K63", "matrix": [6, 3], "w": 2.25, "x": 6.625, "y": 3},
+ {"label": "K74", "matrix": [7, 4], "w": 1.5, "x": 8.875, "y": 3},
+ {"label": "K75", "matrix": [7, 5], "w": 1, "x": 10.375, "y": 3}
]
},
"LAYOUT_dual3u": {
"layout": [
- { "label": "K10", "matrix": [1, 0], "w": 1, "x": 0, "y": 0 },
- { "label": "K11", "matrix": [1, 1], "w": 1, "x": 1, "y": 0 },
- { "label": "K01", "matrix": [0, 1], "w": 1, "x": 2, "y": 0 },
- { "label": "K02", "matrix": [0, 2], "w": 1, "x": 3, "y": 0 },
- { "label": "K12", "matrix": [1, 2], "w": 1, "x": 4, "y": 0 },
- { "label": "K13", "matrix": [1, 3], "w": 1, "x": 5, "y": 0 },
- { "label": "K03", "matrix": [0, 3], "w": 1, "x": 6, "y": 0 },
- { "label": "K04", "matrix": [0, 4], "w": 1, "x": 7, "y": 0 },
- { "label": "K14", "matrix": [1, 4], "w": 1, "x": 8, "y": 0 },
- { "label": "K15", "matrix": [1, 5], "w": 1, "x": 9, "y": 0 },
- { "label": "K05", "matrix": [0, 5], "w": 1, "x": 10, "y": 0 },
- { "label": "K06", "matrix": [0, 6], "w": 1.75, "x": 11, "y": 0 },
- { "label": "K30", "matrix": [3, 0], "w": 1.25, "x": 0, "y": 1 },
- { "label": "K31", "matrix": [3, 1], "w": 1, "x": 1.25, "y": 1 },
- { "label": "K21", "matrix": [2, 1], "w": 1, "x": 2.25, "y": 1 },
- { "label": "K22", "matrix": [2, 2], "w": 1, "x": 3.25, "y": 1 },
- { "label": "K32", "matrix": [3, 2], "w": 1, "x": 4.25, "y": 1 },
- { "label": "K33", "matrix": [3, 3], "w": 1, "x": 5.25, "y": 1 },
- { "label": "K23", "matrix": [2, 3], "w": 1, "x": 6.25, "y": 1 },
- { "label": "K24", "matrix": [2, 4], "w": 1, "x": 7.25, "y": 1 },
- { "label": "K34", "matrix": [3, 4], "w": 1, "x": 8.25, "y": 1 },
- { "label": "K35", "matrix": [3, 5], "w": 1, "x": 9.25, "y": 1 },
- { "label": "K25", "matrix": [2, 5], "w": 1, "x": 10.25, "y": 1 },
- { "label": "K26", "matrix": [2, 6], "w": 1.5, "x": 11.25, "y": 1 },
- { "label": "K50", "matrix": [5, 0], "w": 1.75, "x": 0, "y": 2 },
- { "label": "K51", "matrix": [5, 1], "w": 1, "x": 1.75, "y": 2 },
- { "label": "K41", "matrix": [4, 1], "w": 1, "x": 2.75, "y": 2 },
- { "label": "K42", "matrix": [4, 2], "w": 1, "x": 3.75, "y": 2 },
- { "label": "K52", "matrix": [5, 2], "w": 1, "x": 4.75, "y": 2 },
- { "label": "K53", "matrix": [5, 3], "w": 1, "x": 5.75, "y": 2 },
- { "label": "K43", "matrix": [4, 3], "w": 1, "x": 6.75, "y": 2 },
- { "label": "K44", "matrix": [4, 4], "w": 1, "x": 7.75, "y": 2 },
- { "label": "K54", "matrix": [5, 4], "w": 1, "x": 8.75, "y": 2 },
- { "label": "K55", "matrix": [5, 5], "w": 1, "x": 9.75, "y": 2 },
- { "label": "K45", "matrix": [4, 5], "w": 1, "x": 10.75, "y": 2 },
- { "label": "K46", "matrix": [4, 6], "w": 1, "x": 11.75, "y": 2 },
- { "label": "K71", "matrix": [7, 1], "w": 1, "x": 1.375, "y": 3 },
- { "label": "K61", "matrix": [6, 1], "w": 1, "x": 2.375, "y": 3 },
- { "label": "K72", "matrix": [7, 2], "w": 3, "x": 3.375, "y": 3 },
- { "label": "K63", "matrix": [6, 3], "w": 3, "x": 6.375, "y": 3 },
- { "label": "K74", "matrix": [7, 4], "w": 1, "x": 9.375, "y": 3 },
- { "label": "K75", "matrix": [7, 5], "w": 1, "x": 10.375, "y": 3 }
+ {"label": "K10", "matrix": [1, 0], "w": 1, "x": 0, "y": 0},
+ {"label": "K11", "matrix": [1, 1], "w": 1, "x": 1, "y": 0},
+ {"label": "K01", "matrix": [0, 1], "w": 1, "x": 2, "y": 0},
+ {"label": "K02", "matrix": [0, 2], "w": 1, "x": 3, "y": 0},
+ {"label": "K12", "matrix": [1, 2], "w": 1, "x": 4, "y": 0},
+ {"label": "K13", "matrix": [1, 3], "w": 1, "x": 5, "y": 0},
+ {"label": "K03", "matrix": [0, 3], "w": 1, "x": 6, "y": 0},
+ {"label": "K04", "matrix": [0, 4], "w": 1, "x": 7, "y": 0},
+ {"label": "K14", "matrix": [1, 4], "w": 1, "x": 8, "y": 0},
+ {"label": "K15", "matrix": [1, 5], "w": 1, "x": 9, "y": 0},
+ {"label": "K05", "matrix": [0, 5], "w": 1, "x": 10, "y": 0},
+ {"label": "K06", "matrix": [0, 6], "w": 1.75, "x": 11, "y": 0},
+ {"label": "K30", "matrix": [3, 0], "w": 1.25, "x": 0, "y": 1},
+ {"label": "K31", "matrix": [3, 1], "w": 1, "x": 1.25, "y": 1},
+ {"label": "K21", "matrix": [2, 1], "w": 1, "x": 2.25, "y": 1},
+ {"label": "K22", "matrix": [2, 2], "w": 1, "x": 3.25, "y": 1},
+ {"label": "K32", "matrix": [3, 2], "w": 1, "x": 4.25, "y": 1},
+ {"label": "K33", "matrix": [3, 3], "w": 1, "x": 5.25, "y": 1},
+ {"label": "K23", "matrix": [2, 3], "w": 1, "x": 6.25, "y": 1},
+ {"label": "K24", "matrix": [2, 4], "w": 1, "x": 7.25, "y": 1},
+ {"label": "K34", "matrix": [3, 4], "w": 1, "x": 8.25, "y": 1},
+ {"label": "K35", "matrix": [3, 5], "w": 1, "x": 9.25, "y": 1},
+ {"label": "K25", "matrix": [2, 5], "w": 1, "x": 10.25, "y": 1},
+ {"label": "K26", "matrix": [2, 6], "w": 1.5, "x": 11.25, "y": 1},
+ {"label": "K50", "matrix": [5, 0], "w": 1.75, "x": 0, "y": 2},
+ {"label": "K51", "matrix": [5, 1], "w": 1, "x": 1.75, "y": 2},
+ {"label": "K41", "matrix": [4, 1], "w": 1, "x": 2.75, "y": 2},
+ {"label": "K42", "matrix": [4, 2], "w": 1, "x": 3.75, "y": 2},
+ {"label": "K52", "matrix": [5, 2], "w": 1, "x": 4.75, "y": 2},
+ {"label": "K53", "matrix": [5, 3], "w": 1, "x": 5.75, "y": 2},
+ {"label": "K43", "matrix": [4, 3], "w": 1, "x": 6.75, "y": 2},
+ {"label": "K44", "matrix": [4, 4], "w": 1, "x": 7.75, "y": 2},
+ {"label": "K54", "matrix": [5, 4], "w": 1, "x": 8.75, "y": 2},
+ {"label": "K55", "matrix": [5, 5], "w": 1, "x": 9.75, "y": 2},
+ {"label": "K45", "matrix": [4, 5], "w": 1, "x": 10.75, "y": 2},
+ {"label": "K46", "matrix": [4, 6], "w": 1, "x": 11.75, "y": 2},
+ {"label": "K71", "matrix": [7, 1], "w": 1, "x": 1.375, "y": 3},
+ {"label": "K61", "matrix": [6, 1], "w": 1, "x": 2.375, "y": 3},
+ {"label": "K72", "matrix": [7, 2], "w": 3, "x": 3.375, "y": 3},
+ {"label": "K63", "matrix": [6, 3], "w": 3, "x": 6.375, "y": 3},
+ {"label": "K74", "matrix": [7, 4], "w": 1, "x": 9.375, "y": 3},
+ {"label": "K75", "matrix": [7, 5], "w": 1, "x": 10.375, "y": 3}
]
},
"LAYOUT_6u": {
"layout": [
- { "label": "K10", "matrix": [1, 0], "w": 1, "x": 0, "y": 0 },
- { "label": "K11", "matrix": [1, 1], "w": 1, "x": 1, "y": 0 },
- { "label": "K01", "matrix": [0, 1], "w": 1, "x": 2, "y": 0 },
- { "label": "K02", "matrix": [0, 2], "w": 1, "x": 3, "y": 0 },
- { "label": "K12", "matrix": [1, 2], "w": 1, "x": 4, "y": 0 },
- { "label": "K13", "matrix": [1, 3], "w": 1, "x": 5, "y": 0 },
- { "label": "K03", "matrix": [0, 3], "w": 1, "x": 6, "y": 0 },
- { "label": "K04", "matrix": [0, 4], "w": 1, "x": 7, "y": 0 },
- { "label": "K14", "matrix": [1, 4], "w": 1, "x": 8, "y": 0 },
- { "label": "K15", "matrix": [1, 5], "w": 1, "x": 9, "y": 0 },
- { "label": "K05", "matrix": [0, 5], "w": 1, "x": 10, "y": 0 },
- { "label": "K06", "matrix": [0, 6], "w": 1.75, "x": 11, "y": 0 },
- { "label": "K30", "matrix": [3, 0], "w": 1.25, "x": 0, "y": 1 },
- { "label": "K31", "matrix": [3, 1], "w": 1, "x": 1.25, "y": 1 },
- { "label": "K21", "matrix": [2, 1], "w": 1, "x": 2.25, "y": 1 },
- { "label": "K22", "matrix": [2, 2], "w": 1, "x": 3.25, "y": 1 },
- { "label": "K32", "matrix": [3, 2], "w": 1, "x": 4.25, "y": 1 },
- { "label": "K33", "matrix": [3, 3], "w": 1, "x": 5.25, "y": 1 },
- { "label": "K23", "matrix": [2, 3], "w": 1, "x": 6.25, "y": 1 },
- { "label": "K24", "matrix": [2, 4], "w": 1, "x": 7.25, "y": 1 },
- { "label": "K34", "matrix": [3, 4], "w": 1, "x": 8.25, "y": 1 },
- { "label": "K35", "matrix": [3, 5], "w": 1, "x": 9.25, "y": 1 },
- { "label": "K25", "matrix": [2, 5], "w": 1, "x": 10.25, "y": 1 },
- { "label": "K26", "matrix": [2, 6], "w": 1.5, "x": 11.25, "y": 1 },
- { "label": "K50", "matrix": [5, 0], "w": 1.75, "x": 0, "y": 2 },
- { "label": "K51", "matrix": [5, 1], "w": 1, "x": 1.75, "y": 2 },
- { "label": "K41", "matrix": [4, 1], "w": 1, "x": 2.75, "y": 2 },
- { "label": "K42", "matrix": [4, 2], "w": 1, "x": 3.75, "y": 2 },
- { "label": "K52", "matrix": [5, 2], "w": 1, "x": 4.75, "y": 2 },
- { "label": "K53", "matrix": [5, 3], "w": 1, "x": 5.75, "y": 2 },
- { "label": "K43", "matrix": [4, 3], "w": 1, "x": 6.75, "y": 2 },
- { "label": "K44", "matrix": [4, 4], "w": 1, "x": 7.75, "y": 2 },
- { "label": "K54", "matrix": [5, 4], "w": 1, "x": 8.75, "y": 2 },
- { "label": "K55", "matrix": [5, 5], "w": 1, "x": 9.75, "y": 2 },
- { "label": "K45", "matrix": [4, 5], "w": 1, "x": 10.75, "y": 2 },
- { "label": "K46", "matrix": [4, 6], "w": 1, "x": 11.75, "y": 2 },
- { "label": "K71", "matrix": [7, 1], "w": 1, "x": 1.375, "y": 3 },
- { "label": "K61", "matrix": [6, 1], "w": 1, "x": 2.375, "y": 3 },
- { "label": "K73", "matrix": [7, 3], "w": 6, "x": 3.375, "y": 3 },
- { "label": "K74", "matrix": [7, 4], "w": 1, "x": 9.375, "y": 3 },
- { "label": "K75", "matrix": [7, 5], "w": 1, "x": 10.375, "y": 3 }
+ {"label": "K10", "matrix": [1, 0], "w": 1, "x": 0, "y": 0},
+ {"label": "K11", "matrix": [1, 1], "w": 1, "x": 1, "y": 0},
+ {"label": "K01", "matrix": [0, 1], "w": 1, "x": 2, "y": 0},
+ {"label": "K02", "matrix": [0, 2], "w": 1, "x": 3, "y": 0},
+ {"label": "K12", "matrix": [1, 2], "w": 1, "x": 4, "y": 0},
+ {"label": "K13", "matrix": [1, 3], "w": 1, "x": 5, "y": 0},
+ {"label": "K03", "matrix": [0, 3], "w": 1, "x": 6, "y": 0},
+ {"label": "K04", "matrix": [0, 4], "w": 1, "x": 7, "y": 0},
+ {"label": "K14", "matrix": [1, 4], "w": 1, "x": 8, "y": 0},
+ {"label": "K15", "matrix": [1, 5], "w": 1, "x": 9, "y": 0},
+ {"label": "K05", "matrix": [0, 5], "w": 1, "x": 10, "y": 0},
+ {"label": "K06", "matrix": [0, 6], "w": 1.75, "x": 11, "y": 0},
+ {"label": "K30", "matrix": [3, 0], "w": 1.25, "x": 0, "y": 1},
+ {"label": "K31", "matrix": [3, 1], "w": 1, "x": 1.25, "y": 1},
+ {"label": "K21", "matrix": [2, 1], "w": 1, "x": 2.25, "y": 1},
+ {"label": "K22", "matrix": [2, 2], "w": 1, "x": 3.25, "y": 1},
+ {"label": "K32", "matrix": [3, 2], "w": 1, "x": 4.25, "y": 1},
+ {"label": "K33", "matrix": [3, 3], "w": 1, "x": 5.25, "y": 1},
+ {"label": "K23", "matrix": [2, 3], "w": 1, "x": 6.25, "y": 1},
+ {"label": "K24", "matrix": [2, 4], "w": 1, "x": 7.25, "y": 1},
+ {"label": "K34", "matrix": [3, 4], "w": 1, "x": 8.25, "y": 1},
+ {"label": "K35", "matrix": [3, 5], "w": 1, "x": 9.25, "y": 1},
+ {"label": "K25", "matrix": [2, 5], "w": 1, "x": 10.25, "y": 1},
+ {"label": "K26", "matrix": [2, 6], "w": 1.5, "x": 11.25, "y": 1},
+ {"label": "K50", "matrix": [5, 0], "w": 1.75, "x": 0, "y": 2},
+ {"label": "K51", "matrix": [5, 1], "w": 1, "x": 1.75, "y": 2},
+ {"label": "K41", "matrix": [4, 1], "w": 1, "x": 2.75, "y": 2},
+ {"label": "K42", "matrix": [4, 2], "w": 1, "x": 3.75, "y": 2},
+ {"label": "K52", "matrix": [5, 2], "w": 1, "x": 4.75, "y": 2},
+ {"label": "K53", "matrix": [5, 3], "w": 1, "x": 5.75, "y": 2},
+ {"label": "K43", "matrix": [4, 3], "w": 1, "x": 6.75, "y": 2},
+ {"label": "K44", "matrix": [4, 4], "w": 1, "x": 7.75, "y": 2},
+ {"label": "K54", "matrix": [5, 4], "w": 1, "x": 8.75, "y": 2},
+ {"label": "K55", "matrix": [5, 5], "w": 1, "x": 9.75, "y": 2},
+ {"label": "K45", "matrix": [4, 5], "w": 1, "x": 10.75, "y": 2},
+ {"label": "K46", "matrix": [4, 6], "w": 1, "x": 11.75, "y": 2},
+ {"label": "K71", "matrix": [7, 1], "w": 1, "x": 1.375, "y": 3},
+ {"label": "K61", "matrix": [6, 1], "w": 1, "x": 2.375, "y": 3},
+ {"label": "K73", "matrix": [7, 3], "w": 6, "x": 3.375, "y": 3},
+ {"label": "K74", "matrix": [7, 4], "w": 1, "x": 9.375, "y": 3},
+ {"label": "K75", "matrix": [7, 5], "w": 1, "x": 10.375, "y": 3}
]
},
"LAYOUT_7u": {
"layout": [
- { "label": "K10", "matrix": [1, 0], "w": 1, "x": 0, "y": 0 },
- { "label": "K11", "matrix": [1, 1], "w": 1, "x": 1, "y": 0 },
- { "label": "K01", "matrix": [0, 1], "w": 1, "x": 2, "y": 0 },
- { "label": "K02", "matrix": [0, 2], "w": 1, "x": 3, "y": 0 },
- { "label": "K12", "matrix": [1, 2], "w": 1, "x": 4, "y": 0 },
- { "label": "K13", "matrix": [1, 3], "w": 1, "x": 5, "y": 0 },
- { "label": "K03", "matrix": [0, 3], "w": 1, "x": 6, "y": 0 },
- { "label": "K04", "matrix": [0, 4], "w": 1, "x": 7, "y": 0 },
- { "label": "K14", "matrix": [1, 4], "w": 1, "x": 8, "y": 0 },
- { "label": "K15", "matrix": [1, 5], "w": 1, "x": 9, "y": 0 },
- { "label": "K05", "matrix": [0, 5], "w": 1, "x": 10, "y": 0 },
- { "label": "K06", "matrix": [0, 6], "w": 1.75, "x": 11, "y": 0 },
- { "label": "K30", "matrix": [3, 0], "w": 1.25, "x": 0, "y": 1 },
- { "label": "K31", "matrix": [3, 1], "w": 1, "x": 1.25, "y": 1 },
- { "label": "K21", "matrix": [2, 1], "w": 1, "x": 2.25, "y": 1 },
- { "label": "K22", "matrix": [2, 2], "w": 1, "x": 3.25, "y": 1 },
- { "label": "K32", "matrix": [3, 2], "w": 1, "x": 4.25, "y": 1 },
- { "label": "K33", "matrix": [3, 3], "w": 1, "x": 5.25, "y": 1 },
- { "label": "K23", "matrix": [2, 3], "w": 1, "x": 6.25, "y": 1 },
- { "label": "K24", "matrix": [2, 4], "w": 1, "x": 7.25, "y": 1 },
- { "label": "K34", "matrix": [3, 4], "w": 1, "x": 8.25, "y": 1 },
- { "label": "K35", "matrix": [3, 5], "w": 1, "x": 9.25, "y": 1 },
- { "label": "K25", "matrix": [2, 5], "w": 1, "x": 10.25, "y": 1 },
- { "label": "K26", "matrix": [2, 6], "w": 1.5, "x": 11.25, "y": 1 },
- { "label": "K50", "matrix": [5, 0], "w": 1.75, "x": 0, "y": 2 },
- { "label": "K51", "matrix": [5, 1], "w": 1, "x": 1.75, "y": 2 },
- { "label": "K41", "matrix": [4, 1], "w": 1, "x": 2.75, "y": 2 },
- { "label": "K42", "matrix": [4, 2], "w": 1, "x": 3.75, "y": 2 },
- { "label": "K52", "matrix": [5, 2], "w": 1, "x": 4.75, "y": 2 },
- { "label": "K53", "matrix": [5, 3], "w": 1, "x": 5.75, "y": 2 },
- { "label": "K43", "matrix": [4, 3], "w": 1, "x": 6.75, "y": 2 },
- { "label": "K44", "matrix": [4, 4], "w": 1, "x": 7.75, "y": 2 },
- { "label": "K54", "matrix": [5, 4], "w": 1, "x": 8.75, "y": 2 },
- { "label": "K55", "matrix": [5, 5], "w": 1, "x": 9.75, "y": 2 },
- { "label": "K45", "matrix": [4, 5], "w": 1, "x": 10.75, "y": 2 },
- { "label": "K46", "matrix": [4, 6], "w": 1, "x": 11.75, "y": 2 },
- { "label": "K71", "matrix": [7, 1], "w": 1.5, "x": 1.375, "y": 3 },
- { "label": "K73", "matrix": [7, 3], "w": 7, "x": 2.875, "y": 3 },
- { "label": "K75", "matrix": [7, 5], "w": 1.5, "x": 9.875, "y": 3 }
+ {"label": "K10", "matrix": [1, 0], "w": 1, "x": 0, "y": 0},
+ {"label": "K11", "matrix": [1, 1], "w": 1, "x": 1, "y": 0},
+ {"label": "K01", "matrix": [0, 1], "w": 1, "x": 2, "y": 0},
+ {"label": "K02", "matrix": [0, 2], "w": 1, "x": 3, "y": 0},
+ {"label": "K12", "matrix": [1, 2], "w": 1, "x": 4, "y": 0},
+ {"label": "K13", "matrix": [1, 3], "w": 1, "x": 5, "y": 0},
+ {"label": "K03", "matrix": [0, 3], "w": 1, "x": 6, "y": 0},
+ {"label": "K04", "matrix": [0, 4], "w": 1, "x": 7, "y": 0},
+ {"label": "K14", "matrix": [1, 4], "w": 1, "x": 8, "y": 0},
+ {"label": "K15", "matrix": [1, 5], "w": 1, "x": 9, "y": 0},
+ {"label": "K05", "matrix": [0, 5], "w": 1, "x": 10, "y": 0},
+ {"label": "K06", "matrix": [0, 6], "w": 1.75, "x": 11, "y": 0},
+ {"label": "K30", "matrix": [3, 0], "w": 1.25, "x": 0, "y": 1},
+ {"label": "K31", "matrix": [3, 1], "w": 1, "x": 1.25, "y": 1},
+ {"label": "K21", "matrix": [2, 1], "w": 1, "x": 2.25, "y": 1},
+ {"label": "K22", "matrix": [2, 2], "w": 1, "x": 3.25, "y": 1},
+ {"label": "K32", "matrix": [3, 2], "w": 1, "x": 4.25, "y": 1},
+ {"label": "K33", "matrix": [3, 3], "w": 1, "x": 5.25, "y": 1},
+ {"label": "K23", "matrix": [2, 3], "w": 1, "x": 6.25, "y": 1},
+ {"label": "K24", "matrix": [2, 4], "w": 1, "x": 7.25, "y": 1},
+ {"label": "K34", "matrix": [3, 4], "w": 1, "x": 8.25, "y": 1},
+ {"label": "K35", "matrix": [3, 5], "w": 1, "x": 9.25, "y": 1},
+ {"label": "K25", "matrix": [2, 5], "w": 1, "x": 10.25, "y": 1},
+ {"label": "K26", "matrix": [2, 6], "w": 1.5, "x": 11.25, "y": 1},
+ {"label": "K50", "matrix": [5, 0], "w": 1.75, "x": 0, "y": 2},
+ {"label": "K51", "matrix": [5, 1], "w": 1, "x": 1.75, "y": 2},
+ {"label": "K41", "matrix": [4, 1], "w": 1, "x": 2.75, "y": 2},
+ {"label": "K42", "matrix": [4, 2], "w": 1, "x": 3.75, "y": 2},
+ {"label": "K52", "matrix": [5, 2], "w": 1, "x": 4.75, "y": 2},
+ {"label": "K53", "matrix": [5, 3], "w": 1, "x": 5.75, "y": 2},
+ {"label": "K43", "matrix": [4, 3], "w": 1, "x": 6.75, "y": 2},
+ {"label": "K44", "matrix": [4, 4], "w": 1, "x": 7.75, "y": 2},
+ {"label": "K54", "matrix": [5, 4], "w": 1, "x": 8.75, "y": 2},
+ {"label": "K55", "matrix": [5, 5], "w": 1, "x": 9.75, "y": 2},
+ {"label": "K45", "matrix": [4, 5], "w": 1, "x": 10.75, "y": 2},
+ {"label": "K46", "matrix": [4, 6], "w": 1, "x": 11.75, "y": 2},
+ {"label": "K71", "matrix": [7, 1], "w": 1.5, "x": 1.375, "y": 3},
+ {"label": "K73", "matrix": [7, 3], "w": 7, "x": 2.875, "y": 3},
+ {"label": "K75", "matrix": [7, 5], "w": 1.5, "x": 9.875, "y": 3}
]
},
"LAYOUT_10u": {
"layout": [
- { "label": "K10", "matrix": [1, 0], "w": 1, "x": 0, "y": 0 },
- { "label": "K11", "matrix": [1, 1], "w": 1, "x": 1, "y": 0 },
- { "label": "K01", "matrix": [0, 1], "w": 1, "x": 2, "y": 0 },
- { "label": "K02", "matrix": [0, 2], "w": 1, "x": 3, "y": 0 },
- { "label": "K12", "matrix": [1, 2], "w": 1, "x": 4, "y": 0 },
- { "label": "K13", "matrix": [1, 3], "w": 1, "x": 5, "y": 0 },
- { "label": "K03", "matrix": [0, 3], "w": 1, "x": 6, "y": 0 },
- { "label": "K04", "matrix": [0, 4], "w": 1, "x": 7, "y": 0 },
- { "label": "K14", "matrix": [1, 4], "w": 1, "x": 8, "y": 0 },
- { "label": "K15", "matrix": [1, 5], "w": 1, "x": 9, "y": 0 },
- { "label": "K05", "matrix": [0, 5], "w": 1, "x": 10, "y": 0 },
- { "label": "K06", "matrix": [0, 6], "w": 1.75, "x": 11, "y": 0 },
- { "label": "K30", "matrix": [3, 0], "w": 1.25, "x": 0, "y": 1 },
- { "label": "K31", "matrix": [3, 1], "w": 1, "x": 1.25, "y": 1 },
- { "label": "K21", "matrix": [2, 1], "w": 1, "x": 2.25, "y": 1 },
- { "label": "K22", "matrix": [2, 2], "w": 1, "x": 3.25, "y": 1 },
- { "label": "K32", "matrix": [3, 2], "w": 1, "x": 4.25, "y": 1 },
- { "label": "K33", "matrix": [3, 3], "w": 1, "x": 5.25, "y": 1 },
- { "label": "K23", "matrix": [2, 3], "w": 1, "x": 6.25, "y": 1 },
- { "label": "K24", "matrix": [2, 4], "w": 1, "x": 7.25, "y": 1 },
- { "label": "K34", "matrix": [3, 4], "w": 1, "x": 8.25, "y": 1 },
- { "label": "K35", "matrix": [3, 5], "w": 1, "x": 9.25, "y": 1 },
- { "label": "K25", "matrix": [2, 5], "w": 1, "x": 10.25, "y": 1 },
- { "label": "K26", "matrix": [2, 6], "w": 1.5, "x": 11.25, "y": 1 },
- { "label": "K50", "matrix": [5, 0], "w": 1.75, "x": 0, "y": 2 },
- { "label": "K51", "matrix": [5, 1], "w": 1, "x": 1.75, "y": 2 },
- { "label": "K41", "matrix": [4, 1], "w": 1, "x": 2.75, "y": 2 },
- { "label": "K42", "matrix": [4, 2], "w": 1, "x": 3.75, "y": 2 },
- { "label": "K52", "matrix": [5, 2], "w": 1, "x": 4.75, "y": 2 },
- { "label": "K53", "matrix": [5, 3], "w": 1, "x": 5.75, "y": 2 },
- { "label": "K43", "matrix": [4, 3], "w": 1, "x": 6.75, "y": 2 },
- { "label": "K44", "matrix": [4, 4], "w": 1, "x": 7.75, "y": 2 },
- { "label": "K54", "matrix": [5, 4], "w": 1, "x": 8.75, "y": 2 },
- { "label": "K55", "matrix": [5, 5], "w": 1, "x": 9.75, "y": 2 },
- { "label": "K45", "matrix": [4, 5], "w": 1, "x": 10.75, "y": 2 },
- { "label": "K46", "matrix": [4, 6], "w": 1, "x": 11.75, "y": 2 },
- { "label": "K73", "matrix": [7, 3], "w": 10, "x": 1.375, "y": 3 }
+ {"label": "K10", "matrix": [1, 0], "w": 1, "x": 0, "y": 0},
+ {"label": "K11", "matrix": [1, 1], "w": 1, "x": 1, "y": 0},
+ {"label": "K01", "matrix": [0, 1], "w": 1, "x": 2, "y": 0},
+ {"label": "K02", "matrix": [0, 2], "w": 1, "x": 3, "y": 0},
+ {"label": "K12", "matrix": [1, 2], "w": 1, "x": 4, "y": 0},
+ {"label": "K13", "matrix": [1, 3], "w": 1, "x": 5, "y": 0},
+ {"label": "K03", "matrix": [0, 3], "w": 1, "x": 6, "y": 0},
+ {"label": "K04", "matrix": [0, 4], "w": 1, "x": 7, "y": 0},
+ {"label": "K14", "matrix": [1, 4], "w": 1, "x": 8, "y": 0},
+ {"label": "K15", "matrix": [1, 5], "w": 1, "x": 9, "y": 0},
+ {"label": "K05", "matrix": [0, 5], "w": 1, "x": 10, "y": 0},
+ {"label": "K06", "matrix": [0, 6], "w": 1.75, "x": 11, "y": 0},
+ {"label": "K30", "matrix": [3, 0], "w": 1.25, "x": 0, "y": 1},
+ {"label": "K31", "matrix": [3, 1], "w": 1, "x": 1.25, "y": 1},
+ {"label": "K21", "matrix": [2, 1], "w": 1, "x": 2.25, "y": 1},
+ {"label": "K22", "matrix": [2, 2], "w": 1, "x": 3.25, "y": 1},
+ {"label": "K32", "matrix": [3, 2], "w": 1, "x": 4.25, "y": 1},
+ {"label": "K33", "matrix": [3, 3], "w": 1, "x": 5.25, "y": 1},
+ {"label": "K23", "matrix": [2, 3], "w": 1, "x": 6.25, "y": 1},
+ {"label": "K24", "matrix": [2, 4], "w": 1, "x": 7.25, "y": 1},
+ {"label": "K34", "matrix": [3, 4], "w": 1, "x": 8.25, "y": 1},
+ {"label": "K35", "matrix": [3, 5], "w": 1, "x": 9.25, "y": 1},
+ {"label": "K25", "matrix": [2, 5], "w": 1, "x": 10.25, "y": 1},
+ {"label": "K26", "matrix": [2, 6], "w": 1.5, "x": 11.25, "y": 1},
+ {"label": "K50", "matrix": [5, 0], "w": 1.75, "x": 0, "y": 2},
+ {"label": "K51", "matrix": [5, 1], "w": 1, "x": 1.75, "y": 2},
+ {"label": "K41", "matrix": [4, 1], "w": 1, "x": 2.75, "y": 2},
+ {"label": "K42", "matrix": [4, 2], "w": 1, "x": 3.75, "y": 2},
+ {"label": "K52", "matrix": [5, 2], "w": 1, "x": 4.75, "y": 2},
+ {"label": "K53", "matrix": [5, 3], "w": 1, "x": 5.75, "y": 2},
+ {"label": "K43", "matrix": [4, 3], "w": 1, "x": 6.75, "y": 2},
+ {"label": "K44", "matrix": [4, 4], "w": 1, "x": 7.75, "y": 2},
+ {"label": "K54", "matrix": [5, 4], "w": 1, "x": 8.75, "y": 2},
+ {"label": "K55", "matrix": [5, 5], "w": 1, "x": 9.75, "y": 2},
+ {"label": "K45", "matrix": [4, 5], "w": 1, "x": 10.75, "y": 2},
+ {"label": "K46", "matrix": [4, 6], "w": 1, "x": 11.75, "y": 2},
+ {"label": "K73", "matrix": [7, 3], "w": 10, "x": 1.375, "y": 3}
]
}
}
diff --git a/keyboards/viktus/minne/keymaps/default/keymap.c b/keyboards/viktus/minne/keymaps/default/keymap.c
index bf34ed993e..547132712c 100644
--- a/keyboards/viktus/minne/keymaps/default/keymap.c
+++ b/keyboards/viktus/minne/keymaps/default/keymap.c
@@ -18,9 +18,9 @@
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT_all(
- 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_SCLN, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_RSFT, MO(1),
- KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_SPC, KC_SPC, KC_RGUI, KC_RALT, KC_RCTL
+ 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_SCLN, KC_ENT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_RSFT, MO(1),
+ KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_SPC, KC_SPC, KC_RGUI, KC_RALT, KC_RCTL
)
};
diff --git a/keyboards/viktus/minne/keymaps/via/keymap.c b/keyboards/viktus/minne/keymaps/via/keymap.c
index bf34ed993e..547132712c 100644
--- a/keyboards/viktus/minne/keymaps/via/keymap.c
+++ b/keyboards/viktus/minne/keymaps/via/keymap.c
@@ -18,9 +18,9 @@
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT_all(
- 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_SCLN, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_RSFT, MO(1),
- KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_SPC, KC_SPC, KC_RGUI, KC_RALT, KC_RCTL
+ 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_SCLN, KC_ENT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_RSFT, MO(1),
+ KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_SPC, KC_SPC, KC_RGUI, KC_RALT, KC_RCTL
)
};
diff --git a/keyboards/viktus/minne_topre/info.json b/keyboards/viktus/minne_topre/info.json
index afe00b7652..4f795e082f 100644
--- a/keyboards/viktus/minne_topre/info.json
+++ b/keyboards/viktus/minne_topre/info.json
@@ -19,7 +19,7 @@
"nkro": true
},
"bootmagic": {
- "matrix": [0,0]
+ "matrix": [0, 0]
},
"build": {
"lto": true
@@ -32,224 +32,224 @@
"layouts": {
"LAYOUT_all": {
"layout": [
- { "label": "K00", "matrix": [0, 0], "w": 1, "x": 0, "y": 0 },
- { "label": "K01", "matrix": [0, 1], "w": 1, "x": 1, "y": 0 },
- { "label": "K02", "matrix": [0, 2], "w": 1, "x": 2, "y": 0 },
- { "label": "K03", "matrix": [0, 3], "w": 1, "x": 3, "y": 0 },
- { "label": "K04", "matrix": [0, 4], "w": 1, "x": 4, "y": 0 },
- { "label": "K05", "matrix": [0, 5], "w": 1, "x": 5, "y": 0 },
- { "label": "K06", "matrix": [0, 6], "w": 1, "x": 6, "y": 0 },
- { "label": "K07", "matrix": [0, 7], "w": 1, "x": 7, "y": 0 },
- { "label": "K08", "matrix": [0, 8], "w": 1, "x": 8, "y": 0 },
- { "label": "K09", "matrix": [0, 9], "w": 1, "x": 9, "y": 0 },
- { "label": "K0A", "matrix": [0, 10], "w": 1, "x": 10, "y": 0 },
- { "label": "K0B", "matrix": [0, 11], "w": 1.75, "x": 11, "y": 0 },
- { "label": "K10", "matrix": [1, 0], "w": 1.25, "x": 0, "y": 1 },
- { "label": "K11", "matrix": [1, 1], "w": 1, "x": 1.25, "y": 1 },
- { "label": "K12", "matrix": [1, 2], "w": 1, "x": 2.25, "y": 1 },
- { "label": "K13", "matrix": [1, 3], "w": 1, "x": 3.25, "y": 1 },
- { "label": "K14", "matrix": [1, 4], "w": 1, "x": 4.25, "y": 1 },
- { "label": "K15", "matrix": [1, 5], "w": 1, "x": 5.25, "y": 1 },
- { "label": "K16", "matrix": [1, 6], "w": 1, "x": 6.25, "y": 1 },
- { "label": "K17", "matrix": [1, 7], "w": 1, "x": 7.25, "y": 1 },
- { "label": "K18", "matrix": [1, 8], "w": 1, "x": 8.25, "y": 1 },
- { "label": "K19", "matrix": [1, 9], "w": 1, "x": 9.25, "y": 1 },
- { "label": "K1A", "matrix": [1, 10], "w": 1, "x": 10.25, "y": 1 },
- { "label": "K1B", "matrix": [1, 11], "w": 1.5, "x": 11.25, "y": 1 },
- { "label": "K20", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 },
- { "label": "K21", "matrix": [2, 1], "w": 1, "x": 1.75, "y": 2 },
- { "label": "K22", "matrix": [2, 2], "w": 1, "x": 2.75, "y": 2 },
- { "label": "K23", "matrix": [2, 3], "w": 1, "x": 3.75, "y": 2 },
- { "label": "K24", "matrix": [2, 4], "w": 1, "x": 4.75, "y": 2 },
- { "label": "K25", "matrix": [2, 5], "w": 1, "x": 5.75, "y": 2 },
- { "label": "K26", "matrix": [2, 6], "w": 1, "x": 6.75, "y": 2 },
- { "label": "K27", "matrix": [2, 7], "w": 1, "x": 7.75, "y": 2 },
- { "label": "K28", "matrix": [2, 8], "w": 1, "x": 8.75, "y": 2 },
- { "label": "K29", "matrix": [2, 9], "w": 1, "x": 9.75, "y": 2 },
- { "label": "K2A", "matrix": [2, 10], "w": 1, "x": 10.75, "y": 2 },
- { "label": "K2B", "matrix": [2, 11], "w": 1, "x": 11.75, "y": 2 },
- { "label": "K31", "matrix": [3, 1], "w": 1, "x": 1.375, "y": 3 },
- { "label": "K32", "matrix": [3, 2], "w": 1, "x": 2.375, "y": 3 },
- { "label": "K34", "matrix": [3, 4], "w": 2.5, "x": 3.375, "y": 3 },
- { "label": "K35", "matrix": [3, 5], "w": 1, "x": 5.875, "y": 3 },
- { "label": "K37", "matrix": [3, 7], "w": 2.5, "x": 6.875, "y": 3 },
- { "label": "K39", "matrix": [3, 9], "w": 1, "x": 9.375, "y": 3 },
- { "label": "K3A", "matrix": [3, 10], "w": 1, "x": 10.375, "y": 3 }
+ {"label": "K00", "matrix": [0, 0], "w": 1, "x": 0, "y": 0},
+ {"label": "K01", "matrix": [0, 1], "w": 1, "x": 1, "y": 0},
+ {"label": "K02", "matrix": [0, 2], "w": 1, "x": 2, "y": 0},
+ {"label": "K03", "matrix": [0, 3], "w": 1, "x": 3, "y": 0},
+ {"label": "K04", "matrix": [0, 4], "w": 1, "x": 4, "y": 0},
+ {"label": "K05", "matrix": [0, 5], "w": 1, "x": 5, "y": 0},
+ {"label": "K06", "matrix": [0, 6], "w": 1, "x": 6, "y": 0},
+ {"label": "K07", "matrix": [0, 7], "w": 1, "x": 7, "y": 0},
+ {"label": "K08", "matrix": [0, 8], "w": 1, "x": 8, "y": 0},
+ {"label": "K09", "matrix": [0, 9], "w": 1, "x": 9, "y": 0},
+ {"label": "K0A", "matrix": [0, 10], "w": 1, "x": 10, "y": 0},
+ {"label": "K0B", "matrix": [0, 11], "w": 1.75, "x": 11, "y": 0},
+ {"label": "K10", "matrix": [1, 0], "w": 1.25, "x": 0, "y": 1},
+ {"label": "K11", "matrix": [1, 1], "w": 1, "x": 1.25, "y": 1},
+ {"label": "K12", "matrix": [1, 2], "w": 1, "x": 2.25, "y": 1},
+ {"label": "K13", "matrix": [1, 3], "w": 1, "x": 3.25, "y": 1},
+ {"label": "K14", "matrix": [1, 4], "w": 1, "x": 4.25, "y": 1},
+ {"label": "K15", "matrix": [1, 5], "w": 1, "x": 5.25, "y": 1},
+ {"label": "K16", "matrix": [1, 6], "w": 1, "x": 6.25, "y": 1},
+ {"label": "K17", "matrix": [1, 7], "w": 1, "x": 7.25, "y": 1},
+ {"label": "K18", "matrix": [1, 8], "w": 1, "x": 8.25, "y": 1},
+ {"label": "K19", "matrix": [1, 9], "w": 1, "x": 9.25, "y": 1},
+ {"label": "K1A", "matrix": [1, 10], "w": 1, "x": 10.25, "y": 1},
+ {"label": "K1B", "matrix": [1, 11], "w": 1.5, "x": 11.25, "y": 1},
+ {"label": "K20", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2},
+ {"label": "K21", "matrix": [2, 1], "w": 1, "x": 1.75, "y": 2},
+ {"label": "K22", "matrix": [2, 2], "w": 1, "x": 2.75, "y": 2},
+ {"label": "K23", "matrix": [2, 3], "w": 1, "x": 3.75, "y": 2},
+ {"label": "K24", "matrix": [2, 4], "w": 1, "x": 4.75, "y": 2},
+ {"label": "K25", "matrix": [2, 5], "w": 1, "x": 5.75, "y": 2},
+ {"label": "K26", "matrix": [2, 6], "w": 1, "x": 6.75, "y": 2},
+ {"label": "K27", "matrix": [2, 7], "w": 1, "x": 7.75, "y": 2},
+ {"label": "K28", "matrix": [2, 8], "w": 1, "x": 8.75, "y": 2},
+ {"label": "K29", "matrix": [2, 9], "w": 1, "x": 9.75, "y": 2},
+ {"label": "K2A", "matrix": [2, 10], "w": 1, "x": 10.75, "y": 2},
+ {"label": "K2B", "matrix": [2, 11], "w": 1, "x": 11.75, "y": 2},
+ {"label": "K31", "matrix": [3, 1], "w": 1, "x": 1.375, "y": 3},
+ {"label": "K32", "matrix": [3, 2], "w": 1, "x": 2.375, "y": 3},
+ {"label": "K34", "matrix": [3, 4], "w": 2.5, "x": 3.375, "y": 3},
+ {"label": "K35", "matrix": [3, 5], "w": 1, "x": 5.875, "y": 3},
+ {"label": "K37", "matrix": [3, 7], "w": 2.5, "x": 6.875, "y": 3},
+ {"label": "K39", "matrix": [3, 9], "w": 1, "x": 9.375, "y": 3},
+ {"label": "K3A", "matrix": [3, 10], "w": 1, "x": 10.375, "y": 3}
]
},
"LAYOUT_dual_3u": {
"layout": [
- { "label": "K00", "matrix": [0, 0], "w": 1, "x": 0, "y": 0 },
- { "label": "K01", "matrix": [0, 1], "w": 1, "x": 1, "y": 0 },
- { "label": "K02", "matrix": [0, 2], "w": 1, "x": 2, "y": 0 },
- { "label": "K03", "matrix": [0, 3], "w": 1, "x": 3, "y": 0 },
- { "label": "K04", "matrix": [0, 4], "w": 1, "x": 4, "y": 0 },
- { "label": "K05", "matrix": [0, 5], "w": 1, "x": 5, "y": 0 },
- { "label": "K06", "matrix": [0, 6], "w": 1, "x": 6, "y": 0 },
- { "label": "K07", "matrix": [0, 7], "w": 1, "x": 7, "y": 0 },
- { "label": "K08", "matrix": [0, 8], "w": 1, "x": 8, "y": 0 },
- { "label": "K09", "matrix": [0, 9], "w": 1, "x": 9, "y": 0 },
- { "label": "K0A", "matrix": [0, 10], "w": 1, "x": 10, "y": 0 },
- { "label": "K0B", "matrix": [0, 11], "w": 1.75, "x": 11, "y": 0 },
- { "label": "K10", "matrix": [1, 0], "w": 1.25, "x": 0, "y": 1 },
- { "label": "K11", "matrix": [1, 1], "w": 1, "x": 1.25, "y": 1 },
- { "label": "K12", "matrix": [1, 2], "w": 1, "x": 2.25, "y": 1 },
- { "label": "K13", "matrix": [1, 3], "w": 1, "x": 3.25, "y": 1 },
- { "label": "K14", "matrix": [1, 4], "w": 1, "x": 4.25, "y": 1 },
- { "label": "K15", "matrix": [1, 5], "w": 1, "x": 5.25, "y": 1 },
- { "label": "K16", "matrix": [1, 6], "w": 1, "x": 6.25, "y": 1 },
- { "label": "K17", "matrix": [1, 7], "w": 1, "x": 7.25, "y": 1 },
- { "label": "K18", "matrix": [1, 8], "w": 1, "x": 8.25, "y": 1 },
- { "label": "K19", "matrix": [1, 9], "w": 1, "x": 9.25, "y": 1 },
- { "label": "K1A", "matrix": [1, 10], "w": 1, "x": 10.25, "y": 1 },
- { "label": "K1B", "matrix": [1, 11], "w": 1.5, "x": 11.25, "y": 1 },
- { "label": "K20", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 },
- { "label": "K21", "matrix": [2, 1], "w": 1, "x": 1.75, "y": 2 },
- { "label": "K22", "matrix": [2, 2], "w": 1, "x": 2.75, "y": 2 },
- { "label": "K23", "matrix": [2, 3], "w": 1, "x": 3.75, "y": 2 },
- { "label": "K24", "matrix": [2, 4], "w": 1, "x": 4.75, "y": 2 },
- { "label": "K25", "matrix": [2, 5], "w": 1, "x": 5.75, "y": 2 },
- { "label": "K26", "matrix": [2, 6], "w": 1, "x": 6.75, "y": 2 },
- { "label": "K27", "matrix": [2, 7], "w": 1, "x": 7.75, "y": 2 },
- { "label": "K28", "matrix": [2, 8], "w": 1, "x": 8.75, "y": 2 },
- { "label": "K29", "matrix": [2, 9], "w": 1, "x": 9.75, "y": 2 },
- { "label": "K2A", "matrix": [2, 10], "w": 1, "x": 10.75, "y": 2 },
- { "label": "K2B", "matrix": [2, 11], "w": 1, "x": 11.75, "y": 2 },
- { "label": "K31", "matrix": [3, 1], "w": 1, "x": 1.375, "y": 3 },
- { "label": "K32", "matrix": [3, 2], "w": 1, "x": 2.375, "y": 3 },
- { "label": "K34", "matrix": [3, 4], "w": 3, "x": 3.375, "y": 3 },
- { "label": "K37", "matrix": [3, 7], "w": 3, "x": 6.375, "y": 3 },
- { "label": "K39", "matrix": [3, 9], "w": 1, "x": 9.375, "y": 3 },
- { "label": "K3A", "matrix": [3, 10], "w": 1, "x": 10.375, "y": 3 }
+ {"label": "K00", "matrix": [0, 0], "w": 1, "x": 0, "y": 0},
+ {"label": "K01", "matrix": [0, 1], "w": 1, "x": 1, "y": 0},
+ {"label": "K02", "matrix": [0, 2], "w": 1, "x": 2, "y": 0},
+ {"label": "K03", "matrix": [0, 3], "w": 1, "x": 3, "y": 0},
+ {"label": "K04", "matrix": [0, 4], "w": 1, "x": 4, "y": 0},
+ {"label": "K05", "matrix": [0, 5], "w": 1, "x": 5, "y": 0},
+ {"label": "K06", "matrix": [0, 6], "w": 1, "x": 6, "y": 0},
+ {"label": "K07", "matrix": [0, 7], "w": 1, "x": 7, "y": 0},
+ {"label": "K08", "matrix": [0, 8], "w": 1, "x": 8, "y": 0},
+ {"label": "K09", "matrix": [0, 9], "w": 1, "x": 9, "y": 0},
+ {"label": "K0A", "matrix": [0, 10], "w": 1, "x": 10, "y": 0},
+ {"label": "K0B", "matrix": [0, 11], "w": 1.75, "x": 11, "y": 0},
+ {"label": "K10", "matrix": [1, 0], "w": 1.25, "x": 0, "y": 1},
+ {"label": "K11", "matrix": [1, 1], "w": 1, "x": 1.25, "y": 1},
+ {"label": "K12", "matrix": [1, 2], "w": 1, "x": 2.25, "y": 1},
+ {"label": "K13", "matrix": [1, 3], "w": 1, "x": 3.25, "y": 1},
+ {"label": "K14", "matrix": [1, 4], "w": 1, "x": 4.25, "y": 1},
+ {"label": "K15", "matrix": [1, 5], "w": 1, "x": 5.25, "y": 1},
+ {"label": "K16", "matrix": [1, 6], "w": 1, "x": 6.25, "y": 1},
+ {"label": "K17", "matrix": [1, 7], "w": 1, "x": 7.25, "y": 1},
+ {"label": "K18", "matrix": [1, 8], "w": 1, "x": 8.25, "y": 1},
+ {"label": "K19", "matrix": [1, 9], "w": 1, "x": 9.25, "y": 1},
+ {"label": "K1A", "matrix": [1, 10], "w": 1, "x": 10.25, "y": 1},
+ {"label": "K1B", "matrix": [1, 11], "w": 1.5, "x": 11.25, "y": 1},
+ {"label": "K20", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2},
+ {"label": "K21", "matrix": [2, 1], "w": 1, "x": 1.75, "y": 2},
+ {"label": "K22", "matrix": [2, 2], "w": 1, "x": 2.75, "y": 2},
+ {"label": "K23", "matrix": [2, 3], "w": 1, "x": 3.75, "y": 2},
+ {"label": "K24", "matrix": [2, 4], "w": 1, "x": 4.75, "y": 2},
+ {"label": "K25", "matrix": [2, 5], "w": 1, "x": 5.75, "y": 2},
+ {"label": "K26", "matrix": [2, 6], "w": 1, "x": 6.75, "y": 2},
+ {"label": "K27", "matrix": [2, 7], "w": 1, "x": 7.75, "y": 2},
+ {"label": "K28", "matrix": [2, 8], "w": 1, "x": 8.75, "y": 2},
+ {"label": "K29", "matrix": [2, 9], "w": 1, "x": 9.75, "y": 2},
+ {"label": "K2A", "matrix": [2, 10], "w": 1, "x": 10.75, "y": 2},
+ {"label": "K2B", "matrix": [2, 11], "w": 1, "x": 11.75, "y": 2},
+ {"label": "K31", "matrix": [3, 1], "w": 1, "x": 1.375, "y": 3},
+ {"label": "K32", "matrix": [3, 2], "w": 1, "x": 2.375, "y": 3},
+ {"label": "K34", "matrix": [3, 4], "w": 3, "x": 3.375, "y": 3},
+ {"label": "K37", "matrix": [3, 7], "w": 3, "x": 6.375, "y": 3},
+ {"label": "K39", "matrix": [3, 9], "w": 1, "x": 9.375, "y": 3},
+ {"label": "K3A", "matrix": [3, 10], "w": 1, "x": 10.375, "y": 3}
]
},
"LAYOUT_6u": {
"layout": [
- { "label": "K00", "matrix": [0, 0], "w": 1, "x": 0, "y": 0 },
- { "label": "K01", "matrix": [0, 1], "w": 1, "x": 1, "y": 0 },
- { "label": "K02", "matrix": [0, 2], "w": 1, "x": 2, "y": 0 },
- { "label": "K03", "matrix": [0, 3], "w": 1, "x": 3, "y": 0 },
- { "label": "K04", "matrix": [0, 4], "w": 1, "x": 4, "y": 0 },
- { "label": "K05", "matrix": [0, 5], "w": 1, "x": 5, "y": 0 },
- { "label": "K06", "matrix": [0, 6], "w": 1, "x": 6, "y": 0 },
- { "label": "K07", "matrix": [0, 7], "w": 1, "x": 7, "y": 0 },
- { "label": "K08", "matrix": [0, 8], "w": 1, "x": 8, "y": 0 },
- { "label": "K09", "matrix": [0, 9], "w": 1, "x": 9, "y": 0 },
- { "label": "K0A", "matrix": [0, 10], "w": 1, "x": 10, "y": 0 },
- { "label": "K0B", "matrix": [0, 11], "w": 1.75, "x": 11, "y": 0 },
- { "label": "K10", "matrix": [1, 0], "w": 1.25, "x": 0, "y": 1 },
- { "label": "K11", "matrix": [1, 1], "w": 1, "x": 1.25, "y": 1 },
- { "label": "K12", "matrix": [1, 2], "w": 1, "x": 2.25, "y": 1 },
- { "label": "K13", "matrix": [1, 3], "w": 1, "x": 3.25, "y": 1 },
- { "label": "K14", "matrix": [1, 4], "w": 1, "x": 4.25, "y": 1 },
- { "label": "K15", "matrix": [1, 5], "w": 1, "x": 5.25, "y": 1 },
- { "label": "K16", "matrix": [1, 6], "w": 1, "x": 6.25, "y": 1 },
- { "label": "K17", "matrix": [1, 7], "w": 1, "x": 7.25, "y": 1 },
- { "label": "K18", "matrix": [1, 8], "w": 1, "x": 8.25, "y": 1 },
- { "label": "K19", "matrix": [1, 9], "w": 1, "x": 9.25, "y": 1 },
- { "label": "K1A", "matrix": [1, 10], "w": 1, "x": 10.25, "y": 1 },
- { "label": "K1B", "matrix": [1, 11], "w": 1.5, "x": 11.25, "y": 1 },
- { "label": "K20", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 },
- { "label": "K21", "matrix": [2, 1], "w": 1, "x": 1.75, "y": 2 },
- { "label": "K22", "matrix": [2, 2], "w": 1, "x": 2.75, "y": 2 },
- { "label": "K23", "matrix": [2, 3], "w": 1, "x": 3.75, "y": 2 },
- { "label": "K24", "matrix": [2, 4], "w": 1, "x": 4.75, "y": 2 },
- { "label": "K25", "matrix": [2, 5], "w": 1, "x": 5.75, "y": 2 },
- { "label": "K26", "matrix": [2, 6], "w": 1, "x": 6.75, "y": 2 },
- { "label": "K27", "matrix": [2, 7], "w": 1, "x": 7.75, "y": 2 },
- { "label": "K28", "matrix": [2, 8], "w": 1, "x": 8.75, "y": 2 },
- { "label": "K29", "matrix": [2, 9], "w": 1, "x": 9.75, "y": 2 },
- { "label": "K2A", "matrix": [2, 10], "w": 1, "x": 10.75, "y": 2 },
- { "label": "K2B", "matrix": [2, 11], "w": 1, "x": 11.75, "y": 2 },
- { "label": "K31", "matrix": [3, 1], "w": 1, "x": 1.375, "y": 3 },
- { "label": "K32", "matrix": [3, 2], "w": 1, "x": 2.375, "y": 3 },
- { "label": "K35", "matrix": [3, 5], "w": 6, "x": 3.375, "y": 3 },
- { "label": "K39", "matrix": [3, 9], "w": 1, "x": 9.375, "y": 3 },
- { "label": "K3A", "matrix": [3, 10], "w": 1, "x": 10.375, "y": 3 }
+ {"label": "K00", "matrix": [0, 0], "w": 1, "x": 0, "y": 0},
+ {"label": "K01", "matrix": [0, 1], "w": 1, "x": 1, "y": 0},
+ {"label": "K02", "matrix": [0, 2], "w": 1, "x": 2, "y": 0},
+ {"label": "K03", "matrix": [0, 3], "w": 1, "x": 3, "y": 0},
+ {"label": "K04", "matrix": [0, 4], "w": 1, "x": 4, "y": 0},
+ {"label": "K05", "matrix": [0, 5], "w": 1, "x": 5, "y": 0},
+ {"label": "K06", "matrix": [0, 6], "w": 1, "x": 6, "y": 0},
+ {"label": "K07", "matrix": [0, 7], "w": 1, "x": 7, "y": 0},
+ {"label": "K08", "matrix": [0, 8], "w": 1, "x": 8, "y": 0},
+ {"label": "K09", "matrix": [0, 9], "w": 1, "x": 9, "y": 0},
+ {"label": "K0A", "matrix": [0, 10], "w": 1, "x": 10, "y": 0},
+ {"label": "K0B", "matrix": [0, 11], "w": 1.75, "x": 11, "y": 0},
+ {"label": "K10", "matrix": [1, 0], "w": 1.25, "x": 0, "y": 1},
+ {"label": "K11", "matrix": [1, 1], "w": 1, "x": 1.25, "y": 1},
+ {"label": "K12", "matrix": [1, 2], "w": 1, "x": 2.25, "y": 1},
+ {"label": "K13", "matrix": [1, 3], "w": 1, "x": 3.25, "y": 1},
+ {"label": "K14", "matrix": [1, 4], "w": 1, "x": 4.25, "y": 1},
+ {"label": "K15", "matrix": [1, 5], "w": 1, "x": 5.25, "y": 1},
+ {"label": "K16", "matrix": [1, 6], "w": 1, "x": 6.25, "y": 1},
+ {"label": "K17", "matrix": [1, 7], "w": 1, "x": 7.25, "y": 1},
+ {"label": "K18", "matrix": [1, 8], "w": 1, "x": 8.25, "y": 1},
+ {"label": "K19", "matrix": [1, 9], "w": 1, "x": 9.25, "y": 1},
+ {"label": "K1A", "matrix": [1, 10], "w": 1, "x": 10.25, "y": 1},
+ {"label": "K1B", "matrix": [1, 11], "w": 1.5, "x": 11.25, "y": 1},
+ {"label": "K20", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2},
+ {"label": "K21", "matrix": [2, 1], "w": 1, "x": 1.75, "y": 2},
+ {"label": "K22", "matrix": [2, 2], "w": 1, "x": 2.75, "y": 2},
+ {"label": "K23", "matrix": [2, 3], "w": 1, "x": 3.75, "y": 2},
+ {"label": "K24", "matrix": [2, 4], "w": 1, "x": 4.75, "y": 2},
+ {"label": "K25", "matrix": [2, 5], "w": 1, "x": 5.75, "y": 2},
+ {"label": "K26", "matrix": [2, 6], "w": 1, "x": 6.75, "y": 2},
+ {"label": "K27", "matrix": [2, 7], "w": 1, "x": 7.75, "y": 2},
+ {"label": "K28", "matrix": [2, 8], "w": 1, "x": 8.75, "y": 2},
+ {"label": "K29", "matrix": [2, 9], "w": 1, "x": 9.75, "y": 2},
+ {"label": "K2A", "matrix": [2, 10], "w": 1, "x": 10.75, "y": 2},
+ {"label": "K2B", "matrix": [2, 11], "w": 1, "x": 11.75, "y": 2},
+ {"label": "K31", "matrix": [3, 1], "w": 1, "x": 1.375, "y": 3},
+ {"label": "K32", "matrix": [3, 2], "w": 1, "x": 2.375, "y": 3},
+ {"label": "K35", "matrix": [3, 5], "w": 6, "x": 3.375, "y": 3},
+ {"label": "K39", "matrix": [3, 9], "w": 1, "x": 9.375, "y": 3},
+ {"label": "K3A", "matrix": [3, 10], "w": 1, "x": 10.375, "y": 3}
]
},
"LAYOUT_7u": {
"layout": [
- { "label": "K00", "matrix": [0, 0], "w": 1, "x": 0, "y": 0 },
- { "label": "K01", "matrix": [0, 1], "w": 1, "x": 1, "y": 0 },
- { "label": "K02", "matrix": [0, 2], "w": 1, "x": 2, "y": 0 },
- { "label": "K03", "matrix": [0, 3], "w": 1, "x": 3, "y": 0 },
- { "label": "K04", "matrix": [0, 4], "w": 1, "x": 4, "y": 0 },
- { "label": "K05", "matrix": [0, 5], "w": 1, "x": 5, "y": 0 },
- { "label": "K06", "matrix": [0, 6], "w": 1, "x": 6, "y": 0 },
- { "label": "K07", "matrix": [0, 7], "w": 1, "x": 7, "y": 0 },
- { "label": "K08", "matrix": [0, 8], "w": 1, "x": 8, "y": 0 },
- { "label": "K09", "matrix": [0, 9], "w": 1, "x": 9, "y": 0 },
- { "label": "K0A", "matrix": [0, 10], "w": 1, "x": 10, "y": 0 },
- { "label": "K0B", "matrix": [0, 11], "w": 1.75, "x": 11, "y": 0 },
- { "label": "K10", "matrix": [1, 0], "w": 1.25, "x": 0, "y": 1 },
- { "label": "K11", "matrix": [1, 1], "w": 1, "x": 1.25, "y": 1 },
- { "label": "K12", "matrix": [1, 2], "w": 1, "x": 2.25, "y": 1 },
- { "label": "K13", "matrix": [1, 3], "w": 1, "x": 3.25, "y": 1 },
- { "label": "K14", "matrix": [1, 4], "w": 1, "x": 4.25, "y": 1 },
- { "label": "K15", "matrix": [1, 5], "w": 1, "x": 5.25, "y": 1 },
- { "label": "K16", "matrix": [1, 6], "w": 1, "x": 6.25, "y": 1 },
- { "label": "K17", "matrix": [1, 7], "w": 1, "x": 7.25, "y": 1 },
- { "label": "K18", "matrix": [1, 8], "w": 1, "x": 8.25, "y": 1 },
- { "label": "K19", "matrix": [1, 9], "w": 1, "x": 9.25, "y": 1 },
- { "label": "K1A", "matrix": [1, 10], "w": 1, "x": 10.25, "y": 1 },
- { "label": "K1B", "matrix": [1, 11], "w": 1.5, "x": 11.25, "y": 1 },
- { "label": "K20", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 },
- { "label": "K21", "matrix": [2, 1], "w": 1, "x": 1.75, "y": 2 },
- { "label": "K22", "matrix": [2, 2], "w": 1, "x": 2.75, "y": 2 },
- { "label": "K23", "matrix": [2, 3], "w": 1, "x": 3.75, "y": 2 },
- { "label": "K24", "matrix": [2, 4], "w": 1, "x": 4.75, "y": 2 },
- { "label": "K25", "matrix": [2, 5], "w": 1, "x": 5.75, "y": 2 },
- { "label": "K26", "matrix": [2, 6], "w": 1, "x": 6.75, "y": 2 },
- { "label": "K27", "matrix": [2, 7], "w": 1, "x": 7.75, "y": 2 },
- { "label": "K28", "matrix": [2, 8], "w": 1, "x": 8.75, "y": 2 },
- { "label": "K29", "matrix": [2, 9], "w": 1, "x": 9.75, "y": 2 },
- { "label": "K2A", "matrix": [2, 10], "w": 1, "x": 10.75, "y": 2 },
- { "label": "K2B", "matrix": [2, 11], "w": 1, "x": 11.75, "y": 2 },
- { "label": "K31", "matrix": [3, 1], "w": 1.5, "x": 1.375, "y": 3 },
- { "label": "K35", "matrix": [3, 5], "w": 7, "x": 2.875, "y": 3 },
- { "label": "K3A", "matrix": [3, 10], "w": 1.5, "x": 9.875, "y": 3 }
+ {"label": "K00", "matrix": [0, 0], "w": 1, "x": 0, "y": 0},
+ {"label": "K01", "matrix": [0, 1], "w": 1, "x": 1, "y": 0},
+ {"label": "K02", "matrix": [0, 2], "w": 1, "x": 2, "y": 0},
+ {"label": "K03", "matrix": [0, 3], "w": 1, "x": 3, "y": 0},
+ {"label": "K04", "matrix": [0, 4], "w": 1, "x": 4, "y": 0},
+ {"label": "K05", "matrix": [0, 5], "w": 1, "x": 5, "y": 0},
+ {"label": "K06", "matrix": [0, 6], "w": 1, "x": 6, "y": 0},
+ {"label": "K07", "matrix": [0, 7], "w": 1, "x": 7, "y": 0},
+ {"label": "K08", "matrix": [0, 8], "w": 1, "x": 8, "y": 0},
+ {"label": "K09", "matrix": [0, 9], "w": 1, "x": 9, "y": 0},
+ {"label": "K0A", "matrix": [0, 10], "w": 1, "x": 10, "y": 0},
+ {"label": "K0B", "matrix": [0, 11], "w": 1.75, "x": 11, "y": 0},
+ {"label": "K10", "matrix": [1, 0], "w": 1.25, "x": 0, "y": 1},
+ {"label": "K11", "matrix": [1, 1], "w": 1, "x": 1.25, "y": 1},
+ {"label": "K12", "matrix": [1, 2], "w": 1, "x": 2.25, "y": 1},
+ {"label": "K13", "matrix": [1, 3], "w": 1, "x": 3.25, "y": 1},
+ {"label": "K14", "matrix": [1, 4], "w": 1, "x": 4.25, "y": 1},
+ {"label": "K15", "matrix": [1, 5], "w": 1, "x": 5.25, "y": 1},
+ {"label": "K16", "matrix": [1, 6], "w": 1, "x": 6.25, "y": 1},
+ {"label": "K17", "matrix": [1, 7], "w": 1, "x": 7.25, "y": 1},
+ {"label": "K18", "matrix": [1, 8], "w": 1, "x": 8.25, "y": 1},
+ {"label": "K19", "matrix": [1, 9], "w": 1, "x": 9.25, "y": 1},
+ {"label": "K1A", "matrix": [1, 10], "w": 1, "x": 10.25, "y": 1},
+ {"label": "K1B", "matrix": [1, 11], "w": 1.5, "x": 11.25, "y": 1},
+ {"label": "K20", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2},
+ {"label": "K21", "matrix": [2, 1], "w": 1, "x": 1.75, "y": 2},
+ {"label": "K22", "matrix": [2, 2], "w": 1, "x": 2.75, "y": 2},
+ {"label": "K23", "matrix": [2, 3], "w": 1, "x": 3.75, "y": 2},
+ {"label": "K24", "matrix": [2, 4], "w": 1, "x": 4.75, "y": 2},
+ {"label": "K25", "matrix": [2, 5], "w": 1, "x": 5.75, "y": 2},
+ {"label": "K26", "matrix": [2, 6], "w": 1, "x": 6.75, "y": 2},
+ {"label": "K27", "matrix": [2, 7], "w": 1, "x": 7.75, "y": 2},
+ {"label": "K28", "matrix": [2, 8], "w": 1, "x": 8.75, "y": 2},
+ {"label": "K29", "matrix": [2, 9], "w": 1, "x": 9.75, "y": 2},
+ {"label": "K2A", "matrix": [2, 10], "w": 1, "x": 10.75, "y": 2},
+ {"label": "K2B", "matrix": [2, 11], "w": 1, "x": 11.75, "y": 2},
+ {"label": "K31", "matrix": [3, 1], "w": 1.5, "x": 1.375, "y": 3},
+ {"label": "K35", "matrix": [3, 5], "w": 7, "x": 2.875, "y": 3},
+ {"label": "K3A", "matrix": [3, 10], "w": 1.5, "x": 9.875, "y": 3}
]
},
"LAYOUT_10u": {
"layout": [
- { "label": "K00", "matrix": [0, 0], "w": 1, "x": 0, "y": 0 },
- { "label": "K01", "matrix": [0, 1], "w": 1, "x": 1, "y": 0 },
- { "label": "K02", "matrix": [0, 2], "w": 1, "x": 2, "y": 0 },
- { "label": "K03", "matrix": [0, 3], "w": 1, "x": 3, "y": 0 },
- { "label": "K04", "matrix": [0, 4], "w": 1, "x": 4, "y": 0 },
- { "label": "K05", "matrix": [0, 5], "w": 1, "x": 5, "y": 0 },
- { "label": "K06", "matrix": [0, 6], "w": 1, "x": 6, "y": 0 },
- { "label": "K07", "matrix": [0, 7], "w": 1, "x": 7, "y": 0 },
- { "label": "K08", "matrix": [0, 8], "w": 1, "x": 8, "y": 0 },
- { "label": "K09", "matrix": [0, 9], "w": 1, "x": 9, "y": 0 },
- { "label": "K0A", "matrix": [0, 10], "w": 1, "x": 10, "y": 0 },
- { "label": "K0B", "matrix": [0, 11], "w": 1.75, "x": 11, "y": 0 },
- { "label": "K10", "matrix": [1, 0], "w": 1.25, "x": 0, "y": 1 },
- { "label": "K11", "matrix": [1, 1], "w": 1, "x": 1.25, "y": 1 },
- { "label": "K12", "matrix": [1, 2], "w": 1, "x": 2.25, "y": 1 },
- { "label": "K13", "matrix": [1, 3], "w": 1, "x": 3.25, "y": 1 },
- { "label": "K14", "matrix": [1, 4], "w": 1, "x": 4.25, "y": 1 },
- { "label": "K15", "matrix": [1, 5], "w": 1, "x": 5.25, "y": 1 },
- { "label": "K16", "matrix": [1, 6], "w": 1, "x": 6.25, "y": 1 },
- { "label": "K17", "matrix": [1, 7], "w": 1, "x": 7.25, "y": 1 },
- { "label": "K18", "matrix": [1, 8], "w": 1, "x": 8.25, "y": 1 },
- { "label": "K19", "matrix": [1, 9], "w": 1, "x": 9.25, "y": 1 },
- { "label": "K1A", "matrix": [1, 10], "w": 1, "x": 10.25, "y": 1 },
- { "label": "K1B", "matrix": [1, 11], "w": 1.5, "x": 11.25, "y": 1 },
- { "label": "K20", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 },
- { "label": "K21", "matrix": [2, 1], "w": 1, "x": 1.75, "y": 2 },
- { "label": "K22", "matrix": [2, 2], "w": 1, "x": 2.75, "y": 2 },
- { "label": "K23", "matrix": [2, 3], "w": 1, "x": 3.75, "y": 2 },
- { "label": "K24", "matrix": [2, 4], "w": 1, "x": 4.75, "y": 2 },
- { "label": "K25", "matrix": [2, 5], "w": 1, "x": 5.75, "y": 2 },
- { "label": "K26", "matrix": [2, 6], "w": 1, "x": 6.75, "y": 2 },
- { "label": "K27", "matrix": [2, 7], "w": 1, "x": 7.75, "y": 2 },
- { "label": "K28", "matrix": [2, 8], "w": 1, "x": 8.75, "y": 2 },
- { "label": "K29", "matrix": [2, 9], "w": 1, "x": 9.75, "y": 2 },
- { "label": "K2A", "matrix": [2, 10], "w": 1, "x": 10.75, "y": 2 },
- { "label": "K2B", "matrix": [2, 11], "w": 1, "x": 11.75, "y": 2 },
- { "label": "K35", "matrix": [3, 5], "w": 10, "x": 1.375, "y": 3 }
+ {"label": "K00", "matrix": [0, 0], "w": 1, "x": 0, "y": 0},
+ {"label": "K01", "matrix": [0, 1], "w": 1, "x": 1, "y": 0},
+ {"label": "K02", "matrix": [0, 2], "w": 1, "x": 2, "y": 0},
+ {"label": "K03", "matrix": [0, 3], "w": 1, "x": 3, "y": 0},
+ {"label": "K04", "matrix": [0, 4], "w": 1, "x": 4, "y": 0},
+ {"label": "K05", "matrix": [0, 5], "w": 1, "x": 5, "y": 0},
+ {"label": "K06", "matrix": [0, 6], "w": 1, "x": 6, "y": 0},
+ {"label": "K07", "matrix": [0, 7], "w": 1, "x": 7, "y": 0},
+ {"label": "K08", "matrix": [0, 8], "w": 1, "x": 8, "y": 0},
+ {"label": "K09", "matrix": [0, 9], "w": 1, "x": 9, "y": 0},
+ {"label": "K0A", "matrix": [0, 10], "w": 1, "x": 10, "y": 0},
+ {"label": "K0B", "matrix": [0, 11], "w": 1.75, "x": 11, "y": 0},
+ {"label": "K10", "matrix": [1, 0], "w": 1.25, "x": 0, "y": 1},
+ {"label": "K11", "matrix": [1, 1], "w": 1, "x": 1.25, "y": 1},
+ {"label": "K12", "matrix": [1, 2], "w": 1, "x": 2.25, "y": 1},
+ {"label": "K13", "matrix": [1, 3], "w": 1, "x": 3.25, "y": 1},
+ {"label": "K14", "matrix": [1, 4], "w": 1, "x": 4.25, "y": 1},
+ {"label": "K15", "matrix": [1, 5], "w": 1, "x": 5.25, "y": 1},
+ {"label": "K16", "matrix": [1, 6], "w": 1, "x": 6.25, "y": 1},
+ {"label": "K17", "matrix": [1, 7], "w": 1, "x": 7.25, "y": 1},
+ {"label": "K18", "matrix": [1, 8], "w": 1, "x": 8.25, "y": 1},
+ {"label": "K19", "matrix": [1, 9], "w": 1, "x": 9.25, "y": 1},
+ {"label": "K1A", "matrix": [1, 10], "w": 1, "x": 10.25, "y": 1},
+ {"label": "K1B", "matrix": [1, 11], "w": 1.5, "x": 11.25, "y": 1},
+ {"label": "K20", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2},
+ {"label": "K21", "matrix": [2, 1], "w": 1, "x": 1.75, "y": 2},
+ {"label": "K22", "matrix": [2, 2], "w": 1, "x": 2.75, "y": 2},
+ {"label": "K23", "matrix": [2, 3], "w": 1, "x": 3.75, "y": 2},
+ {"label": "K24", "matrix": [2, 4], "w": 1, "x": 4.75, "y": 2},
+ {"label": "K25", "matrix": [2, 5], "w": 1, "x": 5.75, "y": 2},
+ {"label": "K26", "matrix": [2, 6], "w": 1, "x": 6.75, "y": 2},
+ {"label": "K27", "matrix": [2, 7], "w": 1, "x": 7.75, "y": 2},
+ {"label": "K28", "matrix": [2, 8], "w": 1, "x": 8.75, "y": 2},
+ {"label": "K29", "matrix": [2, 9], "w": 1, "x": 9.75, "y": 2},
+ {"label": "K2A", "matrix": [2, 10], "w": 1, "x": 10.75, "y": 2},
+ {"label": "K2B", "matrix": [2, 11], "w": 1, "x": 11.75, "y": 2},
+ {"label": "K35", "matrix": [3, 5], "w": 10, "x": 1.375, "y": 3}
]
}
}
diff --git a/keyboards/wuque/tata80/wk/config.h b/keyboards/wuque/tata80/wk/config.h
index c4890ec9b1..e8a4274181 100644
--- a/keyboards/wuque/tata80/wk/config.h
+++ b/keyboards/wuque/tata80/wk/config.h
@@ -15,17 +15,7 @@
*/
#pragma once
-
-/* key matrix pins */
-#define MATRIX_ROW_PINS { F0, F1, F4, F5, F6, F7 }
-#define MATRIX_COL_PINS { C6, B6, B5, B4, D7, D6, D4, D5, D3, D2, D1, D0, B7, B3, B2, B1, B0 }
-
-/* COL2ROW, ROW2COL*/
-#define DIODE_DIRECTION COL2ROW
-
/* 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
-
-#define FORCE_NKRO
diff --git a/keyboards/wuque/tata80/wk/info.json b/keyboards/wuque/tata80/wk/info.json
index f1b5acf12d..ce532c9269 100644
--- a/keyboards/wuque/tata80/wk/info.json
+++ b/keyboards/wuque/tata80/wk/info.json
@@ -6,8 +6,14 @@
"usb": {
"vid": "0x2365",
"pid": "0x0168",
- "device_version": "0.0.1"
+ "device_version": "0.0.1",
+ "force_nkro": true
},
+ "matrix_pins": {
+ "cols": ["C6", "B6", "B5", "B4", "D7", "D6", "D4", "D5", "D3", "D2", "D1", "D0", "B7", "B3", "B2", "B1", "B0"],
+ "rows": ["F0", "F1", "F4", "F5", "F6", "F7"]
+ },
+ "diode_direction": "COL2ROW",
"processor": "atmega32u4",
"bootloader": "atmel-dfu",
"indicators": {
@@ -16,99 +22,108 @@
"layouts": {
"LAYOUT": {
"layout": [
- { "label": "Esc", "x": 0, "y": 0 },
- { "label": "F1", "x": 1.25, "y": 0 },
- { "label": "F2", "x": 2.25, "y": 0 },
- { "label": "F3", "x": 3.25, "y": 0 },
- { "label": "F4", "x": 4.25, "y": 0 },
- { "label": "F5", "x": 5.5, "y": 0 },
- { "label": "F6", "x": 6.5, "y": 0 },
- { "label": "F7", "x": 7.5, "y": 0 },
- { "label": "F8", "x": 8.5, "y": 0 },
- { "label": "F9", "x": 9.75, "y": 0 },
- { "label": "F10", "x": 10.75, "y": 0 },
- { "label": "F11", "x": 11.75, "y": 0 },
- { "label": "F12", "x": 12.75, "y": 0 },
- { "label": "F13", "x": 14, "y": 0 },
- { "label": "Print", "x": 15.25, "y": 0 },
- { "label": "Scroll", "x": 16.25, "y": 0 },
- { "label": "Pause", "x": 17.25, "y": 0 },
+ {"matrix": [0, 0], "x": 0, "y": 0},
- { "label": "~", "x": 0, "y": 1.25 },
- { "label": "1", "x": 1, "y": 1.25 },
- { "label": "2", "x": 2, "y": 1.25 },
- { "label": "3", "x": 3, "y": 1.25 },
- { "label": "4", "x": 4, "y": 1.25 },
- { "label": "5", "x": 5, "y": 1.25 },
- { "label": "6", "x": 6, "y": 1.25 },
- { "label": "7", "x": 7, "y": 1.25 },
- { "label": "8", "x": 8, "y": 1.25 },
- { "label": "9", "x": 9, "y": 1.25 },
- { "label": "0", "x": 10, "y": 1.25 },
- { "label": "-", "x": 11, "y": 1.25 },
- { "label": "=", "x": 12, "y": 1.25 },
- { "label": "Backspace", "x": 13, "y": 1.25, "w": 2 },
- { "label": "Insert", "x": 15.25, "y": 1.25 },
- { "label": "Home", "x": 16.25, "y": 1.25 },
- { "label": "PageUp", "x": 17.25, "y": 1.25 },
+ {"matrix": [0, 1], "x": 1.25, "y": 0},
+ {"matrix": [0, 2], "x": 2.25, "y": 0},
+ {"matrix": [0, 3], "x": 3.25, "y": 0},
+ {"matrix": [0, 4], "x": 4.25, "y": 0},
- { "label": "Tab", "x": 0, "y": 2.25, "w": 1.5 },
- { "label": "Q", "x": 1.5, "y": 2.25 },
- { "label": "W", "x": 2.5, "y": 2.25 },
- { "label": "E", "x": 3.5, "y": 2.25 },
- { "label": "R", "x": 4.5, "y": 2.25 },
- { "label": "T", "x": 5.5, "y": 2.25 },
- { "label": "Y", "x": 6.5, "y": 2.25 },
- { "label": "U", "x": 7.5, "y": 2.25 },
- { "label": "I", "x": 8.5, "y": 2.25 },
- { "label": "O", "x": 9.5, "y": 2.25 },
- { "label": "P", "x": 10.5, "y": 2.25 },
- { "label": "[", "x": 11.5, "y": 2.25 },
- { "label": "]", "x": 12.5, "y": 2.25 },
- { "label": "\\", "x": 13.5, "y": 2.25, "w": 1.5 },
- { "label": "Delete", "x": 15.25, "y": 2.25 },
- { "label": "End", "x": 16.25, "y": 2.25 },
- { "label": "PageDown", "x": 17.25, "y": 2.25 },
+ {"matrix": [0, 5], "x": 5.5, "y": 0},
+ {"matrix": [0, 6], "x": 6.5, "y": 0},
+ {"matrix": [0, 7], "x": 7.5, "y": 0},
+ {"matrix": [0, 8], "x": 8.5, "y": 0},
- { "label": "Caps Lock", "x": 0, "y": 3.25, "w": 1.75 },
- { "label": "A", "x": 1.75, "y": 3.25 },
- { "label": "S", "x": 2.75, "y": 3.25 },
- { "label": "D", "x": 3.75, "y": 3.25 },
- { "label": "F", "x": 4.75, "y": 3.25 },
- { "label": "G", "x": 5.75, "y": 3.25 },
- { "label": "H", "x": 6.75, "y": 3.25 },
- { "label": "J", "x": 7.75, "y": 3.25 },
- { "label": "K", "x": 8.75, "y": 3.25 },
- { "label": "L", "x": 9.75, "y": 3.25 },
- { "label": ";", "x": 10.75, "y": 3.25 },
- { "label": "'", "x": 11.75, "y": 3.25 },
- { "label": "Enter", "x": 12.75, "y": 3.25, "w": 2.25 },
+ {"matrix": [0, 9], "x": 9.75, "y": 0},
+ {"matrix": [0, 10], "x": 10.75, "y": 0},
+ {"matrix": [0, 11], "x": 11.75, "y": 0},
+ {"matrix": [0, 12], "x": 12.75, "y": 0},
- { "label": "Shift", "x": 0, "y": 4.25, "w": 2.25 },
- { "label": "Z", "x": 2.25, "y": 4.25 },
- { "label": "X", "x": 3.25, "y": 4.25 },
- { "label": "C", "x": 4.25, "y": 4.25 },
- { "label": "V", "x": 5.25, "y": 4.25 },
- { "label": "B", "x": 6.25, "y": 4.25 },
- { "label": "N", "x": 7.25, "y": 4.25 },
- { "label": "M", "x": 8.25, "y": 4.25 },
- { "label": ",", "x": 9.25, "y": 4.25 },
- { "label": ".", "x": 10.25, "y": 4.25 },
- { "label": "/", "x": 11.25, "y": 4.25 },
- { "label": "Shift", "x": 12.25, "y": 4.25, "w": 2.75 },
- { "label": "\u2191", "x": 16.25, "y": 4.25 },
+ {"matrix": [0, 13], "x": 14, "y": 0},
- { "label": "Ctrl", "x": 0, "y": 5.25, "w": 1.25 },
- { "label": "Win", "x": 1.25, "y": 5.25, "w": 1.25 },
- { "label": "Alt", "x": 2.5, "y": 5.25, "w": 1.25 },
- { "label": "Space", "x": 3.75, "y": 5.25, "w": 6.25 },
- { "label": "Alt", "x": 10, "y": 5.25, "w": 1.25 },
- { "label": "Fn", "x": 11.25, "y": 5.25, "w": 1.25 },
- { "label": "Win", "x": 12.5, "y": 5.25, "w": 1.25 },
- { "label": "Ctrl", "x": 13.75, "y": 5.25, "w": 1.25 },
- { "label": "\u2190", "x": 15.25, "y": 5.25 },
- { "label": "\u2193", "x": 16.25, "y": 5.25 },
- { "label": "\u2192", "x": 17.25, "y": 5.25 }
+ {"matrix": [0, 14], "x": 15.25, "y": 0},
+ {"matrix": [0, 15], "x": 16.25, "y": 0},
+ {"matrix": [0, 16], "x": 17.25, "y": 0},
+
+ {"matrix": [1, 0], "x": 0, "y": 1.25},
+ {"matrix": [1, 1], "x": 1, "y": 1.25},
+ {"matrix": [1, 2], "x": 2, "y": 1.25},
+ {"matrix": [1, 3], "x": 3, "y": 1.25},
+ {"matrix": [1, 4], "x": 4, "y": 1.25},
+ {"matrix": [1, 5], "x": 5, "y": 1.25},
+ {"matrix": [1, 6], "x": 6, "y": 1.25},
+ {"matrix": [1, 7], "x": 7, "y": 1.25},
+ {"matrix": [1, 8], "x": 8, "y": 1.25},
+ {"matrix": [1, 9], "x": 9, "y": 1.25},
+ {"matrix": [1, 10], "x": 10, "y": 1.25},
+ {"matrix": [1, 11], "x": 11, "y": 1.25},
+ {"matrix": [1, 12], "x": 12, "y": 1.25},
+ {"matrix": [1, 13], "x": 13, "y": 1.25, "w": 2},
+
+ {"matrix": [1, 14], "x": 15.25, "y": 1.25},
+ {"matrix": [1, 15], "x": 16.25, "y": 1.25},
+ {"matrix": [1, 16], "x": 17.25, "y": 1.25},
+
+ {"matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5},
+ {"matrix": [2, 1], "x": 1.5, "y": 2.25},
+ {"matrix": [2, 2], "x": 2.5, "y": 2.25},
+ {"matrix": [2, 3], "x": 3.5, "y": 2.25},
+ {"matrix": [2, 4], "x": 4.5, "y": 2.25},
+ {"matrix": [2, 5], "x": 5.5, "y": 2.25},
+ {"matrix": [2, 6], "x": 6.5, "y": 2.25},
+ {"matrix": [2, 7], "x": 7.5, "y": 2.25},
+ {"matrix": [2, 8], "x": 8.5, "y": 2.25},
+ {"matrix": [2, 9], "x": 9.5, "y": 2.25},
+ {"matrix": [2, 10], "x": 10.5, "y": 2.25},
+ {"matrix": [2, 11], "x": 11.5, "y": 2.25},
+ {"matrix": [2, 12], "x": 12.5, "y": 2.25},
+ {"matrix": [2, 13], "x": 13.5, "y": 2.25, "w": 1.5},
+
+ {"matrix": [2, 14], "x": 15.25, "y": 2.25},
+ {"matrix": [2, 15], "x": 16.25, "y": 2.25},
+ {"matrix": [2, 16], "x": 17.25, "y": 2.25},
+
+ {"matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75},
+ {"matrix": [3, 1], "x": 1.75, "y": 3.25},
+ {"matrix": [3, 2], "x": 2.75, "y": 3.25},
+ {"matrix": [3, 3], "x": 3.75, "y": 3.25},
+ {"matrix": [3, 4], "x": 4.75, "y": 3.25},
+ {"matrix": [3, 5], "x": 5.75, "y": 3.25},
+ {"matrix": [3, 6], "x": 6.75, "y": 3.25},
+ {"matrix": [3, 7], "x": 7.75, "y": 3.25},
+ {"matrix": [3, 8], "x": 8.75, "y": 3.25},
+ {"matrix": [3, 9], "x": 9.75, "y": 3.25},
+ {"matrix": [3, 10], "x": 10.75, "y": 3.25},
+ {"matrix": [3, 11], "x": 11.75, "y": 3.25},
+ {"matrix": [3, 13], "x": 12.75, "y": 3.25, "w": 2.25},
+
+ {"matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25},
+ {"matrix": [4, 2], "x": 2.25, "y": 4.25},
+ {"matrix": [4, 3], "x": 3.25, "y": 4.25},
+ {"matrix": [4, 4], "x": 4.25, "y": 4.25},
+ {"matrix": [4, 5], "x": 5.25, "y": 4.25},
+ {"matrix": [4, 6], "x": 6.25, "y": 4.25},
+ {"matrix": [4, 7], "x": 7.25, "y": 4.25},
+ {"matrix": [4, 8], "x": 8.25, "y": 4.25},
+ {"matrix": [4, 9], "x": 9.25, "y": 4.25},
+ {"matrix": [4, 10], "x": 10.25, "y": 4.25},
+ {"matrix": [4, 11], "x": 11.25, "y": 4.25},
+ {"matrix": [4, 13], "x": 12.25, "y": 4.25, "w": 2.75},
+
+ {"matrix": [4, 15], "x": 16.25, "y": 4.25},
+
+ {"matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.25},
+ {"matrix": [5, 1], "x": 1.25, "y": 5.25, "w": 1.25},
+ {"matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.25},
+ {"matrix": [5, 6], "x": 3.75, "y": 5.25, "w": 6.25},
+ {"matrix": [5, 9], "x": 10, "y": 5.25, "w": 1.25},
+ {"matrix": [5, 10], "x": 11.25, "y": 5.25, "w": 1.25},
+ {"matrix": [5, 11], "x": 12.5, "y": 5.25, "w": 1.25},
+ {"matrix": [5, 13], "x": 13.75, "y": 5.25, "w": 1.25},
+
+ {"matrix": [5, 14], "x": 15.25, "y": 5.25},
+ {"matrix": [5, 15], "x": 16.25, "y": 5.25},
+ {"matrix": [5, 16], "x": 17.25, "y": 5.25}
]
}
}
From 5037b2cfb05269a2cc656f0df6115d060d1c8ce6 Mon Sep 17 00:00:00 2001
From: honorless <86894501+lesshonor@users.noreply.github.com>
Date: Tue, 27 Jun 2023 18:02:17 -0400
Subject: [PATCH 67/69] fix: disable console for xelus/rs60
---
keyboards/xelus/rs60/keymaps/vial/rules.mk | 2 ++
1 file changed, 2 insertions(+)
diff --git a/keyboards/xelus/rs60/keymaps/vial/rules.mk b/keyboards/xelus/rs60/keymaps/vial/rules.mk
index 46f9f1360f..a1c84ce8f9 100644
--- a/keyboards/xelus/rs60/keymaps/vial/rules.mk
+++ b/keyboards/xelus/rs60/keymaps/vial/rules.mk
@@ -1,3 +1,5 @@
VIA_ENABLE = yes
VIAL_ENABLE = yes
LTO_ENABLE = yes
+
+CONSOLE_ENABLE = no
From 9c116ec5667ddfc37c4df7a000cdba5dc969834b Mon Sep 17 00:00:00 2001
From: Rachmansyah Budi Setiawan
Date: Thu, 6 Jul 2023 21:46:00 +0800
Subject: [PATCH 68/69] sync changes for vero from qmk-firmware
---
keyboards/akb/vero/info.json | 408 +++++++++++++++++---
keyboards/akb/vero/keymaps/default/keymap.c | 34 +-
keyboards/akb/vero/keymaps/via/keymap.c | 32 +-
keyboards/akb/vero/mcuconf.h | 4 +-
4 files changed, 380 insertions(+), 98 deletions(-)
diff --git a/keyboards/akb/vero/info.json b/keyboards/akb/vero/info.json
index 39f5422b53..a598578c0c 100644
--- a/keyboards/akb/vero/info.json
+++ b/keyboards/akb/vero/info.json
@@ -3,7 +3,6 @@
"keyboard_name": "Vero",
"maintainer": "arnstadm",
"bootloader": "stm32-dfu",
- "board": "GENERIC_STM32_F411XE",
"diode_direction": "COL2ROW",
"features": {
"bootmagic": true,
@@ -30,69 +29,350 @@
"layouts": {
"LAYOUT_all": {
"layout": [
- { "matrix": [0, 0], "x": 0.0, "y": 0.0 },
- { "matrix": [0, 1], "x": 1.0, "y": 0.0 },
- { "matrix": [0, 2], "x": 2.0, "y": 0.0 },
- { "matrix": [0, 3], "x": 3.0, "y": 0.0 },
- { "matrix": [0, 4], "x": 4.0, "y": 0.0 },
- { "matrix": [0, 5], "x": 5.0, "y": 0.0 },
- { "matrix": [0, 6], "x": 6.0, "y": 0.0 },
- { "matrix": [0, 7], "x": 7.0, "y": 0.0 },
- { "matrix": [0, 8], "x": 8.0, "y": 0.0 },
- { "matrix": [0, 9], "x": 9.0, "y": 0.0 },
- { "matrix": [0, 10], "x": 10.0, "y": 0.0 },
- { "matrix": [0, 11], "x": 11.0, "y": 0.0 },
- { "matrix": [0, 12], "x": 12.0, "y": 0.0 },
- { "matrix": [0, 13], "x": 13.0, "y": 0.0 },
- { "matrix": [0, 14], "x": 14.0, "y": 0.0 },
- { "matrix": [1, 0], "w": 1.5, "x": 0.0, "y": 1.0 },
- { "matrix": [1, 1], "x": 1.5, "y": 1.0 },
- { "matrix": [1, 2], "x": 2.5, "y": 1.0 },
- { "matrix": [1, 3], "x": 3.5, "y": 1.0 },
- { "matrix": [1, 4], "x": 4.5, "y": 1.0 },
- { "matrix": [1, 5], "x": 5.5, "y": 1.0 },
- { "matrix": [1, 6], "x": 6.5, "y": 1.0 },
- { "matrix": [1, 7], "x": 7.5, "y": 1.0 },
- { "matrix": [1, 8], "x": 8.5, "y": 1.0 },
- { "matrix": [1, 9], "x": 9.5, "y": 1.0 },
- { "matrix": [1, 10], "x": 10.5, "y": 1.0 },
- { "matrix": [1, 11], "x": 11.5, "y": 1.0 },
- { "matrix": [1, 12], "x": 12.5, "y": 1.0 },
- { "matrix": [1, 13], "w": 1.5, "x": 13.5, "y": 1.0 },
- { "matrix": [2, 0], "w": 1.75, "x": 0.0, "y": 2.0 },
- { "matrix": [2, 1], "x": 1.75, "y": 2.0 },
- { "matrix": [2, 2], "x": 2.75, "y": 2.0 },
- { "matrix": [2, 3], "x": 3.75, "y": 2.0 },
- { "matrix": [2, 4], "x": 4.75, "y": 2.0 },
- { "matrix": [2, 5], "x": 5.75, "y": 2.0 },
- { "matrix": [2, 6], "x": 6.75, "y": 2.0 },
- { "matrix": [2, 7], "x": 7.75, "y": 2.0 },
- { "matrix": [2, 8], "x": 8.75, "y": 2.0 },
- { "matrix": [2, 9], "x": 9.75, "y": 2.0 },
- { "matrix": [2, 10], "x": 10.75, "y": 2.0 },
- { "matrix": [2, 11], "x": 11.75, "y": 2.0 },
- { "matrix": [2, 13], "w": 2.25, "x": 12.75, "y": 2.0 },
- { "matrix": [3, 0], "w": 1.25, "x": 0.0, "y": 3.0 },
- { "matrix": [3, 1], "x": 1.25, "y": 3.0 },
- { "matrix": [3, 2], "x": 2.25, "y": 3.0 },
- { "matrix": [3, 3], "x": 3.25, "y": 3.0 },
- { "matrix": [3, 4], "x": 4.25, "y": 3.0 },
- { "matrix": [3, 5], "x": 5.25, "y": 3.0 },
- { "matrix": [3, 6], "x": 6.25, "y": 3.0 },
- { "matrix": [3, 7], "x": 7.25, "y": 3.0 },
- { "matrix": [3, 8], "x": 8.25, "y": 3.0 },
- { "matrix": [3, 9], "x": 9.25, "y": 3.0 },
- { "matrix": [3, 10], "x": 10.25, "y": 3.0 },
- { "matrix": [3, 11], "x": 11.25, "y": 3.0 },
- { "matrix": [3, 12], "w": 1.75, "x": 12.25, "y": 3.0 },
- { "matrix": [3, 13], "x": 14.0, "y": 3.0 },
- { "matrix": [4, 1], "x": 1.5, "y": 4.0 },
- { "matrix": [4, 2], "w": 1.5, "x": 2.5, "y": 4.0 },
- { "matrix": [4, 5], "w": 3.0, "x": 4.0, "y": 4.0 },
- { "matrix": [4, 7], "w": 3.0, "x": 7.0, "y": 4.0 },
- { "matrix": [4, 10], "w": 1.5, "x": 10.0, "y": 4.0 },
- { "matrix": [4, 11], "x": 11.5, "y": 4.0 }
+ {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0},
+ {"label": "1", "matrix": [0, 1], "x": 1, "y": 0},
+ {"label": "2", "matrix": [0, 2], "x": 2, "y": 0},
+ {"label": "3", "matrix": [0, 3], "x": 3, "y": 0},
+ {"label": "4", "matrix": [0, 4], "x": 4, "y": 0},
+ {"label": "5", "matrix": [0, 5], "x": 5, "y": 0},
+ {"label": "6", "matrix": [0, 6], "x": 6, "y": 0},
+ {"label": "7", "matrix": [0, 7], "x": 7, "y": 0},
+ {"label": "8", "matrix": [0, 8], "x": 8, "y": 0},
+ {"label": "9", "matrix": [0, 9], "x": 9, "y": 0},
+ {"label": "0", "matrix": [0, 10], "x": 10, "y": 0},
+ {"label": "-", "matrix": [0, 11], "x": 11, "y": 0},
+ {"label": "=", "matrix": [0, 12], "x": 12, "y": 0},
+ {"label": "\\", "matrix": [0, 13], "x": 13, "y": 0},
+ {"label": "`", "matrix": [0, 14], "x": 14, "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": "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": "#", "matrix": [2, 12], "x": 12.75, "y": 2},
+ {"label": "Enter", "matrix": [2, 13], "x": 13.75, "y": 2, "w": 1.25},
+
+ {"label": "Shift", "matrix": [3, 0], "x": 0, "y": 3, "w": 1.25},
+ {"label": "\\", "matrix": [3, 1], "x": 1.25, "y": 3},
+ {"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": "Fn", "matrix": [3, 13], "x": 14, "y": 3},
+
+ {"label": "Alt", "matrix": [4, 1], "x": 1.5, "y": 4},
+ {"label": "GUI", "matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5},
+ {"label": "Space", "matrix": [4, 5], "x": 4, "y": 4, "w": 3},
+ {"label": "Space", "matrix": [4, 7], "x": 7, "y": 4, "w": 3},
+ {"label": "GUI", "matrix": [4, 10], "x": 10, "y": 4, "w": 1.5},
+ {"label": "Alt", "matrix": [4, 11], "x": 11.5, "y": 4}
+ ]
+ },
+ "LAYOUT_60_true_hhkb": {
+ "layout": [
+ {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0},
+ {"label": "1", "matrix": [0, 1], "x": 1, "y": 0},
+ {"label": "2", "matrix": [0, 2], "x": 2, "y": 0},
+ {"label": "3", "matrix": [0, 3], "x": 3, "y": 0},
+ {"label": "4", "matrix": [0, 4], "x": 4, "y": 0},
+ {"label": "5", "matrix": [0, 5], "x": 5, "y": 0},
+ {"label": "6", "matrix": [0, 6], "x": 6, "y": 0},
+ {"label": "7", "matrix": [0, 7], "x": 7, "y": 0},
+ {"label": "8", "matrix": [0, 8], "x": 8, "y": 0},
+ {"label": "9", "matrix": [0, 9], "x": 9, "y": 0},
+ {"label": "0", "matrix": [0, 10], "x": 10, "y": 0},
+ {"label": "-", "matrix": [0, 11], "x": 11, "y": 0},
+ {"label": "=", "matrix": [0, 12], "x": 12, "y": 0},
+ {"label": "\\", "matrix": [0, 13], "x": 13, "y": 0},
+ {"label": "`", "matrix": [0, 14], "x": 14, "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": "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, 13], "x": 12.75, "y": 2, "w": 2.25},
+
+ {"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": "Fn", "matrix": [3, 13], "x": 14, "y": 3},
+
+ {"label": "Alt", "matrix": [4, 1], "x": 1.5, "y": 4},
+ {"label": "GUI", "matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5},
+ {"label": "Space", "matrix": [4, 7], "x": 4, "y": 4, "w": 6},
+ {"label": "GUI", "matrix": [4, 10], "x": 10, "y": 4, "w": 1.5},
+ {"label": "Alt", "matrix": [4, 11], "x": 11.5, "y": 4}
+ ]
+ },
+ "LAYOUT_60_true_hhkb_split_space": {
+ "layout": [
+ {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0},
+ {"label": "1", "matrix": [0, 1], "x": 1, "y": 0},
+ {"label": "2", "matrix": [0, 2], "x": 2, "y": 0},
+ {"label": "3", "matrix": [0, 3], "x": 3, "y": 0},
+ {"label": "4", "matrix": [0, 4], "x": 4, "y": 0},
+ {"label": "5", "matrix": [0, 5], "x": 5, "y": 0},
+ {"label": "6", "matrix": [0, 6], "x": 6, "y": 0},
+ {"label": "7", "matrix": [0, 7], "x": 7, "y": 0},
+ {"label": "8", "matrix": [0, 8], "x": 8, "y": 0},
+ {"label": "9", "matrix": [0, 9], "x": 9, "y": 0},
+ {"label": "0", "matrix": [0, 10], "x": 10, "y": 0},
+ {"label": "-", "matrix": [0, 11], "x": 11, "y": 0},
+ {"label": "=", "matrix": [0, 12], "x": 12, "y": 0},
+ {"label": "\\", "matrix": [0, 13], "x": 13, "y": 0},
+ {"label": "`", "matrix": [0, 14], "x": 14, "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": "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, 13], "x": 12.75, "y": 2, "w": 2.25},
+
+ {"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": "Fn", "matrix": [3, 13], "x": 14, "y": 3},
+
+ {"label": "Alt", "matrix": [4, 1], "x": 1.5, "y": 4},
+ {"label": "GUI", "matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5},
+ {"label": "Space", "matrix": [4, 5], "x": 4, "y": 4, "w": 3},
+ {"label": "Space", "matrix": [4, 7], "x": 7, "y": 4, "w": 3},
+ {"label": "GUI", "matrix": [4, 10], "x": 10, "y": 4, "w": 1.5},
+ {"label": "Alt", "matrix": [4, 11], "x": 11.5, "y": 4}
+ ]
+ },
+ "LAYOUT_60_true_hhkb_iso": {
+ "layout": [
+ {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0},
+ {"label": "1", "matrix": [0, 1], "x": 1, "y": 0},
+ {"label": "2", "matrix": [0, 2], "x": 2, "y": 0},
+ {"label": "3", "matrix": [0, 3], "x": 3, "y": 0},
+ {"label": "4", "matrix": [0, 4], "x": 4, "y": 0},
+ {"label": "5", "matrix": [0, 5], "x": 5, "y": 0},
+ {"label": "6", "matrix": [0, 6], "x": 6, "y": 0},
+ {"label": "7", "matrix": [0, 7], "x": 7, "y": 0},
+ {"label": "8", "matrix": [0, 8], "x": 8, "y": 0},
+ {"label": "9", "matrix": [0, 9], "x": 9, "y": 0},
+ {"label": "0", "matrix": [0, 10], "x": 10, "y": 0},
+ {"label": "-", "matrix": [0, 11], "x": 11, "y": 0},
+ {"label": "=", "matrix": [0, 12], "x": 12, "y": 0},
+ {"label": "\\", "matrix": [0, 13], "x": 13, "y": 0},
+ {"label": "`", "matrix": [0, 14], "x": 14, "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": "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": "#", "matrix": [2, 12], "x": 12.75, "y": 2},
+ {"label": "Enter", "matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2},
+
+ {"label": "Shift", "matrix": [3, 0], "x": 0, "y": 3, "w": 1.25},
+ {"label": "\\", "matrix": [3, 1], "x": 1.25, "y": 3},
+ {"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": "Fn", "matrix": [3, 13], "x": 14, "y": 3},
+
+ {"label": "Alt", "matrix": [4, 1], "x": 1.5, "y": 4},
+ {"label": "GUI", "matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5},
+ {"label": "Space", "matrix": [4, 7], "x": 4, "y": 4, "w": 6},
+ {"label": "GUI", "matrix": [4, 10], "x": 10, "y": 4, "w": 1.5},
+ {"label": "Alt", "matrix": [4, 11], "x": 11.5, "y": 4}
+ ]
+ },
+ "LAYOUT_60_true_hhkb_iso_split_space": {
+ "layout": [
+ {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0},
+ {"label": "1", "matrix": [0, 1], "x": 1, "y": 0},
+ {"label": "2", "matrix": [0, 2], "x": 2, "y": 0},
+ {"label": "3", "matrix": [0, 3], "x": 3, "y": 0},
+ {"label": "4", "matrix": [0, 4], "x": 4, "y": 0},
+ {"label": "5", "matrix": [0, 5], "x": 5, "y": 0},
+ {"label": "6", "matrix": [0, 6], "x": 6, "y": 0},
+ {"label": "7", "matrix": [0, 7], "x": 7, "y": 0},
+ {"label": "8", "matrix": [0, 8], "x": 8, "y": 0},
+ {"label": "9", "matrix": [0, 9], "x": 9, "y": 0},
+ {"label": "0", "matrix": [0, 10], "x": 10, "y": 0},
+ {"label": "-", "matrix": [0, 11], "x": 11, "y": 0},
+ {"label": "=", "matrix": [0, 12], "x": 12, "y": 0},
+ {"label": "\\", "matrix": [0, 13], "x": 13, "y": 0},
+ {"label": "`", "matrix": [0, 14], "x": 14, "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": "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": "#", "matrix": [2, 12], "x": 12.75, "y": 2},
+ {"label": "Enter", "matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2},
+
+ {"label": "Shift", "matrix": [3, 0], "x": 0, "y": 3, "w": 1.25},
+ {"label": "\\", "matrix": [3, 1], "x": 1.25, "y": 3},
+ {"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": "Fn", "matrix": [3, 13], "x": 14, "y": 3},
+
+ {"label": "Alt", "matrix": [4, 1], "x": 1.5, "y": 4},
+ {"label": "GUI", "matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5},
+ {"label": "Space", "matrix": [4, 5], "x": 4, "y": 4, "w": 3},
+ {"label": "Space", "matrix": [4, 7], "x": 7, "y": 4, "w": 3},
+ {"label": "GUI", "matrix": [4, 10], "x": 10, "y": 4, "w": 1.5},
+ {"label": "Alt", "matrix": [4, 11], "x": 11.5, "y": 4}
]
}
}
-}
\ No newline at end of file
+}
diff --git a/keyboards/akb/vero/keymaps/default/keymap.c b/keyboards/akb/vero/keymaps/default/keymap.c
index d73d4085a7..c05b60b80f 100644
--- a/keyboards/akb/vero/keymaps/default/keymap.c
+++ b/keyboards/akb/vero/keymaps/default/keymap.c
@@ -8,18 +8,18 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* │Esc│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ \ │ ` │
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤
* │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ Bspc│
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
- * │ Ctrl │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ Enter │
- * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬────┤
+ * │ Ctrl │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ # │Ent │
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴┬───┤
* │ Shift │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ Shift│MO1│
- * └─────┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴───┴┬───┬─┴───┘
- * │Alt│ GUI │ │ GUI │Alt│
- * └───┴─────┴───────────────────────────┴─────┴───┘
+ * └─────┬──┴┬──┴──┬┴───┴───┴──┬┴───┴───┴──┬┴───┴┬──┴┬─────┴───┘
+ * │Alt│ GUI │Space │Space │ GUI │Alt│
+ * └───┴─────┴───────────┴───────────┴─────┴───┘
*/
[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_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_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_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT,
KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1),
KC_LALT, KC_LGUI, KC_SPC, KC_SPC, KC_RGUI, KC_RALT
),
@@ -27,21 +27,21 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/*
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
* │Pwr│F1 │F2 │F3 │F4 │F5 │F6 │F7 │F8 │F9 │F10│F11│F12│Ins│Del│
- * ├───┴─┬─┴───┴───┴───┴───┴───┴───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴───┘
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤
* │Caps │ Q │ W │ E │ R │ T │ Y │ U │PSc│Scr│Pse│ ↑ │ ] │ Bspc│
- * └─────┘┌───┬───┬───┐──┴┬──┴┌───┬──┴┬──┴┬──┴┬──┴┬──┴┬────────┐
- * │ Ctrl │Vl-│Vl+│Mut│ F │ G │ * │ / │Hom│PgU│ ← │ → │ Enter │
- * ├──────└───┴───┴───┘─┬─┴─┬─└─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┘
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬────┤
+ * │ Ctrl │Vl-│Vl+│Mut│ F │ G │ * │ / │Hom│PgU│ ← │ → │ # │Ent │
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴┬───┤
* │ Shift │ Z │ X │ C │ V │ B │ + │ - │End│PgD│ ↓ │ Shift│MO1│
- * └─────┬──┴┬──┴──┬┴───┴───┴───└───┴───┴───┴───┴───┘┬───┬─┴───┘
- * │Alt│ GUI │ │ GUI │Alt│
- * └───┴─────┴───────────────────────────┴─────┴───┘
+ * └─────┬──┴┬──┴──┬┴───┴───┴──┬┴───┴───┴──┬┴───┴┬──┴┬─────┴───┘
+ * │Alt│ GUI │Space │Space │ GUI │Alt│
+ * └───┴─────┴───────────┴───────────┴─────┴───┘
*/
[1] = LAYOUT_all(
KC_PWR, 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_INS, KC_DEL,
KC_CAPS, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUS, KC_UP, _______, _______,
- _______, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, KC_PENT,
- _______, _______,_______, _______, _______, _______, _______, KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN, _______, _______,
- _______, _______, _______, _______, _______, _______
+ _______, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, _______, KC_PENT,
+ _______, _______, _______, _______, _______, _______, _______, KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN, _______, _______,
+ _______, _______, _______, _______, _______, _______
)
};
diff --git a/keyboards/akb/vero/keymaps/via/keymap.c b/keyboards/akb/vero/keymaps/via/keymap.c
index d73d4085a7..d5ae16ef9c 100644
--- a/keyboards/akb/vero/keymaps/via/keymap.c
+++ b/keyboards/akb/vero/keymaps/via/keymap.c
@@ -8,18 +8,18 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* │Esc│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ \ │ ` │
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤
* │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ Bspc│
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
- * │ Ctrl │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ Enter │
- * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬────┤
+ * │ Ctrl │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ # │Ent │
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴┬───┤
* │ Shift │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ Shift│MO1│
- * └─────┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴───┴┬───┬─┴───┘
- * │Alt│ GUI │ │ GUI │Alt│
- * └───┴─────┴───────────────────────────┴─────┴───┘
+ * └─────┬──┴┬──┴──┬┴───┴───┴──┬┴───┴───┴──┬┴───┴┬──┴┬─────┴───┘
+ * │Alt│ GUI │Space │Space │ GUI │Alt│
+ * └───┴─────┴───────────┴───────────┴─────┴───┘
*/
[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_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_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_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT,
KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1),
KC_LALT, KC_LGUI, KC_SPC, KC_SPC, KC_RGUI, KC_RALT
),
@@ -27,21 +27,21 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/*
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
* │Pwr│F1 │F2 │F3 │F4 │F5 │F6 │F7 │F8 │F9 │F10│F11│F12│Ins│Del│
- * ├───┴─┬─┴───┴───┴───┴───┴───┴───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴───┘
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤
* │Caps │ Q │ W │ E │ R │ T │ Y │ U │PSc│Scr│Pse│ ↑ │ ] │ Bspc│
- * └─────┘┌───┬───┬───┐──┴┬──┴┌───┬──┴┬──┴┬──┴┬──┴┬──┴┬────────┐
- * │ Ctrl │Vl-│Vl+│Mut│ F │ G │ * │ / │Hom│PgU│ ← │ → │ Enter │
- * ├──────└───┴───┴───┘─┬─┴─┬─└─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┘
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬────┤
+ * │ Ctrl │Vl-│Vl+│Mut│ F │ G │ * │ / │Hom│PgU│ ← │ → │ # │Ent │
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴┬───┤
* │ Shift │ Z │ X │ C │ V │ B │ + │ - │End│PgD│ ↓ │ Shift│MO1│
- * └─────┬──┴┬──┴──┬┴───┴───┴───└───┴───┴───┴───┴───┘┬───┬─┴───┘
- * │Alt│ GUI │ │ GUI │Alt│
- * └───┴─────┴───────────────────────────┴─────┴───┘
+ * └─────┬──┴┬──┴──┬┴───┴───┴──┬┴───┴───┴──┬┴───┴┬──┴┬─────┴───┘
+ * │Alt│ GUI │Space │Space │ GUI │Alt│
+ * └───┴─────┴───────────┴───────────┴─────┴───┘
*/
[1] = LAYOUT_all(
KC_PWR, 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_INS, KC_DEL,
KC_CAPS, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUS, KC_UP, _______, _______,
- _______, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, KC_PENT,
- _______, _______,_______, _______, _______, _______, _______, KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN, _______, _______,
+ _______, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, _______, KC_PENT,
+ _______, _______, _______, _______, _______, _______, _______, KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN, _______, _______,
_______, _______, _______, _______, _______, _______
)
};
diff --git a/keyboards/akb/vero/mcuconf.h b/keyboards/akb/vero/mcuconf.h
index 3439c90d52..e93fdc1d23 100644
--- a/keyboards/akb/vero/mcuconf.h
+++ b/keyboards/akb/vero/mcuconf.h
@@ -14,7 +14,9 @@
* along with this program. If not, see .
*/
-#include_next "mcuconf.h"
+#pragma once
+
+#include_next
/* Set PLL M divider from 4 (F411 GENERIC default) to 8, because of 16 MHz crystal on board */
#undef STM32_PLLM_VALUE
#define STM32_PLLM_VALUE 8
From 00ff5b30da59ba725e49e2e5912f763a5c1f1e4b Mon Sep 17 00:00:00 2001
From: Rachmansyah Budi Setiawan
Date: Thu, 6 Jul 2023 21:48:21 +0800
Subject: [PATCH 69/69] sync changes from via keymap onto vial keymap for vero
---
keyboards/akb/vero/keymaps/vial/keymap.c | 32 +--
keyboards/akb/vero/keymaps/vial/vial.json | 334 +++++++++++-----------
2 files changed, 183 insertions(+), 183 deletions(-)
diff --git a/keyboards/akb/vero/keymaps/vial/keymap.c b/keyboards/akb/vero/keymaps/vial/keymap.c
index d73d4085a7..d5ae16ef9c 100644
--- a/keyboards/akb/vero/keymaps/vial/keymap.c
+++ b/keyboards/akb/vero/keymaps/vial/keymap.c
@@ -8,18 +8,18 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* │Esc│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ \ │ ` │
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤
* │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ Bspc│
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
- * │ Ctrl │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ Enter │
- * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬────┤
+ * │ Ctrl │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ # │Ent │
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴┬───┤
* │ Shift │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ Shift│MO1│
- * └─────┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴───┴┬───┬─┴───┘
- * │Alt│ GUI │ │ GUI │Alt│
- * └───┴─────┴───────────────────────────┴─────┴───┘
+ * └─────┬──┴┬──┴──┬┴───┴───┴──┬┴───┴───┴──┬┴───┴┬──┴┬─────┴───┘
+ * │Alt│ GUI │Space │Space │ GUI │Alt│
+ * └───┴─────┴───────────┴───────────┴─────┴───┘
*/
[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_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_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_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT,
KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1),
KC_LALT, KC_LGUI, KC_SPC, KC_SPC, KC_RGUI, KC_RALT
),
@@ -27,21 +27,21 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/*
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
* │Pwr│F1 │F2 │F3 │F4 │F5 │F6 │F7 │F8 │F9 │F10│F11│F12│Ins│Del│
- * ├───┴─┬─┴───┴───┴───┴───┴───┴───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴───┘
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤
* │Caps │ Q │ W │ E │ R │ T │ Y │ U │PSc│Scr│Pse│ ↑ │ ] │ Bspc│
- * └─────┘┌───┬───┬───┐──┴┬──┴┌───┬──┴┬──┴┬──┴┬──┴┬──┴┬────────┐
- * │ Ctrl │Vl-│Vl+│Mut│ F │ G │ * │ / │Hom│PgU│ ← │ → │ Enter │
- * ├──────└───┴───┴───┘─┬─┴─┬─└─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┘
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬────┤
+ * │ Ctrl │Vl-│Vl+│Mut│ F │ G │ * │ / │Hom│PgU│ ← │ → │ # │Ent │
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴┬───┤
* │ Shift │ Z │ X │ C │ V │ B │ + │ - │End│PgD│ ↓ │ Shift│MO1│
- * └─────┬──┴┬──┴──┬┴───┴───┴───└───┴───┴───┴───┴───┘┬───┬─┴───┘
- * │Alt│ GUI │ │ GUI │Alt│
- * └───┴─────┴───────────────────────────┴─────┴───┘
+ * └─────┬──┴┬──┴──┬┴───┴───┴──┬┴───┴───┴──┬┴───┴┬──┴┬─────┴───┘
+ * │Alt│ GUI │Space │Space │ GUI │Alt│
+ * └───┴─────┴───────────┴───────────┴─────┴───┘
*/
[1] = LAYOUT_all(
KC_PWR, 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_INS, KC_DEL,
KC_CAPS, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUS, KC_UP, _______, _______,
- _______, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, KC_PENT,
- _______, _______,_______, _______, _______, _______, _______, KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN, _______, _______,
+ _______, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, _______, KC_PENT,
+ _______, _______, _______, _______, _______, _______, _______, KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN, _______, _______,
_______, _______, _______, _______, _______, _______
)
};
diff --git a/keyboards/akb/vero/keymaps/vial/vial.json b/keyboards/akb/vero/keymaps/vial/vial.json
index 3994ac8c39..5b68b30072 100644
--- a/keyboards/akb/vero/keymaps/vial/vial.json
+++ b/keyboards/akb/vero/keymaps/vial/vial.json
@@ -1,170 +1,170 @@
{
- "name": "akb/vero",
- "vendorId": "0x4150",
- "productId": "0x5645",
- "lighting": "none",
- "matrix": {
- "rows": 5,
- "cols": 15
- },
- "layouts": {
- "labels": [
- "Long Backspace",
- "ISO",
- "Long Right Shift",
- "Split Left Shift",
- "Split Spacebar"
+ "name": "akb/vero",
+ "vendorId": "0x4150",
+ "productId": "0x5645",
+ "lighting": "none",
+ "matrix": {
+ "rows": 5,
+ "cols": 15
+ },
+ "layouts": {
+ "labels": [
+ "Long Backspace",
+ "ISO",
+ "Long Right Shift",
+ "Split Left Shift",
+ "Split Spacebar"
+ ],
+ "keymap": [
+ [
+ {
+ "x": 15.5,
+ "w": 2
+ },
+ "0,13\n\n\n0,1"
],
- "keymap": [
- [
- {
- "x": 15.5,
- "w": 2
- },
- "0,13\n\n\n0,1"
- ],
- [
- {
- "y": 0.25,
- "x": 2.5
- },
- "0,0",
- "0,1",
- "0,2",
- "0,3",
- "0,4",
- "0,5",
- "0,6",
- "0,7",
- "0,8",
- "0,9",
- "0,10",
- "0,11",
- "0,12",
- "0,13\n\n\n0,0",
- "0,14\n\n\n0,0"
- ],
- [
- {
- "x": 2.5,
- "w": 1.5
- },
- "1,0",
- "1,1",
- "1,2",
- "1,3",
- "1,4",
- "1,5",
- "1,6",
- "1,7",
- "1,8",
- "1,9",
- "1,10",
- "1,11",
- "1,12",
- {
- "w": 1.5
- },
- "1,13\n\n\n1,0",
- {
- "x": 1.25,
- "w": 1.25,
- "h": 2,
- "w2": 1.5,
- "h2": 1,
- "x2": -0.25
- },
- "2,13\n\n\n1,1"
- ],
- [
- {
- "x": 2.5,
- "w": 1.75
- },
- "2,0",
- "2,1",
- "2,2",
- "2,3",
- "2,4",
- "2,5",
- "2,6",
- "2,7",
- "2,8",
- "2,9",
- "2,10",
- "2,11",
- {
- "w": 2.25
- },
- "2,13\n\n\n1,0",
- {
- "x": 0.25
- },
- "2,12\n\n\n1,1"
- ],
- [
- {
- "w": 1.25
- },
- "3,0\n\n\n3,1",
- "3,1\n\n\n3,1",
- {
- "x": 0.25,
- "w": 2.25
- },
- "3,0\n\n\n3,0",
- "3,2",
- "3,3",
- "3,4",
- "3,5",
- "3,6",
- "3,7",
- "3,8",
- "3,9",
- "3,10",
- "3,11",
- {
- "w": 1.75
- },
- "3,12\n\n\n2,0",
- "3,13\n\n\n2,0",
- {
- "x": 0.25,
- "w": 2.75
- },
- "3,12\n\n\n2,1"
- ],
- [
- {
- "x": 4
- },
- "4,1",
- {
- "w": 1.5
- },
- "4,2",
- {
- "w": 6
- },
- "4,7\n\n\n4,0",
- {
- "w": 1.5
- },
- "4,10",
- "4,11"
- ],
- [
- {
- "y": 0.25,
- "x": 6.5,
- "w": 3
- },
- "4,5\n\n\n4,1",
- {
- "w": 3
- },
- "4,7\n\n\n4,1"
- ]
+ [
+ {
+ "y": 0.25,
+ "x": 2.5
+ },
+ "0,0",
+ "0,1",
+ "0,2",
+ "0,3",
+ "0,4",
+ "0,5",
+ "0,6",
+ "0,7",
+ "0,8",
+ "0,9",
+ "0,10",
+ "0,11",
+ "0,12",
+ "0,13\n\n\n0,0",
+ "0,14\n\n\n0,0"
+ ],
+ [
+ {
+ "x": 2.5,
+ "w": 1.5
+ },
+ "1,0",
+ "1,1",
+ "1,2",
+ "1,3",
+ "1,4",
+ "1,5",
+ "1,6",
+ "1,7",
+ "1,8",
+ "1,9",
+ "1,10",
+ "1,11",
+ "1,12",
+ {
+ "w": 1.5
+ },
+ "1,13\n\n\n1,0",
+ {
+ "x": 1.25,
+ "w": 1.25,
+ "h": 2,
+ "w2": 1.5,
+ "h2": 1,
+ "x2": -0.25
+ },
+ "2,13\n\n\n1,1"
+ ],
+ [
+ {
+ "x": 2.5,
+ "w": 1.75
+ },
+ "2,0",
+ "2,1",
+ "2,2",
+ "2,3",
+ "2,4",
+ "2,5",
+ "2,6",
+ "2,7",
+ "2,8",
+ "2,9",
+ "2,10",
+ "2,11",
+ {
+ "w": 2.25
+ },
+ "2,13\n\n\n1,0",
+ {
+ "x": 0.25
+ },
+ "2,12\n\n\n1,1"
+ ],
+ [
+ {
+ "w": 1.25
+ },
+ "3,0\n\n\n3,1",
+ "3,1\n\n\n3,1",
+ {
+ "x": 0.25,
+ "w": 2.25
+ },
+ "3,0\n\n\n3,0",
+ "3,2",
+ "3,3",
+ "3,4",
+ "3,5",
+ "3,6",
+ "3,7",
+ "3,8",
+ "3,9",
+ "3,10",
+ "3,11",
+ {
+ "w": 1.75
+ },
+ "3,12\n\n\n2,0",
+ "3,13\n\n\n2,0",
+ {
+ "x": 0.25,
+ "w": 2.75
+ },
+ "3,12\n\n\n2,1"
+ ],
+ [
+ {
+ "x": 4
+ },
+ "4,1",
+ {
+ "w": 1.5
+ },
+ "4,2",
+ {
+ "w": 6
+ },
+ "4,7\n\n\n4,0",
+ {
+ "w": 1.5
+ },
+ "4,10",
+ "4,11"
+ ],
+ [
+ {
+ "y": 0.25,
+ "x": 6.5,
+ "w": 3
+ },
+ "4,5\n\n\n4,1",
+ {
+ "w": 3
+ },
+ "4,7\n\n\n4,1"
]
- }
- }
\ No newline at end of file
+ ]
+ }
+}