summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--keyboards/keychron/q1_pro/ansi_knob/config.h52
-rw-r--r--keyboards/keychron/q1_pro/ansi_knob/info.json11
-rw-r--r--keyboards/keychron/q1_pro/ansi_knob/rules.mk5
-rw-r--r--keyboards/keychron/q1_pro/config.h16
-rw-r--r--keyboards/keychron/q1_pro/info.json63
-rw-r--r--keyboards/keychron/q1_pro/iso_knob/config.h53
-rw-r--r--keyboards/keychron/q1_pro/iso_knob/info.json11
-rw-r--r--keyboards/keychron/q1_pro/iso_knob/rules.mk5
-rw-r--r--keyboards/keychron/q1_pro/rules.mk22
-rw-r--r--keyboards/keychron/q2_pro/ansi_encoder/config.h48
-rw-r--r--keyboards/keychron/q2_pro/ansi_encoder/info.json13
-rw-r--r--keyboards/keychron/q2_pro/ansi_encoder/rules.mk4
-rw-r--r--keyboards/keychron/q2_pro/config.h12
-rw-r--r--keyboards/keychron/q2_pro/info.json62
-rw-r--r--keyboards/keychron/q2_pro/rules.mk15
-rw-r--r--keyboards/keychron/q3_pro/ansi_encoder/info.json11
-rw-r--r--keyboards/keychron/q3_pro/ansi_encoder/rules.mk3
-rw-r--r--keyboards/keychron/q3_pro/config.h12
-rw-r--r--keyboards/keychron/q3_pro/info.json63
-rw-r--r--keyboards/keychron/q3_pro/rules.mk16
20 files changed, 194 insertions, 303 deletions
diff --git a/keyboards/keychron/q1_pro/ansi_knob/config.h b/keyboards/keychron/q1_pro/ansi_knob/config.h
index d6b3e80c6c..e7ebcf4214 100644
--- a/keyboards/keychron/q1_pro/ansi_knob/config.h
+++ b/keyboards/keychron/q1_pro/ansi_knob/config.h
@@ -18,7 +18,6 @@
/* Encoder Configuration */
#ifdef ENCODER_ENABLE
-# define ENCODER_RESOLUTION 4
# define ENCODER_DEFAULT_POS 0x3
#endif
@@ -47,60 +46,11 @@
* For full list of effects, see:
* https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
*/
-
# define RGB_MATRIX_KEYPRESSES
# define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-// # define ENABLE_RGB_MATRIX_ALPHAS_MODS
-// # define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-// # define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_BREATHING
-// # define ENABLE_RGB_MATRIX_BAND_SAT
-// # define ENABLE_RGB_MATRIX_BAND_VAL
-// # define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-// # define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-// # define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-# define ENABLE_RGB_MATRIX_CYCLE_ALL
-# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-# define ENABLE_RGB_MATRIX_DUAL_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-// # define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-//# define ENABLE_RGB_MATRIX_RAINDROPS
-# define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-//# define ENABLE_RGB_MATRIX_HUE_BREATHING
-//# define ENABLE_RGB_MATRIX_HUE_PENDULUM
-//# define ENABLE_RGB_MATRIX_HUE_WAVE
-# define ENABLE_RGB_MATRIX_PIXEL_RAIN
-//# define ENABLE_RGB_MATRIX_PIXEL_FLOW
-//# define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-
-/* enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined */
-# define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-# define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-
-/* enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined*/
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-//# define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-//# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-//# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-//# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-//# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-# define ENABLE_RGB_MATRIX_SPLASH
-//# define ENABLE_RGB_MATRIX_MULTISPLASH
-# define ENABLE_RGB_MATRIX_SOLID_SPLASH
-//# define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-
/* Set LED driver current */
# define CKLED2001_CURRENT_TUNE \
{ 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38 }
-#endif
+#endif \ No newline at end of file
diff --git a/keyboards/keychron/q1_pro/ansi_knob/info.json b/keyboards/keychron/q1_pro/ansi_knob/info.json
index 304f2d3090..990c72837c 100644
--- a/keyboards/keychron/q1_pro/ansi_knob/info.json
+++ b/keyboards/keychron/q1_pro/ansi_knob/info.json
@@ -1,20 +1,9 @@
{
- "keyboard_name": "Keychron Q1 Pro",
- "manufacturer": "Keychron",
- "url": "https://github.com/Keychron",
- "maintainer": "lokher",
"usb": {
"vid": "0x3434",
"pid": "0x0610",
"device_version": "1.0.0"
},
- "encoder": {
- "rotary": [
- {"pin_a": "A10", "pin_b": "A0"}
- ]
- },
- "processor": "STM32L432",
- "bootloader": "stm32-dfu",
"layouts": {
"LAYOUT_ansi_82": {
"layout": [
diff --git a/keyboards/keychron/q1_pro/ansi_knob/rules.mk b/keyboards/keychron/q1_pro/ansi_knob/rules.mk
index 535d5ebc18..f886ea2e8e 100644
--- a/keyboards/keychron/q1_pro/ansi_knob/rules.mk
+++ b/keyboards/keychron/q1_pro/ansi_knob/rules.mk
@@ -1,4 +1 @@
-RGB_MATRIX_ENABLE = yes
-RGB_MATRIX_DRIVER = CKLED2001
-ENCODER_ENABLE = yes # Enable Encoder
-ENCODER_MAP_ENABLE = yes \ No newline at end of file
+# This file intentionally blank \ No newline at end of file
diff --git a/keyboards/keychron/q1_pro/config.h b/keyboards/keychron/q1_pro/config.h
index 867aa91a0d..9a6da1ecf4 100644
--- a/keyboards/keychron/q1_pro/config.h
+++ b/keyboards/keychron/q1_pro/config.h
@@ -16,25 +16,9 @@
#pragma once
-/* key matrix size */
-#define MATRIX_ROWS 6
-#define MATRIX_COLS 16
-
-/* Key matrix pins */
-#define MATRIX_ROW_PINS \
- { B5, B4, B3, A15, A14, A13 }
-#define MATRIX_COL_PINS \
- { NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN }
-
-/* COL2ROW or ROW2COL */
-#define DIODE_DIRECTION ROW2COL
-
/* Turn off effects when suspended */
#define RGB_DISABLE_WHEN_USB_SUSPENDED
-/* Set 0 if debouncing isn't needed */
-#define DEBOUNCE 5
-
/* DIP switch for Mac/win OS switch */
#define DIP_SWITCH_PINS \
{ A8 }
diff --git a/keyboards/keychron/q1_pro/info.json b/keyboards/keychron/q1_pro/info.json
new file mode 100644
index 0000000000..79ba4fdfe1
--- /dev/null
+++ b/keyboards/keychron/q1_pro/info.json
@@ -0,0 +1,63 @@
+{
+ "keyboard_name": "Keychron Q1 Pro",
+ "manufacturer": "Keychron",
+ "url": "https://github.com/Keychron",
+ "maintainer": "lokher",
+ "encoder": {
+ "rotary": [
+ {"pin_a": "A10", "pin_b": "A0", "resolution": 4}
+ ]
+ },
+ "processor": "STM32L432",
+ "bootloader": "stm32-dfu",
+ "features": {
+ "bootmagic": true,
+ "mousekey": true,
+ "extrakey": true,
+ "nkro": true,
+ "dip_switch": true,
+ "raw": true,
+ "encoder": true,
+ "encoder_map": true,
+ "rgb_matrix": true
+ },
+ "diode_direction": "ROW2COL",
+ "matrix_size": {
+ "rows": 6,
+ "cols": 16
+ },
+ "matrix_pins": {
+ "rows": ["B5", "B4", "B3", "A15", "A14", "A13"],
+ "cols": [null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null],
+ "custom_lite": true
+ },
+ "rgb_matrix": {
+ "driver": "CKLED2001",
+ "animations": {
+ "breathing": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "jellybean_raindrops": true,
+ "pixel_rain": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "solid_splash": true
+ }
+ },
+ "bluetooth": {
+ "driver": "custom"
+ }
+} \ No newline at end of file
diff --git a/keyboards/keychron/q1_pro/iso_knob/config.h b/keyboards/keychron/q1_pro/iso_knob/config.h
index 539f7d2f93..a87fb4d674 100644
--- a/keyboards/keychron/q1_pro/iso_knob/config.h
+++ b/keyboards/keychron/q1_pro/iso_knob/config.h
@@ -18,11 +18,6 @@
/* Encoder Configuration */
#ifdef ENCODER_ENABLE
-# define ENCODERS_PAD_A \
- { A10 }
-# define ENCODERS_PAD_B \
- { A0 }
-# define ENCODER_RESOLUTION 4
# define ENCODER_DEFAULT_POS 0x3
#endif
@@ -55,54 +50,6 @@
# define RGB_MATRIX_KEYPRESSES
# define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-// # define ENABLE_RGB_MATRIX_ALPHAS_MODS
-// # define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-// # define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_BREATHING
-// # define ENABLE_RGB_MATRIX_BAND_SAT
-// # define ENABLE_RGB_MATRIX_BAND_VAL
-// # define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-// # define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-// # define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-# define ENABLE_RGB_MATRIX_CYCLE_ALL
-# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-# define ENABLE_RGB_MATRIX_DUAL_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-// # define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-//# define ENABLE_RGB_MATRIX_RAINDROPS
-# define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-//# define ENABLE_RGB_MATRIX_HUE_BREATHING
-//# define ENABLE_RGB_MATRIX_HUE_PENDULUM
-//# define ENABLE_RGB_MATRIX_HUE_WAVE
-# define ENABLE_RGB_MATRIX_PIXEL_RAIN
-//# define ENABLE_RGB_MATRIX_PIXEL_FLOW
-//# define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-
-/* enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined */
-# define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-# define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-
-/* enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined*/
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-//# define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-//# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-//# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-//# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-//# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-# define ENABLE_RGB_MATRIX_SPLASH
-//# define ENABLE_RGB_MATRIX_MULTISPLASH
-# define ENABLE_RGB_MATRIX_SOLID_SPLASH
-//# define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-
/* Set LED driver current */
# define CKLED2001_CURRENT_TUNE \
{ 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38 }
diff --git a/keyboards/keychron/q1_pro/iso_knob/info.json b/keyboards/keychron/q1_pro/iso_knob/info.json
index 1811b6e03a..87e3d59b04 100644
--- a/keyboards/keychron/q1_pro/iso_knob/info.json
+++ b/keyboards/keychron/q1_pro/iso_knob/info.json
@@ -1,20 +1,9 @@
{
- "keyboard_name": "Keychron Q1 Pro",
- "manufacturer": "Keychron",
- "url": "https://github.com/Keychron",
- "maintainer": "lokher",
"usb": {
"vid": "0x3434",
"pid": "0x0611",
"device_version": "1.0.0"
},
- "encoder": {
- "rotary": [
- {"pin_a": "A10", "pin_b": "A0"}
- ]
- },
- "processor": "STM32L432",
- "bootloader": "stm32-dfu",
"layouts": {
"LAYOUT_iso_83": {
"layout": [
diff --git a/keyboards/keychron/q1_pro/iso_knob/rules.mk b/keyboards/keychron/q1_pro/iso_knob/rules.mk
index a2a7f281a5..f886ea2e8e 100644
--- a/keyboards/keychron/q1_pro/iso_knob/rules.mk
+++ b/keyboards/keychron/q1_pro/iso_knob/rules.mk
@@ -1,4 +1 @@
-RGB_MATRIX_ENABLE = yes
-RGB_MATRIX_DRIVER = CKLED2001
-ENCODER_ENABLE = yes # Enable Encoder
-ENCODER_MAP_ENABLE = yes
+# This file intentionally blank \ No newline at end of file
diff --git a/keyboards/keychron/q1_pro/rules.mk b/keyboards/keychron/q1_pro/rules.mk
index 84e2c11192..15ebea7eb8 100644
--- a/keyboards/keychron/q1_pro/rules.mk
+++ b/keyboards/keychron/q1_pro/rules.mk
@@ -1,30 +1,8 @@
-# MCU name
-MCU = STM32L432
-
-# Bootloader selection
-BOOTLOADER = stm32-dfu
-
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable boot magic
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = no # Commands for debug and configuration
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-NKRO_ENABLE = yes # USB Nkey Rollover
-DIP_SWITCH_ENABLE = yes
-RAW_ENABLE = yes
-
# Enter lower-power sleep mode when on the ChibiOS idle thread
OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE
OPT_DEFS += -DNO_USB_STARTUP_CHECK -DENABLE_FACTORY_TEST
OPT_DEFS += -DKC_BLUETOOTH_ENABLE
-CUSTOM_MATRIX = lite
SRC += matrix.c
include keyboards/keychron/bluetooth/bluetooth.mk
diff --git a/keyboards/keychron/q2_pro/ansi_encoder/config.h b/keyboards/keychron/q2_pro/ansi_encoder/config.h
index 9349e263bc..3fb1c48a04 100644
--- a/keyboards/keychron/q2_pro/ansi_encoder/config.h
+++ b/keyboards/keychron/q2_pro/ansi_encoder/config.h
@@ -48,54 +48,6 @@
# define RGB_MATRIX_KEYPRESSES
# define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-// #define ENABLE_RGB_MATRIX_ALPHAS_MODS
-// #define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-// #define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_BREATHING
-// #define ENABLE_RGB_MATRIX_BAND_SAT
-// #define ENABLE_RGB_MATRIX_BAND_VAL
-// #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-// #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-// #define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-# define ENABLE_RGB_MATRIX_CYCLE_ALL
-# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-# define ENABLE_RGB_MATRIX_DUAL_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-// #define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-// #define ENABLE_RGB_MATRIX_RAINDROPS
-# define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-// #define ENABLE_RGB_MATRIX_HUE_BREATHING
-// #define ENABLE_RGB_MATRIX_HUE_PENDULUM
-// #define ENABLE_RGB_MATRIX_HUE_WAVE
-# define ENABLE_RGB_MATRIX_PIXEL_RAIN
-// #define ENABLE_RGB_MATRIX_PIXEL_FLOW
-// #define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-# define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-# define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-# define ENABLE_RGB_MATRIX_SPLASH
-// #define ENABLE_RGB_MATRIX_MULTISPLASH
-# define ENABLE_RGB_MATRIX_SOLID_SPLASH
-// #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-
/* Scan phase of led driver set as MSKPHASE_9CHANNEL(defined as 0x03 in CKLED2001.h) */
# define PHASE_CHANNEL MSKPHASE_9CHANNEL
diff --git a/keyboards/keychron/q2_pro/ansi_encoder/info.json b/keyboards/keychron/q2_pro/ansi_encoder/info.json
index ef13b35f73..3eb55f1f79 100644
--- a/keyboards/keychron/q2_pro/ansi_encoder/info.json
+++ b/keyboards/keychron/q2_pro/ansi_encoder/info.json
@@ -1,20 +1,9 @@
{
- "keyboard_name": "Keychron Q2 Pro",
- "manufacturer": "Keychron",
- "url": "https://github.com/Keychron",
- "maintainer": "lalalademaxiya1",
- "usb": {
+ "usb": {
"vid": "0x3434",
"pid": "0x0620",
"device_version": "1.0.0"
},
- "encoder": {
- "rotary": [
- {"pin_a": "A10", "pin_b": "A0"}
- ]
- },
- "processor": "STM32L432",
- "bootloader": "stm32-dfu",
"layouts": {
"LAYOUT_ansi_knob_67": {
"layout": [
diff --git a/keyboards/keychron/q2_pro/ansi_encoder/rules.mk b/keyboards/keychron/q2_pro/ansi_encoder/rules.mk
index 4f20668f49..f886ea2e8e 100644
--- a/keyboards/keychron/q2_pro/ansi_encoder/rules.mk
+++ b/keyboards/keychron/q2_pro/ansi_encoder/rules.mk
@@ -1,3 +1 @@
-ENCODER_ENABLE = yes # Enable Encoder
-RGB_MATRIX_ENABLE = yes
-RGB_MATRIX_DRIVER = CKLED2001
+# This file intentionally blank \ No newline at end of file
diff --git a/keyboards/keychron/q2_pro/config.h b/keyboards/keychron/q2_pro/config.h
index 2a76577c05..772638280e 100644
--- a/keyboards/keychron/q2_pro/config.h
+++ b/keyboards/keychron/q2_pro/config.h
@@ -16,22 +16,10 @@
#pragma once
-/* key matrix pins */
-#define MATRIX_ROW_PINS \
- { B4, B3, A15, A14, A13 }
-#define MATRIX_COL_PINS \
- { NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN }
-
-/* COL2ROW or ROW2COL */
-#define DIODE_DIRECTION ROW2COL
-
/* turn off effects when suspended */
#define RGB_DISABLE_WHEN_USB_SUSPENDED
#define LED_DISABLE_WHEN_USB_SUSPENDED
-/* Set 0 if debouncing isn't needed */
-#define DEBOUNCE 5
-
/* DIP switch */
#define DIP_SWITCH_PINS \
{ A8 }
diff --git a/keyboards/keychron/q2_pro/info.json b/keyboards/keychron/q2_pro/info.json
new file mode 100644
index 0000000000..055289178f
--- /dev/null
+++ b/keyboards/keychron/q2_pro/info.json
@@ -0,0 +1,62 @@
+{
+ "keyboard_name": "Keychron Q2 Pro",
+ "manufacturer": "Keychron",
+ "url": "https://github.com/Keychron",
+ "maintainer": "lokher",
+ "encoder": {
+ "rotary": [
+ {"pin_a": "A10", "pin_b": "A0", "resolution": 4}
+ ]
+ },
+ "processor": "STM32L432",
+ "bootloader": "stm32-dfu",
+ "features": {
+ "bootmagic": true,
+ "mousekey": true,
+ "extrakey": true,
+ "nkro": true,
+ "dip_switch": true,
+ "raw": true,
+ "encoder": true,
+ "rgb_matrix": true
+ },
+ "diode_direction": "ROW2COL",
+ "matrix_size": {
+ "rows": 5,
+ "cols": 16
+ },
+ "matrix_pins": {
+ "rows": ["B4", "B3", "A15", "A14", "A13"],
+ "cols": [null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null],
+ "custom_lite": true
+ },
+ "rgb_matrix": {
+ "driver": "CKLED2001",
+ "animations": {
+ "breathing": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "jellybean_raindrops": true,
+ "pixel_rain": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "solid_splash": true
+ }
+ },
+ "bluetooth": {
+ "driver": "custom"
+ }
+} \ No newline at end of file
diff --git a/keyboards/keychron/q2_pro/rules.mk b/keyboards/keychron/q2_pro/rules.mk
index 0824dfed8b..98cf5c564b 100644
--- a/keyboards/keychron/q2_pro/rules.mk
+++ b/keyboards/keychron/q2_pro/rules.mk
@@ -1,23 +1,8 @@
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable boot magic
-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 # USB Nkey Rollover
-DIP_SWITCH_ENABLE = yes
-BLUETOOTH_ENABLE = no
-BLUETOOTH_DRIVER = custom
-RAW_ENABLE = yes
-
# Enter lower-power sleep mode when on the ChibiOS idle thread
OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE
OPT_DEFS += -DNO_USB_STARTUP_CHECK -DENABLE_FACTORY_TEST
OPT_DEFS += -DKC_BLUETOOTH_ENABLE
-CUSTOM_MATRIX = lite
SRC += matrix.c
include keyboards/keychron/bluetooth/bluetooth.mk
diff --git a/keyboards/keychron/q3_pro/ansi_encoder/info.json b/keyboards/keychron/q3_pro/ansi_encoder/info.json
index 6184fc2b1a..cd5b596a17 100644
--- a/keyboards/keychron/q3_pro/ansi_encoder/info.json
+++ b/keyboards/keychron/q3_pro/ansi_encoder/info.json
@@ -1,20 +1,9 @@
{
- "keyboard_name": "Keychron Q3 Pro",
- "manufacturer": "Keychron",
- "url": "https://github.com/Keychron",
- "maintainer": "lalalademaxiya1",
"usb": {
"vid": "0x3434",
"pid": "0x0630",
"device_version": "1.0.0"
},
- "encoder": {
- "rotary": [
- {"pin_a": "A10", "pin_b": "A0"}
- ]
- },
- "processor": "STM32L432",
- "bootloader": "stm32-dfu",
"layouts": {
"LAYOUT_ansi_92": {
"layout": [
diff --git a/keyboards/keychron/q3_pro/ansi_encoder/rules.mk b/keyboards/keychron/q3_pro/ansi_encoder/rules.mk
index 7af34ccd60..f886ea2e8e 100644
--- a/keyboards/keychron/q3_pro/ansi_encoder/rules.mk
+++ b/keyboards/keychron/q3_pro/ansi_encoder/rules.mk
@@ -1,2 +1 @@
-RGB_MATRIX_ENABLE = yes
-RGB_MATRIX_DRIVER = CKLED2001
+# This file intentionally blank \ No newline at end of file
diff --git a/keyboards/keychron/q3_pro/config.h b/keyboards/keychron/q3_pro/config.h
index 4be8751f2d..dde2580aec 100644
--- a/keyboards/keychron/q3_pro/config.h
+++ b/keyboards/keychron/q3_pro/config.h
@@ -16,22 +16,10 @@
#pragma once
-/* Key matrix pins */
-#define MATRIX_ROW_PINS \
- { B5, B4, B3, A15, A14, A13 }
-#define MATRIX_COL_PINS \
- { NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN }
-
-/* COL2ROW or ROW2COL */
-#define DIODE_DIRECTION ROW2COL
-
/* turn off effects when suspended */
#define RGB_DISABLE_WHEN_USB_SUSPENDED
#define LED_DISABLE_WHEN_USB_SUSPENDED
-/* Set 0 if debouncing isn't needed */
-#define DEBOUNCE 5
-
/* DIP switch for Mac/win OS switch */
#define DIP_SWITCH_PINS \
{ A8 }
diff --git a/keyboards/keychron/q3_pro/info.json b/keyboards/keychron/q3_pro/info.json
new file mode 100644
index 0000000000..492fdf42c2
--- /dev/null
+++ b/keyboards/keychron/q3_pro/info.json
@@ -0,0 +1,63 @@
+{
+ "keyboard_name": "Keychron Q3 Pro",
+ "manufacturer": "Keychron",
+ "url": "https://github.com/Keychron",
+ "maintainer": "lokher",
+ "encoder": {
+ "rotary": [
+ {"pin_a": "A10", "pin_b": "A0", "resolution": 4}
+ ]
+ },
+ "processor": "STM32L432",
+ "bootloader": "stm32-dfu",
+ "features": {
+ "bootmagic": true,
+ "mousekey": true,
+ "extrakey": true,
+ "nkro": true,
+ "dip_switch": true,
+ "raw": true,
+ "encoder": true,
+ "encoder_map": true,
+ "rgb_matrix": true
+ },
+ "diode_direction": "ROW2COL",
+ "matrix_size": {
+ "rows": 6,
+ "cols": 18
+ },
+ "matrix_pins": {
+ "rows": ["B5", "B4", "B3", "A15", "A14", "A13"],
+ "cols": [null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null],
+ "custom_lite": true
+ },
+ "rgb_matrix": {
+ "driver": "CKLED2001",
+ "animations": {
+ "breathing": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "rainbow_moving_chevron": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "jellybean_raindrops": true,
+ "pixel_rain": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "solid_splash": true
+ }
+ },
+ "bluetooth": {
+ "driver": "custom"
+ }
+} \ No newline at end of file
diff --git a/keyboards/keychron/q3_pro/rules.mk b/keyboards/keychron/q3_pro/rules.mk
index 5f5fafa281..98cf5c564b 100644
--- a/keyboards/keychron/q3_pro/rules.mk
+++ b/keyboards/keychron/q3_pro/rules.mk
@@ -1,24 +1,8 @@
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable boot magic
-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 # USB Nkey Rollover
-ENCODER_ENABLE = yes # Enable Encoder
-DIP_SWITCH_ENABLE = yes
-BLUETOOTH_ENABLE = no
-BLUETOOTH_DRIVER = custom
-RAW_ENABLE = yes
-
# Enter lower-power sleep mode when on the ChibiOS idle thread
OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE
OPT_DEFS += -DNO_USB_STARTUP_CHECK -DENABLE_FACTORY_TEST
OPT_DEFS += -DKC_BLUETOOTH_ENABLE
-CUSTOM_MATRIX = lite
SRC += matrix.c
include keyboards/keychron/bluetooth/bluetooth.mk