qmk-firmware/keyboards/gmmk/gmmk2/p65/ansi/ansi.c
2022-09-09 23:12:48 +01:00

237 lines
8.5 KiB
C

/* Copyright 2021 Glorious, LLC <salman@pcgamingrace.com>
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include "ansi.h"
#ifdef RGB_MATRIX_ENABLE
const aw_led g_aw_leds[DRIVER_LED_TOTAL] = {
/* Refer to IS31 manual for these locations
* driver
* | R location
* | | G location
* | | | B location
* | | | | */
{0, CS1_SW1, CS2_SW1, CS3_SW1 }, // 0 Esc
{0, CS4_SW2, CS5_SW2, CS6_SW2 }, // 1 1
{0, CS4_SW3, CS5_SW3, CS6_SW3 }, // 2 2
{0, CS4_SW4, CS5_SW4, CS6_SW4 }, // 3 3
{0, CS4_SW5, CS5_SW5, CS6_SW5 }, // 4 4
{0, CS4_SW6, CS5_SW6, CS6_SW6 }, // 5 5
{0, CS4_SW7, CS5_SW7, CS6_SW7 }, // 6 6
{0, CS4_SW8, CS5_SW8, CS6_SW8 }, // 7 7
{0, CS4_SW9, CS5_SW9, CS6_SW9 }, // 8 8
{0, CS4_SW10, CS5_SW10, CS6_SW10 }, // 9 9
{0, CS4_SW11, CS5_SW11, CS6_SW11 }, // 10 0
{0, CS4_SW12, CS5_SW12, CS6_SW12 }, // 11 -
{1, CS1_SW5, CS2_SW5, CS3_SW5 }, // 12 =
{1, CS1_SW7, CS2_SW7, CS3_SW7 }, // 13 Backspace
{1, CS4_SW4, CS5_SW4, CS6_SW4 }, // 14 Del
{0, CS7_SW1, CS8_SW1, CS9_SW1 }, // 15 Tab
{0, CS7_SW2, CS8_SW2, CS9_SW2 }, // 16 Q
{0, CS7_SW3, CS8_SW3, CS9_SW3 }, // 17 W
{0, CS7_SW4, CS8_SW4, CS9_SW4 }, // 18 E
{0, CS7_SW5, CS8_SW5, CS9_SW5 }, // 19 R
{0, CS7_SW6, CS8_SW6, CS9_SW6 }, // 20 T
{0, CS7_SW7, CS8_SW7, CS9_SW7 }, // 21 Y
{0, CS7_SW8, CS8_SW8, CS9_SW8 }, // 22 U
{0, CS7_SW9, CS8_SW9, CS9_SW9 }, // 23 I
{0, CS7_SW10, CS8_SW10, CS9_SW10 }, // 24 O
{0, CS7_SW11, CS8_SW11, CS9_SW11 }, // 25 P
{0, CS7_SW12, CS8_SW12, CS9_SW12 }, // 26 [
{1, CS1_SW8, CS2_SW8, CS3_SW8 }, // 27 ]
{1, CS1_SW9, CS2_SW9, CS3_SW9 }, // 28 \|
{1, CS4_SW7, CS5_SW7, CS6_SW7 }, // 29 PgUp
{0, CS10_SW1, CS11_SW1, CS12_SW1 }, // 30 Caps Lock
{0, CS10_SW2, CS11_SW2, CS12_SW2 }, // 31 A
{0, CS10_SW3, CS11_SW3, CS12_SW3 }, // 32 S
{0, CS10_SW4, CS11_SW4, CS12_SW4 }, // 33 D
{0, CS10_SW5, CS11_SW5, CS12_SW5 }, // 34 F
{0, CS10_SW6, CS11_SW6, CS12_SW6 }, // 35 G
{0, CS10_SW7, CS11_SW7, CS12_SW7 }, // 36 H
{0, CS10_SW8, CS11_SW8, CS12_SW8 }, // 37 J
{0, CS10_SW9, CS11_SW9, CS12_SW9 }, // 38 K
{0, CS10_SW10, CS11_SW10, CS12_SW10}, // 39 L
{0, CS10_SW11, CS11_SW11, CS12_SW11}, // 40 ;
{0, CS10_SW12, CS11_SW12, CS12_SW12}, // 41 '
{1, CS1_SW11, CS2_SW11, CS3_SW11 }, // 42 Enter
{1, CS4_SW5, CS5_SW5, CS6_SW5 }, // 43 PgDn
{0, CS13_SW1, CS14_SW1, CS15_SW1 }, // 44 Shift_L
{0, CS13_SW3, CS14_SW3, CS15_SW3 }, // 45 Z
{0, CS13_SW4, CS14_SW4, CS15_SW4 }, // 46 X
{0, CS13_SW5, CS14_SW5, CS15_SW5 }, // 47 C
{0, CS13_SW6, CS14_SW6, CS15_SW6 }, // 48 V
{0, CS13_SW7, CS14_SW7, CS15_SW7 }, // 49 B
{0, CS13_SW8, CS14_SW8, CS15_SW8 }, // 50 N
{0, CS13_SW9, CS14_SW9, CS15_SW9 }, // 51 M
{0, CS13_SW10, CS14_SW10, CS15_SW10}, // 52 ,
{0, CS13_SW11, CS14_SW11, CS15_SW11}, // 53 .
{0, CS13_SW12, CS14_SW12, CS15_SW12}, // 54 /
{1, CS4_SW8, CS5_SW8, CS6_SW8 }, // 55 Shift_R
{1, CS4_SW9, CS5_SW9, CS6_SW9 }, // 56 Up
{1, CS4_SW6, CS5_SW6, CS6_SW6 }, // 57 END
{0, CS16_SW1, CS17_SW1, CS18_SW1 }, // 58 Ctrl_L
{0, CS16_SW2, CS17_SW2, CS18_SW2 }, // 59 Win_L
{0, CS16_SW3, CS17_SW3, CS18_SW3 }, // 60 Alt_L
{0, CS16_SW6, CS17_SW6, CS18_SW6 }, // 61 Space
{0, CS16_SW9, CS17_SW9, CS18_SW9 }, // 62 Alt_R
{0, CS16_SW10, CS17_SW10, CS18_SW10}, // 63 FN
{1, CS4_SW10, CS5_SW10, CS6_SW10 }, // 64 Left
{1, CS4_SW11, CS5_SW11, CS6_SW11 }, // 65 Down
{1, CS4_SW12, CS5_SW12, CS6_SW12 }, // 66 Right
{1, CS13_SW1, CS14_SW1, CS15_SW1 }, // 69 LED 1
{1, CS13_SW2, CS14_SW2, CS15_SW2 }, // 70 LED 2
{1, CS13_SW3, CS14_SW3, CS15_SW3 }, // 71 LED 3
{1, CS13_SW4, CS14_SW4, CS15_SW4 }, // 72 LED 4
{1, CS13_SW5, CS14_SW5, CS15_SW5 }, // 73 LED 5
{1, CS13_SW6, CS14_SW6, CS15_SW6 }, // 74 LED 6
{1, CS13_SW7, CS14_SW7, CS15_SW7 }, // 75 LED 7
{1, CS13_SW8, CS14_SW8, CS15_SW8 }, // 76 LED 8
{1, CS13_SW9, CS14_SW9, CS15_SW9 }, // 77 LED 9
{1, CS13_SW10, CS14_SW10, CS15_SW10}, // 78 LED 10
{1, CS16_SW1, CS17_SW1, CS18_SW1 }, // 79 LED 11
{1, CS16_SW2, CS17_SW2, CS18_SW2 }, // 80 LED 12
{1, CS16_SW3, CS17_SW3, CS18_SW3 }, // 81 LED 13
{1, CS16_SW4, CS17_SW4, CS18_SW4 }, // 82 LED 14
{1, CS16_SW5, CS17_SW5, CS18_SW5 }, // 83 LED 15
{1, CS16_SW6, CS17_SW6, CS18_SW6 }, // 84 LED 16
{1, CS16_SW7, CS17_SW7, CS18_SW7 }, // 85 LED 17
{1, CS16_SW8, CS17_SW8, CS18_SW8 }, // 86 LED 18
{1, CS16_SW9, CS17_SW9, CS18_SW9 }, // 87 LED 19
{1, CS16_SW10, CS17_SW10, CS18_SW10} // 88 LED 20
};
#define __ NO_LED
led_config_t g_led_config = {{
{ 44, 57, __, 64, __, 66, 58, 55},
{ 16, 15, 31, 0, 45, 59, __, 1},
{ 17, 30, 32, 60, 46, 14, 29, 2},
{ 18, 61, 33, 63, 47, 56, 62, 3},
{ 19, 20, 34, 35, 48, 49, 5, 4},
{ 22, 21, 37, 36, 51, 50, 6, 7},
{ 23, 27, 38, __, 52, 43, 12, 8},
{ 24, 13, 39, 65, 53, __, 28, 9},
{ 25, 26, 40, 41, 42, 54, 11, 10}
}, {
{14, 0 }, // 0 Esc
{28, 0 }, // 1 1
{42, 0 }, // 2 2
{56, 0 }, // 3 3
{70, 0 }, // 4 4
{84, 0 }, // 5 5
{98, 0 }, // 6 6
{112, 0 }, // 7 7
{126, 0 }, // 8 8
{140, 0 }, // 9 9
{154, 0 }, // 10 0
{168, 0 }, // 11 -
{182, 0 }, // 12 =
{196, 0 }, // 13 Backspace
{210, 0 }, // 14 Del
{14, 16}, // 15 Tab
{28, 16}, // 16 Q
{42, 16}, // 17 W
{56, 16}, // 18 E
{70, 16}, // 19 R
{84, 16}, // 20 T
{98, 16}, // 21 Y
{112, 16}, // 22 U
{126, 16}, // 23 I
{140, 16}, // 24 O
{154, 16}, // 25 P
{168, 16}, // 26 [
{182, 16}, // 27 ]
{196, 16}, // 28 \|
{210, 16}, // 29 PgUp
{14, 32}, // 30 Caps Lock
{28, 32}, // 31 A
{42, 32}, // 32 S
{56, 32}, // 33 D
{70, 32}, // 34 F
{84, 32}, // 35 G
{98, 32}, // 36 H
{112, 32}, // 37 J
{126, 32}, // 38 K
{140, 32}, // 39 L
{154, 32}, // 40 ;
{168, 32}, // 41 '
{196, 32}, // 42 Enter
{210, 32}, // 43 PgDn
{14, 48}, // 44 Shift_L
{42, 48}, // 45 Z
{56, 48}, // 46 X
{70, 48}, // 47 C
{84, 48}, // 48 V
{98, 48}, // 49 B
{112, 48}, // 50 N
{126, 48}, // 51 M
{140, 48}, // 52 ,
{154, 48}, // 53 .
{168, 48}, // 54 /
{182, 48}, // 55 Shift_R
{196, 48}, // 56 Up
{210, 48}, // 57 END
{14, 64}, // 58 Ctrl_L
{28, 64}, // 59 Win_L
{42, 64}, // 60 Alt_L
{84, 64}, // 61 Space
{126, 64}, // 62 Alt_R
{140, 64}, // 63 FN
{182, 64}, // 64 Left
{196, 64}, // 65 Down
{210, 64}, // 66 Right
{0, 0}, // 69 LED 1
{0, 7}, // 70 LED 2
{0, 14}, // 71 LED 3
{0, 21}, // 72 LED 4
{0, 28}, // 73 LED 5
{0, 35}, // 74 LED 6
{0, 42}, // 75 LED 7
{0, 49}, // 76 LED 8
{0, 56}, // 77 LED 9
{0, 64}, // 78 LED 10
{224, 0 }, // 79 LED 11
{224, 7 }, // 80 LED 12
{224, 14}, // 81 LED 13
{224, 21}, // 82 LED 14
{224, 28}, // 83 LED 15
{224, 35}, // 84 LED 16
{224, 42}, // 85 LED 17
{224, 49}, // 86 LED 18
{224, 56}, // 87 LED 19
{224, 64}, // 88 LED 20
}, {
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
4, 4, 4, 4, 4, 4, 4, 4, 4,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2
} };
#endif