beakl.h 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158
  1. #pragma once
  2. /*
  3. Copyright 2018-2022 Eric Gebhart <e.a.gebhart@gmail.com>
  4. This program is free software: you can redistribute it and/or modify
  5. it under the terms of the GNU General Public License as published by
  6. the Free Software Foundation, either version 2 of the License, or
  7. (at your option) any later version.
  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. You should have received a copy of the GNU General Public License
  13. along with this program. If not, see <http://www.gnu.org/licenses/>.
  14. */
  15. // beakl, balanced effort key layout.
  16. // Beakl 15 and 19 are somewhat more related.
  17. // Beakl-wi is the latest. It feels a little bit more like a system.
  18. // Remember the - and ; outside pinky keys.
  19. // Or use the 6 size.
  20. // Both are on the symbol layer too. So you
  21. // wont lose them at least.
  22. // KC_BK_COMM, KC_BK_QUOT, KC_BK_DOT - Beakl->Qwerty
  23. // BP_BK_COMM, BP_BK_QUOT, BP_BK_DOT - Beakl->Bepo
  24. // take care of the different shifted chars.
  25. /* BEAKL 27 (main layer): */
  26. /* // altered shifted pairs: dot = .` comma = ,? dquot = !" */
  27. /* Alt target is BK2 */
  28. /* 32104 76598 */
  29. /* qhoux gcmrv */
  30. /* yiea. dstnb */
  31. /* j",k' wflpz */
  32. /* BEAKL 27 (shift layer): */
  33. /* !@$#% ^(*)& */
  34. /* QHOUX GCMRV */
  35. /* YIEA` DSTNB */
  36. /* J!?K' WFLPZ */
  37. #define CARTE_BEAKL27 \
  38. carte_de_map(" qhoux gcmrz ", \
  39. " yiea. dstnb ", \
  40. " j\",k' wflpv ")
  41. // Alt target is BK
  42. #define ___BEAKL27___ \
  43. LANG_MAP(_Q, _H, _O, _U, _X, _G, _C, _M, _R, _Z, \
  44. _Y, _I, _E, _A, TL_DOT, _D, _S, _T, _N, _B, \
  45. _J, TL_EXLM, TL_COMM, _K, TL_QUOT, _W, _F, _L, _P, _V)
  46. /* BEAKL 15 (main layer): */
  47. // altered shifted pairs: quot = '` comma = ,! dot = .@
  48. /* 40123 76598 */
  49. #define CARTE_BEAKL15 \
  50. carte_de_map(" qhoux gcrfz ", \
  51. " yiea. dstnb ", \
  52. " j/,k' wmlpv ")
  53. // Alt target is BK
  54. #define ___BEAKL15___ \
  55. LANG_MAP(_Q, _H, _O, _U, _X, _G, _C, _R, _F, _Z, \
  56. _Y, _I, _E, _A, TL_DOT, _D, _S, _T, _N, _B, \
  57. _J, _SLSH, TL_COMM, _K, TL_QUOT, _W, _M, _L, _P, _V)
  58. /* BEAKL 19 */
  59. // Beakl 19. scores better than 15, better in french also.
  60. // Both are lots better than dvorak or bepo.
  61. /* same symbols and keypad as 15 */
  62. /* number row is different */
  63. /* 32104 76598 */
  64. // Alt target is BK
  65. #define CARTE_BEAKL19 \
  66. carte_de_map(" q.ouj wdnm, ", \
  67. " haeik gsrtp ", \
  68. " z'/yx bclfv ")
  69. #define ___BEAKL19___ \
  70. LANG_MAP(_Q, _DOT, _O, _U, _J, _W, _D, _N, _M, TL_COMM, \
  71. _H, _A, _E, _I, _K, _G, _S, _R, _T, _P, \
  72. _Z, _QUOT, _SLSH, _Y, _X, _B, _C, _L, _F, _V)
  73. //BEAKL 19bis - original.
  74. // the é and è were simply added for analysis not real use.
  75. // even so, this layout scores well for french, better than
  76. // bepo and mtgap
  77. /* qyouz wdnck */
  78. /* -hiea, gtrsp; */
  79. /* èj'é.x vmlfb */
  80. // A 3x12
  81. //BEAKL 19bis mod z.
  82. // French optimised with some english.
  83. // This version rearranges things a little based on fequency.
  84. // Since it needs 3x12, I filled in the corners and removed ;.
  85. // Leaving y where it is. the o and the e might cause sfbs.
  86. // Put é on a different finger from e.
  87. // swap z, e's, add à, ^, and ê, swap ; for -.
  88. // it might be beneficial to swap w and à, as à is much more frequent than w
  89. #define CARTE_BEAKL19bis \
  90. carte_de_map(" àqyoué wdnck^ ", \
  91. " ;hiea, gtrsp- ", \
  92. " zj'è.x vmlfbê ")
  93. #define ___BEAKL19bis_3x12___ \
  94. LANG_MAP6( \
  95. _AGRV, _Q, _Y, _O, _U, _EACU, _W, _D, _N, _C, _K, _DCIR, \
  96. _SCLN, _H, _I, _E, _A, _COMM, _G, _T, _R, _S, _P, _MINS, \
  97. _Z, _J, _QUOT, _EGRV, _DOT, _X, _V, _M, _L, _F, _B, _ECIR)
  98. // Beakl Wi. This is the most current beakl this size. 18/01/2022.
  99. // Nothing on the 6th outer columns but layer toggle buttons. All 6.
  100. // altered shifted pairs: dot = .` comma = ,~ colon = :;
  101. // i is on the left thumb.
  102. /* ;you- ctrsv */
  103. /* qheaw gdnmz */
  104. /* j,.k' bplfx */
  105. /* i */
  106. #define CARTE_BEAKLWI \
  107. carte_de_map(" ;you- ctrsv ", \
  108. " qheaw gdnmz ", \
  109. " j,.k' bplfx i")
  110. #define ___BEAKLWI___ \
  111. LANG_MAP(TL_COLN, _Y, _O, _U, _MINS, _C, _T, _R, _S, _V, \
  112. _Q, _H, _E, _A, _W, _G, _D, _N, _M, _Z, \
  113. _J, TL_COMM, TL_DOT, _K, _QUOT, _B, _P, _L, _F, _X)
  114. // Thumbs.
  115. #define ___BEAKLWI_CRKBD_THUMBS___ LT_ESC, LT_I, LT_TAB, LT_ENT, LT_SPC, LT_BSPC
  116. // My version, loses KC_mins, because it's easier on my symbol layer.
  117. // put I in it's dvorak spot instead of thumbs, move W up to make room for I.
  118. // I'd rather have w and i on different fingers. One domino...
  119. // beakl-wi - mod iw-
  120. #define CARTE_BEAKLWIa \
  121. carte_de_map(" ;youw ctrsv ", \
  122. " qheai gdnmz ", \
  123. " j,.k' bplfx ")
  124. // Alt target is BKW
  125. #define ___BEAKLWIa___ \
  126. LANG_MAP(TL_COLN, _Y, _O, _U, _W, _C, _T, _R, _S, _V, \
  127. _Q, _H, _E, _A, _I, _G, _D, _N, _M, _Z, \
  128. _J, TL_COMM, TL_DOT, _K, _QUOT, _B, _P, _L, _F, _X)