From f08e3c19818d761d47838b6716ff9394096a7cd8 Mon Sep 17 00:00:00 2001 From: bugbuster Date: Sat, 3 Feb 2024 11:54:23 +0100 Subject: [PATCH 1/5] num lock indicator right side led --- keyboards/nuphy/air96_v2/ansi/side.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/keyboards/nuphy/air96_v2/ansi/side.c b/keyboards/nuphy/air96_v2/ansi/side.c index 6e81ed027410..6bdbbcb4416a 100644 --- a/keyboards/nuphy/air96_v2/ansi/side.c +++ b/keyboards/nuphy/air96_v2/ansi/side.c @@ -320,11 +320,17 @@ void sys_led_show(void) if (host_keyboard_led_state().caps_lock) { set_left_rgb(0X00, SIDE_BLINK_LIGHT, SIDE_BLINK_LIGHT); } + if (host_keyboard_led_state().num_lock) { + set_right_rgb(0X00, SIDE_BLINK_LIGHT, SIDE_BLINK_LIGHT); + } } else { if (dev_info.rf_led & 0x02) { set_left_rgb(0X00, SIDE_BLINK_LIGHT, SIDE_BLINK_LIGHT); } + if (dev_info.rf_led & 0x01) { + set_right_rgb(0X00, SIDE_BLINK_LIGHT, SIDE_BLINK_LIGHT); + } } } From b2a1da78faa5f79a63057a588013996831926b62 Mon Sep 17 00:00:00 2001 From: bugbuster Date: Sat, 3 Feb 2024 13:22:03 +0100 Subject: [PATCH 2/5] updated readme.md, make example use via keymap --- keyboards/nuphy/air96_v2/ansi/readme.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/keyboards/nuphy/air96_v2/ansi/readme.md b/keyboards/nuphy/air96_v2/ansi/readme.md index a338f53844c5..4ca671a852bd 100644 --- a/keyboards/nuphy/air96_v2/ansi/readme.md +++ b/keyboards/nuphy/air96_v2/ansi/readme.md @@ -9,11 +9,11 @@ c# NuPhy Air96 V2 Make example for this keyboard (after setting up your build environment): - make nuphy/air96_v2/ansi:default + make nuphy/air96_v2/ansi:via Flashing example for this keyboard: - make nuphy/air96_v2/ansi:default:flash + make nuphy/air96_v2/ansi:via:flash See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). From fbfd9b5d8753d48b6b2e9b2c335e93c0fc239b41 Mon Sep 17 00:00:00 2001 From: bugbuster Date: Sun, 4 Feb 2024 21:09:58 +0100 Subject: [PATCH 3/5] caps/num lock indicators on left side, top led for caps lock, bottom led for num lock --- keyboards/nuphy/air96_v2/ansi/side.c | 62 ++++++++++++++++++++-------- 1 file changed, 45 insertions(+), 17 deletions(-) diff --git a/keyboards/nuphy/air96_v2/ansi/side.c b/keyboards/nuphy/air96_v2/ansi/side.c index 6bdbbcb4416a..c24cae702ca4 100644 --- a/keyboards/nuphy/air96_v2/ansi/side.c +++ b/keyboards/nuphy/air96_v2/ansi/side.c @@ -67,6 +67,16 @@ uint8_t side_play_cnt = 0; uint32_t side_play_timer = 0; uint8_t r_temp, g_temp, b_temp; +typedef struct keyb_indicators_t +{ + uint8_t caps_lock:1; + uint8_t num_lock:1; + /* + uint8_t scroll_lock:1; + uint8_t insert:1; + */ +} keyb_indicators_t; + extern DEV_INFO_STRUCT dev_info; extern bool f_bat_hold; extern user_config_t user_config; @@ -239,6 +249,29 @@ void set_right_rgb(uint8_t r, uint8_t g, uint8_t b) rgb_matrix_set_color(SIDE_INDEX + SIDE_LINE + i, r, g, b); } +/** + * @brief set indicator leds + * @param ... + */ +void set_indicator_leds(keyb_indicators_t inds) +{ + /* "side line" contains "SIDE_LINE" number leds */ + #define INDICATOR_NUM_LEDS 1 + #define INDICATOR_CAPS_INDEX 4 + #define INDICATOR_NUM_INDEX 0 + if (inds.caps_lock) { + /* set_left_rgb(0X00, SIDE_BLINK_LIGHT, SIDE_BLINK_LIGHT); */ + for (int i = 0; i < INDICATOR_NUM_LEDS; i++) + rgb_matrix_set_color(SIDE_INDEX + INDICATOR_CAPS_INDEX + i, 0, SIDE_BLINK_LIGHT, SIDE_BLINK_LIGHT); + + } + if (inds.num_lock) { + /* set_right_rgb(0X00, SIDE_BLINK_LIGHT, SIDE_BLINK_LIGHT); */ + for (int i = 0; i < INDICATOR_NUM_LEDS; i++) + rgb_matrix_set_color(SIDE_INDEX + INDICATOR_NUM_INDEX + i, 0, 0, SIDE_BLINK_LIGHT); + } +} + /** * @brief system switch led show */ @@ -312,26 +345,21 @@ void sleep_sw_led_show(void) } /** - * @brief host system led indicate. + * @brief show "keyboard indicators" (caps/num/...), these indicators are set from host system */ -void sys_led_show(void) +void keyb_indicators_show(void) { + keyb_indicators_t inds = { .caps_lock = 0, .num_lock = 0 }; + if (dev_info.link_mode == LINK_USB) { - if (host_keyboard_led_state().caps_lock) { - set_left_rgb(0X00, SIDE_BLINK_LIGHT, SIDE_BLINK_LIGHT); - } - if (host_keyboard_led_state().num_lock) { - set_right_rgb(0X00, SIDE_BLINK_LIGHT, SIDE_BLINK_LIGHT); - } - } - else { - if (dev_info.rf_led & 0x02) { - set_left_rgb(0X00, SIDE_BLINK_LIGHT, SIDE_BLINK_LIGHT); - } - if (dev_info.rf_led & 0x01) { - set_right_rgb(0X00, SIDE_BLINK_LIGHT, SIDE_BLINK_LIGHT); - } + inds.caps_lock = (host_keyboard_led_state().caps_lock != 0); + inds.num_lock = (host_keyboard_led_state().num_lock != 0); + } else { + inds.caps_lock = ((dev_info.rf_led & 0x02) != 0); + inds.num_lock = ((dev_info.rf_led & 0x01) != 0); } + + set_indicator_leds(inds); } /** @@ -868,6 +896,6 @@ void m_side_led_show(void) sleep_sw_led_show(); sys_sw_led_show(); - sys_led_show(); + keyb_indicators_show(); rf_led_show(); } From ee24fd0b020c191ebd5669f1fa784b5539e9a8ba Mon Sep 17 00:00:00 2001 From: bugbuster Date: Sun, 4 Feb 2024 21:46:58 +0100 Subject: [PATCH 4/5] num lock indicator led rgb=0,0,255 --- keyboards/nuphy/air96_v2/ansi/side.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/keyboards/nuphy/air96_v2/ansi/side.c b/keyboards/nuphy/air96_v2/ansi/side.c index c24cae702ca4..c05581b99895 100644 --- a/keyboards/nuphy/air96_v2/ansi/side.c +++ b/keyboards/nuphy/air96_v2/ansi/side.c @@ -268,7 +268,7 @@ void set_indicator_leds(keyb_indicators_t inds) if (inds.num_lock) { /* set_right_rgb(0X00, SIDE_BLINK_LIGHT, SIDE_BLINK_LIGHT); */ for (int i = 0; i < INDICATOR_NUM_LEDS; i++) - rgb_matrix_set_color(SIDE_INDEX + INDICATOR_NUM_INDEX + i, 0, 0, SIDE_BLINK_LIGHT); + rgb_matrix_set_color(SIDE_INDEX + INDICATOR_NUM_INDEX + i, 0, 0, 255); } } From 75ba1a2636b98211bd6d774da0d701f5e78b0797 Mon Sep 17 00:00:00 2001 From: bugbuster Date: Tue, 6 Feb 2024 14:24:40 +0100 Subject: [PATCH 5/5] nuphy air96 v2: caps/numlock indicator on left/right side led --- keyboards/nuphy/air96_v2/ansi/side.c | 29 ++++++++++++---------------- 1 file changed, 12 insertions(+), 17 deletions(-) diff --git a/keyboards/nuphy/air96_v2/ansi/side.c b/keyboards/nuphy/air96_v2/ansi/side.c index c05581b99895..f86560210b3b 100644 --- a/keyboards/nuphy/air96_v2/ansi/side.c +++ b/keyboards/nuphy/air96_v2/ansi/side.c @@ -69,12 +69,16 @@ uint8_t r_temp, g_temp, b_temp; typedef struct keyb_indicators_t { - uint8_t caps_lock:1; - uint8_t num_lock:1; - /* - uint8_t scroll_lock:1; - uint8_t insert:1; - */ + union { + struct { + uint8_t caps_lock:1; + uint8_t num_lock:1; + /* + uint8_t scroll_lock:1; + */ + }; + uint8_t indicator_flags; + }; } keyb_indicators_t; extern DEV_INFO_STRUCT dev_info; @@ -255,20 +259,11 @@ void set_right_rgb(uint8_t r, uint8_t g, uint8_t b) */ void set_indicator_leds(keyb_indicators_t inds) { - /* "side line" contains "SIDE_LINE" number leds */ - #define INDICATOR_NUM_LEDS 1 - #define INDICATOR_CAPS_INDEX 4 - #define INDICATOR_NUM_INDEX 0 if (inds.caps_lock) { - /* set_left_rgb(0X00, SIDE_BLINK_LIGHT, SIDE_BLINK_LIGHT); */ - for (int i = 0; i < INDICATOR_NUM_LEDS; i++) - rgb_matrix_set_color(SIDE_INDEX + INDICATOR_CAPS_INDEX + i, 0, SIDE_BLINK_LIGHT, SIDE_BLINK_LIGHT); - + set_left_rgb(0X00, SIDE_BLINK_LIGHT, SIDE_BLINK_LIGHT); } if (inds.num_lock) { - /* set_right_rgb(0X00, SIDE_BLINK_LIGHT, SIDE_BLINK_LIGHT); */ - for (int i = 0; i < INDICATOR_NUM_LEDS; i++) - rgb_matrix_set_color(SIDE_INDEX + INDICATOR_NUM_INDEX + i, 0, 0, 255); + set_right_rgb(0X00, SIDE_BLINK_LIGHT, SIDE_BLINK_LIGHT); } }