fcdf29e4ee2bb1574ee8fd74ed31890fa228d7d2
1 #include QMK_KEYBOARD_H
2 extern bool g_suspend_state
;
8 const uint16_t PROGMEM keymaps
[][MATRIX_ROWS
][MATRIX_COLS
] = {
9 [_LAYER0
] = LAYOUT_ANSI( /* Base */
10 KC_GESC
, 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
,\
11 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_BSLASH
,\
12 CTL_T(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
, \
13 KC_LSFT
, KC_Z
, KC_X
, KC_C
, KC_V
, KC_B
, KC_N
, KC_M
, KC_COMM
, KC_DOT
, KC_SLSH
, KC_RSFT
, \
14 KC_LCTL
, KC_LGUI
, KC_LALT
, KC_SPC
, KC_RALT
, MO(1), MO(2), KC_RCTL
),
15 [_LAYER1
] = LAYOUT_ANSI( /* FN */
16 KC_GESC
, 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_DEL
,\
17 KC_TRNS
, KC_TRNS
, KC_UP
, KC_TRNS
, KC_TRNS
, KC_TRNS
, KC_CALC
, KC_TRNS
, KC_INS
, KC_TRNS
, KC_PSCR
, KC_SLCK
, KC_PAUS
, RESET
,\
18 KC_TRNS
, KC_LEFT
, KC_DOWN
, KC_RIGHT
, KC_TRNS
, KC_TRNS
, KC_TRNS
, KC_TRNS
, KC_TRNS
, KC_TRNS
, KC_HOME
, KC_PGUP
, KC_TRNS
,\
19 KC_MPRV
, KC_VOLD
, KC_VOLU
, KC_MUTE
, KC_TRNS
, KC_TRNS
, KC_TRNS
, KC_TRNS
, KC_TRNS
, KC_END
, KC_PGDOWN
,KC_MNXT
, \
20 KC_TRNS
, KC_TRNS
, KC_TRNS
, TO(3), KC_TRNS
, KC_TRNS
, KC_TRNS
, KC_TRNS
),
21 [_LAYER2
] = LAYOUT_ANSI( /* FN2 */
22 KC_TRNS
, 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_DEL
,\
23 KC_TRNS
, RGB_TOG
, KC_TRNS
, RGB_HUI
, RGB_HUD
, RGB_SAI
, RGB_SAD
, RGB_VAI
, RGB_VAD
, RGB_MOD
, KC_TRNS
, KC_TRNS
, KC_TRNS
, RESET
,\
24 KC_TRNS
, KC_TRNS
, KC_TRNS
, KC_TRNS
, KC_TRNS
, KC_TRNS
, KC_TRNS
, KC_TRNS
, RGB_SPI
, RGB_SPD
, KC_TRNS
, KC_TRNS
, KC_TRNS
,\
25 KC_TRNS
, KC_TRNS
, KC_TRNS
, KC_TRNS
, KC_TRNS
, KC_TRNS
, KC_TRNS
, KC_TRNS
, KC_TRNS
, KC_TRNS
, KC_TRNS
, KC_TRNS
, \
26 KC_TRNS
, KC_TRNS
, KC_TRNS
, KC_TRNS
, KC_TRNS
, KC_TRNS
, KC_TRNS
, KC_TRNS
),
27 [_LAYER3
] = LAYOUT_ANSI( /* FN3 */
28 KC_GESC
, 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
,\
29 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_BSLASH
,\
30 CTL_T(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
, \
31 KC_LSFT
, KC_Z
, KC_X
, KC_C
, KC_V
, KC_B
, KC_N
, KC_M
, KC_COMM
, KC_DOT
, KC_SLSH
, KC_RSFT
, \
32 KC_LCTL
, KC_LALT
, KC_LGUI
, KC_SPC
, KC_TRNS
,MO(4), KC_RALT
, KC_RCTL
),
33 [_LAYER4
] = LAYOUT_ANSI( /* FN4 */
34 KC_GESC
, 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_DEL
,\
35 KC_TRNS
, RGB_TOG
, KC_TRNS
, RGB_HUI
, RGB_HUD
, RGB_SAI
, RGB_SAD
, RGB_VAI
, RGB_VAD
, RGB_MOD
, KC_PSCR
, KC_SLCK
, KC_PAUS
, RESET
,\
36 KC_TRNS
, KC_LEFT
, KC_DOWN
, KC_UP
, KC_RIGHT
, KC_TRNS
, KC_TRNS
, KC_TRNS
, RGB_SPI
, RGB_SPD
, KC_HOME
, KC_PGUP
, KC_TRNS
,\
37 KC_MPRV
, KC_VOLD
, KC_VOLU
, KC_MUTE
, KC_TRNS
, KC_TRNS
, KC_TRNS
, KC_TRNS
, KC_TRNS
, KC_END
, KC_PGDOWN
,KC_MNXT
, \
38 KC_TRNS
, KC_TRNS
, KC_TRNS
, TO(0), KC_TRNS
, KC_TRNS
, KC_TRNS
, KC_TRNS
),
41 void rgb_matrix_layer_helper (uint8_t red
, uint8_t green
, uint8_t blue
, bool default_layer
) {
43 for (int i
= 0; i
< DRIVER_LED_TOTAL
; i
++) {
45 if (led
.matrix_co
.raw
< 0xFF) {
47 rgb_matrix_set_color( i
, red
, green
, blue
);
53 void rgb_matrix_indicators_user(void) {
54 uint8_t this_led
= host_keyboard_leds();
55 if (!g_suspend_state
) {
56 switch (biton32(layer_state
)) {
58 rgb_matrix_layer_helper(0xFF, 0x00, 0x00, false); break;
60 rgb_matrix_layer_helper(0x00, 0xFF, 0x00, false); break;
62 rgb_matrix_layer_helper(0x00, 0x00, 0xFF, false); break;
64 rgb_matrix_layer_helper(0xFF, 0xFF, 0x00, false); break;
67 if ( this_led
& (1<<USB_LED_CAPS_LOCK
)) {
68 rgb_matrix_set_color(40, 0xFF, 0xFF, 0xFF);
73 void matrix_init_user(void) {
77 void matrix_scan_user(void) {
81 bool process_record_user(uint16_t keycode
, keyrecord_t
*record
) {