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.

71 lines
1.7 KiB

  1. #pragma once
  2. #include "quantum.h"
  3. // Each layer gets a name for readability, which is then used in the keymap matrix below.
  4. enum userspace_custom_layers {
  5. DV = 0,
  6. QW,
  7. GAM1,
  8. RSE,
  9. LWR,
  10. LFT,
  11. MOUSE
  12. };
  13. enum userspace_custom_keycodes {
  14. PAWFIVE = SAFE_RANGE,
  15. MOUKEY,
  16. MS_BTN1,
  17. MS_BTN2,
  18. MS_BTN3
  19. };
  20. // Transparent macro to indicate that this spot is already being pressed
  21. // to activate this layer
  22. #define _LAYER_ KC_TRNS
  23. // == Dual-action keys on most of the modifiers
  24. #define CTL_ESC CTL_T(KC_ESC)
  25. #define CTL_GRV CTL_T(KC_GRV)
  26. #define ALT_TAB ALT_T(KC_TAB)
  27. #define SFT_SPC SFT_T(KC_SPC)
  28. // == Macro keys for commonly used apps
  29. // -- Slack
  30. // Move one conversation up/down
  31. #define SLACKUP LALT(LSFT(KC_UP))
  32. #define SLACKDN LALT(LSFT(KC_DOWN))
  33. // -- Browser and OS X
  34. // Activate one tab left/right
  35. #define TAB_LFT LGUI(LSFT(KC_LBRC))
  36. #define TAB_RGT LGUI(LSFT(KC_RBRC))
  37. // Go back/forward in history
  38. #define BWSR_BK LGUI(KC_LBRC)
  39. #define BWSR_FW LGUI(KC_RBRC)
  40. // -- Screen management
  41. // Make window fill the left/right side
  42. #define SCR_LFT HYPR(KC_LEFT)
  43. #define SCR_RGT HYPR(KC_RGHT)
  44. // Make window fill the whole monitor
  45. #define SCR_FUL HYPR(KC_F)
  46. // == Extended alpha layer toggles
  47. // -- Dvorak
  48. // Pressing U opens up the LWR layer (numpad)
  49. #define LWR_U LT(LWR, KC_U)
  50. // Pressing H opens up the RSE layer (brackets/parens)
  51. #define RSE_H LT(RSE, KC_H)
  52. // -- Qwerty
  53. // Pressing F opens up the LWR layer (numpad)
  54. #define LWR_F LT(LWR, KC_F)
  55. // Pressing J opens up the RSE layer (brackets/parens)
  56. #define RSE_J LT(RSE, KC_J)
  57. // -- LFT layer (Works on both Qwerty and Dvorak)
  58. // Pressing Back space or Enter opens up the LFT layer (media/navigation)
  59. #define LFT_BK LT(LFT, KC_BSPC)
  60. #define LFT_ENT LT(LFT, KC_ENT)