keymap.c 93 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096
  1. /* Copyright (C) 2020 Nathan Friend
  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 3 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. #include QMK_KEYBOARD_H
  17. #include "version.h"
  18. #include "keymap_german.h"
  19. #include "keymap_nordic.h"
  20. #include "keymap_french.h"
  21. #include "keymap_spanish.h"
  22. #include "keymap_hungarian.h"
  23. #define KC_MAC_UNDO LGUI(KC_Z)
  24. #define KC_MAC_CUT LGUI(KC_X)
  25. #define KC_MAC_COPY LGUI(KC_C)
  26. #define KC_MAC_PASTE LGUI(KC_V)
  27. #define KC_PC_UNDO LCTL(KC_Z)
  28. #define KC_PC_CUT LCTL(KC_X)
  29. #define KC_PC_COPY LCTL(KC_C)
  30. #define KC_PC_PASTE LCTL(KC_V)
  31. #define ___ KC_TRNS
  32. /* Shortcut for Option+Ctrl */
  33. #define OC(keycode) LALT(LCTL(keycode))
  34. enum layer_names {
  35. /* Base layers */
  36. _COLEMAK,
  37. _QWERTY,
  38. _DVORAK,
  39. /* Keys the base layers share */
  40. _COMMON,
  41. /* OS layers */
  42. _MAC,
  43. _WINDOWS,
  44. /* Symbols */
  45. _NUMPAD,
  46. _SYMBOLS,
  47. /* Window management */
  48. _WM_MAC,
  49. _WM_WINDOWS,
  50. /* Navigation */
  51. _ARROWS_MAC,
  52. _ARROWS_WINDOWS,
  53. _MISC
  54. };
  55. enum custom_keycodes {
  56. RGB_SLD = SAFE_RANGE, /* Can always be here */
  57. HSV_0_255_255,
  58. HSV_120_255_128,
  59. HSV_240_255_255,
  60. MAC_MODE,
  61. WINDOWS_MODE,
  62. DYNAMIC_MACRO_RANGE, /* This needs to be last! */
  63. };
  64. const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
  65. /* clang-format off */
  66. [_COLEMAK] = LAYOUT_ergodox(
  67. /* Left hand */
  68. /*=========================================================================================================*/
  69. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  70. /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/
  71. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  72. /*=========================================================================================================*/
  73. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  74. /**/ _______, /**/ KC_Q, /**/ KC_W, /**/ KC_F, /**/ KC_P, /**/ KC_G, /**/ _______, /**/
  75. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  76. /*==========================================================================================*/ /**/
  77. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  78. /**/ _______, /**/ KC_A, /**/ KC_R, /**/ KC_S, /**/ KC_T, /**/ KC_D, /*===============*/
  79. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  80. /*==========================================================================================*/ /**/
  81. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  82. /**/ _______, /**/ KC_Z, /**/ KC_X, /**/ KC_C, /**/ KC_V, /**/ KC_B, /**/ _______, /**/
  83. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  84. /*=========================================================================================================*/
  85. /**/ /**/ /**/ /**/ /**/ /**/
  86. /**/ ___, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/
  87. /**/ /**/ /**/ /**/ /**/ /**/
  88. /*=======================================================================*/
  89. /*==============================*/
  90. /**/ /**/ /**/
  91. /**/ _______, /**/ _______, /**/
  92. /**/ /**/ /**/
  93. /*=============================================*/
  94. /**/ /**/ /**/ /**/
  95. /**/ /**/ /**/ _______, /**/
  96. /**/ /**/ /**/ /**/
  97. /**/ /**/ /*===============*/
  98. /**/ /**/ /**/ /**/
  99. /**/ _______, /**/ _______, /**/ _______, /**/
  100. /**/ /**/ /**/ /**/
  101. /*=============================================*/
  102. /* Right hand */
  103. /*=========================================================================================================*/
  104. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  105. /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/
  106. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  107. /*=========================================================================================================*/
  108. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  109. /**/ _______, /**/ KC_J, /**/ KC_L, /**/ KC_U, /**/ KC_Y, /**/ KC_SCOLON,/**/ _______, /**/
  110. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  111. /**/ /*==========================================================================================*/
  112. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  113. /*===============*/ KC_H, /**/ KC_N, /**/ KC_E, /**/ KC_I, /**/ KC_O, /**/ _______, /**/
  114. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  115. /**/ /*==========================================================================================*/
  116. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  117. /**/ _______, /**/ KC_K, /**/ KC_M, /**/ KC_COMMA, /**/ KC_DOT, /**/ KC_SLASH, /**/ _______, /**/
  118. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  119. /*=========================================================================================================*/
  120. /**/ /**/ /**/ /**/ /**/ /**/
  121. /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ ___, /**/
  122. /**/ /**/ /**/ /**/ /**/ /**/
  123. /*=======================================================================*/
  124. /*==============================*/
  125. /**/ /**/ /**/
  126. /**/ _______, /**/ _______, /**/
  127. /**/ /**/ /**/
  128. /*=============================================*/
  129. /**/ /**/ /**/ /**/
  130. /**/ _______, /**/ /**/ /**/
  131. /**/ /**/ /**/ /**/
  132. /*===============*/ /**/ /**/
  133. /**/ /**/ /**/ /**/
  134. /**/ _______, /**/ _______, /**/ _______ /**/
  135. /**/ /**/ /**/ /**/
  136. /*=============================================*/
  137. ),
  138. [_QWERTY] = LAYOUT_ergodox(
  139. /* Left hand */
  140. /*=========================================================================================================*/
  141. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  142. /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/
  143. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  144. /*=========================================================================================================*/
  145. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  146. /**/ _______, /**/ KC_Q, /**/ KC_W, /**/ KC_E, /**/ KC_R, /**/ KC_T, /**/ _______, /**/
  147. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  148. /*==========================================================================================*/ /**/
  149. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  150. /**/ _______, /**/ KC_A, /**/ KC_S, /**/ KC_D, /**/ KC_F, /**/ KC_G, /*===============*/
  151. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  152. /*==========================================================================================*/ /**/
  153. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  154. /**/ _______, /**/ KC_Z, /**/ KC_X, /**/ KC_C, /**/ KC_V, /**/ KC_B, /**/ _______, /**/
  155. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  156. /*=========================================================================================================*/
  157. /**/ /**/ /**/ /**/ /**/ /**/
  158. /**/ ___, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/
  159. /**/ /**/ /**/ /**/ /**/ /**/
  160. /*=======================================================================*/
  161. /*==============================*/
  162. /**/ /**/ /**/
  163. /**/ _______, /**/ _______, /**/
  164. /**/ /**/ /**/
  165. /*=============================================*/
  166. /**/ /**/ /**/ /**/
  167. /**/ /**/ /**/ _______, /**/
  168. /**/ /**/ /**/ /**/
  169. /**/ /**/ /*===============*/
  170. /**/ /**/ /**/ /**/
  171. /**/ _______, /**/ _______, /**/ _______, /**/
  172. /**/ /**/ /**/ /**/
  173. /*=============================================*/
  174. /* Right hand */
  175. /*=========================================================================================================*/
  176. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  177. /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/
  178. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  179. /*=========================================================================================================*/
  180. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  181. /**/ _______, /**/ KC_Y, /**/ KC_U, /**/ KC_I, /**/ KC_O, /**/ KC_P, /**/ _______, /**/
  182. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  183. /**/ /*==========================================================================================*/
  184. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  185. /*===============*/ KC_H, /**/ KC_J, /**/ KC_K, /**/ KC_L, /**/ KC_SCOLON,/**/ _______, /**/
  186. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  187. /**/ /*==========================================================================================*/
  188. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  189. /**/ _______, /**/ KC_N, /**/ KC_M, /**/ KC_COMMA, /**/ KC_DOT, /**/ KC_SLASH, /**/ _______, /**/
  190. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  191. /*=========================================================================================================*/
  192. /**/ /**/ /**/ /**/ /**/ /**/
  193. /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ ___, /**/
  194. /**/ /**/ /**/ /**/ /**/ /**/
  195. /*=======================================================================*/
  196. /*==============================*/
  197. /**/ /**/ /**/
  198. /**/ _______, /**/ _______, /**/
  199. /**/ /**/ /**/
  200. /*=============================================*/
  201. /**/ /**/ /**/ /**/
  202. /**/ _______, /**/ /**/ /**/
  203. /**/ /**/ /**/ /**/
  204. /*===============*/ /**/ /**/
  205. /**/ /**/ /**/ /**/
  206. /**/ _______, /**/ _______, /**/ _______ /**/
  207. /**/ /**/ /**/ /**/
  208. /*=============================================*/
  209. ),
  210. [_DVORAK] = LAYOUT_ergodox(
  211. /* Left hand */
  212. /*=========================================================================================================*/
  213. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  214. /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/
  215. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  216. /*=========================================================================================================*/
  217. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  218. /**/ _______, /**/ KC_QUOTE, /**/ KC_COMMA, /**/ KC_DOT, /**/ KC_P, /**/ KC_Y, /**/ _______, /**/
  219. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  220. /*==========================================================================================*/ /**/
  221. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  222. /**/ _______, /**/ KC_A, /**/ KC_O, /**/ KC_E, /**/ KC_U, /**/ KC_I, /*===============*/
  223. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  224. /*==========================================================================================*/ /**/
  225. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  226. /**/ _______, /**/ KC_SCOLON,/**/ KC_Q, /**/ KC_J, /**/ KC_K, /**/ KC_X, /**/ _______, /**/
  227. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  228. /*=========================================================================================================*/
  229. /**/ /**/ /**/ /**/ /**/ /**/
  230. /**/ ___, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/
  231. /**/ /**/ /**/ /**/ /**/ /**/
  232. /*=======================================================================*/
  233. /*==============================*/
  234. /**/ /**/ /**/
  235. /**/ _______, /**/ _______, /**/
  236. /**/ /**/ /**/
  237. /*=============================================*/
  238. /**/ /**/ /**/ /**/
  239. /**/ /**/ /**/ _______, /**/
  240. /**/ /**/ /**/ /**/
  241. /**/ /**/ /*===============*/
  242. /**/ /**/ /**/ /**/
  243. /**/ _______, /**/ _______, /**/ _______, /**/
  244. /**/ /**/ /**/ /**/
  245. /*=============================================*/
  246. /* Right hand */
  247. /*=========================================================================================================*/
  248. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  249. /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/
  250. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  251. /*=========================================================================================================*/
  252. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  253. /**/ _______, /**/ KC_F, /**/ KC_G, /**/ KC_C, /**/ KC_R, /**/ KC_L, /**/ _______, /**/
  254. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  255. /**/ /*==========================================================================================*/
  256. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  257. /*===============*/ KC_D, /**/ KC_H, /**/ KC_T, /**/ KC_N, /**/ KC_S, /**/ _______, /**/
  258. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  259. /**/ /*==========================================================================================*/
  260. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  261. /**/ _______, /**/ KC_B, /**/ KC_M, /**/ KC_W, /**/ KC_V, /**/ KC_Z, /**/ _______, /**/
  262. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  263. /*=========================================================================================================*/
  264. /**/ /**/ /**/ /**/ /**/ /**/
  265. /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ ___, /**/
  266. /**/ /**/ /**/ /**/ /**/ /**/
  267. /*=======================================================================*/
  268. /*==============================*/
  269. /**/ /**/ /**/
  270. /**/ _______, /**/ _______, /**/
  271. /**/ /**/ /**/
  272. /*=============================================*/
  273. /**/ /**/ /**/ /**/
  274. /**/ _______, /**/ /**/ /**/
  275. /**/ /**/ /**/ /**/
  276. /*===============*/ /**/ /**/
  277. /**/ /**/ /**/ /**/
  278. /**/ _______, /**/ _______, /**/ _______ /**/
  279. /**/ /**/ /**/ /**/
  280. /*=============================================*/
  281. ),
  282. [_COMMON] = LAYOUT_ergodox(
  283. /* Left hand */
  284. /*=========================================================================================================*/
  285. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  286. /**/ KC_ESCAPE,/**/ KC_1, /**/ KC_2, /**/ KC_3, /**/ KC_4, /**/ KC_5, /**/ _______, /**/
  287. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  288. /*=========================================================================================================*/
  289. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  290. /**/ KC_TAB, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/
  291. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  292. /*==========================================================================================*/ /**/
  293. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  294. /**/MO(_SYMBOLS), _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /*===============*/
  295. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  296. /*==========================================================================================*/ /**/
  297. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  298. /**/KC_LSHIFT, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/LT(_NUMPAD,KC_TAB),
  299. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  300. /*=========================================================================================================*/
  301. /**/ /**/ /**/ /**/ /**/ /**/
  302. /**/ ___, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/
  303. /**/ /**/ /**/ /**/ /**/ /**/
  304. /*=======================================================================*/
  305. /*==============================*/
  306. /**/ /**/ /**/
  307. /**/ KC_SPACE, /**/ _______, /**/
  308. /**/ /**/ /**/
  309. /*=============================================*/
  310. /**/ /**/ /**/ /**/
  311. /**/ /**/ /**/ KC_AUDIO_VOL_DOWN,
  312. /**/ /**/ /**/ /**/
  313. /**/ /**/ /*===============*/
  314. /**/ /**/ /**/ /**/
  315. /**/ KC_BSPACE,/**/ _______, /**/ KC_ENTER, /**/
  316. /**/ /**/ /**/ /**/
  317. /*=============================================*/
  318. /* Right hand */
  319. /*=========================================================================================================*/
  320. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  321. /**/ _______, /**/ KC_6, /**/ KC_7, /**/ KC_8, /**/ KC_9, /**/ KC_0, /**/ KC_F12, /**/
  322. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  323. /*=========================================================================================================*/
  324. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  325. /**/ KC_HYPR, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ KC_BSLASH,/**/
  326. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  327. /**/ /*==========================================================================================*/
  328. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  329. /*===============*/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/MO(_SYMBOLS),//
  330. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  331. /**/ /*==========================================================================================*/
  332. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  333. /**/ KC_MEH, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/KC_RSHIFT, /**/
  334. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  335. /*=========================================================================================================*/
  336. /**/ /**/ /**/ /**/ /**/ /**/
  337. /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/TT(_MISC),
  338. /**/ /**/ /**/ /**/ /**/ /**/
  339. /*=======================================================================*/
  340. /*==============================*/
  341. /**/ /**/ /**/
  342. /**/ _______, /**/ KC_CAPS, /**/
  343. /**/ /**/ /**/
  344. /*=============================================*/
  345. /**/ /**/ /**/ /**/
  346. KC_AUDIO_VOL_UP,/**/ /**/ /**/
  347. /**/ /**/ /**/ /**/
  348. /*===============*/ /**/ /**/
  349. /**/ /**/ /**/ /**/
  350. /**/ KC_ESCAPE,/**/ KC_ENTER, /**/ KC_SPACE /**/
  351. /**/ /**/ /**/ /**/
  352. /*=============================================*/
  353. ),
  354. [_MAC] = LAYOUT_ergodox(
  355. /* Left hand */
  356. /*=========================================================================================================*/
  357. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  358. /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/LCTL(LGUI(LSFT(KC_4))),
  359. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  360. /*=========================================================================================================*/
  361. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  362. /**/ _______ ,/**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/LALT(KC_BSPACE),
  363. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  364. /*==========================================================================================*/ /**/
  365. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  366. /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /*===============*/
  367. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  368. /*==========================================================================================*/ /**/
  369. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  370. /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/
  371. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  372. /*=========================================================================================================*/
  373. /**/ /**/ /**/ /**/ /**/ /**/
  374. KC_LCTRL,/**/ KC_LGUI, /**/ KC_LALT, /**/MO(_WM_MAC), MO(_ARROWS_MAC),
  375. /**/ /**/ /**/ /**/ /**/ /**/
  376. /*=======================================================================*/
  377. /*==============================*/
  378. /**/ /**/ /**/
  379. /**/ _______, /**/LCTL(LGUI(KC_Q)),
  380. /**/ /**/ /**/
  381. /*=============================================*/
  382. /**/ /**/ /**/ /**/
  383. /**/ /**/ /**/ _______, /**/
  384. /**/ /**/ /**/ /**/
  385. /**/ /**/ /*===============*/
  386. /**/ /**/ /**/ /**/
  387. /**/ _______, /**/ KC_LGUI, /**/ _______, /**/
  388. /**/ /**/ /**/ /**/
  389. /*=============================================*/
  390. /* Right hand */
  391. /*=========================================================================================================*/
  392. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  393. RGUI(RSFT(KC_7)),/**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/
  394. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  395. /*=========================================================================================================*/
  396. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  397. /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/
  398. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  399. /**/ /*==========================================================================================*/
  400. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  401. /*===============*/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/
  402. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  403. /**/ /*==========================================================================================*/
  404. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  405. /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/
  406. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  407. /*=========================================================================================================*/
  408. /**/ /**/ /**/ /**/ /**/ /**/
  409. MO(_ARROWS_MAC), MO(_WM_MAC),/**/ KC_LALT, /**/ KC_LGUI, /**/ ___, /**/
  410. /**/ /**/ /**/ /**/ /**/ /**/
  411. /*=======================================================================*/
  412. /*==============================*/
  413. /**/ /**/ /**/
  414. LCTL(LGUI(KC_Q)),/**/ KC_CAPS, /**/
  415. /**/ /**/ /**/
  416. /*=============================================*/
  417. /**/ /**/ /**/ /**/
  418. /**/ _______, /**/ /**/ /**/
  419. /**/ /**/ /**/ /**/
  420. /*===============*/ /**/ /**/
  421. /**/ /**/ /**/ /**/
  422. /**/ _______, /**/ _______, /**/ _______ /**/
  423. /**/ /**/ /**/ /**/
  424. /*=============================================*/
  425. ),
  426. [_WINDOWS] = LAYOUT_ergodox(
  427. /* Left hand */
  428. /*=========================================================================================================*/
  429. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  430. /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/LGUI(LSFT(KC_S)),
  431. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  432. /*=========================================================================================================*/
  433. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  434. /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/LCTL(KC_BSPACE),
  435. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  436. /*==========================================================================================*/ /**/
  437. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  438. /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /*===============*/
  439. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  440. /*==========================================================================================*/ /**/
  441. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  442. /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/
  443. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  444. /*=========================================================================================================*/
  445. /**/ /**/ /**/ /**/ /**/ /**/
  446. KC_LGUI, /**/ KC_LCTRL, /**/ KC_LALT, MO(_WM_WINDOWS), MO(_ARROWS_WINDOWS),
  447. /**/ /**/ /**/ /**/ /**/ /**/
  448. /*=======================================================================*/
  449. /*==============================*/
  450. /**/ /**/ /**/
  451. /**/ _______, /**/LGUI(KC_L),/**/
  452. /**/ /**/ /**/
  453. /*=============================================*/
  454. /**/ /**/ /**/ /**/
  455. /**/ /**/ /**/ _______, /**/
  456. /**/ /**/ /**/ /**/
  457. /**/ /**/ /*===============*/
  458. /**/ /**/ /**/ /**/
  459. /**/ _______, /**/ KC_LCTRL, /**/ _______, /**/
  460. /**/ /**/ /**/ /**/
  461. /*=============================================*/
  462. /* Right hand */
  463. /*=========================================================================================================*/
  464. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  465. LALT(KC_PSCREEN),/**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/
  466. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  467. /*=========================================================================================================*/
  468. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  469. /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/
  470. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  471. /**/ /*==========================================================================================*/
  472. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  473. /*===============*/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/
  474. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  475. /**/ /*==========================================================================================*/
  476. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  477. /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/
  478. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  479. /*=========================================================================================================*/
  480. /**/ /**/ /**/ /**/ /**/ /**/
  481. MO(_ARROWS_WINDOWS), MO(_WM_WINDOWS), KC_RALT, /**/ KC_RCTRL, /**/ ___, /**/
  482. /**/ /**/ /**/ /**/ /**/ /**/
  483. /*=======================================================================*/
  484. /*==============================*/
  485. /**/ /**/ /**/
  486. /**/LGUI(KC_L),/**/ _______, /**/
  487. /**/ /**/ /**/
  488. /*=============================================*/
  489. /**/ /**/ /**/ /**/
  490. /**/ _______, /**/ /**/ /**/
  491. /**/ /**/ /**/ /**/
  492. /*===============*/ /**/ /**/
  493. /**/ /**/ /**/ /**/
  494. /**/ _______, /**/ _______, /**/ _______ /**/
  495. /**/ /**/ /**/ /**/
  496. /*=============================================*/
  497. ),
  498. [_NUMPAD] = LAYOUT_ergodox(
  499. /* Left hand */
  500. /*=========================================================================================================*/
  501. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  502. /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/
  503. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  504. /*=========================================================================================================*/
  505. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  506. /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/
  507. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  508. /*==========================================================================================*/ /**/
  509. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  510. /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /*===============*/
  511. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  512. /*==========================================================================================*/ /**/
  513. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  514. /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/
  515. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  516. /*=========================================================================================================*/
  517. /**/ /**/ /**/ /**/ /**/ /**/
  518. /**/ ___, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/
  519. /**/ /**/ /**/ /**/ /**/ /**/
  520. /*=======================================================================*/
  521. /*==============================*/
  522. /**/ /**/ /**/
  523. /**/ _______, /**/ _______, /**/
  524. /**/ /**/ /**/
  525. /*=============================================*/
  526. /**/ /**/ /**/ /**/
  527. /**/ /**/ /**/ _______, /**/
  528. /**/ /**/ /**/ /**/
  529. /**/ /**/ /*===============*/
  530. /**/ /**/ /**/ /**/
  531. /**/ _______, /**/ _______, /**/ _______, /**/
  532. /**/ /**/ /**/ /**/
  533. /*=============================================*/
  534. /* Right hand */
  535. /*=========================================================================================================*/
  536. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  537. /**/ _______, /**/ XXXXXXX, /**/ KC_ESCAPE, LALT(KC_KP_MINUS), KC_PERC, /**/KC_KP_SLASH, _______, /**/
  538. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  539. /*=========================================================================================================*/
  540. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  541. /**/ _______, /**/ XXXXXXX, /**/ KC_KP_7, /**/ KC_KP_8, /**/ KC_KP_9, /**/KC_KP_ASTERISK, _______, /**/
  542. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  543. /**/ /*==========================================================================================*/
  544. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  545. /*===============*/ KC_COLN, /**/ KC_KP_4, /**/ KC_KP_5, /**/ KC_KP_6, /**/KC_KP_MINUS, _______, /**/
  546. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  547. /**/ /*==========================================================================================*/
  548. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  549. /**/ _______, /**/ KC_COMMA, /**/ KC_KP_1, /**/ KC_KP_2, /**/ KC_KP_3, /**/KC_KP_PLUS,/**/ _______, /**/
  550. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  551. /*=========================================================================================================*/
  552. /**/ /**/ /**/ /**/ /**/ /**/
  553. /**/ KC_0, /**/ KC_0, /**/ KC_DOT, /**/KC_KP_ENTER, ___, /**/
  554. /**/ /**/ /**/ /**/ /**/ /**/
  555. /*=======================================================================*/
  556. /*==============================*/
  557. /**/ /**/ /**/
  558. /**/ _______, /**/ _______, /**/
  559. /**/ /**/ /**/
  560. /*=============================================*/
  561. /**/ /**/ /**/ /**/
  562. /**/ _______, /**/ /**/ /**/
  563. /**/ /**/ /**/ /**/
  564. /*===============*/ /**/ /**/
  565. /**/ /**/ /**/ /**/
  566. /**/ _______, /**/ _______, /**/ KC_0 /**/
  567. /**/ /**/ /**/ /**/
  568. /*=============================================*/
  569. ),
  570. [_SYMBOLS] = LAYOUT_ergodox(
  571. /* Left hand */
  572. /*=========================================================================================================*/
  573. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  574. /**/ _______, /**/ KC_F1, /**/ KC_F2, /**/ KC_F3, /**/ KC_F4, /**/ KC_F5, /**/ _______, /**/
  575. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  576. /*=========================================================================================================*/
  577. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  578. /**/ _______, /**/ KC_EXLM, /**/ KC_AT, /**/ KC_LCBR, /**/ KC_RCBR, /**/ KC_PERC, /**/ _______, /**/
  579. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  580. /*==========================================================================================*/ /**/
  581. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  582. LGUI(KC_BSPACE),/**/ KC_HASH, /**/ KC_UNDS, /**/ KC_LPRN, /**/ KC_RPRN, /**/ KC_AMPR, /*===============*/
  583. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  584. /*==========================================================================================*/ /**/
  585. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  586. /**/ _______, /**/ KC_BSLASH,/**/ KC_SLASH, /**/KC_LBRACKET, KC_RBRACKET,/**/ KC_TILD, /**/ _______, /**/
  587. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  588. /*=========================================================================================================*/
  589. /**/ /**/ /**/ /**/ /**/ /**/
  590. /**/ ___, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/
  591. /**/ /**/ /**/ /**/ /**/ /**/
  592. /*=======================================================================*/
  593. /*==============================*/
  594. /**/ /**/ /**/
  595. /**/ _______, /**/ _______, /**/
  596. /**/ /**/ /**/
  597. /*=============================================*/
  598. /**/ /**/ /**/ /**/
  599. /**/ /**/ /**/ _______, /**/
  600. /**/ /**/ /**/ /**/
  601. /**/ /**/ /*===============*/
  602. /**/ /**/ /**/ /**/
  603. /**/ _______, /**/ _______, /**/ _______, /**/
  604. /**/ /**/ /**/ /**/
  605. /*=============================================*/
  606. /* Right hand */
  607. /*=========================================================================================================*/
  608. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  609. /**/ _______, /**/ KC_F6, /**/ KC_F7, /**/ KC_F8, /**/ KC_F9, /**/ KC_F10, /**/ KC_F11, /**/
  610. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  611. /*=========================================================================================================*/
  612. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  613. /**/ _______, /**/ KC_CIRC, /**/KC_KP_PLUS,/**/KC_KP_MINUS, KC_GRAVE, /**/ KC_SCOLON,/**/ _______, /**/
  614. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  615. /**/ /*==========================================================================================*/
  616. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  617. /*===============*/ KC_PIPE, /**/ KC_EQUAL, /**/ KC_QUOTE, /**/ KC_COLN, /**/ KC_DQUO, /**/LGUI(KC_DELETE),
  618. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  619. /**/ /*==========================================================================================*/
  620. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  621. /**/ _______, /**/ KC_DLR, /**/ KC_ASTR, /**/ KC_LABK, /**/ KC_RABK, /**/ KC_SLASH, /**/ _______, /**/
  622. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  623. /*=========================================================================================================*/
  624. /**/ /**/ /**/ /**/ /**/ /**/
  625. /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ ___, /**/
  626. /**/ /**/ /**/ /**/ /**/ /**/
  627. /*=======================================================================*/
  628. /*==============================*/
  629. /**/ /**/ /**/
  630. /**/ _______, /**/ _______, /**/
  631. /**/ /**/ /**/
  632. /*=============================================*/
  633. /**/ /**/ /**/ /**/
  634. /**/ _______, /**/ /**/ /**/
  635. /**/ /**/ /**/ /**/
  636. /*===============*/ /**/ /**/
  637. /**/ /**/ /**/ /**/
  638. /**/ _______, /**/ _______, /**/ _______ /**/
  639. /**/ /**/ /**/ /**/
  640. /*=============================================*/
  641. ),
  642. [_WM_MAC] = LAYOUT_ergodox(
  643. /* Left hand */
  644. /*=========================================================================================================*/
  645. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  646. /**/ _______, /**/ _______, /**/ _______, /**/ OC(KC_C), /**/ _______, /**/ _______, /**/ _______, /**/
  647. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  648. /*=========================================================================================================*/
  649. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  650. /**/ _______, /**/ OC(KC_U), OC(LGUI(KC_LEFT)),OC(KC_ENTER),OC(LGUI(KC_RIGHT)), OC(KC_I),/**/ _______, /**/
  651. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  652. /*==========================================================================================*/ /**/
  653. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  654. /**/ _______, /**/ OC(KC_J), OC(KC_LEFT), OC(KC_BSPACE), OC(KC_RIGHT), OC(KC_K), /*===============*/
  655. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  656. /*==========================================================================================*/ /**/
  657. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  658. /**/ _______, /**/ KC_UP, /**/ OC(KC_E), /**/ OC(KC_F), /**/ OC(KC_T), /**/ OC(KC_G), /**/ _______, /**/
  659. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  660. /*=========================================================================================================*/
  661. /**/ /**/ /**/ /**/ /**/ /**/
  662. /**/KC_LEFT, KC_DOWN, /**/ KC_RIGHT, /**/ _______, /**/ _______, /**/
  663. /**/ /**/ /**/ /**/ /**/ /**/
  664. /*=======================================================================*/
  665. /*==============================*/
  666. /**/ /**/ /**/
  667. /**/ _______, /**/ _______, /**/
  668. /**/ /**/ /**/
  669. /*=============================================*/
  670. /**/ /**/ /**/ /**/
  671. /**/ /**/ /**/ _______, /**/
  672. /**/ /**/ /**/ /**/
  673. /**/ /**/ /*===============*/
  674. /**/ /**/ /**/ /**/
  675. /**/ _______, /**/ _______, /**/ _______, /**/
  676. /**/ /**/ /**/ /**/
  677. /*=============================================*/
  678. /* Right hand */
  679. /*=========================================================================================================*/
  680. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  681. /**/ _______, /**/ _______, /**/ _______, /**/ OC(KC_C), /**/ _______, /**/ _______, /**/ _______, /**/
  682. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  683. /*=========================================================================================================*/
  684. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  685. /**/ _______, /**/ OC(KC_U), OC(LGUI(KC_LEFT)),OC(KC_ENTER),OC(LGUI(KC_RIGHT)), OC(KC_I),/**/ _______, /**/
  686. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  687. /**/ /*==========================================================================================*/
  688. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  689. /*===============*/ OC(KC_J), OC(KC_LEFT), OC(KC_BSPACE), OC(KC_RIGHT), OC(KC_K), /**/ _______, /**/
  690. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  691. /**/ /*==========================================================================================*/
  692. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  693. /**/ _______, /**/ OC(KC_D), /**/ OC(KC_E), /**/ OC(KC_F), /**/ OC(KC_T), /**/ KC_UP, /**/ _______, /**/
  694. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  695. /*=========================================================================================================*/
  696. /**/ /**/ /**/ /**/ /**/ /**/
  697. /**/ _______, /**/ _______, /**/ KC_LEFT, /**/ KC_DOWN, /**/KC_RIGHT,//
  698. /**/ /**/ /**/ /**/ /**/ /**/
  699. /*=======================================================================*/
  700. /*==============================*/
  701. /**/ /**/ /**/
  702. /**/ _______, /**/ _______, /**/
  703. /**/ /**/ /**/
  704. /*=============================================*/
  705. /**/ /**/ /**/ /**/
  706. /**/ _______, /**/ /**/ /**/
  707. /**/ /**/ /**/ /**/
  708. /*===============*/ /**/ /**/
  709. /**/ /**/ /**/ /**/
  710. /**/ _______, /**/ _______, /**/ _______ /**/
  711. /**/ /**/ /**/ /**/
  712. /*=============================================*/
  713. ),
  714. [_ARROWS_MAC] = LAYOUT_ergodox(
  715. /* Left hand */
  716. /*=========================================================================================================*/
  717. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  718. /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/
  719. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  720. /*=========================================================================================================*/
  721. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  722. /**/ _______, /**/LGUI(KC_Q),/**/LGUI(KC_W),/**/LGUI(KC_F),/**/LGUI(KC_P),/**/LGUI(KC_G),/**/ _______, /**/
  723. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  724. /*==========================================================================================*/ /**/
  725. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  726. /**/ _______, /**/ KC_LCTRL, /**/ KC_LGUI, /**/ KC_LSHIFT,/**/ KC_LALT, /**/LGUI(KC_D),/*===============*/
  727. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  728. /*==========================================================================================*/ /**/
  729. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  730. /**/ _______, /**/LGUI(KC_Z),/**/LGUI(KC_X),/**/LGUI(KC_C),/**/LGUI(KC_V),/**/LGUI(KC_B),/**/ _______, /**/
  731. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  732. /*=========================================================================================================*/
  733. /**/ /**/ /**/ /**/ /**/ /**/
  734. /**/ ___, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/
  735. /**/ /**/ /**/ /**/ /**/ /**/
  736. /*=======================================================================*/
  737. /*==============================*/
  738. /**/ /**/ /**/
  739. /**/ _______, /**/ _______, /**/
  740. /**/ /**/ /**/
  741. /*=============================================*/
  742. /**/ /**/ /**/ /**/
  743. /**/ /**/ /**/ _______, /**/
  744. /**/ /**/ /**/ /**/
  745. /**/ /**/ /*===============*/
  746. /**/ /**/ /**/ /**/
  747. /**/ _______, /**/ _______, /**/ _______, /**/
  748. /**/ /**/ /**/ /**/
  749. /*=============================================*/
  750. /* Right hand */
  751. /*=========================================================================================================*/
  752. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  753. /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/
  754. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  755. /*=========================================================================================================*/
  756. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  757. /**/ _______, /**/RGUI(KC_J),/**/ KC_BSPACE,/**/ KC_UP, /**/ KC_DELETE, RGUI(KC_SCOLON), _______, /**/
  758. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  759. /**/ /*==========================================================================================*/
  760. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  761. /*===============*/RGUI(KC_H),/**/ KC_LEFT, /**/ KC_DOWN, /**/ KC_RIGHT, /**/ KC_ENTER, /**/ _______, /**/
  762. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  763. /**/ /*==========================================================================================*/
  764. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  765. /**/ _______, /**/RGUI(KC_K),/**/RGUI(KC_M), RGUI(KC_COMMA), RGUI(KC_DOT), RGUI(KC_SLASH), _______, /**/
  766. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  767. /*=========================================================================================================*/
  768. /**/ /**/ /**/ /**/ /**/ /**/
  769. /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ ___, /**/
  770. /**/ /**/ /**/ /**/ /**/ /**/
  771. /*=======================================================================*/
  772. /*==============================*/
  773. /**/ /**/ /**/
  774. /**/ _______, /**/ _______, /**/
  775. /**/ /**/ /**/
  776. /*=============================================*/
  777. /**/ /**/ /**/ /**/
  778. /**/ _______, /**/ /**/ /**/
  779. /**/ /**/ /**/ /**/
  780. /*===============*/ /**/ /**/
  781. /**/ /**/ /**/ /**/
  782. /**/ _______, /**/ _______, /**/ _______ /**/
  783. /**/ /**/ /**/ /**/
  784. /*=============================================*/
  785. ),
  786. [_ARROWS_WINDOWS] = LAYOUT_ergodox(
  787. /* Left hand */
  788. /*=========================================================================================================*/
  789. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  790. /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/
  791. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  792. /*=========================================================================================================*/
  793. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  794. /**/ _______, /**/LCTL(KC_Q),/**/LCTL(KC_W),/**/LCTL(KC_F),/**/LCTL(KC_P),/**/LCTL(KC_G),/**/ _______, /**/
  795. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  796. /*==========================================================================================*/ /**/
  797. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  798. /**/ _______, /**/ KC_LGUI, /**/ KC_HYPR, /**/ KC_LSHIFT,/**/ KC_LCTRL, /**/LCTL(KC_D),/*===============*/
  799. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  800. /*==========================================================================================*/ /**/
  801. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  802. /**/ _______, /**/LCTL(KC_Z),/**/LCTL(KC_X),/**/LCTL(KC_C),/**/LCTL(KC_V),/**/LCTL(KC_B),/**/ _______, /**/
  803. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  804. /*=========================================================================================================*/
  805. /**/ /**/ /**/ /**/ /**/ /**/
  806. /**/ ___, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/
  807. /**/ /**/ /**/ /**/ /**/ /**/
  808. /*=======================================================================*/
  809. /*==============================*/
  810. /**/ /**/ /**/
  811. /**/ _______, /**/ _______, /**/
  812. /**/ /**/ /**/
  813. /*=============================================*/
  814. /**/ /**/ /**/ /**/
  815. /**/ /**/ /**/ _______, /**/
  816. /**/ /**/ /**/ /**/
  817. /**/ /**/ /*===============*/
  818. /**/ /**/ /**/ /**/
  819. /**/ _______, /**/ _______, /**/ _______, /**/
  820. /**/ /**/ /**/ /**/
  821. /*=============================================*/
  822. /* Right hand */
  823. /*=========================================================================================================*/
  824. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  825. /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/
  826. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  827. /*=========================================================================================================*/
  828. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  829. /**/ _______, /**/RCTL(KC_J),/**/ KC_BSPACE,/**/ KC_UP, /**/ KC_DELETE, RCTL(KC_SCOLON), _______, /**/
  830. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  831. /**/ /*==========================================================================================*/
  832. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  833. /*===============*/RCTL(KC_H),/**/ KC_LEFT, /**/ KC_DOWN, /**/ KC_RIGHT, /**/ KC_ENTER, /**/ _______, /**/
  834. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  835. /**/ /*==========================================================================================*/
  836. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  837. /**/ _______, /**/RCTL(KC_K),/**/RCTL(KC_M), RCTL(KC_COMMA), RCTL(KC_DOT), RCTL(KC_SLASH), _______, /**/
  838. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  839. /*=========================================================================================================*/
  840. /**/ /**/ /**/ /**/ /**/ /**/
  841. /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ ___, /**/
  842. /**/ /**/ /**/ /**/ /**/ /**/
  843. /*=======================================================================*/
  844. /*==============================*/
  845. /**/ /**/ /**/
  846. /**/ _______, /**/ _______, /**/
  847. /**/ /**/ /**/
  848. /*=============================================*/
  849. /**/ /**/ /**/ /**/
  850. /**/ _______, /**/ /**/ /**/
  851. /**/ /**/ /**/ /**/
  852. /*===============*/ /**/ /**/
  853. /**/ /**/ /**/ /**/
  854. /**/ _______, /**/ _______, /**/ _______ /**/
  855. /**/ /**/ /**/ /**/
  856. /*=============================================*/
  857. ),
  858. [_MISC] = LAYOUT_ergodox(
  859. /* Left hand */
  860. /*=========================================================================================================*/
  861. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  862. /**/ _______, /**/ KC_F14, /**/ KC_F15, /**/ _______, /**/ _______, /**/ _______, /**/ QK_BOOT, /**/
  863. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  864. /*=========================================================================================================*/
  865. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  866. /**/ _______, /**/ _______, /**/ _______, /**/ KC_MS_UP, /**/ _______, /**/ _______, /**/ _______, /**/
  867. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  868. /*==========================================================================================*/ /**/
  869. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  870. /**/ _______, /**/ _______, /**/KC_MS_LEFT,/**/KC_MS_DOWN,/**/KC_MS_RIGHT, _______, /*===============*/
  871. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  872. /*==========================================================================================*/ /**/
  873. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  874. /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/
  875. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  876. /*=========================================================================================================*/
  877. /**/ /**/ /**/ /**/ /**/ /**/
  878. /**/ ___, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/
  879. /**/ /**/ /**/ /**/ /**/ /**/
  880. /*=======================================================================*/
  881. /*==============================*/
  882. /**/ /**/ /**/
  883. /**/ RGB_MOD, /**/HSV_0_255_255,
  884. /**/ /**/ /**/
  885. /*=============================================*/
  886. /**/ /**/ /**/ /**/
  887. /**/ /**/ /**/HSV_120_255_128,
  888. /**/ /**/ /**/ /**/
  889. /**/ /**/ /*===============*/
  890. /**/ /**/ /**/ /**/
  891. /**/KC_MS_BTN1,/**/KC_MS_BTN2,/**/HSV_240_255_255,
  892. /**/ /**/ /**/ /**/
  893. /*=============================================*/
  894. /* Right hand */
  895. /*=========================================================================================================*/
  896. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  897. /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/KC_MEDIA_EJECT,
  898. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  899. /*=========================================================================================================*/
  900. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  901. /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/
  902. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  903. /**/ /*==========================================================================================*/
  904. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  905. /*===============*/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/
  906. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  907. /**/ /*==========================================================================================*/
  908. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  909. /**/ _______, /**/ _______, /**/ _______, /**/ _______, /**/DF(_DVORAK), DF(_QWERTY), DF(_COLEMAK),//
  910. /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
  911. /*=========================================================================================================*/
  912. /**/ /**/ /**/ /**/ /**/ /**/
  913. /**/ _______, /**/ _______, WINDOWS_MODE, MAC_MODE, /**/ ___, /**/
  914. /**/ /**/ /**/ /**/ /**/ /**/
  915. /*=======================================================================*/
  916. /*==============================*/
  917. /**/ /**/ /**/
  918. /**/ RGB_TOG, /**/ RGB_SLD, /**/
  919. /**/ /**/ /**/
  920. /*=============================================*/
  921. /**/ /**/ /**/ /**/
  922. /**/ RGB_VAI, /**/ /**/ /**/
  923. /**/ /**/ /**/ /**/
  924. /*===============*/ /**/ /**/
  925. /**/ /**/ /**/ /**/
  926. /**/ RGB_VAD, /**/ RGB_HUD, /**/ RGB_HUI /**/
  927. /**/ /**/ /**/ /**/
  928. /*=============================================*/
  929. ),
  930. /* clang-format on */
  931. };
  932. bool suspended = false;
  933. bool process_record_user(uint16_t keycode, keyrecord_t *record) {
  934. switch (keycode) {
  935. case EEP_RST:
  936. if (record->event.pressed) {
  937. eeconfig_init();
  938. }
  939. return false;
  940. break;
  941. case RGB_SLD:
  942. if (record->event.pressed) {
  943. rgblight_mode(1);
  944. }
  945. return false;
  946. break;
  947. case HSV_0_255_255:
  948. if (record->event.pressed) {
  949. #ifdef RGBLIGHT_ENABLE
  950. rgblight_enable();
  951. rgblight_mode(1);
  952. rgblight_sethsv(0, 255, 255);
  953. #endif
  954. }
  955. return false;
  956. break;
  957. case HSV_120_255_128:
  958. if (record->event.pressed) {
  959. #ifdef RGBLIGHT_ENABLE
  960. rgblight_enable();
  961. rgblight_mode(1);
  962. rgblight_sethsv(120, 255, 128);
  963. #endif
  964. }
  965. return false;
  966. break;
  967. case HSV_240_255_255:
  968. if (record->event.pressed) {
  969. #ifdef RGBLIGHT_ENABLE
  970. rgblight_enable();
  971. rgblight_mode(1);
  972. rgblight_sethsv(240, 255, 255);
  973. #endif
  974. }
  975. return false;
  976. break;
  977. case MAC_MODE:
  978. if (record->event.pressed) {
  979. layer_on(_MAC);
  980. layer_off(_WINDOWS);
  981. }
  982. return false;
  983. break;
  984. case WINDOWS_MODE:
  985. if (record->event.pressed) {
  986. layer_on(_WINDOWS);
  987. layer_off(_MAC);
  988. }
  989. return false;
  990. break;
  991. }
  992. return true;
  993. }
  994. layer_state_t layer_state_set_user(layer_state_t state) {
  995. uint8_t layer = get_highest_layer(state);
  996. ergodox_board_led_off();
  997. ergodox_right_led_1_off();
  998. ergodox_right_led_2_off();
  999. ergodox_right_led_3_off();
  1000. if (layer == _ARROWS_MAC || layer == _ARROWS_WINDOWS) {
  1001. ergodox_right_led_1_on();
  1002. } else if (layer == _SYMBOLS) {
  1003. ergodox_right_led_2_on();
  1004. } else if (layer == _NUMPAD) {
  1005. ergodox_right_led_1_on();
  1006. ergodox_right_led_2_on();
  1007. } else if (layer == _WM_MAC || layer == _WM_WINDOWS) {
  1008. ergodox_right_led_2_on();
  1009. ergodox_right_led_3_on();
  1010. } else if (layer == _MISC) {
  1011. ergodox_right_led_1_on();
  1012. ergodox_right_led_2_on();
  1013. ergodox_right_led_3_on();
  1014. } else if (layer == _WINDOWS) {
  1015. ergodox_right_led_3_on();
  1016. } else if (layer == _MAC) {
  1017. /* do nothing */
  1018. }
  1019. return state;
  1020. };
  1021. void keyboard_post_init_user(void) {
  1022. /* This layer is always on */
  1023. layer_on(_COMMON);
  1024. /* Default to Mac layout */
  1025. layer_on(_MAC);
  1026. }