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.

103 lines
8.3 KiB

  1. /*
  2. Copyright 2020 newtonapple
  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. /* Standard arrangement / LAYOUT
  17. *
  18. * 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e
  19. *
  20. * 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d
  21. *
  22. * 20 21 22 23 24 25 26 27 28 29 2a 2b 2c 2d
  23. *
  24. * 30 31 32 33 34 35 36 37 38 39 3a 3b 3d 3e
  25. *
  26. * 40 41 42 43 47 48 49 4a 4b 4c 4d
  27. *
  28. */
  29. #define LAYOUT( \
  30. k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, \
  31. k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, \
  32. k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, \
  33. k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3d, k3e, \
  34. k40, k41, k42, k43, k47, k48, k49, k4a, k4b, k4c, k4d \
  35. ) { \
  36. { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e }, \
  37. { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, KC_NO }, \
  38. { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, KC_NO }, \
  39. { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, KC_NO, k3d, k3e }, \
  40. { k40, k41, k42, k43, KC_NO, KC_NO, KC_NO, k47, k48, k49, k4a, k4b, k4c, k4d, KC_NO } \
  41. }
  42. /* LAYOUT_60_ansi
  43. *
  44. * 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0e
  45. *
  46. * 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d
  47. *
  48. * 20 21 22 23 24 25 26 27 28 29 2a 2b 2d
  49. *
  50. * 30 32 33 34 35 36 37 38 39 3a 3b 3d
  51. *
  52. * 40 41 42 47 49 4a 4c 4d
  53. *
  54. */
  55. #define LAYOUT_60_ansi( \
  56. k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0e, \
  57. k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, \
  58. k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2d, \
  59. k30, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3d, \
  60. k40, k41, k42, k47, k49, k4a, k4c, k4d \
  61. ) { \
  62. { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, KC_NO, k0e }, \
  63. { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, KC_NO }, \
  64. { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, KC_NO, k2d, KC_NO }, \
  65. { k30, KC_NO, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, KC_NO, k3d, KC_NO }, \
  66. { k40, k41, k42, KC_NO, KC_NO, KC_NO, KC_NO, k47, KC_NO, k49, k4a, KC_NO, k4c, k4d, KC_NO } \
  67. }
  68. /* LAYOUT_60_hhkb
  69. *
  70. * 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e
  71. *
  72. * 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d
  73. *
  74. * 20 21 22 23 24 25 26 27 28 29 2a 2b 2d
  75. *
  76. * 30 32 33 34 35 36 37 38 39 3a 3b 3d 3e
  77. *
  78. * 41 42 47 (7u) 4a 4c
  79. *
  80. */
  81. #define LAYOUT_60_hhkb( \
  82. k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, \
  83. k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, \
  84. k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2d, \
  85. k30, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3d, k3e, \
  86. k41, k42, k47, k4a, k4c \
  87. ) { \
  88. { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e }, \
  89. { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, KC_NO }, \
  90. { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, KC_NO, k2d, KC_NO }, \
  91. { k30, KC_NO, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, KC_NO, k3d, k3e }, \
  92. { KC_NO, k41, k42, KC_NO, KC_NO, KC_NO, KC_NO, k47, KC_NO, KC_NO, k4a, KC_NO, k4c, KC_NO, KC_NO } \
  93. }