diff options
Diffstat (limited to 'keyboards/massdrop/ctrl/keymaps/r-pufky/keymap.c')
-rw-r--r-- | keyboards/massdrop/ctrl/keymaps/r-pufky/keymap.c | 105 |
1 files changed, 67 insertions, 38 deletions
diff --git a/keyboards/massdrop/ctrl/keymaps/r-pufky/keymap.c b/keyboards/massdrop/ctrl/keymaps/r-pufky/keymap.c index d523dba89..824725756 100644 --- a/keyboards/massdrop/ctrl/keymaps/r-pufky/keymap.c +++ b/keyboards/massdrop/ctrl/keymaps/r-pufky/keymap.c | |||
@@ -16,6 +16,9 @@ | |||
16 | 16 | ||
17 | #include QMK_KEYBOARD_H | 17 | #include QMK_KEYBOARD_H |
18 | 18 | ||
19 | #define BASE 0 | ||
20 | #define GAME 1 | ||
21 | #define CTRL 2 | ||
19 | #define MODS_SHIFT (get_mods() & MOD_MASK_SHIFT) | 22 | #define MODS_SHIFT (get_mods() & MOD_MASK_SHIFT) |
20 | #define MODS_CTRL (get_mods() & MOD_MASK_CTRL) | 23 | #define MODS_CTRL (get_mods() & MOD_MASK_CTRL) |
21 | #define MODS_ALT (get_mods() & MOD_MASK_ALT) | 24 | #define MODS_ALT (get_mods() & MOD_MASK_ALT) |
@@ -43,34 +46,60 @@ enum ctrl_keycodes { | |||
43 | }; | 46 | }; |
44 | 47 | ||
45 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | 48 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { |
46 | [0] = LAYOUT( | 49 | [BASE] = LAYOUT( |
47 | 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_SLCK, KC_PAUS, | 50 | 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_SLCK, KC_PAUS, |
48 | 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, | 51 | 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, |
49 | 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, | 52 | 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, |
50 | KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, | 53 | KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, |
51 | 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, | 54 | 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, |
52 | KC_NLCK, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_F24, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT | 55 | KC_NLCK, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(CTRL), KC_F24, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT |
53 | ), | 56 | ), |
54 | [1] = LAYOUT( | 57 | [GAME] = LAYOUT( |
55 | KC_EJCT, 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_MUTE, _______, _______, | 58 | 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_SLCK, KC_PAUS, |
56 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPLY, KC_MSTP, KC_VOLU, | 59 | 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, |
57 | _______, RGB_SPD, RGB_VAI, RGB_SPI, RGB_HUI, RGB_SAI, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_MNXT, KC_VOLD, | 60 | 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, |
58 | KC_CAPS, RGB_RMOD,RGB_VAD, RGB_MOD, RGB_HUD, RGB_SAD, _______, _______, _______, _______, _______, _______, _______, | 61 | KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, |
59 | _______, RGB_TOG, _______, _______, _______, MD_BOOT, NK_TOGG, _______, _______, _______, _______, _______, KC_BRIU, | 62 | 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, |
60 | _______, _______, _______, _______, _______, _______, _______, _______, KC_MRWD, KC_BRID, KC_MFFD | 63 | KC_HOME, KC_END, KC_LALT, KC_SPC, KC_RALT, MO(CTRL), KC_F24, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT |
64 | ), | ||
65 | [CTRL] = LAYOUT( | ||
66 | KC_EJCT, 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_MUTE, _______, _______, | ||
67 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPLY, KC_MSTP, KC_VOLU, | ||
68 | _______, RGB_SPD, RGB_VAI, RGB_SPI, RGB_HUI, RGB_SAI, _______, _______, _______, _______, _______, TO(BASE), TO(GAME), _______, KC_MPRV, KC_MNXT, KC_VOLD, | ||
69 | KC_CAPS, RGB_RMOD, RGB_VAD, RGB_MOD, RGB_HUD, RGB_SAD, _______, _______, _______, _______, _______, _______, _______, | ||
70 | _______, RGB_TOG, _______, _______, _______, MD_BOOT, NK_TOGG, _______, _______, _______, _______, _______, KC_BRIU, | ||
71 | _______, _______, _______, _______, _______, _______, _______, _______, KC_MRWD, KC_BRID, KC_MFFD | ||
61 | ), | 72 | ), |
62 | }; | 73 | }; |
63 | 74 | ||
64 | // Init keyboard static color with underglow off. | 75 | // Init keyboard static color with underglow off. |
65 | void matrix_init_user(void) { | 76 | void matrix_init_user(void) { |
66 | rgblight_sethsv(HSV_BACKLIGHT_COLOR); | 77 | rgblight_sethsv(HSV_BACKLIGHT_COLOR); |
67 | rgb_matrix_set_flags(LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER | LED_FLAG_INDICATOR); | 78 | rgb_matrix_set_flags(LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER | LED_FLAG_INDICATOR); |
68 | }; | 79 | }; |
69 | 80 | ||
70 | // Runs constantly in the background, in a loop. | 81 | // Runs constantly in the background, in a loop. |
71 | void matrix_scan_user(void) { | 82 | void matrix_scan_user(void) { |
72 | }; | 83 | }; |
73 | 84 | ||
85 | // Set backlight color based on active layer | ||
86 | layer_state_t layer_state_set_user(layer_state_t state) { | ||
87 | switch (get_highest_layer(state)) { | ||
88 | case GAME: { | ||
89 | rgblight_sethsv_noeeprom(HSV_GAME_COLOR); | ||
90 | break; | ||
91 | } | ||
92 | case CTRL: { | ||
93 | rgblight_sethsv_noeeprom(HSV_CONTROL_COLOR); | ||
94 | break; | ||
95 | } | ||
96 | default: | ||
97 | rgblight_sethsv_noeeprom(HSV_BACKLIGHT_COLOR); | ||
98 | break; | ||
99 | } | ||
100 | return state; | ||
101 | } | ||
102 | |||
74 | bool process_record_user(uint16_t keycode, keyrecord_t *record) { | 103 | bool process_record_user(uint16_t keycode, keyrecord_t *record) { |
75 | static uint32_t key_timer; | 104 | static uint32_t key_timer; |
76 | 105 | ||
@@ -116,28 +145,28 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { | |||
116 | return false; | 145 | return false; |
117 | case RGB_TOG: | 146 | case RGB_TOG: |
118 | if (record->event.pressed) { | 147 | if (record->event.pressed) { |
119 | switch (rgb_matrix_get_flags()) { | 148 | switch (rgb_matrix_get_flags()) { |
120 | case LED_FLAG_ALL: { | 149 | case LED_FLAG_ALL: { |
121 | rgb_matrix_set_flags(LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER | LED_FLAG_INDICATOR); | 150 | rgb_matrix_set_flags(LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER | LED_FLAG_INDICATOR); |
122 | rgb_matrix_set_color_all(RGB_OFF); | 151 | rgb_matrix_set_color_all(RGB_OFF); |
123 | } | 152 | } |
124 | break; | 153 | break; |
125 | case (LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER | LED_FLAG_INDICATOR): { | 154 | case (LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER | LED_FLAG_INDICATOR): { |
126 | rgb_matrix_set_flags(LED_FLAG_UNDERGLOW); | 155 | rgb_matrix_set_flags(LED_FLAG_UNDERGLOW); |
127 | rgb_matrix_set_color_all(RGB_OFF); | 156 | rgb_matrix_set_color_all(RGB_OFF); |
128 | } | 157 | } |
129 | break; | 158 | break; |
130 | case LED_FLAG_UNDERGLOW: { | 159 | case LED_FLAG_UNDERGLOW: { |
131 | rgb_matrix_set_flags(LED_FLAG_NONE); | 160 | rgb_matrix_set_flags(LED_FLAG_NONE); |
132 | rgb_matrix_disable_noeeprom(); | 161 | rgb_matrix_disable_noeeprom(); |
133 | } | 162 | } |
134 | break; | 163 | break; |
135 | default: { | 164 | default: { |
136 | rgb_matrix_set_flags(LED_FLAG_ALL); | 165 | rgb_matrix_set_flags(LED_FLAG_ALL); |
137 | rgb_matrix_enable_noeeprom(); | 166 | rgb_matrix_enable_noeeprom(); |
138 | } | 167 | } |
139 | break; | 168 | break; |
140 | } | 169 | } |
141 | } | 170 | } |
142 | return false; | 171 | return false; |
143 | default: | 172 | default: |