hands_down.h 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147
  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. // https://sites.google.com/alanreiser.com/handsdown/home
  16. // The only 3x12 layout. The rest are 3x10.
  17. #define CARTE_HD_NEU \
  18. carte_de_map( " wfmpv /.q\"'z", \
  19. " rsntb ,aeihj", \
  20. " xcldg -uoykK")
  21. #define ___HD_NEU___ \
  22. LANG_MAP(_SML_NAV, _W, _F, _M, _P, _V , TL_SLSH, TL_DOT, _Q, TL_DQUO, TL_QUOT, _Z, \
  23. _TAB, _R, _S, _N, _T, _B , TL_COMM, _A, _E, _I, _H, _J, \
  24. _OS_ACCENT, _X, _C, _L, _D, _G , TL_MINS, _U, _O, _Y, _K, _SML_KEYPAD)
  25. // modified to fit 3x10.
  26. #define CARTE_HD_NEU_NARROW \
  27. carte_de_map(" xcldb zuoyq", \
  28. " rsntg ,aeih", \
  29. " wfmpv ;./jk")
  30. #define ___HD_NEU_NARROW___ \
  31. LANG_MAP(_X, _C, _L, _D, _B, _Z, _U, _O, _Y, _Q, \
  32. _R, _S, _N, _T, _G, TL_COMM, _A, _E, _I, _H, \
  33. _W, _F, _M, _P, _V, _SCLN, TL_DOT, TL_SLSH, _J, _K)
  34. #define CARTE_HD_REF \
  35. carte_de_map(" qchpv kyoj/", \
  36. " rsntg wueia", \
  37. " xmldb zf',.")
  38. #define ___HD_REF___ \
  39. LANG_MAP(_Q, _C, _H, _P, _V, _K, _Y, _O, _J, TL_SLSH, \
  40. _R, _S, _N, _T, _G, _W, _U, _E, _I, _A, \
  41. _X, _M, _L, _D, _B, _Z, _F, TL_QUOT, TL_COMM, TL_DOT )
  42. // All of these have a consonant or vowel on the thumb keys.
  43. /* alt shift keys "? '! dash and elan */
  44. /* (< {[ - elan */
  45. /* dash has thumbs of ,; and .: */
  46. /* dash and the rest get these too. */
  47. /* alt shifts ;: .& /\* '? "! ,| -+ */
  48. /* COMBOS - z = jg, z=vg, q=uk, q=mp. */
  49. // no z or q, use combos.
  50. #define CARTE_HD_TITANIUM \
  51. carte_de_map(" jgmpv ;./\"' ", \
  52. " csntw ,aeih ", \
  53. " xfldb -uoyk r")
  54. #define ___HD_TITANIUM___ \
  55. LANG_MAP(_J, _G, _M, _P, _V, TL_SCLN, TL_DOT, TL_SLSH, TL_DQUO, TL_QUOT, \
  56. _C, _S, _N, _T, _W , TL_COMM, _A, _E, _I, _H, \
  57. _X, _F, _L, _D, _B , TL_MINS, _U, _O, _Y, _K)
  58. #define CARTE_HD_GOLD \
  59. carte_de_map(" jgmpv ;./\"' ", \
  60. " rsndb ,aeih ", \
  61. " xflcw -uoyk t")
  62. #define ___HD_GOLD___ \
  63. LANG_MAP(_J, _G, _M, _P, _V, TL_SCLN, TL_DOT, TL_SLSH, TL_DQUO, TL_QUOT, \
  64. _R, _S, _N, _D, _B , TL_COMM, _A, _E, _I, _H, \
  65. _X, _F, _L, _C, _W , TL_MINS, _U, _O, _Y, _K)
  66. /* t, ␣ */
  67. /* jz pq alt shifts ;: .& /\* '? "! ,| -+ */
  68. #define CARTE_HD_PLATINUM \
  69. carte_de_map( "jghpv ;./'\"", \
  70. "rsntb ,aeic", \
  71. "xfmdk -uowy l")
  72. /* l ␣ */
  73. #define ___HD_PLATINUM___ \
  74. LANG_MAP(_J, _G, _H, _P, _V, TL_SCLN, TL_DOT, TL_SLSH, TL_QUOT, TL_DQUO, \
  75. _R, _S, _N, _T, _B, TL_COMM, _A, _E, _I, _C, \
  76. _X, _F, _M, _D, _K, TL_MINS, _U, _O, _W, _Y)
  77. #define CARTE_HD_SILVER \
  78. carte_de_map("jgmpv ;./'\"", \
  79. "rshtb ,aeic", \
  80. "xfldk -uowy n")
  81. /* n ␣ */
  82. #define ___HD_SILVER___ \
  83. LANG_MAP(_J, _G, _M, _P, _V, TL_SCLN, TL_DOT, TL_SLSH, TL_QUOT, TL_DQUO, \
  84. _R, _S, _H, _T, _B, TL_COMM, _A, _E, _I, _C, \
  85. _X, _F, _L, _D, _K, TL_MINS, _U, _O, _W, _Y)
  86. #define CARTE_HD_BRONZE \
  87. carte_de_map("jgmpv ;./'\"", \
  88. "rsntb ,aeic", \
  89. "xfldk -uowy h")
  90. /* h ␣ */
  91. #define ___HD_BRONZE___ \
  92. LANG_MAP(_J, _G , _M, _P, _V , TL_SCLN, TL_DOT, TL_SLSH , TL_QUOT, TL_DQUO, \
  93. _R, _S, _N, _T, _B , TL_COMM, _A, _E, _I, _C, \
  94. _X, _F, _L, _D, _K , TL_MINS, _U, _O, _W, _Y)
  95. #define CARTE_HD_ELAN \
  96. carte_de_map("vghpk /({'\"", \
  97. "rsntf jaeci", \
  98. "xmldb -uowy")
  99. /* ,; .: ␣ ⏎ */
  100. /* vz g h p kq /\* (< {[ '! "? */
  101. /* TL_COMM; TL_DOT: _␣ ⏎ */
  102. #define ___HD_ELAN___ \
  103. LANG_MAP(_V, _G, _H, _P, _K, TL_SLSH, TL_LPRN, TL_LCBR, TL_QUOT, TL_DQUO, \
  104. _R, _S, _N, _T, _F, _J, _A, _E, _C, _I, \
  105. _X, _M, _L, _D, _B, TL_MINS, _U, _O, _W, _Y)
  106. #define CARTE_HD_DASH \
  107. carte_de_map("jgmpv ;.'\"/", \
  108. "rsntb ,haoi", \
  109. "xcldw -fuky e")
  110. /* e ␣ */
  111. #define ___HD_DASH___ \
  112. LANG_MAP(_J, _G, _M, _P, _V , TL_SCLN, TL_DOT, TL_QUOT, TL_DQUO, TL_SLSH, \
  113. _R, _S, _N, _T, _B , TL_COMM, _H, _A, _O, _I, \
  114. _X, _C, _L, _D, _W , TL_MINS, _F, _U, _K, _Y)