summaryrefslogtreecommitdiff
path: root/keyboards/gmmk/pro/rev1/ansi/keymaps/trwnh/keymap.c
blob: 22288f2d2ce07312243ebb92cdafa7a0388a9f69 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
// Copyright 2021 a (@trwnh on Github)
// SPDX-License-Identifier: GPL-2.0-or-later

#include QMK_KEYBOARD_H

// clang-format off
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {

	[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_KB_POWER, KC_F13,  KC_F14,  KC_F15,  KC_F16,  KC_F17,  KC_F18,  KC_F19,  KC_F20,  KC_F21,  KC_F22,  KC_F23,  KC_F24,  _______,          _______,
		_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,          KC_INS,
		_______, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______,          KC_PAUS,
		_______, RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______,          _______,          KC_SCRL,
		KC_MSTP, RGB_MOD, RGB_RMOD,_______, _______, _______, NK_TOGG, _______, _______, _______, _______,                   _______, KC_PGUP, KC_APP,
		KC_MPRV, KC_MPLY, KC_MNXT,                            QK_BOOT,                              MO(2),   _______, _______, KC_HOME, KC_PGDN, KC_END
	),

	[2] = LAYOUT(
		_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,          KC_BTN3,
		_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,          _______,
		_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,          _______,
		_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,          KC_BTN1,          _______,
		_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,                   KC_BTN2, KC_MS_U, _______,
		_______, _______, _______,                            _______,                            _______, _______, _______, KC_MS_L, KC_MS_D, KC_MS_R
	),


};

#if defined(ENCODER_ENABLE) && defined(ENCODER_MAP_ENABLE)
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
    [0] =  { ENCODER_CCW_CW(KC_VOLD, KC_VOLU)  },
    [1] =  { ENCODER_CCW_CW(KC_BRIGHTNESS_DOWN, KC_BRIGHTNESS_UP) },
    [2] =  { ENCODER_CCW_CW(KC_MS_WH_UP, KC_MS_WH_DOWN) },
};
#endif
// clang-format on

// RGB led number layout, function of the key

//  67, led 01   0, ESC    6, F1      12, F2      18, F3   23, F4   28, F5      34, F6   39, F7   44, F8      50, F9   56, F10   61, F11    66, F12    69, Prt       Rotary(Mute)   68, led 12
//  70, led 02   1, ~      7, 1       13, 2       19, 3    24, 4    29, 5       35, 6    40, 7    45, 8       51, 9    57, 0     62, -_     78, (=+)   85, BackSpc   72, Home       71, led 13
//  73, led 03   2, Tab    8, Q       14, W       20. E    25, R    30, T       36, Y    41, U    46, I       52, O    58, P     63, [{     89, ]}     93, \|        75, PgUp       74, led 14
//  76, led 04   3, Caps   9, A       15, S       21, D    26, F    31, G       37, H    42, J    47, K       53, L    59, ;:    64, '"                96, Enter     86, PgDn       77, led 15
//  80, led 05   4, Sh_L   10, Z      16, X       22, C    27, V    32, B       38, N    43, M    48, ,<      54, .<   60, /?               90, Sh_R   94, Up        82, End        81, led 16
//  83, led 06   5, Ct_L   11,Win_L   17, Alt_L                     33, SPACE                     49, Alt_R   55, FN             65, Ct_R   95, Left   97, Down      79, Right      84, led 17
//  87, led 07                                                                                                                                                                      88, led 18
//  91, led 08   

#ifdef RGB_MATRIX_ENABLE
	static void set_rgb_caps_leds_on(void);
	static void set_rgb_scroll_leds_on(void);
	static void set_rgb_caps_leds_off(void);
	static void set_rgb_scroll_leds_off(void);

	static void set_rgb_caps_leds_on() {
		// Set alpha and capslock to red

		rgb_matrix_set_color( 3, 255, 0, 0);	// Caps

		rgb_matrix_set_color( 8, 255, 0, 0);	// Q
		rgb_matrix_set_color(14, 255, 0, 0);	// W
		rgb_matrix_set_color(20, 255, 0, 0);	// E
		rgb_matrix_set_color(25, 255, 0, 0);	// R
		rgb_matrix_set_color(30, 255, 0, 0);	// T
		rgb_matrix_set_color(36, 255, 0, 0);	// Y
		rgb_matrix_set_color(41, 255, 0, 0);	// U
		rgb_matrix_set_color(46, 255, 0, 0);	// I
		rgb_matrix_set_color(52, 255, 0, 0);	// O
		rgb_matrix_set_color(58, 255, 0, 0);	// P

		rgb_matrix_set_color( 9, 255, 0, 0);	// A
		rgb_matrix_set_color(15, 255, 0, 0);	// S
		rgb_matrix_set_color(21, 255, 0, 0);	// D
		rgb_matrix_set_color(26, 255, 0, 0);	// F
		rgb_matrix_set_color(31, 255, 0, 0);	// G
		rgb_matrix_set_color(37, 255, 0, 0);	// H
		rgb_matrix_set_color(42, 255, 0, 0);	// J
		rgb_matrix_set_color(47, 255, 0, 0);	// K
		rgb_matrix_set_color(53, 255, 0, 0);	// L

		rgb_matrix_set_color(10, 255, 0, 0);	// Z
		rgb_matrix_set_color(16, 255, 0, 0);	// X
		rgb_matrix_set_color(22, 255, 0, 0);	// C
		rgb_matrix_set_color(27, 255, 0, 0);	// V
		rgb_matrix_set_color(32, 255, 0, 0);	// B
		rgb_matrix_set_color(38, 255, 0, 0);	// N
		rgb_matrix_set_color(43, 255, 0, 0);	// M
	}

	static void set_rgb_caps_leds_off() {
		// Set alpha and capslock to black

		rgb_matrix_set_color( 3, 0, 0, 0);	// Caps

		rgb_matrix_set_color( 8, 0, 0, 0);	// Q
		rgb_matrix_set_color(14, 0, 0, 0);	// W
		rgb_matrix_set_color(20, 0, 0, 0);	// E
		rgb_matrix_set_color(25, 0, 0, 0);	// R
		rgb_matrix_set_color(30, 0, 0, 0);	// T
		rgb_matrix_set_color(36, 0, 0, 0);	// Y
		rgb_matrix_set_color(41, 0, 0, 0);	// U
		rgb_matrix_set_color(46, 0, 0, 0);	// I
		rgb_matrix_set_color(52, 0, 0, 0);	// O
		rgb_matrix_set_color(58, 0, 0, 0);	// P

		rgb_matrix_set_color( 9, 0, 0, 0);	// A
		rgb_matrix_set_color(15, 0, 0, 0);	// S
		rgb_matrix_set_color(21, 0, 0, 0);	// D
		rgb_matrix_set_color(26, 0, 0, 0);	// F
		rgb_matrix_set_color(31, 0, 0, 0);	// G
		rgb_matrix_set_color(37, 0, 0, 0);	// H
		rgb_matrix_set_color(42, 0, 0, 0);	// J
		rgb_matrix_set_color(47, 0, 0, 0);	// K
		rgb_matrix_set_color(53, 0, 0, 0);	// L

		rgb_matrix_set_color(10, 0, 0, 0);	// Z
		rgb_matrix_set_color(16, 0, 0, 0);	// X
		rgb_matrix_set_color(22, 0, 0, 0);	// C
		rgb_matrix_set_color(27, 0, 0, 0);	// V
		rgb_matrix_set_color(32, 0, 0, 0);	// B
		rgb_matrix_set_color(38, 0, 0, 0);	// N
		rgb_matrix_set_color(43, 0, 0, 0);	// M
	}

	static void set_rgb_scroll_leds_on() { 
		rgb_matrix_set_color(72, 255, 255, 255); // Under Rotary (HOME)
	}

	static void set_rgb_scroll_leds_off() { 
		rgb_matrix_set_color(72, 0, 0, 0); // Under Rotary (HOME)
	}

	void rgb_matrix_indicators_user(void) {
		// Left side rainbow
		rgb_matrix_set_color(67, 255,   0,   0);	// Left LED 01
		rgb_matrix_set_color(70, 255, 127,   0);	// Left LED 02
		rgb_matrix_set_color(73, 255, 255,   0);	// Left LED 03
		rgb_matrix_set_color(76,   0, 255,   0);	// Left LED 04
		rgb_matrix_set_color(80,   0,   0, 255);	// Left LED 05
		rgb_matrix_set_color(83,  46,  43,  95);	// Left LED 06
		rgb_matrix_set_color(87, 139,   0, 255);	// Left LED 07
		rgb_matrix_set_color(91, 255, 255, 255);	// Left LED 08

		// Right side rainbow
		rgb_matrix_set_color(68, 255,   0,   0);	// Right LED 12
		rgb_matrix_set_color(71, 255, 127,   0);	// Right LED 13
		rgb_matrix_set_color(74, 255, 255,   0);	// Right LED 14
		rgb_matrix_set_color(77,   0, 255,   0);	// Right LED 15
		rgb_matrix_set_color(81,   0,   0, 255);	// Right LED 16
		rgb_matrix_set_color(84,  46,  43,  95);	// Right LED 17
		rgb_matrix_set_color(88, 139,   0, 255);	// Right LED 18
		rgb_matrix_set_color(92, 255, 255, 255);	// Right LED 19

		if (host_keyboard_led_state().caps_lock) {
			set_rgb_caps_leds_on();
		} else {
			if (rgb_matrix_get_flags() == LED_FLAG_NONE){
			set_rgb_caps_leds_off();
			}
		}
		if (host_keyboard_led_state().scroll_lock) {
			set_rgb_scroll_leds_on();
		} else {
			if (rgb_matrix_get_flags() == LED_FLAG_NONE){
			set_rgb_scroll_leds_off();
			}
		}
	}

#endif // RGB_MATRIX_ENABLE