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.

91 lines
4.7 KiB

  1. /* Copyright 2020 jagdpietr
  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. /* This is a shortcut to help you visually see your layout.
  20. *
  21. * The first section contains all of the arguments representing the physical
  22. * layout of the board and position of the keys.
  23. *
  24. * The second converts the arguments into a two-dimensional array which
  25. * represents the switch matrix.
  26. */
  27. /* LAYOUT_ansi
  28. * ,---------------------------------------------------------. .---.
  29. * |00 |01 |02 |03 |04 |05 |06 |07 |08 |09 |0A |0B |0C |0D|2D| |5C |
  30. * |---------------------------------------------------------| ,-----------.
  31. * |10 |11 |12 |13 |14 |15 |16 |17 |18 |19 |1A |1B |1C |1D | |5A |5D |59 |
  32. * |---------------------------------------------------------| `-----------'
  33. * |20 |21 |22 |23 |24 |25 |26 |27 |28 |29 |2A |2B |2C | |5B |
  34. * |---------------------------------------------------------. `---'
  35. * |30 |31 |32 |33 |34 |35 |36 |37 |38 |39 |3A |3B | |3C |
  36. * |--------------------------------------------------'--`---'---.
  37. * |40 |41 |42 | 43 |49 |4A | |4B |4C |4D |
  38. * `----------------------------------------------' `-----------'
  39. */
  40. #define LAYOUT_ansi( \
  41. K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K2D, K5C, \
  42. K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K5A, K5D, K59, \
  43. K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K5B, \
  44. K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, \
  45. K40, K41, K42, K43, K49, K4A, K4B, K4C, K4D \
  46. ) \
  47. { \
  48. { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D }, \
  49. { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D }, \
  50. { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D }, \
  51. { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, XXX }, \
  52. { K40, K41, K42, K43, XXX, XXX, XXX, XXX, XXX, K49, K4A, K4B, K4C, K4D }, \
  53. { XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, K59, K5A, K5B, K5C, K5D } \
  54. }
  55. /* LAYOUT_wkl
  56. * ,---------------------------------------------------------. .---.
  57. * |00 |01 |02 |03 |04 |05 |06 |07 |08 |09 |0A |0B |0C |0D|2D| |5C |
  58. * |---------------------------------------------------------| ,-----------.
  59. * |10 |11 |12 |13 |14 |15 |16 |17 |18 |19 |1A |1B |1C |1D | |5A |5D |59 |
  60. * |---------------------------------------------------------| `-----------'
  61. * |20 |21 |22 |23 |24 |25 |26 |27 |28 |29 |2A |2B |2C | |5B |
  62. * |---------------------------------------------------------. `---'
  63. * |30 |31 |32 |33 |34 |35 |36 |37 |38 |39 |3A |3B | |3C |
  64. * |--------------------------------------------------'--`---'---.
  65. * |40 | |42 | 43 |49 |4A | |4B |4C |4D |
  66. * `----------------------------------------------' `-----------'
  67. */
  68. #define LAYOUT_wkl( \
  69. K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K2D, K5C, \
  70. K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K5A, K5D, K59, \
  71. K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K5B, \
  72. K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, \
  73. K40, K42, K43, K49, 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, K2C, K2D }, \
  79. { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, XXX }, \
  80. { K40, XXX, K42, K43, XXX, XXX, XXX, XXX, XXX, K49, K4A, K4B, K4C, K4D }, \
  81. { XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, K59, K5A, K5B, K5C, K5D } \
  82. }