WinderTP

Keychron custom LED indicator lights

Nov 3rd, 2023
1,180
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 4.62 KB | Source Code | 0 0
  1. //add to vial-qmk\keyboards\keychron\v6\ansi_encoder\keymaps\vial\keymap.c
  2.  
  3. #if defined(RGB_MATRIX_ENABLE) && defined(LAYER2_LED_INDEX) && defined(LAYER3_LED_INDEX)
  4.     void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {
  5.     // RGB_MATRIX_INDICATOR_SET_COLOR(index, red, green, blue);
  6.             // layer_state_t layer = layer_state_set_user(state);
  7.             if(IS_LAYER_ON(WIN_BASE)) {
  8.                     RGB_MATRIX_INDICATOR_SET_COLOR(LAYER2_LED_INDEX, 0, 0, 255);
  9.                 } else {
  10.                     if (!rgb_matrix_get_flags()) {
  11.                         RGB_MATRIX_INDICATOR_SET_COLOR(LAYER2_LED_INDEX, 0, 0, 0);
  12.                     }
  13.                 }
  14.             if(IS_LAYER_ON(WIN_FN)) {
  15.                     RGB_MATRIX_INDICATOR_SET_COLOR(LAYER3_LED_INDEX, 0, 0, 255);
  16.                 } else {
  17.                         if (!rgb_matrix_get_flags()) {
  18.                             RGB_MATRIX_INDICATOR_SET_COLOR(LAYER3_LED_INDEX, 0, 0, 0);
  19.                     }
  20.                 }
  21.         // return false;
  22.     }
  23. #   endif // RGB_MATRIX_ENABLE...
  24.  
  25. // replace "led_config_t g_led_config" in vial-qmk\keyboards\keychron\v6\ansi_encoder\ansi_encoder.c
  26.  
  27. led_config_t g_led_config = {
  28.     {
  29.         // Key Matrix to LED Index
  30.         {  0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11,  12,  __,  13,  14,  15,  39,  40, 16 },
  31.         { 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,  32,  33,  34,  35,  36,  37,  38, 17 },
  32.         { 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,  53,  54,  55,  56,  57,  58,  59, 18 },
  33.         { 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,  __,  73,  60,  77,  76,  74,  75, 19 },
  34.         { 78, __, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88,  __,  89,  93,  90, 107,  91,  92, __ },
  35.         { 94, 95, 96, __, __, __, 97, __, __, __, 98, 99, 100, 101, 102, 103, 104, 105, 106, __ },
  36.     },
  37.     {
  38.         // LED Index to Physical Position
  39.         {0,0},  {13,0},  {24,0},  {34,0},  {45,0},  {57,0},  {68,0},  {78,0},  {89,0},  {102,0},  {112,0},  {123,0},  {133,0},            {159,0},  {169,0},  {180,0},  {193,0},  {203,0},  {214,0},  {224,0},
  40.         {0,15}, {10,15}, {21,15}, {31,15}, {42,15}, {52,15}, {63,15}, {73,15}, {83,15}, {94,15},  {104,15}, {115,15}, {125,15}, {141,15}, {159,15}, {169,15}, {180,15}, {193,15}, {203,15}, {214,15}, {224,15},
  41.         {3,27}, {16,27}, {26,27}, {36,27}, {47,27}, {57,27}, {68,27}, {78,27}, {89,27}, {99,27},  {109,27}, {120,27}, {130,27}, {143,27}, {159,27}, {169,27}, {180,27}, {193,27}, {203,27}, {214,27},
  42.         {4,40}, {18,40}, {29,40}, {39,40}, {50,40}, {60,40}, {70,40}, {81,40}, {91,40}, {102,40}, {112,40}, {123,40},           {139,40},                               {193,40}, {203,40}, {214,40}, {224,34},
  43.         {7,52},          {23,52}, {34,52}, {44,52}, {55,52}, {65,52}, {76,52}, {86,52}, {96,52},  {107,52}, {117,52},           {137,52},           {169,52},           {193,52}, {203,52}, {214,52},
  44.         {1,64}, {14,64}, {27,64},                            {66,64},                             {105,64}, {118,64}, {131,64}, {145,64}, {159,64}, {169,64}, {180,64}, {198,64},           {214,64}, {224,58},
  45.     },
  46.     {
  47.         // RGB LED Index to Flag
  48.         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,    1, 8, 1, 8, 8, 1, 1,
  49.         1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, 1, 8, 4, 4, 4,
  50.         1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, 4, 4, 4,
  51.         8, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,    1,          4, 4, 4, 4,
  52.         1,    4, 4, 4, 4, 4, 4, 4, 4, 4, 4,    1,    1,    4, 4, 4,
  53.         1, 1, 1,          4,          1, 1, 1, 1, 1, 1, 1, 1,    4, 1,
  54.     }
  55. };
  56.  
  57. //replace rgb_matrix_indicators_advanced_kb in vial-qmk\keyboards\keychron\v6\v6.c
  58.  
  59. void rgb_matrix_indicators_advanced_kb(uint8_t led_min, uint8_t led_max) {
  60.     // RGB_MATRIX_INDICATOR_SET_COLOR(index, red, green, blue);
  61. #    if defined(CAPS_LOCK_LED_INDEX)
  62.     if (host_keyboard_led_state().caps_lock) {
  63.         RGB_MATRIX_INDICATOR_SET_COLOR(CAPS_LOCK_LED_INDEX, 0, 255, 0);
  64.     } else {
  65.         if (!rgb_matrix_get_flags()) {
  66.             RGB_MATRIX_INDICATOR_SET_COLOR(CAPS_LOCK_LED_INDEX, 0, 0, 0);
  67.         }
  68.     }
  69. #    endif // CAPS_LOCK_LED_INDEX
  70. #    if defined(NUM_LOCK_LED_INDEX)
  71.     if (host_keyboard_led_state().num_lock) {
  72.         RGB_MATRIX_INDICATOR_SET_COLOR(NUM_LOCK_LED_INDEX, 0, 255, 0);
  73.     } else {
  74.         if (!rgb_matrix_get_flags()) {
  75.             RGB_MATRIX_INDICATOR_SET_COLOR(NUM_LOCK_LED_INDEX, 0, 0, 0);
  76.         }
  77.     }
  78. #    endif // NUM_LOCK_LED_INDEX
  79. #    if defined(SCR_LOCK_LED_INDEX)
  80.     if (host_keyboard_led_state().scroll_lock) {
  81.         RGB_MATRIX_INDICATOR_SET_COLOR(SCR_LOCK_LED_INDEX, 0, 255, 0);
  82.     } else {
  83.         if (!rgb_matrix_get_flags()) {
  84.             RGB_MATRIX_INDICATOR_SET_COLOR(SCR_LOCK_LED_INDEX, 0, 0, 0);
  85.         }
  86.     }
  87. #    endif // SCR_LOCK_LED_INDEX
  88. }
  89. #   endif // RGB_MATRIX_ENABLE...
Tags: keychron V6
Advertisement
Add Comment
Please, Sign In to add comment