From f42dd61b8d29f71af2ce479064c64c96fef55ad4 Mon Sep 17 00:00:00 2001 From: Eric Defore Date: Wed, 18 Dec 2019 03:59:12 -0500 Subject: [Keymap] Added userspace for d4mation. Included their keymap for the Atreus62 (#7483) * Added userspace for d4mation. Included their keymap for the Atreus62 * Do not assign layer numbers manually * Remove some unneeded things per @drashna's recommendation * Fix some single line comments I missed * Update unicode macros to use send_unicode_hex_string() instead of process_unicode() * OBetter check for Unicode Enabled. Moved some checks into macros.c * Use eeconfig_init_user() to set default unicode input mode --- users/d4mation/macros.c | 160 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 160 insertions(+) create mode 100644 users/d4mation/macros.c (limited to 'users/d4mation/macros.c') diff --git a/users/d4mation/macros.c b/users/d4mation/macros.c new file mode 100644 index 0000000000..3c115d7ead --- /dev/null +++ b/users/d4mation/macros.c @@ -0,0 +1,160 @@ +#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_hex_string( "0F3C 0020 3064 0020 25D5 005F 25D5 0020 0F3D 3064" ); + + } + + return false; + break; + + case MAGIC: /* (∩ ͡° ͜ʖ ͡°)⊃━☆゚. * */ + + if ( record->event.pressed ) { + + send_unicode_hex_string( "0028 2229 0020 0361 00B0 0020 035C 0296 0020 0361 00B0 0029 2283 2501 2606 FF9F 002E 0020 002A" ); + + } + + return false; + break; + + case LENNY: /* ( ͡° ͜ʖ ͡°) */ + + if ( record->event.pressed ) { + + send_unicode_hex_string( "0028 0020 0361 00B0 0020 035C 0296 0020 0361 00b0 0029" ); + + } + + return false; + break; + + case DISFACE: /* ಠ_ಠ */ + + if ( record->event.pressed ) { + send_unicode_hex_string( "0CA0 005F 0CA0" ); + } + + return false; + break; + + case TFLIP: /* (╯°□°)╯ ︵ ┻━┻ */ + + if ( record->event.pressed ) { + + send_unicode_hex_string( "0028 256F 00b0 25A1 00B0 0029 256F FE35 253B 2501 253B" ); + + } + + return false; + break; + + case TPUT: /* ┬──┬ ノ( ゜-゜ノ) */ + + if ( record->event.pressed ) { + + send_unicode_hex_string( "252C 2500 2500 252C 0020 30CE 0028 0020 309C 002D 309C 30CE 0029" ); + + } + + return false; + break; + + case SHRUG: /* ¯\_(ツ)_/¯ */ + + if ( record->event.pressed ) { + + send_unicode_hex_string( "00AF 005C 005F 0028 30C4 0029 005F 002F 00AF" ); + + } + + 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; + +}; \ No newline at end of file -- cgit v1.2.3