Skip to content

Commit ee7390c

Browse files
committed
Add Keychron R6 ANSI/TH
1 parent 8eaa89e commit ee7390c

23 files changed

Lines changed: 1993 additions & 0 deletions

File tree

keyboards/keychron/r6/ansi/ansi.c

Lines changed: 194 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,194 @@
1+
/* Copyright 2025 ~ 2026 @ 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+
// clang-format off
20+
#ifdef RGB_MATRIX_ENABLE
21+
const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = {
22+
/* Refer to SNLED27351 manual for these locations
23+
* driver
24+
* | R location
25+
* | | G location
26+
* | | | B location
27+
* | | | | */
28+
{0, CB7_CA1, CB9_CA1, CB8_CA1},
29+
{0, CB7_CA3, CB9_CA3, CB8_CA3},
30+
{0, CB7_CA4, CB9_CA4, CB8_CA4},
31+
{0, CB7_CA5, CB9_CA5, CB8_CA5},
32+
{0, CB7_CA6, CB9_CA6, CB8_CA6},
33+
{0, CB7_CA7, CB9_CA7, CB8_CA7},
34+
{0, CB7_CA8, CB9_CA8, CB8_CA8},
35+
{0, CB7_CA9, CB9_CA9, CB8_CA9},
36+
{0, CB7_CA10, CB9_CA10, CB8_CA10},
37+
{0, CB7_CA11, CB9_CA11, CB8_CA11},
38+
{0, CB7_CA12, CB9_CA12, CB8_CA12},
39+
{0, CB7_CA13, CB9_CA13, CB8_CA13},
40+
{0, CB7_CA14, CB9_CA14, CB8_CA14},
41+
{0, CB7_CA15, CB9_CA15, CB8_CA15},
42+
{0, CB7_CA16, CB9_CA16, CB8_CA16},
43+
{0, CB12_CA16, CB10_CA16, CB11_CA16},
44+
45+
{0, CB4_CA1, CB6_CA1, CB5_CA1},
46+
{0, CB4_CA2, CB6_CA2, CB5_CA2},
47+
{0, CB4_CA3, CB6_CA3, CB5_CA3},
48+
{0, CB4_CA4, CB6_CA4, CB5_CA4},
49+
{0, CB4_CA5, CB6_CA5, CB5_CA5},
50+
{0, CB4_CA6, CB6_CA6, CB5_CA6},
51+
{0, CB4_CA7, CB6_CA7, CB5_CA7},
52+
{0, CB4_CA8, CB6_CA8, CB5_CA8},
53+
{0, CB4_CA9, CB6_CA9, CB5_CA9},
54+
{0, CB4_CA10, CB6_CA10, CB5_CA10},
55+
{0, CB4_CA11, CB6_CA11, CB5_CA11},
56+
{0, CB4_CA12, CB6_CA12, CB5_CA12},
57+
{0, CB4_CA13, CB6_CA13, CB5_CA13},
58+
{0, CB4_CA14, CB6_CA14, CB5_CA14},
59+
{0, CB4_CA15, CB6_CA15, CB5_CA15},
60+
{0, CB4_CA16, CB6_CA16, CB5_CA16},
61+
{0, CB12_CA15, CB10_CA15, CB11_CA15},
62+
{0, CB12_CA14, CB10_CA14, CB11_CA14},
63+
{0, CB12_CA13, CB10_CA13, CB11_CA13},
64+
{0, CB12_CA12, CB10_CA12, CB11_CA12},
65+
{0, CB12_CA11, CB10_CA11, CB11_CA11},
66+
67+
{0, CB1_CA1, CB3_CA1, CB2_CA1},
68+
{0, CB1_CA2, CB3_CA2, CB2_CA2},
69+
{0, CB1_CA3, CB3_CA3, CB2_CA3},
70+
{0, CB1_CA4, CB3_CA4, CB2_CA4},
71+
{0, CB1_CA5, CB3_CA5, CB2_CA5},
72+
{0, CB1_CA6, CB3_CA6, CB2_CA6},
73+
{0, CB1_CA7, CB3_CA7, CB2_CA7},
74+
{0, CB1_CA8, CB3_CA8, CB2_CA8},
75+
{0, CB1_CA9, CB3_CA9, CB2_CA9},
76+
{0, CB1_CA10, CB3_CA10, CB2_CA10},
77+
{0, CB1_CA11, CB3_CA11, CB2_CA11},
78+
{0, CB1_CA12, CB3_CA12, CB2_CA12},
79+
{0, CB1_CA13, CB3_CA13, CB2_CA13},
80+
{0, CB1_CA14, CB3_CA14, CB2_CA14},
81+
{0, CB1_CA15, CB3_CA15, CB2_CA15},
82+
{0, CB1_CA16, CB3_CA16, CB2_CA16},
83+
{0, CB12_CA10, CB10_CA10, CB11_CA10},
84+
{0, CB12_CA9, CB10_CA9, CB11_CA9},
85+
{0, CB12_CA8, CB10_CA8, CB11_CA8},
86+
{0, CB12_CA7, CB10_CA7, CB11_CA7},
87+
{0, CB12_CA6, CB10_CA6, CB11_CA6},
88+
89+
{1, CB1_CA16, CB3_CA16, CB2_CA16},
90+
{1, CB1_CA15, CB3_CA15, CB2_CA15},
91+
{1, CB1_CA14, CB3_CA14, CB2_CA14},
92+
{1, CB1_CA13, CB3_CA13, CB2_CA13},
93+
{1, CB1_CA12, CB3_CA12, CB2_CA12},
94+
{1, CB1_CA11, CB3_CA11, CB2_CA11},
95+
{1, CB1_CA10, CB3_CA10, CB2_CA10},
96+
{1, CB1_CA9, CB3_CA9, CB2_CA9},
97+
{1, CB1_CA8, CB3_CA8, CB2_CA8},
98+
{1, CB1_CA7, CB3_CA7, CB2_CA7},
99+
{1, CB1_CA6, CB3_CA6, CB2_CA6},
100+
{1, CB1_CA5, CB3_CA5, CB2_CA5},
101+
{1, CB1_CA4, CB3_CA4, CB2_CA4},
102+
{1, CB12_CA8, CB10_CA8, CB11_CA8},
103+
{1, CB12_CA9, CB10_CA9, CB11_CA9},
104+
{1, CB12_CA10, CB10_CA10, CB11_CA10},
105+
106+
{1, CB4_CA16, CB6_CA16, CB5_CA16},
107+
{1, CB4_CA14, CB6_CA14, CB5_CA14},
108+
{1, CB4_CA13, CB6_CA13, CB5_CA13},
109+
{1, CB4_CA12, CB6_CA12, CB5_CA12},
110+
{1, CB4_CA11, CB6_CA11, CB5_CA11},
111+
{1, CB4_CA10, CB6_CA10, CB5_CA10},
112+
{1, CB4_CA9, CB6_CA9, CB5_CA9},
113+
{1, CB4_CA8, CB6_CA8, CB5_CA8},
114+
{1, CB4_CA7, CB6_CA7, CB5_CA7},
115+
{1, CB4_CA6, CB6_CA6, CB5_CA6},
116+
{1, CB4_CA5, CB6_CA5, CB5_CA5},
117+
{1, CB4_CA4, CB6_CA4, CB5_CA4},
118+
{1, CB4_CA1, CB6_CA1, CB5_CA1},
119+
{1, CB12_CA5, CB10_CA5, CB11_CA5},
120+
{1, CB12_CA6, CB10_CA6, CB11_CA6},
121+
{1, CB12_CA7, CB10_CA7, CB11_CA7},
122+
123+
{1, CB7_CA16, CB9_CA16, CB8_CA16},
124+
{1, CB7_CA15, CB9_CA15, CB8_CA15},
125+
{1, CB7_CA14, CB9_CA14, CB8_CA14},
126+
{1, CB7_CA10, CB9_CA10, CB8_CA10},
127+
{1, CB7_CA6, CB9_CA6, CB8_CA6},
128+
{1, CB7_CA5, CB9_CA5, CB8_CA5},
129+
{1, CB7_CA4, CB9_CA4, CB8_CA4},
130+
{1, CB7_CA3, CB9_CA3, CB8_CA3},
131+
{1, CB7_CA2, CB9_CA2, CB8_CA2},
132+
{1, CB7_CA1, CB9_CA1, CB8_CA1},
133+
{1, CB12_CA1, CB10_CA1, CB11_CA1},
134+
{1, CB12_CA2, CB10_CA2, CB11_CA2},
135+
{1, CB12_CA3, CB10_CA3, CB11_CA3},
136+
{1, CB12_CA4, CB10_CA4, CB11_CA4},
137+
};
138+
139+
#define __ NO_LED
140+
141+
led_config_t g_led_config = {
142+
{
143+
// Key Matrix to RGB Index
144+
{ 0, __, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, __, __, __, __ },
145+
{ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36 },
146+
{ 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57 },
147+
{ 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, __, 70, __, __, __, 71, 72, 73, __ },
148+
{ 74, __, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, __, 85, __, 86, __, 87, 88, 89, __ },
149+
{ 90, 91, 92, __, __, __, 93, __, __, __, 94, 95, 96, 97, 98, 99, 100, 101, __, 102, 103 },
150+
},
151+
{
152+
// RGB Index to Physical Position
153+
{0, 0}, {22, 0}, {33, 0}, {44, 0}, {56, 0}, {67, 0}, {78, 0}, {90, 0}, {101, 0}, {112, 0}, {123, 0}, {134, 0}, {146, 0}, {157, 0}, {168, 0}, {179, 0},
154+
{0,13}, {11,13}, {22,13}, {33,13}, {44,13}, {56,13}, {67,13}, {78,13}, {90,13}, {101,13}, {112,13}, {123,13}, {134,13}, {146,13}, {157,13}, {168,13}, {179,13}, {190,13}, {196,13}, {213,13}, {224,13},
155+
{0,27}, {11,27}, {22,27}, {33,27}, {44,27}, {56,27}, {67,27}, {78,27}, {90,27}, {101,27}, {112,27}, {123,27}, {134,27}, {146,27}, {157,27}, {168,27}, {179,27}, {190,27}, {196,27}, {213,27}, {224,30},
156+
{0,40}, {11,40}, {22,40}, {33,40}, {44,40}, {56,40}, {67,40}, {78,40}, {90,40}, {101,40}, {112,40}, {123,40}, {140,40}, {190,32}, {196,32}, {213,32},
157+
{0,52}, {22,52}, {33,52}, {44,52}, {56,52}, {67,52}, {78,52}, {90,52}, {101,52}, {112,52}, {123,52}, {140,52}, {168,52}, {190,57}, {196,57}, {213,57},
158+
{0,64}, {11,64}, {22,64}, {67,64}, {112,64}, {123,64}, {134,64}, {146,64}, {157,64}, {168,64}, {179,64}, {190,64}, {213,64}, {224,60},
159+
},
160+
{
161+
// RGB Index to Flag
162+
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
163+
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
164+
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
165+
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
166+
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
167+
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
168+
}
169+
};
170+
171+
// Default Color of Per Key RGB
172+
#define DC_RED {HSV_RED}
173+
#define DC_BLU {HSV_BLUE}
174+
#define DC_YLW {HSV_YELLOW}
175+
176+
HSV default_per_key_led[RGB_MATRIX_LED_COUNT] = {
177+
DC_RED, DC_YLW, DC_YLW, DC_YLW, DC_YLW, DC_YLW, DC_YLW, DC_YLW, DC_YLW, DC_YLW, DC_YLW, DC_YLW, DC_YLW, DC_YLW, DC_YLW, DC_YLW,
178+
DC_BLU, DC_BLU, DC_BLU, DC_BLU, DC_BLU, DC_BLU, DC_BLU, DC_BLU, DC_BLU, DC_BLU, DC_BLU, DC_BLU, DC_BLU, DC_YLW, DC_YLW, DC_YLW, DC_YLW, DC_YLW, DC_YLW, DC_YLW, DC_YLW,
179+
DC_YLW, DC_BLU, DC_BLU, DC_BLU, DC_BLU, DC_BLU, DC_BLU, DC_BLU, DC_BLU, DC_BLU, DC_BLU, DC_BLU, DC_BLU, DC_BLU, DC_YLW, DC_YLW, DC_YLW, DC_YLW, DC_YLW, DC_YLW, DC_YLW,
180+
DC_YLW, DC_BLU, DC_BLU, DC_BLU, DC_BLU, DC_BLU, DC_BLU, DC_BLU, DC_BLU, DC_BLU, DC_BLU, DC_BLU, DC_RED, DC_YLW, DC_YLW, DC_YLW,
181+
DC_YLW, DC_BLU, DC_BLU, DC_BLU, DC_BLU, DC_BLU, DC_BLU, DC_BLU, DC_BLU, DC_BLU, DC_BLU, DC_YLW, DC_YLW, DC_YLW, DC_YLW, DC_YLW,
182+
DC_YLW, DC_YLW, DC_YLW, DC_BLU, DC_YLW, DC_YLW, DC_YLW, DC_YLW, DC_YLW, DC_YLW, DC_YLW, DC_YLW, DC_YLW, DC_RED,
183+
};
184+
185+
// Default Mixed RGB Region
186+
uint8_t default_region[RGB_MATRIX_LED_COUNT] = {
187+
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
188+
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
189+
0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
190+
0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
191+
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
192+
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
193+
};
194+
#endif
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
/* Copyright 2025 ~ 2026 @ 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+
#pragma once
18+
19+
#ifdef RGB_MATRIX_ENABLE
20+
/* LED Current Configuration */
21+
# define SNLED27351_CURRENT_TUNE \
22+
{ 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30 }
23+
24+
/* RGB Matrix Configuration */
25+
# define RGB_MATRIX_LED_COUNT 104
26+
27+
/* Indications */
28+
# define NUM_LOCK_INDEX 33
29+
# define WINLOCK_LED_LIST \
30+
{ 91 }
31+
32+
#endif
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"usb": {
3+
"pid": "0x1460",
4+
"device_version": "1.0.2"
5+
}
6+
}
Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
/* Copyright 2025 ~ 2026 @ 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 QMK_KEYBOARD_H
18+
#include "keychron_common.h"
19+
20+
enum layers {
21+
WIN_BASE,
22+
WIN_FN,
23+
MAC_BASE,
24+
MAC_FN,
25+
};
26+
27+
#define FN_WIN MO(WIN_FN)
28+
#define FN_MAC MO(MAC_FN)
29+
30+
// clang-format off
31+
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
32+
[WIN_BASE] = LAYOUT_ansi_104(
33+
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SCRL, KC_PAUS,
34+
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, KC_NUM, KC_PSLS, KC_PAST, KC_PMNS,
35+
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, KC_P7, KC_P8, KC_P9, KC_PPLS,
36+
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_P4, KC_P5, KC_P6,
37+
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3,
38+
KC_LCTL, KC_LWIN, KC_LALT, KC_SPC, KC_RALT, KC_APP, FN_WIN, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT),
39+
40+
[WIN_FN] = LAYOUT_ansi_104(
41+
_______, KC_BRID, KC_BRIU, KC_TASK, KC_FILE, UG_VALD, UG_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______,
42+
_______, BT_HST1, BT_HST2, BT_HST3, P2P4G, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
43+
UG_TOGG, UG_NEXT, UG_VALU, UG_HUEU, UG_SATU, UG_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
44+
OS_MAC, UG_PREV, UG_VALD, UG_HUED, UG_SATD, UG_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
45+
_______, _______, _______, _______, _______, BAT_LVL, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
46+
_______, GU_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
47+
48+
[MAC_BASE] = LAYOUT_ansi_104(
49+
KC_ESC, KC_BRID, KC_BRIU, KC_MCTRL, KC_LNPAD, UG_VALD, UG_VALU, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_SNAP, _______, _______,
50+
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, KC_NUM, KC_PSLS, KC_PAST, KC_PMNS,
51+
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, KC_P7, KC_P8, KC_P9, KC_PPLS,
52+
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_P4, KC_P5, KC_P6,
53+
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3,
54+
KC_LCTL, KC_LOPTN, KC_LCMMD, KC_SPC, KC_RCMMD, KC_ROPTN, FN_MAC, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT),
55+
56+
[MAC_FN] = LAYOUT_ansi_104(
57+
_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______,
58+
_______, BT_HST1, BT_HST2, BT_HST3, P2P4G, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
59+
UG_TOGG, UG_NEXT, UG_VALU, UG_HUEU, UG_SATU, UG_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
60+
OS_WIN, UG_PREV, UG_VALD, UG_HUED, UG_SATD, UG_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
61+
_______, _______, _______, _______, _______, BAT_LVL, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
62+
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______)
63+
};

0 commit comments

Comments
 (0)