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.

131 lines
8.6 KiB

  1. /* Copyright 2016 Toni (@toneman77)
  2. * 2021 James Young for QMK (@noroadsleft)
  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 "quantum.h"
  19. // readability
  20. #define XXX KC_NO
  21. /* AMJ60 layout to the best of my knowledge matrix layout
  22. *
  23. * I scoured the internet researching this PCB, which near as I know was
  24. * discontinued around 2017. Fortunately, the wiring seems to be based on the
  25. * GH60, and I own a KC60, which is also based on the GH60. I traced my KC60
  26. * (which I already had apart!) and worked out the right shift can be split
  27. * 1.75/1 (HHKB style) or 1/1.75 (JIS/ABNT2). With either split, the 1u key
  28. * was on column C, so I used that here.
  29. *
  30. * - noroadsleft
  31. *
  32. *
  33. * 2u Backspace 0d
  34. *
  35. *
  36. * 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 49
  37. *
  38. * 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d ISO Enter
  39. * 2.25u 2c 2d
  40. * LShift 20 21 22 23 24 25 26 27 28 29 2a 2b 2c 2d
  41. *
  42. * 30 30 31 32 33 34 35 36 37 38 39 3a 3b 3d 3c 3d 2.75u RShift
  43. *
  44. * 40 41 42 45 4a 4b 4c 4d
  45. * 3c 3d JIS RShift
  46. *
  47. * Tsangan 40 41 42 45 4b 4c 4d
  48. *
  49. *
  50. * Topre-style 40 41 42 45 4a 4b 4c 4d
  51. *
  52. *
  53. */
  54. #define LAYOUT_all( \
  55. k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k49,\
  56. k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, \
  57. k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, \
  58. k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3d, k3c, \
  59. k40, k41, k42, k45, k4a, k4b, k4c, k4d \
  60. ) \
  61. { \
  62. {k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d}, \
  63. {k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d}, \
  64. {k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d}, \
  65. {k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d}, \
  66. {k40, k41, k42, XXX, XXX, k45, XXX, XXX, XXX, k49, k4a, k4b, k4c, k4d} \
  67. }
  68. #define LAYOUT_60_ansi( \
  69. k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, \
  70. k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, \
  71. k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2d, \
  72. k30, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3d, \
  73. k40, k41, k42, k45, k4a, k4b, k4c, k4d \
  74. ) \
  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, XXX, k2d}, \
  79. {k30, XXX, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, XXX, k3d}, \
  80. {k40, k41, k42, XXX, XXX, k45, XXX, XXX, XXX, XXX, k4a, k4b, k4c, k4d} \
  81. }
  82. #define LAYOUT_60_hhkb( \
  83. k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k49, \
  84. k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, \
  85. k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2d, \
  86. k30, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3d, k3c, \
  87. k41, k42, k45, k4b, k4c \
  88. ) \
  89. { \
  90. {k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d}, \
  91. {k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d}, \
  92. {k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, XXX, k2d}, \
  93. {k30, XXX, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d}, \
  94. {XXX, k41, k42, XXX, XXX, k45, XXX, XXX, XXX, k49, XXX, k4b, k4c, XXX} \
  95. }
  96. #define LAYOUT_60_iso( \
  97. k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, \
  98. k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, \
  99. k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, \
  100. k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3d, \
  101. k40, k41, k42, k45, k4a, k4b, k4c, k4d \
  102. ) \
  103. { \
  104. {k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d}, \
  105. {k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, XXX}, \
  106. {k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d}, \
  107. {k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, XXX, k3d}, \
  108. {k40, k41, k42, XXX, XXX, k45, XXX, XXX, XXX, XXX, k4a, k4b, k4c, k4d} \
  109. }
  110. #define LAYOUT_60_ansi_split_bs_rshift( \
  111. k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k49,\
  112. k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, \
  113. k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2d, \
  114. k30, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3d, k3c, \
  115. k40, k41, k42, k45, k4a, k4b, k4c, k4d \
  116. ) \
  117. { \
  118. {k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d}, \
  119. {k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d}, \
  120. {k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, XXX, k2d}, \
  121. {k30, XXX, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d}, \
  122. {k40, k41, k42, XXX, XXX, k45, XXX, XXX, XXX, k49, k4a, k4b, k4c, k4d} \
  123. }