forked from mirrors/qmk_firmware
Added support for gmmk pro rev2 keyboard. (#17655)
Co-authored-by: Joy <chang.li@westberrytech.com>
This commit is contained in:
parent
dfc92d8f7b
commit
e948fa6f6e
22 changed files with 1377 additions and 0 deletions
|
@ -22,4 +22,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
# include "rev1/ansi/ansi.h"
|
||||
#elif defined(KEYBOARD_gmmk_pro_rev1_iso)
|
||||
# include "rev1/iso/iso.h"
|
||||
#elif defined(KEYBOARD_gmmk_pro_rev2_ansi)
|
||||
# include "rev2/ansi/ansi.h"
|
||||
#elif defined(KEYBOARD_gmmk_pro_rev2_iso)
|
||||
# include "rev2/iso/iso.h"
|
||||
#endif // GMMK Pro revisions
|
||||
|
|
241
keyboards/gmmk/pro/rev2/ansi/ansi.c
Normal file
241
keyboards/gmmk/pro/rev2/ansi/ansi.c
Normal file
|
@ -0,0 +1,241 @@
|
|||
/* 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
|
||||
// clang-format off
|
||||
led_config_t g_led_config = {{
|
||||
{ 4, NO_LED, NO_LED, 95, 65, 79, 5, 28 },
|
||||
{ 8, 2, 9, 0, 10, 75, 1, 7 },
|
||||
{ 14, 3, 15, NO_LED, 16, 86, 6, 13 },
|
||||
{ 20, 18, 21, 23, 22, 94, 12, 19 },
|
||||
{ 25, 30, 26, 31, 27, 32, 29, 24 },
|
||||
{ 41, 36, 42, 37, 43, 38, 35, 40 },
|
||||
{ 46, 89, 47, 34, 48, 72, 78, 45 },
|
||||
{ 52, 39, 53, 97, 54, 82, 44, 51 },
|
||||
{ 58, 63, 59, 64, NO_LED, 60, 62, 57 },
|
||||
{ 11, 90, 55, 17, 33, 49, NO_LED, 69 },
|
||||
{ NO_LED, 85, 93, 61, 96, 66, 50, 56 }
|
||||
}, {
|
||||
{0, 0}, // 0, ESC, k13
|
||||
{0, 15}, // 1, ~, k16
|
||||
{4, 26}, // 2, Tab, k11
|
||||
{5, 38}, // 3, Caps, k21
|
||||
{9, 49}, // 4, Sh_L, k00
|
||||
{2, 61}, // 5, Ct_L, k06
|
||||
{18, 0}, // 6, F1, k26
|
||||
{14, 15}, // 7, 1, k17
|
||||
{22, 26}, // 8, Q, k10
|
||||
{25, 38}, // 9, A, k12
|
||||
{33, 49}, // 10, Z, k14
|
||||
{20, 61}, // 11, Win_L, k90
|
||||
{33, 0}, // 12, F2, k36
|
||||
{29, 15}, // 13, 2, k27
|
||||
{36, 26}, // 14, W, k20
|
||||
{40, 38}, // 15, S, k22
|
||||
{47, 49}, // 16, X, k24
|
||||
{38, 61}, // 17, Alt_L, k93
|
||||
{47, 0}, // 18, F3, k31
|
||||
{43, 15}, // 19, 3, k37
|
||||
{51, 26}, // 20, E, k30
|
||||
{54, 38}, // 21, D, k32
|
||||
{61, 49}, // 22, C, k34
|
||||
{61, 0}, // 23, F4, k33
|
||||
{58, 15}, // 24, 4, k47
|
||||
{65, 26}, // 25, R, k40
|
||||
{69, 38}, // 26, F, k42
|
||||
{76, 49}, // 27, V, k44
|
||||
{79, 0}, // 28, F5, k07
|
||||
{72, 15}, // 29, 5, k46
|
||||
{79, 26}, // 30, T, k41
|
||||
{83, 38}, // 31, G, k43
|
||||
{90, 49}, // 32, B, k45
|
||||
{92, 61}, // 33, SPACE, k94
|
||||
{94, 0}, // 34, F6, k63
|
||||
{87, 15}, // 35, 6, k56
|
||||
{94, 26}, // 36, Y, k51
|
||||
{98, 38}, // 37, H, k53
|
||||
{105, 49}, // 38, N, k55
|
||||
{108, 0}, // 39, F7, k71
|
||||
{101, 15}, // 40, 7, k57
|
||||
{108, 26}, // 41, U, k50
|
||||
{112, 38}, // 42, J, k52
|
||||
{119, 49}, // 43, M, k54
|
||||
{123, 0}, // 44, F8, k76
|
||||
{116, 15}, // 45, 8, k67
|
||||
{123, 26}, // 46, I, k60
|
||||
{126, 38}, // 47, K, k62
|
||||
{134, 49}, // 48, ,, k64
|
||||
{145, 61}, // 49, Alt_R, k95
|
||||
{141, 0}, // 50, F9, ka6
|
||||
{130, 15}, // 51, 9, k77
|
||||
{137, 26}, // 52, O, k70
|
||||
{141, 38}, // 53, L, k72
|
||||
{148, 49}, // 54, ., k74
|
||||
{159, 61}, // 55, FN, k92
|
||||
{155, 0}, // 56, F10, ka7
|
||||
{145, 15}, // 57, 0, k87
|
||||
{152, 26}, // 58, P, k80
|
||||
{155, 38}, // 59, ;, k82
|
||||
{163, 49}, // 60, ?, k85
|
||||
{170, 0}, // 61, F11, ka3
|
||||
{159, 15}, // 62, -, k86
|
||||
{166, 26}, // 63, [, k81
|
||||
{170, 38}, // 64, ", k83
|
||||
{173, 61}, // 65, Ct_R, k04
|
||||
{184, 0}, // 66, F12, ka5
|
||||
{0, 8}, // 67, LED, l01
|
||||
{224, 8}, // 68, LED, l11
|
||||
{202, 0}, // 69, Prt, k97
|
||||
{0, 15}, // 70, LED, l02
|
||||
{224, 15}, // 71, LED, l12
|
||||
{224, 15}, // 72, Del, k65
|
||||
{0, 21}, // 73, LED, l03
|
||||
{224, 21}, // 74, LED, l13
|
||||
{224, 26}, // 75, PgUp, k15
|
||||
{0, 28}, // 76, LED, l04
|
||||
{224, 28}, // 77, LED, l14
|
||||
{173, 15}, // 78, =, k66
|
||||
{220, 64}, // 79, Right, k05
|
||||
{0, 35}, // 80, LED, l05
|
||||
{224, 35}, // 81, LED, l15
|
||||
{224, 49}, // 82, End, k75
|
||||
{0, 42}, // 83, LED, l06
|
||||
{224, 42}, // 84, LED, l16
|
||||
{195, 15}, // 85, BSpc, ka1
|
||||
{224, 38}, // 86, PgDn, k25
|
||||
{0, 48}, // 87, LED, l07
|
||||
{224, 48}, // 88, LED, l17
|
||||
{181, 26}, // 89, ], k61
|
||||
{182, 49}, // 90, Sh_R, k91
|
||||
{0, 55}, // 91, LED, l08
|
||||
{224, 55}, // 92, LED, l18
|
||||
{199, 26}, // 93, \, ka2
|
||||
{206, 52}, // 94, Up, k35
|
||||
{191, 64}, // 95, Left, k03
|
||||
{193, 38}, // 96, Enter, ka4
|
||||
{206, 64} // 97, Down, k73
|
||||
}, {
|
||||
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, 4, 2, 2, 4, 2, 2,
|
||||
4, 2, 2, 4, 4, 2, 2, 4, 2, 2, 4, 4, 2, 2, 4, 4, 2, 2, 4, 4, 4, 4, 4
|
||||
}};
|
||||
|
||||
const aw_led g_aw_leds[DRIVER_LED_TOTAL] = {
|
||||
{0, CS1_SW1, CS2_SW1, CS3_SW1}, // 0, ESC, k13
|
||||
{0, CS4_SW1, CS5_SW1, CS6_SW1}, // 1, ~, k16
|
||||
{0, CS7_SW1, CS8_SW1, CS9_SW1}, // 2, Tab, k11
|
||||
{0, CS10_SW1, CS11_SW1, CS12_SW1}, // 3, Caps, k21
|
||||
{0, CS13_SW1, CS14_SW1, CS15_SW1}, // 4, Sh_L, k00
|
||||
{0, CS16_SW1, CS17_SW1, CS18_SW1}, // 5, Ct_L, k06
|
||||
{0, CS1_SW2, CS2_SW2, CS3_SW2}, // 6, F1, k26
|
||||
{0, CS4_SW2, CS5_SW2, CS6_SW2}, // 7, 1, k17
|
||||
{0, CS7_SW2, CS8_SW2, CS9_SW2}, // 8, Q, k10
|
||||
{0, CS10_SW2, CS11_SW2, CS12_SW2}, // 9, A, k12
|
||||
{0, CS13_SW2, CS14_SW2, CS15_SW2}, // 10, Z, k14
|
||||
{0, CS16_SW2, CS17_SW2, CS18_SW2}, // 11, Win_L, k90
|
||||
{0, CS1_SW3, CS2_SW3, CS3_SW3}, // 12, F2, k36
|
||||
{0, CS4_SW3, CS5_SW3, CS6_SW3}, // 13, 2, k27
|
||||
{0, CS7_SW3, CS8_SW3, CS9_SW3}, // 14, W, k20
|
||||
{0, CS10_SW3, CS11_SW3, CS12_SW3}, // 15, S, k22
|
||||
{0, CS13_SW3, CS14_SW3, CS15_SW3}, // 16, X, k24
|
||||
{0, CS16_SW3, CS17_SW3, CS18_SW3}, // 17, Alt_L, k93
|
||||
{0, CS1_SW4, CS2_SW4, CS3_SW4}, // 18, F3, k31
|
||||
{0, CS4_SW4, CS5_SW4, CS6_SW4}, // 19, 3, k37
|
||||
{0, CS7_SW4, CS8_SW4, CS9_SW4}, // 20, E, k30
|
||||
{0, CS10_SW4, CS11_SW4, CS12_SW4}, // 21, D, k32
|
||||
{0, CS13_SW4, CS14_SW4, CS15_SW4}, // 22, C, k34
|
||||
{0, CS1_SW5, CS2_SW5, CS3_SW5}, // 23, F4, k33
|
||||
{0, CS4_SW5, CS5_SW5, CS6_SW5}, // 24, 4, k47
|
||||
{0, CS7_SW5, CS8_SW5, CS9_SW5}, // 25, R, k40
|
||||
{0, CS10_SW5, CS11_SW5, CS12_SW5}, // 26, F, k42
|
||||
{0, CS13_SW5, CS14_SW5, CS15_SW5}, // 27, V, k44
|
||||
{0, CS1_SW6, CS2_SW6, CS3_SW6}, // 28, F5, k07
|
||||
{0, CS4_SW6, CS5_SW6, CS6_SW6}, // 29, 5, k46
|
||||
{0, CS7_SW6, CS8_SW6, CS9_SW6}, // 30, T, k41
|
||||
{0, CS10_SW6, CS11_SW6, CS12_SW6}, // 31, G, k43
|
||||
{0, CS13_SW6, CS14_SW6, CS15_SW6}, // 32, B, k45
|
||||
{0, CS16_SW6, CS17_SW6, CS18_SW6}, // 33, SPACE, k94
|
||||
{0, CS1_SW7, CS2_SW7, CS3_SW7}, // 34, F6, k63
|
||||
{0, CS4_SW7, CS5_SW7, CS6_SW7}, // 35, 6, k56
|
||||
{0, CS7_SW7, CS8_SW7, CS9_SW7}, // 36, Y, k51
|
||||
{0, CS10_SW7, CS11_SW7, CS12_SW7}, // 37, H, k53
|
||||
{0, CS13_SW7, CS14_SW7, CS15_SW7}, // 38, N, k55
|
||||
{0, CS1_SW8, CS2_SW8, CS3_SW8}, // 39, F7, k71
|
||||
{0, CS4_SW8, CS5_SW8, CS6_SW8}, // 40, 7, k57
|
||||
{0, CS7_SW8, CS8_SW8, CS9_SW8}, // 41, U, k50
|
||||
{0, CS10_SW8, CS11_SW8, CS12_SW8}, // 42, J, k52
|
||||
{0, CS13_SW8, CS14_SW8, CS15_SW8}, // 43, M, k54
|
||||
{0, CS1_SW9, CS2_SW9, CS3_SW9}, // 44, F8, k76
|
||||
{0, CS4_SW9, CS5_SW9, CS6_SW9}, // 45, 8, k67
|
||||
{0, CS7_SW9, CS8_SW9, CS9_SW9}, // 46, I, k60
|
||||
{0, CS10_SW9, CS11_SW9, CS12_SW9}, // 47, K, k62
|
||||
{0, CS13_SW9, CS14_SW9, CS15_SW9}, // 48, ,, k64
|
||||
{0, CS16_SW9, CS17_SW9, CS18_SW9}, // 49, Alt_R, k95
|
||||
{0, CS1_SW10, CS2_SW10, CS3_SW10}, // 50, F9, ka6
|
||||
{0, CS4_SW10, CS5_SW10, CS6_SW10}, // 51, 9, k77
|
||||
{0, CS7_SW10, CS8_SW10, CS9_SW10}, // 52, O, k70
|
||||
{0, CS10_SW10, CS11_SW10, CS12_SW10}, // 53, L, k72
|
||||
{0, CS13_SW10, CS14_SW10, CS15_SW10}, // 54, ., k74
|
||||
{0, CS16_SW10, CS17_SW10, CS18_SW10}, // 55, FN, k92
|
||||
{0, CS1_SW11, CS2_SW11, CS3_SW11}, // 56, F10, ka7
|
||||
{0, CS4_SW11, CS5_SW11, CS6_SW11}, // 57, 0, k87
|
||||
{0, CS7_SW11, CS8_SW11, CS9_SW11}, // 58, P, k80
|
||||
{0, CS10_SW11, CS11_SW11, CS12_SW11}, // 59, ;, k82
|
||||
{0, CS13_SW11, CS14_SW11, CS15_SW11}, // 60, ?, k85
|
||||
{0, CS1_SW12, CS2_SW12, CS3_SW12}, // 61, F11, ka3
|
||||
{0, CS4_SW12, CS5_SW12, CS6_SW12}, // 62, -, k86
|
||||
{0, CS7_SW12, CS8_SW12, CS9_SW12}, // 63, [, k81
|
||||
{0, CS10_SW12, CS11_SW12, CS12_SW12}, // 64, ", k83
|
||||
{0, CS16_SW12, CS17_SW12, CS18_SW12}, // 65, Ct_R, k04
|
||||
|
||||
{1, CS1_SW1, CS2_SW1, CS3_SW1}, // 66, F12, ka5
|
||||
{1, CS13_SW1, CS14_SW1, CS15_SW1}, // 67, LED, l01
|
||||
{1, CS16_SW1, CS17_SW1, CS18_SW1}, // 68, LED, l11
|
||||
{1, CS4_SW2, CS5_SW2, CS6_SW2}, // 69, Prt, k97
|
||||
{1, CS13_SW2, CS14_SW2, CS15_SW2}, // 70, LED, l02
|
||||
{1, CS16_SW2, CS17_SW2, CS18_SW2}, // 71, LED, l12
|
||||
{1, CS4_SW3, CS5_SW3, CS6_SW3}, // 72, Del, k65
|
||||
{1, CS13_SW3, CS14_SW3, CS15_SW3}, // 73, LED, l03
|
||||
{1, CS16_SW3, CS17_SW3, CS18_SW3}, // 74, LED, l13
|
||||
{1, CS4_SW4, CS5_SW4, CS6_SW4}, // 75, PgUp, k15
|
||||
{1, CS13_SW4, CS14_SW4, CS15_SW4}, // 76, LED, l04
|
||||
{1, CS16_SW4, CS17_SW4, CS18_SW4}, // 77, LED, l14
|
||||
{1, CS1_SW5, CS2_SW5, CS3_SW5}, // 78, =, k66
|
||||
{1, CS10_SW5, CS11_SW5, CS12_SW5}, // 79, Right, k05
|
||||
{1, CS13_SW5, CS14_SW5, CS15_SW5}, // 80, LED, l05
|
||||
{1, CS16_SW5, CS17_SW5, CS18_SW5}, // 81, LED, l15
|
||||
{1, CS4_SW6, CS5_SW6, CS6_SW6}, // 82, End, k75
|
||||
{1, CS13_SW6, CS14_SW6, CS15_SW6}, // 83, LED, l06
|
||||
{1, CS16_SW6, CS17_SW6, CS18_SW6}, // 84, LED, l16
|
||||
{1, CS1_SW7, CS2_SW7, CS3_SW7}, // 85, BSpc, ka1
|
||||
{1, CS4_SW7, CS5_SW7, CS6_SW7}, // 86, PgDn, k25
|
||||
{1, CS13_SW7, CS14_SW7, CS15_SW7}, // 87, LED, l07
|
||||
{1, CS16_SW7, CS17_SW7, CS18_SW7}, // 88, LED, l17
|
||||
{1, CS1_SW8, CS2_SW8, CS3_SW8}, // 89, ], k61
|
||||
{1, CS4_SW8, CS5_SW8, CS6_SW8}, // 90, Sh_R, k91
|
||||
{1, CS13_SW8, CS14_SW8, CS15_SW8}, // 91, LED, l08
|
||||
{1, CS16_SW8, CS17_SW8, CS18_SW8}, // 92, LED, l18
|
||||
{1, CS1_SW9, CS2_SW9, CS3_SW9}, // 93, \, ka2
|
||||
{1, CS4_SW9, CS5_SW9, CS6_SW9}, // 94, Up, k35
|
||||
{1, CS4_SW10, CS5_SW10, CS6_SW10}, // 95, Left, k03
|
||||
{1, CS1_SW11, CS2_SW11, CS3_SW11}, // 96, Enter, ka4
|
||||
{1, CS4_SW11, CS5_SW11, CS6_SW11}, // 97, Down, k73
|
||||
};
|
||||
// clang-format on
|
||||
#endif
|
52
keyboards/gmmk/pro/rev2/ansi/ansi.h
Normal file
52
keyboards/gmmk/pro/rev2/ansi/ansi.h
Normal file
|
@ -0,0 +1,52 @@
|
|||
/* 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/>.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "pro.h"
|
||||
|
||||
#define ___ KC_NO
|
||||
|
||||
// ESC F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 Prt Rotary(Mute)
|
||||
// ` 1 2 3 4 5 6 7 8 9 0 - = BSpc Del
|
||||
// Tab Q W E R T Y U I O P [ ] \ PgUp
|
||||
// Caps A S D F G H J K L ; ' Enter PgDn
|
||||
// Sh_L Z X C V B N M , . / Sh_R Up End
|
||||
// Ct_L Win_L Alt_L SPACE Alt_R FN Ct_R Left Down Right
|
||||
|
||||
// clang-format off
|
||||
#define LAYOUT( \
|
||||
k13, k26, k36, k31, k33, k07, k63, k71, k76, ka6, ka7, ka3, ka5, k97, k01, \
|
||||
k16, k17, k27, k37, k47, k46, k56, k57, k67, k77, k87, k86, k66, ka1, k65, \
|
||||
k11, k10, k20, k30, k40, k41, k51, k50, k60, k70, k80, k81, k61, ka2, k15, \
|
||||
k21, k12, k22, k32, k42, k43, k53, k52, k62, k72, k82, k83, ka4, k25, \
|
||||
k00, k14, k24, k34, k44, k45, k55, k54, k64, k74, k85, k91, k35, k75, \
|
||||
k06, k90, k93, k94, k95, k92, k04, k03, k73, k05 \
|
||||
) \
|
||||
{ \
|
||||
{ k00, k01, ___, k03, k04, k05, k06, k07}, \
|
||||
{ k10, k11, k12, k13, k14, k15, k16, k17}, \
|
||||
{ k20, k21, k22, ___, k24, k25, k26, k27}, \
|
||||
{ k30, k31, k32, k33, k34, k35, k36, k37}, \
|
||||
{ k40, k41, k42, k43, k44, k45, k46, k47}, \
|
||||
{ k50, k51, k52, k53, k54, k55, k56, k57}, \
|
||||
{ k60, k61, k62, k63, k64, k65, k66, k67}, \
|
||||
{ k70, k71, k72, k73, k74, k75, k76, k77}, \
|
||||
{ k80, k81, k82, k83, ___, k85, k86, k87}, \
|
||||
{ k90, k91, k92, k93, k94, k95, ___, k97}, \
|
||||
{ ___, ka1, ka2, ka3, ka4, ka5, ka6, ka7} \
|
||||
}
|
||||
// clang-format on
|
23
keyboards/gmmk/pro/rev2/ansi/config.h
Normal file
23
keyboards/gmmk/pro/rev2/ansi/config.h
Normal file
|
@ -0,0 +1,23 @@
|
|||
/* 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/>.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "config_common.h"
|
||||
|
||||
#define DRIVER_1_LED_TOTAL 66
|
||||
#define DRIVER_2_LED_TOTAL 32
|
||||
#define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
|
109
keyboards/gmmk/pro/rev2/ansi/info.json
Normal file
109
keyboards/gmmk/pro/rev2/ansi/info.json
Normal file
|
@ -0,0 +1,109 @@
|
|||
{
|
||||
"keyboard_name": "GMMK Pro (ANSI)",
|
||||
"url": "https://www.pcgamingrace.com/products/glorious-gmmk-pro-75-barebone-black-reservation",
|
||||
"maintainer": "GloriousThrall",
|
||||
"layouts": {
|
||||
"LAYOUT": {
|
||||
"layout": [
|
||||
{"x":0, "y":0},
|
||||
|
||||
{"x":1.25, "y":0},
|
||||
{"x":2.25, "y":0},
|
||||
{"x":3.25, "y":0},
|
||||
{"x":4.25, "y":0},
|
||||
|
||||
{"x":5.5, "y":0},
|
||||
{"x":6.5, "y":0},
|
||||
{"x":7.5, "y":0},
|
||||
{"x":8.5, "y":0},
|
||||
|
||||
{"x":9.75, "y":0},
|
||||
{"x":10.75, "y":0},
|
||||
{"x":11.75, "y":0},
|
||||
{"x":12.75, "y":0},
|
||||
|
||||
{"x":14, "y":0},
|
||||
{"x":15.5, "y":0},
|
||||
|
||||
{"x":0, "y":1.25},
|
||||
{"x":1, "y":1.25},
|
||||
{"x":2, "y":1.25},
|
||||
{"x":3, "y":1.25},
|
||||
{"x":4, "y":1.25},
|
||||
{"x":5, "y":1.25},
|
||||
{"x":6, "y":1.25},
|
||||
{"x":7, "y":1.25},
|
||||
{"x":8, "y":1.25},
|
||||
{"x":9, "y":1.25},
|
||||
{"x":10, "y":1.25},
|
||||
{"x":11, "y":1.25},
|
||||
{"x":12, "y":1.25},
|
||||
{"x":13, "y":1.25, "w":2},
|
||||
|
||||
{"x":15.5, "y":1.25},
|
||||
|
||||
{"x":0, "y":2.25, "w":1.5},
|
||||
{"x":1.5, "y":2.25},
|
||||
{"x":2.5, "y":2.25},
|
||||
{"x":3.5, "y":2.25},
|
||||
{"x":4.5, "y":2.25},
|
||||
{"x":5.5, "y":2.25},
|
||||
{"x":6.5, "y":2.25},
|
||||
{"x":7.5, "y":2.25},
|
||||
{"x":8.5, "y":2.25},
|
||||
{"x":9.5, "y":2.25},
|
||||
{"x":10.5, "y":2.25},
|
||||
{"x":11.5, "y":2.25},
|
||||
{"x":12.5, "y":2.25},
|
||||
{"x":13.5, "y":2.25, "w":1.5},
|
||||
|
||||
{"x":15.5, "y":2.25},
|
||||
|
||||
{"x":0, "y":3.25, "w":1.75},
|
||||
{"x":1.75, "y":3.25},
|
||||
{"x":2.75, "y":3.25},
|
||||
{"x":3.75, "y":3.25},
|
||||
{"x":4.75, "y":3.25},
|
||||
{"x":5.75, "y":3.25},
|
||||
{"x":6.75, "y":3.25},
|
||||
{"x":7.75, "y":3.25},
|
||||
{"x":8.75, "y":3.25},
|
||||
{"x":9.75, "y":3.25},
|
||||
{"x":10.75, "y":3.25},
|
||||
{"x":11.75, "y":3.25},
|
||||
{"x":12.75, "y":3.25, "w":2.25},
|
||||
|
||||
{"x":15.5, "y":3.25},
|
||||
|
||||
{"x":0, "y":4.25, "w":2.25},
|
||||
{"x":2.25, "y":4.25},
|
||||
{"x":3.25, "y":4.25},
|
||||
{"x":4.25, "y":4.25},
|
||||
{"x":5.25, "y":4.25},
|
||||
{"x":6.25, "y":4.25},
|
||||
{"x":7.25, "y":4.25},
|
||||
{"x":8.25, "y":4.25},
|
||||
{"x":9.25, "y":4.25},
|
||||
{"x":10.25, "y":4.25},
|
||||
{"x":11.25, "y":4.25},
|
||||
{"x":12.25, "y":4.25, "w":1.75},
|
||||
|
||||
{"x":14.25, "y":4.5},
|
||||
|
||||
{"x":15.5, "y":4.25},
|
||||
|
||||
{"x":0, "y":5.25, "w":1.25},
|
||||
{"x":1.25, "y":5.25, "w":1.25},
|
||||
{"x":2.5, "y":5.25, "w":1.25},
|
||||
{"x":3.75, "y":5.25, "w":6.25},
|
||||
{"x":10, "y":5.25},
|
||||
{"x":11, "y":5.25},
|
||||
{"x":12, "y":5.25},
|
||||
|
||||
{"x":13.25, "y":5.5},
|
||||
{"x":14.25, "y":5.5},
|
||||
{"x":15.25, "y":5.5}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
72
keyboards/gmmk/pro/rev2/ansi/keymaps/default/keymap.c
Normal file
72
keyboards/gmmk/pro/rev2/ansi/keymaps/default/keymap.c
Normal file
|
@ -0,0 +1,72 @@
|
|||
/* 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 QMK_KEYBOARD_H
|
||||
|
||||
// clang-format off
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
// ESC F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 Prt Rotary(Mute)
|
||||
// ~ 1 2 3 4 5 6 7 8 9 0 - (=) BackSpc Del
|
||||
// Tab Q W E R T Y U I O P [ ] \ PgUp
|
||||
// Caps A S D F G H J K L ; " Enter PgDn
|
||||
// Sh_L Z X C V B N M , . ? Sh_R Up End
|
||||
// Ct_L Win_L Alt_L SPACE Alt_R FN Ct_R Left Down Right
|
||||
|
||||
|
||||
// The FN key by default maps to a momentary toggle to layer 1 to provide access to the RESET key (to put the board into bootloader mode). Without
|
||||
// this mapping, you have to open the case to hit the button on the bottom of the PCB (near the USB cable attachment) while plugging in the USB
|
||||
// cable to get the board into bootloader mode - definitely not fun when you're working on your QMK builds. Remove this and put it back to KC_RGUI
|
||||
// if that's your preference.
|
||||
//
|
||||
// To put the keyboard in bootloader mode, use FN+backslash. If you accidentally put it into bootloader, you can just unplug the USB cable and
|
||||
// it'll be back to normal when you plug it back in.
|
||||
//
|
||||
// This keyboard defaults to 6KRO instead of NKRO for compatibility reasons (some KVMs and BIOSes are incompatible with NKRO).
|
||||
// Since this is, among other things, a "gaming" keyboard, a key combination to enable NKRO on the fly is provided for convenience.
|
||||
// Press Fn+N to toggle between 6KRO and NKRO. This setting is persisted to the EEPROM and thus persists between restarts.
|
||||
[0] = LAYOUT(
|
||||
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_MUTE,
|
||||
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_DEL,
|
||||
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_PGUP,
|
||||
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_PGDN,
|
||||
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_END,
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
|
||||
),
|
||||
|
||||
[1] = LAYOUT(
|
||||
_______, KC_MYCM, KC_WHOM, KC_CALC, KC_MSEL, KC_MPRV, KC_MNXT, KC_MPLY, KC_MSTP, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______,
|
||||
_______, RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, _______,
|
||||
_______, _______, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, RGB_HUI, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, RGB_MOD, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, RGB_SPD, RGB_RMOD, RGB_SPI
|
||||
),
|
||||
|
||||
|
||||
};
|
||||
// clang-format on
|
||||
|
||||
#ifdef ENCODER_ENABLE
|
||||
bool encoder_update_user(uint8_t index, bool clockwise) {
|
||||
if (clockwise) {
|
||||
tap_code(KC_VOLU);
|
||||
} else {
|
||||
tap_code(KC_VOLD);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
#endif // ENCODER_ENABLE
|
88
keyboards/gmmk/pro/rev2/ansi/keymaps/via/keymap.c
Normal file
88
keyboards/gmmk/pro/rev2/ansi/keymaps/via/keymap.c
Normal file
|
@ -0,0 +1,88 @@
|
|||
/* 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 QMK_KEYBOARD_H
|
||||
|
||||
// clang-format off
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
// ESC F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 Prt Rotary(Mute)
|
||||
// ~ 1 2 3 4 5 6 7 8 9 0 - (=) BackSpc Del
|
||||
// Tab Q W E R T Y U I O P [ ] \ PgUp
|
||||
// Caps A S D F G H J K L ; " Enter PgDn
|
||||
// Sh_L Z X C V B N M , . ? Sh_R Up End
|
||||
// Ct_L Win_L Alt_L SPACE Alt_R FN Ct_R Left Down Right
|
||||
|
||||
|
||||
// The FN key by default maps to a momentary toggle to layer 1 to provide access to the RESET key (to put the board into bootloader mode). Without
|
||||
// this mapping, you have to open the case to hit the button on the bottom of the PCB (near the USB cable attachment) while plugging in the USB
|
||||
// cable to get the board into bootloader mode - definitely not fun when you're working on your QMK builds. Remove this and put it back to KC_RGUI
|
||||
// if that's your preference.
|
||||
//
|
||||
// To put the keyboard in bootloader mode, use FN+backslash. If you accidentally put it into bootloader, you can just unplug the USB cable and
|
||||
// it'll be back to normal when you plug it back in.
|
||||
//
|
||||
// This keyboard defaults to 6KRO instead of NKRO for compatibility reasons (some KVMs and BIOSes are incompatible with NKRO).
|
||||
// Since this is, among other things, a "gaming" keyboard, a key combination to enable NKRO on the fly is provided for convenience.
|
||||
// Press Fn+N to toggle between 6KRO and NKRO. This setting is persisted to the EEPROM and thus persists between restarts.
|
||||
[0] = LAYOUT(
|
||||
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_MUTE,
|
||||
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_DEL,
|
||||
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_PGUP,
|
||||
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_PGDN,
|
||||
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_END,
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
|
||||
),
|
||||
|
||||
[1] = LAYOUT(
|
||||
_______, KC_MYCM, KC_WHOM, KC_CALC, KC_MSEL, KC_MPRV, KC_MNXT, KC_MPLY, KC_MSTP, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______,
|
||||
_______, RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, _______,
|
||||
_______, _______, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, RGB_HUI, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, RGB_MOD, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, RGB_SPD, RGB_RMOD, RGB_SPI
|
||||
),
|
||||
|
||||
[2] = LAYOUT(
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||
),
|
||||
|
||||
[3] = LAYOUT(
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||
),
|
||||
|
||||
};
|
||||
// clang-format on
|
||||
|
||||
/* encoder; start */
|
||||
#if defined(ENCODER_MAP_ENABLE)
|
||||
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
|
||||
[0] = { ENCODER_CCW_CW(KC_VOLU, KC_VOLD) },
|
||||
[1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
|
||||
[2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
|
||||
[3] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }
|
||||
};
|
||||
#endif
|
2
keyboards/gmmk/pro/rev2/ansi/keymaps/via/rules.mk
Normal file
2
keyboards/gmmk/pro/rev2/ansi/keymaps/via/rules.mk
Normal file
|
@ -0,0 +1,2 @@
|
|||
VIA_ENABLE = yes
|
||||
ENCODER_MAP_ENABLE = yes
|
37
keyboards/gmmk/pro/rev2/ansi/readme.md
Normal file
37
keyboards/gmmk/pro/rev2/ansi/readme.md
Normal file
|
@ -0,0 +1,37 @@
|
|||
# GMMK PRO (ANSI)
|
||||
|
||||
A tenkeyless 75% keyboard made and sold by Glorious LLC. Equipped with the WestBerry G7 ARM Cortex-M4 microcontroller, with support for rotary encoders and three additional layouts. [More info at Glorious](https://www.pcgamingrace.com/products/glorious-gmmk-pro-75-barebone-black)
|
||||
|
||||
* Keyboard Maintainer: [GloriousThrall](https://github.com/GloriousThrall)
|
||||
* Hardware Supported: GMMK Pro
|
||||
* Hardware Availability: [GloriousPCGaming.com](https://www.pcgamingrace.com/products/glorious-gmmk-pro-75-barebone-black)
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make gmmk/pro/rev2/ansi:default
|
||||
|
||||
Flashing example for this keyboard:
|
||||
|
||||
make gmmk/pro/rev2/ansi:default:flash
|
||||
|
||||
To reset the board into bootloader mode, do one of the following:
|
||||
|
||||
* Hold the Reset switch mounted on the bottom side of the PCB while connecting the USB cable
|
||||
* Hold the Escape key while connecting the USB cable (also erases persistent settings)
|
||||
* Fn+Backslash will reset the board to bootloader mode if you have flashed the default QMK keymap
|
||||
|
||||
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
|
||||
|
||||
## Case Screw Replacements
|
||||
|
||||
Many users report stripped case screws when disassembling the board.
|
||||
|
||||
The stock case screws are:
|
||||
* Thread: M2
|
||||
* Thread length: ~5 mm
|
||||
* Head diameter: ~3.8 mm
|
||||
* Head counterbore diameter: ~4.0 mm
|
||||
* Head counterbore depth: ~1.9 mm
|
||||
|
||||
Most M2x5mm screws should fit fine, although it's best to ensure that the screw head will fit inside the counterbore.
|
||||
For reference, [this hex socket head screw](https://www.mcmaster.com/91292A005/) from McMaster-Carr should fit nearly flush (head will protrude above the counterbore by ~0.1 mm).
|
23
keyboards/gmmk/pro/rev2/ansi/rules.mk
Normal file
23
keyboards/gmmk/pro/rev2/ansi/rules.mk
Normal file
|
@ -0,0 +1,23 @@
|
|||
# MCU name
|
||||
MCU = WB32F3G71
|
||||
|
||||
# Bootloader selection
|
||||
BOOTLOADER = wb32-dfu
|
||||
|
||||
# Build Options
|
||||
# change yes to no to disable
|
||||
#
|
||||
BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
|
||||
MOUSEKEY_ENABLE = yes # Mouse keys
|
||||
EXTRAKEY_ENABLE = yes # Audio control and System control
|
||||
CONSOLE_ENABLE = no # Console for debug
|
||||
COMMAND_ENABLE = no # Commands for debug and configuration
|
||||
NKRO_ENABLE = yes # Enable N-Key Rollover
|
||||
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
|
||||
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
|
||||
AUDIO_ENABLE = no # Audio output
|
||||
ENCODER_ENABLE = yes
|
||||
RGB_MATRIX_ENABLE = yes
|
||||
RGB_MATRIX_DRIVER = AW20216
|
||||
EEPROM_DRIVER = wear_leveling
|
||||
WEAR_LEVELING_DRIVER = spi_flash
|
26
keyboards/gmmk/pro/rev2/config.h
Normal file
26
keyboards/gmmk/pro/rev2/config.h
Normal file
|
@ -0,0 +1,26 @@
|
|||
/* 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/>.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "config_common.h"
|
||||
|
||||
/* External spi flash */
|
||||
#define EXTERNAL_FLASH_SPI_SLAVE_SELECT_PIN B12
|
||||
#define WEAR_LEVELING_BACKING_SIZE 2048
|
||||
|
||||
/* SPI Config for LED Driver */
|
||||
#define SPI_DRIVER SPIDQ
|
23
keyboards/gmmk/pro/rev2/halconf.h
Normal file
23
keyboards/gmmk/pro/rev2/halconf.h
Normal file
|
@ -0,0 +1,23 @@
|
|||
/* 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/>.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#define HAL_USE_SPI TRUE
|
||||
#define SPI_USE_WAIT TRUE
|
||||
#define SPI_SELECT_MODE SPI_SELECT_MODE_PAD
|
||||
|
||||
#include_next <halconf.h>
|
23
keyboards/gmmk/pro/rev2/iso/config.h
Normal file
23
keyboards/gmmk/pro/rev2/iso/config.h
Normal file
|
@ -0,0 +1,23 @@
|
|||
/* 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/>.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "config_common.h"
|
||||
|
||||
#define DRIVER_1_LED_TOTAL 66
|
||||
#define DRIVER_2_LED_TOTAL 33
|
||||
#define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
|
110
keyboards/gmmk/pro/rev2/iso/info.json
Normal file
110
keyboards/gmmk/pro/rev2/iso/info.json
Normal file
|
@ -0,0 +1,110 @@
|
|||
{
|
||||
"keyboard_name": "GMMK Pro (ISO)",
|
||||
"url": "https://www.pcgamingrace.com/products/glorious-gmmk-pro-75-barebone-black-reservation",
|
||||
"maintainer": "GloriousThrall",
|
||||
"layouts": {
|
||||
"LAYOUT": {
|
||||
"layout": [
|
||||
{"label":"Esc", "x":0, "y":0},
|
||||
|
||||
{"label":"F1", "x":1.25, "y":0},
|
||||
{"label":"F2", "x":2.25, "y":0},
|
||||
{"label":"F3", "x":3.25, "y":0},
|
||||
{"label":"F4", "x":4.25, "y":0},
|
||||
|
||||
{"label":"F5", "x":5.5, "y":0},
|
||||
{"label":"F6", "x":6.5, "y":0},
|
||||
{"label":"F7", "x":7.5, "y":0},
|
||||
{"label":"F8", "x":8.5, "y":0},
|
||||
|
||||
{"label":"F9", "x":9.75, "y":0},
|
||||
{"label":"F10", "x":10.75, "y":0},
|
||||
{"label":"F11", "x":11.75, "y":0},
|
||||
{"label":"F12", "x":12.75, "y":0},
|
||||
|
||||
{"label":"Printscreen", "x":14, "y":0},
|
||||
{"label":"Rotary", "x":15.5, "y":0},
|
||||
|
||||
{"label":"`", "x":0, "y":1.25},
|
||||
{"label":"1", "x":1, "y":1.25},
|
||||
{"label":"2", "x":2, "y":1.25},
|
||||
{"label":"3", "x":3, "y":1.25},
|
||||
{"label":"4", "x":4, "y":1.25},
|
||||
{"label":"5", "x":5, "y":1.25},
|
||||
{"label":"6", "x":6, "y":1.25},
|
||||
{"label":"7", "x":7, "y":1.25},
|
||||
{"label":"8", "x":8, "y":1.25},
|
||||
{"label":"9", "x":9, "y":1.25},
|
||||
{"label":"0", "x":10, "y":1.25},
|
||||
{"label":"-", "x":11, "y":1.25},
|
||||
{"label":"=", "x":12, "y":1.25},
|
||||
{"label":"Backspace", "x":13, "y":1.25, "w":2},
|
||||
|
||||
{"label":"Delete", "x":15.5, "y":1.25},
|
||||
|
||||
{"label":"Tab", "x":0, "y":2.25, "w":1.5},
|
||||
{"label":"Q", "x":1.5, "y":2.25},
|
||||
{"label":"W", "x":2.5, "y":2.25},
|
||||
{"label":"E", "x":3.5, "y":2.25},
|
||||
{"label":"R", "x":4.5, "y":2.25},
|
||||
{"label":"T", "x":5.5, "y":2.25},
|
||||
{"label":"Y", "x":6.5, "y":2.25},
|
||||
{"label":"U", "x":7.5, "y":2.25},
|
||||
{"label":"I", "x":8.5, "y":2.25},
|
||||
{"label":"O", "x":9.5, "y":2.25},
|
||||
{"label":"P", "x":10.5, "y":2.25},
|
||||
{"label":"[", "x":11.5, "y":2.25},
|
||||
{"label":"]", "x":12.5, "y":2.25},
|
||||
|
||||
{"label":"Page Up", "x":15.5, "y":2.25},
|
||||
|
||||
{"label":"Caps Lock", "x":0, "y":3.25, "w":1.75},
|
||||
{"label":"A", "x":1.75, "y":3.25},
|
||||
{"label":"S", "x":2.75, "y":3.25},
|
||||
{"label":"D", "x":3.75, "y":3.25},
|
||||
{"label":"F", "x":4.75, "y":3.25},
|
||||
{"label":"G", "x":5.75, "y":3.25},
|
||||
{"label":"H", "x":6.75, "y":3.25},
|
||||
{"label":"J", "x":7.75, "y":3.25},
|
||||
{"label":"K", "x":8.75, "y":3.25},
|
||||
{"label":"L", "x":9.75, "y":3.25},
|
||||
{"label":";", "x":10.75, "y":3.25},
|
||||
{"label":"'", "x":11.75, "y":3.25},
|
||||
{"label":"Iso #", "x":12.75, "y":3.25},
|
||||
{"label":"Enter", "x":13.75, "y":2.25, "w":1.25, "h":2},
|
||||
|
||||
{"label":"Page Down", "x":15.5, "y":3.25},
|
||||
|
||||
{"label":"Shift", "x":0, "y":4.25, "w":1.25},
|
||||
{"label":"Iso \\", "x":1.25, "y":4.25},
|
||||
{"label":"Z", "x":2.25, "y":4.25},
|
||||
{"label":"X", "x":3.25, "y":4.25},
|
||||
{"label":"C", "x":4.25, "y":4.25},
|
||||
{"label":"V", "x":5.25, "y":4.25},
|
||||
{"label":"B", "x":6.25, "y":4.25},
|
||||
{"label":"N", "x":7.25, "y":4.25},
|
||||
{"label":"M", "x":8.25, "y":4.25},
|
||||
{"label":",", "x":9.25, "y":4.25},
|
||||
{"label":".", "x":10.25, "y":4.25},
|
||||
{"label":"/", "x":11.25, "y":4.25},
|
||||
{"label":"Shift", "x":12.25, "y":4.25, "w":1.75},
|
||||
|
||||
{"label":"Up", "x":14.25, "y":4.5},
|
||||
|
||||
{"label":"End", "x":15.5, "y":4.25},
|
||||
|
||||
{"label":"Ctrl", "x":0, "y":5.25, "w":1.25},
|
||||
{"label":"GUI", "x":1.25, "y":5.25, "w":1.25},
|
||||
{"label":"Alt", "x":2.5, "y":5.25, "w":1.25},
|
||||
{"label":"Space", "x":3.75, "y":5.25, "w":6.25},
|
||||
{"label":"Alt", "x":10, "y":5.25},
|
||||
{"label":"Fn", "x":11, "y":5.25},
|
||||
{"label":"Ctrl", "x":12, "y":5.25},
|
||||
|
||||
{"label":"Left", "x":13.25, "y":5.5},
|
||||
{"label":"Down", "x":14.25, "y":5.5},
|
||||
{"label":"Right", "x":15.25, "y":5.5}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
243
keyboards/gmmk/pro/rev2/iso/iso.c
Normal file
243
keyboards/gmmk/pro/rev2/iso/iso.c
Normal file
|
@ -0,0 +1,243 @@
|
|||
/* 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 "iso.h"
|
||||
|
||||
#ifdef RGB_MATRIX_ENABLE
|
||||
// clang-format off
|
||||
led_config_t g_led_config = {{
|
||||
{ 4, NO_LED, NO_LED, 96, 65, 80, 5, 28 },
|
||||
{ 8, 2, 9, 0, 10, 76, 1, 7 },
|
||||
{ 14, 3, 15, 67, 16, 87, 6, 13 },
|
||||
{ 20, 18, 21, 23, 22, 94, 12, 19 },
|
||||
{ 25, 30, 26, 31, 27, 32, 29, 24 },
|
||||
{ 41, 36, 42, 37, 43, 38, 35, 40 },
|
||||
{ 46, 90, 47, 34, 48, 73, 79, 45 },
|
||||
{ 52, 39, 53, 98, 54, 83, 44, 51 },
|
||||
{ 58, 63, 59, 64, 95, 60, 62, 57 },
|
||||
{ 11, 91, 55, 17, 33, 49, NO_LED, 70 },
|
||||
{ NO_LED, 86, NO_LED, 61, 97, 66, 50, 56 }
|
||||
}, {
|
||||
{0, 0}, // 0, ESC, k13
|
||||
{0, 15}, // 1, `, k16
|
||||
{4, 26}, // 2, Tab, k11
|
||||
{5, 38}, // 3, Caps, k21
|
||||
{2, 49}, // 4, Sh_L, k00
|
||||
{2, 61}, // 5, Ct_L, k06
|
||||
{18, 0}, // 6, F1, k26
|
||||
{14, 15}, // 7, 1, k17
|
||||
{22, 26}, // 8, Q, k10
|
||||
{25, 38}, // 9, A, k12
|
||||
{33, 49}, // 10, Z, k14
|
||||
{20, 61}, // 11, Win_L, k90
|
||||
{33, 0}, // 12, F2, k36
|
||||
{29, 15}, // 13, 2, k27
|
||||
{36, 26}, // 14, W, k20
|
||||
{40, 38}, // 15, S, k22
|
||||
{47, 49}, // 16, X, k24
|
||||
{38, 61}, // 17, Alt_L, k93
|
||||
{47, 0}, // 18, F3, k31
|
||||
{43, 15}, // 19, 3, k37
|
||||
{51, 26}, // 20, E, k30
|
||||
{54, 38}, // 21, D, k32
|
||||
{61, 49}, // 22, C, k34
|
||||
{61, 0}, // 23, F4, k33
|
||||
{58, 15}, // 24, 4, k47
|
||||
{65, 26}, // 25, R, k40
|
||||
{69, 38}, // 26, F, k42
|
||||
{76, 49}, // 27, V, k44
|
||||
{79, 0}, // 28, F5, k07
|
||||
{72, 15}, // 29, 5, k46
|
||||
{79, 26}, // 30, T, k41
|
||||
{83, 38}, // 31, G, k43
|
||||
{90, 49}, // 32, B, k45
|
||||
{92, 61}, // 33, SPACE, k94
|
||||
{94, 0}, // 34, F6, k63
|
||||
{87, 15}, // 35, 6, k56
|
||||
{94, 26}, // 36, Y, k51
|
||||
{98, 38}, // 37, H, k53
|
||||
{105, 49}, // 38, N, k55
|
||||
{108, 0}, // 39, F7, k71
|
||||
{101, 15}, // 40, 7, k57
|
||||
{108, 26}, // 41, U, k50
|
||||
{112, 38}, // 42, J, k52
|
||||
{119, 49}, // 43, M, k54
|
||||
{123, 0}, // 44, F8, k76
|
||||
{116, 15}, // 45, 8, k67
|
||||
{123, 26}, // 46, I, k60
|
||||
{126, 38}, // 47, K, k62
|
||||
{134, 49}, // 48, ,, k64
|
||||
{145, 61}, // 49, Alt_R, k95
|
||||
{141, 0}, // 50, F9, ka6
|
||||
{130, 15}, // 51, 9, k77
|
||||
{137, 26}, // 52, O, k70
|
||||
{141, 38}, // 53, L, k72
|
||||
{148, 49}, // 54, ., k74
|
||||
{159, 61}, // 55, FN, k92
|
||||
{155, 0}, // 56, F10, ka7
|
||||
{145, 15}, // 57, 0, k87
|
||||
{152, 26}, // 58, P, k80
|
||||
{155, 38}, // 59, ;, k82
|
||||
{163, 49}, // 60, /, k85
|
||||
{170, 0}, // 61, F11, ka3
|
||||
{159, 15}, // 62, -, k86
|
||||
{166, 26}, // 63, [, k81
|
||||
{170, 38}, // 64, ", k83
|
||||
{173, 61}, // 65, Ct_R, k04
|
||||
{184, 0}, // 66, F12, ka5
|
||||
{18, 49}, // 67, \, k23
|
||||
{0, 8}, // 68, LED, l01
|
||||
{224, 8}, // 69, LED, l11
|
||||
{202, 0}, // 70, Prt, k97
|
||||
{0, 15}, // 71, LED, l02
|
||||
{224, 15}, // 72, LED, l12
|
||||
{224, 15}, // 73, Del, k65
|
||||
{0, 21}, // 74, LED, l03
|
||||
{224, 21}, // 75, LED, l13
|
||||
{224, 26}, // 76, PgUp, k15
|
||||
{0, 28}, // 77, LED, l04
|
||||
{224, 28}, // 78, LED, l14
|
||||
{173, 15}, // 79, =, k66
|
||||
{220, 64}, // 80, Right, k05
|
||||
{0, 35}, // 81, LED, l05
|
||||
{224, 35}, // 82, LED, l15
|
||||
{224, 49}, // 83, End, k75
|
||||
{0, 42}, // 84, LED, l06
|
||||
{224, 42}, // 85, LED, l16
|
||||
{195, 15}, // 86, BSpc, ka1
|
||||
{224, 38}, // 87, PgDn, k25
|
||||
{0, 48}, // 88, LED, l07
|
||||
{224, 48}, // 89, LED, l17
|
||||
{181, 26}, // 90, ], k61
|
||||
{182, 49}, // 91, Sh_R, k91
|
||||
{0, 55}, // 92, LED, l08
|
||||
{224, 55}, // 93, LED, l18
|
||||
{206, 52}, // 94, Up, k35
|
||||
{184, 38}, // 95, #, k84
|
||||
{191, 64}, // 96, Left, k03
|
||||
{201, 26}, // 97, Enter, ka4
|
||||
{206, 64}, // 98, Down, k73
|
||||
}, {
|
||||
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, 4, 2, 2, 4, 2, 2, 4, 2,
|
||||
2, 4, 2, 2, 4, 4, 2, 2, 4, 2, 2, 4, 4, 2, 2, 4, 4, 2, 2, 4, 4, 4, 4, 4
|
||||
}};
|
||||
|
||||
const aw_led g_aw_leds[DRIVER_LED_TOTAL] = {
|
||||
{0, CS1_SW1, CS2_SW1, CS3_SW1}, // 0, ESC, k13
|
||||
{0, CS4_SW1, CS5_SW1, CS6_SW1}, // 1, ~, k16
|
||||
{0, CS7_SW1, CS8_SW1, CS9_SW1}, // 2, Tab, k11
|
||||
{0, CS10_SW1, CS11_SW1, CS12_SW1}, // 3, Caps, k21
|
||||
{0, CS13_SW1, CS14_SW1, CS15_SW1}, // 4, Sh_L, k00
|
||||
{0, CS16_SW1, CS17_SW1, CS18_SW1}, // 5, Ct_L, k06
|
||||
{0, CS1_SW2, CS2_SW2, CS3_SW2}, // 6, F1, k26
|
||||
{0, CS4_SW2, CS5_SW2, CS6_SW2}, // 7, 1, k17
|
||||
{0, CS7_SW2, CS8_SW2, CS9_SW2}, // 8, Q, k10
|
||||
{0, CS10_SW2, CS11_SW2, CS12_SW2}, // 9, A, k12
|
||||
{0, CS13_SW2, CS14_SW2, CS15_SW2}, // 10, Z, k14
|
||||
{0, CS16_SW2, CS17_SW2, CS18_SW2}, // 11, Win_L, k90
|
||||
{0, CS1_SW3, CS2_SW3, CS3_SW3}, // 12, F2, k36
|
||||
{0, CS4_SW3, CS5_SW3, CS6_SW3}, // 13, 2, k27
|
||||
{0, CS7_SW3, CS8_SW3, CS9_SW3}, // 14, W, k20
|
||||
{0, CS10_SW3, CS11_SW3, CS12_SW3}, // 15, S, k22
|
||||
{0, CS13_SW3, CS14_SW3, CS15_SW3}, // 16, X, k24
|
||||
{0, CS16_SW3, CS17_SW3, CS18_SW3}, // 17, Alt_L, k93
|
||||
{0, CS1_SW4, CS2_SW4, CS3_SW4}, // 18, F3, k31
|
||||
{0, CS4_SW4, CS5_SW4, CS6_SW4}, // 19, 3, k37
|
||||
{0, CS7_SW4, CS8_SW4, CS9_SW4}, // 20, E, k30
|
||||
{0, CS10_SW4, CS11_SW4, CS12_SW4}, // 21, D, k32
|
||||
{0, CS13_SW4, CS14_SW4, CS15_SW4}, // 22, C, k34
|
||||
{0, CS1_SW5, CS2_SW5, CS3_SW5}, // 23, F4, k33
|
||||
{0, CS4_SW5, CS5_SW5, CS6_SW5}, // 24, 4, k47
|
||||
{0, CS7_SW5, CS8_SW5, CS9_SW5}, // 25, R, k40
|
||||
{0, CS10_SW5, CS11_SW5, CS12_SW5}, // 26, F, k42
|
||||
{0, CS13_SW5, CS14_SW5, CS15_SW5}, // 27, V, k44
|
||||
{0, CS1_SW6, CS2_SW6, CS3_SW6}, // 28, F5, k07
|
||||
{0, CS4_SW6, CS5_SW6, CS6_SW6}, // 29, 5, k46
|
||||
{0, CS7_SW6, CS8_SW6, CS9_SW6}, // 30, T, k41
|
||||
{0, CS10_SW6, CS11_SW6, CS12_SW6}, // 31, G, k43
|
||||
{0, CS13_SW6, CS14_SW6, CS15_SW6}, // 32, B, k45
|
||||
{0, CS16_SW6, CS17_SW6, CS18_SW6}, // 33, SPACE, k94
|
||||
{0, CS1_SW7, CS2_SW7, CS3_SW7}, // 34, F6, k63
|
||||
{0, CS4_SW7, CS5_SW7, CS6_SW7}, // 35, 6, k56
|
||||
{0, CS7_SW7, CS8_SW7, CS9_SW7}, // 36, Y, k51
|
||||
{0, CS10_SW7, CS11_SW7, CS12_SW7}, // 37, H, k53
|
||||
{0, CS13_SW7, CS14_SW7, CS15_SW7}, // 38, N, k55
|
||||
{0, CS1_SW8, CS2_SW8, CS3_SW8}, // 39, F7, k71
|
||||
{0, CS4_SW8, CS5_SW8, CS6_SW8}, // 40, 7, k57
|
||||
{0, CS7_SW8, CS8_SW8, CS9_SW8}, // 41, U, k50
|
||||
{0, CS10_SW8, CS11_SW8, CS12_SW8}, // 42, J, k52
|
||||
{0, CS13_SW8, CS14_SW8, CS15_SW8}, // 43, M, k54
|
||||
{0, CS1_SW9, CS2_SW9, CS3_SW9}, // 44, F8, k76
|
||||
{0, CS4_SW9, CS5_SW9, CS6_SW9}, // 45, 8, k67
|
||||
{0, CS7_SW9, CS8_SW9, CS9_SW9}, // 46, I, k60
|
||||
{0, CS10_SW9, CS11_SW9, CS12_SW9}, // 47, K, k62
|
||||
{0, CS13_SW9, CS14_SW9, CS15_SW9}, // 48, ,, k64
|
||||
{0, CS16_SW9, CS17_SW9, CS18_SW9}, // 49, Alt_R, k95
|
||||
{0, CS1_SW10, CS2_SW10, CS3_SW10}, // 50, F9, ka6
|
||||
{0, CS4_SW10, CS5_SW10, CS6_SW10}, // 51, 9, k77
|
||||
{0, CS7_SW10, CS8_SW10, CS9_SW10}, // 52, O, k70
|
||||
{0, CS10_SW10, CS11_SW10, CS12_SW10}, // 53, L, k72
|
||||
{0, CS13_SW10, CS14_SW10, CS15_SW10}, // 54, ., k74
|
||||
{0, CS16_SW10, CS17_SW10, CS18_SW10}, // 55, FN, k92
|
||||
{0, CS1_SW11, CS2_SW11, CS3_SW11}, // 56, F10, ka7
|
||||
{0, CS4_SW11, CS5_SW11, CS6_SW11}, // 57, 0, k87
|
||||
{0, CS7_SW11, CS8_SW11, CS9_SW11}, // 58, P, k80
|
||||
{0, CS10_SW11, CS11_SW11, CS12_SW11}, // 59, ;, k82
|
||||
{0, CS13_SW11, CS14_SW11, CS15_SW11}, // 60, ?, k85
|
||||
{0, CS1_SW12, CS2_SW12, CS3_SW12}, // 61, F11, ka3
|
||||
{0, CS4_SW12, CS5_SW12, CS6_SW12}, // 62, -, k86
|
||||
{0, CS7_SW12, CS8_SW12, CS9_SW12}, // 63, [, k81
|
||||
{0, CS10_SW12, CS11_SW12, CS12_SW12}, // 64, ", k83
|
||||
{0, CS16_SW12, CS17_SW12, CS18_SW12}, // 65, Ct_R, k04
|
||||
|
||||
{1, CS1_SW1, CS2_SW1, CS3_SW1}, // 66, F12, ka5
|
||||
{1, CS4_SW1, CS5_SW1, CS6_SW1}, // 67, \, k23
|
||||
{1, CS13_SW1, CS14_SW1, CS15_SW1}, // 68, LED, l01
|
||||
{1, CS16_SW1, CS17_SW1, CS18_SW1}, // 69, LED, l11
|
||||
{1, CS4_SW2, CS5_SW2, CS6_SW2}, // 70, Prt, k97
|
||||
{1, CS13_SW2, CS14_SW2, CS15_SW2}, // 71, LED, l02
|
||||
{1, CS16_SW2, CS17_SW2, CS18_SW2}, // 72, LED, l12
|
||||
{1, CS4_SW3, CS5_SW3, CS6_SW3}, // 73, Del, k65
|
||||
{1, CS13_SW3, CS14_SW3, CS15_SW3}, // 74, LED, l03
|
||||
{1, CS16_SW3, CS17_SW3, CS18_SW3}, // 75, LED, l13
|
||||
{1, CS4_SW4, CS5_SW4, CS6_SW4}, // 76, PgUp, k15
|
||||
{1, CS13_SW4, CS14_SW4, CS15_SW4}, // 77, LED, l04
|
||||
{1, CS16_SW4, CS17_SW4, CS18_SW4}, // 78, LED, l14
|
||||
{1, CS1_SW5, CS2_SW5, CS3_SW5}, // 79, =, k66
|
||||
{1, CS10_SW5, CS11_SW5, CS12_SW5}, // 80, Right, k05
|
||||
{1, CS13_SW5, CS14_SW5, CS15_SW5}, // 81, LED, l05
|
||||
{1, CS16_SW5, CS17_SW5, CS18_SW5}, // 82, LED, l15
|
||||
{1, CS4_SW6, CS5_SW6, CS6_SW6}, // 83, End, k75
|
||||
{1, CS13_SW6, CS14_SW6, CS15_SW6}, // 84, LED, l06
|
||||
{1, CS16_SW6, CS17_SW6, CS18_SW6}, // 85, LED, l16
|
||||
{1, CS1_SW7, CS2_SW7, CS3_SW7}, // 86, BSpc, ka1
|
||||
{1, CS4_SW7, CS5_SW7, CS6_SW7}, // 87, PgDn, k25
|
||||
{1, CS13_SW7, CS14_SW7, CS15_SW7}, // 88, LED, l07
|
||||
{1, CS16_SW7, CS17_SW7, CS18_SW7}, // 89, LED, l17
|
||||
{1, CS1_SW8, CS2_SW8, CS3_SW8}, // 90, ], k61
|
||||
{1, CS4_SW8, CS5_SW8, CS6_SW8}, // 91, Sh_R, k91
|
||||
{1, CS13_SW8, CS14_SW8, CS15_SW8}, // 92, LED, l08
|
||||
{1, CS16_SW8, CS17_SW8, CS18_SW8}, // 93, LED, l18
|
||||
{1, CS4_SW9, CS5_SW9, CS6_SW9}, // 94, Up, k35
|
||||
{1, CS1_SW10, CS2_SW10, CS3_SW10}, // 95, #, k84
|
||||
{1, CS4_SW10, CS5_SW10, CS6_SW10}, // 96, Left, k03
|
||||
{1, CS1_SW11, CS2_SW11, CS3_SW11}, // 97, Enter, ka4
|
||||
{1, CS4_SW11, CS5_SW11, CS6_SW11}, // 98, Down, k73
|
||||
};
|
||||
// clang-format on
|
||||
#endif
|
52
keyboards/gmmk/pro/rev2/iso/iso.h
Normal file
52
keyboards/gmmk/pro/rev2/iso/iso.h
Normal file
|
@ -0,0 +1,52 @@
|
|||
/* 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/>.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "pro.h"
|
||||
|
||||
#define ___ KC_NO
|
||||
|
||||
// ESC F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 Prt Rotary(Mute)
|
||||
// ` 1 2 3 4 5 6 7 8 9 0 - = BSpc Del
|
||||
// Tab Q W E R T Y U I O P [ ] PgUp
|
||||
// Caps A S D F G H J K L ; ' # Enter PgDn
|
||||
// Sh_L \ Z X C V B N M , . / Sh_R Up End
|
||||
// Ct_L Win_L Alt_L SPACE Alt_R FN Ct_R Left Down Right
|
||||
|
||||
// clang-format off
|
||||
#define LAYOUT( \
|
||||
k13, k26, k36, k31, k33, k07, k63, k71, k76, ka6, ka7, ka3, ka5, k97, k01, \
|
||||
k16, k17, k27, k37, k47, k46, k56, k57, k67, k77, k87, k86, k66, ka1, k65, \
|
||||
k11, k10, k20, k30, k40, k41, k51, k50, k60, k70, k80, k81, k61, k15, \
|
||||
k21, k12, k22, k32, k42, k43, k53, k52, k62, k72, k82, k83, k84, ka4, k25, \
|
||||
k00, k23, k14, k24, k34, k44, k45, k55, k54, k64, k74, k85, k91, k35, k75, \
|
||||
k06, k90, k93, k94, k95, k92, k04, k03, k73, k05 \
|
||||
) \
|
||||
{ \
|
||||
{ k00, k01, ___, k03, k04, k05, k06, k07}, \
|
||||
{ k10, k11, k12, k13, k14, k15, k16, k17}, \
|
||||
{ k20, k21, k22, k23, k24, k25, k26, k27}, \
|
||||
{ k30, k31, k32, k33, k34, k35, k36, k37}, \
|
||||
{ k40, k41, k42, k43, k44, k45, k46, k47}, \
|
||||
{ k50, k51, k52, k53, k54, k55, k56, k57}, \
|
||||
{ k60, k61, k62, k63, k64, k65, k66, k67}, \
|
||||
{ k70, k71, k72, k73, k74, k75, k76, k77}, \
|
||||
{ k80, k81, k82, k83, k84, k85, k86, k87}, \
|
||||
{ k90, k91, k92, k93, k94, k95, ___, k97}, \
|
||||
{ ___, ka1, ___, ka3, ka4, ka5, ka6, ka7} \
|
||||
}
|
||||
// clang-format on
|
72
keyboards/gmmk/pro/rev2/iso/keymaps/default/keymap.c
Normal file
72
keyboards/gmmk/pro/rev2/iso/keymaps/default/keymap.c
Normal file
|
@ -0,0 +1,72 @@
|
|||
/* 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 QMK_KEYBOARD_H
|
||||
|
||||
// clang-format off
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
// ESC F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 Prt Rotary(Mute)
|
||||
// ~ 1 2 3 4 5 6 7 8 9 0 - (=) BackSpc Del
|
||||
// Tab Q W E R T Y U I O P [ ] PgUp
|
||||
// Caps A S D F G H J K L ; " # Enter PgDn
|
||||
// Sh_L / Z X C V B N M , . ? Sh_R Up End
|
||||
// Ct_L Win_L Alt_L SPACE Alt_R FN Ct_R Left Down Right
|
||||
|
||||
|
||||
// The FN key by default maps to a momentary toggle to layer 1 to provide access to the RESET key (to put the board into bootloader mode). Without
|
||||
// this mapping, you have to open the case to hit the button on the bottom of the PCB (near the USB cable attachment) while plugging in the USB
|
||||
// cable to get the board into bootloader mode - definitely not fun when you're working on your QMK builds. Remove this and put it back to KC_RGUI
|
||||
// if that's your preference.
|
||||
//
|
||||
// To put the keyboard in bootloader mode, use FN+backspace. If you accidentally put it into bootloader, you can just unplug the USB cable and
|
||||
// it'll be back to normal when you plug it back in.
|
||||
//
|
||||
// This keyboard defaults to 6KRO instead of NKRO for compatibility reasons (some KVMs and BIOSes are incompatible with NKRO).
|
||||
// Since this is, among other things, a "gaming" keyboard, a key combination to enable NKRO on the fly is provided for convenience.
|
||||
// Press Fn+N to toggle between 6KRO and NKRO. This setting is persisted to the EEPROM and thus persists between restarts.
|
||||
[0] = LAYOUT(
|
||||
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_MUTE,
|
||||
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_DEL,
|
||||
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_PGUP,
|
||||
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_NUHS, KC_ENT, KC_PGDN,
|
||||
KC_LSFT, KC_NUBS, 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_END,
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
|
||||
),
|
||||
|
||||
[1] = LAYOUT(
|
||||
_______, KC_MYCM, KC_WHOM, KC_CALC, KC_MSEL, KC_MPRV, KC_MNXT, KC_MPLY, KC_MSTP, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______,
|
||||
_______, RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, _______,
|
||||
_______, _______, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, RGB_HUI, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, RGB_MOD, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, RGB_SPD, RGB_RMOD, RGB_SPI
|
||||
),
|
||||
|
||||
|
||||
};
|
||||
// clang-format on
|
||||
|
||||
#ifdef ENCODER_ENABLE
|
||||
bool encoder_update_user(uint8_t index, bool clockwise) {
|
||||
if (clockwise) {
|
||||
tap_code(KC_VOLU);
|
||||
} else {
|
||||
tap_code(KC_VOLD);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
#endif
|
90
keyboards/gmmk/pro/rev2/iso/keymaps/via/keymap.c
Normal file
90
keyboards/gmmk/pro/rev2/iso/keymaps/via/keymap.c
Normal file
|
@ -0,0 +1,90 @@
|
|||
/* 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 QMK_KEYBOARD_H
|
||||
|
||||
// clang-format off
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
// ESC F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 Prt Rotary(Mute)
|
||||
// ~ 1 2 3 4 5 6 7 8 9 0 - (=) BackSpc Del
|
||||
// Tab Q W E R T Y U I O P [ ] PgUp
|
||||
// Caps A S D F G H J K L ; " # Enter PgDn
|
||||
// Sh_L / Z X C V B N M , . ? Sh_R Up End
|
||||
// Ct_L Win_L Alt_L SPACE Alt_R FN Ct_R Left Down Right
|
||||
|
||||
|
||||
// The FN key by default maps to a momentary toggle to layer 1 to provide access to the RESET key (to put the board into bootloader mode). Without
|
||||
// this mapping, you have to open the case to hit the button on the bottom of the PCB (near the USB cable attachment) while plugging in the USB
|
||||
// cable to get the board into bootloader mode - definitely not fun when you're working on your QMK builds. Remove this and put it back to KC_RGUI
|
||||
// if that's your preference.
|
||||
//
|
||||
// To put the keyboard in bootloader mode, use FN+backspace. If you accidentally put it into bootloader, you can just unplug the USB cable and
|
||||
// it'll be back to normal when you plug it back in.
|
||||
//
|
||||
// This keyboard defaults to 6KRO instead of NKRO for compatibility reasons (some KVMs and BIOSes are incompatible with NKRO).
|
||||
// Since this is, among other things, a "gaming" keyboard, a key combination to enable NKRO on the fly is provided for convenience.
|
||||
// Press Fn+N to toggle between 6KRO and NKRO. This setting is persisted to the EEPROM and thus persists between restarts.
|
||||
[0] = LAYOUT(
|
||||
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_MUTE,
|
||||
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_DEL,
|
||||
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_PGUP,
|
||||
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_NUHS, KC_ENT, KC_PGDN,
|
||||
KC_LSFT, KC_NUBS, 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_END,
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
|
||||
),
|
||||
|
||||
[1] = LAYOUT(
|
||||
_______, KC_MYCM, KC_WHOM, KC_CALC, KC_MSEL, KC_MPRV, KC_MNXT, KC_MPLY, KC_MSTP, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______,
|
||||
_______, RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, _______,
|
||||
_______, _______, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, RGB_HUI, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, RGB_MOD, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, RGB_SPD, RGB_RMOD, RGB_SPI
|
||||
),
|
||||
|
||||
|
||||
[2] = LAYOUT(
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||
),
|
||||
|
||||
[3] = LAYOUT(
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||
),
|
||||
|
||||
|
||||
};
|
||||
// clang-format on
|
||||
|
||||
/* encoder; start */
|
||||
#if defined(ENCODER_MAP_ENABLE)
|
||||
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
|
||||
[0] = { ENCODER_CCW_CW(KC_VOLU, KC_VOLD) },
|
||||
[1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
|
||||
[2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
|
||||
[3] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }
|
||||
};
|
||||
#endif
|
2
keyboards/gmmk/pro/rev2/iso/keymaps/via/rules.mk
Normal file
2
keyboards/gmmk/pro/rev2/iso/keymaps/via/rules.mk
Normal file
|
@ -0,0 +1,2 @@
|
|||
VIA_ENABLE = yes
|
||||
ENCODER_MAP_ENABLE = yes
|
37
keyboards/gmmk/pro/rev2/iso/readme.md
Normal file
37
keyboards/gmmk/pro/rev2/iso/readme.md
Normal file
|
@ -0,0 +1,37 @@
|
|||
# GMMK PRO (ISO)
|
||||
|
||||
A tenkeyless 75% keyboard made and sold by Glorious LLC. Equipped with the WestBerry G7 ARM Cortex-M4 microcontroller, with support for rotary encoders and three additional layouts. [More info at Glorious](https://www.pcgamingrace.com/products/glorious-gmmk-pro-75-barebone-iso-black-slate)
|
||||
|
||||
* Keyboard Maintainer: [GloriousThrall](https://github.com/GloriousThrall)
|
||||
* Hardware Supported: GMMK Pro
|
||||
* Hardware Availability: [GloriousPCGaming.com](https://www.pcgamingrace.com/products/glorious-gmmk-pro-75-barebone-iso-black-slate)
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make gmmk/pro/rev2/iso:default
|
||||
|
||||
Flashing example for this keyboard:
|
||||
|
||||
make gmmk/pro/rev2/iso:default:flash
|
||||
|
||||
To reset the board into bootloader mode, do one of the following:
|
||||
|
||||
* Hold the Reset switch mounted on the bottom side of the PCB while connecting the USB cable
|
||||
* Hold the Escape key while connecting the USB cable (also erases persistent settings)
|
||||
* Fn+Backspace will reset the board to bootloader mode if you have flashed the default QMK keymap
|
||||
|
||||
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
|
||||
|
||||
## Case Screw Replacements
|
||||
|
||||
Many users report stripped case screws when disassembling the board.
|
||||
|
||||
The stock case screws are:
|
||||
* Thread: M2
|
||||
* Thread length: ~5 mm
|
||||
* Head diameter: ~3.8 mm
|
||||
* Head counterbore diameter: ~4.0 mm
|
||||
* Head counterbore depth: ~1.9 mm
|
||||
|
||||
Most M2x5mm screws should fit fine, although it's best to ensure that the screw head will fit inside the counterbore.
|
||||
For reference, [this hex socket head screw](https://www.mcmaster.com/91292A005/) from McMaster-Carr should fit nearly flush (head will protrude above the counterbore by ~0.1 mm).
|
26
keyboards/gmmk/pro/rev2/iso/rules.mk
Normal file
26
keyboards/gmmk/pro/rev2/iso/rules.mk
Normal file
|
@ -0,0 +1,26 @@
|
|||
# MCU name
|
||||
MCU = WB32F3G71
|
||||
|
||||
# Bootloader selection
|
||||
BOOTLOADER = wb32-dfu
|
||||
|
||||
# Build Options
|
||||
# change yes to no to disable
|
||||
#
|
||||
BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
|
||||
MOUSEKEY_ENABLE = yes # Mouse keys
|
||||
EXTRAKEY_ENABLE = yes # Audio control and System control
|
||||
CONSOLE_ENABLE = no # Console for debug
|
||||
COMMAND_ENABLE = no # Commands for debug and configuration
|
||||
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
|
||||
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
|
||||
# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
|
||||
NKRO_ENABLE = yes # USB Nkey Rollover
|
||||
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
|
||||
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
|
||||
AUDIO_ENABLE = no # Audio output
|
||||
ENCODER_ENABLE = yes
|
||||
RGB_MATRIX_ENABLE = yes
|
||||
RGB_MATRIX_DRIVER = AW20216
|
||||
EEPROM_DRIVER = wear_leveling
|
||||
WEAR_LEVELING_DRIVER = spi_flash
|
22
keyboards/gmmk/pro/rev2/mcuconf.h
Normal file
22
keyboards/gmmk/pro/rev2/mcuconf.h
Normal file
|
@ -0,0 +1,22 @@
|
|||
/* 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/>.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include_next <mcuconf.h>
|
||||
|
||||
#undef WB32_SPI_USE_QSPI
|
||||
#define WB32_SPI_USE_QSPI TRUE
|
Loading…
Reference in a new issue