#include "v1.h"
#ifdef HS60_ANSI
const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
{0, C1_1, C3_2, C4_2}, {0, C1_2, C2_2, C4_3}, {0, C1_3, C2_3, C3_3}, {0, C1_4, C2_4, C3_4}, {0, C1_5, C2_5, C3_5}, {0, C1_6, C2_6, C3_6}, {0, C1_7, C2_7, C3_7}, {0, C1_8, C2_8, C3_8}, {0, C9_1, C8_1, C7_1}, {0, C9_2, C8_2, C7_2}, {0, C9_3, C8_3, C7_3}, {0, C9_4, C8_4, C7_4}, {0, C9_5, C8_5, C7_5}, {0, C9_6, C8_6, C7_6}, {0, C9_7, C8_7, C6_6}, {0, C9_8, C7_7, C6_7},
{0, C1_9, C3_10, C4_10}, {0, C1_10, C2_10, C4_11}, {0, C1_11, C2_11, C3_11}, {0, C1_12, C2_12, C3_12}, {0, C1_13, C2_13, C3_13}, {0, C1_14, C2_14, C3_14}, {0, C1_15, C2_15, C3_15}, {0, C1_16, C2_16, C3_16}, {0, C9_9, C8_9, C7_9}, {0, C9_10, C8_10, C7_10}, {0, C9_11, C8_11, C7_11}, {0, C9_12, C8_12, C7_12}, {0, C9_13, C8_13, C7_13}, {0, C9_14, C8_14, C7_14},
{1, C1_1, C3_2, C4_2}, {1, C1_2, C2_2, C4_3}, {1, C1_3, C2_3, C3_3}, {1, C1_4, C2_4, C3_4}, {1, C1_5, C2_5, C3_5}, {1, C1_6, C2_6, C3_6}, {1, C1_7, C2_7, C3_7}, {1, C1_8, C2_8, C3_8}, {1, C9_1, C8_1, C7_1}, {1, C9_2, C8_2, C7_2}, {1, C9_3, C8_3, C7_3}, {1, C9_4, C8_4, C7_4}, {1, C9_5, C8_5, C7_5}, {1, C9_6, C8_6, C7_6}, {1, C9_7, C8_7, C6_6}, {1, C9_8, C7_7, C6_7},
{1, C1_9, C3_10, C4_10}, {1, C1_11, C2_11, C3_11}, {1, C1_12, C2_12, C3_12}, {1, C1_13, C2_13, C3_13}, {1, C1_14, C2_14, C3_14}, {1, C1_15, C2_15, C3_15}, {1, C1_16, C2_16, C3_16}, {1, C9_9, C8_9, C7_9}, {1, C9_10, C8_10, C7_10}, {1, C9_11, C8_11, C7_11}, {1, C9_12, C8_12, C7_12}, {1, C9_13, C8_13, C7_13}, {1, C9_14, C8_14, C7_14}, {1, C9_15, C8_15, C6_14}, {1, C9_16, C7_15, C6_15} };
led_config_t g_led_config = { {
{ 36, 35, 34, 33, 32, 31, 30, 6, 5, 4, 3, 2, 1, 0 },
{ 37, 38, 39, 40, 41, 42, 43, 7, 8, 9, 10, 11, 12, NO_LED },
{ 48, 49, 50, 51, 52, 45, 44, 20, 21, 22, 23, 15, 14, 13 },
{ 47, NO_LED, 46, 53, 54, 55, 56, 19, 18, 17, 16, 24, NO_LED, 25 },
{ 60, 59, 58, 57, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, 29, 28, 27, 26 }
}, {
{ 224, 0 }, { 204, 0 }, { 187, 0 }, { 170, 0 }, { 153, 0 }, { 136, 0 }, { 119, 0 }, { 119, 16 }, { 136, 16 }, { 153, 16 }, { 170, 16 }, { 187, 16 }, { 204, 16 }, { 224, 32 },
{ 224, 16 }, { 197, 32 },
{ 170, 48 }, { 153, 48 }, { 136, 48 }, { 119, 48 }, { 119, 32 }, { 136, 32 }, { 153, 32 }, { 170, 32 }, { 187, 48 }, { 214, 48 }, { 224, 64 }, { 204, 64 }, { 187, 64 }, { 170, 64 },
{ 102, 0 }, { 85, 0 }, { 68, 0 }, { 51, 0 }, { 34, 0 }, { 17, 0 }, { 0, 0 }, { 0, 16 }, { 17, 16 }, { 34, 16 }, { 51, 16 }, { 68, 16 }, { 85, 16 }, { 102, 16 },
{ 102, 32 }, { 85, 32 },
{ 32, 48 }, { 10, 48 }, { 0, 32 }, { 17, 32 }, { 34, 32 }, { 51, 32 }, { 68, 32 }, { 51, 48 }, { 68, 48 }, { 85, 48 }, { 102, 48 }, { 102, 64 }, { 34, 68 }, { 17, 68 },
{ 0, 68 }
}, {
1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
4, 4,
4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, 1, 1,
4, 4, 4, 4, 4, 4, 1, 1, 4, 4, 4, 4, 4, 4,
4, 4,
4, 1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1,
1
} };
#else
const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
{0, C1_1, C3_2, C4_2}, {0, C1_2, C2_2, C4_3}, {0, C1_3, C2_3, C3_3}, {0, C1_4, C2_4, C3_4}, {0, C1_5, C2_5, C3_5}, {0, C1_6, C2_6, C3_6}, {0, C1_7, C2_7, C3_7}, {0, C1_8, C2_8, C3_8}, {0, C9_1, C8_1, C7_1}, {0, C9_2, C8_2, C7_2}, {0, C9_3, C8_3, C7_3}, {0, C9_4, C8_4, C7_4}, {0, C9_5, C8_5, C7_5}, {0, C9_6, C8_6, C7_6}, {0, C9_7, C8_7, C6_6}, {0, C9_8, C7_7, C6_7},
{0, C1_9, C3_10, C4_10}, {0, C1_10, C2_10, C4_11}, {0, C1_11, C2_11, C3_11}, {0, C1_12, C2_12, C3_12}, {0, C1_13, C2_13, C3_13}, {0, C1_14, C2_14, C3_14}, {0, C1_15, C2_15, C3_15}, {0, C1_16, C2_16, C3_16}, {0, C9_9, C8_9, C7_9}, {0, C9_10, C8_10, C7_10}, {0, C9_11, C8_11, C7_11}, {0, C9_12, C8_12, C7_12}, {0, C9_13, C8_13, C7_13}, {0, C9_14, C8_14, C7_14},
{1, C1_1, C3_2, C4_2}, {1, C1_2, C2_2, C4_3}, {1, C1_3, C2_3, C3_3}, {1, C1_4, C2_4, C3_4}, {1, C1_5, C2_5, C3_5}, {1, C1_6, C2_6, C3_6}, {1, C1_7, C2_7, C3_7}, {1, C1_8, C2_8, C3_8}, {1, C9_1, C8_1, C7_1}, {1, C9_2, C8_2, C7_2}, {1, C9_3, C8_3, C7_3}, {1, C9_4, C8_4, C7_4}, {1, C9_5, C8_5, C7_5}, {1, C9_6, C8_6, C7_6}, {1, C9_7, C8_7, C6_6}, {1, C9_8, C7_7, C6_7},
{1, C1_9, C3_10, C4_10}, {1, C1_10, C2_10, C4_11}, {1, C1_11, C2_11, C3_11}, {1, C1_12, C2_12, C3_12}, {1, C1_13, C2_13, C3_13}, {1, C1_14, C2_14, C3_14}, {1, C1_15, C2_15, C3_15}, {1, C1_16, C2_16, C3_16}, {1, C9_9, C8_9, C7_9}, {1, C9_10, C8_10, C7_10}, {1, C9_11, C8_11, C7_11}, {1, C9_12, C8_12, C7_12}, {1, C9_13, C8_13, C7_13}, {1, C9_14, C8_14, C7_14}, {1, C9_15, C8_15, C6_14}, {1, C9_16, C7_15, C6_15} };
led_config_t g_led_config = { {
{ 36, 35, 34, 33, 32, 31, 30, 6, 5, 4, 3, 2, 1, 0 },
{ 37, 38, 39, 40, 41, 42, 43, 7, 8, 9, 10, 11, 12, NO_LED },
{ 49, 50, 51, 52, 53, 45, 44, 20, 21, 22, 23, 15, 14, 13 },
{ 48, 47, 46, 54, 55, 56, 57, 19, 18, 17, 16, 24, NO_LED, 25 },
{ 61, 60, 59, 58, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, 29, 28, 27, 26 }
}, {
{ 224, 0 }, { 204, 0 }, { 187, 0 }, { 170, 0 }, { 153, 0 }, { 136, 0 }, { 119, 0 }, { 119, 16 }, { 136, 16 }, { 153, 16 }, { 170, 16 }, { 187, 16 }, { 204, 16 }, { 224, 8 },
{ 204, 32 }, { 187, 32 },
{ 170, 48 }, { 153, 48 }, { 136, 48 }, { 119, 48 }, { 119, 32 }, { 136, 32 }, { 153, 32 }, { 170, 32 }, { 187, 48 }, { 214, 48 }, { 224, 64 }, { 204, 64 }, { 187, 64 }, { 170, 64 },
{ 102, 0 }, { 85, 0 }, { 68, 0 }, { 51, 0 }, { 34, 0 }, { 17, 0 }, { 0, 0 }, { 0, 16 }, { 17, 16 }, { 34, 16 }, { 51, 16 }, { 68, 16 }, { 85, 16 }, { 102, 16 },
{ 102, 32 }, { 85, 32 },
{ 32, 48 }, { 17, 48 }, { 0, 48 }, { 0, 32 }, { 17, 32 }, { 34, 32 }, { 51, 32 }, { 68, 32 }, { 51, 48 }, { 68, 48 }, { 85, 48 }, { 102, 48 }, { 102, 64 }, { 34, 68 },
{ 17, 68 }, { 0, 68 }
}, {
1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
4, 4,
4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, 1, 1,
4, 4, 4, 4, 4, 4, 1, 1, 4, 4, 4, 4, 4, 4,
4, 4,
4, 4, 1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
1, 1
} };
#endif
void bootmagic_lite(void)
{
matrix_scan();
wait_ms(DEBOUNCE);
matrix_scan();
if ( ( matrix_get_row(0) & (1<<0) ) &&
( matrix_get_row(4) & (1<<6) ) )
{
eeconfig_disable();
bootloader_jump();
}
}
void matrix_init_kb(void) {
bootmagic_lite();
matrix_init_user();
}
void matrix_scan_kb(void) {
matrix_scan_user();
}
bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
return process_record_user(keycode, record);
}
void led_set_kb(uint8_t usb_led) {
}
void suspend_power_down_kb(void)
{
rgb_matrix_set_suspend_state(true);
}
void suspend_wakeup_init_kb(void)
{
rgb_matrix_set_suspend_state(false);
}