subatomic.h 7.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. #pragma once
  2. #include "quantum.h"
  3. #define XXX KC_NO
  4. /* Subatomic Grid layout
  5. * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
  6. * │▓▓▓│▓▓▓│ │ │ │ │ │ │ │ │ │ │▓▓▓│▓▓▓│
  7. * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤
  8. * │▓▓▓│▓▓▓│ │ │ │ │ │ │ │ │ │ │▓▓▓│▓▓▓│
  9. * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤
  10. * │▓▓▓│▓▓▓│ │ │ │ • │ │ │ • │ │ │ │▓▓▓│▓▓▓│
  11. * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤
  12. * │▓▓▓│▓▓▓│ │ │ │ │ │ │ │ │ │ │▓▓▓│▓▓▓│
  13. * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤
  14. * │▓▓▓│▓▓▓│▓▓▓│▓▓▓│▓▓▓│▓▓▓│ │ │▓▓▓│▓▓▓│▓▓▓│▓▓▓│▓▓▓│▓▓▓│
  15. * └───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┘
  16. */
  17. #define LAYOUT_ortho_5x14( \
  18. k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, \
  19. k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, \
  20. k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, \
  21. k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, \
  22. k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4a, k4b, k4c, k4d \
  23. ) { \
  24. { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d }, \
  25. { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d }, \
  26. { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d }, \
  27. { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d }, \
  28. { k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4a, k4b, k4c, k4d } \
  29. }
  30. /*
  31. * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
  32. * │▓▓▓│▓▓▓│ │ │ │ │ │ │ │ │ │ │▓▓▓│▓▓▓│
  33. * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤
  34. * │▓▓▓│▓▓▓│ │ │ │ │ │ │ │ │ │ │▓▓▓│▓▓▓│
  35. * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤
  36. * │▓▓▓│▓▓▓│ │ │ │ • │ │ │ • │ │ │ │▓▓▓│▓▓▓│
  37. * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤
  38. * │▓▓▓│▓▓▓│ │ │ │ │ │ │ │ │ │ │▓▓▓│▓▓▓│
  39. * ├───┼───┼───┼───┼───┼───┼───┴───┼───┼───┼───┼───┼───┼───┤
  40. * │▓▓▓│▓▓▓│▓▓▓│▓▓▓│▓▓▓│▓▓▓│ │▓▓▓│▓▓▓│▓▓▓│▓▓▓│▓▓▓│▓▓▓│
  41. * └───┴───┴───┴───┴───┴───┴───────┴───┴───┴───┴───┴───┴───┘
  42. */
  43. #define LAYOUT_ortho_5x14_1x2uC( \
  44. k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, \
  45. k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, \
  46. k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, \
  47. k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, \
  48. k40, k41, k42, k43, k44, k45, k46, k48, k49, k4a, k4b, k4c, k4d \
  49. ) { \
  50. { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d }, \
  51. { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d }, \
  52. { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d }, \
  53. { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d }, \
  54. { k40, k41, k42, k43, k44, k45, k46, XXX, k48, k49, k4a, k4b, k4c, k4d } \
  55. }
  56. /*
  57. * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
  58. * │▓▓▓│▓▓▓│ │ │ │ │ │ │ │ │ │ │▓▓▓│▓▓▓│
  59. * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤
  60. * │▓▓▓│▓▓▓│ │ │ │ │ │ │ │ │ │ │▓▓▓│▓▓▓│
  61. * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤
  62. * │▓▓▓│▓▓▓│ │ │ │ • │ │ │ • │ │ │ │▓▓▓│▓▓▓│
  63. * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤
  64. * │▓▓▓│▓▓▓│ │ │ │ │ │ │ │ │ │ │▓▓▓│▓▓▓│
  65. * ├───┼───┼───┼───┼───┼───┴───┼───┴───┼───┼───┼───┼───┼───┤
  66. * │▓▓▓│▓▓▓│▓▓▓│▓▓▓│▓▓▓│ │ │▓▓▓│▓▓▓│▓▓▓│▓▓▓│▓▓▓│
  67. * └───┴───┴───┴───┴───┴───────┴───────┴───┴───┴───┴───┴───┘
  68. */
  69. #define LAYOUT_ortho_5x14_2x2u( \
  70. k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, \
  71. k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, \
  72. k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, \
  73. k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, \
  74. k40, k41, k42, k43, k44, k45, k47, k49, k4a, k4b, k4c, k4d \
  75. ) { \
  76. { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d }, \
  77. { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d }, \
  78. { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d }, \
  79. { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d }, \
  80. { k40, k41, k42, k43, k44, k45, XXX, k47, XXX, k49, k4a, k4b, k4c, k4d } \
  81. }