aboutsummaryrefslogtreecommitdiff
path: root/keyboards/keychron
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/keychron')
-rw-r--r--keyboards/keychron/c1_pro/ansi/rgb/keyboard.json (renamed from keyboards/keychron/c1_pro/ansi/rgb/info.json)0
-rw-r--r--keyboards/keychron/c1_pro/ansi/rgb/rules.mk1
-rw-r--r--keyboards/keychron/c1_pro/ansi/white/keyboard.json (renamed from keyboards/keychron/c1_pro/ansi/white/info.json)0
-rw-r--r--keyboards/keychron/c1_pro/ansi/white/keymaps/default/keymap.c16
-rw-r--r--keyboards/keychron/c1_pro/ansi/white/keymaps/keychron/keymap.c16
-rw-r--r--keyboards/keychron/c1_pro/ansi/white/keymaps/via/keymap.c16
-rw-r--r--keyboards/keychron/c1_pro/ansi/white/rules.mk1
-rw-r--r--keyboards/keychron/c1_pro/ansi/white/white.c2
-rw-r--r--keyboards/keychron/c2_pro/ansi/rgb/keyboard.json (renamed from keyboards/keychron/c2_pro/ansi/rgb/info.json)0
-rw-r--r--keyboards/keychron/c2_pro/ansi/rgb/rules.mk2
-rw-r--r--keyboards/keychron/c2_pro/ansi/white/keyboard.json (renamed from keyboards/keychron/c2_pro/ansi/white/info.json)0
-rw-r--r--keyboards/keychron/c2_pro/ansi/white/keymaps/default/keymap.c16
-rw-r--r--keyboards/keychron/c2_pro/ansi/white/keymaps/keychron/keymap.c16
-rw-r--r--keyboards/keychron/c2_pro/ansi/white/keymaps/via/keymap.c16
-rw-r--r--keyboards/keychron/c2_pro/ansi/white/rules.mk2
-rw-r--r--keyboards/keychron/c2_pro/matrix.c34
-rw-r--r--keyboards/keychron/q0/base/keyboard.json (renamed from keyboards/keychron/q0/base/info.json)0
-rw-r--r--keyboards/keychron/q0/base/rules.mk1
-rw-r--r--keyboards/keychron/q0/plus/keyboard.json (renamed from keyboards/keychron/q0/plus/info.json)0
-rw-r--r--keyboards/keychron/q0/plus/rules.mk1
-rw-r--r--keyboards/keychron/q10/ansi_encoder/keyboard.json (renamed from keyboards/keychron/q10/ansi_encoder/info.json)9
-rw-r--r--keyboards/keychron/q10/ansi_encoder/rules.mk16
-rw-r--r--keyboards/keychron/q10/iso_encoder/keyboard.json (renamed from keyboards/keychron/q10/iso_encoder/info.json)9
-rw-r--r--keyboards/keychron/q10/iso_encoder/rules.mk16
-rw-r--r--keyboards/keychron/q10/matrix.c15
-rwxr-xr-xkeyboards/keychron/q11/ansi_encoder/keyboard.json (renamed from keyboards/keychron/q11/ansi_encoder/info.json)0
-rwxr-xr-xkeyboards/keychron/q11/iso_encoder/keyboard.json (renamed from keyboards/keychron/q11/iso_encoder/info.json)0
-rwxr-xr-xkeyboards/keychron/q11/iso_encoder/rules.mk3
-rwxr-xr-xkeyboards/keychron/q11/q11.c8
-rw-r--r--keyboards/keychron/q12/ansi_encoder/keyboard.json (renamed from keyboards/keychron/q12/ansi_encoder/info.json)9
-rw-r--r--keyboards/keychron/q12/ansi_encoder/rules.mk16
-rw-r--r--keyboards/keychron/q12/iso_encoder/keyboard.json (renamed from keyboards/keychron/q12/iso_encoder/info.json)9
-rw-r--r--keyboards/keychron/q12/iso_encoder/rules.mk17
-rw-r--r--keyboards/keychron/q12/matrix.c15
-rw-r--r--keyboards/keychron/q1v1/ansi/keyboard.json (renamed from keyboards/keychron/q1v1/ansi/info.json)0
-rw-r--r--keyboards/keychron/q1v1/ansi/rules.mk1
-rw-r--r--keyboards/keychron/q1v1/ansi_encoder/keyboard.json (renamed from keyboards/keychron/q1v1/ansi_encoder/info.json)0
-rw-r--r--keyboards/keychron/q1v1/ansi_encoder/rules.mk1
-rw-r--r--keyboards/keychron/q1v1/iso/iso.c26
-rw-r--r--keyboards/keychron/q1v1/iso/keyboard.json (renamed from keyboards/keychron/q1v1/iso/info.json)0
-rw-r--r--keyboards/keychron/q1v1/iso/rules.mk1
-rw-r--r--keyboards/keychron/q1v1/iso_encoder/keyboard.json (renamed from keyboards/keychron/q1v1/iso_encoder/info.json)0
-rw-r--r--keyboards/keychron/q1v1/iso_encoder/rules.mk2
-rw-r--r--keyboards/keychron/q1v2/ansi/keyboard.json (renamed from keyboards/keychron/q1v2/ansi/info.json)0
-rw-r--r--keyboards/keychron/q1v2/ansi_encoder/keyboard.json (renamed from keyboards/keychron/q1v2/ansi_encoder/info.json)0
-rw-r--r--keyboards/keychron/q1v2/iso/keyboard.json (renamed from keyboards/keychron/q1v2/iso/info.json)0
-rw-r--r--keyboards/keychron/q1v2/iso_encoder/keyboard.json (renamed from keyboards/keychron/q1v2/iso_encoder/info.json)0
-rw-r--r--keyboards/keychron/q1v2/jis/keyboard.json (renamed from keyboards/keychron/q1v2/jis/info.json)0
-rw-r--r--keyboards/keychron/q1v2/jis_encoder/keyboard.json (renamed from keyboards/keychron/q1v2/jis_encoder/info.json)0
-rw-r--r--keyboards/keychron/q1v2/matrix.c16
-rw-r--r--keyboards/keychron/q2/ansi/keyboard.json (renamed from keyboards/keychron/q2/ansi/info.json)0
-rw-r--r--keyboards/keychron/q2/ansi/rules.mk1
-rw-r--r--keyboards/keychron/q2/ansi_encoder/keyboard.json (renamed from keyboards/keychron/q2/ansi_encoder/info.json)0
-rw-r--r--keyboards/keychron/q2/ansi_encoder/rules.mk1
-rw-r--r--keyboards/keychron/q2/iso/keyboard.json (renamed from keyboards/keychron/q2/iso/info.json)0
-rw-r--r--keyboards/keychron/q2/iso/rules.mk1
-rw-r--r--keyboards/keychron/q2/iso_encoder/keyboard.json (renamed from keyboards/keychron/q2/iso_encoder/info.json)0
-rw-r--r--keyboards/keychron/q2/iso_encoder/rules.mk1
-rw-r--r--keyboards/keychron/q2/jis/keyboard.json (renamed from keyboards/keychron/q2/jis/info.json)0
-rw-r--r--keyboards/keychron/q2/jis/rules.mk1
-rw-r--r--keyboards/keychron/q2/jis_encoder/keyboard.json (renamed from keyboards/keychron/q2/jis_encoder/info.json)0
-rw-r--r--keyboards/keychron/q2/jis_encoder/rules.mk1
-rw-r--r--keyboards/keychron/q3/ansi/keyboard.json (renamed from keyboards/keychron/q3/ansi/info.json)0
-rw-r--r--keyboards/keychron/q3/ansi/rules.mk1
-rw-r--r--keyboards/keychron/q3/ansi_encoder/keyboard.json (renamed from keyboards/keychron/q3/ansi_encoder/info.json)0
-rw-r--r--keyboards/keychron/q3/iso/keyboard.json (renamed from keyboards/keychron/q3/iso/info.json)0
-rw-r--r--keyboards/keychron/q3/iso/rules.mk1
-rw-r--r--keyboards/keychron/q3/iso_encoder/keyboard.json (renamed from keyboards/keychron/q3/iso_encoder/info.json)0
-rw-r--r--keyboards/keychron/q3/jis/keyboard.json (renamed from keyboards/keychron/q3/jis/info.json)0
-rw-r--r--keyboards/keychron/q3/jis/rules.mk1
-rw-r--r--keyboards/keychron/q3/jis_encoder/keyboard.json (renamed from keyboards/keychron/q3/jis_encoder/info.json)0
-rw-r--r--keyboards/keychron/q3/matrix.c15
-rw-r--r--keyboards/keychron/q4/ansi/info.json3
-rw-r--r--keyboards/keychron/q4/ansi/v1/keyboard.json5
-rw-r--r--keyboards/keychron/q4/ansi/v1/rules.mk1
-rw-r--r--keyboards/keychron/q4/ansi/v2/keyboard.json5
-rw-r--r--keyboards/keychron/q4/ansi/v2/rules.mk1
-rw-r--r--keyboards/keychron/q4/info.json5
-rw-r--r--keyboards/keychron/q4/iso/keyboard.json (renamed from keyboards/keychron/q4/iso/info.json)0
-rw-r--r--keyboards/keychron/q4/iso/rules.mk1
-rw-r--r--keyboards/keychron/q5/ansi/keyboard.json (renamed from keyboards/keychron/q5/ansi/info.json)0
-rw-r--r--keyboards/keychron/q5/ansi_encoder/keyboard.json (renamed from keyboards/keychron/q5/ansi_encoder/info.json)0
-rw-r--r--keyboards/keychron/q5/iso/keyboard.json (renamed from keyboards/keychron/q5/iso/info.json)0
-rw-r--r--keyboards/keychron/q5/iso_encoder/keyboard.json (renamed from keyboards/keychron/q5/iso_encoder/info.json)0
-rw-r--r--keyboards/keychron/q5/matrix.c15
-rw-r--r--keyboards/keychron/q6/ansi/keyboard.json (renamed from keyboards/keychron/q6/ansi/info.json)11
-rw-r--r--keyboards/keychron/q6/ansi/rules.mk16
-rw-r--r--keyboards/keychron/q6/ansi_encoder/keyboard.json (renamed from keyboards/keychron/q6/ansi_encoder/info.json)12
-rw-r--r--keyboards/keychron/q6/ansi_encoder/rules.mk17
-rw-r--r--keyboards/keychron/q6/iso/keyboard.json (renamed from keyboards/keychron/q6/iso/info.json)11
-rw-r--r--keyboards/keychron/q6/iso/rules.mk17
-rw-r--r--keyboards/keychron/q6/iso_encoder/keyboard.json (renamed from keyboards/keychron/q6/iso_encoder/info.json)12
-rw-r--r--keyboards/keychron/q6/iso_encoder/rules.mk18
-rw-r--r--keyboards/keychron/q6/matrix.c15
-rw-r--r--keyboards/keychron/q60/ansi/keyboard.json (renamed from keyboards/keychron/q60/ansi/info.json)10
-rw-r--r--keyboards/keychron/q60/ansi/rules.mk14
-rw-r--r--keyboards/keychron/q65/ansi_encoder/keyboard.json (renamed from keyboards/keychron/q65/ansi_encoder/info.json)9
-rw-r--r--keyboards/keychron/q65/ansi_encoder/rules.mk16
-rw-r--r--keyboards/keychron/q65/matrix.c47
-rw-r--r--keyboards/keychron/q7/ansi/keyboard.json (renamed from keyboards/keychron/q7/ansi/info.json)0
-rw-r--r--keyboards/keychron/q7/ansi/rules.mk1
-rw-r--r--keyboards/keychron/q7/iso/keyboard.json (renamed from keyboards/keychron/q7/iso/info.json)0
-rw-r--r--keyboards/keychron/q7/iso/rules.mk1
-rw-r--r--keyboards/keychron/q8/ansi/keyboard.json (renamed from keyboards/keychron/q8/ansi/info.json)0
-rw-r--r--keyboards/keychron/q8/ansi/rules.mk1
-rw-r--r--keyboards/keychron/q8/ansi_encoder/keyboard.json (renamed from keyboards/keychron/q8/ansi_encoder/info.json)0
-rw-r--r--keyboards/keychron/q8/ansi_encoder/rules.mk1
-rw-r--r--keyboards/keychron/q8/iso/keyboard.json (renamed from keyboards/keychron/q8/iso/info.json)0
-rw-r--r--keyboards/keychron/q8/iso/rules.mk1
-rw-r--r--keyboards/keychron/q8/iso_encoder/keyboard.json (renamed from keyboards/keychron/q8/iso_encoder/info.json)0
-rw-r--r--keyboards/keychron/q8/iso_encoder/rules.mk1
-rw-r--r--keyboards/keychron/q9/ansi/keyboard.json (renamed from keyboards/keychron/q9/ansi/info.json)0
-rw-r--r--keyboards/keychron/q9/ansi/rules.mk1
-rw-r--r--keyboards/keychron/q9/ansi_encoder/keyboard.json (renamed from keyboards/keychron/q9/ansi_encoder/info.json)0
-rw-r--r--keyboards/keychron/q9/ansi_encoder/rules.mk1
-rw-r--r--keyboards/keychron/q9/iso/keyboard.json (renamed from keyboards/keychron/q9/iso/info.json)0
-rw-r--r--keyboards/keychron/q9/iso/rules.mk1
-rw-r--r--keyboards/keychron/q9/iso_encoder/keyboard.json (renamed from keyboards/keychron/q9/iso_encoder/info.json)0
-rw-r--r--keyboards/keychron/q9/iso_encoder/rules.mk1
-rwxr-xr-xkeyboards/keychron/q9_plus/ansi_encoder/keyboard.json (renamed from keyboards/keychron/q9_plus/ansi_encoder/info.json)0
-rwxr-xr-xkeyboards/keychron/q9_plus/ansi_encoder/rules.mk0
-rw-r--r--keyboards/keychron/s1/ansi/rgb/keyboard.json (renamed from keyboards/keychron/s1/ansi/rgb/info.json)10
-rw-r--r--keyboards/keychron/s1/ansi/rgb/rules.mk14
-rw-r--r--keyboards/keychron/s1/ansi/white/keyboard.json (renamed from keyboards/keychron/s1/ansi/white/info.json)10
-rw-r--r--keyboards/keychron/s1/ansi/white/keymaps/default/keymap.c16
-rw-r--r--keyboards/keychron/s1/ansi/white/keymaps/keychron/keymap.c16
-rw-r--r--keyboards/keychron/s1/ansi/white/keymaps/via/keymap.c16
-rw-r--r--keyboards/keychron/s1/ansi/white/rules.mk14
-rw-r--r--keyboards/keychron/s1/s1.c2
-rw-r--r--keyboards/keychron/v1/ansi/keyboard.json (renamed from keyboards/keychron/v1/ansi/info.json)8
-rw-r--r--keyboards/keychron/v1/ansi/rules.mk15
-rw-r--r--keyboards/keychron/v1/ansi_encoder/keyboard.json (renamed from keyboards/keychron/v1/ansi_encoder/info.json)9
-rw-r--r--keyboards/keychron/v1/ansi_encoder/rules.mk16
-rw-r--r--keyboards/keychron/v1/iso/keyboard.json (renamed from keyboards/keychron/v1/iso/info.json)8
-rw-r--r--keyboards/keychron/v1/iso/rules.mk15
-rw-r--r--keyboards/keychron/v1/iso_encoder/keyboard.json (renamed from keyboards/keychron/v1/iso_encoder/info.json)9
-rw-r--r--keyboards/keychron/v1/iso_encoder/rules.mk16
-rw-r--r--keyboards/keychron/v1/jis/keyboard.json (renamed from keyboards/keychron/v1/jis/info.json)8
-rw-r--r--keyboards/keychron/v1/jis/rules.mk15
-rw-r--r--keyboards/keychron/v1/jis_encoder/keyboard.json (renamed from keyboards/keychron/v1/jis_encoder/info.json)9
-rw-r--r--keyboards/keychron/v1/jis_encoder/rules.mk16
-rw-r--r--keyboards/keychron/v1/matrix.c47
-rw-r--r--keyboards/keychron/v10/ansi_encoder/keyboard.json (renamed from keyboards/keychron/v10/ansi_encoder/info.json)9
-rw-r--r--keyboards/keychron/v10/ansi_encoder/rules.mk16
-rw-r--r--keyboards/keychron/v10/iso_encoder/keyboard.json (renamed from keyboards/keychron/v10/iso_encoder/info.json)9
-rw-r--r--keyboards/keychron/v10/iso_encoder/rules.mk16
-rw-r--r--keyboards/keychron/v10/matrix.c47
-rw-r--r--keyboards/keychron/v2/ansi/keyboard.json (renamed from keyboards/keychron/v2/ansi/info.json)10
-rw-r--r--keyboards/keychron/v2/ansi/rules.mk14
-rw-r--r--keyboards/keychron/v2/ansi_encoder/keyboard.json (renamed from keyboards/keychron/v2/ansi_encoder/info.json)11
-rw-r--r--keyboards/keychron/v2/ansi_encoder/rules.mk15
-rw-r--r--keyboards/keychron/v2/iso/keyboard.json (renamed from keyboards/keychron/v2/iso/info.json)10
-rw-r--r--keyboards/keychron/v2/iso/rules.mk14
-rw-r--r--keyboards/keychron/v2/iso_encoder/keyboard.json (renamed from keyboards/keychron/v2/iso_encoder/info.json)11
-rw-r--r--keyboards/keychron/v2/iso_encoder/rules.mk15
-rw-r--r--keyboards/keychron/v2/jis/keyboard.json (renamed from keyboards/keychron/v2/jis/info.json)10
-rw-r--r--keyboards/keychron/v2/jis/rules.mk14
-rw-r--r--keyboards/keychron/v2/jis_encoder/keyboard.json (renamed from keyboards/keychron/v2/jis_encoder/info.json)11
-rw-r--r--keyboards/keychron/v2/jis_encoder/rules.mk15
-rw-r--r--keyboards/keychron/v3/ansi/keyboard.json (renamed from keyboards/keychron/v3/ansi/info.json)10
-rw-r--r--keyboards/keychron/v3/ansi/rules.mk14
-rw-r--r--keyboards/keychron/v3/ansi_encoder/keyboard.json (renamed from keyboards/keychron/v3/ansi_encoder/info.json)9
-rw-r--r--keyboards/keychron/v3/ansi_encoder/rules.mk16
-rw-r--r--keyboards/keychron/v3/iso/keyboard.json (renamed from keyboards/keychron/v3/iso/info.json)10
-rw-r--r--keyboards/keychron/v3/iso/rules.mk14
-rw-r--r--keyboards/keychron/v3/iso_encoder/keyboard.json (renamed from keyboards/keychron/v3/iso_encoder/info.json)9
-rw-r--r--keyboards/keychron/v3/iso_encoder/rules.mk16
-rw-r--r--keyboards/keychron/v3/jis/keyboard.json (renamed from keyboards/keychron/v3/jis/info.json)10
-rw-r--r--keyboards/keychron/v3/jis/rules.mk14
-rw-r--r--keyboards/keychron/v3/jis_encoder/keyboard.json (renamed from keyboards/keychron/v3/jis_encoder/info.json)9
-rw-r--r--keyboards/keychron/v3/jis_encoder/rules.mk16
-rw-r--r--keyboards/keychron/v3/matrix.c47
-rw-r--r--keyboards/keychron/v4/ansi/keyboard.json (renamed from keyboards/keychron/v4/ansi/info.json)10
-rw-r--r--keyboards/keychron/v4/ansi/rules.mk14
-rw-r--r--keyboards/keychron/v4/iso/keyboard.json (renamed from keyboards/keychron/v4/iso/info.json)10
-rw-r--r--keyboards/keychron/v4/iso/rules.mk14
-rw-r--r--keyboards/keychron/v5/ansi/keyboard.json (renamed from keyboards/keychron/v5/ansi/info.json)8
-rw-r--r--keyboards/keychron/v5/ansi/rules.mk15
-rw-r--r--keyboards/keychron/v5/ansi_encoder/keyboard.json (renamed from keyboards/keychron/v5/ansi_encoder/info.json)9
-rw-r--r--keyboards/keychron/v5/ansi_encoder/rules.mk16
-rw-r--r--keyboards/keychron/v5/iso/keyboard.json (renamed from keyboards/keychron/v5/iso/info.json)8
-rw-r--r--keyboards/keychron/v5/iso/rules.mk15
-rw-r--r--keyboards/keychron/v5/iso_encoder/keyboard.json (renamed from keyboards/keychron/v5/iso_encoder/info.json)9
-rw-r--r--keyboards/keychron/v5/iso_encoder/rules.mk16
-rw-r--r--keyboards/keychron/v5/matrix.c47
-rw-r--r--keyboards/keychron/v6/ansi/keyboard.json (renamed from keyboards/keychron/v6/ansi/info.json)8
-rw-r--r--keyboards/keychron/v6/ansi/rules.mk15
-rw-r--r--keyboards/keychron/v6/ansi_encoder/keyboard.json (renamed from keyboards/keychron/v6/ansi_encoder/info.json)9
-rw-r--r--keyboards/keychron/v6/ansi_encoder/rules.mk16
-rw-r--r--keyboards/keychron/v6/iso/keyboard.json (renamed from keyboards/keychron/v6/iso/info.json)8
-rw-r--r--keyboards/keychron/v6/iso/rules.mk15
-rw-r--r--keyboards/keychron/v6/iso_encoder/keyboard.json (renamed from keyboards/keychron/v6/iso_encoder/info.json)9
-rw-r--r--keyboards/keychron/v6/iso_encoder/rules.mk17
-rw-r--r--keyboards/keychron/v6/matrix.c47
-rw-r--r--keyboards/keychron/v7/ansi/keyboard.json (renamed from keyboards/keychron/v7/ansi/info.json)10
-rw-r--r--keyboards/keychron/v7/ansi/rules.mk14
-rw-r--r--keyboards/keychron/v7/iso/keyboard.json (renamed from keyboards/keychron/v7/iso/info.json)10
-rw-r--r--keyboards/keychron/v7/iso/rules.mk14
-rw-r--r--keyboards/keychron/v8/ansi/keyboard.json (renamed from keyboards/keychron/v8/ansi/info.json)10
-rw-r--r--keyboards/keychron/v8/ansi/rules.mk11
-rw-r--r--keyboards/keychron/v8/ansi_encoder/keyboard.json (renamed from keyboards/keychron/v8/ansi_encoder/info.json)11
-rw-r--r--keyboards/keychron/v8/ansi_encoder/rules.mk12
-rw-r--r--keyboards/keychron/v8/iso/keyboard.json (renamed from keyboards/keychron/v8/iso/info.json)10
-rw-r--r--keyboards/keychron/v8/iso/rules.mk15
-rw-r--r--keyboards/keychron/v8/iso_encoder/keyboard.json (renamed from keyboards/keychron/v8/iso_encoder/info.json)11
-rw-r--r--keyboards/keychron/v8/iso_encoder/rules.mk12
206 files changed, 776 insertions, 1053 deletions
diff --git a/keyboards/keychron/c1_pro/ansi/rgb/info.json b/keyboards/keychron/c1_pro/ansi/rgb/keyboard.json
index 64d45e3595..64d45e3595 100644
--- a/keyboards/keychron/c1_pro/ansi/rgb/info.json
+++ b/keyboards/keychron/c1_pro/ansi/rgb/keyboard.json
diff --git a/keyboards/keychron/c1_pro/ansi/rgb/rules.mk b/keyboards/keychron/c1_pro/ansi/rgb/rules.mk
deleted file mode 100644
index 7307f9f9e7..0000000000
--- a/keyboards/keychron/c1_pro/ansi/rgb/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-# Build Options
diff --git a/keyboards/keychron/c1_pro/ansi/white/info.json b/keyboards/keychron/c1_pro/ansi/white/keyboard.json
index c64183a739..c64183a739 100644
--- a/keyboards/keychron/c1_pro/ansi/white/info.json
+++ b/keyboards/keychron/c1_pro/ansi/white/keyboard.json
diff --git a/keyboards/keychron/c1_pro/ansi/white/keymaps/default/keymap.c b/keyboards/keychron/c1_pro/ansi/white/keymaps/default/keymap.c
index a829c11892..93dab79e7a 100644
--- a/keyboards/keychron/c1_pro/ansi/white/keymaps/default/keymap.c
+++ b/keyboards/keychron/c1_pro/ansi/white/keymaps/default/keymap.c
@@ -30,7 +30,7 @@ enum layers{
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[MAC_BASE] = LAYOUT_tkl_ansi(
- KC_ESC, KC_BRID, KC_BRIU, KC_MCTL, KC_LPAD, BL_DOWN, BL_UP, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_NO, KC_NO, BL_STEP,
+ KC_ESC, KC_BRID, KC_BRIU, KC_MCTL, KC_LPAD, LM_BRID, LM_BRIU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_NO, KC_NO, LM_NEXT,
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,
@@ -38,15 +38,15 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_LCTL, KC_LOPT, KC_LCMD, KC_SPC, KC_RCMD, KC_ROPT, MO(MAC_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
[MAC_FN] = LAYOUT_tkl_ansi(
- _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, BL_TOGG,
+ _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, LM_TOGG,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- BL_TOGG, BL_STEP, BL_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, BL_DOWN, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ LM_TOGG, LM_NEXT, LM_BRIU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, LM_BRID, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
[WIN_BASE] = LAYOUT_tkl_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, _______, BL_STEP,
+ 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, _______, LM_NEXT,
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,
@@ -54,10 +54,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_LCTL, KC_LWIN, KC_LALT, KC_SPC, KC_RALT, KC_RWIN, MO(WIN_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
[WIN_FN] = LAYOUT_tkl_ansi(
- _______, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, BL_DOWN, BL_UP, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, BL_TOGG,
+ _______, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, LM_BRID, LM_BRIU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, LM_TOGG,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- BL_TOGG, BL_STEP, BL_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, BL_DOWN, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ LM_TOGG, LM_NEXT, LM_BRIU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, LM_BRID, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
};
diff --git a/keyboards/keychron/c1_pro/ansi/white/keymaps/keychron/keymap.c b/keyboards/keychron/c1_pro/ansi/white/keymaps/keychron/keymap.c
index e17d67eb71..f819b4fc03 100644
--- a/keyboards/keychron/c1_pro/ansi/white/keymaps/keychron/keymap.c
+++ b/keyboards/keychron/c1_pro/ansi/white/keymaps/keychron/keymap.c
@@ -26,7 +26,7 @@ enum layers{
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[MAC_BASE] = LAYOUT_tkl_ansi(
- KC_ESC, KC_BRID, KC_BRIU, KC_MCTL, KC_LPAD, BL_DOWN, BL_UP, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_SNAP, KC_SIRI, BL_STEP,
+ KC_ESC, KC_BRID, KC_BRIU, KC_MCTL, KC_LPAD, LM_BRID, LM_BRIU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_SNAP, KC_SIRI, LM_NEXT,
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,
@@ -34,15 +34,15 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_LCTL, KC_LOPTN, KC_LCMMD, KC_SPC, KC_RCMMD, KC_ROPTN, MO(MAC_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
[MAC_FN] = LAYOUT_tkl_ansi(
- _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, BL_TOGG,
+ _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, LM_TOGG,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- BL_TOGG, BL_STEP, BL_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, BL_DOWN, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ LM_TOGG, LM_NEXT, LM_BRIU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, LM_BRID, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
[WIN_BASE] = LAYOUT_tkl_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_CRTA, BL_STEP,
+ 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_CRTA, LM_NEXT,
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,
@@ -50,10 +50,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_LCTL, KC_LCMD, KC_LALT, KC_SPC, KC_RALT, KC_RWIN, MO(WIN_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
[WIN_FN] = LAYOUT_tkl_ansi(
- _______, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, BL_DOWN, BL_UP, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, BL_TOGG,
+ _______, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, LM_BRID, LM_BRIU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, LM_TOGG,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- BL_TOGG, BL_STEP, BL_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, BL_DOWN, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ LM_TOGG, LM_NEXT, LM_BRIU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, LM_BRID, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
};
diff --git a/keyboards/keychron/c1_pro/ansi/white/keymaps/via/keymap.c b/keyboards/keychron/c1_pro/ansi/white/keymaps/via/keymap.c
index a829c11892..93dab79e7a 100644
--- a/keyboards/keychron/c1_pro/ansi/white/keymaps/via/keymap.c
+++ b/keyboards/keychron/c1_pro/ansi/white/keymaps/via/keymap.c
@@ -30,7 +30,7 @@ enum layers{
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[MAC_BASE] = LAYOUT_tkl_ansi(
- KC_ESC, KC_BRID, KC_BRIU, KC_MCTL, KC_LPAD, BL_DOWN, BL_UP, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_NO, KC_NO, BL_STEP,
+ KC_ESC, KC_BRID, KC_BRIU, KC_MCTL, KC_LPAD, LM_BRID, LM_BRIU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_NO, KC_NO, LM_NEXT,
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,
@@ -38,15 +38,15 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_LCTL, KC_LOPT, KC_LCMD, KC_SPC, KC_RCMD, KC_ROPT, MO(MAC_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
[MAC_FN] = LAYOUT_tkl_ansi(
- _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, BL_TOGG,
+ _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, LM_TOGG,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- BL_TOGG, BL_STEP, BL_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, BL_DOWN, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ LM_TOGG, LM_NEXT, LM_BRIU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, LM_BRID, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
[WIN_BASE] = LAYOUT_tkl_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, _______, BL_STEP,
+ 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, _______, LM_NEXT,
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,
@@ -54,10 +54,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_LCTL, KC_LWIN, KC_LALT, KC_SPC, KC_RALT, KC_RWIN, MO(WIN_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
[WIN_FN] = LAYOUT_tkl_ansi(
- _______, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, BL_DOWN, BL_UP, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, BL_TOGG,
+ _______, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, LM_BRID, LM_BRIU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, LM_TOGG,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- BL_TOGG, BL_STEP, BL_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, BL_DOWN, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ LM_TOGG, LM_NEXT, LM_BRIU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, LM_BRID, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
};
diff --git a/keyboards/keychron/c1_pro/ansi/white/rules.mk b/keyboards/keychron/c1_pro/ansi/white/rules.mk
deleted file mode 100644
index 7307f9f9e7..0000000000
--- a/keyboards/keychron/c1_pro/ansi/white/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-# Build Options
diff --git a/keyboards/keychron/c1_pro/ansi/white/white.c b/keyboards/keychron/c1_pro/ansi/white/white.c
index 2b41845c9b..9009225b3b 100644
--- a/keyboards/keychron/c1_pro/ansi/white/white.c
+++ b/keyboards/keychron/c1_pro/ansi/white/white.c
@@ -128,7 +128,7 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
return false;
}
switch (keycode) {
- case BL_TOGG:
+ case LM_TOGG:
if (record->event.pressed) {
switch (led_matrix_get_flags()) {
case LED_FLAG_ALL: {
diff --git a/keyboards/keychron/c2_pro/ansi/rgb/info.json b/keyboards/keychron/c2_pro/ansi/rgb/keyboard.json
index a7d91c56e4..a7d91c56e4 100644
--- a/keyboards/keychron/c2_pro/ansi/rgb/info.json
+++ b/keyboards/keychron/c2_pro/ansi/rgb/keyboard.json
diff --git a/keyboards/keychron/c2_pro/ansi/rgb/rules.mk b/keyboards/keychron/c2_pro/ansi/rgb/rules.mk
index dab1551049..9760649931 100644
--- a/keyboards/keychron/c2_pro/ansi/rgb/rules.mk
+++ b/keyboards/keychron/c2_pro/ansi/rgb/rules.mk
@@ -1,2 +1,2 @@
-# Build Options
+# custom matrix setup
SRC += matrix.c
diff --git a/keyboards/keychron/c2_pro/ansi/white/info.json b/keyboards/keychron/c2_pro/ansi/white/keyboard.json
index 4c103e966d..4c103e966d 100644
--- a/keyboards/keychron/c2_pro/ansi/white/info.json
+++ b/keyboards/keychron/c2_pro/ansi/white/keyboard.json
diff --git a/keyboards/keychron/c2_pro/ansi/white/keymaps/default/keymap.c b/keyboards/keychron/c2_pro/ansi/white/keymaps/default/keymap.c
index 70934e122e..b8c26b1939 100644
--- a/keyboards/keychron/c2_pro/ansi/white/keymaps/default/keymap.c
+++ b/keyboards/keychron/c2_pro/ansi/white/keymaps/default/keymap.c
@@ -30,7 +30,7 @@ enum layers{
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[MAC_BASE] = LAYOUT(
- KC_ESC, KC_BRID, KC_BRIU, KC_MCTL, KC_LPAD, BL_DOWN, BL_UP, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_NO, KC_NO, BL_STEP,
+ KC_ESC, KC_BRID, KC_BRIU, KC_MCTL, KC_LPAD, LM_BRID, LM_BRIU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_NO, KC_NO, LM_NEXT,
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,
@@ -38,15 +38,15 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_LCTL, KC_LOPT, KC_LCMD, KC_SPC, KC_RCMD, KC_ROPT, MO(MAC_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT ),
[MAC_FN] = 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, _______, _______, BL_TOGG,
+ _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, LM_TOGG,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- BL_TOGG, BL_STEP, BL_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, BL_DOWN, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ LM_TOGG, LM_NEXT, LM_BRIU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, LM_BRID, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ),
[WIN_BASE] = 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_NO, BL_STEP,
+ 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_NO, LM_NEXT,
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,
@@ -54,10 +54,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_LCTL, KC_LWIN, KC_LALT, KC_SPC, KC_RALT, KC_RWIN, MO(WIN_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT ),
[WIN_FN] = LAYOUT(
- _______, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, BL_DOWN, BL_UP, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, BL_TOGG,
+ _______, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, LM_BRID, LM_BRIU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, LM_TOGG,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- BL_TOGG, BL_STEP, BL_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, BL_DOWN, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ LM_TOGG, LM_NEXT, LM_BRIU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, LM_BRID, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ),
};
diff --git a/keyboards/keychron/c2_pro/ansi/white/keymaps/keychron/keymap.c b/keyboards/keychron/c2_pro/ansi/white/keymaps/keychron/keymap.c
index 09002c3d7a..c99b5bc491 100644
--- a/keyboards/keychron/c2_pro/ansi/white/keymaps/keychron/keymap.c
+++ b/keyboards/keychron/c2_pro/ansi/white/keymaps/keychron/keymap.c
@@ -26,7 +26,7 @@ enum layers{
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[MAC_BASE] = LAYOUT(
- KC_ESC, KC_BRID, KC_BRIU, KC_MCTL, KC_LPAD, BL_DOWN, BL_UP, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_SNAP, KC_SIRI, BL_STEP,
+ KC_ESC, KC_BRID, KC_BRIU, KC_MCTL, KC_LPAD, LM_BRID, LM_BRIU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_SNAP, KC_SIRI, LM_NEXT,
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,
@@ -34,15 +34,15 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_LCTL, KC_LOPTN, KC_LCMMD, KC_SPC, KC_RCMMD, KC_ROPTN, MO(MAC_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT ),
[MAC_FN] = 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, _______, _______, BL_TOGG,
+ _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, LM_TOGG,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- BL_TOGG, BL_STEP, BL_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, BL_DOWN, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ LM_TOGG, LM_NEXT, LM_BRIU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, LM_BRID, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ),
[WIN_BASE] = 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_CRTA, BL_STEP,
+ 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_CRTA, LM_NEXT,
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,
@@ -50,10 +50,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_LCTL, KC_LWIN, KC_LALT, KC_SPC, KC_RALT, KC_RWIN, MO(WIN_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT ),
[WIN_FN] = LAYOUT(
- _______, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, BL_DOWN, BL_UP, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, BL_TOGG,
+ _______, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, LM_BRID, LM_BRIU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, LM_TOGG,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- BL_TOGG, BL_STEP, BL_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, BL_DOWN, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ LM_TOGG, LM_NEXT, LM_BRIU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, LM_BRID, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ),
};
diff --git a/keyboards/keychron/c2_pro/ansi/white/keymaps/via/keymap.c b/keyboards/keychron/c2_pro/ansi/white/keymaps/via/keymap.c
index 547521e099..a162e3d3a5 100644
--- a/keyboards/keychron/c2_pro/ansi/white/keymaps/via/keymap.c
+++ b/keyboards/keychron/c2_pro/ansi/white/keymaps/via/keymap.c
@@ -28,7 +28,7 @@ enum layers{
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[MAC_BASE] = LAYOUT(
- KC_ESC, KC_BRID, KC_BRIU, KC_MCTL, KC_LPAD, BL_DOWN, BL_UP, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_NO, KC_NO, BL_STEP,
+ KC_ESC, KC_BRID, KC_BRIU, KC_MCTL, KC_LPAD, LM_BRID, LM_BRIU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_NO, KC_NO, LM_NEXT,
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,
@@ -36,15 +36,15 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_LCTL, KC_LOPT, KC_LCMD, KC_SPC, KC_RCMD, KC_ROPT, MO(MAC_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT ),
[MAC_FN] = 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, _______, _______, BL_TOGG,
+ _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, LM_TOGG,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- BL_TOGG, BL_STEP, BL_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, BL_DOWN, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ LM_TOGG, LM_NEXT, LM_BRIU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, LM_BRID, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ),
[WIN_BASE] = 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_NO, BL_STEP,
+ 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_NO, LM_NEXT,
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,
@@ -52,10 +52,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_LCTL, KC_LWIN, KC_LALT, KC_SPC, KC_RALT, KC_RWIN, MO(WIN_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT ),
[WIN_FN] = LAYOUT(
- _______, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, BL_DOWN, BL_UP, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, BL_TOGG,
+ _______, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, LM_BRID, LM_BRIU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, LM_TOGG,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- BL_TOGG, BL_STEP, BL_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, BL_DOWN, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ LM_TOGG, LM_NEXT, LM_BRIU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, LM_BRID, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ),
};
diff --git a/keyboards/keychron/c2_pro/ansi/white/rules.mk b/keyboards/keychron/c2_pro/ansi/white/rules.mk
index dab1551049..9760649931 100644
--- a/keyboards/keychron/c2_pro/ansi/white/rules.mk
+++ b/keyboards/keychron/c2_pro/ansi/white/rules.mk
@@ -1,2 +1,2 @@
-# Build Options
+# custom matrix setup
SRC += matrix.c
diff --git a/keyboards/keychron/c2_pro/matrix.c b/keyboards/keychron/c2_pro/matrix.c
index 5065f97aa7..7d5b3e4e79 100644
--- a/keyboards/keychron/c2_pro/matrix.c
+++ b/keyboards/keychron/c2_pro/matrix.c
@@ -14,7 +14,9 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-#include "quantum.h"
+#include "matrix.h"
+#include "atomic_util.h"
+#include <string.h>
#ifndef SHIFT_COL_START
# define SHIFT_COL_START 8
@@ -41,27 +43,27 @@ pin_t col_pins[MATRIX_COLS] = MATRIX_COL_PINS;
static inline void setPinOutput_writeLow(pin_t pin) {
ATOMIC_BLOCK_FORCEON {
- setPinOutput(pin);
- writePinLow(pin);
+ gpio_set_pin_output(pin);
+ gpio_write_pin_low(pin);
}
}
static inline void setPinOutput_writeHigh(pin_t pin) {
ATOMIC_BLOCK_FORCEON {
- setPinOutput(pin);
- writePinHigh(pin);
+ gpio_set_pin_output(pin);
+ gpio_write_pin_high(pin);
}
}
static inline void setPinInput_high(pin_t pin) {
ATOMIC_BLOCK_FORCEON {
- setPinInputHigh(pin);
+ gpio_set_pin_input_high(pin);
}
}
static inline uint8_t readMatrixPin(pin_t pin) {
if (pin != NO_PIN) {
- return readPin(pin);
+ return gpio_read_pin(pin);
} else {
return 1;
}
@@ -79,13 +81,13 @@ static void HC595_output(SIZE_T data, uint8_t bit) {
ATOMIC_BLOCK_FORCEON {
for (uint8_t i = 0; i < (SHIFT_COL_END - SHIFT_COL_START + 1); i++) {
if (data & 0x1) {
- writePinHigh(HC595_DS);
+ gpio_write_pin_high(HC595_DS);
} else {
- writePinLow(HC595_DS);
+ gpio_write_pin_low(HC595_DS);
}
- writePinHigh(HC595_SHCP);
+ gpio_write_pin_high(HC595_SHCP);
HC595_delay(n);
- writePinLow(HC595_SHCP);
+ gpio_write_pin_low(HC595_SHCP);
HC595_delay(n);
if (bit) {
break;
@@ -93,9 +95,9 @@ static void HC595_output(SIZE_T data, uint8_t bit) {
data = data >> 1;
}
}
- writePinHigh(HC595_STCP);
+ gpio_write_pin_high(HC595_STCP);
HC595_delay(n);
- writePinLow(HC595_STCP);
+ gpio_write_pin_low(HC595_STCP);
HC595_delay(n);
}
}
@@ -173,9 +175,9 @@ static void matrix_read_rows_on_col(matrix_row_t current_matrix[], uint8_t curre
}
void matrix_init_custom(void) {
- setPinOutput(HC595_DS);
- setPinOutput(HC595_STCP);
- setPinOutput(HC595_SHCP);
+ gpio_set_pin_output(HC595_DS);
+ gpio_set_pin_output(HC595_STCP);
+ gpio_set_pin_output(HC595_SHCP);
for (uint8_t x = 0; x < MATRIX_ROWS; x++) {
if (row_pins[x] != NO_PIN) {
diff --git a/keyboards/keychron/q0/base/info.json b/keyboards/keychron/q0/base/keyboard.json
index ad89cf84da..ad89cf84da 100644
--- a/keyboards/keychron/q0/base/info.json
+++ b/keyboards/keychron/q0/base/keyboard.json
diff --git a/keyboards/keychron/q0/base/rules.mk b/keyboards/keychron/q0/base/rules.mk
deleted file mode 100644
index 7ff128fa69..0000000000
--- a/keyboards/keychron/q0/base/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-# This file intentionally left blank \ No newline at end of file
diff --git a/keyboards/keychron/q0/plus/info.json b/keyboards/keychron/q0/plus/keyboard.json
index b187a79139..b187a79139 100644
--- a/keyboards/keychron/q0/plus/info.json
+++ b/keyboards/keychron/q0/plus/keyboard.json
diff --git a/keyboards/keychron/q0/plus/rules.mk b/keyboards/keychron/q0/plus/rules.mk
deleted file mode 100644
index 7ff128fa69..0000000000
--- a/keyboards/keychron/q0/plus/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-# This file intentionally left blank \ No newline at end of file
diff --git a/keyboards/keychron/q10/ansi_encoder/info.json b/keyboards/keychron/q10/ansi_encoder/keyboard.json
index c40c605426..f47136edf7 100644
--- a/keyboards/keychron/q10/ansi_encoder/info.json
+++ b/keyboards/keychron/q10/ansi_encoder/keyboard.json
@@ -18,6 +18,15 @@
},
"processor": "STM32L432",
"bootloader": "stm32-dfu",
+ "features": {
+ "bootmagic": true,
+ "mousekey": true,
+ "extrakey": true,
+ "nkro": true,
+ "rgb_matrix": true,
+ "encoder": true,
+ "dip_switch": true
+ },
"layouts": {
"LAYOUT_ansi_89": {
"layout": [
diff --git a/keyboards/keychron/q10/ansi_encoder/rules.mk b/keyboards/keychron/q10/ansi_encoder/rules.mk
index 4c6e5bebf0..3652da4b69 100644
--- a/keyboards/keychron/q10/ansi_encoder/rules.mk
+++ b/keyboards/keychron/q10/ansi_encoder/rules.mk
@@ -1,19 +1,3 @@
-# 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
-ENCODER_ENABLE = yes # Enable Encoder
-DIP_SWITCH_ENABLE = yes
-RGB_MATRIX_ENABLE = yes
-
# custom matrix setup
CUSTOM_MATRIX = lite
diff --git a/keyboards/keychron/q10/iso_encoder/info.json b/keyboards/keychron/q10/iso_encoder/keyboard.json
index ce5223df61..5ec70d1a14 100644
--- a/keyboards/keychron/q10/iso_encoder/info.json
+++ b/keyboards/keychron/q10/iso_encoder/keyboard.json
@@ -18,6 +18,15 @@
},
"processor": "STM32L432",
"bootloader": "stm32-dfu",
+ "features": {
+ "bootmagic": true,
+ "mousekey": true,
+ "extrakey": true,
+ "nkro": true,
+ "rgb_matrix": true,
+ "encoder": true,
+ "dip_switch": true
+ },
"layouts": {
"LAYOUT_iso_90": {
"layout": [
diff --git a/keyboards/keychron/q10/iso_encoder/rules.mk b/keyboards/keychron/q10/iso_encoder/rules.mk
index 4c6e5bebf0..3652da4b69 100644
--- a/keyboards/keychron/q10/iso_encoder/rules.mk
+++ b/keyboards/keychron/q10/iso_encoder/rules.mk
@@ -1,19 +1,3 @@
-# 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
-ENCODER_ENABLE = yes # Enable Encoder
-DIP_SWITCH_ENABLE = yes
-RGB_MATRIX_ENABLE = yes
-
# custom matrix setup
CUSTOM_MATRIX = lite
diff --git a/keyboards/keychron/q10/matrix.c b/keyboards/keychron/q10/matrix.c
index 5c035b0e42..b772fd7889 100644
--- a/keyboards/keychron/q10/matrix.c
+++ b/keyboards/keychron/q10/matrix.c
@@ -15,7 +15,8 @@
*/
#include "matrix.h"
-#include "quantum.h"
+#include "atomic_util.h"
+#include <string.h>
// Pin connected to DS of 74HC595
#define DATA_PIN A7
@@ -35,27 +36,27 @@ static pin_t col_pins[MATRIX_COLS] = MATRIX_COL_PINS;
static inline void setPinOutput_writeLow(pin_t pin) {
ATOMIC_BLOCK_FORCEON {
- setPinOutput(pin);
- writePinLow(pin);
+ gpio_set_pin_output(pin);
+ gpio_write_pin_low(pin);
}
}
static inline void setPinOutput_writeHigh(pin_t pin) {
ATOMIC_BLOCK_FORCEON {
- setPinOutput(pin);
- writePinHigh(pin);
+ gpio_set_pin_output(pin);
+ gpio_write_pin_high(pin);
}
}
static inline void setPinInputHigh_atomic(pin_t pin) {
ATOMIC_BLOCK_FORCEON {
- setPinInputHigh(pin);
+ gpio_set_pin_input_high(pin);
}
}
static inline uint8_t readMatrixPin(pin_t pin) {
if (pin != NO_PIN) {
- return readPin(pin);
+ return gpio_read_pin(pin);
} else {
return 1;
}
diff --git a/keyboards/keychron/q11/ansi_encoder/info.json b/keyboards/keychron/q11/ansi_encoder/keyboard.json
index 01a81619ba..01a81619ba 100755
--- a/keyboards/keychron/q11/ansi_encoder/info.json
+++ b/keyboards/keychron/q11/ansi_encoder/keyboard.json
diff --git a/keyboards/keychron/q11/iso_encoder/info.json b/keyboards/keychron/q11/iso_encoder/keyboard.json
index 0529ccb291..0529ccb291 100755
--- a/keyboards/keychron/q11/iso_encoder/info.json
+++ b/keyboards/keychron/q11/iso_encoder/keyboard.json
diff --git a/keyboards/keychron/q11/iso_encoder/rules.mk b/keyboards/keychron/q11/iso_encoder/rules.mk
index ac78b227d6..c6e2988321 100755
--- a/keyboards/keychron/q11/iso_encoder/rules.mk
+++ b/keyboards/keychron/q11/iso_encoder/rules.mk
@@ -1,4 +1 @@
-# Enter lower-power sleep mode when on the ChibiOS idle thread
-OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE
-
SERIAL_DRIVER = usart
diff --git a/keyboards/keychron/q11/q11.c b/keyboards/keychron/q11/q11.c
index f643113ea3..8d018e2a63 100755
--- a/keyboards/keychron/q11/q11.c
+++ b/keyboards/keychron/q11/q11.c
@@ -130,12 +130,12 @@ void keyboard_post_init_kb(void) {
// 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);
+ gpio_set_pin_output(A0);
+ gpio_write_pin_high(A0);
} else {
if ((analogReadPin_my(B0) > 1000) || (analogReadPin_my(B1) > 1000)) {
- setPinInput(A11);
- setPinInput(A12);
+ gpio_set_pin_input(A11);
+ gpio_set_pin_input(A12);
}
}
diff --git a/keyboards/keychron/q12/ansi_encoder/info.json b/keyboards/keychron/q12/ansi_encoder/keyboard.json
index 7b1e46beb7..d2f90cb8ac 100644
--- a/keyboards/keychron/q12/ansi_encoder/info.json
+++ b/keyboards/keychron/q12/ansi_encoder/keyboard.json
@@ -15,6 +15,15 @@
},
"processor": "STM32L432",
"bootloader": "stm32-dfu",
+ "features": {
+ "bootmagic": true,
+ "mousekey": true,
+ "extrakey": true,
+ "nkro": true,
+ "rgb_matrix": true,
+ "encoder": true,
+ "dip_switch": true
+ },
"layouts": {
"LAYOUT_ansi_103": {
"layout": [
diff --git a/keyboards/keychron/q12/ansi_encoder/rules.mk b/keyboards/keychron/q12/ansi_encoder/rules.mk
index 213c733c9c..3652da4b69 100644
--- a/keyboards/keychron/q12/ansi_encoder/rules.mk
+++ b/keyboards/keychron/q12/ansi_encoder/rules.mk
@@ -1,19 +1,3 @@
-# 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
-ENCODER_ENABLE = yes # Enable Encoder
-DIP_SWITCH_ENABLE = yes
-RGB_MATRIX_ENABLE = yes
-
# custom matrix setup
CUSTOM_MATRIX = lite
diff --git a/keyboards/keychron/q12/iso_encoder/info.json b/keyboards/keychron/q12/iso_encoder/keyboard.json
index c66c1bb665..29e24a1491 100644
--- a/keyboards/keychron/q12/iso_encoder/info.json
+++ b/keyboards/keychron/q12/iso_encoder/keyboard.json
@@ -15,6 +15,15 @@
},
"processor": "STM32L432",
"bootloader": "stm32-dfu",
+ "features": {
+ "bootmagic": true,
+ "mousekey": true,
+ "extrakey": true,
+ "nkro": true,
+ "rgb_matrix": true,
+ "encoder": true,
+ "dip_switch": true
+ },
"layouts": {
"LAYOUT_iso_104": {
"layout": [
diff --git a/keyboards/keychron/q12/iso_encoder/rules.mk b/keyboards/keychron/q12/iso_encoder/rules.mk
index 39b0594039..3652da4b69 100644
--- a/keyboards/keychron/q12/iso_encoder/rules.mk
+++ b/keyboards/keychron/q12/iso_encoder/rules.mk
@@ -1,21 +1,4 @@
-# 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
-ENCODER_ENABLE = yes # Enable Encoder
-DIP_SWITCH_ENABLE = yes
-RGB_MATRIX_ENABLE = yes
-
# custom matrix setup
CUSTOM_MATRIX = lite
-VPATH ?= keyboards/keychron/common
SRC += matrix.c
diff --git a/keyboards/keychron/q12/matrix.c b/keyboards/keychron/q12/matrix.c
index 8229517fd9..9d5e9c4d39 100644
--- a/keyboards/keychron/q12/matrix.c
+++ b/keyboards/keychron/q12/matrix.c
@@ -15,7 +15,8 @@
*/
#include "matrix.h"
-#include "quantum.h"
+#include "atomic_util.h"
+#include <string.h>
// Pin connected to DS of 74HC595
#define DATA_PIN C15
@@ -35,27 +36,27 @@ static pin_t col_pins[MATRIX_COLS] = MATRIX_COL_PINS;
static inline void setPinOutput_writeLow(pin_t pin) {
ATOMIC_BLOCK_FORCEON {
- setPinOutput(pin);
- writePinLow(pin);
+ gpio_set_pin_output(pin);
+ gpio_write_pin_low(pin);
}
}
static inline void setPinOutput_writeHigh(pin_t pin) {
ATOMIC_BLOCK_FORCEON {
- setPinOutput(pin);
- writePinHigh(pin);
+ gpio_set_pin_output(pin);
+ gpio_write_pin_high(pin);
}
}
static inline void setPinInputHigh_atomic(pin_t pin) {
ATOMIC_BLOCK_FORCEON {
- setPinInputHigh(pin);
+ gpio_set_pin_input_high(pin);
}
}
static inline uint8_t readMatrixPin(pin_t pin) {
if (pin != NO_PIN) {
- return readPin(pin);
+ return gpio_read_pin(pin);
} else {
return 1;
}
diff --git a/keyboards/keychron/q1v1/ansi/info.json b/keyboards/keychron/q1v1/ansi/keyboard.json
index 028967d608..028967d608 100644
--- a/keyboards/keychron/q1v1/ansi/info.json
+++ b/keyboards/keychron/q1v1/ansi/keyboard.json
diff --git a/keyboards/keychron/q1v1/ansi/rules.mk b/keyboards/keychron/q1v1/ansi/rules.mk
deleted file mode 100644
index 7ff128fa69..0000000000
--- a/keyboards/keychron/q1v1/ansi/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-# This file intentionally left blank \ No newline at end of file
diff --git a/keyboards/keychron/q1v1/ansi_encoder/info.json b/keyboards/keychron/q1v1/ansi_encoder/keyboard.json
index 786c297fd3..786c297fd3 100644
--- a/keyboards/keychron/q1v1/ansi_encoder/info.json
+++ b/keyboards/keychron/q1v1/ansi_encoder/keyboard.json
diff --git a/keyboards/keychron/q1v1/ansi_encoder/rules.mk b/keyboards/keychron/q1v1/ansi_encoder/rules.mk
deleted file mode 100644
index 6e7633bfe0..0000000000
--- a/keyboards/keychron/q1v1/ansi_encoder/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-# This file intentionally left blank
diff --git a/keyboards/keychron/q1v1/iso/iso.c b/keyboards/keychron/q1v1/iso/iso.c
index affc41d219..ef4f3425af 100644
--- a/keyboards/keychron/q1v1/iso/iso.c
+++ b/keyboards/keychron/q1v1/iso/iso.c
@@ -121,28 +121,28 @@ led_config_t g_led_config = {
// Key Matrix to LED Index
{ 0, __, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 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, 71, 57, 58 },
- { 59, __, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 80, 70, 13 },
- { 72, 73, 74, __, __, __, 75, __, __, __, 76, 77, 78, 79, 81 }
+ { 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 57, 43 },
+ { 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 72, 56, 58 },
+ { 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 81, 71, 13 },
+ { 73, 74, 75, __, __, __, 76, __, __, __, 77, 78, 79, 80, 82 }
},
{
// LED Index to Physical Position
{0,0}, {18,0}, {33,0}, {48,0}, {62,0}, {81,0}, {95,0}, {110,0}, {125,0}, {143,0}, {158,0}, {173,0}, {187,0}, {206,0}, {224,0},
{0,15}, {15,15}, {29,15}, {44,15}, {59,15}, {73,15}, {88,15}, {103,15}, {118,15}, {132,15}, {147,15}, {162,15}, {176,15}, {198,15}, {224,15},
- {4,26}, {22,26}, {37,26}, {51,26}, {66,26}, {81,26}, {95,26}, {110,26}, {125,26}, {140,26}, {154,26}, {169,26}, {184,26}, {202,26}, {224,26},
- {6,38}, {26,38}, {40,38}, {55,38}, {70,38}, {84,38}, {99,38}, {114,38}, {129,38}, {143,38}, {158,38}, {173,38}, {196,38}, {224,38},
- {9,49}, {33,49}, {48,49}, {62,49}, {77,49}, {92,49}, {106,49}, {121,49}, {136,49}, {151,49}, {165,49}, {185,49}, {209,52},
- {2,61}, {20,61}, {39,61}, {94,61}, {147,61}, {162,61}, {176,61}, {195,64}, {209,64}, {224,64}
+ {4,26}, {22,26}, {37,26}, {51,26}, {66,26}, {81,26}, {95,26}, {110,26}, {125,26}, {140,26}, {154,26}, {169,26}, {184,26}, {224,26},
+ {6,38}, {26,38}, {40,38}, {55,38}, {70,38}, {84,38}, {99,38}, {114,38}, {129,38}, {143,38}, {158,38}, {173,38}, {187,38}, {203,32}, {224,38},
+ {2,49}, {18,49}, {33,49}, {48,49}, {62,49}, {77,49}, {92,49}, {106,49}, {121,49}, {136,49}, {151,49}, {165,49}, {185,49}, {209,52},
+ {2,61}, {20,61}, {39,61}, {94,61}, {147,61}, {162,61}, {176,61}, {195,64}, {209,64}, {224,64}
},
{
// RGB LED Index to Flag
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1,
- 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
- 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1,
- 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1,
- 1, 1, 1, 4, 1, 1, 1, 1, 1, 1
+ 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
+ 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1,
+ 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1,
+ 1, 1, 1, 4, 1, 1, 1, 1, 1, 1
}
};
diff --git a/keyboards/keychron/q1v1/iso/info.json b/keyboards/keychron/q1v1/iso/keyboard.json
index 2bd353803e..2bd353803e 100644
--- a/keyboards/keychron/q1v1/iso/info.json
+++ b/keyboards/keychron/q1v1/iso/keyboard.json
diff --git a/keyboards/keychron/q1v1/iso/rules.mk b/keyboards/keychron/q1v1/iso/rules.mk
deleted file mode 100644
index 7ff128fa69..0000000000
--- a/keyboards/keychron/q1v1/iso/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-# This file intentionally left blank \ No newline at end of file
diff --git a/keyboards/keychron/q1v1/iso_encoder/info.json b/keyboards/keychron/q1v1/iso_encoder/keyboard.json
index 780fc7ae82..780fc7ae82 100644
--- a/keyboards/keychron/q1v1/iso_encoder/info.json
+++ b/keyboards/keychron/q1v1/iso_encoder/keyboard.json
diff --git a/keyboards/keychron/q1v1/iso_encoder/rules.mk b/keyboards/keychron/q1v1/iso_encoder/rules.mk
deleted file mode 100644
index 6968c52335..0000000000
--- a/keyboards/keychron/q1v1/iso_encoder/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-# This file intentionally left blank
-
diff --git a/keyboards/keychron/q1v2/ansi/info.json b/keyboards/keychron/q1v2/ansi/keyboard.json
index a72d202d81..a72d202d81 100644
--- a/keyboards/keychron/q1v2/ansi/info.json
+++ b/keyboards/keychron/q1v2/ansi/keyboard.json
diff --git a/keyboards/keychron/q1v2/ansi_encoder/info.json b/keyboards/keychron/q1v2/ansi_encoder/keyboard.json
index 616c444891..616c444891 100644
--- a/keyboards/keychron/q1v2/ansi_encoder/info.json
+++ b/keyboards/keychron/q1v2/ansi_encoder/keyboard.json
diff --git a/keyboards/keychron/q1v2/iso/info.json b/keyboards/keychron/q1v2/iso/keyboard.json
index ed16a3a820..ed16a3a820 100644
--- a/keyboards/keychron/q1v2/iso/info.json
+++ b/keyboards/keychron/q1v2/iso/keyboard.json
diff --git a/keyboards/keychron/q1v2/iso_encoder/info.json b/keyboards/keychron/q1v2/iso_encoder/keyboard.json
index 38e34176b8..38e34176b8 100644
--- a/keyboards/keychron/q1v2/iso_encoder/info.json
+++ b/keyboards/keychron/q1v2/iso_encoder/keyboard.json
diff --git a/keyboards/keychron/q1v2/jis/info.json b/keyboards/keychron/q1v2/jis/keyboard.json
index e704624a66..e704624a66 100644
--- a/keyboards/keychron/q1v2/jis/info.json
+++ b/keyboards/keychron/q1v2/jis/keyboard.json
diff --git a/keyboards/keychron/q1v2/jis_encoder/info.json b/keyboards/keychron/q1v2/jis_encoder/keyboard.json
index 544958f24f..544958f24f 100644
--- a/keyboards/keychron/q1v2/jis_encoder/info.json
+++ b/keyboards/keychron/q1v2/jis_encoder/keyboard.json
diff --git a/keyboards/keychron/q1v2/matrix.c b/keyboards/keychron/q1v2/matrix.c
index d008a79384..8e01bdb73e 100644
--- a/keyboards/keychron/q1v2/matrix.c
+++ b/keyboards/keychron/q1v2/matrix.c
@@ -14,7 +14,9 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-#include "quantum.h"
+#include "matrix.h"
+#include "atomic_util.h"
+#include <string.h>
// Pin connected to DS of 74HC595
#define DATA_PIN A7
@@ -34,27 +36,27 @@ static pin_t col_pins[MATRIX_COLS] = MATRIX_COL_PINS;
static inline void setPinOutput_writeLow(pin_t pin) {
ATOMIC_BLOCK_FORCEON {
- setPinOutput(pin);
- writePinLow(pin);
+ gpio_set_pin_output(pin);
+ gpio_write_pin_low(pin);
}
}
static inline void setPinOutput_writeHigh(pin_t pin) {
ATOMIC_BLOCK_FORCEON {
- setPinOutput(pin);
- writePinHigh(pin);
+ gpio_set_pin_output(pin);
+ gpio_write_pin_high(pin);
}
}
static inline void setPinInputHigh_atomic(pin_t pin) {
ATOMIC_BLOCK_FORCEON {
- setPinInputHigh(pin);
+ gpio_set_pin_input_high(pin);
}
}
static inline uint8_t readMatrixPin(pin_t pin) {
if (pin != NO_PIN) {
- return readPin(pin);
+ return gpio_read_pin(pin);
} else {
return 1;
}
diff --git a/keyboards/keychron/q2/ansi/info.json b/keyboards/keychron/q2/ansi/keyboard.json
index d419d31eef..d419d31eef 100644
--- a/keyboards/keychron/q2/ansi/info.json
+++ b/keyboards/keychron/q2/ansi/keyboard.json
diff --git a/keyboards/keychron/q2/ansi/rules.mk b/keyboards/keychron/q2/ansi/rules.mk
deleted file mode 100644
index 7ff128fa69..0000000000
--- a/keyboards/keychron/q2/ansi/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-# This file intentionally left blank \ No newline at end of file
diff --git a/keyboards/keychron/q2/ansi_encoder/info.json b/keyboards/keychron/q2/ansi_encoder/keyboard.json
index 1e1f22bada..1e1f22bada 100644
--- a/keyboards/keychron/q2/ansi_encoder/info.json
+++ b/keyboards/keychron/q2/ansi_encoder/keyboard.json
diff --git a/keyboards/keychron/q2/ansi_encoder/rules.mk b/keyboards/keychron/q2/ansi_encoder/rules.mk
deleted file mode 100644
index 7ff128fa69..0000000000
--- a/keyboards/keychron/q2/ansi_encoder/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-# This file intentionally left blank \ No newline at end of file
diff --git a/keyboards/keychron/q2/iso/info.json b/keyboards/keychron/q2/iso/keyboard.json
index 8a2023320d..8a2023320d 100644
--- a/keyboards/keychron/q2/iso/info.json
+++ b/keyboards/keychron/q2/iso/keyboard.json
diff --git a/keyboards/keychron/q2/iso/rules.mk b/keyboards/keychron/q2/iso/rules.mk
deleted file mode 100644
index 7ff128fa69..0000000000
--- a/keyboards/keychron/q2/iso/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-# This file intentionally left blank \ No newline at end of file
diff --git a/keyboards/keychron/q2/iso_encoder/info.json b/keyboards/keychron/q2/iso_encoder/keyboard.json
index b828c88931..b828c88931 100644
--- a/keyboards/keychron/q2/iso_encoder/info.json
+++ b/keyboards/keychron/q2/iso_encoder/keyboard.json
diff --git a/keyboards/keychron/q2/iso_encoder/rules.mk b/keyboards/keychron/q2/iso_encoder/rules.mk
deleted file mode 100644
index 7ff128fa69..0000000000
--- a/keyboards/keychron/q2/iso_encoder/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-# This file intentionally left blank \ No newline at end of file
diff --git a/keyboards/keychron/q2/jis/info.json b/keyboards/keychron/q2/jis/keyboard.json
index 834b89332e..834b89332e 100644
--- a/keyboards/keychron/q2/jis/info.json
+++ b/keyboards/keychron/q2/jis/keyboard.json
diff --git a/keyboards/keychron/q2/jis/rules.mk b/keyboards/keychron/q2/jis/rules.mk
deleted file mode 100644
index 6e7633bfe0..0000000000
--- a/keyboards/keychron/q2/jis/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-# This file intentionally left blank
diff --git a/keyboards/keychron/q2/jis_encoder/info.json b/keyboards/keychron/q2/jis_encoder/keyboard.json
index 32b691742b..32b691742b 100644
--- a/keyboards/keychron/q2/jis_encoder/info.json
+++ b/keyboards/keychron/q2/jis_encoder/keyboard.json
diff --git a/keyboards/keychron/q2/jis_encoder/rules.mk b/keyboards/keychron/q2/jis_encoder/rules.mk
deleted file mode 100644
index 6e7633bfe0..0000000000
--- a/keyboards/keychron/q2/jis_encoder/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-# This file intentionally left blank
diff --git a/keyboards/keychron/q3/ansi/info.json b/keyboards/keychron/q3/ansi/keyboard.json
index 2162208082..2162208082 100644
--- a/keyboards/keychron/q3/ansi/info.json
+++ b/keyboards/keychron/q3/ansi/keyboard.json
diff --git a/keyboards/keychron/q3/ansi/rules.mk b/keyboards/keychron/q3/ansi/rules.mk
deleted file mode 100644
index 7ff128fa69..0000000000
--- a/keyboards/keychron/q3/ansi/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-# This file intentionally left blank \ No newline at end of file
diff --git a/keyboards/keychron/q3/ansi_encoder/info.json b/keyboards/keychron/q3/ansi_encoder/keyboard.json
index f3bab2768f..f3bab2768f 100644
--- a/keyboards/keychron/q3/ansi_encoder/info.json
+++ b/keyboards/keychron/q3/ansi_encoder/keyboard.json
diff --git a/keyboards/keychron/q3/iso/info.json b/keyboards/keychron/q3/iso/keyboard.json
index 14e1e96629..14e1e96629 100644
--- a/keyboards/keychron/q3/iso/info.json
+++ b/keyboards/keychron/q3/iso/keyboard.json
diff --git a/keyboards/keychron/q3/iso/rules.mk b/keyboards/keychron/q3/iso/rules.mk
deleted file mode 100644
index 7ff128fa69..0000000000
--- a/keyboards/keychron/q3/iso/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-# This file intentionally left blank \ No newline at end of file
diff --git a/keyboards/keychron/q3/iso_encoder/info.json b/keyboards/keychron/q3/iso_encoder/keyboard.json
index f86e425c9d..f86e425c9d 100644
--- a/keyboards/keychron/q3/iso_encoder/info.json
+++ b/keyboards/keychron/q3/iso_encoder/keyboard.json
diff --git a/keyboards/keychron/q3/jis/info.json b/keyboards/keychron/q3/jis/keyboard.json
index 7a45046f82..7a45046f82 100644
--- a/keyboards/keychron/q3/jis/info.json
+++ b/keyboards/keychron/q3/jis/keyboard.json
diff --git a/keyboards/keychron/q3/jis/rules.mk b/keyboards/keychron/q3/jis/rules.mk
deleted file mode 100644
index 7ff128fa69..0000000000
--- a/keyboards/keychron/q3/jis/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-# This file intentionally left blank \ No newline at end of file
diff --git a/keyboards/keychron/q3/jis_encoder/info.json b/keyboards/keychron/q3/jis_encoder/keyboard.json
index 9fc61c7e6c..9fc61c7e6c 100644
--- a/keyboards/keychron/q3/jis_encoder/info.json
+++ b/keyboards/keychron/q3/jis_encoder/keyboard.json
diff --git a/keyboards/keychron/q3/matrix.c b/keyboards/keychron/q3/matrix.c
index 26830780ff..25b3f6ed4e 100644
--- a/keyboards/keychron/q3/matrix.c
+++ b/keyboards/keychron/q3/matrix.c
@@ -15,7 +15,8 @@
*/
#include "matrix.h"
-#include "quantum.h"
+#include "atomic_util.h"
+#include <string.h>
// Pin connected to DS of 74HC595
#define DATA_PIN A7
@@ -35,27 +36,27 @@ static pin_t col_pins[MATRIX_COLS] = MATRIX_COL_PINS;
static inline void setPinOutput_writeLow(pin_t pin) {
ATOMIC_BLOCK_FORCEON {
- setPinOutput(pin);
- writePinLow(pin);
+ gpio_set_pin_output(pin);
+ gpio_write_pin_low(pin);
}
}
static inline void setPinOutput_writeHigh(pin_t pin) {
ATOMIC_BLOCK_FORCEON {
- setPinOutput(pin);
- writePinHigh(pin);
+ gpio_set_pin_output(pin);
+ gpio_write_pin_high(pin);
}
}
static inline void setPinInputHigh_atomic(pin_t pin) {
ATOMIC_BLOCK_FORCEON {
- setPinInputHigh(pin);
+ gpio_set_pin_input_high(pin);
}
}
static inline uint8_t readMatrixPin(pin_t pin) {
if (pin != NO_PIN) {
- return readPin(pin);
+ return gpio_read_pin(pin);
} else {
return 1;
}
diff --git a/keyboards/keychron/q4/ansi/info.json b/keyboards/keychron/q4/ansi/info.json
index 392ef8fc45..2f99641b25 100644
--- a/keyboards/keychron/q4/ansi/info.json
+++ b/keyboards/keychron/q4/ansi/info.json
@@ -1,7 +1,6 @@
{
"usb": {
- "pid": "0x0140",
- "device_version": "1.0.6"
+ "pid": "0x0140"
},
"rgb_matrix": {
"layout": [
diff --git a/keyboards/keychron/q4/ansi/v1/keyboard.json b/keyboards/keychron/q4/ansi/v1/keyboard.json
new file mode 100644
index 0000000000..00eef71278
--- /dev/null
+++ b/keyboards/keychron/q4/ansi/v1/keyboard.json
@@ -0,0 +1,5 @@
+{
+ "usb": {
+ "device_version": "1.0.6"
+ }
+}
diff --git a/keyboards/keychron/q4/ansi/v1/rules.mk b/keyboards/keychron/q4/ansi/v1/rules.mk
deleted file mode 100644
index 7ff128fa69..0000000000
--- a/keyboards/keychron/q4/ansi/v1/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-# This file intentionally left blank \ No newline at end of file
diff --git a/keyboards/keychron/q4/ansi/v2/keyboard.json b/keyboards/keychron/q4/ansi/v2/keyboard.json
new file mode 100644
index 0000000000..3bdd63ee28
--- /dev/null
+++ b/keyboards/keychron/q4/ansi/v2/keyboard.json
@@ -0,0 +1,5 @@
+{
+ "usb": {
+ "device_version": "2.0.0"
+ }
+}
diff --git a/keyboards/keychron/q4/ansi/v2/rules.mk b/keyboards/keychron/q4/ansi/v2/rules.mk
deleted file mode 100644
index 7ff128fa69..0000000000
--- a/keyboards/keychron/q4/ansi/v2/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-# This file intentionally left blank \ No newline at end of file
diff --git a/keyboards/keychron/q4/info.json b/keyboards/keychron/q4/info.json
index e314477ab9..59f6caef92 100644
--- a/keyboards/keychron/q4/info.json
+++ b/keyboards/keychron/q4/info.json
@@ -16,16 +16,13 @@
}
},
"features": {
- "audio": false,
- "backlight": false,
"bootmagic": true,
"command": false,
"console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
- "rgb_matrix": true,
- "rgblight": false
+ "rgb_matrix": true
},
"matrix_pins": {
"cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9"],
diff --git a/keyboards/keychron/q4/iso/info.json b/keyboards/keychron/q4/iso/keyboard.json
index 13b25f74e0..13b25f74e0 100644
--- a/keyboards/keychron/q4/iso/info.json
+++ b/keyboards/keychron/q4/iso/keyboard.json
diff --git a/keyboards/keychron/q4/iso/rules.mk b/keyboards/keychron/q4/iso/rules.mk
deleted file mode 100644
index 7ff128fa69..0000000000
--- a/keyboards/keychron/q4/iso/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-# This file intentionally left blank \ No newline at end of file
diff --git a/keyboards/keychron/q5/ansi/info.json b/keyboards/keychron/q5/ansi/keyboard.json
index 399b5873da..399b5873da 100644
--- a/keyboards/keychron/q5/ansi/info.json
+++ b/keyboards/keychron/q5/ansi/keyboard.json
diff --git a/keyboards/keychron/q5/ansi_encoder/info.json b/keyboards/keychron/q5/ansi_encoder/keyboard.json
index 479ef38e72..479ef38e72 100644
--- a/keyboards/keychron/q5/ansi_encoder/info.json
+++ b/keyboards/keychron/q5/ansi_encoder/keyboard.json
diff --git a/keyboards/keychron/q5/iso/info.json b/keyboards/keychron/q5/iso/keyboard.json
index 35ba9f9d04..35ba9f9d04 100644
--- a/keyboards/keychron/q5/iso/info.json
+++ b/keyboards/keychron/q5/iso/keyboard.json
diff --git a/keyboards/keychron/q5/iso_encoder/info.json b/keyboards/keychron/q5/iso_encoder/keyboard.json
index 10e6767eaf..10e6767eaf 100644
--- a/keyboards/keychron/q5/iso_encoder/info.json
+++ b/keyboards/keychron/q5/iso_encoder/keyboard.json
diff --git a/keyboards/keychron/q5/matrix.c b/keyboards/keychron/q5/matrix.c
index 28ef877504..e7f69d9821 100644
--- a/keyboards/keychron/q5/matrix.c
+++ b/keyboards/keychron/q5/matrix.c
@@ -15,7 +15,8 @@
*/
#include "matrix.h"
-#include "quantum.h"
+#include "atomic_util.h"
+#include <string.h>
// Pin connected to DS of 74HC595
#define DATA_PIN C15
@@ -35,27 +36,27 @@ static pin_t col_pins[MATRIX_COLS] = MATRIX_COL_PINS;
static inline void setPinOutput_writeLow(pin_t pin) {
ATOMIC_BLOCK_FORCEON {
- setPinOutput(pin);
- writePinLow(pin);
+ gpio_set_pin_output(pin);
+ gpio_write_pin_low(pin);
}
}
static inline void setPinOutput_writeHigh(pin_t pin) {
ATOMIC_BLOCK_FORCEON {
- setPinOutput(pin);
- writePinHigh(pin);
+ gpio_set_pin_output(pin);
+ gpio_write_pin_high(pin);
}
}
static inline void setPinInputHigh_atomic(pin_t pin) {
ATOMIC_BLOCK_FORCEON {
- setPinInputHigh(pin);
+ gpio_set_pin_input_high(pin);
}
}
static inline uint8_t readMatrixPin(pin_t pin) {
if (pin != NO_PIN) {
- return readPin(pin);
+ return gpio_read_pin(pin);
} else {
return 1;
}
diff --git a/keyboards/keychron/q6/ansi/info.json b/keyboards/keychron/q6/ansi/keyboard.json
index d3dbd4a092..664fe87008 100644
--- a/keyboards/keychron/q6/ansi/info.json
+++ b/keyboards/keychron/q6/ansi/keyboard.json
@@ -10,6 +10,17 @@
},
"processor": "STM32L432",
"bootloader": "stm32-dfu",
+ "features": {
+ "bootmagic": true,
+ "mousekey": true,
+ "extrakey": true,
+ "nkro": true,
+ "rgb_matrix": true,
+ "dip_switch": true
+ },
+ "build": {
+ "lto": true
+ },
"layouts": {
"LAYOUT_ansi_108": {
"layout": [
diff --git a/keyboards/keychron/q6/ansi/rules.mk b/keyboards/keychron/q6/ansi/rules.mk
index 9383cc955f..3652da4b69 100644
--- a/keyboards/keychron/q6/ansi/rules.mk
+++ b/keyboards/keychron/q6/ansi/rules.mk
@@ -1,19 +1,3 @@
-# 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 = yes
-RGB_MATRIX_ENABLE = yes
-LTO_ENABLE = yes
-
# custom matrix setup
CUSTOM_MATRIX = lite
diff --git a/keyboards/keychron/q6/ansi_encoder/info.json b/keyboards/keychron/q6/ansi_encoder/keyboard.json
index 8e85336313..a37b68f553 100644
--- a/keyboards/keychron/q6/ansi_encoder/info.json
+++ b/keyboards/keychron/q6/ansi_encoder/keyboard.json
@@ -15,6 +15,18 @@
},
"processor": "STM32L432",
"bootloader": "stm32-dfu",
+ "features": {
+ "bootmagic": true,
+ "mousekey": true,
+ "extrakey": true,
+ "nkro": true,
+ "rgb_matrix": true,
+ "encoder": true,
+ "dip_switch": true
+ },
+ "build": {
+ "lto": true
+ },
"layouts": {
"LAYOUT_ansi_109": {
"layout": [
diff --git a/keyboards/keychron/q6/ansi_encoder/rules.mk b/keyboards/keychron/q6/ansi_encoder/rules.mk
index 929c4532a0..3652da4b69 100644
--- a/keyboards/keychron/q6/ansi_encoder/rules.mk
+++ b/keyboards/keychron/q6/ansi_encoder/rules.mk
@@ -1,20 +1,3 @@
-# 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
-ENCODER_ENABLE = yes # Enable Encoder
-DIP_SWITCH_ENABLE = yes
-RGB_MATRIX_ENABLE = yes
-LTO_ENABLE = yes
-
# custom matrix setup
CUSTOM_MATRIX = lite
diff --git a/keyboards/keychron/q6/iso/info.json b/keyboards/keychron/q6/iso/keyboard.json
index b88af93988..28730b2d74 100644
--- a/keyboards/keychron/q6/iso/info.json
+++ b/keyboards/keychron/q6/iso/keyboard.json
@@ -10,6 +10,17 @@
},
"processor": "STM32L432",
"bootloader": "stm32-dfu",
+ "features": {
+ "bootmagic": true,
+ "mousekey": true,
+ "extrakey": true,
+ "nkro": true,
+ "rgb_matrix": true,
+ "dip_switch": true
+ },
+ "build": {
+ "lto": true
+ },
"layouts": {
"LAYOUT_iso_109": {
"layout": [
diff --git a/keyboards/keychron/q6/iso/rules.mk b/keyboards/keychron/q6/iso/rules.mk
index f16a475f61..3652da4b69 100644
--- a/keyboards/keychron/q6/iso/rules.mk
+++ b/keyboards/keychron/q6/iso/rules.mk
@@ -1,20 +1,3 @@
-# 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 = yes
-RGB_MATRIX_ENABLE = yes
-RAW_ENABLE = yes
-LTO_ENABLE = yes
-
# custom matrix setup
CUSTOM_MATRIX = lite
diff --git a/keyboards/keychron/q6/iso_encoder/info.json b/keyboards/keychron/q6/iso_encoder/keyboard.json
index 54d4613b9c..3fc4ee8f1c 100644
--- a/keyboards/keychron/q6/iso_encoder/info.json
+++ b/keyboards/keychron/q6/iso_encoder/keyboard.json
@@ -15,6 +15,18 @@
},
"processor": "STM32L432",
"bootloader": "stm32-dfu",
+ "features": {
+ "bootmagic": true,
+ "mousekey": true,
+ "extrakey": true,
+ "nkro": true,
+ "rgb_matrix": true,
+ "encoder": true,
+ "dip_switch": true
+ },
+ "build": {
+ "lto": true
+ },
"layouts": {
"LAYOUT_iso_110": {
"layout": [
diff --git a/keyboards/keychron/q6/iso_encoder/rules.mk b/keyboards/keychron/q6/iso_encoder/rules.mk
index 712c2ef1fd..3652da4b69 100644
--- a/keyboards/keychron/q6/iso_encoder/rules.mk
+++ b/keyboards/keychron/q6/iso_encoder/rules.mk
@@ -1,21 +1,3 @@
-# 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
-ENCODER_ENABLE = yes # Enable Encoder
-DIP_SWITCH_ENABLE = yes
-RGB_MATRIX_ENABLE = yes
-RAW_ENABLE = yes
-LTO_ENABLE = yes
-
# custom matrix setup
CUSTOM_MATRIX = lite
diff --git a/keyboards/keychron/q6/matrix.c b/keyboards/keychron/q6/matrix.c
index 11f3432e6b..95e00405b4 100644
--- a/keyboards/keychron/q6/matrix.c
+++ b/keyboards/keychron/q6/matrix.c
@@ -15,7 +15,8 @@
*/
#include "matrix.h"
-#include "quantum.h"
+#include "atomic_util.h"
+#include <string.h>
// Pin connected to DS of 74HC595
#define DATA_PIN C15
@@ -47,27 +48,27 @@ static pin_t col_pins[MATRIX_COLS] = MATRIX_COL_PINS;
static inline void setPinOutput_writeLow(pin_t pin) {
ATOMIC_BLOCK_FORCEON {
- setPinOutput(pin);
- writePinLow(pin);
+ gpio_set_pin_output(pin);
+ gpio_write_pin_low(pin);
}
}
static inline void setPinOutput_writeHigh(pin_t pin) {
ATOMIC_BLOCK_FORCEON {
- setPinOutput(pin);
- writePinHigh(pin);
+ gpio_set_pin_output(pin);
+ gpio_write_pin_high(pin);
}
}
static inline void setPinInputHigh_atomic(pin_t pin) {
ATOMIC_BLOCK_FORCEON {
- setPinInputHigh(pin);
+ gpio_set_pin_input_high(pin);
}
}
static inline uint8_t readMatrixPin(pin_t pin) {
if (pin != NO_PIN) {
- return readPin(pin);
+ return gpio_read_pin(pin);
} else {
return 1;
}
diff --git a/keyboards/keychron/q60/ansi/info.json b/keyboards/keychron/q60/ansi/keyboard.json
index 1d074c5e3c..4d6f680890 100644
--- a/keyboards/keychron/q60/ansi/info.json
+++ b/keyboards/keychron/q60/ansi/keyboard.json
@@ -8,6 +8,16 @@
"pid": "0x01C0",
"device_version": "1.0.0"
},
+ "features": {
+ "bootmagic": true,
+ "command": false,
+ "console": false,
+ "dip_switch": true,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": true,
+ "rgb_matrix": true
+ },
"matrix_pins": {
"cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9"],
"rows": ["B4", "B3", "A15", "A14", "A13"]
diff --git a/keyboards/keychron/q60/ansi/rules.mk b/keyboards/keychron/q60/ansi/rules.mk
deleted file mode 100644
index 468ed6fae3..0000000000
--- a/keyboards/keychron/q60/ansi/rules.mk
+++ /dev/null
@@ -1,14 +0,0 @@
-# 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 = yes
-RGB_MATRIX_ENABLE = yes
diff --git a/keyboards/keychron/q65/ansi_encoder/info.json b/keyboards/keychron/q65/ansi_encoder/keyboard.json
index 2d622b869c..76b17dd5fb 100644
--- a/keyboards/keychron/q65/ansi_encoder/info.json
+++ b/keyboards/keychron/q65/ansi_encoder/keyboard.json
@@ -18,6 +18,15 @@
},
"processor": "STM32L432",
"bootloader": "stm32-dfu",
+ "features": {
+ "bootmagic": true,
+ "mousekey": true,
+ "extrakey": true,
+ "nkro": true,
+ "encoder": true,
+ "dip_switch": true,
+ "rgb_matrix": true
+ },
"layouts": {
"LAYOUT_ansi_73": {
"layout": [
diff --git a/keyboards/keychron/q65/ansi_encoder/rules.mk b/keyboards/keychron/q65/ansi_encoder/rules.mk
index 4c6e5bebf0..3652da4b69 100644
--- a/keyboards/keychron/q65/ansi_encoder/rules.mk
+++ b/keyboards/keychron/q65/ansi_encoder/rules.mk
@@ -1,19 +1,3 @@
-# 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
-ENCODER_ENABLE = yes # Enable Encoder
-DIP_SWITCH_ENABLE = yes
-RGB_MATRIX_ENABLE = yes
-
# custom matrix setup
CUSTOM_MATRIX = lite
diff --git a/keyboards/keychron/q65/matrix.c b/keyboards/keychron/q65/matrix.c
index 5785f5d570..c9f9888689 100644
--- a/keyboards/keychron/q65/matrix.c
+++ b/keyboards/keychron/q65/matrix.c
@@ -15,7 +15,8 @@
*/
#include "matrix.h"
-#include "quantum.h"
+#include "atomic_util.h"
+#include <string.h>
// Pin connected to DS of 74HC595
#define DATA_PIN C15
@@ -35,32 +36,32 @@ static const pin_t col_pins[MATRIX_COLS] = MATRIX_COL_PINS;
static inline void writePinLow_atomic(pin_t pin) {
ATOMIC_BLOCK_FORCEON {
- writePinLow(pin);
+ gpio_write_pin_low(pin);
}
}
static inline void writePinHigh_atomic(pin_t pin) {
ATOMIC_BLOCK_FORCEON {
- writePinHigh(pin);
+ gpio_write_pin_high(pin);
}
}
static inline void setPinOutput_writeLow(pin_t pin) {
ATOMIC_BLOCK_FORCEON {
- setPinOutput(pin);
- writePinLow(pin);
+ gpio_set_pin_output(pin);
+ gpio_write_pin_low(pin);
}
}
static inline void setPinInputHigh_atomic(pin_t pin) {
ATOMIC_BLOCK_FORCEON {
- setPinInputHigh(pin);
+ gpio_set_pin_input_high(pin);
}
}
static inline uint8_t readMatrixPin(pin_t pin) {
if (pin != NO_PIN) {
- return readPin(pin);
+ return gpio_read_pin(pin);
} else {
return 1;
}
@@ -75,20 +76,20 @@ static void shiftOut(uint8_t dataOut) {
for (uint8_t i = 0; i < 8; i++) {
compiler_barrier();
if (dataOut & 0x1) {
- writePinHigh(DATA_PIN);
+ gpio_write_pin_high(DATA_PIN);
} else {
- writePinLow(DATA_PIN);
+ gpio_write_pin_low(DATA_PIN);
}
dataOut = dataOut >> 1;
compiler_barrier();
- writePinHigh(CLOCK_PIN);
+ gpio_write_pin_high(CLOCK_PIN);
small_delay();
- writePinLow(CLOCK_PIN);
+ gpio_write_pin_low(CLOCK_PIN);
}
compiler_barrier();
- writePinHigh(LATCH_PIN);
+ gpio_write_pin_high(LATCH_PIN);
small_delay();
- writePinLow(LATCH_PIN);
+ gpio_write_pin_low(LATCH_PIN);
compiler_barrier();
}
}
@@ -97,18 +98,18 @@ static void shiftout_single(uint8_t data) {
ATOMIC_BLOCK_FORCEON {
compiler_barrier();
if (data & 0x1) {
- writePinHigh(DATA_PIN);
+ gpio_write_pin_high(DATA_PIN);
} else {
- writePinLow(DATA_PIN);
+ gpio_write_pin_low(DATA_PIN);
}
compiler_barrier();
- writePinHigh(CLOCK_PIN);
+ gpio_write_pin_high(CLOCK_PIN);
small_delay();
- writePinLow(CLOCK_PIN);
+ gpio_write_pin_low(CLOCK_PIN);
compiler_barrier();
- writePinHigh(LATCH_PIN);
+ gpio_write_pin_high(LATCH_PIN);
small_delay();
- writePinLow(LATCH_PIN);
+ gpio_write_pin_low(LATCH_PIN);
compiler_barrier();
}
}
@@ -164,13 +165,13 @@ static void unselect_cols(void) {
}
static void matrix_init_pins(void) {
- setPinOutput(DATA_PIN);
- setPinOutput(CLOCK_PIN);
- setPinOutput(LATCH_PIN);
+ gpio_set_pin_output(DATA_PIN);
+ gpio_set_pin_output(CLOCK_PIN);
+ gpio_set_pin_output(LATCH_PIN);
#ifdef MATRIX_UNSELECT_DRIVE_HIGH
for (uint8_t x = 0; x < MATRIX_COLS; x++) {
if (col_pins[x] != NO_PIN) {
- setPinOutput(col_pins[x]);
+ gpio_set_pin_output(col_pins[x]);
}
}
#endif
diff --git a/keyboards/keychron/q7/ansi/info.json b/keyboards/keychron/q7/ansi/keyboard.json
index 62cff888e1..62cff888e1 100644
--- a/keyboards/keychron/q7/ansi/info.json
+++ b/keyboards/keychron/q7/ansi/keyboard.json
diff --git a/keyboards/keychron/q7/ansi/rules.mk b/keyboards/keychron/q7/ansi/rules.mk
deleted file mode 100644
index 6e7633bfe0..0000000000
--- a/keyboards/keychron/q7/ansi/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-# This file intentionally left blank
diff --git a/keyboards/keychron/q7/iso/info.json b/keyboards/keychron/q7/iso/keyboard.json
index d98ec8fa5e..d98ec8fa5e 100644
--- a/keyboards/keychron/q7/iso/info.json
+++ b/keyboards/keychron/q7/iso/keyboard.json
diff --git a/keyboards/keychron/q7/iso/rules.mk b/keyboards/keychron/q7/iso/rules.mk
deleted file mode 100644
index 6e7633bfe0..0000000000
--- a/keyboards/keychron/q7/iso/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-# This file intentionally left blank
diff --git a/keyboards/keychron/q8/ansi/info.json b/keyboards/keychron/q8/ansi/keyboard.json
index 2580b4163e..2580b4163e 100644
--- a/keyboards/keychron/q8/ansi/info.json
+++ b/keyboards/keychron/q8/ansi/keyboard.json
diff --git a/keyboards/keychron/q8/ansi/rules.mk b/keyboards/keychron/q8/ansi/rules.mk
deleted file mode 100644
index 7ff128fa69..0000000000
--- a/keyboards/keychron/q8/ansi/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-# This file intentionally left blank \ No newline at end of file
diff --git a/keyboards/keychron/q8/ansi_encoder/info.json b/keyboards/keychron/q8/ansi_encoder/keyboard.json
index b3f82637db..b3f82637db 100644
--- a/keyboards/keychron/q8/ansi_encoder/info.json
+++ b/keyboards/keychron/q8/ansi_encoder/keyboard.json
diff --git a/keyboards/keychron/q8/ansi_encoder/rules.mk b/keyboards/keychron/q8/ansi_encoder/rules.mk
deleted file mode 100644
index 6e7633bfe0..0000000000
--- a/keyboards/keychron/q8/ansi_encoder/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-# This file intentionally left blank
diff --git a/keyboards/keychron/q8/iso/info.json b/keyboards/keychron/q8/iso/keyboard.json
index fe87955c39..fe87955c39 100644
--- a/keyboards/keychron/q8/iso/info.json
+++ b/keyboards/keychron/q8/iso/keyboard.json
diff --git a/keyboards/keychron/q8/iso/rules.mk b/keyboards/keychron/q8/iso/rules.mk
deleted file mode 100644
index 7ff128fa69..0000000000
--- a/keyboards/keychron/q8/iso/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-# This file intentionally left blank \ No newline at end of file
diff --git a/keyboards/keychron/q8/iso_encoder/info.json b/keyboards/keychron/q8/iso_encoder/keyboard.json
index 46a93ec63b..46a93ec63b 100644
--- a/keyboards/keychron/q8/iso_encoder/info.json
+++ b/keyboards/keychron/q8/iso_encoder/keyboard.json
diff --git a/keyboards/keychron/q8/iso_encoder/rules.mk b/keyboards/keychron/q8/iso_encoder/rules.mk
deleted file mode 100644
index 6e7633bfe0..0000000000
--- a/keyboards/keychron/q8/iso_encoder/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-# This file intentionally left blank
diff --git a/keyboards/keychron/q9/ansi/info.json b/keyboards/keychron/q9/ansi/keyboard.json
index ec5f367ed1..ec5f367ed1 100644
--- a/keyboards/keychron/q9/ansi/info.json
+++ b/keyboards/keychron/q9/ansi/keyboard.json
diff --git a/keyboards/keychron/q9/ansi/rules.mk b/keyboards/keychron/q9/ansi/rules.mk
deleted file mode 100644
index 6e7633bfe0..0000000000
--- a/keyboards/keychron/q9/ansi/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-# This file intentionally left blank
diff --git a/keyboards/keychron/q9/ansi_encoder/info.json b/keyboards/keychron/q9/ansi_encoder/keyboard.json
index 0fc135771a..0fc135771a 100644
--- a/keyboards/keychron/q9/ansi_encoder/info.json
+++ b/keyboards/keychron/q9/ansi_encoder/keyboard.json
diff --git a/keyboards/keychron/q9/ansi_encoder/rules.mk b/keyboards/keychron/q9/ansi_encoder/rules.mk
deleted file mode 100644
index 6e7633bfe0..0000000000
--- a/keyboards/keychron/q9/ansi_encoder/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-# This file intentionally left blank
diff --git a/keyboards/keychron/q9/iso/info.json b/keyboards/keychron/q9/iso/keyboard.json
index 19a818ebb8..19a818ebb8 100644
--- a/keyboards/keychron/q9/iso/info.json
+++ b/keyboards/keychron/q9/iso/keyboard.json
diff --git a/keyboards/keychron/q9/iso/rules.mk b/keyboards/keychron/q9/iso/rules.mk
deleted file mode 100644
index 6e7633bfe0..0000000000
--- a/keyboards/keychron/q9/iso/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-# This file intentionally left blank
diff --git a/keyboards/keychron/q9/iso_encoder/info.json b/keyboards/keychron/q9/iso_encoder/keyboard.json
index 087c2f8188..087c2f8188 100644
--- a/keyboards/keychron/q9/iso_encoder/info.json
+++ b/keyboards/keychron/q9/iso_encoder/keyboard.json
diff --git a/keyboards/keychron/q9/iso_encoder/rules.mk b/keyboards/keychron/q9/iso_encoder/rules.mk
deleted file mode 100644
index 7ff128fa69..0000000000
--- a/keyboards/keychron/q9/iso_encoder/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-# This file intentionally left blank \ No newline at end of file
diff --git a/keyboards/keychron/q9_plus/ansi_encoder/info.json b/keyboards/keychron/q9_plus/ansi_encoder/keyboard.json
index c465071ca1..c465071ca1 100755
--- a/keyboards/keychron/q9_plus/ansi_encoder/info.json
+++ b/keyboards/keychron/q9_plus/ansi_encoder/keyboard.json
diff --git a/keyboards/keychron/q9_plus/ansi_encoder/rules.mk b/keyboards/keychron/q9_plus/ansi_encoder/rules.mk
deleted file mode 100755
index e69de29bb2..0000000000
--- a/keyboards/keychron/q9_plus/ansi_encoder/rules.mk
+++ /dev/null
diff --git a/keyboards/keychron/s1/ansi/rgb/info.json b/keyboards/keychron/s1/ansi/rgb/keyboard.json
index 2e78ccfe42..23ea66071e 100644
--- a/keyboards/keychron/s1/ansi/rgb/info.json
+++ b/keyboards/keychron/s1/ansi/rgb/keyboard.json
@@ -35,6 +35,16 @@
"driver": "snled27351",
"sleep": true
},
+ "features": {
+ "bootmagic": true,
+ "command": false,
+ "console": false,
+ "dip_switch": true,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": true,
+ "rgb_matrix": true
+ },
"matrix_pins": {
"cols": ["A10", "A9", "A8", "B1", "B0", "A7", "A6", "A5", "A4", "A3", "A2", "A1", "A0", "C15", "C14"],
"rows": ["B5", "B4", "B3", "A15", "A14", "A13"]
diff --git a/keyboards/keychron/s1/ansi/rgb/rules.mk b/keyboards/keychron/s1/ansi/rgb/rules.mk
deleted file mode 100644
index cf31e094cb..0000000000
--- a/keyboards/keychron/s1/ansi/rgb/rules.mk
+++ /dev/null
@@ -1,14 +0,0 @@
-# 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 = yes
-RGB_MATRIX_ENABLE = yes
diff --git a/keyboards/keychron/s1/ansi/white/info.json b/keyboards/keychron/s1/ansi/white/keyboard.json
index 0e20c9ebe6..cab38a4ae6 100644
--- a/keyboards/keychron/s1/ansi/white/info.json
+++ b/keyboards/keychron/s1/ansi/white/keyboard.json
@@ -35,6 +35,16 @@
"sleep": true,
"react_on_keyup": true
},
+ "features": {
+ "bootmagic": true,
+ "command": false,
+ "console": false,
+ "dip_switch": true,
+ "extrakey": true,
+ "led_matrix": true,
+ "mousekey": true,
+ "nkro": true
+ },
"matrix_pins": {
"cols": ["A10", "A9", "A8", "B1", "B0", "A7", "A6", "A5", "A4", "A3", "A2", "A1", "A0", "C15", "C14"],
"rows": ["B5", "B4", "B3", "A15", "A14", "A13"]
diff --git a/keyboards/keychron/s1/ansi/white/keymaps/default/keymap.c b/keyboards/keychron/s1/ansi/white/keymaps/default/keymap.c
index 00dc1c0779..1ee0339429 100644
--- a/keyboards/keychron/s1/ansi/white/keymaps/default/keymap.c
+++ b/keyboards/keychron/s1/ansi/white/keymaps/default/keymap.c
@@ -30,7 +30,7 @@ enum layers{
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[MAC_BASE] = LAYOUT_75_ansi(
- KC_ESC, KC_BRID, KC_BRIU, KC_NO, KC_NO, BL_DOWN, BL_UP, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_NO, KC_DEL, BL_STEP,
+ KC_ESC, KC_BRID, KC_BRIU, KC_NO, KC_NO, LM_BRID, LM_BRIU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_NO, KC_DEL, LM_NEXT,
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,
@@ -38,15 +38,15 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_LCTL, KC_LOPT, KC_LCMD, KC_SPC, KC_RCMD, MO(MAC_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
[MAC_FN] = LAYOUT_75_ansi(
- _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, BL_TOGG,
+ _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, LM_TOGG,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- BL_TOGG, BL_STEP, BL_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, BL_DOWN, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ LM_TOGG, LM_NEXT, LM_BRIU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, LM_BRID, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
[WIN_BASE] = LAYOUT_75_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_DEL, BL_STEP,
+ 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_DEL, LM_NEXT,
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,
@@ -54,10 +54,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_LCTL, KC_LWIN, KC_LALT, KC_SPC, KC_RALT, MO(WIN_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
[WIN_FN] = LAYOUT_75_ansi(
- _______, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, BL_DOWN, BL_UP, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, BL_TOGG,
+ _______, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, LM_BRID, LM_BRIU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, LM_TOGG,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- BL_TOGG, BL_STEP, BL_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, BL_DOWN, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ LM_TOGG, LM_NEXT, LM_BRIU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, LM_BRID, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
};
diff --git a/keyboards/keychron/s1/ansi/white/keymaps/keychron/keymap.c b/keyboards/keychron/s1/ansi/white/keymaps/keychron/keymap.c
index baced4f97c..cf08007176 100644
--- a/keyboards/keychron/s1/ansi/white/keymaps/keychron/keymap.c
+++ b/keyboards/keychron/s1/ansi/white/keymaps/keychron/keymap.c
@@ -28,7 +28,7 @@ enum layers {
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[MAC_BASE] = LAYOUT_75_ansi(
- KC_ESC, KC_BRID, KC_BRIU, KC_MCTL, KC_LPAD, BL_DOWN, BL_UP, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_SNAP, KC_DEL, BL_STEP,
+ KC_ESC, KC_BRID, KC_BRIU, KC_MCTL, KC_LPAD, LM_BRID, LM_BRIU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_SNAP, KC_DEL, LM_NEXT,
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,
@@ -36,15 +36,15 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_LCTL, KC_LOPTN, KC_LCMMD, KC_SPC, KC_RCMMD,MO(MAC_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
[MAC_FN] = LAYOUT_75_ansi(
- _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, BL_TOGG,
+ _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, LM_TOGG,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- BL_TOGG, BL_STEP, BL_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, BL_DOWN, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ LM_TOGG, LM_NEXT, LM_BRIU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, LM_BRID, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
[WIN_BASE] = LAYOUT_75_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_DEL, BL_STEP,
+ 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_DEL, LM_NEXT,
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,
@@ -52,10 +52,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_LCTL, KC_LWIN, KC_LALT, KC_SPC, KC_RALT, MO(WIN_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
[WIN_FN] = LAYOUT_75_ansi(
- _______, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, BL_DOWN, BL_UP, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, BL_TOGG,
+ _______, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, LM_BRID, LM_BRIU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, LM_TOGG,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- BL_TOGG, BL_STEP, BL_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, BL_DOWN, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ LM_TOGG, LM_NEXT, LM_BRIU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, LM_BRID, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
};
diff --git a/keyboards/keychron/s1/ansi/white/keymaps/via/keymap.c b/keyboards/keychron/s1/ansi/white/keymaps/via/keymap.c
index 10d2e08aef..a515205b3a 100644
--- a/keyboards/keychron/s1/ansi/white/keymaps/via/keymap.c
+++ b/keyboards/keychron/s1/ansi/white/keymaps/via/keymap.c
@@ -30,7 +30,7 @@ enum layers {
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[MAC_BASE] = LAYOUT_75_ansi(
- KC_ESC, KC_BRID, KC_BRIU, KC_NO, KC_NO, BL_DOWN, BL_UP, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_NO, KC_DEL, BL_STEP,
+ KC_ESC, KC_BRID, KC_BRIU, KC_NO, KC_NO, LM_BRID, LM_BRIU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_NO, KC_DEL, LM_NEXT,
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,
@@ -38,15 +38,15 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_LCTL, KC_LOPT, KC_LCMD, KC_SPC, KC_RCMD, MO(MAC_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
[MAC_FN] = LAYOUT_75_ansi(
- _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, BL_TOGG,
+ _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, LM_TOGG,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- BL_TOGG, BL_STEP, BL_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, BL_DOWN, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ LM_TOGG, LM_NEXT, LM_BRIU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, LM_BRID, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
[WIN_BASE] = LAYOUT_75_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_DEL, BL_STEP,
+ 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_DEL, LM_NEXT,
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,
@@ -54,10 +54,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_LCTL, KC_LWIN, KC_LALT, KC_SPC, KC_RALT, MO(WIN_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
[WIN_FN] = LAYOUT_75_ansi(
- _______, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, BL_DOWN, BL_UP, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, BL_TOGG,
+ _______, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, LM_BRID, LM_BRIU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, LM_TOGG,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- BL_TOGG, BL_STEP, BL_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, BL_DOWN, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ LM_TOGG, LM_NEXT, LM_BRIU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, LM_BRID, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
};
diff --git a/keyboards/keychron/s1/ansi/white/rules.mk b/keyboards/keychron/s1/ansi/white/rules.mk
deleted file mode 100644
index afcbe18d62..0000000000
--- a/keyboards/keychron/s1/ansi/white/rules.mk
+++ /dev/null
@@ -1,14 +0,0 @@
-# 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 = yes
-LED_MATRIX_ENABLE = yes
diff --git a/keyboards/keychron/s1/s1.c b/keyboards/keychron/s1/s1.c
index 2f1b905505..51bc0596c4 100644
--- a/keyboards/keychron/s1/s1.c
+++ b/keyboards/keychron/s1/s1.c
@@ -78,7 +78,7 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
if (!process_record_user(keycode, record)) { return false; }
switch (keycode) {
#ifdef LED_MATRIX_ENABLE
- case BL_TOGG:
+ case LM_TOGG:
if (record->event.pressed) {
switch (led_matrix_get_flags()) {
case LED_FLAG_ALL: {
diff --git a/keyboards/keychron/v1/ansi/info.json b/keyboards/keychron/v1/ansi/keyboard.json
index db2526e244..d4bbca78de 100644
--- a/keyboards/keychron/v1/ansi/info.json
+++ b/keyboards/keychron/v1/ansi/keyboard.json
@@ -10,6 +10,14 @@
},
"processor": "STM32L432",
"bootloader": "stm32-dfu",
+ "features": {
+ "bootmagic": true,
+ "mousekey": true,
+ "extrakey": true,
+ "nkro": true,
+ "dip_switch": true,
+ "rgb_matrix": true
+ },
"layouts": {
"LAYOUT_ansi_82": {
"layout": [
diff --git a/keyboards/keychron/v1/ansi/rules.mk b/keyboards/keychron/v1/ansi/rules.mk
index 465dfa9348..3652da4b69 100644
--- a/keyboards/keychron/v1/ansi/rules.mk
+++ b/keyboards/keychron/v1/ansi/rules.mk
@@ -1,18 +1,3 @@
-# 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 = yes
-RGB_MATRIX_ENABLE = yes
-
# custom matrix setup
CUSTOM_MATRIX = lite
diff --git a/keyboards/keychron/v1/ansi_encoder/info.json b/keyboards/keychron/v1/ansi_encoder/keyboard.json
index 621010039d..62bbeb9d5d 100644
--- a/keyboards/keychron/v1/ansi_encoder/info.json
+++ b/keyboards/keychron/v1/ansi_encoder/keyboard.json
@@ -15,6 +15,15 @@
},
"processor": "STM32L432",
"bootloader": "stm32-dfu",
+ "features": {
+ "bootmagic": true,
+ "mousekey": true,
+ "extrakey": true,
+ "nkro": true,
+ "encoder": true,
+ "dip_switch": true,
+ "rgb_matrix": true
+ },
"layouts": {
"LAYOUT_ansi_82": {
"layout": [
diff --git a/keyboards/keychron/v1/ansi_encoder/rules.mk b/keyboards/keychron/v1/ansi_encoder/rules.mk
index 4c6e5bebf0..3652da4b69 100644
--- a/keyboards/keychron/v1/ansi_encoder/rules.mk
+++ b/keyboards/keychron/v1/ansi_encoder/rules.mk
@@ -1,19 +1,3 @@
-# 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
-ENCODER_ENABLE = yes # Enable Encoder
-DIP_SWITCH_ENABLE = yes
-RGB_MATRIX_ENABLE = yes
-
# custom matrix setup
CUSTOM_MATRIX = lite
diff --git a/keyboards/keychron/v1/iso/info.json b/keyboards/keychron/v1/iso/keyboard.json
index 9047aa2bb2..6e307ea4df 100644
--- a/keyboards/keychron/v1/iso/info.json
+++ b/keyboards/keychron/v1/iso/keyboard.json
@@ -10,6 +10,14 @@
},
"processor": "STM32L432",
"bootloader": "stm32-dfu",
+ "features": {
+ "bootmagic": true,
+ "mousekey": true,
+ "extrakey": true,
+ "nkro": true,
+ "rgb_matrix": true,
+ "dip_switch": true
+ },
"layouts": {
"LAYOUT_iso_83": {
"layout": [
diff --git a/keyboards/keychron/v1/iso/rules.mk b/keyboards/keychron/v1/iso/rules.mk
index 465dfa9348..3652da4b69 100644
--- a/keyboards/keychron/v1/iso/rules.mk
+++ b/keyboards/keychron/v1/iso/rules.mk
@@ -1,18 +1,3 @@
-# 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 = yes
-RGB_MATRIX_ENABLE = yes
-
# custom matrix setup
CUSTOM_MATRIX = lite
diff --git a/keyboards/keychron/v1/iso_encoder/info.json b/keyboards/keychron/v1/iso_encoder/keyboard.json
index 557585f82d..077cb045b2 100644
--- a/keyboards/keychron/v1/iso_encoder/info.json
+++ b/keyboards/keychron/v1/iso_encoder/keyboard.json
@@ -15,6 +15,15 @@
},
"processor": "STM32L432",
"bootloader": "stm32-dfu",
+ "features": {
+ "bootmagic": true,
+ "mousekey": true,
+ "extrakey": true,
+ "nkro": true,
+ "rgb_matrix": true,
+ "encoder": true,
+ "dip_switch": true
+ },
"layouts": {
"LAYOUT_iso_83": {
"layout": [
diff --git a/keyboards/keychron/v1/iso_encoder/rules.mk b/keyboards/keychron/v1/iso_encoder/rules.mk
index 4c6e5bebf0..3652da4b69 100644
--- a/keyboards/keychron/v1/iso_encoder/rules.mk
+++ b/keyboards/keychron/v1/iso_encoder/rules.mk
@@ -1,19 +1,3 @@
-# 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
-ENCODER_ENABLE = yes # Enable Encoder
-DIP_SWITCH_ENABLE = yes
-RGB_MATRIX_ENABLE = yes
-
# custom matrix setup
CUSTOM_MATRIX = lite
diff --git a/keyboards/keychron/v1/jis/info.json b/keyboards/keychron/v1/jis/keyboard.json
index 1678c93c66..a6a43a75da 100644
--- a/keyboards/keychron/v1/jis/info.json
+++ b/keyboards/keychron/v1/jis/keyboard.json
@@ -10,6 +10,14 @@
},
"processor": "STM32L432",
"bootloader": "stm32-dfu",
+ "features": {
+ "bootmagic": true,
+ "mousekey": true,
+ "extrakey": true,
+ "nkro": true,
+ "rgb_matrix": true,
+ "dip_switch": true
+ },
"layouts": {
"LAYOUT_jis_86": {
"layout": [
diff --git a/keyboards/keychron/v1/jis/rules.mk b/keyboards/keychron/v1/jis/rules.mk
index 465dfa9348..3652da4b69 100644
--- a/keyboards/keychron/v1/jis/rules.mk
+++ b/keyboards/keychron/v1/jis/rules.mk
@@ -1,18 +1,3 @@
-# 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 = yes
-RGB_MATRIX_ENABLE = yes
-
# custom matrix setup
CUSTOM_MATRIX = lite
diff --git a/keyboards/keychron/v1/jis_encoder/info.json b/keyboards/keychron/v1/jis_encoder/keyboard.json
index 7064bcdd55..4e39e3d4a8 100644
--- a/keyboards/keychron/v1/jis_encoder/info.json
+++ b/keyboards/keychron/v1/jis_encoder/keyboard.json
@@ -15,6 +15,15 @@
},
"processor": "STM32L432",
"bootloader": "stm32-dfu",
+ "features": {
+ "bootmagic": true,
+ "mousekey": true,
+ "extrakey": true,
+ "nkro": true,
+ "rgb_matrix": true,
+ "encoder": true,
+ "dip_switch": true
+ },
"layouts": {
"LAYOUT_jis_86": {
"layout": [
diff --git a/keyboards/keychron/v1/jis_encoder/rules.mk b/keyboards/keychron/v1/jis_encoder/rules.mk
index 4c6e5bebf0..3652da4b69 100644
--- a/keyboards/keychron/v1/jis_encoder/rules.mk
+++ b/keyboards/keychron/v1/jis_encoder/rules.mk
@@ -1,19 +1,3 @@
-# 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
-ENCODER_ENABLE = yes # Enable Encoder
-DIP_SWITCH_ENABLE = yes
-RGB_MATRIX_ENABLE = yes
-
# custom matrix setup
CUSTOM_MATRIX = lite
diff --git a/keyboards/keychron/v1/matrix.c b/keyboards/keychron/v1/matrix.c
index 82a883834f..32d9cfdbb0 100644
--- a/keyboards/keychron/v1/matrix.c
+++ b/keyboards/keychron/v1/matrix.c
@@ -15,7 +15,8 @@
*/
#include "matrix.h"
-#include "quantum.h"
+#include "atomic_util.h"
+#include <string.h>
// Pin connected to DS of 74HC595
#define DATA_PIN A7
@@ -35,27 +36,27 @@ static pin_t col_pins[MATRIX_COLS] = MATRIX_COL_PINS;
static inline void setPinOutput_writeLow(pin_t pin) {
ATOMIC_BLOCK_FORCEON {
- setPinOutput(pin);
- writePinLow(pin);
+ gpio_set_pin_output(pin);
+ gpio_write_pin_low(pin);
}
}
static inline void setPinOutput_writeHigh(pin_t pin) {
ATOMIC_BLOCK_FORCEON {
- setPinOutput(pin);
- writePinHigh(pin);
+ gpio_set_pin_output(pin);
+ gpio_write_pin_high(pin);
}
}
static inline void setPinInputHigh_atomic(pin_t pin) {
ATOMIC_BLOCK_FORCEON {
- setPinInputHigh(pin);
+ gpio_set_pin_input_high(pin);
}
}
static inline uint8_t readMatrixPin(pin_t pin) {
if (pin != NO_PIN) {
- return readPin(pin);
+ return gpio_read_pin(pin);
} else {
return 1;
}
@@ -70,20 +71,20 @@ static void shiftOut(uint8_t dataOut) {
for (uint8_t i = 0; i < 8; i++) {
compiler_barrier();
if (dataOut & 0x1) {
- writePinHigh(DATA_PIN);
+ gpio_write_pin_high(DATA_PIN);
} else {
- writePinLow(DATA_PIN);
+ gpio_write_pin_low(DATA_PIN);
}
dataOut = dataOut >> 1;
compiler_barrier();
- writePinHigh(CLOCK_PIN);
+ gpio_write_pin_high(CLOCK_PIN);
small_delay();
- writePinLow(CLOCK_PIN);
+ gpio_write_pin_low(CLOCK_PIN);
}
compiler_barrier();
- writePinHigh(LATCH_PIN);
+ gpio_write_pin_high(LATCH_PIN);
small_delay();
- writePinLow(LATCH_PIN);
+ gpio_write_pin_low(LATCH_PIN);
compiler_barrier();
}
}
@@ -92,18 +93,18 @@ static void shiftOut_single(uint8_t data) {
ATOMIC_BLOCK_FORCEON {
compiler_barrier();
if (data & 0x1) {
- writePinHigh(DATA_PIN);
+ gpio_write_pin_high(DATA_PIN);
} else {
- writePinLow(DATA_PIN);
+ gpio_write_pin_low(DATA_PIN);
}
compiler_barrier();
- writePinHigh(CLOCK_PIN);
+ gpio_write_pin_high(CLOCK_PIN);
small_delay();
- writePinLow(CLOCK_PIN);
+ gpio_write_pin_low(CLOCK_PIN);
compiler_barrier();
- writePinHigh(LATCH_PIN);
+ gpio_write_pin_high(LATCH_PIN);
small_delay();
- writePinLow(LATCH_PIN);
+ gpio_write_pin_low(LATCH_PIN);
compiler_barrier();
}
}
@@ -155,13 +156,13 @@ static void unselect_cols(void) {
}
static void matrix_init_pins(void) {
- setPinOutput(DATA_PIN);
- setPinOutput(CLOCK_PIN);
- setPinOutput(LATCH_PIN);
+ gpio_set_pin_output(DATA_PIN);
+ gpio_set_pin_output(CLOCK_PIN);
+ gpio_set_pin_output(LATCH_PIN);
#ifdef MATRIX_UNSELECT_DRIVE_HIGH
for (uint8_t x = 0; x < MATRIX_COLS; x++) {
if (col_pins[x] != NO_PIN) {
- setPinOutput(col_pins[x]);
+ gpio_set_pin_output(col_pins[x]);
}
}
#endif
diff --git a/keyboards/keychron/v10/ansi_encoder/info.json b/keyboards/keychron/v10/ansi_encoder/keyboard.json
index 6cbc00a7f6..825fa65ef8 100644
--- a/keyboards/keychron/v10/ansi_encoder/info.json
+++ b/keyboards/keychron/v10/ansi_encoder/keyboard.json
@@ -18,6 +18,15 @@
},
"processor": "STM32L432",
"bootloader": "stm32-dfu",
+ "features": {
+ "bootmagic": true,
+ "mousekey": true,
+ "extrakey": true,
+ "nkro": true,
+ "rgb_matrix": true,
+ "encoder": true,
+ "dip_switch": true
+ },
"layouts": {
"LAYOUT_ansi_89": {
"layout": [
diff --git a/keyboards/keychron/v10/ansi_encoder/rules.mk b/keyboards/keychron/v10/ansi_encoder/rules.mk
index 4c6e5bebf0..3652da4b69 100644
--- a/keyboards/keychron/v10/ansi_encoder/rules.mk
+++ b/keyboards/keychron/v10/ansi_encoder/rules.mk
@@ -1,19 +1,3 @@
-# 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
-ENCODER_ENABLE = yes # Enable Encoder
-DIP_SWITCH_ENABLE = yes
-RGB_MATRIX_ENABLE = yes
-
# custom matrix setup
CUSTOM_MATRIX = lite
diff --git a/keyboards/keychron/v10/iso_encoder/info.json b/keyboards/keychron/v10/iso_encoder/keyboard.json
index 30763236ba..ea2dfb35e2 100644
--- a/keyboards/keychron/v10/iso_encoder/info.json
+++ b/keyboards/keychron/v10/iso_encoder/keyboard.json
@@ -18,6 +18,15 @@
},
"processor": "STM32L432",
"bootloader": "stm32-dfu",
+ "features": {
+ "bootmagic": true,
+ "mousekey": true,
+ "extrakey": true,
+ "nkro": true,
+ "rgb_matrix": true,
+ "encoder": true,
+ "dip_switch": true
+ },
"layouts": {
"LAYOUT_iso_90": {
"layout": [
diff --git a/keyboards/keychron/v10/iso_encoder/rules.mk b/keyboards/keychron/v10/iso_encoder/rules.mk
index 4c6e5bebf0..3652da4b69 100644
--- a/keyboards/keychron/v10/iso_encoder/rules.mk
+++ b/keyboards/keychron/v10/iso_encoder/rules.mk
@@ -1,19 +1,3 @@
-# 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
-ENCODER_ENABLE = yes # Enable Encoder
-DIP_SWITCH_ENABLE = yes
-RGB_MATRIX_ENABLE = yes
-
# custom matrix setup
CUSTOM_MATRIX = lite
diff --git a/keyboards/keychron/v10/matrix.c b/keyboards/keychron/v10/matrix.c
index 9269fed8d6..bb6504fa78 100644
--- a/keyboards/keychron/v10/matrix.c
+++ b/keyboards/keychron/v10/matrix.c
@@ -15,7 +15,8 @@
*/
#include "matrix.h"
-#include "quantum.h"
+#include "atomic_util.h"
+#include <string.h>
#ifndef PIN_USED_74HC595
# define PIN_USED_74HC595 8
@@ -35,27 +36,27 @@ static pin_t col_pins[MATRIX_COLS] = MATRIX_COL_PINS;
static inline void setPinOutput_writeLow(pin_t pin) {
ATOMIC_BLOCK_FORCEON {
- setPinOutput(pin);
- writePinLow(pin);
+ gpio_set_pin_output(pin);
+ gpio_write_pin_low(pin);
}
}
static inline void setPinOutput_writeHigh(pin_t pin) {
ATOMIC_BLOCK_FORCEON {
- setPinOutput(pin);
- writePinHigh(pin);
+ gpio_set_pin_output(pin);
+ gpio_write_pin_high(pin);
}
}
static inline void setPinInputHigh_atomic(pin_t pin) {
ATOMIC_BLOCK_FORCEON {
- setPinInputHigh(pin);
+ gpio_set_pin_input_high(pin);
}
}
static inline uint8_t readMatrixPin(pin_t pin) {
if (pin != NO_PIN) {
- return readPin(pin);
+ return gpio_read_pin(pin);
} else {
return 1;
}
@@ -69,34 +70,34 @@ static void shiftOut(uint16_t dataOut) {
ATOMIC_BLOCK_FORCEON {
for (uint8_t i = 0; i < PIN_USED_74HC595; i++) {
if (dataOut & 0x1) {
- writePinHigh(DATA_PIN_74HC595);
+ gpio_write_pin_high(DATA_PIN_74HC595);
} else {
- writePinLow(DATA_PIN_74HC595);
+ gpio_write_pin_low(DATA_PIN_74HC595);
}
dataOut = dataOut >> 1;
- writePinHigh(CLOCK_PIN_74HC595);
+ gpio_write_pin_high(CLOCK_PIN_74HC595);
small_delay(2);
- writePinLow(CLOCK_PIN_74HC595);
+ gpio_write_pin_low(CLOCK_PIN_74HC595);
}
- writePinHigh(LATCH_PIN_74HC595);
+ gpio_write_pin_high(LATCH_PIN_74HC595);
small_delay(2);
- writePinLow(LATCH_PIN_74HC595);
+ gpio_write_pin_low(LATCH_PIN_74HC595);
}
}
static void shiftOut_single(uint8_t data) {
ATOMIC_BLOCK_FORCEON {
if (data & 0x1) {
- writePinHigh(DATA_PIN_74HC595);
+ gpio_write_pin_high(DATA_PIN_74HC595);
} else {
- writePinLow(DATA_PIN_74HC595);
+ gpio_write_pin_low(DATA_PIN_74HC595);
}
- writePinHigh(CLOCK_PIN_74HC595);
+ gpio_write_pin_high(CLOCK_PIN_74HC595);
small_delay(2);
- writePinLow(CLOCK_PIN_74HC595);
- writePinHigh(LATCH_PIN_74HC595);
+ gpio_write_pin_low(CLOCK_PIN_74HC595);
+ gpio_write_pin_high(LATCH_PIN_74HC595);
small_delay(2);
- writePinLow(LATCH_PIN_74HC595);
+ gpio_write_pin_low(LATCH_PIN_74HC595);
}
}
@@ -148,13 +149,13 @@ static void unselect_cols(void) {
}
static void matrix_init_pins(void) {
- setPinOutput(DATA_PIN_74HC595);
- setPinOutput(CLOCK_PIN_74HC595);
- setPinOutput(LATCH_PIN_74HC595);
+ gpio_set_pin_output(DATA_PIN_74HC595);
+ gpio_set_pin_output(CLOCK_PIN_74HC595);
+ gpio_set_pin_output(LATCH_PIN_74HC595);
#ifdef MATRIX_UNSELECT_DRIVE_HIGH
for (uint8_t x = 0; x < MATRIX_COLS; x++) {
if (col_pins[x] != NO_PIN) {
- setPinOutput(col_pins[x]);
+ gpio_set_pin_output(col_pins[x]);
}
}
#endif
diff --git a/keyboards/keychron/v2/ansi/info.json b/keyboards/keychron/v2/ansi/keyboard.json
index 528d437829..015aae6e3e 100644
--- a/keyboards/keychron/v2/ansi/info.json
+++ b/keyboards/keychron/v2/ansi/keyboard.json
@@ -8,6 +8,16 @@
"pid": "0x0320",
"device_version": "1.0.0"
},
+ "features": {
+ "bootmagic": true,
+ "command": false,
+ "console": false,
+ "dip_switch": true,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": true,
+ "rgb_matrix": true
+ },
"matrix_pins": {
"cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9", "H3"],
"rows": ["B4", "B3", "A15", "A14", "A13"]
diff --git a/keyboards/keychron/v2/ansi/rules.mk b/keyboards/keychron/v2/ansi/rules.mk
deleted file mode 100644
index cf31e094cb..0000000000
--- a/keyboards/keychron/v2/ansi/rules.mk
+++ /dev/null
@@ -1,14 +0,0 @@
-# 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 = yes
-RGB_MATRIX_ENABLE = yes
diff --git a/keyboards/keychron/v2/ansi_encoder/info.json b/keyboards/keychron/v2/ansi_encoder/keyboard.json
index 42efdae984..ca62bab148 100644
--- a/keyboards/keychron/v2/ansi_encoder/info.json
+++ b/keyboards/keychron/v2/ansi_encoder/keyboard.json
@@ -8,6 +8,17 @@
"pid": "0x0321",
"device_version": "1.0.0"
},
+ "features": {
+ "bootmagic": true,
+ "command": false,
+ "console": false,
+ "dip_switch": true,
+ "encoder": true,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": true,
+ "rgb_matrix": true
+ },
"matrix_pins": {
"cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9", "H3"],
"rows": ["B4", "B3", "A15", "A14", "A13"]
diff --git a/keyboards/keychron/v2/ansi_encoder/rules.mk b/keyboards/keychron/v2/ansi_encoder/rules.mk
deleted file mode 100644
index 5d77f09971..0000000000
--- a/keyboards/keychron/v2/ansi_encoder/rules.mk
+++ /dev/null
@@ -1,15 +0,0 @@
-# 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
-ENCODER_ENABLE = yes # Enable Encoder
-DIP_SWITCH_ENABLE = yes
-RGB_MATRIX_ENABLE = yes
diff --git a/keyboards/keychron/v2/iso/info.json b/keyboards/keychron/v2/iso/keyboard.json
index 171407e75f..827f613247 100644
--- a/keyboards/keychron/v2/iso/info.json
+++ b/keyboards/keychron/v2/iso/keyboard.json
@@ -8,6 +8,16 @@
"pid": "0x0322",
"device_version": "1.0.0"
},
+ "features": {
+ "bootmagic": true,
+ "command": false,
+ "console": false,
+ "dip_switch": true,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": true,
+ "rgb_matrix": true
+ },
"matrix_pins": {
"cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9", "H3"],
"rows": ["B4", "B3", "A15", "A14", "A13"]
diff --git a/keyboards/keychron/v2/iso/rules.mk b/keyboards/keychron/v2/iso/rules.mk
deleted file mode 100644
index cf31e094cb..0000000000
--- a/keyboards/keychron/v2/iso/rules.mk
+++ /dev/null
@@ -1,14 +0,0 @@
-# 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 = yes
-RGB_MATRIX_ENABLE = yes
diff --git a/keyboards/keychron/v2/iso_encoder/info.json b/keyboards/keychron/v2/iso_encoder/keyboard.json
index 75a8bf1f1f..10774d6974 100644
--- a/keyboards/keychron/v2/iso_encoder/info.json
+++ b/keyboards/keychron/v2/iso_encoder/keyboard.json
@@ -8,6 +8,17 @@
"pid": "0x0323",
"device_version": "1.0.0"
},
+ "features": {
+ "bootmagic": true,
+ "command": false,
+ "console": false,
+ "dip_switch": true,
+ "encoder": true,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": true,
+ "rgb_matrix": true
+ },
"matrix_pins": {
"cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9", "H3"],
"rows": ["B4", "B3", "A15", "A14", "A13"]
diff --git a/keyboards/keychron/v2/iso_encoder/rules.mk b/keyboards/keychron/v2/iso_encoder/rules.mk
deleted file mode 100644
index 5d77f09971..0000000000
--- a/keyboards/keychron/v2/iso_encoder/rules.mk
+++ /dev/null
@@ -1,15 +0,0 @@
-# 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
-ENCODER_ENABLE = yes # Enable Encoder
-DIP_SWITCH_ENABLE = yes
-RGB_MATRIX_ENABLE = yes
diff --git a/keyboards/keychron/v2/jis/info.json b/keyboards/keychron/v2/jis/keyboard.json
index 64058d4c13..c775944009 100644
--- a/keyboards/keychron/v2/jis/info.json
+++ b/keyboards/keychron/v2/jis/keyboard.json
@@ -8,6 +8,16 @@
"pid": "0x0324",
"device_version": "1.0.0"
},
+ "features": {
+ "bootmagic": true,
+ "command": false,
+ "console": false,
+ "dip_switch": true,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": true,
+ "rgb_matrix": true
+ },
"matrix_pins": {
"cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9", "H3"],
"rows": ["B4", "B3", "A15", "A14", "A13"]
diff --git a/keyboards/keychron/v2/jis/rules.mk b/keyboards/keychron/v2/jis/rules.mk
deleted file mode 100644
index cf31e094cb..0000000000
--- a/keyboards/keychron/v2/jis/rules.mk
+++ /dev/null
@@ -1,14 +0,0 @@
-# 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 = yes
-RGB_MATRIX_ENABLE = yes
diff --git a/keyboards/keychron/v2/jis_encoder/info.json b/keyboards/keychron/v2/jis_encoder/keyboard.json
index 12fadfec73..c783b3553e 100644
--- a/keyboards/keychron/v2/jis_encoder/info.json
+++ b/keyboards/keychron/v2/jis_encoder/keyboard.json
@@ -8,6 +8,17 @@
"pid": "0x0325",
"device_version": "1.0.0"
},
+ "features": {
+ "bootmagic": true,
+ "command": false,
+ "console": false,
+ "dip_switch": true,
+ "encoder": true,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": true,
+ "rgb_matrix": true
+ },
"matrix_pins": {
"cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9", "H3"],
"rows": ["B4", "B3", "A15", "A14", "A13"]
diff --git a/keyboards/keychron/v2/jis_encoder/rules.mk b/keyboards/keychron/v2/jis_encoder/rules.mk
deleted file mode 100644
index 5d77f09971..0000000000
--- a/keyboards/keychron/v2/jis_encoder/rules.mk
+++ /dev/null
@@ -1,15 +0,0 @@
-# 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
-ENCODER_ENABLE = yes # Enable Encoder
-DIP_SWITCH_ENABLE = yes
-RGB_MATRIX_ENABLE = yes
diff --git a/keyboards/keychron/v3/ansi/info.json b/keyboards/keychron/v3/ansi/keyboard.json
index f01b2394a7..b8489a43b4 100644
--- a/keyboards/keychron/v3/ansi/info.json
+++ b/keyboards/keychron/v3/ansi/keyboard.json
@@ -3,6 +3,16 @@
"manufacturer": "Keychron",
"url": "https://github.com/Keychron",
"maintainer": "lalalademaxiya1",
+ "features": {
+ "bootmagic": true,
+ "command": false,
+ "console": false,
+ "dip_switch": true,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": true,
+ "rgb_matrix": true
+ },
"usb": {
"vid": "0x3434",
"pid": "0x0330",
diff --git a/keyboards/keychron/v3/ansi/rules.mk b/keyboards/keychron/v3/ansi/rules.mk
deleted file mode 100644
index cf31e094cb..0000000000
--- a/keyboards/keychron/v3/ansi/rules.mk
+++ /dev/null
@@ -1,14 +0,0 @@
-# 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 = yes
-RGB_MATRIX_ENABLE = yes
diff --git a/keyboards/keychron/v3/ansi_encoder/info.json b/keyboards/keychron/v3/ansi_encoder/keyboard.json
index 2fc194fecc..5134b47d7e 100644
--- a/keyboards/keychron/v3/ansi_encoder/info.json
+++ b/keyboards/keychron/v3/ansi_encoder/keyboard.json
@@ -15,6 +15,15 @@
},
"processor": "STM32L432",
"bootloader": "stm32-dfu",
+ "features": {
+ "bootmagic": true,
+ "mousekey": true,
+ "extrakey": true,
+ "nkro": true,
+ "rgb_matrix": true,
+ "encoder": true,
+ "dip_switch": true
+ },
"layouts": {
"LAYOUT_tkl_f13_ansi": {
"layout": [
diff --git a/keyboards/keychron/v3/ansi_encoder/rules.mk b/keyboards/keychron/v3/ansi_encoder/rules.mk
index 4c6e5bebf0..3652da4b69 100644
--- a/keyboards/keychron/v3/ansi_encoder/rules.mk
+++ b/keyboards/keychron/v3/ansi_encoder/rules.mk
@@ -1,19 +1,3 @@
-# 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
-ENCODER_ENABLE = yes # Enable Encoder
-DIP_SWITCH_ENABLE = yes
-RGB_MATRIX_ENABLE = yes
-
# custom matrix setup
CUSTOM_MATRIX = lite
diff --git a/keyboards/keychron/v3/iso/info.json b/keyboards/keychron/v3/iso/keyboard.json
index f57ccbd7d0..b257deb1c0 100644
--- a/keyboards/keychron/v3/iso/info.json
+++ b/keyboards/keychron/v3/iso/keyboard.json
@@ -3,6 +3,16 @@
"manufacturer": "Keychron",
"url": "https://github.com/Keychron",
"maintainer": "lalalademaxiya1",
+ "features": {
+ "bootmagic": true,
+ "command": false,
+ "console": true,
+ "dip_switch": true,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": true,
+ "rgb_matrix": true
+ },
"usb": {
"vid": "0x3434",
"pid": "0x0332",
diff --git a/keyboards/keychron/v3/iso/rules.mk b/keyboards/keychron/v3/iso/rules.mk
deleted file mode 100644
index 118bf40e5a..0000000000
--- a/keyboards/keychron/v3/iso/rules.mk
+++ /dev/null
@@ -1,14 +0,0 @@
-# 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 = yes # 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 = yes
-RGB_MATRIX_ENABLE = yes
diff --git a/keyboards/keychron/v3/iso_encoder/info.json b/keyboards/keychron/v3/iso_encoder/keyboard.json
index 1edb29a741..8b4f0a9d00 100644
--- a/keyboards/keychron/v3/iso_encoder/info.json
+++ b/keyboards/keychron/v3/iso_encoder/keyboard.json
@@ -15,6 +15,15 @@
},
"processor": "STM32L432",
"bootloader": "stm32-dfu",
+ "features": {
+ "bootmagic": true,
+ "mousekey": true,
+ "extrakey": true,
+ "nkro": true,
+ "rgb_matrix": true,
+ "encoder": true,
+ "dip_switch": true
+ },
"layouts": {
"LAYOUT_tkl_f13_iso": {
"layout": [
diff --git a/keyboards/keychron/v3/iso_encoder/rules.mk b/keyboards/keychron/v3/iso_encoder/rules.mk
index 4c6e5bebf0..3652da4b69 100644
--- a/keyboards/keychron/v3/iso_encoder/rules.mk
+++ b/keyboards/keychron/v3/iso_encoder/rules.mk
@@ -1,19 +1,3 @@
-# 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
-ENCODER_ENABLE = yes # Enable Encoder
-DIP_SWITCH_ENABLE = yes
-RGB_MATRIX_ENABLE = yes
-
# custom matrix setup
CUSTOM_MATRIX = lite
diff --git a/keyboards/keychron/v3/jis/info.json b/keyboards/keychron/v3/jis/keyboard.json
index cce7372c31..f00716b2db 100644
--- a/keyboards/keychron/v3/jis/info.json
+++ b/keyboards/keychron/v3/jis/keyboard.json
@@ -3,6 +3,16 @@
"manufacturer": "Keychron",
"url": "https://github.com/Keychron",
"maintainer": "lalalademaxiya1",
+ "features": {
+ "bootmagic": true,
+ "command": false,
+ "console": false,
+ "dip_switch": true,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": true,
+ "rgb_matrix": true
+ },
"usb": {
"vid": "0x3434",
"pid": "0x0334",
diff --git a/keyboards/keychron/v3/jis/rules.mk b/keyboards/keychron/v3/jis/rules.mk
deleted file mode 100644
index cf31e094cb..0000000000
--- a/keyboards/keychron/v3/jis/rules.mk
+++ /dev/null
@@ -1,14 +0,0 @@
-# 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 = yes
-RGB_MATRIX_ENABLE = yes
diff --git a/keyboards/keychron/v3/jis_encoder/info.json b/keyboards/keychron/v3/jis_encoder/keyboard.json
index f9a9202eb0..ab9d6ab2a7 100644
--- a/keyboards/keychron/v3/jis_encoder/info.json
+++ b/keyboards/keychron/v3/jis_encoder/keyboard.json
@@ -15,6 +15,15 @@
},
"processor": "STM32L432",
"bootloader": "stm32-dfu",
+ "features": {
+ "bootmagic": true,
+ "mousekey": true,
+ "extrakey": true,
+ "nkro": true,
+ "rgb_matrix": true,
+ "encoder": true,
+ "dip_switch": true
+ },
"layouts": {
"LAYOUT_jis_92": {
"layout": [
diff --git a/keyboards/keychron/v3/jis_encoder/rules.mk b/keyboards/keychron/v3/jis_encoder/rules.mk
index 4c6e5bebf0..3652da4b69 100644
--- a/keyboards/keychron/v3/jis_encoder/rules.mk
+++ b/keyboards/keychron/v3/jis_encoder/rules.mk
@@ -1,19 +1,3 @@
-# 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
-ENCODER_ENABLE = yes # Enable Encoder
-DIP_SWITCH_ENABLE = yes
-RGB_MATRIX_ENABLE = yes
-
# custom matrix setup
CUSTOM_MATRIX = lite
diff --git a/keyboards/keychron/v3/matrix.c b/keyboards/keychron/v3/matrix.c
index 44a1676afa..5ee860afd2 100644
--- a/keyboards/keychron/v3/matrix.c
+++ b/keyboards/keychron/v3/matrix.c
@@ -15,7 +15,8 @@
*/
#include "matrix.h"
-#include "quantum.h"
+#include "atomic_util.h"
+#include <string.h>
// Pin connected to DS of 74HC595
#define DATA_PIN A7
@@ -35,27 +36,27 @@ static pin_t col_pins[MATRIX_COLS] = MATRIX_COL_PINS;
static inline void setPinOutput_writeLow(pin_t pin) {
ATOMIC_BLOCK_FORCEON {
- setPinOutput(pin);
- writePinLow(pin);
+ gpio_set_pin_output(pin);
+ gpio_write_pin_low(pin);
}
}
static inline void setPinOutput_writeHigh(pin_t pin) {
ATOMIC_BLOCK_FORCEON {
- setPinOutput(pin);
- writePinHigh(pin);
+ gpio_set_pin_output(pin);
+ gpio_write_pin_high(pin);
}
}
static inline void setPinInputHigh_atomic(pin_t pin) {
ATOMIC_BLOCK_FORCEON {
- setPinInputHigh(pin);
+ gpio_set_pin_input_high(pin);
}
}
static inline uint8_t readMatrixPin(pin_t pin) {
if (pin != NO_PIN) {
- return readPin(pin);
+ return gpio_read_pin(pin);
} else {
return 1;
}
@@ -70,20 +71,20 @@ static void shiftOut(uint8_t dataOut) {
for (uint8_t i = 0; i < 8; i++) {
compiler_barrier();
if (dataOut & 0x1) {
- writePinHigh(DATA_PIN);
+ gpio_write_pin_high(DATA_PIN);
} else {
- writePinLow(DATA_PIN);
+ gpio_write_pin_low(DATA_PIN);
}
dataOut = dataOut >> 1;
compiler_barrier();
- writePinHigh(CLOCK_PIN);
+ gpio_write_pin_high(CLOCK_PIN);
small_delay();
- writePinLow(CLOCK_PIN);
+ gpio_write_pin_low(CLOCK_PIN);
}
compiler_barrier();
- writePinHigh(LATCH_PIN);
+ gpio_write_pin_high(LATCH_PIN);
small_delay();
- writePinLow(LATCH_PIN);
+ gpio_write_pin_low(LATCH_PIN);
compiler_barrier();
}
}
@@ -92,18 +93,18 @@ static void shiftOut_single(uint8_t data) {
ATOMIC_BLOCK_FORCEON {
compiler_barrier();
if (data & 0x1) {
- writePinHigh(DATA_PIN);
+ gpio_write_pin_high(DATA_PIN);
} else {
- writePinLow(DATA_PIN);
+ gpio_write_pin_low(DATA_PIN);
}
compiler_barrier();
- writePinHigh(CLOCK_PIN);
+ gpio_write_pin_high(CLOCK_PIN);
small_delay();
- writePinLow(CLOCK_PIN);
+ gpio_write_pin_low(CLOCK_PIN);
compiler_barrier();
- writePinHigh(LATCH_PIN);
+ gpio_write_pin_high(LATCH_PIN);
small_delay();
- writePinLow(LATCH_PIN);
+ gpio_write_pin_low(LATCH_PIN);
compiler_barrier();
}
}
@@ -155,13 +156,13 @@ static void unselect_cols(void) {
}
static void matrix_init_pins(void) {
- setPinOutput(DATA_PIN);
- setPinOutput(CLOCK_PIN);
- setPinOutput(LATCH_PIN);
+ gpio_set_pin_output(DATA_PIN);
+ gpio_set_pin_output(CLOCK_PIN);
+ gpio_set_pin_output(LATCH_PIN);
#ifdef MATRIX_UNSELECT_DRIVE_HIGH
for (uint8_t x = 0; x < MATRIX_COLS; x++) {
if (col_pins[x] != NO_PIN) {
- setPinOutput(col_pins[x]);
+ gpio_set_pin_output(col_pins[x]);
}
}
#endif
diff --git a/keyboards/keychron/v4/ansi/info.json b/keyboards/keychron/v4/ansi/keyboard.json
index a8b980ddd6..d66eb3f956 100644
--- a/keyboards/keychron/v4/ansi/info.json
+++ b/keyboards/keychron/v4/ansi/keyboard.json
@@ -8,6 +8,16 @@
"pid": "0x0340",
"device_version": "1.0.0"
},
+ "features": {
+ "bootmagic": true,
+ "command": false,
+ "console": false,
+ "dip_switch": true,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": true,
+ "rgb_matrix": true
+ },
"matrix_pins": {
"cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9"],
"rows": ["B4", "B3", "A15", "A14", "A13"]
diff --git a/keyboards/keychron/v4/ansi/rules.mk b/keyboards/keychron/v4/ansi/rules.mk
deleted file mode 100644
index 468ed6fae3..0000000000
--- a/keyboards/keychron/v4/ansi/rules.mk
+++ /dev/null
@@ -1,14 +0,0 @@
-# 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 = yes
-RGB_MATRIX_ENABLE = yes
diff --git a/keyboards/keychron/v4/iso/info.json b/keyboards/keychron/v4/iso/keyboard.json
index 81153c3621..c7854307e4 100644
--- a/keyboards/keychron/v4/iso/info.json
+++ b/keyboards/keychron/v4/iso/keyboard.json
@@ -8,6 +8,16 @@
"pid": "0x0342",
"device_version": "1.0.0"
},
+ "features": {
+ "bootmagic": true,
+ "command": false,
+ "console": false,
+ "dip_switch": true,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": true,
+ "rgb_matrix": true
+ },
"matrix_pins": {
"cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9"],
"rows": ["B4", "B3", "A15", "A14", "A13"]
diff --git a/keyboards/keychron/v4/iso/rules.mk b/keyboards/keychron/v4/iso/rules.mk
deleted file mode 100644
index 468ed6fae3..0000000000
--- a/keyboards/keychron/v4/iso/rules.mk
+++ /dev/null
@@ -1,14 +0,0 @@
-# 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 = yes
-RGB_MATRIX_ENABLE = yes
diff --git a/keyboards/keychron/v5/ansi/info.json b/keyboards/keychron/v5/ansi/keyboard.json
index 2f2e33fecd..b98302f336 100644
--- a/keyboards/keychron/v5/ansi/info.json
+++ b/keyboards/keychron/v5/ansi/keyboard.json
@@ -10,6 +10,14 @@
},
"processor": "STM32L432",
"bootloader": "stm32-dfu",
+ "features": {
+ "bootmagic": true,
+ "mousekey": true,
+ "extrakey": true,
+ "nkro": true,
+ "rgb_matrix": true,
+ "dip_switch": true
+ },
"layouts": {
"LAYOUT_ansi_100": {
"layout": [
diff --git a/keyboards/keychron/v5/ansi/rules.mk b/keyboards/keychron/v5/ansi/rules.mk
index 465dfa9348..3652da4b69 100644
--- a/keyboards/keychron/v5/ansi/rules.mk
+++ b/keyboards/keychron/v5/ansi/rules.mk
@@ -1,18 +1,3 @@
-# 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 = yes
-RGB_MATRIX_ENABLE = yes
-
# custom matrix setup
CUSTOM_MATRIX = lite
diff --git a/keyboards/keychron/v5/ansi_encoder/info.json b/keyboards/keychron/v5/ansi_encoder/keyboard.json
index 1ed410eb7b..af61e4a15e 100644
--- a/keyboards/keychron/v5/ansi_encoder/info.json
+++ b/keyboards/keychron/v5/ansi_encoder/keyboard.json
@@ -15,6 +15,15 @@
},
"processor": "STM32L432",
"bootloader": "stm32-dfu",
+ "features": {
+ "bootmagic": true,
+ "mousekey": true,
+ "extrakey": true,
+ "nkro": true,
+ "rgb_matrix": true,
+ "encoder": true,
+ "dip_switch": true
+ },
"layouts": {
"LAYOUT_ansi_98": {
"layout": [
diff --git a/keyboards/keychron/v5/ansi_encoder/rules.mk b/keyboards/keychron/v5/ansi_encoder/rules.mk
index 4c6e5bebf0..3652da4b69 100644
--- a/keyboards/keychron/v5/ansi_encoder/rules.mk
+++ b/keyboards/keychron/v5/ansi_encoder/rules.mk
@@ -1,19 +1,3 @@
-# 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
-ENCODER_ENABLE = yes # Enable Encoder
-DIP_SWITCH_ENABLE = yes
-RGB_MATRIX_ENABLE = yes
-
# custom matrix setup
CUSTOM_MATRIX = lite
diff --git a/keyboards/keychron/v5/iso/info.json b/keyboards/keychron/v5/iso/keyboard.json
index 522730b268..7e7280d5ac 100644
--- a/keyboards/keychron/v5/iso/info.json
+++ b/keyboards/keychron/v5/iso/keyboard.json
@@ -10,6 +10,14 @@
},
"processor": "STM32L432",
"bootloader": "stm32-dfu",
+ "features": {
+ "bootmagic": true,
+ "mousekey": true,
+ "extrakey": true,
+ "nkro": true,
+ "rgb_matrix": true,
+ "dip_switch": true
+ },
"layouts": {
"LAYOUT_iso_101": {
"layout": [
diff --git a/keyboards/keychron/v5/iso/rules.mk b/keyboards/keychron/v5/iso/rules.mk
index 465dfa9348..3652da4b69 100644
--- a/keyboards/keychron/v5/iso/rules.mk
+++ b/keyboards/keychron/v5/iso/rules.mk
@@ -1,18 +1,3 @@
-# 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 = yes
-RGB_MATRIX_ENABLE = yes
-
# custom matrix setup
CUSTOM_MATRIX = lite
diff --git a/keyboards/keychron/v5/iso_encoder/info.json b/keyboards/keychron/v5/iso_encoder/keyboard.json
index 2d4cf28cd1..dfef0a7be7 100644
--- a/keyboards/keychron/v5/iso_encoder/info.json
+++ b/keyboards/keychron/v5/iso_encoder/keyboard.json
@@ -15,6 +15,15 @@
},
"processor": "STM32L432",
"bootloader": "stm32-dfu",
+ "features": {
+ "bootmagic": true,
+ "mousekey": true,
+ "extrakey": true,
+ "nkro": true,
+ "rgb_matrix": true,
+ "encoder": true,
+ "dip_switch": true
+ },
"layouts": {
"LAYOUT_iso_99": {
"layout": [
diff --git a/keyboards/keychron/v5/iso_encoder/rules.mk b/keyboards/keychron/v5/iso_encoder/rules.mk
index 4c6e5bebf0..3652da4b69 100644
--- a/keyboards/keychron/v5/iso_encoder/rules.mk
+++ b/keyboards/keychron/v5/iso_encoder/rules.mk
@@ -1,19 +1,3 @@
-# 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
-ENCODER_ENABLE = yes # Enable Encoder
-DIP_SWITCH_ENABLE = yes
-RGB_MATRIX_ENABLE = yes
-
# custom matrix setup
CUSTOM_MATRIX = lite
diff --git a/keyboards/keychron/v5/matrix.c b/keyboards/keychron/v5/matrix.c
index ced8442881..255201af12 100644
--- a/keyboards/keychron/v5/matrix.c
+++ b/keyboards/keychron/v5/matrix.c
@@ -15,7 +15,8 @@
*/
#include "matrix.h"
-#include "quantum.h"
+#include "atomic_util.h"
+#include <string.h>
// Pin connected to DS of 74HC595
#define DATA_PIN C15
@@ -35,27 +36,27 @@ static pin_t col_pins[MATRIX_COLS] = MATRIX_COL_PINS;
static inline void setPinOutput_writeLow(pin_t pin) {
ATOMIC_BLOCK_FORCEON {
- setPinOutput(pin);
- writePinLow(pin);
+ gpio_set_pin_output(pin);
+ gpio_write_pin_low(pin);
}
}
static inline void setPinOutput_writeHigh(pin_t pin) {
ATOMIC_BLOCK_FORCEON {
- setPinOutput(pin);
- writePinHigh(pin);
+ gpio_set_pin_output(pin);
+ gpio_write_pin_high(pin);
}
}
static inline void setPinInputHigh_atomic(pin_t pin) {
ATOMIC_BLOCK_FORCEON {
- setPinInputHigh(pin);
+ gpio_set_pin_input_high(pin);
}
}
static inline uint8_t readMatrixPin(pin_t pin) {
if (pin != NO_PIN) {
- return readPin(pin);
+ return gpio_read_pin(pin);
} else {
return 1;
}
@@ -70,20 +71,20 @@ static void shiftOut(uint8_t dataOut) {
for (uint8_t i = 0; i < 8; i++) {
compiler_barrier();
if (dataOut & 0x1) {
- writePinHigh(DATA_PIN);
+ gpio_write_pin_high(DATA_PIN);
} else {
- writePinLow(DATA_PIN);
+ gpio_write_pin_low(DATA_PIN);
}
dataOut = dataOut >> 1;
compiler_barrier();
- writePinHigh(CLOCK_PIN);
+ gpio_write_pin_high(CLOCK_PIN);
small_delay();
- writePinLow(CLOCK_PIN);
+ gpio_write_pin_low(CLOCK_PIN);
}
compiler_barrier();
- writePinHigh(LATCH_PIN);
+ gpio_write_pin_high(LATCH_PIN);
small_delay();
- writePinLow(LATCH_PIN);
+ gpio_write_pin_low(LATCH_PIN);
compiler_barrier();
}
}
@@ -92,18 +93,18 @@ static void shiftOut_single(uint8_t data) {
ATOMIC_BLOCK_FORCEON {
compiler_barrier();
if (data & 0x1) {
- writePinHigh(DATA_PIN);
+ gpio_write_pin_high(DATA_PIN);
} else {
- writePinLow(DATA_PIN);
+ gpio_write_pin_low(DATA_PIN);
}
compiler_barrier();
- writePinHigh(CLOCK_PIN);
+ gpio_write_pin_high(CLOCK_PIN);
small_delay();
- writePinLow(CLOCK_PIN);
+ gpio_write_pin_low(CLOCK_PIN);
compiler_barrier();
- writePinHigh(LATCH_PIN);
+ gpio_write_pin_high(LATCH_PIN);
small_delay();
- writePinLow(LATCH_PIN);
+ gpio_write_pin_low(LATCH_PIN);
compiler_barrier();
}
}
@@ -155,13 +156,13 @@ static void unselect_cols(void) {
}
static void matrix_init_pins(void) {
- setPinOutput(DATA_PIN);
- setPinOutput(CLOCK_PIN);
- setPinOutput(LATCH_PIN);
+ gpio_set_pin_output(DATA_PIN);
+ gpio_set_pin_output(CLOCK_PIN);
+ gpio_set_pin_output(LATCH_PIN);
#ifdef MATRIX_UNSELECT_DRIVE_HIGH
for (uint8_t x = 0; x < MATRIX_COLS; x++) {
if (col_pins[x] != NO_PIN) {
- setPinOutput(col_pins[x]);
+ gpio_set_pin_output(col_pins[x]);
}
}
#endif
diff --git a/keyboards/keychron/v6/ansi/info.json b/keyboards/keychron/v6/ansi/keyboard.json
index 8b2cc055a8..e68f3cdec8 100644
--- a/keyboards/keychron/v6/ansi/info.json
+++ b/keyboards/keychron/v6/ansi/keyboard.json
@@ -10,6 +10,14 @@
},
"processor": "STM32L432",
"bootloader": "stm32-dfu",
+ "features": {
+ "bootmagic": true,
+ "mousekey": true,
+ "extrakey": true,
+ "nkro": true,
+ "rgb_matrix": true,
+ "dip_switch": true
+ },
"layouts": {
"LAYOUT_ansi_108": {
"layout": [
diff --git a/keyboards/keychron/v6/ansi/rules.mk b/keyboards/keychron/v6/ansi/rules.mk
index eff255ee8c..3652da4b69 100644
--- a/keyboards/keychron/v6/ansi/rules.mk
+++ b/keyboards/keychron/v6/ansi/rules.mk
@@ -1,18 +1,3 @@
-# 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 = yes
-RGB_MATRIX_ENABLE = yes
-
# custom matrix setup
CUSTOM_MATRIX = lite
diff --git a/keyboards/keychron/v6/ansi_encoder/info.json b/keyboards/keychron/v6/ansi_encoder/keyboard.json
index 86ecc82e35..6ccc6d415b 100644
--- a/keyboards/keychron/v6/ansi_encoder/info.json
+++ b/keyboards/keychron/v6/ansi_encoder/keyboard.json
@@ -18,6 +18,15 @@
},
"processor": "STM32L432",
"bootloader": "stm32-dfu",
+ "features": {
+ "bootmagic": true,
+ "mousekey": true,
+ "extrakey": true,
+ "nkro": true,
+ "rgb_matrix": true,
+ "encoder": true,
+ "dip_switch": true
+ },
"layouts": {
"LAYOUT_ansi_109": {
"layout": [
diff --git a/keyboards/keychron/v6/ansi_encoder/rules.mk b/keyboards/keychron/v6/ansi_encoder/rules.mk
index 213c733c9c..3652da4b69 100644
--- a/keyboards/keychron/v6/ansi_encoder/rules.mk
+++ b/keyboards/keychron/v6/ansi_encoder/rules.mk
@@ -1,19 +1,3 @@
-# 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
-ENCODER_ENABLE = yes # Enable Encoder
-DIP_SWITCH_ENABLE = yes
-RGB_MATRIX_ENABLE = yes
-
# custom matrix setup
CUSTOM_MATRIX = lite
diff --git a/keyboards/keychron/v6/iso/info.json b/keyboards/keychron/v6/iso/keyboard.json
index 242e904cf0..e2f17e4f6e 100644
--- a/keyboards/keychron/v6/iso/info.json
+++ b/keyboards/keychron/v6/iso/keyboard.json
@@ -13,6 +13,14 @@
},
"processor": "STM32L432",
"bootloader": "stm32-dfu",
+ "features": {
+ "bootmagic": true,
+ "mousekey": true,
+ "extrakey": true,
+ "nkro": true,
+ "rgb_matrix": true,
+ "dip_switch": true
+ },
"layouts": {
"LAYOUT_iso_109": {
"layout": [
diff --git a/keyboards/keychron/v6/iso/rules.mk b/keyboards/keychron/v6/iso/rules.mk
index eff255ee8c..3652da4b69 100644
--- a/keyboards/keychron/v6/iso/rules.mk
+++ b/keyboards/keychron/v6/iso/rules.mk
@@ -1,18 +1,3 @@
-# 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 = yes
-RGB_MATRIX_ENABLE = yes
-
# custom matrix setup
CUSTOM_MATRIX = lite
diff --git a/keyboards/keychron/v6/iso_encoder/info.json b/keyboards/keychron/v6/iso_encoder/keyboard.json
index d4237a69f4..d7469b54e0 100644
--- a/keyboards/keychron/v6/iso_encoder/info.json
+++ b/keyboards/keychron/v6/iso_encoder/keyboard.json
@@ -18,6 +18,15 @@
},
"processor": "STM32L432",
"bootloader": "stm32-dfu",
+ "features": {
+ "bootmagic": true,
+ "mousekey": true,
+ "extrakey": true,
+ "nkro": true,
+ "rgb_matrix": true,
+ "encoder": true,
+ "dip_switch": true
+ },
"layouts": {
"LAYOUT_iso_110": {
"layout": [
diff --git a/keyboards/keychron/v6/iso_encoder/rules.mk b/keyboards/keychron/v6/iso_encoder/rules.mk
index 39b0594039..3652da4b69 100644
--- a/keyboards/keychron/v6/iso_encoder/rules.mk
+++ b/keyboards/keychron/v6/iso_encoder/rules.mk
@@ -1,21 +1,4 @@
-# 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
-ENCODER_ENABLE = yes # Enable Encoder
-DIP_SWITCH_ENABLE = yes
-RGB_MATRIX_ENABLE = yes
-
# custom matrix setup
CUSTOM_MATRIX = lite
-VPATH ?= keyboards/keychron/common
SRC += matrix.c
diff --git a/keyboards/keychron/v6/matrix.c b/keyboards/keychron/v6/matrix.c
index 9269fed8d6..bb6504fa78 100644
--- a/keyboards/keychron/v6/matrix.c
+++ b/keyboards/keychron/v6/matrix.c
@@ -15,7 +15,8 @@
*/
#include "matrix.h"
-#include "quantum.h"
+#include "atomic_util.h"
+#include <string.h>
#ifndef PIN_USED_74HC595
# define PIN_USED_74HC595 8
@@ -35,27 +36,27 @@ static pin_t col_pins[MATRIX_COLS] = MATRIX_COL_PINS;
static inline void setPinOutput_writeLow(pin_t pin) {
ATOMIC_BLOCK_FORCEON {
- setPinOutput(pin);
- writePinLow(pin);
+ gpio_set_pin_output(pin);
+ gpio_write_pin_low(pin);
}
}
static inline void setPinOutput_writeHigh(pin_t pin) {
ATOMIC_BLOCK_FORCEON {
- setPinOutput(pin);
- writePinHigh(pin);
+ gpio_set_pin_output(pin);
+ gpio_write_pin_high(pin);
}
}
static inline void setPinInputHigh_atomic(pin_t pin) {
ATOMIC_BLOCK_FORCEON {
- setPinInputHigh(pin);
+ gpio_set_pin_input_high(pin);
}
}
static inline uint8_t readMatrixPin(pin_t pin) {
if (pin != NO_PIN) {
- return readPin(pin);
+ return gpio_read_pin(pin);
} else {
return 1;
}
@@ -69,34 +70,34 @@ static void shiftOut(uint16_t dataOut) {
ATOMIC_BLOCK_FORCEON {
for (uint8_t i = 0; i < PIN_USED_74HC595; i++) {
if (dataOut & 0x1) {
- writePinHigh(DATA_PIN_74HC595);
+ gpio_write_pin_high(DATA_PIN_74HC595);
} else {
- writePinLow(DATA_PIN_74HC595);
+ gpio_write_pin_low(DATA_PIN_74HC595);
}
dataOut = dataOut >> 1;
- writePinHigh(CLOCK_PIN_74HC595);
+ gpio_write_pin_high(CLOCK_PIN_74HC595);
small_delay(2);
- writePinLow(CLOCK_PIN_74HC595);
+ gpio_write_pin_low(CLOCK_PIN_74HC595);
}
- writePinHigh(LATCH_PIN_74HC595);
+ gpio_write_pin_high(LATCH_PIN_74HC595);
small_delay(2);
- writePinLow(LATCH_PIN_74HC595);
+ gpio_write_pin_low(LATCH_PIN_74HC595);
}
}
static void shiftOut_single(uint8_t data) {
ATOMIC_BLOCK_FORCEON {
if (data & 0x1) {
- writePinHigh(DATA_PIN_74HC595);
+ gpio_write_pin_high(DATA_PIN_74HC595);
} else {
- writePinLow(DATA_PIN_74HC595);
+ gpio_write_pin_low(DATA_PIN_74HC595);
}
- writePinHigh(CLOCK_PIN_74HC595);
+ gpio_write_pin_high(CLOCK_PIN_74HC595);
small_delay(2);
- writePinLow(CLOCK_PIN_74HC595);
- writePinHigh(LATCH_PIN_74HC595);
+ gpio_write_pin_low(CLOCK_PIN_74HC595);
+ gpio_write_pin_high(LATCH_PIN_74HC595);
small_delay(2);
- writePinLow(LATCH_PIN_74HC595);
+ gpio_write_pin_low(LATCH_PIN_74HC595);
}
}
@@ -148,13 +149,13 @@ static void unselect_cols(void) {
}
static void matrix_init_pins(void) {
- setPinOutput(DATA_PIN_74HC595);
- setPinOutput(CLOCK_PIN_74HC595);
- setPinOutput(LATCH_PIN_74HC595);
+ gpio_set_pin_output(DATA_PIN_74HC595);
+ gpio_set_pin_output(CLOCK_PIN_74HC595);
+ gpio_set_pin_output(LATCH_PIN_74HC595);
#ifdef MATRIX_UNSELECT_DRIVE_HIGH
for (uint8_t x = 0; x < MATRIX_COLS; x++) {
if (col_pins[x] != NO_PIN) {
- setPinOutput(col_pins[x]);
+ gpio_set_pin_output(col_pins[x]);
}
}
#endif
diff --git a/keyboards/keychron/v7/ansi/info.json b/keyboards/keychron/v7/ansi/keyboard.json
index ea01b3ff39..a60b46dc97 100644
--- a/keyboards/keychron/v7/ansi/info.json
+++ b/keyboards/keychron/v7/ansi/keyboard.json
@@ -8,6 +8,16 @@
"pid": "0x0370",
"device_version": "1.0.0"
},
+ "features": {
+ "bootmagic": true,
+ "command": false,
+ "console": false,
+ "dip_switch": true,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": true,
+ "rgb_matrix": true
+ },
"matrix_pins": {
"cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9", "A10", "B5"],
"rows": ["B4", "B3", "A15", "A14", "A13"]
diff --git a/keyboards/keychron/v7/ansi/rules.mk b/keyboards/keychron/v7/ansi/rules.mk
deleted file mode 100644
index 468ed6fae3..0000000000
--- a/keyboards/keychron/v7/ansi/rules.mk
+++ /dev/null
@@ -1,14 +0,0 @@
-# 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 = yes
-RGB_MATRIX_ENABLE = yes
diff --git a/keyboards/keychron/v7/iso/info.json b/keyboards/keychron/v7/iso/keyboard.json
index e241232d06..0022222635 100644
--- a/keyboards/keychron/v7/iso/info.json
+++ b/keyboards/keychron/v7/iso/keyboard.json
@@ -8,6 +8,16 @@
"pid": "0x0372",
"device_version": "1.0.0"
},
+ "features": {
+ "bootmagic": true,
+ "command": false,
+ "console": false,
+ "dip_switch": true,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": true,
+ "rgb_matrix": true
+ },
"matrix_pins": {
"cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9", "A10", "B5"],
"rows": ["B4", "B3", "A15", "A14", "A13"]
diff --git a/keyboards/keychron/v7/iso/rules.mk b/keyboards/keychron/v7/iso/rules.mk
deleted file mode 100644
index 468ed6fae3..0000000000
--- a/keyboards/keychron/v7/iso/rules.mk
+++ /dev/null
@@ -1,14 +0,0 @@
-# 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 = yes
-RGB_MATRIX_ENABLE = yes
diff --git a/keyboards/keychron/v8/ansi/info.json b/keyboards/keychron/v8/ansi/keyboard.json
index df6ef81b8d..7827270228 100644
--- a/keyboards/keychron/v8/ansi/info.json
+++ b/keyboards/keychron/v8/ansi/keyboard.json
@@ -8,6 +8,16 @@
"pid": "0x0380",
"device_version": "1.0.0"
},
+ "features": {
+ "bootmagic": true,
+ "command": false,
+ "console": false,
+ "dip_switch": true,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": true,
+ "rgb_matrix": true
+ },
"matrix_pins": {
"cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9", "H3"],
"rows": ["B4", "B3", "A15", "A14", "A13"]
diff --git a/keyboards/keychron/v8/ansi/rules.mk b/keyboards/keychron/v8/ansi/rules.mk
deleted file mode 100644
index 50b09aa58a..0000000000
--- a/keyboards/keychron/v8/ansi/rules.mk
+++ /dev/null
@@ -1,11 +0,0 @@
-# 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
-DIP_SWITCH_ENABLE = yes
-RGB_MATRIX_ENABLE = yes
diff --git a/keyboards/keychron/v8/ansi_encoder/info.json b/keyboards/keychron/v8/ansi_encoder/keyboard.json
index 100d215ee8..a5d84021d0 100644
--- a/keyboards/keychron/v8/ansi_encoder/info.json
+++ b/keyboards/keychron/v8/ansi_encoder/keyboard.json
@@ -8,6 +8,17 @@
"pid": "0x0381",
"device_version": "1.0.0"
},
+ "features": {
+ "bootmagic": true,
+ "command": false,
+ "console": false,
+ "dip_switch": true,
+ "encoder": true,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": true,
+ "rgb_matrix": true
+ },
"matrix_pins": {
"cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9", "H3"],
"rows": ["B4", "B3", "A15", "A14", "A13"]
diff --git a/keyboards/keychron/v8/ansi_encoder/rules.mk b/keyboards/keychron/v8/ansi_encoder/rules.mk
deleted file mode 100644
index bc154c1788..0000000000
--- a/keyboards/keychron/v8/ansi_encoder/rules.mk
+++ /dev/null
@@ -1,12 +0,0 @@
-# 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
-ENCODER_ENABLE = yes # Enable Encoder
-DIP_SWITCH_ENABLE = yes
-RGB_MATRIX_ENABLE = yes
diff --git a/keyboards/keychron/v8/iso/info.json b/keyboards/keychron/v8/iso/keyboard.json
index d789740644..89310111f5 100644
--- a/keyboards/keychron/v8/iso/info.json
+++ b/keyboards/keychron/v8/iso/keyboard.json
@@ -8,6 +8,16 @@
"pid": "0x0382",
"device_version": "1.0.0"
},
+ "features": {
+ "bootmagic": true,
+ "command": false,
+ "console": false,
+ "dip_switch": true,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": true,
+ "rgb_matrix": true
+ },
"matrix_pins": {
"cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9", "H3"],
"rows": ["B4", "B3", "A15", "A14", "A13"]
diff --git a/keyboards/keychron/v8/iso/rules.mk b/keyboards/keychron/v8/iso/rules.mk
deleted file mode 100644
index 4aa9221c24..0000000000
--- a/keyboards/keychron/v8/iso/rules.mk
+++ /dev/null
@@ -1,15 +0,0 @@
-# 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
-ENCODER_ENABLE = no # Enable Encoder
-DIP_SWITCH_ENABLE = yes
-RGB_MATRIX_ENABLE = yes
diff --git a/keyboards/keychron/v8/iso_encoder/info.json b/keyboards/keychron/v8/iso_encoder/keyboard.json
index 23efd329aa..2e50de7421 100644
--- a/keyboards/keychron/v8/iso_encoder/info.json
+++ b/keyboards/keychron/v8/iso_encoder/keyboard.json
@@ -8,6 +8,17 @@
"pid": "0x0383",
"device_version": "1.0.0"
},
+ "features": {
+ "bootmagic": true,
+ "command": false,
+ "console": false,
+ "dip_switch": true,
+ "encoder": true,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": true,
+ "rgb_matrix": true
+ },
"matrix_pins": {
"cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9", "H3"],
"rows": ["B4", "B3", "A15", "A14", "A13"]
diff --git a/keyboards/keychron/v8/iso_encoder/rules.mk b/keyboards/keychron/v8/iso_encoder/rules.mk
deleted file mode 100644
index bc154c1788..0000000000
--- a/keyboards/keychron/v8/iso_encoder/rules.mk
+++ /dev/null
@@ -1,12 +0,0 @@
-# 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
-ENCODER_ENABLE = yes # Enable Encoder
-DIP_SWITCH_ENABLE = yes
-RGB_MATRIX_ENABLE = yes