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.

67 lines
3.1 KiB

  1. /* Copyright 2022 Thomas Baart <thomas@splitkb.com>
  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. /* This a shortcut to help you visually see your layout.
  19. *
  20. * The first section contains all of the arguments representing the physical
  21. * layout of the board and position of the keys.
  22. *
  23. * The second converts the arguments into a two-dimensional array which
  24. * represents the switch matrix.
  25. */
  26. #define LAYOUT( \
  27. L00, L01, L02, L03, L04, L05, R06, R07, R08, R09, R10, R11, \
  28. L12, L13, L14, L15, L16, L17, R18, R19, R20, R21, R22, R23, \
  29. L24, L25, L26, L27, L28, L29, L30, L31, R32, R33, R34, R35, R36, R37, R38, R39, \
  30. L40, L41, L42, L43, L44, R45, R46, R47, R48, R49 \
  31. ) \
  32. { \
  33. { KC_NO, KC_NO, L05, L04, L03, L02, L01, L00 }, \
  34. { KC_NO, KC_NO, L17, L16, L15, L14, L13, L12 }, \
  35. { L31, L30, L29, L28, L27, L26, L25, L24 }, \
  36. { L44, L43, L42, L41, KC_NO, L40, KC_NO, KC_NO }, \
  37. { KC_NO, KC_NO, R06, R07, R08, R09, R10, R11 }, \
  38. { KC_NO, KC_NO, R18, R19, R20, R21, R22, R23 }, \
  39. { R32, R33, R34, R35, R36, R37, R38, R39 }, \
  40. { R45, R46, R47, R48, KC_NO, R49, KC_NO, KC_NO }, \
  41. }
  42. #define LAYOUT_stack( \
  43. L00, L01, L02, L03, L04, L05, \
  44. L12, L13, L14, L15, L16, L17, \
  45. L24, L25, L26, L27, L28, L29, L30, L31, \
  46. L40, L41, L42, L43, L44, \
  47. \
  48. R06, R07, R08, R09, R10, R11, \
  49. R18, R19, R20, R21, R22, R23, \
  50. R32, R33, R34, R35, R36, R37, R38, R39, \
  51. R45, R46, R47, R48, R49 \
  52. ) \
  53. { \
  54. { KC_NO, KC_NO, L05, L04, L03, L02, L01, L00 }, \
  55. { KC_NO, KC_NO, L17, L16, L15, L14, L13, L12 }, \
  56. { L31, L30, L29, L28, L27, L26, L25, L24 }, \
  57. { L44, L43, L42, L41, KC_NO, L40, KC_NO, KC_NO }, \
  58. { KC_NO, KC_NO, R06, R07, R08, R09, R10, R11 }, \
  59. { KC_NO, KC_NO, R18, R19, R20, R21, R22, R23 }, \
  60. { R32, R33, R34, R35, R36, R37, R38, R39 }, \
  61. { R45, R46, R47, R48, KC_NO, R49, KC_NO, KC_NO }, \
  62. }
  63. #define LAYOUT_split_3x6_5 LAYOUT