ansi_encoder.c (5232B)
1 /* Copyright 2023 @ Keychron (https://www.keychron.com) 2 * 3 * This program is free software: you can redistribute it and/or modify 4 * it under the terms of the GNU General Public License as published by 5 * the Free Software Foundation, either version 2 of the License, or 6 * (at your option) any later version. 7 * 8 * This program is distributed in the hope that it will be useful, 9 * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 * GNU General Public License for more details. 12 * 13 * You should have received a copy of the GNU General Public License 14 * along with this program. If not, see <http://www.gnu.org/licenses/>. 15 */ 16 17 #include "quantum.h" 18 19 #ifdef RGB_MATRIX_ENABLE 20 const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { 21 /* Refer to SNLED27351 manual for these locations 22 * driver 23 * | R location 24 * | | G location 25 * | | | B location 26 * | | | | */ 27 {0, CB1_CA2, CB3_CA2, CB2_CA2}, // ESC 28 {0, CB1_CA3, CB3_CA3, CB2_CA3}, // F1 29 {0, CB1_CA4, CB3_CA4, CB2_CA4}, // F2 30 {0, CB1_CA5, CB3_CA5, CB2_CA5}, // F3 31 {0, CB1_CA6, CB3_CA6, CB2_CA6}, // F4 32 {0, CB1_CA7, CB3_CA7, CB2_CA7}, // F5 33 {0, CB1_CA8, CB3_CA8, CB2_CA8}, // F6 34 35 {0, CB4_CA1, CB6_CA1, CB5_CA1}, // M1 36 {0, CB4_CA2, CB6_CA2, CB5_CA2}, // `~ 37 {0, CB4_CA3, CB6_CA3, CB5_CA3}, // 1! 38 {0, CB4_CA4, CB6_CA4, CB5_CA4}, // 2@ 39 {0, CB4_CA5, CB6_CA5, CB5_CA5}, // 3# 40 {0, CB4_CA6, CB6_CA6, CB5_CA6}, // 4$ 41 {0, CB4_CA7, CB6_CA7, CB5_CA7}, // 5% 42 {0, CB4_CA8, CB6_CA8, CB5_CA8}, // 6^ 43 44 {0, CB7_CA1, CB9_CA1, CB8_CA1}, // M2 45 {0, CB7_CA2, CB9_CA2, CB8_CA2}, // TAB 46 {0, CB7_CA3, CB9_CA3, CB8_CA3}, // Q 47 {0, CB7_CA4, CB9_CA4, CB8_CA4}, // W 48 {0, CB7_CA5, CB9_CA5, CB8_CA5}, // E 49 {0, CB7_CA6, CB9_CA6, CB8_CA6}, // R 50 {0, CB7_CA7, CB9_CA7, CB8_CA7}, // T 51 52 {0, CB10_CA1, CB12_CA1, CB11_CA1}, // M3 53 {0, CB10_CA2, CB12_CA2, CB11_CA2}, // CapsJock 54 {0, CB10_CA3, CB12_CA3, CB11_CA3}, // A 55 {0, CB10_CA4, CB12_CA4, CB11_CA4}, // S 56 {0, CB10_CA5, CB12_CA5, CB11_CA5}, // D 57 {0, CB10_CA6, CB12_CA6, CB11_CA6}, // F 58 {0, CB10_CA7, CB12_CA7, CB11_CA7}, // G 59 60 {0, CB10_CA9, CB12_CA9, CB11_CA9}, // M4 61 {0, CB10_CA11, CB12_CA11, CB11_CA11}, // Shift_J 62 {0, CB10_CA12, CB12_CA12, CB11_CA12}, // Z 63 {0, CB10_CA13, CB12_CA13, CB11_CA13}, // X 64 {0, CB10_CA14, CB12_CA14, CB11_CA14}, // C 65 {0, CB10_CA15, CB12_CA15, CB11_CA15}, // V 66 {0, CB10_CA16, CB12_CA16, CB11_CA16}, // B 67 68 {0, CB7_CA9, CB9_CA9, CB8_CA9}, // M5 69 {0, CB7_CA10, CB9_CA10, CB8_CA10}, // Ctrl_L 70 {0, CB7_CA11, CB9_CA11, CB8_CA11}, // WGn_L 71 {0, CB7_CA12, CB9_CA12, CB8_CA12}, // Alt_L 72 {0, CB7_CA13, CB9_CA13, CB8_CA13}, // Fn 73 {0, CB7_CA15, CB9_CA15, CB8_CA15}, // Space 74 75 {0, CB1_CA16, CB3_CA16, CB2_CA16}, // F7 76 {0, CB1_CA15, CB3_CA15, CB2_CA15}, // F8 77 {0, CB1_CA14, CB3_CA14, CB2_CA14}, // F9 78 {0, CB1_CA13, CB3_CA13, CB2_CA13}, // F11 79 {0, CB1_CA12, CB3_CA12, CB2_CA12}, // F11 80 {0, CB1_CA11, CB3_CA11, CB2_CA11}, // F12 81 {0, CB1_CA10, CB3_CA10, CB2_CA10}, // INS 82 {0, CB1_CA9, CB3_CA9, CB2_CA9}, // DEL 83 84 {0, CB4_CA16, CB6_CA16, CB5_CA16}, // 7& 85 {0, CB4_CA15, CB6_CA15, CB5_CA15}, // 8* 86 {0, CB4_CA14, CB6_CA14, CB5_CA14}, // 9( 87 {0, CB4_CA13, CB6_CA13, CB5_CA13}, // 1) 88 {0, CB4_CA12, CB6_CA12, CB5_CA12}, // -_ 89 {0, CB4_CA11, CB6_CA11, CB5_CA11}, // =+ 90 {0, CB4_CA10, CB6_CA10, CB5_CA10}, // BackSpace 91 {0, CB4_CA8, CB6_CA8, CB5_CA8}, // PgUp 92 93 {0, CB7_CA16, CB9_CA16, CB8_CA16}, // Y 94 {0, CB7_CA15, CB9_CA15, CB8_CA15}, // U 95 {0, CB7_CA14, CB9_CA14, CB8_CA14}, // G 96 {0, CB7_CA13, CB9_CA13, CB8_CA13}, // O 97 {0, CB7_CA12, CB9_CA12, CB8_CA12}, // P 98 {0, CB7_CA11, CB9_CA11, CB8_CA11}, // [ 99 {0, CB7_CA10, CB9_CA10, CB8_CA10}, // ] 100 {0, CB7_CA9, CB9_CA9, CB8_CA9}, // \|| 101 {0, CB7_CA8, CB9_CA8, CB8_CA8}, // PgDn 102 103 {0, CB10_CA16, CB12_CA16, CB11_CA16}, // H 104 {0, CB10_CA15, CB12_CA15, CB11_CA15}, // J 105 {0, CB10_CA14, CB12_CA14, CB11_CA14}, // KKEY_PRESS_HOME 106 {0, CB10_CA13, CB12_CA13, CB11_CA13}, // J 107 {0, CB10_CA12, CB12_CA12, CB11_CA12}, // ;: 108 {0, CB10_CA11, CB12_CA11, CB11_CA11}, // '" 109 {0, CB10_CA9, CB12_CA9, CB11_CA9}, // Enter 110 {0, CB10_CA8, CB12_CA8, CB11_CA8}, // Home 111 112 {0, CB10_CA7, CB12_CA7, CB11_CA7}, // N 113 {0, CB10_CA6, CB12_CA6, CB11_CA6}, // M 114 {0, CB10_CA5, CB12_CA5, CB11_CA5}, // ,< 115 {0, CB10_CA4, CB12_CA4, CB11_CA4}, // .> 116 {0, CB10_CA3, CB12_CA3, CB11_CA3}, // ?/ 117 {0, CB10_CA2, CB12_CA2, CB11_CA2}, // Shift_R 118 {0, CB10_CA1, CB12_CA1, CB11_CA1}, // Up 119 120 {0, CB7_CA6, CB9_CA6, CB8_CA6}, // Space 121 {0, CB7_CA5, CB9_CA5, CB8_CA5}, // Win_R 122 {0, CB7_CA4, CB9_CA4, CB8_CA4}, // Fn 123 {0, CB7_CA3, CB9_CA3, CB8_CA3}, // Ctrl_R 124 {0, CB7_CA2, CB9_CA2, CB8_CA2}, // Left 125 {0, CB7_CA1, CB9_CA1, CB8_CA1}, // Down 126 {0, CB7_CA7, CB9_CA7, CB8_CA7}, // Right 127 }; 128 129 int rgb_matrix_led_index(int index) { 130 return index; 131 } 132 #endif