From 04b6763052d6c956b6d8953dbcba9660501a879f Mon Sep 17 00:00:00 2001 From: Adophoxia Date: Thu, 30 Jan 2025 18:45:59 -0800 Subject: [PATCH 1/3] Add forgotten Caps Lock Indicator --- keyboards/keychron/c3_pro/config.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/keyboards/keychron/c3_pro/config.h b/keyboards/keychron/c3_pro/config.h index f5e7e859697c..4dc02c615e03 100644 --- a/keyboards/keychron/c3_pro/config.h +++ b/keyboards/keychron/c3_pro/config.h @@ -22,3 +22,5 @@ #define I2C1_CLOCK_SPEED 400000 #define I2C1_DUTY_CYCLE FAST_DUTY_CYCLE_2 +/* Caps Lock Indicator*/ +#define CAPS_LOCK_LED_INDEX 50 From 0079537b38424650e3e5319ff907707372dce0b5 Mon Sep 17 00:00:00 2001 From: Adophoxia Date: Fri, 31 Jan 2025 21:23:23 -0800 Subject: [PATCH 2/3] Add missing LED code for the following defines --- keyboards/keychron/c3_pro/c3_pro.c | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/keyboards/keychron/c3_pro/c3_pro.c b/keyboards/keychron/c3_pro/c3_pro.c index 905eb86f5a38..8c8fd82529c5 100644 --- a/keyboards/keychron/c3_pro/c3_pro.c +++ b/keyboards/keychron/c3_pro/c3_pro.c @@ -110,3 +110,29 @@ bool led_matrix_indicators_advanced_kb(uint8_t led_min, uint8_t led_max) { } #endif // LED_MATRIX_ENABLE && CAPS_LOCK_LED_INDEX + +void keyboard_post_init_kb(void) { + setPinOutputPushPull(LED_MAC_OS_PIN); + setPinOutputPushPull(LED_WIN_OS_PIN); + writePin(LED_MAC_OS_PIN, !LED_OS_PIN_ON_STATE); + writePin(LED_WIN_OS_PIN, !LED_OS_PIN_ON_STATE); + keyboard_post_init_user(); +} + +void housekeeping_task_kb(void) { + if (default_layer_state == (1U << 0)) { + writePin(LED_MAC_OS_PIN, LED_OS_PIN_ON_STATE); + writePin(LED_WIN_OS_PIN, !LED_OS_PIN_ON_STATE); + } + if (default_layer_state == (1U << 2)) { + writePin(LED_MAC_OS_PIN, !LED_OS_PIN_ON_STATE); + writePin(LED_WIN_OS_PIN, LED_OS_PIN_ON_STATE); + } + housekeeping_task_user(); +} +... +void suspend_power_down_kb(void) { + writePin(LED_WIN_OS_PIN, !LED_OS_PIN_ON_STATE); + writePin(LED_MAC_OS_PIN, !LED_OS_PIN_ON_STATE); + suspend_power_down_user(); +} \ No newline at end of file From 7f84d823cee3ee88a8affa6d4f0e0a26b5eb2fad Mon Sep 17 00:00:00 2001 From: adophoxia <100170946+adophoxia@users.noreply.github.com> Date: Sat, 1 Feb 2025 11:24:16 -0800 Subject: [PATCH 3/3] Apply suggestions from code review Co-authored-by: Joel Challis --- keyboards/keychron/c3_pro/c3_pro.c | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/keyboards/keychron/c3_pro/c3_pro.c b/keyboards/keychron/c3_pro/c3_pro.c index 8c8fd82529c5..247428eec6d4 100644 --- a/keyboards/keychron/c3_pro/c3_pro.c +++ b/keyboards/keychron/c3_pro/c3_pro.c @@ -112,27 +112,28 @@ bool led_matrix_indicators_advanced_kb(uint8_t led_min, uint8_t led_max) { #endif // LED_MATRIX_ENABLE && CAPS_LOCK_LED_INDEX void keyboard_post_init_kb(void) { - setPinOutputPushPull(LED_MAC_OS_PIN); - setPinOutputPushPull(LED_WIN_OS_PIN); - writePin(LED_MAC_OS_PIN, !LED_OS_PIN_ON_STATE); - writePin(LED_WIN_OS_PIN, !LED_OS_PIN_ON_STATE); + gpio_set_pin_output_push_pull(LED_MAC_OS_PIN); + gpio_set_pin_output_push_pull(LED_WIN_OS_PIN); + gpio_write_pin(LED_MAC_OS_PIN, !LED_OS_PIN_ON_STATE); + gpio_write_pin(LED_WIN_OS_PIN, !LED_OS_PIN_ON_STATE); + keyboard_post_init_user(); } void housekeeping_task_kb(void) { if (default_layer_state == (1U << 0)) { - writePin(LED_MAC_OS_PIN, LED_OS_PIN_ON_STATE); - writePin(LED_WIN_OS_PIN, !LED_OS_PIN_ON_STATE); + gpio_write_pin(LED_MAC_OS_PIN, LED_OS_PIN_ON_STATE); + gpio_write_pin(LED_WIN_OS_PIN, !LED_OS_PIN_ON_STATE); } if (default_layer_state == (1U << 2)) { - writePin(LED_MAC_OS_PIN, !LED_OS_PIN_ON_STATE); - writePin(LED_WIN_OS_PIN, LED_OS_PIN_ON_STATE); + gpio_write_pin(LED_MAC_OS_PIN, !LED_OS_PIN_ON_STATE); + gpio_write_pin(LED_WIN_OS_PIN, LED_OS_PIN_ON_STATE); } - housekeeping_task_user(); } -... + void suspend_power_down_kb(void) { - writePin(LED_WIN_OS_PIN, !LED_OS_PIN_ON_STATE); - writePin(LED_MAC_OS_PIN, !LED_OS_PIN_ON_STATE); + gpio_write_pin(LED_WIN_OS_PIN, !LED_OS_PIN_ON_STATE); + gpio_write_pin(LED_MAC_OS_PIN, !LED_OS_PIN_ON_STATE); + suspend_power_down_user(); -} \ No newline at end of file +}