miryoku_hd_gold_config.h 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325
  1. /*
  2. Copyright 2018 Eric Gebhart <e.a.gebhart@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. /* This configuration creates a miryoku system with */
  15. /* Qwerty and Hands Down Gold. as base layers. */
  16. /* It also usess layers which are the same or very closely resemble */
  17. /* the layers of miryoku. These can be swapped out for other choices */
  18. /* as desired. */
  19. /* The language is set to EN, so KC_ keycodes are used. */
  20. /* The oled is on, rgb is off, see below. */
  21. #ifndef USERSPACE_CONFIG_H
  22. #define USERSPACE_CONFIG_H
  23. // pro-micro v3's don't always detect otherwise.
  24. /* #define SPLIT_USB_DETECT */
  25. #define NO_ACTION_MACRO
  26. #define NO_ACTION_FUNCTION
  27. // Sets good default for the speed of the mouse.
  28. #undef MOUSEKEY_INTERVAL
  29. #undef MOUSEKEY_DELAY
  30. #undef MOUSEKEY_TIME_TO_MAX
  31. #undef MOUSEKEY_MAX_SPEED
  32. #define MOUSEKEY_INTERVAL 20
  33. #define MOUSEKEY_DELAY 100
  34. #define MOUSEKEY_TIME_TO_MAX 60
  35. #define MOUSEKEY_MAX_SPEED 7
  36. #undef MOUSEKEY_WHEEL_MAX_SPEED
  37. #undef MOUSEKEY_WHEEL_TIME_TO_MAX
  38. #undef MOUSEKEY_WHEEL_DELAY
  39. #define MOUSEKEY_WHEEL_MAX_SPEED 5
  40. #define MOUSEKEY_WHEEL_TIME_TO_MAX 60
  41. #define MOUSEKEY_WHEEL_DELAY 100
  42. #undef TAPPING_TOGGLE
  43. #undef TAPPING_TERM
  44. #undef IGNORE_MOD_TAP_INTERRUPT
  45. #define TAPPING_TOGGLE 2
  46. #define TAPPING_TERM 200
  47. #define IGNORE_MOD_TAP_INTERRUPT
  48. #define TAP_HOLD_TERM 200
  49. #define COMBO_MUST_HOLD_MODS
  50. #define COMBO_HOLD_TERM 150
  51. #define TAP_CODE_DELAY 5 // for send string with delay
  52. /* Control switches for my keymaps. */
  53. /* if needed, this goes in the keyboard's config.h */
  54. /* Alternately, fix the number row in the layout template. */
  55. /* #define BASE_NUMBER_ROW // turn on 4 row base templates. */
  56. // Extensions, turn them on and off.
  57. #define USERSPACE_H "ericgebhart.h"
  58. // Layout definitions, which language, thumb cluster, mod layer.
  59. // Columns in and out.
  60. // the default. set it, use it, set it back.
  61. // US_INT // EN, BEPO, US_INT
  62. #define LANG_IS EN
  63. #define DEFAULT_LANG EN
  64. #define DEFAULT_LANG_NAME " en"
  65. // Enable a second locale, for another set of layers.
  66. // This will add bepo versions of all layers chosen.
  67. /* #define SECOND_LOCALE BEPO */
  68. /* #define SECOND_LOCALE_NAME " bepo" */
  69. // Choose a mod layer. Can be changed per layer.
  70. // TRNS, ALT, HRS_NAV HRM_GACS, HRM_SCAG, HRM_GASC, MIRYOKU_HRM_GASC
  71. #define MODS_ARE MIRYOKU_HRM_GACS
  72. #define DEFAULT_MODS MODS_ARE
  73. // Choose a thumb cluster.
  74. // WI, WIa, DEFAULT, TEST, TRNS, MODS, LAYERS, MODS_LAYERS,
  75. // MIRYOKU, MIRYOKU_TR, MODS_LAYERS_NAV,
  76. // The following use THUMB_LETTER to place a letter on the Thumbs.
  77. // for use with the hands down metals, maltron, and rsthd.
  78. // HD, HDA, HD_SIMPLE, TH_LTR, HD_DASH,
  79. // MIRYOKU_TR_LTR, MIRYOKU_LTR
  80. // MIRYOKU_TR_LTR_TAB, MIRYOKU_LTR_TAB
  81. #define THUMBS_ARE DEFAULT
  82. #define DEFAULT_THUMBS DEFAULT
  83. // pick the edge key set. normie, no kc, smart locks or test.
  84. // NORM, NOKC, SML, TEST
  85. #define EDGE_KEY_SET_IS SML
  86. #define DEFAULT_EDGE_SET SML
  87. // for the base layers which need a thumb cluster which takes a letter.
  88. #define HANDS_DOWN_LTR_THUMBS_ARE MIRYOKU_LTR_TAB
  89. #define MALTRON_LTR_THUMBS_ARE TH_LTR
  90. #define RSTHD_LTR_THUMBS_ARE TH_LTR
  91. // layout io, matrix size.
  92. // a reasonable default for most keyboards.
  93. // give a 3x10 and get a 3x12, managed in keyboards/keyboards.h
  94. #define BASE_COLS_IN_OUT 5_6 // 5, 5_6, 6
  95. // OLED STUFF.
  96. #define OLED_CUSTOM_ENABLE // custom oled here.
  97. //#define OLED_LOGO_ENABLE // turn on/off the logo.
  98. //#define KEYLOGGER_ENABLE // 1500 bytes, track and print keypress info to oled.
  99. //#define SPLIT_LAYER_STATE_ENABLE // to sync state between sides.
  100. // EXTENSIONS
  101. // Combos
  102. #define COMBO_REF_LAYER_ENABLE
  103. // #define COMBO_REF_LAYER_TWO_ENABLE
  104. // works if you know the number of your layer.
  105. // otherwise set and use them later.
  106. // #define COMBO_ONLY_FROM_LAYER 2
  107. // #define COMBO_REF_DEFAULT 2
  108. // Console key logging for creation of heatmaps, etc.
  109. // CONSOLE must be enabled for this to work.
  110. // To create Precondition's heat maps, from console key logging
  111. // with hid_listen or qmk console
  112. //#define CONSOLE_KEY_LOGGER_ENABLE // turn on keylogging for heat maps.
  113. #define ALT_LOCAL_ENABLE // alternate key combinations, with mods as needed.
  114. //#define ACCENTED_KEYS_ENABLE // direct access to altgr keys.
  115. #define SMART_LOCK_ENABLE // smart lock layers and mods.
  116. //#define MOD_LOCK_ENABLE // smart lock mods, similar/overlapping with Smart lock.
  117. #define NSHOT_ENABLE // smart n-shot for count.
  118. //#define ONESHOT_MOD_ENABLE // oneshot mods, similar/overlapping with nshots
  119. #define CAPS_WORD_ENABLE // caps word. both shifts to caps a word.
  120. #define TAP_HOLD_ENABLE // tap for one thing, hold for tapping term to get another.
  121. //#define SWAPPER_ENABLE // enable swapper keys.
  122. #define NOT_DEAD_ENABLE // make undead versions (US_DQUO_ND) of dead keys.
  123. //#define ALT_SHIFT_ENABLE // alternate shift behaviors for existing keys.
  124. //#define SEND_STRING_ENABLE // Turn on send string keys
  125. //#define SEND_UNICODE_ENABLE // Unicode must be enabled for this to work.
  126. // Turn on the base layers do not exceed 4 if doing two locales.
  127. // That will likely push a layer past 15 and then it will
  128. // no longer work with the LT macro.
  129. // dvorak and relatives
  130. //#define DVORAK_LAYER_ENABLE
  131. //#define CAPEWELL_DVORAK_LAYER_ENABLE
  132. //#define AHEI_LAYER_ENABLE
  133. //#define BOO_LAYER_ENABLE
  134. // qwerty and derivitives
  135. #define QWERTY_LAYER_ENABLE
  136. //#define AZERTY_LAYER_ENABLE
  137. //#define WORKMAN_LAYER_ENABLE
  138. //#define NORMAN_LAYER_ENABLE
  139. // COLEMAK and relatives
  140. //#define COLEMAK_LAYER_ENABLE
  141. //#define COLEMAK_DH_LAYER_ENABLE
  142. //#define HALMAK_LAYER_ENABLE
  143. //#define MINIMAK_LAYER_ENABLE
  144. //#define MINIMAK_8_LAYER_ENABLE
  145. //#define MINIMAK_12_LAYER_ENABLE
  146. // BEAKL
  147. // #define BEAKL15_LAYER_ENABLE
  148. //#define BEAKL19_LAYER_ENABLE
  149. //#define BEAKL27_LAYER_ENABLE
  150. //#define BEAKLWI_LAYER_ENABLE
  151. // carpalx layouts
  152. //#define CARPALX_QFMLWY_LAYER_ENABLE
  153. //#define CARPALX_QGMLWB_LAYER_ENABLE
  154. //#define CARPALX_QGMLWY_LAYER_ENABLE
  155. // alternate layouts
  156. //#define MALTRON_LAYER_ENABLE
  157. //#define EUCALYN_LAYER_ENABLE
  158. //#define HANDS_UP_LAYER_ENABLE
  159. //#define RSTHD_LAYER_ENABLE
  160. //#define HANDS_UP_LAYER_ENABLE
  161. //#define WHITE_LAYER_ENABLE
  162. //#define ISRT_LAYER_ENABLE
  163. //#define SOUL_LAYER_ENABLE
  164. //#define NIRO_LAYER_ENABLE
  165. //#define ASSET_LAYER_ENABLE
  166. //#define WHORF_LAYER_ENABLE
  167. //#define WHORF6_LAYER_ENABLE
  168. // mtgap and relatives
  169. //#define MTGAP_LAYER_ENABLE
  170. //#define CTGAP_LAYER_ENABLE
  171. //#define APT_LAYER_ENABLE
  172. // Hands down
  173. //#define HD_NEU_NARROW_LAYER_ENABLE
  174. //#define HD_REF_LAYER_ENABLE
  175. //#define HD_DASH_LAYER_ENABLE
  176. //#define HD_ELAN_LAYER_ENABLE
  177. //#define HD_BRONZE_LAYER_ENABLE
  178. //#define HD_SILVER_LAYER_ENABLE
  179. //#define HD_PLATINUM_LAYER_ENABLE
  180. #define HD_GOLD_LAYER_ENABLE
  181. // 3x12 sized base layers
  182. //--------------------------
  183. //#define HD_NEU_LAYER_ENABLE
  184. // additionally all these have accent characters on base layer.
  185. //#define BEPO_LAYER_ENABLE
  186. //#define OPTIMOT_LAYER_ENABLE
  187. //#define BEAKL19bis_LAYER_ENABLE
  188. // enable transient function layers.
  189. #define SYMBOL_LAYER_ENABLE
  190. #define NAV_LAYER_ENABLE
  191. // #define MOUSE_LAYER_ENABLE
  192. //#define TOPROWS_LAYER_ENABLE
  193. // #define LAYERS_LAYER_ENABLE - defunct. always on.
  194. #define KEYPAD_LAYER_ENABLE
  195. //#define ADJUST_LAYER_ENABLE
  196. //#define RGB_LAYER_ENABLE
  197. #define MEDIA_LAYER_ENABLE
  198. #define FUNC_LAYER_ENABLE
  199. // define alternate thumb definitions for the transient layers.
  200. #define MEDIA_LAYER_THUMBS MEDIA_THUMBS
  201. #define MOUSE_LAYER_THUMBS MOUSE_THUMBS
  202. #define NAV_LAYER_THUMBS TRNS_THUMBS
  203. #define KEYPAD_LAYER_THUMBS KEYPAD_THUMBS
  204. #define SYMB_LAYER_THUMBS SYMB_THUMBS
  205. #define TOPROWS_LAYER_THUMBS DEFAULT
  206. // Extra character layers.
  207. // Bepo has dead keys (altgr) and accented keycodes
  208. // A layer of accented keys
  209. // #define ACCENTS_LAYER_ENABLE
  210. // A layer of dead keys
  211. // #define MORTE_LAYER_ENABLE
  212. // A layer of the most popular accented keys and dead keys
  213. // #define ACCENTS_MORTE_LAYER_ENABLE
  214. // Functional layer choices.
  215. /* configure the function layers. */
  216. /* They have to be turned on above. */
  217. /* Choose one of each as desired. */
  218. /* There are reasonable defaults */
  219. /* for each if nothing is defined. */
  220. /* nav */
  221. //#define NAV_FULL // monolithic, two sided nav with mouse and arrows.
  222. //#define NAV_FULL_LOCK_MODS // Replace left mouse buttons with lockmods.
  223. // Just the non mouse bits, with lock mods, n-shot mods on the left.
  224. // if mousekeys enabled, adds a mouse layer accessible via smart lock.
  225. // #define NAV_NO_MOUSE
  226. #define NAV_MIRYOKU
  227. #define NAV_MOUSE_MIRYOKU
  228. /* keypads */
  229. // beakl keypads are usual, if not chosen, regular keypads will be used.
  230. // left side is the default.
  231. // Beakl, except for WI, is only on the left side.
  232. // Miryoku is on the left also.
  233. //#define KEYPAD_RIGHT
  234. //#define KEYPAD_BEAKL // beakl doesn't have a rightside, swap hands?
  235. //#define KEYPAD_MODS // give mods on the other side instead of funcs.
  236. //#define KEYPAD_BEAKL_WI // right side with hexpad on left.
  237. #define KEYPAD_MIRYOKU // use the miryoku keypad
  238. // the default if nothing chosen,
  239. // is a functionpad on the left and normal keypad on the right.
  240. // funcpad from miryoku
  241. #define FUNCPAD_MIRYOKU
  242. /* symbols */
  243. // pick one of these or get the default.
  244. //#define SYMBOL_BEAKL // original - the default if nothing else.
  245. //#define SYMBOL_BEAKL_EXT // extended for non beakl base layers.
  246. //#define SYMBOL_BEAKL_EXT_VI // extended with vi keybinding in mind.
  247. //#define SYMBOL_BEAKL_C // more alterations by frequency
  248. // #define SYMBOL_NEO // The symbol layer from the Neo layout.
  249. #define SYMBOL_MIRYOKU // minimalist symbols after miryoku
  250. //#define SYMBOL_BEAKL_WI // original wi
  251. /* toprows. */
  252. // The default, if not defined, is a standard qwerty set of rows.
  253. // symbols, numbers, function keys. Numbers on the home row.
  254. // #define TOPROWS_BKL_15_NUMS // center row with Beakl15 order. 40123 76598.
  255. // #define TOPROWS_BKL_19_NUMS // Beakl 19 order: 32104 76598
  256. //#define TOPROWS_MOD // beakl 15 nums, oneshot and smart lock mods. no Fkeys.
  257. #endif