mirror of
https://github.com/Keychron/qmk_firmware.git
synced 2024-12-27 11:38:58 +06:00
af89752bff
* Initial conversion of the rgb_led struct * Converting last keyboard & updating effects to take advantage of the new structure * New struct should not be const * Updated docs * Changing define ___ for no led to NO_LED * Missed converting some keymap usages of the old struct layout
133 lines
4.4 KiB
C
133 lines
4.4 KiB
C
#include "crkbd.h"
|
|
|
|
|
|
#ifdef AUDIO_ENABLE
|
|
float tone_startup[][2] = SONG(STARTUP_SOUND);
|
|
float tone_goodbye[][2] = SONG(GOODBYE_SOUND);
|
|
#endif
|
|
|
|
#ifdef SSD1306OLED
|
|
void led_set_kb(uint8_t usb_led) {
|
|
// put your keyboard LED indicator (ex: Caps Lock LED) toggling code here
|
|
//led_set_user(usb_led);
|
|
}
|
|
#endif
|
|
|
|
#ifdef RGB_MATRIX_ENABLE
|
|
|
|
// Logical Layout
|
|
// Columns
|
|
// Left
|
|
// 0 1 2 3 4 5
|
|
// ROWS
|
|
// 25 24 19 18 11 10 0
|
|
// 03 02 01
|
|
// 26 23 20 17 12 09 1
|
|
// 04 05 06
|
|
// 27 22 21 16 13 08 2
|
|
//
|
|
// 15 14 07 3
|
|
//
|
|
// Right
|
|
// 0 1 2 3 4 5
|
|
// ROWS
|
|
// 25 24 19 18 11 10 4
|
|
// 03 02 01
|
|
// 26 23 20 17 12 09 5
|
|
// 04 05 06
|
|
// 27 22 21 16 13 08 6
|
|
//
|
|
// 15 14 07 7
|
|
//
|
|
// Physical Layout
|
|
// Columns
|
|
// 0 1 2 3 4 5 6 7 8 9 10 11 12 13
|
|
// ROWS
|
|
// 25 24 19 18 11 10 10 11 18 19 24 25 0
|
|
// 03 02 01 01 02 03
|
|
// 26 23 20 17 12 09 09 12 17 20 23 26 1
|
|
// 04 04
|
|
// 27 22 21 16 13 08 08 13 16 21 22 27 2
|
|
// 05 06 06 05
|
|
// 15 14 07 07 14 15 3
|
|
|
|
|
|
#ifdef RGB_MATRIX_SPLIT_RIGHT
|
|
led_config_t g_led_config = { {
|
|
{ 51, 50, 45, 44, 37, 36, NO_LED },
|
|
{ 52, 49, 46, 43, 38, 35, NO_LED },
|
|
{ 53, 48, 47, 42, 39, 34, NO_LED },
|
|
{ NO_LED, NO_LED, NO_LED, 41, 40, 33, NO_LED },
|
|
{ 24, 23, 18, 17, 10, 9, NO_LED },
|
|
{ 25, 22, 19, 16, 11, 8, NO_LED },
|
|
{ 26, 21, 20, 15, 12, 7, NO_LED },
|
|
{ NO_LED, NO_LED, NO_LED, 14, 13, 6, NO_LED }
|
|
}, {
|
|
{ 139, 16 }, { 174, 13 }, { 208, 20 }, { 208, 38 }, { 174, 48 }, { 139, 52 }, { 129, 63 },
|
|
{ 139, 39 }, { 139, 21 }, { 139, 4 }, { 156, 2 }, { 156, 19 }, { 156, 37 }, { 144, 58 },
|
|
{ 164, 55 }, { 174, 35 }, { 174, 13 }, { 174, 0 }, { 191, 3 }, { 191, 20 }, { 191, 37 },
|
|
{ 208, 42 }, { 208, 24 }, { 208, 7 }, { 224, 7 }, { 224, 24 }, { 224, 41 }, { 85, 16 },
|
|
{ 50, 13 }, { 16, 20 }, { 16, 38 }, { 50, 48 }, { 85, 52 }, { 95, 63 }, { 85, 39 },
|
|
{ 85, 21 }, { 85, 4 }, { 68, 2 }, { 68, 19 }, { 68, 37 }, { 80, 58 }, { 60, 55 },
|
|
{ 50, 35 }, { 50, 13 }, { 50, 0 }, { 33, 3 }, { 33, 20 }, { 33, 37 }, { 16, 42 },
|
|
{ 16, 24 }, { 16, 7 }, { 0, 7 }, { 0, 24 }, { 0, 41 }
|
|
}, {
|
|
2, 2, 2, 2, 2, 2, 1,
|
|
4, 4, 4, 4, 4, 4, 1,
|
|
1, 4, 4, 4, 4, 4, 4,
|
|
4, 4, 4, 1, 1, 1, 2,
|
|
2, 2, 2, 2, 2, 1, 4,
|
|
4, 4, 4, 4, 4, 1, 1,
|
|
4, 4, 4, 4, 4, 4, 4,
|
|
4, 4, 1, 1, 1
|
|
} };
|
|
#else
|
|
led_config_t g_led_config = { {
|
|
{ 24, 23, 18, 17, 10, 9, NO_LED },
|
|
{ 25, 22, 19, 16, 11, 8, NO_LED },
|
|
{ 26, 21, 20, 15, 12, 7, NO_LED },
|
|
{ NO_LED, NO_LED, NO_LED, 14, 13, 6, NO_LED },
|
|
{ 51, 50, 45, 44, 37, 36, NO_LED },
|
|
{ 52, 49, 46, 43, 38, 35, NO_LED },
|
|
{ 53, 48, 47, 42, 39, 34, NO_LED },
|
|
{ NO_LED, NO_LED, NO_LED, 41, 40, 33, NO_LED }
|
|
}, {
|
|
{ 85, 16 }, { 50, 13 }, { 16, 20 }, { 16, 38 }, { 50, 48 }, { 85, 52 }, { 95, 63 },
|
|
{ 85, 39 }, { 85, 21 }, { 85, 4 }, { 68, 2 }, { 68, 19 }, { 68, 37 }, { 80, 58 },
|
|
{ 60, 55 }, { 50, 35 }, { 50, 13 }, { 50, 0 }, { 33, 3 }, { 33, 20 }, { 33, 37 },
|
|
{ 16, 42 }, { 16, 24 }, { 16, 7 }, { 0, 7 }, { 0, 24 }, { 0, 41 }, { 139, 16 },
|
|
{ 174, 13 }, { 208, 20 }, { 208, 38 }, { 174, 48 }, { 139, 52 }, { 129, 63 }, { 139, 39 },
|
|
{ 139, 21 }, { 139, 4 }, { 156, 2 }, { 156, 19 }, { 156, 37 }, { 144, 58 }, { 164, 55 },
|
|
{ 174, 35 }, { 174, 13 }, { 174, 0 }, { 191, 3 }, { 191, 20 }, { 191, 37 }, { 208, 42 },
|
|
{ 208, 24 }, { 208, 7 }, { 224, 7 }, { 224, 24 }, { 224, 41 }
|
|
}, {
|
|
2, 2, 2, 2, 2, 2, 1,
|
|
4, 4, 4, 4, 4, 4, 1,
|
|
1, 4, 4, 4, 4, 4, 4,
|
|
4, 4, 4, 1, 1, 1, 2,
|
|
2, 2, 2, 2, 2, 1, 4,
|
|
4, 4, 4, 4, 4, 1, 1,
|
|
4, 4, 4, 4, 4, 4, 4,
|
|
4, 4, 1, 1, 1
|
|
} };
|
|
#endif
|
|
|
|
#endif
|
|
void matrix_init_kb(void) {
|
|
|
|
#ifdef AUDIO_ENABLE
|
|
_delay_ms(20); // gets rid of tick
|
|
PLAY_SONG(tone_startup);
|
|
#endif
|
|
|
|
matrix_init_user();
|
|
};
|
|
|
|
void shutdown_kb(void) {
|
|
#ifdef AUDIO_ENABLE
|
|
PLAY_SONG(tone_goodbye);
|
|
_delay_ms(150);
|
|
stop_all_notes();
|
|
#endif
|
|
}
|