qmk_firmware

QMK firmware for my keyboards (Corne, Sweep Ferris) and trackball (Ploopy Adept)
Log | Files | Refs | Submodules | LICENSE

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