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.

92 lines
5.0 KiB

  1. /* Copyright 2020 Christopher Courtney, aka Drashna Jael're (@drashna) <drashna@live.com>
  2. * 2021 Tyler Thrailkill (@snowe/@snowe2010) <tyler.b.thrailkill@gmail.com>
  3. *
  4. * This program is free software: you can redistribute it and/or modify
  5. * it under the terms of the GNU General Public License as published by
  6. * the Free Software Foundation, either version 2 of the License, or
  7. * (at your option) any later version.
  8. *
  9. * This program is distributed in the hope that it will be useful,
  10. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  11. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  12. * GNU General Public License for more details.
  13. *
  14. * You should have received a copy of the GNU General Public License
  15. * along with this program. If not, see <http://www.gnu.org/licenses/>.
  16. */
  17. #pragma once
  18. #include "snowe.h"
  19. /*
  20. Since our quirky block definitions are basically a list of comma separated
  21. arguments, we need a wrapper in order for these definitions to be
  22. expanded before being used as arguments to the LAYOUT_xxx macro.
  23. */
  24. #if (!defined(LAYOUT) && defined(KEYMAP))
  25. # define LAYOUT KEYMAP
  26. #endif
  27. //#define LAYOUT_ergodox_wrapper(...) LAYOUT_ergodox(__VA_ARGS__)
  28. //#define LAYOUT_ergodox_pretty_wrapper(...) LAYOUT_ergodox_pretty(__VA_ARGS__)
  29. #define KEYMAP_wrapper(...) LAYOUT(__VA_ARGS__)
  30. #define LAYOUT_wrapper(...) LAYOUT(__VA_ARGS__)
  31. //#define LAYOUT_ortho_4x12_wrapper(...) LAYOUT_ortho_4x12(__VA_ARGS__)
  32. //#define LAYOUT_ortho_5x12_wrapper(...) LAYOUT_ortho_5x12(__VA_ARGS__)
  33. //#define LAYOUT_gergo_wrapper(...) LAYOUT_gergo(__VA_ARGS__)
  34. /*
  35. Blocks for each of the four major keyboard layouts
  36. Organized so we can quickly adapt and modify all of them
  37. at once, rather than for each keyboard, one at a time.
  38. And this allows for much cleaner blocks in the keymaps.
  39. For instance Tap/Hold for Control on all of the layouts
  40. NOTE: These are all the same length. If you do a search/replace
  41. then you need to add/remove underscores to keep the
  42. lengths consistent.
  43. */
  44. #define _________________QWERTY_L1_________________ KC_Q, KC_W, KC_E, KC_R, KC_T
  45. #define _________________QWERTY_L2_________________ KC_A, KC_S, KC_D, KC_F, KC_G
  46. #define _________________QWERTY_L3_________________ KC_Z, KC_X, KC_C, KC_V, KC_B
  47. #define _________________QWERTY_R1_________________ KC_Y, KC_U, KC_I, KC_O, KC_P
  48. #define _________________QWERTY_R2_________________ KC_H, KC_J, KC_K, KC_L, KC_SCLN
  49. #define _________________QWERTY_R3_________________ KC_N, KC_M, KC_COMM, KC_DOT, KC_SLASH
  50. #define ________________NUMBER_LEFT________________ KC_1, KC_2, KC_3, KC_4, KC_5
  51. #define ________________NUMBER_RIGHT_______________ KC_6, KC_7, KC_8, KC_9, KC_0
  52. //#define ________________NUMBER_RIGHT_______________ KC_6, KC_7, TD(TD_8_UP), KC_9, KC_0
  53. #define _________________FUNC_LEFT_________________ KC_F1, KC_F2, KC_F3, KC_F4, KC_F5
  54. #define _________________FUNC_RIGHT________________ KC_F6, KC_F7, KC_F8, KC_F9, KC_F10
  55. #define ___________________BLANK___________________ _______, _______, _______, _______, _______
  56. #define _________________LOWER_L1__________________ KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC
  57. #define _________________LOWER_L2__________________ _________________FUNC_LEFT_________________
  58. #define _________________LOWER_L3__________________ _________________FUNC_RIGHT________________
  59. #define _________________LOWER_R1__________________ KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN
  60. #define _________________LOWER_R2__________________ _______, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR
  61. #define _________________LOWER_R3__________________ _______, KC_LEFT, KC_UP , KC_DOWN, KC_RGHT
  62. #define _________________RAISE_L1__________________ ________________NUMBER_LEFT________________
  63. #define _________________RAISE_L2__________________ _______, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC
  64. #define _________________RAISE_L3__________________ ___________________BLANK___________________
  65. #define _________________RAISE_R1__________________ ________________NUMBER_RIGHT_______________
  66. #define _________________RAISE_R2__________________ KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______
  67. #define _________________RAISE_R3__________________ _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END
  68. #define _________________ADJUST_L1_________________ RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_TOG
  69. #define _________________ADJUST_L2_________________ MU_TOG , TG(_GAMING), AU_ON, AU_OFF, AG_NORM
  70. #define _________________ADJUST_L3_________________ RGB_RMOD,RGB_HUD,RGB_SAD, RGB_VAD, _______
  71. #define _________________ADJUST_R1_________________ _______, _______, _______, _______, _______
  72. #define _________________ADJUST_R2_________________ RESET, CG_TOGG, _______, _______, _______
  73. #define _________________ADJUST_R3_________________ _______, KC_MNXT, KC_VOLU, KC_VOLD, KC_MPLY