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.

69 lines
4.2 KiB

  1. /*
  2. Copyright 2019 Ethan Durrant (emdarcher)
  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 LAYOUT_all(\
  17. K04, K14, K24, K34, K44, K54, K64, K74, K84, K94, KA4, KB4, KC4, KD4, KE4, \
  18. K03, K13, K23, K33, K43, K53, K63, K73, K83, K93, KA3, KB3, KC3, KD3, \
  19. K02, K12, K22, K32, K42, K52, K62, K72, K82, K92, KA2, KB2, KC2, KD2, \
  20. K01, K11, K21, K31, K41, K51, K61, K71, K81, K91, KA1, KB1, KC1, KD1, KE1, \
  21. K00, K10, K20, K30, K70, K80, K90, KA0, KB0, KC0, KD0 \
  22. ){ \
  23. { K00, K10, K20, K30, KC_NO, KC_NO, KC_NO,K70, K80, K90, KA0, KB0, KC0, KD0, KC_NO }, \
  24. { K01, K11, K21, K31, K41, K51, K61, K71, K81, K91, KA1, KB1, KC1, KD1, KE1 }, \
  25. { K02, K12, K22, K32, K42, K52, K62, K72, K82, K92, KA2, KB2, KC2, KD2, KC_NO }, \
  26. { K03, K13, K23, K33, K43, K53, K63, K73, K83, K93, KA3, KB3, KC3, KD3, KC_NO }, \
  27. { K04, K14, K24, K34, K44, K54, K64, K74, K84, K94, KA4, KB4, KC4, KD4, KE4 }, \
  28. }
  29. // 0 1 2 3 4 5 6 7 8 9 A B C D E
  30. // A0 A1 A2 A3 A4 A5 A6 A7 C7 C6 C5 C4 C3 C2 D7
  31. #define LAYOUT_60_ansi(\
  32. K04, K14, K24, K34, K44, K54, K64, K74, K84, K94, KA4, KB4, KC4, KE4, \
  33. K03, K13, K23, K33, K43, K53, K63, K73, K83, K93, KA3, KB3, KC3, KD3, \
  34. K02, K12, K22, K32, K42, K52, K62, K72, K82, K92, KA2, KB2, KD2, \
  35. K01, K21, K31, K41, K51, K61, K71, K81, K91, KA1, KB1, KD1, \
  36. K00, K10, K20, K70, K90, KA0, KC0, KD0 \
  37. ){ \
  38. { K00, K10, K20, KC_NO, KC_NO, KC_NO, KC_NO, K70, KC_NO, K90, KA0, KC_NO, KC0, KD0, KC_NO }, \
  39. { K01, KC_NO, K21, K31, K41, K51, K61, K71, K81, K91, KA1, KB1, KC_NO, KD1, KC_NO }, \
  40. { K02, K12, K22, K32, K42, K52, K62, K72, K82, K92, KA2, KB2, KC_NO, KD2, KC_NO }, \
  41. { K03, K13, K23, K33, K43, K53, K63, K73, K83, K93, KA3, KB3, KC3, KD3, KC_NO }, \
  42. { K04, K14, K24, K34, K44, K54, K64, K74, K84, K94, KA4, KB4, KC4, KC_NO, KE4 }, \
  43. }
  44. // 0 1 2 3 4 5 6 7 8 9 A B C D E
  45. // A0 A1 A2 A3 A4 A5 A6 A7 C7 C6 C5 C4 C3 C2 D7
  46. #define LAYOUT_60_ansi_split_rshift(\
  47. K04, K14, K24, K34, K44, K54, K64, K74, K84, K94, KA4, KB4, KC4, KE4, \
  48. K03, K13, K23, K33, K43, K53, K63, K73, K83, K93, KA3, KB3, KC3, KD3, \
  49. K02, K12, K22, K32, K42, K52, K62, K72, K82, K92, KA2, KB2, KD2, \
  50. K01, K21, K31, K41, K51, K61, K71, K81, K91, KA1, KB1, KD1, KE1, \
  51. K00, K10, K20, K70, K90, KA0, KC0, KD0 \
  52. ){ \
  53. { K00, K10, K20, KC_NO, KC_NO, KC_NO, KC_NO, K70, KC_NO, K90, KA0, KC_NO, KC0, KD0, KC_NO }, \
  54. { K01, KC_NO, K21, K31, K41, K51, K61, K71, K81, K91, KA1, KB1, KC_NO, KD1, KE1 }, \
  55. { K02, K12, K22, K32, K42, K52, K62, K72, K82, K92, KA2, KB2, KC_NO, KD2, KC_NO }, \
  56. { K03, K13, K23, K33, K43, K53, K63, K73, K83, K93, KA3, KB3, KC3, KD3, KC_NO }, \
  57. { K04, K14, K24, K34, K44, K54, K64, K74, K84, K94, KA4, KB4, KC4, KC_NO, KE4 }, \
  58. }
  59. // 0 1 2 3 4 5 6 7 8 9 A B C D E
  60. // A0 A1 A2 A3 A4 A5 A6 A7 C7 C6 C5 C4 C3 C2 D7