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.

143 lines
8.6 KiB

  1. #pragma once
  2. #include "quantum.h"
  3. #define XXX KC_NO
  4. // default keymap: all 117 keys with ANSI Enter
  5. #define LAYOUT( \
  6. k00, k01, k02, k03, k30, k31, k32, k33, k36, k37, k38, k39, k3A, k04, k05, k06, k07, k08, k09, k0A, \
  7. \
  8. k10, k11, k12, k13, k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4A, k14, k15, k16, k17, k18, k19, k1A, \
  9. k20, k21, k22, k23, k50, k51, k52, k53, k55, k56, k57, k58, k59, k5A, k24, k25, k26, k27, k28, k29, k2A, \
  10. k80, k81, k82, k83, k60, k61, k62, k63, k66, k67, k68, k69, k6A, k87, k88, k89, k8A, \
  11. k90, k91, k92, k93, k70, k71, k72, k73, k75, k76, k77, k78, k79, k7A, k96, k97, k98, k99, k9A, \
  12. kA0, kA1, kA2, kA3, k84, k85, k86, k64, k65, k94, k95, kA4, kA5, kA6, kA7, kA8, kA9, kAA \
  13. ) { \
  14. { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A }, \
  15. { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A }, \
  16. { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A }, \
  17. { k30, k31, k32, k33, XXX, XXX, k36, k37, k38, k39, k3A }, \
  18. { k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4A }, \
  19. { k50, k51, k52, k53, XXX, k55, k56, k57, k58, k59, k5A }, \
  20. { k60, k61, k62, k63, k64, k65, k66, k67, k68, k69, k6A }, \
  21. { k70, k71, k72, k73, XXX, k75, k76, k77, k78, k79, k7A }, \
  22. { k80, k81, k82, k83, k84, k85, k86, k87, k88, k89, k8A }, \
  23. { k90, k91, k92, k93, k94, k95, k96, k97, k98, k99, k9A }, \
  24. { kA0, kA1, kA2, kA3, kA4, kA5, kA6, kA7, kA8, kA9, kAA } \
  25. }
  26. // default ISO keymap: all 117 keys with ISO Enter
  27. #define LAYOUT_iso( \
  28. k00, k01, k02, k03, k30, k31, k32, k33, k36, k37, k38, k39, k3A, k04, k05, k06, k07, k08, k09, k0A, \
  29. \
  30. k10, k11, k12, k13, k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4A, k14, k15, k16, k17, k18, k19, k1A, \
  31. k20, k21, k22, k23, k50, k51, k52, k53, k55, k56, k57, k58, k59, k24, k25, k26, k27, k28, k29, k2A, \
  32. k80, k81, k82, k83, k60, k61, k62, k63, k66, k67, k68, k69, k5A, k6A, k87, k88, k89, k8A, \
  33. k90, k91, k92, k93, k70, k71, k72, k73, k75, k76, k77, k78, k79, k7A, k96, k97, k98, k99, k9A, \
  34. kA0, kA1, kA2, kA3, k84, k85, k86, k64, k65, k94, k95, kA4, kA5, kA6, kA7, kA8, kA9, kAA \
  35. ) { \
  36. { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A }, \
  37. { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A }, \
  38. { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A }, \
  39. { k30, k31, k32, k33, XXX, XXX, k36, k37, k38, k39, k3A }, \
  40. { k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4A }, \
  41. { k50, k51, k52, k53, XXX, k55, k56, k57, k58, k59, k5A }, \
  42. { k60, k61, k62, k63, k64, k65, k66, k67, k68, k69, k6A }, \
  43. { k70, k71, k72, k73, XXX, k75, k76, k77, k78, k79, k7A }, \
  44. { k80, k81, k82, k83, k84, k85, k86, k87, k88, k89, k8A }, \
  45. { k90, k91, k92, k93, k94, k95, k96, k97, k98, k99, k9A }, \
  46. { kA0, kA1, kA2, kA3, kA4, kA5, kA6, kA7, kA8, kA9, kAA } \
  47. }
  48. // Standard ANSI Keyboard
  49. #define LAYOUT_fullsize_ansi( \
  50. k00, k01, k02, k03, k30, k31, k32, k33, k36, k37, k38, k39, k3A, k04, k05, k06, \
  51. \
  52. k10, k11, k12, k13, k40, k41, k42, k43, k44, k45, k46, k47, k48, k4A, k14, k15, k16, k17, k18, k19, k1A, \
  53. k20, k21, k22, k23, k50, k51, k52, k53, k55, k56, k57, k58, k59, k5A, k24, k25, k26, k27, k28, k29, k8A, \
  54. k80, k81, k82, k83, k60, k61, k62, k63, k66, k67, k68, k69, k6A, k87, k88, k89, \
  55. k90, k92, k93, k70, k71, k72, k73, k75, k76, k77, k78, k79, k96, k97, k98, k99, kAA, \
  56. kA0, kA1, kA2, k85, k64, k65, k94, k95, kA4, kA5, kA6, kA7, kA9 \
  57. ) { \
  58. { k00, k01, k02, k03, k04, k05, k06, XXX, XXX, XXX, XXX }, \
  59. { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A }, \
  60. { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, XXX }, \
  61. { k30, k31, k32, k33, XXX, XXX, k36, k37, k38, k39, k3A }, \
  62. { k40, k41, k42, k43, k44, k45, k46, k47, k48, XXX, k4A }, \
  63. { k50, k51, k52, k53, XXX, k55, k56, k57, k58, k59, k5A }, \
  64. { k60, k61, k62, k63, k64, k65, k66, k67, k68, k69, k6A }, \
  65. { k70, k71, k72, k73, XXX, k75, k76, k77, k78, k79, XXX }, \
  66. { k80, k81, k82, k83, XXX, k85, XXX, k87, k88, k89, k8A }, \
  67. { k90, XXX, k92, k93, k94, k95, k96, k97, k98, k99, XXX }, \
  68. { kA0, kA1, kA2, XXX, kA4, kA5, kA6, kA7, XXX, kA9, kAA } \
  69. }
  70. // Standard ISO Keyboard
  71. #define LAYOUT_fullsize_iso( \
  72. k00, k01, k02, k03, k30, k31, k32, k33, k36, k37, k38, k39, k3A, k04, k05, k06, \
  73. \
  74. k10, k11, k12, k13, k40, k41, k42, k43, k44, k45, k46, k47, k48, k4A, k14, k15, k16, k17, k18, k19, k1A, \
  75. k20, k21, k22, k23, k50, k51, k52, k53, k55, k56, k57, k58, k59, k24, k25, k26, k27, k28, k29, k8A, \
  76. k80, k81, k82, k83, k60, k61, k62, k63, k66, k67, k68, k69, k5A, k6A, k87, k88, k89, \
  77. k90, k91, k92, k93, k70, k71, k72, k73, k75, k76, k77, k78, k79, k96, k97, k98, k99, kAA, \
  78. kA0, kA1, kA2, k85, k64, k65, k94, k95, kA4, kA5, kA6, kA7, kA9 \
  79. ) { \
  80. { k00, k01, k02, k03, k04, k05, k06, XXX, XXX, XXX, XXX }, \
  81. { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A }, \
  82. { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, XXX }, \
  83. { k30, k31, k32, k33, XXX, XXX, k36, k37, k38, k39, k3A }, \
  84. { k40, k41, k42, k43, k44, k45, k46, k47, k48, XXX, k4A }, \
  85. { k50, k51, k52, k53, XXX, k55, k56, k57, k58, k59, k5A }, \
  86. { k60, k61, k62, k63, k64, k65, k66, k67, k68, k69, k6A }, \
  87. { k70, k71, k72, k73, XXX, k75, k76, k77, k78, k79, XXX }, \
  88. { k80, k81, k82, k83, XXX, k85, XXX, k87, k88, k89, k8A }, \
  89. { k90, k91, k92, k93, k94, k95, k96, k97, k98, k99, XXX }, \
  90. { kA0, kA1, kA2, XXX, kA4, kA5, kA6, kA7, XXX, kA9, kAA } \
  91. }
  92. // Winkeyless ANSI Keyboard
  93. #define LAYOUT_fullsize_ansi_wkl( \
  94. k00, k01, k02, k03, k30, k31, k32, k33, k36, k37, k38, k39, k3A, k04, k05, k06, \
  95. \
  96. k10, k11, k12, k13, k40, k41, k42, k43, k44, k45, k46, k47, k48, k4A, k14, k15, k16, k17, k18, k19, k1A, \
  97. k20, k21, k22, k23, k50, k51, k52, k53, k55, k56, k57, k58, k59, k5A, k24, k25, k26, k27, k28, k29, k8A, \
  98. k80, k81, k82, k83, k60, k61, k62, k63, k66, k67, k68, k69, k6A, k87, k88, k89, \
  99. k90, k92, k93, k70, k71, k72, k73, k75, k76, k77, k78, k79, k96, k97, k98, k99, kAA, \
  100. kA0, kA2, k85, k65, k95, kA4, kA5, kA6, kA7, kA9 \
  101. ) { \
  102. { k00, k01, k02, k03, k04, k05, k06, XXX, XXX, XXX, XXX }, \
  103. { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A }, \
  104. { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, XXX }, \
  105. { k30, k31, k32, k33, XXX, XXX, k36, k37, k38, k39, k3A }, \
  106. { k40, k41, k42, k43, k44, k45, k46, k47, k48, XXX, k4A }, \
  107. { k50, k51, k52, k53, XXX, k55, k56, k57, k58, k59, k5A }, \
  108. { k60, k61, k62, k63, XXX, k65, k66, k67, k68, k69, k6A }, \
  109. { k70, k71, k72, k73, XXX, k75, k76, k77, k78, k79, XXX }, \
  110. { k80, k81, k82, k83, XXX, k85, XXX, k87, k88, k89, k8A }, \
  111. { k90, XXX, k92, k93, XXX, k95, k96, k97, k98, k99, XXX }, \
  112. { kA0, XXX, kA2, XXX, kA4, kA5, kA6, kA7, XXX, kA9, kAA } \
  113. }
  114. // Winkeyless ISO Keyboard
  115. #define LAYOUT_fullsize_iso_wkl( \
  116. k00, k01, k02, k03, k30, k31, k32, k33, k36, k37, k38, k39, k3A, k04, k05, k06, \
  117. \
  118. k10, k11, k12, k13, k40, k41, k42, k43, k44, k45, k46, k47, k48, k4A, k14, k15, k16, k17, k18, k19, k1A, \
  119. k20, k21, k22, k23, k50, k51, k52, k53, k55, k56, k57, k58, k59, k24, k25, k26, k27, k28, k29, k8A, \
  120. k80, k81, k82, k83, k60, k61, k62, k63, k66, k67, k68, k69, k5A, k6A, k87, k88, k89, \
  121. k90, k91, k92, k93, k70, k71, k72, k73, k75, k76, k77, k78, k79, k96, k97, k98, k99, kAA, \
  122. kA0, kA2, k85, k65, k95, kA4, kA5, kA6, kA7, kA9 \
  123. ) { \
  124. { k00, k01, k02, k03, k04, k05, k06, XXX, XXX, XXX, XXX }, \
  125. { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A }, \
  126. { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, XXX }, \
  127. { k30, k31, k32, k33, XXX, XXX, k36, k37, k38, k39, k3A }, \
  128. { k40, k41, k42, k43, k44, k45, k46, k47, k48, XXX, k4A }, \
  129. { k50, k51, k52, k53, XXX, k55, k56, k57, k58, k59, k5A }, \
  130. { k60, k61, k62, k63, XXX, k65, k66, k67, k68, k69, k6A }, \
  131. { k70, k71, k72, k73, XXX, k75, k76, k77, k78, k79, XXX }, \
  132. { k80, k81, k82, k83, XXX, k85, XXX, k87, k88, k89, k8A }, \
  133. { k90, k91, k92, k93, XXX, k95, k96, k97, k98, k99, XXX }, \
  134. { kA0, XXX, kA2, XXX, kA4, kA5, kA6, kA7, XXX, kA9, kAA } \
  135. }