diff options
Diffstat (limited to 'users')
| -rw-r--r-- | users/brett/brett.c | 61 | ||||
| -rw-r--r-- | users/brett/brett.h | 25 | ||||
| -rw-r--r-- | users/brett/rules.mk | 1 |
3 files changed, 87 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 @@ | |||
| 1 | #include "brett.h" | ||
| 2 | |||
| 3 | char * get_key(uint16_t keycode) { | ||
| 4 | switch (keycode) { | ||
| 5 | case FAT_ARROW: | ||
| 6 | return "=>"; | ||
| 7 | case SKINNY_ARROW: | ||
| 8 | return "->"; | ||
| 9 | case REVERSE_ARROW: | ||
| 10 | return "<-"; | ||
| 11 | case CONCAT: | ||
| 12 | return "<>"; | ||
| 13 | case MAP: | ||
| 14 | return "<$>"; | ||
| 15 | case MAP_FLIPPED: | ||
| 16 | return "<#>"; | ||
| 17 | case FLAP: | ||
| 18 | return "<@>"; | ||
| 19 | case PIPE: | ||
| 20 | return "|>"; | ||
| 21 | case ALT: | ||
| 22 | return "<|>"; | ||
| 23 | case APPLY: | ||
| 24 | return "<*>"; | ||
| 25 | case AND: | ||
| 26 | return "&&"; | ||
| 27 | case OR: | ||
| 28 | return "||"; | ||
| 29 | case BIND: | ||
| 30 | return ">>="; | ||
| 31 | case BIND_FLIPPED: | ||
| 32 | return "=<<"; | ||
| 33 | case DOUBLE_COLON: | ||
| 34 | return "::"; | ||
| 35 | case VOID_LEFT: | ||
| 36 | return "<$"; | ||
| 37 | case VOID_RIGHT: | ||
| 38 | return "$>"; | ||
| 39 | default: | ||
| 40 | return ""; | ||
| 41 | } | ||
| 42 | } | ||
| 43 | |||
| 44 | bool process_record_user(uint16_t keycode, keyrecord_t *record) { | ||
| 45 | bool pressed = record->event.pressed; | ||
| 46 | switch (keycode) { | ||
| 47 | case FAT_ARROW ... DOUBLE_COLON: | ||
| 48 | if (pressed) { | ||
| 49 | send_string(get_key(keycode)); | ||
| 50 | } | ||
| 51 | return false; | ||
| 52 | case FLASH: | ||
| 53 | if (!pressed) { | ||
| 54 | SEND_STRING("make -j8 --output-sync " QMK_KEYBOARD ":" QMK_KEYMAP ":flash" SS_TAP(X_ENTER)); | ||
| 55 | reset_keyboard(); | ||
| 56 | } | ||
| 57 | return false; | ||
| 58 | default: | ||
| 59 | return true; | ||
| 60 | } | ||
| 61 | } | ||
diff --git a/users/brett/brett.h b/users/brett/brett.h new file mode 100644 index 000000000..a359c5157 --- /dev/null +++ b/users/brett/brett.h | |||
| @@ -0,0 +1,25 @@ | |||
| 1 | #pragma once | ||
| 2 | |||
| 3 | enum userspace_custom_keycodes { | ||
| 4 | PLACEHOLDER = SAFE_RANGE, // Can always be here | ||
| 5 | FAT_ARROW, // => | ||
| 6 | SKINNY_ARROW, // -> | ||
| 7 | REVERSE_ARROW, // <- | ||
| 8 | CONCAT, // <> | ||
| 9 | MAP, // <$> | ||
| 10 | MAP_FLIPPED, // <#> | ||
| 11 | FLAP, // <@> | ||
| 12 | PIPE, // |> | ||
| 13 | ALT, // <|> | ||
| 14 | APPLY, // <*> | ||
| 15 | AND, // && | ||
| 16 | OR, // || | ||
| 17 | BIND, // >>= | ||
| 18 | BIND_FLIPPED, // =<< | ||
| 19 | VOID_LEFT, // <$ | ||
| 20 | VOID_RIGHT, // $> | ||
| 21 | DOUBLE_COLON, // :: | ||
| 22 | FLASH // Handle keyboard flashing | ||
| 23 | }; | ||
| 24 | |||
| 25 | bool process_record_keymap(uint16_t keycode, keyrecord_t *record); | ||
diff --git a/users/brett/rules.mk b/users/brett/rules.mk new file mode 100644 index 000000000..b186662dd --- /dev/null +++ b/users/brett/rules.mk | |||
| @@ -0,0 +1 @@ | |||
| SRC += brett.c | |||
