aboutsummaryrefslogtreecommitdiff
path: root/keyboards/keychron/s1
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/keychron/s1')
-rw-r--r--keyboards/keychron/s1/ansi/rgb/config.h58
-rw-r--r--keyboards/keychron/s1/ansi/rgb/info.json26
-rw-r--r--keyboards/keychron/s1/ansi/rgb/rgb.c170
-rw-r--r--keyboards/keychron/s1/ansi/white/config.h38
-rw-r--r--keyboards/keychron/s1/ansi/white/info.json26
-rw-r--r--keyboards/keychron/s1/ansi/white/white.c170
-rw-r--r--keyboards/keychron/s1/config.h10
-rw-r--r--keyboards/keychron/s1/info.json10
-rw-r--r--keyboards/keychron/s1/s1.c9
9 files changed, 230 insertions, 287 deletions
diff --git a/keyboards/keychron/s1/ansi/rgb/config.h b/keyboards/keychron/s1/ansi/rgb/config.h
index 647a877a4c..7eea6bb476 100644
--- a/keyboards/keychron/s1/ansi/rgb/config.h
+++ b/keyboards/keychron/s1/ansi/rgb/config.h
@@ -19,68 +19,10 @@
/* RGB Matrix Driver Configuration */
#define SNLED27351_I2C_ADDRESS_1 SNLED27351_I2C_ADDRESS_VDDIO
#define SNLED27351_I2C_ADDRESS_2 SNLED27351_I2C_ADDRESS_GND
-#define DRIVER_1_LED_TOTAL 46
-#define DRIVER_2_LED_TOTAL 38
-#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
#define SNLED27351_PHASE_CHANNEL SNLED27351_SCAN_PHASE_9_CHANNEL
#define SNLED27351_CURRENT_TUNE \
{ 0xA0, 0xA0, 0x48, 0xA0, 0xA0, 0x48, 0xA0, 0xA0, 0x48, 0xA0, 0xA0, 0x48 }
-/* Disable RGB lighting when PC is in suspend */
-#define RGB_DISABLE_WHEN_USB_SUSPENDED
-
/* Enable caps-lock LED */
#define CAPS_LOCK_LED_INDEX 46
-
-// RGB Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
-// #define ENABLE_RGB_MATRIX_ALPHAS_MODS
-// #define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-// #define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_BREATHING
-// #define ENABLE_RGB_MATRIX_BAND_SAT
-// #define ENABLE_RGB_MATRIX_BAND_VAL
-// #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-// #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-// #define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-#define ENABLE_RGB_MATRIX_CYCLE_ALL
-#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-#define ENABLE_RGB_MATRIX_DUAL_BEACON
-#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-// #define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-// #define ENABLE_RGB_MATRIX_RAINDROPS
-#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-// #define ENABLE_RGB_MATRIX_HUE_BREATHING
-// #define ENABLE_RGB_MATRIX_HUE_PENDULUM
-// #define ENABLE_RGB_MATRIX_HUE_WAVE
-#define ENABLE_RGB_MATRIX_PIXEL_RAIN
-// #define ENABLE_RGB_MATRIX_PIXEL_FLOW
-// #define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-#define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-#define ENABLE_RGB_MATRIX_SPLASH
-// #define ENABLE_RGB_MATRIX_MULTISPLASH
-#define ENABLE_RGB_MATRIX_SOLID_SPLASH
-// #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-
-#define RGB_MATRIX_KEYPRESSES
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
diff --git a/keyboards/keychron/s1/ansi/rgb/info.json b/keyboards/keychron/s1/ansi/rgb/info.json
index 6b49cb18e0..2e78ccfe42 100644
--- a/keyboards/keychron/s1/ansi/rgb/info.json
+++ b/keyboards/keychron/s1/ansi/rgb/info.json
@@ -9,7 +9,31 @@
"device_version": "1.0.0"
},
"rgb_matrix": {
- "driver": "snled27351"
+ "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
+ },
+ "driver": "snled27351",
+ "sleep": true
},
"matrix_pins": {
"cols": ["A10", "A9", "A8", "B1", "B0", "A7", "A6", "A5", "A4", "A3", "A2", "A1", "A0", "C15", "C14"],
diff --git a/keyboards/keychron/s1/ansi/rgb/rgb.c b/keyboards/keychron/s1/ansi/rgb/rgb.c
index ca39b0c796..af6390f753 100644
--- a/keyboards/keychron/s1/ansi/rgb/rgb.c
+++ b/keyboards/keychron/s1/ansi/rgb/rgb.c
@@ -20,102 +20,102 @@
// clang-format off
-const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = {
+const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = {
/* Refer to SNLED27351 manual for these locations
* driver
* | R location
* | | G location
* | | | B location
* | | | | */
- {0, I_1, G_1, H_1}, // esc
- {0, I_2, G_2, H_2}, // f1
- {0, I_3, G_3, H_3}, // f2
- {0, I_4, G_4, H_4}, // f3
- {0, I_5, G_5, H_5}, // f4
- {0, I_6, G_6, H_6}, // f4
- {0, I_7, G_7, H_7}, // f6
- {0, I_8, G_8, H_8}, // f7
- {0, I_9, G_9, H_9}, // f8
- {0, I_10, G_10, H_10}, // f9
- {0, I_11, G_11, H_11}, // f10
- {0, I_12, G_12, H_12}, // f11
- {0, I_13, G_13, H_13}, // f12
- {0, I_14, G_14, H_14}, // print
- {0, I_15, G_15, H_15}, // del
- {0, I_16, G_16, H_16}, // light
+ {0, CB9_CA1, CB7_CA1, CB8_CA1}, // esc
+ {0, CB9_CA2, CB7_CA2, CB8_CA2}, // f1
+ {0, CB9_CA3, CB7_CA3, CB8_CA3}, // f2
+ {0, CB9_CA4, CB7_CA4, CB8_CA4}, // f3
+ {0, CB9_CA5, CB7_CA5, CB8_CA5}, // f4
+ {0, CB9_CA6, CB7_CA6, CB8_CA6}, // f4
+ {0, CB9_CA7, CB7_CA7, CB8_CA7}, // f6
+ {0, CB9_CA8, CB7_CA8, CB8_CA8}, // f7
+ {0, CB9_CA9, CB7_CA9, CB8_CA9}, // f8
+ {0, CB9_CA10, CB7_CA10, CB8_CA10}, // f9
+ {0, CB9_CA11, CB7_CA11, CB8_CA11}, // f10
+ {0, CB9_CA12, CB7_CA12, CB8_CA12}, // f11
+ {0, CB9_CA13, CB7_CA13, CB8_CA13}, // f12
+ {0, CB9_CA14, CB7_CA14, CB8_CA14}, // print
+ {0, CB9_CA15, CB7_CA15, CB8_CA15}, // del
+ {0, CB9_CA16, CB7_CA16, CB8_CA16}, // light
- {0, F_1, D_1, E_1}, // ~
- {0, F_2, D_2, E_2}, // 1!
- {0, F_3, D_3, E_3}, // 2@
- {0, F_4, D_4, E_4}, // 3#
- {0, F_5, D_5, E_5}, // 4$
- {0, F_6, D_6, E_6}, // 5%
- {0, F_7, D_7, E_7}, // 6^
- {0, F_8, D_8, E_8}, // 7&
- {0, F_9, D_9, E_9}, // 8*
- {0, F_10, D_10, E_10}, // 9(
- {0, F_11, D_11, E_11}, // 0)
- {0, F_12, D_12, E_12}, // -_
- {0, F_13, D_13, E_13}, // =+
- {0, F_14, D_14, E_14}, // back space
- {0, F_16, D_16, E_16}, // page up
+ {0, CB6_CA1, CB4_CA1, CB5_CA1}, // ~
+ {0, CB6_CA2, CB4_CA2, CB5_CA2}, // 1!
+ {0, CB6_CA3, CB4_CA3, CB5_CA3}, // 2@
+ {0, CB6_CA4, CB4_CA4, CB5_CA4}, // 3#
+ {0, CB6_CA5, CB4_CA5, CB5_CA5}, // 4$
+ {0, CB6_CA6, CB4_CA6, CB5_CA6}, // 5%
+ {0, CB6_CA7, CB4_CA7, CB5_CA7}, // 6^
+ {0, CB6_CA8, CB4_CA8, CB5_CA8}, // 7&
+ {0, CB6_CA9, CB4_CA9, CB5_CA9}, // 8*
+ {0, CB6_CA10, CB4_CA10, CB5_CA10}, // 9(
+ {0, CB6_CA11, CB4_CA11, CB5_CA11}, // 0)
+ {0, CB6_CA12, CB4_CA12, CB5_CA12}, // -_
+ {0, CB6_CA13, CB4_CA13, CB5_CA13}, // =+
+ {0, CB6_CA14, CB4_CA14, CB5_CA14}, // back space
+ {0, CB6_CA16, CB4_CA16, CB5_CA16}, // page up
- {0, C_1, A_1, B_1}, // tab
- {0, C_2, A_2, B_2}, // q
- {0, C_3, A_3, B_3}, // w
- {0, C_4, A_4, B_4}, // e
- {0, C_5, A_5, B_5}, // r
- {0, C_6, A_6, B_6}, // t
- {0, C_7, A_7, B_7}, // y
- {0, C_8, A_8, B_8}, // u
- {0, C_9, A_9, B_9}, // i
- {0, C_10, A_10, B_10}, // o
- {0, C_11, A_11, B_11}, // p
- {0, C_12, A_12, B_12}, // [{
- {0, C_13, A_13, B_13}, // ]}
- {0, C_14, A_14, B_14}, // |
- {0, C_16, A_16, B_16}, // page down
+ {0, CB3_CA1, CB1_CA1, CB2_CA1}, // tab
+ {0, CB3_CA2, CB1_CA2, CB2_CA2}, // q
+ {0, CB3_CA3, CB1_CA3, CB2_CA3}, // w
+ {0, CB3_CA4, CB1_CA4, CB2_CA4}, // e
+ {0, CB3_CA5, CB1_CA5, CB2_CA5}, // r
+ {0, CB3_CA6, CB1_CA6, CB2_CA6}, // t
+ {0, CB3_CA7, CB1_CA7, CB2_CA7}, // y
+ {0, CB3_CA8, CB1_CA8, CB2_CA8}, // u
+ {0, CB3_CA9, CB1_CA9, CB2_CA9}, // i
+ {0, CB3_CA10, CB1_CA10, CB2_CA10}, // o
+ {0, CB3_CA11, CB1_CA11, CB2_CA11}, // p
+ {0, CB3_CA12, CB1_CA12, CB2_CA12}, // [{
+ {0, CB3_CA13, CB1_CA13, CB2_CA13}, // ]}
+ {0, CB3_CA14, CB1_CA14, CB2_CA14}, // |
+ {0, CB3_CA16, CB1_CA16, CB2_CA16}, // page down
- {1, I_1, G_1, H_1}, // caps lock
- {1, I_2, G_2, H_2}, // a
- {1, I_3, G_3, H_3}, // s
- {1, I_4, G_4, H_4}, // d
- {1, I_5, G_5, H_5}, // f
- {1, I_6, G_6, H_6}, // g
- {1, I_7, G_7, H_7}, // h
- {1, I_8, G_8, H_8}, // j
- {1, I_9, G_9, H_9}, // k
- {1, I_10, G_10, H_10}, // l
- {1, I_11, G_11, H_11}, // ;:
- {1, I_12, G_12, H_12}, // '"
- {1, I_14, G_14, H_14}, // enter
- {1, I_16, G_16, H_16}, // home
+ {1, CB9_CA1, CB7_CA1, CB8_CA1}, // caps lock
+ {1, CB9_CA2, CB7_CA2, CB8_CA2}, // a
+ {1, CB9_CA3, CB7_CA3, CB8_CA3}, // s
+ {1, CB9_CA4, CB7_CA4, CB8_CA4}, // d
+ {1, CB9_CA5, CB7_CA5, CB8_CA5}, // f
+ {1, CB9_CA6, CB7_CA6, CB8_CA6}, // g
+ {1, CB9_CA7, CB7_CA7, CB8_CA7}, // h
+ {1, CB9_CA8, CB7_CA8, CB8_CA8}, // j
+ {1, CB9_CA9, CB7_CA9, CB8_CA9}, // k
+ {1, CB9_CA10, CB7_CA10, CB8_CA10}, // l
+ {1, CB9_CA11, CB7_CA11, CB8_CA11}, // ;:
+ {1, CB9_CA12, CB7_CA12, CB8_CA12}, // '"
+ {1, CB9_CA14, CB7_CA14, CB8_CA14}, // enter
+ {1, CB9_CA16, CB7_CA16, CB8_CA16}, // home
- {1, C_1, A_1, B_1}, // left shift
- {1, C_3, A_3, B_3}, // z
- {1, C_4, A_4, B_4}, // x
- {1, C_5, A_5, B_5}, // c
- {1, C_6, A_6, B_6}, // v
- {1, C_7, A_7, B_7}, // b
- {1, C_8, A_8, B_8}, // b
- {1, C_9, A_9, B_9}, // n
- {1, C_10, A_10, B_10}, // m
- {1, C_11, A_11, B_11}, // ,<
- {1, C_12, A_12, B_12}, // .>
- {1, C_13, A_13, B_13}, // right shift
- {1, C_14, A_14, B_14}, // up
- {1, C_16, A_16, B_16}, // end
+ {1, CB3_CA1, CB1_CA1, CB2_CA1}, // left shift
+ {1, CB3_CA3, CB1_CA3, CB2_CA3}, // z
+ {1, CB3_CA4, CB1_CA4, CB2_CA4}, // x
+ {1, CB3_CA5, CB1_CA5, CB2_CA5}, // c
+ {1, CB3_CA6, CB1_CA6, CB2_CA6}, // v
+ {1, CB3_CA7, CB1_CA7, CB2_CA7}, // b
+ {1, CB3_CA8, CB1_CA8, CB2_CA8}, // b
+ {1, CB3_CA9, CB1_CA9, CB2_CA9}, // n
+ {1, CB3_CA10, CB1_CA10, CB2_CA10}, // m
+ {1, CB3_CA11, CB1_CA11, CB2_CA11}, // ,<
+ {1, CB3_CA12, CB1_CA12, CB2_CA12}, // .>
+ {1, CB3_CA13, CB1_CA13, CB2_CA13}, // right shift
+ {1, CB3_CA14, CB1_CA14, CB2_CA14}, // up
+ {1, CB3_CA16, CB1_CA16, CB2_CA16}, // end
- {1, F_1, D_1, E_1}, // left
- {1, F_2, D_2, E_2}, // left command
- {1, F_3, D_3, E_3}, // left optin
- {1, F_7, D_7, E_7}, // space
- {1, F_10, D_10, E_10}, // right command
- {1, F_11, D_11, E_11}, // fn
- {1, F_12, D_12, E_12}, // right ctrl
- {1, F_13, D_13, E_13}, // left
- {1, F_14, D_14, E_14}, // down
- {1, F_16, D_16, E_16}, // right
+ {1, CB6_CA1, CB4_CA1, CB5_CA1}, // left
+ {1, CB6_CA2, CB4_CA2, CB5_CA2}, // left command
+ {1, CB6_CA3, CB4_CA3, CB5_CA3}, // left optin
+ {1, CB6_CA7, CB4_CA7, CB5_CA7}, // space
+ {1, CB6_CA10, CB4_CA10, CB5_CA10}, // right command
+ {1, CB6_CA11, CB4_CA11, CB5_CA11}, // fn
+ {1, CB6_CA12, CB4_CA12, CB5_CA12}, // right ctrl
+ {1, CB6_CA13, CB4_CA13, CB5_CA13}, // left
+ {1, CB6_CA14, CB4_CA14, CB5_CA14}, // down
+ {1, CB6_CA16, CB4_CA16, CB5_CA16}, // right
};
#define __ NO_LED
diff --git a/keyboards/keychron/s1/ansi/white/config.h b/keyboards/keychron/s1/ansi/white/config.h
index fbe02caeb1..9aedc6b47f 100644
--- a/keyboards/keychron/s1/ansi/white/config.h
+++ b/keyboards/keychron/s1/ansi/white/config.h
@@ -18,48 +18,10 @@
/* LED Matrix Driver Configuration */
#define SNLED27351_I2C_ADDRESS_1 SNLED27351_I2C_ADDRESS_GND
-#define DRIVER_1_LED_TOTAL 84
-#define LED_MATRIX_LED_COUNT DRIVER_1_LED_TOTAL
-
#define SNLED27351_PHASE_CHANNEL SNLED27351_SCAN_PHASE_6_CHANNEL
#define SNLED27351_CURRENT_TUNE \
{ 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80 } // 250mA
// { 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40 } // 127mA
-/* Disable LED lighting when PC is in suspend */
-#define LED_DISABLE_WHEN_USB_SUSPENDED
-
/* Enable caps-lock LED */
#define CAPS_LOCK_LED_INDEX 46
-
-// LED Matrix Animation modes. Explicitly enabled
-// For full list of effects, see:
-// https://docs.qmk.fm/#/feature_led_matrix?id=led-matrix-effects
-#define ENABLE_LED_MATRIX_NONE
-#define ENABLE_LED_MATRIX_SOLID // Static single val, no speed support
-// #define ENABLE_LED_MATRIX_ALPHAS_MODS // Static dual val, speed is val for LEDs marked as modifiers
-#define ENABLE_LED_MATRIX_BREATHING // Cycling brightness animation
-// #define ENABLE_LED_MATRIX_BAND // Band fading brightness scrolling left to right
-#define ENABLE_LED_MATRIX_BAND_PINWHEEL // 3 blade spinning pinwheel fades brightness
-#define ENABLE_LED_MATRIX_BAND_SPIRAL // Spinning spiral fades brightness
-#define ENABLE_LED_MATRIX_CYCLE_LEFT_RIGHT // Full gradient scrolling left to right
-#define ENABLE_LED_MATRIX_CYCLE_UP_DOWN // Full gradient scrolling top to bottom
-#define ENABLE_LED_MATRIX_CYCLE_OUT_IN // Full gradient scrolling out to in
-#define ENABLE_LED_MATRIX_DUAL_BEACON // Full gradient spinning around center of keyboard
-// #if defined(LED_MATRIX_KEYPRESSES) || defined(LED_MATRIX_KEYRELEASES)
-#define LED_MATRIX_KEYPRESSES
-#define LED_MATRIX_KEYRELEASES
-
-#define ENABLE_LED_MATRIX_SOLID_REACTIVE_SIMPLE // Pulses keys hit then fades out
-// #define ENABLE_LED_MATRIX_SOLID_REACTIVE_WIDE // Value pulses near a single key hit then fades out
-#define ENABLE_LED_MATRIX_SOLID_REACTIVE_MULTIWIDE // Value pulses near multiple key hits then fades out
-#define ENABLE_LED_MATRIX_SOLID_REACTIVE_CROSS // Value pulses the same column and row of a single key hit then fades out
-// #define ENABLE_LED_MATRIX_SOLID_REACTIVE_MULTICROSS // Value pulses the same column and row of multiple key hits then fades out
-// #define ENABLE_LED_MATRIX_SOLID_REACTIVE_NEXUS // Value pulses away on the same column and row of a single key hit then fades out
-// #define ENABLE_LED_MATRIX_SOLID_REACTIVE_MULTINEXUS // Value pulses away on the same column and row of multiple key hits then fades out
-#define ENABLE_LED_MATRIX_SOLID_SPLASH // Value pulses away from a single key hit then fades out
-#define ENABLE_LED_MATRIX_SOLID_MULTISPLASH // Value pulses away from multiple key hits then fades out
-// #endif
-#define ENABLE_LED_MATRIX_WAVE_LEFT_RIGHT // Sine wave scrolling from left to right
-#define ENBALE_LED_MATRIX_WAVE_UP_DOWN // Sine wave scrolling from up to down
-// #define ENABLE_LED_MATRIX_EFFECT_MAX
diff --git a/keyboards/keychron/s1/ansi/white/info.json b/keyboards/keychron/s1/ansi/white/info.json
index bcd64eea59..0e20c9ebe6 100644
--- a/keyboards/keychron/s1/ansi/white/info.json
+++ b/keyboards/keychron/s1/ansi/white/info.json
@@ -9,7 +9,31 @@
"device_version": "1.0.0"
},
"led_matrix": {
- "driver": "snled27351"
+ "animations":{
+ "alphas_mods": true,
+ "breathing": true,
+ "band": true,
+ "band_pinwheel": true,
+ "band_spiral": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "cycle_out_in": true,
+ "dual_beacon": true,
+ "solid_reactive_simple": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "wave_left_right": true,
+ "wave_up_down": true
+ },
+ "driver": "snled27351",
+ "sleep": true,
+ "react_on_keyup": true
},
"matrix_pins": {
"cols": ["A10", "A9", "A8", "B1", "B0", "A7", "A6", "A5", "A4", "A3", "A2", "A1", "A0", "C15", "C14"],
diff --git a/keyboards/keychron/s1/ansi/white/white.c b/keyboards/keychron/s1/ansi/white/white.c
index b3a49ae9eb..69623863d1 100644
--- a/keyboards/keychron/s1/ansi/white/white.c
+++ b/keyboards/keychron/s1/ansi/white/white.c
@@ -20,100 +20,100 @@
// clang-format off
-const snled27351_led_t PROGMEM g_snled27351_leds[LED_MATRIX_LED_COUNT] = {
+const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = {
/* Refer to SNLED27351 manual for these locations
* driver
* | LED address
* | | */
- {0, F_1}, // esc
- {0, F_2}, // f1
- {0, F_3}, // f2
- {0, F_4}, // f3
- {0, F_5}, // f4
- {0, F_6}, // f4
- {0, F_7}, // f6
- {0, F_8}, // f7
- {0, F_9}, // f8
- {0, F_10}, // f9
- {0, F_11}, // f10
- {0, F_12}, // f11
- {0, F_13}, // f12
- {0, F_14}, // print
- {0, F_15}, // del
- {0, F_16}, // light
+ {0, CB6_CA1}, // esc
+ {0, CB6_CA2}, // f1
+ {0, CB6_CA3}, // f2
+ {0, CB6_CA4}, // f3
+ {0, CB6_CA5}, // f4
+ {0, CB6_CA6}, // f4
+ {0, CB6_CA7}, // f6
+ {0, CB6_CA8}, // f7
+ {0, CB6_CA9}, // f8
+ {0, CB6_CA10}, // f9
+ {0, CB6_CA11}, // f10
+ {0, CB6_CA12}, // f11
+ {0, CB6_CA13}, // f12
+ {0, CB6_CA14}, // print
+ {0, CB6_CA15}, // del
+ {0, CB6_CA16}, // light
- {0, E_1}, // ~
- {0, E_2}, // 1!
- {0, E_3}, // 2@
- {0, E_4}, // 3#
- {0, E_5}, // 4$
- {0, E_6}, // 5%
- {0, E_7}, // 6^
- {0, E_8}, // 7&
- {0, E_9}, // 8*
- {0, E_10}, // 9(
- {0, E_11}, // 0)
- {0, E_12}, // -_
- {0, E_13}, // =+
- {0, E_14}, // back space
- {0, E_16}, // page up
+ {0, CB5_CA1}, // ~
+ {0, CB5_CA2}, // 1!
+ {0, CB5_CA3}, // 2@
+ {0, CB5_CA4}, // 3#
+ {0, CB5_CA5}, // 4$
+ {0, CB5_CA6}, // 5%
+ {0, CB5_CA7}, // 6^
+ {0, CB5_CA8}, // 7&
+ {0, CB5_CA9}, // 8*
+ {0, CB5_CA10}, // 9(
+ {0, CB5_CA11}, // 0)
+ {0, CB5_CA12}, // -_
+ {0, CB5_CA13}, // =+
+ {0, CB5_CA14}, // back space
+ {0, CB5_CA16}, // page up
- {0, D_1}, // tab
- {0, D_2}, // q
- {0, D_3}, // w
- {0, D_4}, // e
- {0, D_5}, // r
- {0, D_6}, // t
- {0, D_7}, // y
- {0, D_8}, // u
- {0, D_9}, // i
- {0, D_10}, // o
- {0, D_11}, // p
- {0, D_12}, // [{
- {0, D_13}, // ]}
- {0, D_14}, // |
- {0, D_16}, // page down
+ {0, CB4_CA1}, // tab
+ {0, CB4_CA2}, // q
+ {0, CB4_CA3}, // w
+ {0, CB4_CA4}, // e
+ {0, CB4_CA5}, // r
+ {0, CB4_CA6}, // t
+ {0, CB4_CA7}, // y
+ {0, CB4_CA8}, // u
+ {0, CB4_CA9}, // i
+ {0, CB4_CA10}, // o
+ {0, CB4_CA11}, // p
+ {0, CB4_CA12}, // [{
+ {0, CB4_CA13}, // ]}
+ {0, CB4_CA14}, // |
+ {0, CB4_CA16}, // page down
- {0, C_1}, // caps lock
- {0, C_2}, // a
- {0, C_3}, // s
- {0, C_4}, // d
- {0, C_5}, // f
- {0, C_6}, // g
- {0, C_7}, // h
- {0, C_8}, // j
- {0, C_9}, // k
- {0, C_10}, // l
- {0, C_11}, // ;:
- {0, C_12}, // '"
- {0, C_14}, // enter
- {0, C_16}, // home
+ {0, CB3_CA1}, // caps lock
+ {0, CB3_CA2}, // a
+ {0, CB3_CA3}, // s
+ {0, CB3_CA4}, // d
+ {0, CB3_CA5}, // f
+ {0, CB3_CA6}, // g
+ {0, CB3_CA7}, // h
+ {0, CB3_CA8}, // j
+ {0, CB3_CA9}, // k
+ {0, CB3_CA10}, // l
+ {0, CB3_CA11}, // ;:
+ {0, CB3_CA12}, // '"
+ {0, CB3_CA14}, // enter
+ {0, CB3_CA16}, // home
- {0, B_1}, // left shift
- {0, B_3}, // z
- {0, B_4}, // x
- {0, B_5}, // c
- {0, B_6}, // v
- {0, B_7}, // b
- {0, B_8}, // b
- {0, B_9}, // n
- {0, B_10}, // m
- {0, B_11}, // ,<
- {0, B_12}, // .>
- {0, B_13}, // right shift
- {0, B_14}, // up
- {0, B_16}, // end
+ {0, CB2_CA1}, // left shift
+ {0, CB2_CA3}, // z
+ {0, CB2_CA4}, // x
+ {0, CB2_CA5}, // c
+ {0, CB2_CA6}, // v
+ {0, CB2_CA7}, // b
+ {0, CB2_CA8}, // b
+ {0, CB2_CA9}, // n
+ {0, CB2_CA10}, // m
+ {0, CB2_CA11}, // ,<
+ {0, CB2_CA12}, // .>
+ {0, CB2_CA13}, // right shift
+ {0, CB2_CA14}, // up
+ {0, CB2_CA16}, // end
- {0, A_1}, // left
- {0, A_2}, // left command
- {0, A_3}, // left optin
- {0, A_7}, // space
- {0, A_10}, // right command
- {0, A_11}, // fn
- {0, A_12}, // right ctrl
- {0, A_13}, // left
- {0, A_14}, // down
- {0, A_16}, // right
+ {0, CB1_CA1}, // left
+ {0, CB1_CA2}, // left command
+ {0, CB1_CA3}, // left optin
+ {0, CB1_CA7}, // space
+ {0, CB1_CA10}, // right command
+ {0, CB1_CA11}, // fn
+ {0, CB1_CA12}, // right ctrl
+ {0, CB1_CA13}, // left
+ {0, CB1_CA14}, // down
+ {0, CB1_CA16}, // right
};
#define __ NO_LED
diff --git a/keyboards/keychron/s1/config.h b/keyboards/keychron/s1/config.h
index 8c98389522..014faffb92 100644
--- a/keyboards/keychron/s1/config.h
+++ b/keyboards/keychron/s1/config.h
@@ -16,16 +16,6 @@
#pragma once
-/* Disable DIP switch in matrix data */
-#define MATRIX_MASKED
-
-/* DIP switch */
-#define DIP_SWITCH_MATRIX_GRID { {5,4} }
-
-/* EEPROM Driver Configuration */
-#define WEAR_LEVELING_LOGICAL_SIZE 2048
-#define WEAR_LEVELING_BACKING_SIZE (WEAR_LEVELING_LOGICAL_SIZE * 2)
-
/* Increase I2C speed to 1000 KHz */
#define I2C1_TIMINGR_PRESC 0U
#define I2C1_TIMINGR_SCLDEL 3U
diff --git a/keyboards/keychron/s1/info.json b/keyboards/keychron/s1/info.json
new file mode 100644
index 0000000000..c490aeeb28
--- /dev/null
+++ b/keyboards/keychron/s1/info.json
@@ -0,0 +1,10 @@
+{
+ "eeprom": {
+ "wear_leveling": {
+ "backing_size": 4096
+ }
+ },
+ "dip_switch": {
+ "matrix_grid": [ [5, 4] ]
+ }
+}
diff --git a/keyboards/keychron/s1/s1.c b/keyboards/keychron/s1/s1.c
index d8488dd6ea..2f1b905505 100644
--- a/keyboards/keychron/s1/s1.c
+++ b/keyboards/keychron/s1/s1.c
@@ -16,15 +16,6 @@
#include "quantum.h"
-const matrix_row_t matrix_mask[] = {
- 0b111111111111111,
- 0b111111111111111,
- 0b111111111111111,
- 0b111111111111111,
- 0b111111111111111,
- 0b111111111101111,
-};
-
#ifdef DIP_SWITCH_ENABLE
bool dip_switch_update_kb(uint8_t index, bool active) {