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.

112 lines
8.5 KiB

  1. /*
  2. Copyright 2020 KnoblesseOblige
  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. This program is distributed in the hope that it will be useful,
  8. but WITHOUT ANY WARRANTY; without even the implied warranty of
  9. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  10. GNU General Public License for more details.
  11. You should have received a copy of the GNU General Public License
  12. along with this program. If not, see <http://www.gnu.org/licenses/>.
  13. */
  14. #pragma once
  15. #include "quantum.h"
  16. #define kxx KC_NO
  17. /*
  18. *
  19. * 2u Backspace 0d
  20. *
  21. *
  22. * 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 2d 0e 0f 0g
  23. *
  24. * 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f 1g ISO
  25. * 2.25u 2c Enter
  26. * LShift 20 21 22 23 24 25 26 27 28 29 2a 2b 2c 1d
  27. *
  28. * 30 30 41 31 32 33 34 35 36 37 38 39 3a 3b 3d 3f 3b 2.75u RShift
  29. *
  30. * 40 42 43 45 49 4a 4b 4d 4e 4f 4g
  31. *
  32. *
  33. * 40 42 43 45 4a 4b 4d Tsangan
  34. *
  35. */
  36. #define LAYOUT_all( \
  37. k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k2d, k0e, k0f, k0g, \
  38. k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, k1f, k1g, \
  39. k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, \
  40. k30, k41, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3d, k3f, \
  41. k40, k42, k43, k45, k49, k4a, k4b, k4d, k4e, k4f, k4g \
  42. ) { \
  43. { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, k0f, k0g }, \
  44. { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, k1f, k1g }, \
  45. { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, kxx, kxx, kxx }, \
  46. { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, kxx, k3d, kxx, k3f, kxx }, \
  47. { k40, k41, k42, k43, kxx, k45, kxx, kxx, kxx, k49, k4a, k4b, kxx, k4d, k4e, k4f, k4g } \
  48. }
  49. #define LAYOUT_ansi( \
  50. k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, k0f, k0g, \
  51. k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, k1f, k1g, \
  52. k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, \
  53. k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3f, \
  54. k40, k42, k43, k45, k49, k4a, k4b, k4d, k4e, k4f, k4g \
  55. ) { \
  56. { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, k0f, k0g }, \
  57. { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, k1f, k1g }, \
  58. { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, kxx, kxx, kxx, kxx }, \
  59. { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, kxx, kxx, kxx, k3f, kxx }, \
  60. { k40, kxx, k42, k43, kxx, k45, kxx, kxx, kxx, k49, k4a, k4b, kxx, k4d, k4e, k4f, k4g } \
  61. }
  62. #define LAYOUT_ansi_tsangan( \
  63. k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, k0f, k0g, \
  64. k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, k1f, k1g, \
  65. k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, \
  66. k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3f, \
  67. k40, k42, k43, k45, k4a, k4b, k4d, k4e, k4f, k4g \
  68. ) { \
  69. { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, k0f, k0g }, \
  70. { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, k1f, k1g }, \
  71. { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, kxx, kxx, kxx, kxx }, \
  72. { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, kxx, kxx, kxx, k3f, kxx }, \
  73. { k40, kxx, k42, k43, kxx, k45, kxx, kxx, kxx, kxx, k4a, k4b, kxx, k4d, k4e, k4f, k4g } \
  74. }
  75. #define LAYOUT_iso( \
  76. k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, k0f, k0g, \
  77. k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1e, k1f, k1g, \
  78. k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k1d, k2c, \
  79. k30, k41, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3f, \
  80. k40, k42, k43, k45, k49, k4a, k4b, k4d, k4e, k4f, k4g \
  81. ) { \
  82. { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, k0f, k0g }, \
  83. { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, k1f, k1g }, \
  84. { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, kxx, kxx, kxx, kxx }, \
  85. { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, kxx, kxx, kxx, k3f, kxx }, \
  86. { k40, k41, k42, k43, kxx, k45, kxx, kxx, kxx, k49, k4a, k4b, kxx, k4d, k4e, k4f, k4g } \
  87. }
  88. #define LAYOUT_iso_tsangan( \
  89. k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, k0f, k0g, \
  90. k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1e, k1f, k1g, \
  91. k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k1d, k2c, \
  92. k30, k41, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3f, \
  93. k40, k42, k43, k45, k4a, k4b, k4d, k4e, k4f, k4g \
  94. ) { \
  95. { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, k0f, k0g }, \
  96. { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, k1f, k1g }, \
  97. { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, kxx, kxx, kxx, kxx }, \
  98. { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, kxx, kxx, kxx, k3f, kxx }, \
  99. { k40, k41, k42, k43, kxx, k45, kxx, kxx, kxx, kxx, k4a, k4b, kxx, k4d, k4e, k4f, k4g } \
  100. }