You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

61 lines
1.5 KiB

  1. #include "brett.h"
  2. char * get_key(uint16_t keycode) {
  3. switch (keycode) {
  4. case FAT_ARROW:
  5. return "=>";
  6. case SKINNY_ARROW:
  7. return "->";
  8. case REVERSE_ARROW:
  9. return "<-";
  10. case CONCAT:
  11. return "<>";
  12. case MAP:
  13. return "<$>";
  14. case MAP_FLIPPED:
  15. return "<#>";
  16. case FLAP:
  17. return "<@>";
  18. case PIPE:
  19. return "|>";
  20. case ALT:
  21. return "<|>";
  22. case APPLY:
  23. return "<*>";
  24. case AND:
  25. return "&&";
  26. case OR:
  27. return "||";
  28. case BIND:
  29. return ">>=";
  30. case BIND_FLIPPED:
  31. return "=<<";
  32. case DOUBLE_COLON:
  33. return "::";
  34. case VOID_LEFT:
  35. return "<$";
  36. case VOID_RIGHT:
  37. return "$>";
  38. default:
  39. return "";
  40. }
  41. }
  42. bool process_record_user(uint16_t keycode, keyrecord_t *record) {
  43. bool pressed = record->event.pressed;
  44. switch (keycode) {
  45. case FAT_ARROW ... DOUBLE_COLON:
  46. if (pressed) {
  47. send_string(get_key(keycode));
  48. }
  49. return false;
  50. case FLASH:
  51. if (!pressed) {
  52. SEND_STRING("make -j8 --output-sync " QMK_KEYBOARD ":" QMK_KEYMAP ":flash" SS_TAP(X_ENTER));
  53. reset_keyboard();
  54. }
  55. return false;
  56. default:
  57. return true;
  58. }
  59. }