wanderland.h 6.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. /* Copyright 2021 KiwiKey
  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. /* Layout Alice split-backspace
  19. * ┌───┐ ┌───┬───┬───┬───┬───┬───┬───┐ ┌───┬───┬───┬───┬───┬───┬───┬───┐
  20. * │02 │ │10 │11 │12 │13 │14 │15 │05 │ │06 │16 │17 │18 │19 │1A │1B │1C │
  21. * ├───┤ ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┘ ┌─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤
  22. * │01 │ │ 20 │21 │22 │23 │24 │25 │ │07 │26 │27 │28 │29 │2A │2B │ 2C │
  23. * ├───┤ ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ └┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
  24. * │00 │ │ 30 │31 │32 │33 │34 │35 │ │36 │37 │38 │39 │3A │3B │ 3C │
  25. * ├───┤ ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┐ ┌─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤
  26. * │03 │ │ 40 │41 │42 │43 │44 │45 │ │46 │47 │48 │49 │4A │4B │ 5B │4C │
  27. * └───┘ ├──────┬─┴──┬┴───┴┬──┴───┴┬──┴─┐ ├───┴───┴──┬┴───┴┬──┴───┴────┬─┴───┤
  28. * │ 50 │ │ 52 │ 53 │ 55 │ │ 57 │ 59 │ │ 5C │
  29. * └──────┘ └─────┴───────┴────┘ └──────────┴─────┘ └─────┘
  30. */
  31. #define LAYOUT_alice_split_bs( \
  32. k02, k10, k11, k12, k13, k14, k15, k05, k06, k16, k17, k18, k19, k1A, k1B, k1C, \
  33. k01, k20, k21, k22, k23, k24, k25, k07, k26, k27, k28, k29, k2A, k2B, k2C, \
  34. k00, k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, \
  35. k03, k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4A, k4B, k5B, k4C, \
  36. k50, k52, k53, k55, k57, k59, k5C \
  37. ) \
  38. { \
  39. { k00, k01, k02, k03, KC_NO, k05, k06, k07, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, \
  40. { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C }, \
  41. { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C }, \
  42. { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C }, \
  43. { k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4A, k4B, k4C }, \
  44. { k50, KC_NO, k52, k53, KC_NO, k55, KC_NO, k57, KC_NO, k59, KC_NO, k5B, k5C } \
  45. }
  46. /* Layout Alice
  47. * ┌───┐ ┌───┬───┬───┬───┬───┬───┬───┐ ┌───┬───┬───┬───┬───┬───┬───────┐
  48. * │02 │ │10 │11 │12 │13 │14 │15 │05 │ │06 │16 │17 │18 │19 │1A │ 1B │
  49. * ├───┤ ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┘ ┌─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
  50. * │01 │ │ 20 │21 │22 │23 │24 │25 │ │07 │26 │27 │28 │29 │2A │2B │ 2C │
  51. * ├───┤ ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ └┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
  52. * │00 │ │ 30 │31 │32 │33 │34 │35 │ │36 │37 │38 │39 │3A │3B │ 3C │
  53. * ├───┤ ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┐ ┌─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤
  54. * │03 │ │ 40 │41 │42 │43 │44 │45 │ │46 │47 │48 │49 │4A │4B │ 5B │4C │
  55. * └───┘ ├──────┬─┴──┬┴───┴┬──┴───┴┬──┴─┐ ├───┴───┴──┬┴───┴┬──┴───┴────┬─┴───┤
  56. * │ 50 │ │ 52 │ 53 │ 55 │ │ 57 │ 59 │ │ 5C │
  57. * └──────┘ └─────┴───────┴────┘ └──────────┴─────┘ └─────┘
  58. */
  59. #define LAYOUT_alice( \
  60. k02, k10, k11, k12, k13, k14, k15, k05, k06, k16, k17, k18, k19, k1A, k1B, \
  61. k01, k20, k21, k22, k23, k24, k25, k07, k26, k27, k28, k29, k2A, k2B, k2C, \
  62. k00, k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, \
  63. k03, k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4A, k4B, k5B, k4C, \
  64. k50, k52, k53, k55, k57, k59, k5C \
  65. ) \
  66. { \
  67. { k00, k01, k02, k03, KC_NO, k05, k06, k07, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, \
  68. { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, KC_NO }, \
  69. { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C }, \
  70. { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C }, \
  71. { k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4A, k4B, k4C }, \
  72. { k50, KC_NO, k52, k53, KC_NO, k55, KC_NO, k57, KC_NO, k59, KC_NO, k5B, k5C } \
  73. }