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.

102 lines
7.8 KiB

  1. /* Copyright 2022 Ivan Gromov (@key10iq)
  2. *
  3. * This program is free software: you can redistribute it and/or modify
  4. * it under the terms of the GNU General Public License as published by
  5. * the Free Software Foundation, either version 2 of the License, or
  6. * (at your option) any later version.
  7. *
  8. * This program is distributed in the hope that it will be useful,
  9. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  10. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  11. * GNU General Public License for more details.
  12. *
  13. * You should have received a copy of the GNU General Public License
  14. * along with this program. If not, see <http://www.gnu.org/licenses/>.
  15. */
  16. #pragma once
  17. #include "quantum.h"
  18. #define XXX KC_NO
  19. /* LAYOUT_all
  20. *
  21. * 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 2d
  22. *
  23. * 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d
  24. *
  25. * 20 21 22 23 24 25 26 27 28 29 2a 2b 2c
  26. *
  27. * 30 31 32 33 34 35 36 37 38 39 3a 3b 3c 3d
  28. *
  29. * 40 41 43 47 4b 4c 4d
  30. *
  31. */
  32. #define LAYOUT_all( \
  33. k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, \
  34. k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, \
  35. k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, \
  36. k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, \
  37. k40, k41, k43, k47, k4b, k4c, k4d \
  38. ) { \
  39. { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d }, \
  40. { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d }, \
  41. { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d }, \
  42. { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d }, \
  43. { k40, k41, XXX, k43, XXX, XXX, XXX, k47, XXX, XXX, XXX, k4b, k4c, k4d } \
  44. }
  45. /* LAYOUT_60_tsangan_hhkb
  46. *
  47. * 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 2d
  48. *
  49. * 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d
  50. *
  51. * 20 21 22 23 24 25 26 27 28 29 2a 2b 2c
  52. *
  53. * 30 32 33 34 35 36 37 38 39 3a 3b 3c 3d
  54. *
  55. * 40 41 43 47 4b 4c 4d
  56. *
  57. */
  58. #define LAYOUT_60_tsangan_hhkb( \
  59. k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, \
  60. k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, \
  61. k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, \
  62. k30, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, \
  63. k40, k41, k43, k47, k4b, k4c, k4d \
  64. ) { \
  65. { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d }, \
  66. { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d }, \
  67. { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d }, \
  68. { k30, XXX, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d }, \
  69. { k40, k41, XXX, k43, XXX, XXX, XXX, k47, XXX, XXX, XXX, k4b, k4c, k4d } \
  70. }
  71. /* LAYOUT_60_iso_tsangan
  72. *
  73. * 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d
  74. *
  75. * 10 11 12 13 14 15 16 17 18 19 1a 1b 1c
  76. * 1d
  77. * 20 21 22 23 24 25 26 27 28 29 2a 2b 2c
  78. *
  79. * 30 31 32 33 34 35 36 37 38 39 3a 3b 3c
  80. *
  81. * 40 41 43 47 4b 4c 4d
  82. *
  83. */
  84. #define LAYOUT_60_iso_tsangan( \
  85. k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, \
  86. k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, \
  87. k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, \
  88. k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, \
  89. k40, k41, k43, k47, k4b, k4c, k4d \
  90. ) { \
  91. { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d }, \
  92. { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d }, \
  93. { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, XXX }, \
  94. { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, XXX }, \
  95. { k40, k41, XXX, k43, XXX, XXX, XXX, k47, XXX, XXX, XXX, k4b, k4c, k4d } \
  96. }