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.

101 lines
3.3 KiB

  1. #pragma once
  2. #include "squiggle.h"
  3. #include "quantum.h"
  4. #define ___ KC_NO
  5. /* This is a shortcut to help you visually see your layout.
  6. *
  7. * The first section contains all of the arguments representing the physical
  8. * layout of the board and position of the keys.
  9. *
  10. * The second converts the arguments into a two-dimensional array which
  11. * represents the switch matrix.
  12. */
  13. #define LAYOUT( \
  14. L00, L01, L02, L03, L04, R00, R01, R02, R03, R04, \
  15. L10, L11, L12, L13, L14, R10, R11, R12, R13, R14, \
  16. L20, L21, L22, L23, L24, R20, R21, R22, R23, R24, \
  17. L33, L34, R30, R31 \
  18. ) \
  19. { \
  20. { L00, L01, L02, L03, L04 }, \
  21. { L10, L11, L12, L13, L14 }, \
  22. { L20, L21, L22, L23, L24 }, \
  23. { ___, ___, ___, L33, L34 }, \
  24. { R04, R03, R02, R01, R00 }, \
  25. { R14, R13, R12, R11, R10 }, \
  26. { R24, R23, R22, R21, R20 }, \
  27. { ___, ___, ___, R31, R30 }, \
  28. }
  29. #define LAYOUT_reversed( \
  30. R04, R03, R02, R01, R00, L04, L03, L02, L01, L00, \
  31. R14, R13, R12, R11, R10, L14, L13, L12, L11, L10, \
  32. R24, R23, R22, R21, R20, L24, L23, L22, L21, L20, \
  33. R31, R30, L34, L33 \
  34. ) \
  35. { \
  36. { L00, L01, L02, L03, L04 }, \
  37. { L10, L11, L12, L13, L14 }, \
  38. { L20, L21, L22, L23, L24 }, \
  39. { ___, ___, ___, L33, L34 }, \
  40. { R04, R03, R02, R01, R00 }, \
  41. { R14, R13, R12, R11, R10 }, \
  42. { R24, R23, R22, R21, R20 }, \
  43. { ___, ___, ___, R31, R30 }, \
  44. }
  45. #define LAYOUT_split_3x5_3(\
  46. L00, L01, L02, L03, L04, R00, R01, R02, R03, R04, \
  47. L10, L11, L12, L13, L14, R10, R11, R12, R13, R14, \
  48. L20, L21, L22, L23, L24, R20, R21, R22, R23, R24, \
  49. L32, L33, L34, R30, R31, R32 \
  50. ) \
  51. { \
  52. { L00, L01, L02, L03, L04 }, \
  53. { L10, L11, L12, L13, L14 }, \
  54. { L20, L21, L22, L23, L24 }, \
  55. { ___, ___, L32, L33, L34 }, \
  56. { R04, R03, R02, R01, R00 }, \
  57. { R14, R13, R12, R11, R10 }, \
  58. { R24, R23, R22, R21, R20 }, \
  59. { ___, ___, R32, R31, R30 }, \
  60. }
  61. #define LAYOUT_complicated(\
  62. L00, L01, L02, L03, L04, R00, R01, R02, R03, R04, \
  63. L10, L11, L12, L13, L14, R10, R11, R12, R13, R14, \
  64. L20, L21, L22, L23, L24, R20, R21, R22, R23, R24, \
  65. L33, L34, R30, R31, \
  66. L31, L32, R32, R33 \
  67. ) \
  68. { \
  69. { L00, L01, L02, L03, L04 }, \
  70. { L10, L11, L12, L13, L14 }, \
  71. { L20, L21, L22, L23, L24 }, \
  72. { ___, L31, L32, L33, L34 }, \
  73. { R04, R03, R02, R01, R00 }, \
  74. { R14, R13, R12, R11, R10 }, \
  75. { R24, R23, R22, R21, R20 }, \
  76. { ___, R33, R32, R31, R30 }, \
  77. }
  78. #define LAYOUT_thumbrow(\
  79. L00, L01, L02, L03, L04, R00, R01, R02, R03, R04, \
  80. L10, L11, L12, L13, L14, R10, R11, R12, R13, R14, \
  81. L20, L21, L22, L23, L24, R20, R21, R22, R23, R24, \
  82. L31, L32, L33, L34, R30, R31, R32, R33 \
  83. ) \
  84. { \
  85. { L00, L01, L02, L03, L04 }, \
  86. { L10, L11, L12, L13, L14 }, \
  87. { L20, L21, L22, L23, L24 }, \
  88. { ___, L31, L32, L33, L34 }, \
  89. { R04, R03, R02, R01, R00 }, \
  90. { R14, R13, R12, R11, R10 }, \
  91. { R24, R23, R22, R21, R20 }, \
  92. { ___, R33, R32, R31, R30 }, \
  93. }