rev2.h 3.1 KB

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