diff options
Diffstat (limited to 'users/brett/brett.c')
-rw-r--r-- | users/brett/brett.c | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/users/brett/brett.c b/users/brett/brett.c new file mode 100644 index 000000000..c19c8b4a8 --- /dev/null +++ b/users/brett/brett.c @@ -0,0 +1,61 @@ +#include "brett.h" + +char * get_key(uint16_t keycode) { + switch (keycode) { + case FAT_ARROW: + return "=>"; + case SKINNY_ARROW: + return "->"; + case REVERSE_ARROW: + return "<-"; + case CONCAT: + return "<>"; + case MAP: + return "<$>"; + case MAP_FLIPPED: + return "<#>"; + case FLAP: + return "<@>"; + case PIPE: + return "|>"; + case ALT: + return "<|>"; + case APPLY: + return "<*>"; + case AND: + return "&&"; + case OR: + return "||"; + case BIND: + return ">>="; + case BIND_FLIPPED: + return "=<<"; + case DOUBLE_COLON: + return "::"; + case VOID_LEFT: + return "<$"; + case VOID_RIGHT: + return "$>"; + default: + return ""; + } +} + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + bool pressed = record->event.pressed; + switch (keycode) { + case FAT_ARROW ... DOUBLE_COLON: + if (pressed) { + send_string(get_key(keycode)); + } + return false; + case FLASH: + if (!pressed) { + SEND_STRING("make -j8 --output-sync " QMK_KEYBOARD ":" QMK_KEYMAP ":flash" SS_TAP(X_ENTER)); + reset_keyboard(); + } + return false; + default: + return true; + } +} |