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.

99 lines
4.8 KiB

  1. #pragma once
  2. #include "quantum.h"
  3. #define ___ KC_NO
  4. // This a shortcut to help you visually see your layout.
  5. // The first section contains all of the arguments as on the physical keyboard
  6. // The second converts the arguments into the 2-D scanned array
  7. #define LAYOUT( \
  8. kC0, kD0, kE0, kC1, kD1, kE1, kC2, kD2, kE2, \
  9. k00, k10, k20, k30, k40, k50, \
  10. k01, k11, k21, k31, k41, k51, \
  11. k02, k12, k22, k32, k42, k52, \
  12. k03, k13, k23, k33, k43, k53, \
  13. k14, k24, k34, k54, \
  14. k56, k55, \
  15. k35, \
  16. k36, k46, k25, \
  17. \
  18. kC3, kD3, kE3, kC4, kD4, kE4, kC5, kE5, kD5, \
  19. k60, k70, k80, k90, kA0, kB0, \
  20. k61, k71, k81, k91, kA1, kB1, \
  21. k62, k72, k82, k92, kA2, kB2, \
  22. k63, k73, k83, k93, kA3, kB3, \
  23. k64, k84, k94, kA4, \
  24. k96, k85, \
  25. k86, \
  26. k66, k75, k65 \
  27. ) { \
  28. { k00, k01, k02, k03, ___, ___, ___ }, \
  29. { k10, k11, k12, k13, k14, ___, ___ }, \
  30. { k20, k21, k22, k23, k24, k25, ___ }, \
  31. { k30, k31, k32, k33, k34, k35, k36 }, \
  32. { k40, k41, k42, k43, ___, ___, k46 }, \
  33. { k50, k51, k52, k53, k54, k55, k56 }, \
  34. { k60, k61, k62, k63, k64, k65, k66 }, \
  35. { k70, k71, k72, k73, ___, k75, ___ }, \
  36. { k80, k81, k82, k83, k84, k85, k86 }, \
  37. { k90, k91, k92, k93, k94, ___, k96 }, \
  38. { kA0, kA1, kA2, kA3, kA4, ___, ___ }, \
  39. { kB0, kB1, kB2, kB3, ___, ___, ___ }, \
  40. { kC0, kC1, kC2, kC3, kC4, kC5, ___ }, \
  41. { kD0, kD1, kD2, kD3, kD4, kD5, ___ }, \
  42. { kE0, kE1, kE2, kE3, kE4, kE5, ___ } \
  43. }
  44. /* ---------------- LEFT HAND ----------------- ---------------- RIGHT HAND ---------------- */
  45. #define LAYOUT_pretty( \
  46. kC0, kD0, kE0, kC1, kD1, kE1, kC2, kD2, kE2, kC3, kD3, kE3, kC4, kD4, kE4, kC5, kE5, kD5, \
  47. k00, k10, k20, k30, k40, k50, k60, k70, k80, k90, kA0, kB0, \
  48. k01, k11, k21, k31, k41, k51, k61, k71, k81, k91, kA1, kB1, \
  49. k02, k12, k22, k32, k42, k52, k62, k72, k82, k92, kA2, kB2, \
  50. k03, k13, k23, k33, k43, k53, k63, k73, k83, k93, kA3, kB3, \
  51. k14, k24, k34, k54, k64, k84, k94, kA4, \
  52. k56, k55, k96, k85, \
  53. k35, k86, \
  54. k36, k46, k25, k66, k75, k65 \
  55. ) { \
  56. { k00, k01, k02, k03, ___, ___, ___ }, \
  57. { k10, k11, k12, k13, k14, ___, ___ }, \
  58. { k20, k21, k22, k23, k24, k25, ___ }, \
  59. { k30, k31, k32, k33, k34, k35, k36 }, \
  60. { k40, k41, k42, k43, ___, ___, k46 }, \
  61. { k50, k51, k52, k53, k54, k55, k56 }, \
  62. { k60, k61, k62, k63, k64, k65, k66 }, \
  63. { k70, k71, k72, k73, ___, k75, ___ }, \
  64. { k80, k81, k82, k83, k84, k85, k86 }, \
  65. { k90, k91, k92, k93, k94, ___, k96 }, \
  66. { kA0, kA1, kA2, kA3, kA4, ___, ___ }, \
  67. { kB0, kB1, kB2, kB3, ___, ___, ___ }, \
  68. { kC0, kC1, kC2, kC3, kC4, kC5, ___ }, \
  69. { kD0, kD1, kD2, kD3, kD4, kD5, ___ }, \
  70. { kE0, kE1, kE2, kE3, kE4, kE5, ___ } \
  71. }
  72. /*
  73. This is the Stapelberg matrix as published at
  74. https://github.com/stapelberg/kinesis-firmware/blob/master/kb_kinesis/config.kspec
  75. Along with the pins for each row and column
  76. PB0 PB1 PB2 PB3 PB4 PB5 PB6
  77. kx0 kx1 kx2 kx3 kx4 kx5 kx6
  78. PD0 k0x Row: EQL TAB CAP LSH X2 -- --
  79. PD1 k1x Row: 1 Q A Z BQ -- --
  80. PD2 k2x Row: 2 W S X INS END --
  81. PD3 k3x Row: 3 E D C LFT HOM BAK
  82. PD4 k4x Row: 4 R F V -- -- DEL
  83. PD5 k5x Row: 5 T G B RT LAL LCT
  84. PD6 k6x Row: 6 Y H N UP SPC PGD
  85. PD7 k7x Row: 7 U J M -- RET --
  86. PC0 k8x Row: 8 I K COM DWN RCT PGU
  87. PC1 k9x Row: 9 O L PER LBR -- RAL
  88. PC2 kAx Row: 0 P SEM SLA RBR -- --
  89. PC3 kBx Row: MIN BSL APO RSH X1 -- --
  90. PC4 kCx Row: ESC F3 F6 F9 F12 PAU --
  91. PC5 kDx Row: F1 F4 F7 F10 PRT PRG --
  92. PC6 kEx Row: F2 F5 F8 F11 SLK KEY --
  93. */