summaryrefslogtreecommitdiff
path: root/keyboards/xbows/woody/woody.c
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/xbows/woody/woody.c')
-rw-r--r--keyboards/xbows/woody/woody.c128
1 files changed, 128 insertions, 0 deletions
diff --git a/keyboards/xbows/woody/woody.c b/keyboards/xbows/woody/woody.c
new file mode 100644
index 0000000000..9821f5f655
--- /dev/null
+++ b/keyboards/xbows/woody/woody.c
@@ -0,0 +1,128 @@
+#include "woody.h"
+#ifdef RGB_MATRIX_ENABLE
+const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
+
+ {0, C8_8, C7_8, C6_8}, // LA17
+ {0, C9_8, C7_7, C6_7}, // LA16
+ {0, C9_7, C8_7, C6_6}, // LA15
+ {0, C9_6, C8_6, C7_6}, // LA14
+ {0, C9_5, C8_5, C7_5}, // LA13
+ {0, C9_4, C8_4, C7_4}, // LA12
+ {0, C9_3, C8_3, C7_3}, // LA11
+ {0, C9_2, C8_2, C7_2}, // LA10
+ {0, C9_1, C8_1, C7_1}, // LA9
+ {0, C2_9, C3_9, C4_9}, // LB0
+ {0, C1_9, C3_10, C4_10}, // LB1
+ {0, C1_10, C2_10, C4_11}, // LB2
+ {0, C1_11, C2_11, C3_11}, // LB3
+ {0, C1_13, C2_13, C3_13}, // LB5
+ {0, C1_14, C2_14, C3_14}, // LB6
+
+ {0, C1_7, C2_7, C3_7}, // LA7
+ {0, C1_6, C2_6, C3_6}, // LA6
+ {0, C1_5, C2_5, C3_5}, // LA5
+ {0, C1_4, C2_4, C3_4}, // LA4
+ {0, C1_3, C2_3, C3_3}, // LA3
+ {0, C1_2, C2_2, C4_3}, // LA2
+ {0, C1_1, C3_2, C4_2}, // LA1
+ {0, C2_1, C3_1, C4_1}, // LA0
+ {0, C9_9, C8_9, C7_9}, // LB9
+ {0, C9_10, C8_10, C7_10}, // LB10
+ {0, C9_11, C8_11, C7_11}, // LB11
+ {0, C9_12, C8_12, C7_12}, // LB12
+ {0, C9_13, C8_13, C7_13}, // LB13
+ {0, C9_14, C8_14, C7_14}, // LB14
+ {0, C1_15, C2_15, C3_15}, // LB7
+
+ {0, C1_8, C2_8, C3_8}, // LA8
+ {1, C9_6, C8_6, C7_6}, // LC14
+ {1, C9_5, C8_5, C7_5}, // LC13
+ {1, C9_4, C8_4, C7_4}, // LC12
+ {1, C9_3, C8_3, C7_3}, // LC11
+ {1, C9_2, C8_2, C7_2}, // LC10
+ {1, C9_1, C8_1, C7_1}, // LC9
+ {1, C2_9, C3_9, C4_9}, // LD0
+ {1, C1_9, C3_10, C4_10}, // LD1
+ {1, C1_10, C2_10, C4_11}, // LD2
+ {1, C1_11, C2_11, C3_11}, // LD3
+ {1, C1_12, C2_12, C3_12}, // LD4
+ {1, C1_13, C2_13, C3_13}, // LD5
+ {0, C1_16, C2_16, C3_16}, // LB8
+
+ {1, C9_8, C7_7, C6_7}, // LC16
+ {1, C1_5, C2_5, C3_5}, // LC5
+ {1, C1_4, C2_4, C3_4}, // LC4
+ {1, C1_3, C2_3, C3_3}, // LC3
+ {1, C1_2, C2_2, C4_3}, // LC2
+ {1, C1_1, C3_2, C4_2}, // LC1
+ {1, C9_9, C8_9, C7_9}, // LD9
+ {1, C9_10, C8_10, C7_10}, // LD10
+ {1, C9_11, C8_11, C7_11}, // LD11
+ {1, C9_12, C8_12, C7_12}, // LD12
+ {1, C1_14, C2_14, C3_14}, // LD6
+ {1, C1_15, C2_15, C3_15}, // LD7
+ {1, C1_16, C2_16, C3_16}, // LD8
+ {0, C9_15, C8_15, C6_14}, // LB15
+
+ {1, C8_8, C7_8, C6_8}, // LC17
+ {1, C1_8, C2_8, C3_8}, // LC8
+ {1, C1_7, C2_7, C3_7}, // LC7
+ {1, C2_1, C3_1, C4_1}, // LC0
+ {1, C9_14, C8_14, C7_14}, // LD14
+ {1, C9_16, C7_15, C6_15}, // LD16
+ {1, C8_16, C7_16, C6_16}, // LD17
+ {0, C8_16, C7_16, C6_16}, // LB17
+ {0, C9_16, C7_15, C6_15}, // LB16
+
+};
+
+led_config_t g_led_config = { {
+ { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14 },
+ { 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29 },
+ { 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, NO_LED,42, 43 },
+ { 44, 45, 46, 47, 48, 49, 59, 51, 52, 53, 54, NO_LED, 55, 56, 57 },
+ { 58, 59, 60, NO_LED, NO_LED, NO_LED, 61, NO_LED, NO_LED, 62, NO_LED,63, 64, 65, 66}
+}, {
+ {0,0},{15,0},{30,0},{45,0},{60,0},{75,0},{90,0},{105,0},{120,0},{135,0},{150,0},{165,0},{180,0},{203,0},{224,0},
+ {4,16},{23,16},{38,16},{53,16},{68,16},{83,16},{98,16},{113,16},{128,16},{143,16},{158,16},{173,16},{188,16},{206,16},{224,16},
+ {6,32},{26,32},{41,32},{56,32},{71,32},{86,32},{101,32},{116,32},{131,32},{146,32},{161,32},{176,32},{201,32},{224,32},
+ {9,48},{34,48},{49,48},{64,48},{79,48},{94,48},{109,48},{124,48},{139,48},{154,48},{169,48},{189,48},{210,48},{224,48},
+ {2,64},{21,64},{41,64},{99,64},{157,64},{178,64},{195,64},{210,64},{224,64}
+}, {
+ 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+ 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+ 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+ 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 4,
+ 4, 4, 4, 4, 4, 4, 1, 1, 1
+} };
+#endif
+
+void matrix_init_kb(void) {
+ matrix_init_user();
+}
+void matrix_scan_kb(void) {
+ matrix_scan_user();
+}
+bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
+ return process_record_user(keycode, record);
+}
+void suspend_power_down_kb(void)
+{
+ rgb_matrix_set_suspend_state(true);
+ suspend_power_down_user();
+}
+
+void suspend_wakeup_init_kb(void)
+{
+ rgb_matrix_set_suspend_state(false);
+ suspend_wakeup_init_user();
+}
+__attribute__ ((weak))
+
+void rgb_matrix_indicators_user(void)
+{
+ if (IS_LED_ON(host_keyboard_leds(), USB_LED_CAPS_LOCK))
+ {
+ rgb_matrix_set_color(30, 0xFF, 0x00, 0x00);
+ }
+}