7 void matrix_init_keymap(void) {}
10 void matrix_scan_keymap(void) {}
12 __attribute__ ((weak))
13 bool process_record_keymap(uint16_t keycode, keyrecord_t *record) {
18 void matrix_init_user(void) {
19 #ifdef RGBLIGHT_ENABLE
20 uint8_t default_layer = eeconfig_read_default_layer();
25 if (default_layer & (1UL << _COLEMAK)) {
28 else if (default_layer & (1UL << _DVORAK)) {
31 else if (default_layer & (1UL << _WORKMAN)) {
47 void matrix_scan_user(void) {
52 float tone_qwerty[][2] = SONG(QWERTY_SOUND);
53 float tone_dvorak[][2] = SONG(DVORAK_SOUND);
54 float tone_colemak[][2] = SONG(COLEMAK_SOUND);
55 float tone_workman[][2] = SONG(PLOVER_SOUND);
59 void persistent_default_layer_set(uint16_t default_layer) {
60 eeconfig_update_default_layer(default_layer);
61 default_layer_set(default_layer);
65 bool process_record_user(uint16_t keycode, keyrecord_t *record) {
75 xprintf("KL: row: %u, column: %u, pressed: %u\n", record->event.key.col, record->event.key.row, record->event.pressed);
80 if (record->event.pressed) {
82 PLAY_SONG(tone_qwerty);
84 persistent_default_layer_set(1UL << _QWERTY);
89 if (record->event.pressed) {
91 PLAY_SONG(tone_colemak);
93 persistent_default_layer_set(1UL << _COLEMAK);
98 if (record->event.pressed) {
100 PLAY_SONG(tone_dvorak);
102 persistent_default_layer_set(1UL << _DVORAK);
107 if (record->event.pressed) {
109 PLAY_SONG(tone_workman);
111 persistent_default_layer_set(1UL << _WORKMAN);
116 if (record->event.pressed) {
118 update_tri_layer(_LOWER, _RAISE, _ADJUST);
122 update_tri_layer(_LOWER, _RAISE, _ADJUST);
127 if (record->event.pressed) {
129 update_tri_layer(_LOWER, _RAISE, _ADJUST);
133 update_tri_layer(_LOWER, _RAISE, _ADJUST);
138 if (record->event.pressed) {
147 if (record->event.pressed) {
148 is_overwatch = !is_overwatch;
150 #ifdef RGBLIGHT_ENABLE
151 is_overwatch ? rgblight_mode(17) : rgblight_mode(18);
156 if (!record->event.pressed) {
160 SEND_STRING("Salt, salt, salt...");
161 register_code(KC_ENTER);
162 unregister_code(KC_ENTER);
167 if (!record->event.pressed) {
171 SEND_STRING("Please sir, can I have some more salt?!");
172 register_code(KC_ENTER);
173 unregister_code(KC_ENTER);
178 if (!record->event.pressed) {
182 SEND_STRING("Your salt only makes my penis that much harder, and even more aggressive!");
183 register_code(KC_ENTER);
184 unregister_code(KC_ENTER);
189 if (!record->event.pressed) {
193 SEND_STRING("Good game, everyone!");
194 register_code(KC_ENTER);
195 unregister_code(KC_ENTER);
200 if (!record->event.pressed) {
204 SEND_STRING("Good luck, have fun!!!");
205 register_code(KC_ENTER);
206 unregister_code(KC_ENTER);
211 if (!record->event.pressed) {
215 SEND_STRING("Left click to win!");
216 register_code(KC_ENTER);
217 unregister_code(KC_ENTER);
222 if (!record->event.pressed) {
226 SEND_STRING("Hey, look at me. I'm Doomfist, and I'm overpowered! All I do is spam punches all day! I'm DPS, tank and defense, rolled into one! All I need is team healing to be complete!");
227 register_code(KC_ENTER);
228 unregister_code(KC_ENTER);
233 if (!record->event.pressed) {
237 SEND_STRING("It may be a game, but if you don't want to actually try, please go play AI, so that people that actually want to take the game seriously and \"get good\" have a place to do so without trolls like you throwing games.");
238 register_code(KC_ENTER);
239 unregister_code(KC_ENTER);
244 if (!record->event.pressed) {
248 SEND_STRING("That was positively riveting!");
249 register_code(KC_ENTER);
250 unregister_code(KC_ENTER);
255 if (!record->event.pressed) {
259 SEND_STRING("That aim is absolutely amazing. It's almost like you're a machine!" SS_TAP(X_ENTER));
261 SEND_STRING("Wait! That aim is TOO good! You're clearly using an aim hack! CHEATER!" SS_TAP(X_ENTER));
266 if (!record->event.pressed) {
267 #ifdef RGBLIGHT_ENABLE
268 SEND_STRING("make " QMK_KEYBOARD ":" QMK_KEYMAP " RGBLIGHT_ENABLE=yes" SS_TAP(X_ENTER));
270 SEND_STRING("make " QMK_KEYBOARD ":" QMK_KEYMAP " RGBLIGHT_ENABLE=no"SS_TAP(X_ENTER));
276 if (!record->event.pressed) {
277 #ifdef RGBLIGHT_ENABLE
280 rgblight_setrgb(0xff, 0x00, 0x00);
287 if (record->event.pressed) {
293 if (record->event.pressed) {
294 SEND_STRING(QMK_KEYBOARD "/" QMK_KEYMAP " @ " QMK_VERSION);
299 if (!record->event.pressed) {
300 register_code(KC_P0);
301 unregister_code(KC_P0);
302 register_code(KC_P0);
303 unregister_code(KC_P0);
308 return process_record_keymap(keycode, record);
312 uint32_t layer_state_set_kb(uint32_t state) {
313 #ifdef RGBLIGHT_ENABLE
314 uint8_t default_layer = eeconfig_read_default_layer();
316 switch (biton32(state)) {
331 is_overwatch ? rgblight_mode(17) : rgblight_mode(18);
362 if (default_layer & (1UL << _COLEMAK)) {
363 rgblight_set_magenta;
365 else if (default_layer & (1UL << _DVORAK)) {
368 else if (default_layer & (1UL << _WORKMAN)) {