pan.c (1546B)
1 // Copyright 2020 RGBKB 2 // SPDX-License-Identifier: GPL-2.0-or-later 3 4 #include "quantum.h" 5 6 #ifdef RGB_MATRIX_ENABLE 7 # include "ws2812.h" 8 9 static inline void setled(int i, uint8_t r, uint8_t g, uint8_t b) { 10 if (i == 0 || i == 1) { // Encoder LEDs require GBR sequence 11 ws2812_set_color(i, g, b, r); 12 } else { 13 ws2812_set_color(i, r, g, b); 14 } 15 } 16 17 const rgb_matrix_driver_t rgb_matrix_driver = { 18 .init = ws2812_init, 19 .flush = ws2812_flush, 20 .set_color = setled, 21 .set_color_all = ws2812_set_color_all, 22 }; 23 #endif 24 25 #ifdef OLED_ENABLE 26 bool oled_task_kb(void) { 27 if (!oled_task_user()) { 28 return false; 29 } 30 oled_write_P(PSTR("RGBKB Pan\n"), false); 31 oled_write_P(PSTR("Layer: "), false); 32 uint8_t layer = get_highest_layer(layer_state | default_layer_state); 33 switch (layer) { 34 case 0: 35 oled_write_P(PSTR("Default\n"), false); 36 break; 37 case 1: 38 oled_write_P(PSTR("Colemak\n"), false); 39 break; 40 case 2: 41 oled_write_P(PSTR("Function\n"), false); 42 break; 43 case 3: 44 oled_write_P(PSTR("Adjust\n"), false); 45 break; 46 default: 47 oled_write_P(PSTR("Undefined\n"), false); 48 } 49 led_t led_state = host_keyboard_led_state(); 50 oled_write_P(led_state.num_lock ? PSTR("Numlock On\n") : PSTR(" \n"), false); 51 oled_write_P(led_state.caps_lock ? PSTR("Capslock On \n") : PSTR(" \n"), false); 52 return false; 53 } 54 #endif