infinity60.h 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. /*
  2. Copyright 2014 Jun Wako <wakojun@gmail.com>
  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. #ifdef INFINITY_PROTOTYPE
  17. /* Infinity prototype */
  18. #define LAYOUT_60_ansi_split_bs_rshift( \
  19. K00, K10, K20, K30, K40, K50, K60, K70, K80, K01, K11, K21, K31, K41, K86, \
  20. K51, K61, K71, K81, K02, K12, K22, K32, K42, K52, K62, K72, K82, K03, \
  21. K13, K23, K33, K43, K53, K63, K73, K83, K04, K14, K24, K34, K44, \
  22. K54, K64, K74, K84, K05, K15, K25, K35, K45, K55, K65, K75, K85, \
  23. K06, K16, K26, K36, K46, K56, K66, K76 \
  24. ) { \
  25. { K00, K01, K02, K03, K04, K05, K06 }, \
  26. { K10, K11, K12, K13, K14, K15, K16 }, \
  27. { K20, K21, K22, K23, K24, K25, K26 }, \
  28. { K30, K31, K32, K33, K34, K35, K36 }, \
  29. { K40, K41, K42, K43, K44, K45, K46 }, \
  30. { K50, K51, K52, K53, K54, K55, K56 }, \
  31. { K60, K61, K62, K63, K64, K65, K66 }, \
  32. { K70, K71, K72, K73, K74, K75, K76 }, \
  33. { K80, K81, K82, K83, K84, K85, K86 } \
  34. }
  35. #else
  36. /* Infinity production */
  37. #define LAYOUT_60_ansi_split_bs_rshift( \
  38. K00, K10, K20, K30, K40, K50, K60, K70, K80, K01, K11, K21, K31, K41, K51, \
  39. K61, K71, K81, K02, K12, K22, K32, K42, K52, K62, K72, K82, K03, K13, \
  40. K23, K33, K43, K53, K63, K73, K83, K04, K14, K24, K34, K44, K54, \
  41. K64, K74, K84, K05, K15, K25, K35, K45, K55, K65, K75, K85, K06, \
  42. K16, K26, K36, K46, K56, K66, K76, K86 \
  43. ) { \
  44. { K00, K01, K02, K03, K04, K05, K06 }, \
  45. { K10, K11, K12, K13, K14, K15, K16 }, \
  46. { K20, K21, K22, K23, K24, K25, K26 }, \
  47. { K30, K31, K32, K33, K34, K35, K36 }, \
  48. { K40, K41, K42, K43, K44, K45, K46 }, \
  49. { K50, K51, K52, K53, K54, K55, K56 }, \
  50. { K60, K61, K62, K63, K64, K65, K66 }, \
  51. { K70, K71, K72, K73, K74, K75, K76 }, \
  52. { K80, K81, K82, K83, K84, K85, K86 } \
  53. }
  54. #endif