summaryrefslogtreecommitdiffstats
path: root/users/d4mation/macros.c
diff options
context:
space:
mode:
authorEric Defore <d4mation@users.noreply.github.com>2019-12-18 03:59:12 -0500
committerDrashna Jaelre <drashna@live.com>2019-12-18 00:59:12 -0800
commitf42dd61b8d29f71af2ce479064c64c96fef55ad4 (patch)
treef4bb23467099a228c46371cebe748139953245c9 /users/d4mation/macros.c
parentb2405fccce1d9dd33e72d2b43a941e9b6bbd1f0d (diff)
[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
Diffstat (limited to 'users/d4mation/macros.c')
-rw-r--r--users/d4mation/macros.c160
1 files changed, 160 insertions, 0 deletions
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