You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
This repo is archived. You can view files and clone it, but cannot push or open issues/pull-requests.

keymap_default.c 17KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283
  1. #include "keymap_common.h"
  2. #include "rgb.h"
  3. // Default
  4. #ifdef KEYMAP_SECTION_ENABLE
  5. const uint8_t keymaps[KEYMAPS_COUNT][MATRIX_ROWS][MATRIX_COLS] __attribute__ ((section (".keymap.keymaps"))) = {
  6. #else
  7. const uint8_t keymaps[][MATRIX_ROWS][MATRIX_COLS] PROGMEM = {
  8. #endif
  9. /* Keymap 0: Default Layer
  10. * ,---------------------------------------------------------------------------.
  11. * |Esc| F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12|Psc|Pau|Ins|Del|PgU|PgD|
  12. * |-----------------------------------------------------------+---+---+---+---|
  13. * | `| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|Backsp |Num| /| *| -|
  14. * |-----------------------------------------------------------+---+---+---+---|
  15. * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \| 7| 8| 9| |
  16. * |-----------------------------------------------------------+---+---+---| +|
  17. * |Caps | A| S| D| F| G| H| J| K| L| ;| '|Return | 4| 5| 6| |
  18. * |-----------------------------------------------------------+---+---+---+---|
  19. * |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift |Fn0| 1| 2| 3| |
  20. * |-----------------------------------------------------------+---+---+---|Ent|
  21. * |Ctrl|Gui |Alt | Space |Alt |Fn0 |Gui |Ctrl| 0| 0| .| |
  22. * `---------------------------------------------------------------------------'
  23. */
  24. KEYMAP(
  25. ESC, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, PSCR,PAUS,INS, DEL, PGUP,PGDN, \
  26. GRV, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, MINS,EQL, BSPC,NLCK,PSLS,PAST,PMNS, \
  27. TAB, Q, W, E, R, T, Y, U, I, O, P, LBRC,RBRC, BSLS,P7, P8, P9, PPLS, \
  28. CAPS,A, S, D, F, G, H, J, K, L, SCLN,QUOT,GRV, ENT, P4, P5, P6, PPLS, \
  29. LSFT,NUBS,Z, X, C, V, B, N, M, COMM,DOT, SLSH, RSFT,FN0, P1, P2, P3, PENT, \
  30. LCTL,LGUI,LALT, SPC, RALT,FN0, RGUI,RCTL,P0, P0, PDOT,PENT ),
  31. /* Keymap 1: WKL Overlayer
  32. * ,---------------------------------------------------------------------------.
  33. * | | | | | | | | | | | | | | | | | | | |
  34. * |-----------------------------------------------------------+---+---+---+---|
  35. * | | | | | | | | | | | | | | | | | | |
  36. * |-----------------------------------------------------------+---+---+---+---|
  37. * | | | | | | | | | | | | | | | | | | |
  38. * |-----------------------------------------------------------+---+---+---| |
  39. * | | | | | | | | | | | | | | | | | |
  40. * |-----------------------------------------------------------+---+---+---+---|
  41. * | | | | | | | | | | | | | | | | | |
  42. * |-----------------------------------------------------------+---+---+---| |
  43. * |Ctrl |Gui|Alt | |Alt |Fn |Ctrl | | | | |
  44. * `---------------------------------------------------------------------------'
  45. */
  46. KEYMAP(
  47. TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, \
  48. TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, TRNS,TRNS,TRNS,TRNS,TRNS, \
  49. TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, TRNS,TRNS,TRNS,TRNS,TRNS, \
  50. TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, TRNS,TRNS,TRNS,TRNS,TRNS, \
  51. TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, \
  52. TRNS,TRNS,TRNS, TRNS, TRNS,RALT,FN0, RCTL,TRNS,TRNS,TRNS,TRNS ),
  53. /* Keymap 2: G80-1800 Overlayer
  54. * ,---------------------------------------------------------------------------.
  55. * | | | | | | | | | | | | | |Fn0|Del|Pau|Hom|End|PgU|
  56. * |-----------------------------------------------------------+---+---+---+---|
  57. * | | | | | | | | | | | | | | | | | |PgD|
  58. * |-----------------------------------------------------------+---+---+---+---|
  59. * | | | | | | | | | | | | | | | | | | -|
  60. * |-----------------------------------------------------------+---+---+---+---|
  61. * | | | | | | | | | | | | | | | | | +|
  62. * |-----------------------------------------------------------+---+---+---+---|
  63. * | | | | | | | | | | | | |Up | | | | |
  64. * |-------------------------------------------------------+---+---+---+---| |
  65. * |Ctrl|Gui |Alt | Space |Alt |Ctrl |Lef|Dow|Rig| | | |
  66. * `---------------------------------------------------------------------------'
  67. */
  68. KEYMAP(
  69. TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,FN0, DEL, PAUS,HOME,END, PGUP, \
  70. TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, TRNS,TRNS,TRNS,TRNS,PGDN, \
  71. TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, TRNS,TRNS,TRNS,TRNS,PMNS, \
  72. TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, TRNS,TRNS,TRNS,TRNS,PPLS, \
  73. TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, TRNS,UP, TRNS,TRNS,TRNS,TRNS, \
  74. TRNS,TRNS,TRNS, TRNS, RALT,RCTL,LEFT,DOWN,RGHT,TRNS,TRNS,TRNS ),
  75. /* Keymap 3: G80-1800 WKL Overlayer
  76. * ,---------------------------------------------------------------------------.
  77. * | | | | | | | | | | | | | |Fn0|Del|Pau|Hom|End|PgU|
  78. * |-----------------------------------------------------------+---+---+---+---|
  79. * | | | | | | | | | | | | | | | | | |PgD|
  80. * |-----------------------------------------------------------+---+---+---+---|
  81. * | | | | | | | | | | | | | | | | | | -|
  82. * |-----------------------------------------------------------+---+---+---+---|
  83. * | | | | | | | | | | | | | | | | | +|
  84. * |-----------------------------------------------------------+---+---+---+---|
  85. * | | | | | | | | | | | | |Up | | | | |
  86. * |-------------------------------------------------------+---+---+---+---| |
  87. * |Ctrl |Alt | Space |Alt |Gui |Lef|Dow|Rig| | | |
  88. * `---------------------------------------------------------------------------'
  89. */
  90. KEYMAP(
  91. TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,FN0, DEL, PAUS,HOME,END, PGUP, \
  92. TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, TRNS,TRNS,TRNS,TRNS,PGDN, \
  93. TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, TRNS,TRNS,TRNS,TRNS,PMNS, \
  94. TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, TRNS,TRNS,TRNS,TRNS,PPLS, \
  95. TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, TRNS,UP, TRNS,TRNS,TRNS,TRNS, \
  96. LCTL,LALT,TRNS, TRNS, RALT,RGUI,LEFT,DOWN,RGHT,TRNS,TRNS,TRNS ),
  97. /* Keymap 4: Rev.B 84 Overlayer
  98. * ,---------------------------------------------------------------.
  99. * | | | | | | | | | | | | | |Psc|Del|Hom|
  100. * |-----------------------------------------------------------+---|
  101. * | | | | | | | | | | | | | | |End|
  102. * |-----------------------------------------------------------+---|
  103. * | | | | | | | | | | | | | | |PgU|
  104. * |-----------------------------------------------------------+---|
  105. * | | | | | | | | | | | | | |PgD|
  106. * |-----------------------------------------------------------+---|
  107. * | | | | | | | | | | | | |Up |Fn0|
  108. * |-------------------------------------------------------+---+---|
  109. * |Ctrl |Gui|Alt | Space |Alt |Ctrl |Lef|Dow|Rig|
  110. * `---------------------------------------------------------------'
  111. */
  112. KEYMAP(
  113. TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,PSCR,DEL ,HOME,TRNS,TRNS,TRNS, \
  114. TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, TRNS,END, TRNS,TRNS,TRNS, \
  115. TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, TRNS,PGUP,TRNS,TRNS,TRNS, \
  116. TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, TRNS,PGDN,TRNS,TRNS,TRNS, \
  117. TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, TRNS,UP, FN0, TRNS,TRNS,TRNS, \
  118. LCTL,LGUI,LALT, TRNS, RALT,RCTL,LEFT,DOWN,RGHT,TRNS,TRNS,TRNS ),
  119. /* Keymap 5: Rev.B 84 WKL Overlayer
  120. * ,---------------------------------------------------------------.
  121. * | | | | | | | | | | | | | |Psc|Del|Hom|
  122. * |-----------------------------------------------------------+---|
  123. * | | | | | | | | | | | | | | |End|
  124. * |-----------------------------------------------------------+---|
  125. * | | | | | | | | | | | | | | |PgU|
  126. * |-----------------------------------------------------------+---|
  127. * | | | | | | | | | | | | | |PgD|
  128. * |-----------------------------------------------------------+---|
  129. * | | | | | | | | | | | | |Up |Fn0|
  130. * |-------------------------------------------------------+---+---|
  131. * |Ctrl |Alt | Space |Alt |Gui |Lef|Dow|Rig|
  132. * `---------------------------------------------------------------'
  133. */
  134. KEYMAP(
  135. TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,PSCR,DEL ,HOME,TRNS,TRNS,TRNS, \
  136. TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, TRNS,END, TRNS,TRNS,TRNS, \
  137. TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, TRNS,PGUP,TRNS,TRNS,TRNS, \
  138. TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, TRNS,PGDN,TRNS,TRNS,TRNS, \
  139. TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, TRNS,UP, FN0, TRNS,TRNS,TRNS, \
  140. LCTL,LALT,TRNS, TRNS, RALT,RGUI,LEFT,DOWN,RGHT,TRNS,TRNS,TRNS ),
  141. /* Keymap 6: Fn Layer
  142. * ,---------------------------------------------------------------------------.
  143. * |Fn5|Fn6|Fn7|Fn8|Fn9| | | | | | | | | |Ins|Psc|Slk|Hom|End|
  144. * |-----------------------------------------------------------+---+---+---+---|
  145. * |F10|F11|F12|F13|F14|F15|F16|F17|F18| | | | | |Num| | | |
  146. * |-----------------------------------------------------------+---+---+---+---|
  147. * | | | | | | | | | | | | | | |Slk| | | |
  148. * |-----------------------------------------------------------+---+---+---| |
  149. * | | | | | | | | | | | | | |Pau| | | |
  150. * |-----------------------------------------------------------+---+---+---+---|
  151. * | | | |Fn2|Fn1|Fn3|VoD|VoU|Mut| | | | | |Up | | |
  152. * |-----------------------------------------------------------+---+---+---| |
  153. * | | | | Fn4 | | | | |Lef|Dow|Rig| |
  154. * `---------------------------------------------------------------------------'
  155. */
  156. KEYMAP(
  157. FN5 ,FN6 ,FN7 ,FN8 ,FN9 ,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,INS, PSCR,SLCK,HOME,END, \
  158. FN10,FN11,FN12,FN13,FN14,FN15,FN16,FN17,FN18,TRNS,TRNS,TRNS,TRNS, TRNS,NLCK,TRNS,TRNS,TRNS, \
  159. TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, TRNS,SLCK,TRNS,TRNS,TRNS, \
  160. TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, TRNS,PAUS,TRNS,TRNS,TRNS, \
  161. TRNS,TRNS,TRNS,TRNS,FN2 ,FN1, FN3, VOLD,VOLU,MUTE,TRNS,TRNS, TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, \
  162. TRNS,TRNS,TRNS, FN4, TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS ),
  163. /* Keymap 7: Arrow key Overlayer
  164. * ,---------------------------------------------------------------------------.
  165. * | | | | | | | | | | | | | | | | | | | |
  166. * |-----------------------------------------------------------+---+---+---+---|
  167. * | | | | | | | | | | | | | | | | | | |
  168. * |-----------------------------------------------------------+---+---+---+---|
  169. * | | | | | | | | | | | | | | | | | | |
  170. * |-----------------------------------------------------------+---+---+---| |
  171. * | | | | | | | | | | | | | | | | | |
  172. * |-----------------------------------------------------------+---+---+---+---|
  173. * | | | | | | | | | | | | | |Up | | |
  174. * |-----------------------------------------------------------+---+---+---| |
  175. * | | | | | | | | |Lef|Dow|Rig| |
  176. * `---------------------------------------------------------------------------'
  177. */
  178. KEYMAP(
  179. TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, \
  180. TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, TRNS,TRNS,TRNS,TRNS,TRNS, \
  181. TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, TRNS,TRNS,TRNS,TRNS,TRNS, \
  182. TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, TRNS,TRNS,TRNS,TRNS,TRNS, \
  183. TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, TRNS,TRNS,TRNS,UP, TRNS,TRNS, \
  184. TRNS,TRNS,TRNS, TRNS, TRNS,TRNS,TRNS,TRNS,LEFT,DOWN,RGHT,TRNS ),
  185. };
  186. enum function_id {
  187. AF_RGB_ON = 0,
  188. AF_RGB_OFF,
  189. AF_RGB_TOGGLE,
  190. AF_RGB_INCREASE,
  191. AF_RGB_DECREASE,
  192. AF_RGB_FIXED,
  193. AF_RGB_VARIABLE,
  194. AF_RGB_STEP
  195. };
  196. /*
  197. * Fn action definition
  198. */
  199. #ifdef KEYMAP_SECTION_ENABLE
  200. const uint16_t fn_actions[FN_ACTIONS_COUNT] __attribute__ ((section (".keymap.fn_actions"))) = {
  201. #else
  202. const uint16_t fn_actions[] PROGMEM = {
  203. #endif
  204. [0] = ACTION_LAYER_MOMENTARY(6),
  205. [1] = ACTION_BACKLIGHT_TOGGLE(),
  206. [2] = ACTION_BACKLIGHT_DECREASE(),
  207. [3] = ACTION_BACKLIGHT_INCREASE(),
  208. [4] = ACTION_LAYER_TOGGLE(7),
  209. [5] = ACTION_FUNCTION(AF_RGB_TOGGLE),
  210. [6] = ACTION_FUNCTION_OPT(AF_RGB_STEP, RGB_FIXED),
  211. [7] = ACTION_FUNCTION_OPT(AF_RGB_STEP, RGB_VARIABLE),
  212. [8] = ACTION_FUNCTION(AF_RGB_DECREASE),
  213. [9] = ACTION_FUNCTION(AF_RGB_INCREASE),
  214. [10] = ACTION_FUNCTION_OPT(AF_RGB_VARIABLE, RGB_VARIABLE_FADE),
  215. [11] = ACTION_FUNCTION_OPT(AF_RGB_FIXED, RGB_FIXED_RED),
  216. [12] = ACTION_FUNCTION_OPT(AF_RGB_FIXED, RGB_FIXED_RED_1),
  217. [13] = ACTION_FUNCTION_OPT(AF_RGB_FIXED, RGB_FIXED_RED_4),
  218. [14] = ACTION_FUNCTION_OPT(AF_RGB_FIXED, RGB_FIXED_GREEN_1),
  219. [15] = ACTION_FUNCTION_OPT(AF_RGB_FIXED, RGB_FIXED_GREEN_3),
  220. [16] = ACTION_FUNCTION_OPT(AF_RGB_FIXED, RGB_FIXED_BLUE_1),
  221. [17] = ACTION_FUNCTION_OPT(AF_RGB_FIXED, RGB_FIXED_BLUE_4),
  222. [18] = ACTION_FUNCTION_OPT(AF_RGB_FIXED, RGB_FIXED_WHITE),
  223. };
  224. #ifdef KEYMAP_IN_EEPROM_ENABLE
  225. uint16_t keys_count(void) {
  226. return sizeof(keymaps) / sizeof(keymaps[0]) * MATRIX_ROWS * MATRIX_COLS;
  227. }
  228. uint16_t fn_actions_count(void) {
  229. return sizeof(fn_actions) / sizeof(fn_actions[0]);
  230. }
  231. #endif
  232. void action_function(keyrecord_t *record, uint8_t id, uint8_t opt)
  233. {
  234. if (record->event.pressed) {
  235. switch (id) {
  236. case AF_RGB_ON:
  237. rgb_on();
  238. break;
  239. case AF_RGB_OFF:
  240. rgb_off();
  241. break;
  242. case AF_RGB_TOGGLE:
  243. rgb_toggle();
  244. break;
  245. case AF_RGB_INCREASE:
  246. rgb_increase();
  247. break;
  248. case AF_RGB_DECREASE:
  249. rgb_decrease();
  250. break;
  251. case AF_RGB_FIXED:
  252. rgb_set(RGB_FIXED, opt);
  253. break;
  254. case AF_RGB_VARIABLE:
  255. rgb_set(RGB_VARIABLE, opt);
  256. break;
  257. case AF_RGB_STEP:
  258. rgb_step(opt);
  259. break;
  260. }
  261. }
  262. }
  263. enum macro_id {
  264. KEYPAD_00 = 0,
  265. };
  266. const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
  267. {
  268. switch (id) {
  269. case KEYPAD_00:
  270. return (record->event.pressed ?
  271. MACRO( T(P0), T(P0), END ) :
  272. MACRO_NONE );
  273. }
  274. return MACRO_NONE;
  275. }