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