From 3ddb68ee19f05d0369eeac996bb0c32a9fbeb690 Mon Sep 17 00:00:00 2001 From: Peter Cock Date: Fri, 18 Jul 2025 23:15:19 +0100 Subject: [PATCH 1/3] Update keyboard.json --- keyboards/tutte_coxeter_36k/keyboard.json | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/keyboards/tutte_coxeter_36k/keyboard.json b/keyboards/tutte_coxeter_36k/keyboard.json index 6a8c482..c644b35 100644 --- a/keyboards/tutte_coxeter_36k/keyboard.json +++ b/keyboards/tutte_coxeter_36k/keyboard.json @@ -10,6 +10,13 @@ "mousekey": true, "nkro": false }, + "ws2812": { + "pin": "GP23", + "driver": "vendor" + }, + "rgblight": { + "led_count": 1 + }, "matrix_pins": { "cols": ["GP11", "GP10", "GP3", "GP4", "GP7", "GP26", "GP27", "GP28", "GP15", "GP21", "GP19", "GP20", "GP16"], "rows": ["GP12", "GP8", "GP9", "GP1", "GP6", "GP2", "GP22", "GP0", "GP13", "GP14", "GP18", "GP17", "GP5"] From 177a320c3356336a9702f4444031c53c85adac7f Mon Sep 17 00:00:00 2001 From: Peter Cock Date: Fri, 18 Jul 2025 23:30:59 +0100 Subject: [PATCH 2/3] Enable RGB in Vial --- keyboards/tutte_coxeter_36k/keymaps/vial/rules.mk | 2 ++ 1 file changed, 2 insertions(+) diff --git a/keyboards/tutte_coxeter_36k/keymaps/vial/rules.mk b/keyboards/tutte_coxeter_36k/keymaps/vial/rules.mk index 4f7618e..7a030d4 100644 --- a/keyboards/tutte_coxeter_36k/keymaps/vial/rules.mk +++ b/keyboards/tutte_coxeter_36k/keymaps/vial/rules.mk @@ -1,2 +1,4 @@ VIA_ENABLE = yes VIAL_ENABLE = yes + +RGBLIGHT_ENABLE = yes From ed195cfe7b15717b06d0d44ff92173e624aff8eb Mon Sep 17 00:00:00 2001 From: "Peter J. A. Cock" Date: Mon, 21 Jul 2025 23:08:55 +0100 Subject: [PATCH 3/3] C code to change the RGB LED based on legacy host LED state --- keyboards/tutte_coxeter_36k/config.h | 1 + .../keymaps/default/keymap.c | 41 +++++++++++++++++++ .../keymaps/default/rules.mk | 1 + 3 files changed, 43 insertions(+) create mode 100644 keyboards/tutte_coxeter_36k/config.h create mode 100644 keyboards/tutte_coxeter_36k/keymaps/default/rules.mk diff --git a/keyboards/tutte_coxeter_36k/config.h b/keyboards/tutte_coxeter_36k/config.h new file mode 100644 index 0000000..7076830 --- /dev/null +++ b/keyboards/tutte_coxeter_36k/config.h @@ -0,0 +1 @@ +#define RGBLIGHT_LAYERS diff --git a/keyboards/tutte_coxeter_36k/keymaps/default/keymap.c b/keyboards/tutte_coxeter_36k/keymaps/default/keymap.c index 6503e33..8ea5360 100644 --- a/keyboards/tutte_coxeter_36k/keymaps/default/keymap.c +++ b/keyboards/tutte_coxeter_36k/keymaps/default/keymap.c @@ -28,3 +28,44 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_DEL, KC_TAB, KC_SPC, KC_ENT, KC_ESC, KC_BSPC ) }; + +// Only have one LED at index zero: +const rgblight_segment_t PROGMEM my_num_lock_layer[] = RGBLIGHT_LAYER_SEGMENTS( + {0, 1, HSV_CYAN} +); +const rgblight_segment_t PROGMEM my_caps_lock_layer[] = RGBLIGHT_LAYER_SEGMENTS( + {0, 1, HSV_BLUE} +); +const rgblight_segment_t PROGMEM my_scroll_lock_layer[] = RGBLIGHT_LAYER_SEGMENTS( + {0, 1, HSV_PURPLE} +); +const rgblight_segment_t PROGMEM my_compose_layer[] = RGBLIGHT_LAYER_SEGMENTS( + {0, 1, HSV_ORANGE} +); +const rgblight_segment_t PROGMEM my_kana_layer[] = RGBLIGHT_LAYER_SEGMENTS( + {0, 1, HSV_GREEN} +); +// etc... + +// Now define the array of layers. Later layers take precedence +const rgblight_segment_t* const PROGMEM my_rgb_layers[] = RGBLIGHT_LAYERS_LIST( + my_num_lock_layer, + my_caps_lock_layer, + my_scroll_lock_layer, + my_compose_layer, + my_kana_layer +); + +void keyboard_post_init_user(void) { + // Enable the LED layers + rgblight_layers = my_rgb_layers; +} + +bool led_update_user(led_t led_state) { + rgblight_set_layer_state(0, led_state.num_lock); + rgblight_set_layer_state(1, led_state.caps_lock); + rgblight_set_layer_state(2, led_state.scroll_lock); + rgblight_set_layer_state(3, led_state.compose); + rgblight_set_layer_state(4, led_state.kana); + return true; +} diff --git a/keyboards/tutte_coxeter_36k/keymaps/default/rules.mk b/keyboards/tutte_coxeter_36k/keymaps/default/rules.mk new file mode 100644 index 0000000..1e3cebb --- /dev/null +++ b/keyboards/tutte_coxeter_36k/keymaps/default/rules.mk @@ -0,0 +1 @@ +RGBLIGHT_ENABLE = yes