summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--CODE_OF_CONDUCT.md24
-rw-r--r--keyboards/boardsource/technik_s/technik_s.c18
-rw-r--r--keyboards/kb_elmo/qez/config.h44
-rw-r--r--keyboards/kb_elmo/qez/info.json128
-rw-r--r--keyboards/kb_elmo/qez/keymaps/default/keymap.c37
-rw-r--r--keyboards/kb_elmo/qez/keymaps/via/keymap.c43
-rw-r--r--keyboards/kb_elmo/qez/keymaps/via/rules.mk2
-rw-r--r--keyboards/kb_elmo/qez/qez.c17
-rw-r--r--keyboards/kb_elmo/qez/qez.h57
-rw-r--r--keyboards/kb_elmo/qez/readme.md24
-rw-r--r--keyboards/kb_elmo/qez/rules.mk22
-rw-r--r--keyboards/keychron/q1/config.h22
-rw-r--r--keyboards/keychron/q1/q1.c127
-rw-r--r--keyboards/keychron/q1/q1.h7
-rw-r--r--keyboards/keychron/q1/rev_0100/config.h7
-rw-r--r--keyboards/keychron/q1/rev_0100/info.json2
-rw-r--r--keyboards/keychron/q1/rev_0100/keymaps/default/keymap.c6
-rw-r--r--keyboards/keychron/q1/rev_0100/keymaps/via/keymap.c4
-rw-r--r--keyboards/keychron/q1/rev_0100/keymaps/via/rules.mk2
-rw-r--r--keyboards/keychron/q1/rev_0100/readme.md22
-rw-r--r--keyboards/keychron/q1/rev_0100/rev_0100.c143
-rw-r--r--keyboards/keychron/q1/rev_0100/rules.mk8
-rw-r--r--keyboards/keychron/q1/rev_0102/config.h31
-rw-r--r--keyboards/keychron/q1/rev_0102/info.json101
-rw-r--r--keyboards/keychron/q1/rev_0102/keymaps/default/keymap.c64
-rw-r--r--keyboards/keychron/q1/rev_0102/keymaps/via/keymap.c64
-rw-r--r--keyboards/keychron/q1/rev_0102/keymaps/via/rules.mk2
-rw-r--r--keyboards/keychron/q1/rev_0102/readme.md1
-rw-r--r--keyboards/keychron/q1/rev_0102/rev_0102.c143
-rw-r--r--keyboards/keychron/q1/rev_0102/rev_0102.h37
-rw-r--r--keyboards/keychron/q1/rev_0102/rules.mk25
-rw-r--r--keyboards/keyprez/bison/info.json64
-rw-r--r--keyboards/keyprez/rhino/info.json106
-rw-r--r--keyboards/ocean/gin_v2/info.json74
-rw-r--r--keyboards/wuque/serneity65/config.h50
-rw-r--r--keyboards/wuque/serneity65/info.json389
-rw-r--r--keyboards/wuque/serneity65/keymaps/65_ansi/keymap.c34
-rw-r--r--keyboards/wuque/serneity65/keymaps/65_ansi/readme.md1
-rw-r--r--keyboards/wuque/serneity65/keymaps/65_split_bs/keymap.c35
-rw-r--r--keyboards/wuque/serneity65/keymaps/65_split_bs/readme.md1
-rw-r--r--keyboards/wuque/serneity65/keymaps/65_split_lshift/keymap.c34
-rw-r--r--keyboards/wuque/serneity65/keymaps/65_split_lshift/readme.md1
-rw-r--r--keyboards/wuque/serneity65/keymaps/65_split_space/keymap.c34
-rw-r--r--keyboards/wuque/serneity65/keymaps/65_split_space/readme.md1
-rw-r--r--keyboards/wuque/serneity65/keymaps/default/keymap.c34
-rw-r--r--keyboards/wuque/serneity65/keymaps/default/readme.md1
-rw-r--r--keyboards/wuque/serneity65/keymaps/via/keymap.c48
-rw-r--r--keyboards/wuque/serneity65/keymaps/via/readme.md1
-rw-r--r--keyboards/wuque/serneity65/keymaps/via/rules.mk2
-rw-r--r--keyboards/wuque/serneity65/readme.md24
-rw-r--r--keyboards/wuque/serneity65/rules.mk25
-rw-r--r--keyboards/wuque/serneity65/serneity65.c71
-rw-r--r--keyboards/wuque/serneity65/serneity65.h159
-rw-r--r--secrets.tar.encbin10256 -> 0 bytes
54 files changed, 2135 insertions, 288 deletions
diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md
deleted file mode 100644
index c9e3e0586a..0000000000
--- a/CODE_OF_CONDUCT.md
+++ /dev/null
@@ -1,24 +0,0 @@
-# Code Of Conduct
-
-QMK strives to be an inclusive, tolerant, and welcoming community. We encourage participation from anyone regardless of age, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, political belief, race, religion, or sexual identity and orientation.
-
-> “A gentle word turns away wrath, but a harsh word stirs up anger."
-
-Our users, contributors, and collaborators are expected to treat each other with kindness and respect, to assume good intentions, and to gently correct, where possible, rather than react with escalation. While our goal is to be as accurate as possible, kindness and understanding are more valuable than correctness. Some examples of behavior we will not tolerate include, but is not limited to:
-
-* The use of sexualized language or imagery
-* Unwelcome advances, sexual or otherwise
-* Deliberate intimidation, stalking, or following
-* Insults or derogatory comments, or personal or political attacks
-* Publishing others’ private information without explicit permission
-* Sustained disruption of talks or other events
-* Other conduct which could reasonably be considered inappropriate in a professional setting
-* Advocating for, or encouraging, any of the above behaviour
-
-# Reporting
-
-If someone is violating this Code of Conduct, please email hello@qmk.fm or reach out to one of the Collaborators to bring it to our attention. All complaints will be reviewed and investigated.
-
-QMK will seek to use the least punitive means available to resolve an issue. If the circumstances require asking an offender to leave, we will do that.
-
-Reports will be taken and kept in strict confidence. You will not be required to confront an offender directly.
diff --git a/keyboards/boardsource/technik_s/technik_s.c b/keyboards/boardsource/technik_s/technik_s.c
index 63c77928ae..a1fe68d1a3 100644
--- a/keyboards/boardsource/technik_s/technik_s.c
+++ b/keyboards/boardsource/technik_s/technik_s.c
@@ -17,22 +17,22 @@
#include "technik_s.h"
#ifdef RGB_MATRIX_ENABLE
led_config_t g_led_config = { {
- {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}
+ {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}
}, {
- {11, 0}, {10, 0}, {9, 0}, {8, 0}, {7, 0}, {6, 0}, {5, 0}, {4, 0}, {3, 0}, {2, 0}, {1, 0}, {0, 0},
- {10.5, 1}, {9.5, 1}, {8.5, 1}, {7.5, 1}, {6.5, 1}, {5.5, 1}, {4.5, 1}, {3.5, 1}, {2.5, 1}, {1.5, 1}, {0.5, 1},
- {11, 2}, {10, 2}, {9, 2}, {8, 2}, {7, 2}, {6, 2}, {5, 2}, {4, 2}, {3, 2}, {2, 2}, {1, 2}, {0, 2},
- {11, 3}, {10, 3}, {9, 3}, {8, 3}, {6.5, 3}, {5, 3}, {3.5, 3}, {2, 3}, {1, 3}, {0, 3},
+ {220, 17}, {172, 17}, {112, 17}, { 50, 17}, { 4, 17}, { 4, 56}, { 50, 56}, {112, 56}, {172, 56}, {220, 56},
+ { 0, 0}, { 20, 0}, { 40, 0}, { 61, 0}, { 81, 0}, {101, 0}, {122, 0}, {142, 0}, {162, 0}, {183, 0}, {203, 0}, {224, 0},
+ { 10, 21}, { 30, 21}, { 51, 21}, { 71, 21}, { 91, 21}, {112, 21}, {132, 21}, {152, 21}, {173, 21}, {193, 21}, {214, 21},
+ { 0, 42}, { 20, 42}, { 40, 42}, { 61, 42}, { 81, 42}, {101, 42}, {122, 42}, {142, 42}, {162, 42}, {183, 42}, {203, 42}, {224, 42},
+ { 0, 64}, { 20, 64}, { 40, 64}, { 68, 64}, { 97, 64}, {126, 64}, {154, 64}, {183, 64}, {203, 64}, {224, 64}
}, {
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
1, 1, 1, 1, 4, 4, 1, 1, 1, 1
-
} };
#endif
diff --git a/keyboards/kb_elmo/qez/config.h b/keyboards/kb_elmo/qez/config.h
new file mode 100644
index 0000000000..055ebe2a4b
--- /dev/null
+++ b/keyboards/kb_elmo/qez/config.h
@@ -0,0 +1,44 @@
+/*
+Copyright 2021 kb-elmo<mail@elmo.space>
+
+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 <http://www.gnu.org/licenses/>.
+*/
+
+#pragma once
+
+#include "config_common.h"
+
+/* USB Device descriptor parameter */
+#define VENDOR_ID 0xA68C
+#define PRODUCT_ID 0x675F
+#define DEVICE_VER 0x0001
+#define MANUFACTURER kb_elmo
+#define PRODUCT QEZ
+
+/* key matrix size */
+#define MATRIX_ROWS 4
+#define MATRIX_COLS 10
+
+/* Keyboard Matrix Assignments */
+#define MATRIX_ROW_PINS { C6, C4, B1, B0 }
+#define MATRIX_COL_PINS { C7, B7, B6, B5, B4, B3, D6, D5, D4, D3 }
+
+/* COL2ROW, ROW2COL */
+#define DIODE_DIRECTION COL2ROW
+
+/* Debounce reduces chatter */
+#define DEBOUNCE 5
+
+/* Indicator LEDs */
+#define LED_CAPS_LOCK_PIN C5
diff --git a/keyboards/kb_elmo/qez/info.json b/keyboards/kb_elmo/qez/info.json
new file mode 100644
index 0000000000..82b8d20444
--- /dev/null
+++ b/keyboards/kb_elmo/qez/info.json
@@ -0,0 +1,128 @@
+{
+ "keyboard_name": "qez",
+ "url": "",
+ "maintainer": "kb-elmo<mail@elmo.space>",
+ "width": 10.25,
+ "height": 4,
+ "layouts": {
+ "LAYOUT_split_space": {
+ "layout": [
+ {"x":0, "y":0},
+ {"x":1, "y":0},
+ {"x":2, "y":0},
+ {"x":3, "y":0},
+ {"x":4, "y":0},
+ {"x":5, "y":0},
+ {"x":6, "y":0},
+ {"x":7, "y":0},
+ {"x":8, "y":0},
+ {"x":9, "y":0, "w":1.25},
+ {"x":0, "y":1, "w":1.25},
+ {"x":1.25, "y":1},
+ {"x":2.25, "y":1},
+ {"x":3.25, "y":1},
+ {"x":4.25, "y":1},
+ {"x":5.25, "y":1},
+ {"x":6.25, "y":1},
+ {"x":7.25, "y":1},
+ {"x":8.25, "y":1},
+ {"x":9.25, "y":1},
+ {"x":0, "y":2, "w":1.75},
+ {"x":1.75, "y":2},
+ {"x":2.75, "y":2},
+ {"x":3.75, "y":2},
+ {"x":4.75, "y":2},
+ {"x":5.75, "y":2},
+ {"x":6.75, "y":2},
+ {"x":7.75, "y":2},
+ {"x":8.75, "y":2, "w":1.5},
+ {"x":0, "y":3},
+ {"x":1, "y":3},
+ {"x":2, "y":3},
+ {"x":3, "y":3, "w":2.25},
+ {"x":5.25, "y":3, "w":2},
+ {"x":7.25, "y":3},
+ {"x":8.25, "y":3},
+ {"x":9.25, "y":3}
+ ]
+ },
+ "LAYOUT_triple_space": {
+ "layout": [
+ {"x":0, "y":0},
+ {"x":1, "y":0},
+ {"x":2, "y":0},
+ {"x":3, "y":0},
+ {"x":4, "y":0},
+ {"x":5, "y":0},
+ {"x":6, "y":0},
+ {"x":7, "y":0},
+ {"x":8, "y":0},
+ {"x":9, "y":0, "w":1.25},
+ {"x":0, "y":1, "w":1.25},
+ {"x":1.25, "y":1},
+ {"x":2.25, "y":1},
+ {"x":3.25, "y":1},
+ {"x":4.25, "y":1},
+ {"x":5.25, "y":1},
+ {"x":6.25, "y":1},
+ {"x":7.25, "y":1},
+ {"x":8.25, "y":1},
+ {"x":9.25, "y":1},
+ {"x":0, "y":2, "w":1.75},
+ {"x":1.75, "y":2},
+ {"x":2.75, "y":2},
+ {"x":3.75, "y":2},
+ {"x":4.75, "y":2},
+ {"x":5.75, "y":2},
+ {"x":6.75, "y":2},
+ {"x":7.75, "y":2},
+ {"x":8.75, "y":2, "w":1.5},
+ {"x":0, "y":3},
+ {"x":1, "y":3},
+ {"x":2, "y":3, "w":2.5},
+ {"x":4.5, "y":3, "w":1.5},
+ {"x":6, "y":3, "w":2.25},
+ {"x":8.25, "y":3},
+ {"x":9.25, "y":3}
+ ]
+ },
+ "LAYOUT_full_space": {
+ "layout": [
+ {"x":0, "y":0},
+ {"x":1, "y":0},
+ {"x":2, "y":0},
+ {"x":3, "y":0},
+ {"x":4, "y":0},
+ {"x":5, "y":0},
+ {"x":6, "y":0},
+ {"x":7, "y":0},
+ {"x":8, "y":0},
+ {"x":9, "y":0, "w":1.25},
+ {"x":0, "y":1, "w":1.25},
+ {"x":1.25, "y":1},
+ {"x":2.25, "y":1},
+ {"x":3.25, "y":1},
+ {"x":4.25, "y":1},
+ {"x":5.25, "y":1},
+ {"x":6.25, "y":1},
+ {"x":7.25, "y":1},
+ {"x":8.25, "y":1},
+ {"x":9.25, "y":1},
+ {"x":0, "y":2, "w":1.75},
+ {"x":1.75, "y":2},
+ {"x":2.75, "y":2},
+ {"x":3.75, "y":2},
+ {"x":4.75, "y":2},
+ {"x":5.75, "y":2},
+ {"x":6.75, "y":2},
+ {"x":7.75, "y":2},
+ {"x":8.75, "y":2, "w":1.5},
+ {"x":0, "y":3},
+ {"x":1, "y":3},
+ {"x":2, "y":3, "w":6.25},
+ {"x":8.25, "y":3},
+ {"x":9.25, "y":3}
+ ]
+ }
+ }
+}
diff --git a/keyboards/kb_elmo/qez/keymaps/default/keymap.c b/keyboards/kb_elmo/qez/keymaps/default/keymap.c
new file mode 100644
index 0000000000..d3198af01b
--- /dev/null
+++ b/keyboards/kb_elmo/qez/keymaps/default/keymap.c
@@ -0,0 +1,37 @@
+/* Copyright 2021 kb-elmo<mail@elmo.space>
+ *
+ * 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 <http://www.gnu.org/licenses/>.
+ */
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [0] = LAYOUT_split_space(
+ 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,
+ LT(1,KC_Z), KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, LT(2,KC_DOT),
+ KC_LCTL, KC_LGUI, KC_LALT, LSFT_T(KC_SPC), KC_BSPC, KC_RALT, MO(1), MO(2)
+ ),
+ [1] = LAYOUT_split_space(
+ KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0,
+ KC_TAB, KC_ESC, KC_MINS, KC_EQL, KC_TRNS, KC_SCLN, KC_QUOT, KC_LBRC, KC_RBRC, KC_BSLS,
+ KC_CAPS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_SLSH,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL, KC_TRNS, KC_TRNS, KC_TRNS
+ ),
+ [2] = LAYOUT_split_space(
+ KC_HOME, KC_UP, KC_END, KC_PGUP, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6,
+ KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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/kb_elmo/qez/keymaps/via/keymap.c b/keyboards/kb_elmo/qez/keymaps/via/keymap.c
new file mode 100644
index 0000000000..0866c99508
--- /dev/null
+++ b/keyboards/kb_elmo/qez/keymaps/via/keymap.c
@@ -0,0 +1,43 @@
+/* Copyright 2021 kb-elmo<mail@elmo.space>
+ *
+ * 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 <http://www.gnu.org/licenses/>.
+ */
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [0] = LAYOUT_split_space(
+ 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,
+ LT(1,KC_Z), KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, LT(2,KC_DOT),
+ KC_LCTL, KC_LGUI, KC_LALT, LSFT_T(KC_SPC), KC_BSPC, KC_RALT, MO(1), MO(2)
+ ),
+ [1] = LAYOUT_split_space(
+ KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0,
+ KC_TAB, KC_ESC, KC_MINS, KC_EQL, KC_TRNS, KC_TRNS, KC_TRNS, KC_LBRC, KC_RBRC, KC_BSLS,
+ KC_CAPS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_SLSH,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL, KC_TRNS, KC_TRNS, KC_TRNS
+ ),
+ [2] = LAYOUT_split_space(
+ KC_HOME, KC_UP, KC_END, KC_PGUP, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6,
+ KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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_split_space(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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/kb_elmo/qez/keymaps/via/rules.mk b/keyboards/kb_elmo/qez/keymaps/via/rules.mk
new file mode 100644
index 0000000000..36b7ba9cbc
--- /dev/null
+++ b/keyboards/kb_elmo/qez/keymaps/via/rules.mk
@@ -0,0 +1,2 @@
+VIA_ENABLE = yes
+LTO_ENABLE = yes
diff --git a/keyboards/kb_elmo/qez/qez.c b/keyboards/kb_elmo/qez/qez.c
new file mode 100644
index 0000000000..68808fad8e
--- /dev/null
+++ b/keyboards/kb_elmo/qez/qez.c
@@ -0,0 +1,17 @@
+/* Copyright 2021 kb-elmo<mail@elmo.space>
+ *
+ * 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 <http://www.gnu.org/licenses/>.
+ */
+
+#include "qez.h"
diff --git a/keyboards/kb_elmo/qez/qez.h b/keyboards/kb_elmo/qez/qez.h
new file mode 100644
index 0000000000..1bf9cde248
--- /dev/null
+++ b/keyboards/kb_elmo/qez/qez.h
@@ -0,0 +1,57 @@
+/* Copyright 2021 kb-elmo<mail@elmo.space>
+ *
+ * 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 <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#include "quantum.h"
+
+#define ___ KC_NO
+
+#define LAYOUT_split_space( \
+ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, \
+ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, \
+ k20, k22, k23, k24, k25, k26, k27, k28, k29, \
+ k21, k31, k32, k33, k36, k37, k38, k39 \
+) { \
+ { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09 }, \
+ { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19 }, \
+ { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29 }, \
+ { ___, k31, k32, k33, ___, ___, k36, k37, k38, k39 } \
+}
+
+#define LAYOUT_triple_space( \
+ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, \
+ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, \
+ k20, k22, k23, k24, k25, k26, k27, k28, k29, \
+ k21, k31, k33, k35, k36, k38, k39 \
+) { \
+ { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09 }, \
+ { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19 }, \
+ { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29 }, \
+ { ___, k31, ___, k33, ___, k35, k36, ___, k38, k39 } \
+}
+
+#define LAYOUT_full_space( \
+ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, \
+ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, \
+ k20, k22, k23, k24, k25, k26, k27, k28, k29, \
+ k21, k31, k35, k38, k39 \
+) { \
+ { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09 }, \
+ { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19 }, \
+ { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29 }, \
+ { ___, k31, k32, ___, ___, k35, ___, k37, k38, k39 } \
+}
diff --git a/keyboards/kb_elmo/qez/readme.md b/keyboards/kb_elmo/qez/readme.md
new file mode 100644
index 0000000000..5deb4044a1
--- /dev/null
+++ b/keyboards/kb_elmo/qez/readme.md
@@ -0,0 +1,24 @@
+# QEZ
+
+![qez](https://i.imgur.com/x00N9f3l.jpg)
+
+A seamless gasketmounted QAZ-like 40% keyboard
+
+* Keyboard Maintainer: [kb-elmo](https://github.com/kb-elmo)
+* Hardware Supported: QEZ rev.1 PCB
+* Hardware Availability: [Open source project](https://github.com/kb-elmo/QEZ)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make kb_elmo/qez:default
+
+Flashing example for this keyboard:
+
+ make kb_elmo/qez: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
+
+* **Bootmagic reset**: Hold down the top left key and plug in the keyboard
+* **Physical reset button**: Briefly press the button labeled "RESET" on the back of the PCB \ No newline at end of file
diff --git a/keyboards/kb_elmo/qez/rules.mk b/keyboards/kb_elmo/qez/rules.mk
new file mode 100644
index 0000000000..b48dcad7d2
--- /dev/null
+++ b/keyboards/kb_elmo/qez/rules.mk
@@ -0,0 +1,22 @@
+# MCU name
+MCU = atmega32u2
+
+# Bootloader selection
+BOOTLOADER = atmel-dfu
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
+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
+# 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 = no # Enable keyboard RGB underglow
+BLUETOOTH_ENABLE = no # Enable Bluetooth
+AUDIO_ENABLE = no # Audio output
diff --git a/keyboards/keychron/q1/config.h b/keyboards/keychron/q1/config.h
index fb6a70c869..2a8665c1b4 100644
--- a/keyboards/keychron/q1/config.h
+++ b/keyboards/keychron/q1/config.h
@@ -32,15 +32,11 @@
/* Set 0 if debouncing isn't needed */
#define DEBOUNCE 5
-/* RGB LED Matrix Configuration */
+/* RGB Matrix Driver Configuration */
#define DRIVER_COUNT 2
#define DRIVER_ADDR_1 0b1010000
#define DRIVER_ADDR_2 0b1011111
-#define DRIVER_1_LED_TOTAL 59
-#define DRIVER_2_LED_TOTAL 23
-#define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
-
/* DIP switch */
#define DIP_SWITCH_MATRIX_GRID { {0,1} }
@@ -49,3 +45,19 @@
/* NKRO */
#define FORCE_NKRO
+
+/* Disable a single effect */
+#define DISABLE_RGB_MATRIX_ALPHAS_MODS
+#define DISABLE_RGB_MATRIX_GRADIENT_UP_DOWN
+#define DISABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
+#define DISABLE_RGB_MATRIX_BAND_SAT
+#define DISABLE_RGB_MATRIX_BAND_VAL
+#define DISABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
+#define DISABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
+#define DISABLE_RGB_MATRIX_BAND_SPIRAL_SAT
+#define DISABLE_RGB_MATRIX_BAND_SPIRAL_VAL
+#define DISABLE_RGB_MATRIX_RAINBOW_PINWHEELS
+#define DISABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
+#define DISABLE_RGB_MATRIX_HUE_BREATHING
+#define DISABLE_RGB_MATRIX_HUE_PENDULUM
+#define DISABLE_RGB_MATRIX_HUE_WAVE \ No newline at end of file
diff --git a/keyboards/keychron/q1/q1.c b/keyboards/keychron/q1/q1.c
index 6beb96e7eb..a316c1fdcf 100644
--- a/keyboards/keychron/q1/q1.c
+++ b/keyboards/keychron/q1/q1.c
@@ -16,6 +16,7 @@
#include "q1.h"
+
const matrix_row_t matrix_mask[] = {
0b0111111111111101,
0b0111111111111111,
@@ -32,129 +33,3 @@ bool dip_switch_update_kb(uint8_t index, bool active) {
}
return true;
}
-
-const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = {
-/* Refer to IS31 manual for these locations
- * driver
- * | R location
- * | | G location
- * | | | B location
- * | | | | */
-
- {0, A_1, C_1, B_1},
- {0, A_3, C_3, B_3},
- {0, A_4, C_4, B_4},
- {0, A_5, C_5, B_5},
- {0, A_6, C_6, B_6},
- {0, A_7, C_7, B_7},
- {0, A_8, C_8, B_8},
- {0, A_9, C_9, B_9},
- {0, A_10, C_10, B_10},
- {0, A_11, C_11, B_11},
- {0, A_12, C_12, B_12},
- {0, A_13, C_13, B_13},
- {0, A_14, C_14, B_14},
- {0, A_15, C_15, B_15},
- {0, A_16, C_16, B_16},
-
- {0, D_1, F_1, E_1},
- {0, D_2, F_2, E_2},
- {0, D_3, F_3, E_3},
- {0, D_4, F_4, E_4},
- {0, D_5, F_5, E_5},
- {0, D_6, F_6, E_6},
- {0, D_7, F_7, E_7},
- {0, D_8, F_8, E_8},
- {0, D_9, F_9