#include "d4mation.h" #include "tap-hold.h" #include "zalgo.h" #include "macros.h" bool zalgo_enabled = false; bool process_record_user( uint16_t keycode, keyrecord_t *record ) { switch ( keycode ) { case _GRAVE_ESC: /* Send ` on Tap, Esc on Hold */ tap_or_hold( record, KC_GRAVE, KC_ESC ); return false; break; case PHPOPEN: if ( record->event.pressed ) { tap_code16( S( KC_COMMA ) ); tap_code16( S( KC_SLASH ) ); tap_code( KC_P ); tap_code( KC_H ); tap_code( KC_P ); } return false; break; case PHPCLSE: if ( record->event.pressed ) { tap_code16( S( KC_SLASH ) ); tap_code16( S( KC_DOT ) ); } return false; break; #ifdef UNICODE_ENABLE case AMENO: if ( record->event.pressed ) { send_unicode_string( "༼ つ ◕_◕ ༽つ" ); } return false; break; case MAGIC: if ( record->event.pressed ) { send_unicode_string( "(∩ ͡° ͜ʖ ͡°)⊃━☆゚. *" ); } return false; break; case LENNY: if ( record->event.pressed ) { send_unicode_string( "( ͡° ͜ʖ ͡°)" ); } return false; break; case DISFACE: if ( record->event.pressed ) { send_unicode_string( "ಠ_ಠ" ); } return false; break; case TFLIP: if ( record->event.pressed ) { send_unicode_string( "(╯°□°)╯︵┻━┻" ); } return false; break; case TPUT: if ( record->event.pressed ) { send_unicode_string( "┬──┬ ノ( ゜-゜ノ)" ); } return false; break; case SHRUG: if ( record->event.pressed ) { send_unicode_string( "¯\\_(ツ)_/¯" ); } return false; break; case ZALGO: /* Toggles Zalgo Text mode */ if ( record->event.pressed ) { zalgo_enabled = ! zalgo_enabled; } return false; break; #endif default: #ifdef UNICODE_ENABLE if ( zalgo_enabled ) { if ( keycode < KC_A || ( keycode > KC_0 && keycode < KC_MINUS ) || keycode > KC_SLASH ) { process_record_keymap( keycode, record ); return true; } if ( record->event.pressed ) { zalgo_text( keycode ); } return false; } #endif break; } process_record_keymap( keycode, record ); return true; };