Advertisement
Guest User

custom_kbd_tmk_keymap_poker_c

a guest
Sep 4th, 2015
220
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 11.02 KB | None | 0 0
  1. #include "keymap_common.h"
  2.  
  3. const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
  4. /* 0: aluko colemak layout
  5. * ,---------------------------------------------------------------------.
  6. * | | 1 | 2 | 3 | 4 | 5 |PgUp|PgDn| 6 | 7 | 8 | 9 | 0 | |
  7. * |---------------------------------------------------------------------|
  8. * |CAPS| Q | W | F | P | G |Home| End| J | L | U | Y | ; |INS |
  9. * |---------------------------------------------------------------------|
  10. * | \ | A | R | S | T | D |Esc | Tab| H | N | E | I | O | ' |
  11. * |---------------------------------------------------------------------|
  12. * |CTRL| Z | X | C | V | B |LWin|Rwin| K | M | , | . | / |CTRL|
  13. * |---------------------------------------------------------------------|
  14. * | | |Paus|Shft| Alt| Spc|Del |Bspc|Ent | Alt|Shft| Fn | | |
  15. * `---------------------------------------------------------------------'
  16. */
  17. KEYMAP(
  18. 1, 2, 3, 4, 5, MINS, EQL, 6, 7, 8, 9, 0, \
  19. CAPS, Q, W, F, P, G, HOME, END, J, L, U, Y, SCLN, INS, \
  20. BSLS, A, R, S, T, D, ESC, TAB, H, N, E, I, O, QUOT, \
  21. LCTL, Z, X, C, V, B, LGUI, RGUI, K, M, COMM, DOT, SLSH, RCTL, \
  22. FN1, LSFT, LALT, SPC, DELETE, BSPC, ENT, RALT, RSFT, FN1),
  23. /* 1: aluko function layer */
  24. KEYMAP(
  25. FN0, FN2, FN4, FN6, FN8, PGUP, PGDN, FN9, FN7, FN5, FN3, FN0, \
  26. TRNS, VOLD, MPRV, MUTE, MNXT, VOLU, TRNS, TRNS, PAST, P7, P8, P9, PPLS, TRNS, \
  27. PAUS, TRNS, MSTP, MAIL, MPLY, TRNS, TRNS, TRNS, PSLS, P4, P5, P6, PMNS, PAUS, \
  28. TRNS, WBAK, WHOM, WREF, WSCH, WFWD, TRNS, TRNS, P0, P1, P2, P3, PDOT, TRNS, \
  29. TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS,TRNS,TRNS,TRNS),
  30. /* 2: aluko symbol layer
  31. * ,---------------------------------------------------------------------.
  32. * | | F1 | F2 | F3 | F4 | F5 | ^ | & | F6 | F7 | F8 | F9 | F10| |
  33. * |---------------------------------------------------------------------|
  34. * | F12| @ | ( | UP | ) | % | $ | # | * | 7 | 8 | 9 | + |F11 |
  35. * |---------------------------------------------------------------------|
  36. * | ` | [ |LEFT|DOWN|RGHT| ] |Esc | Tab| / | 4 | 5 | 6 | - | ~ |
  37. * |---------------------------------------------------------------------|
  38. * |CTRL| ! | { | = | } | _ |LWin|Rwin| 0 | 1 | 2 | 3 | . |CTRL|
  39. * |---------------------------------------------------------------------|
  40. * | | | Fn1|Shft| Alt| Spc|Del |Bspc|Ent | Alt|Shft| Fn1| | |
  41. * `---------------------------------------------------------------------'
  42. */
  43. KEYMAP(
  44. F1, F2, F3, F4, F5, FN16, FN17, F6, F7, F8, F9, F10, \
  45. F12, FN12, FN18, UP, FN19, FN15, FN14, FN13, PAST, P7, P8, P9, PPLS, F11, \
  46. GRV, LBRC, LEFT, DOWN, RGHT, RBRC, TRNS, TRNS, PSLS, P4, P5, P6, PMNS, FN20, \
  47. TRNS, FN11, FN21, EQL, FN23, FN22, TRNS, TRNS, P0, P1, P2, P3, PDOT, TRNS, \
  48. TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS),
  49.  
  50. /* 3: aluko workman layout
  51. * ,---------------------------------------------------------------------.
  52. * | | 1 | 2 | 3 | 4 | 5 |PgUp|PgDn| 6 | 7 | 8 | 9 | 0 | |
  53. * |---------------------------------------------------------------------|
  54. * |CAPS| Q | D | R | W | B |Home| End| J | F | U | P | ; |INS |
  55. * |---------------------------------------------------------------------|
  56. * | \ | A | S | H | T | G |Esc | Tab| Y | N | E | O | I | ' |
  57. * |---------------------------------------------------------------------|
  58. * |CTRL| Z | X | M | C | V |LWin|Rwin| K | L | , | . | / |CTRL|
  59. * |---------------------------------------------------------------------|
  60. * | | |Paus|Shft| Alt| Spc|Del |Bspc|Ent | Alt|Shft| Fn | | |
  61. * `---------------------------------------------------------------------'
  62. */
  63. KEYMAP(
  64. TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, \
  65. TRNS, TRNS, D, R, W, B, TRNS, TRNS, TRNS, F, TRNS, P, TRNS, TRNS, \
  66. TRNS, TRNS, S, H, TRNS, G, TRNS, TRNS, Y, TRNS, TRNS, O, I, TRNS, \
  67. TRNS, TRNS, TRNS, M, C, V, TRNS, TRNS, TRNS, L, TRNS, TRNS, TRNS, TRNS, \
  68. TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS),
  69. /* 4: aluko qwerty layout
  70. 1, 2, 3, 4, 5, - , = , 6, 7, 8, 9, 0, \
  71. CAPS, Q, W, E, R, T, HOME, END, Y, U, I, O, P, INS, \
  72. BSLS, A, S, D, F, G, ESC, TAB, H, J, K, L, ; , QUOT, \
  73. LCTL, Z, X, C, V, B, LGUI, RGUI, N, M, , , . , / , RCTL, \
  74. PAUS, LSFT, LALT, SPC, DELETE, BSPC, ENT, RALT, RSFT, FN1*/
  75. KEYMAP(
  76. TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, \
  77. TRNS, TRNS, TRNS, E , P , T , TRNS, TRNS, Y , U , I , O , P , TRNS, \
  78. TRNS, TRNS, S , D , F , G , TRNS, TRNS, TRNS, J , K , L , SCLN, TRNS, \
  79. TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, N , TRNS, TRNS, TRNS, TRNS, TRNS, \
  80. TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS),
  81. /* 5: aluko programmers dvorak
  82. 1, 2, 3, 4, 5, MINS, EQL, 6, 7, 8, 9, 0, \
  83. CAPS, `, W, F, P, G, HOME, END, J, L, U, Y, SCLN, INS, \
  84. BSLS, A, R, S, T, D, ESC, TAB, H, N, E, I, O, QUOT, \
  85. LCTL, Z, X, C, V, B, LGUI, RGUI, K, M, COMM, DOT, SLSH, RCTL, \
  86. PAUS, LSFT, LALT, SPC, DELETE, BSPC, ENT, RALT, RSFT, FN1*/
  87. KEYMAP(
  88. TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, \
  89. TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, \
  90. TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, \
  91. TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, \
  92. TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS),
  93. /* 6: aluko modified colemak layout*/
  94. KEYMAP(
  95. TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, \
  96. TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, \
  97. TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, \
  98. TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, \
  99. TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS),
  100. /* 7: aluko yoruba layout
  101. 1, 2, 3, 4, 5, MINS, EQL, 6, 7, 8, 9, 0, \
  102. CAPS, `, W, F, P, G, HOME, END, J, L, U, Y, SCLN, INS, \
  103. BSLS, A, R, S, T, D, ESC, TAB, H, N, E, I, O, QUOT, \
  104. LCTL, Z, X, C, V, B, LGUI, RGUI, K, M, COMM, DOT, SLSH, RCTL, \
  105. PAUS, LSFT, LALT, SPC, DELETE, BSPC, ENT, RALT, RSFT, FN1
  106. */
  107. KEYMAP(
  108. TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, \
  109. TRNS, GRV, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, \
  110. TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, \
  111. TRNS, DOT, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, \
  112. TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS)
  113. /* 8: aluko colemak layout
  114. KEYMAP(
  115. TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, \
  116. TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, \
  117. TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, \
  118. TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, \
  119. TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS),*/
  120. /* 9: aluko colemak layout
  121. KEYMAP(
  122. TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, \
  123. TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, \
  124. TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, \
  125. TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, \
  126. TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS)*/
  127. };
  128.  
  129. /* id for user defined functions & macros
  130. enum function_id {
  131. TEENSY_KEY,
  132. }; */
  133.  
  134. const uint16_t PROGMEM fn_actions[] = {
  135. /* Poker Layout */
  136. [0] = ACTION_LAYER_TOGGLE(0), // to Fn overlay
  137. [1] = ACTION_LAYER_MOMENTARY(1), // set function layer where we can get to any other layer
  138. [2] = ACTION_LAYER_TOGGLE(2), // set symbol layer
  139. [3] = ACTION_LAYER_TOGGLE(3), // set workman layout
  140. [4] = ACTION_LAYER_TOGGLE(4), // set yoruba layout work in progress
  141. [5] = ACTION_LAYER_TOGGLE(5), // set colemak layout
  142. [6] = ACTION_LAYER_TOGGLE(6), // set colemak layout
  143. [7] = ACTION_LAYER_TOGGLE(7), // set colemak layout
  144. //[8] = ACTION_LAYER_TOGGLE(8), // set colemak layout
  145. //[9] = ACTION_LAYER_TOGGLE(9), // set colemak layout
  146. //[4] = ACTION_FUNCTION(BOOTLOADER), // launch teensy bootloader
  147. [11] = ACTION_MODS_KEY(MOD_RSFT, KC_1),
  148. [12] = ACTION_MODS_KEY(MOD_RSFT, KC_2),
  149. [13] = ACTION_MODS_KEY(MOD_RSFT, KC_3),
  150. [14] = ACTION_MODS_KEY(MOD_RSFT, KC_4),
  151. [15] = ACTION_MODS_KEY(MOD_RSFT, KC_5),
  152. [16] = ACTION_MODS_KEY(MOD_RSFT, KC_6),
  153. [17] = ACTION_MODS_KEY(MOD_RSFT, KC_7),
  154. [18] = ACTION_MODS_KEY(MOD_RSFT, KC_9),
  155. [19] = ACTION_MODS_KEY(MOD_RSFT, KC_0),
  156. [20] = ACTION_MODS_KEY(MOD_RSFT, KC_GRV),
  157. [21] = ACTION_MODS_KEY(MOD_RSFT, KC_LBRC),
  158. [22] = ACTION_MODS_KEY(MOD_RSFT, KC_MINS),
  159. [23] = ACTION_MODS_KEY(MOD_RSFT, KC_RBRC)
  160. };
  161.  
  162. /*
  163. void action_function(keyrecord_t *record, uint8_t id, uint8_t opt)
  164. {
  165. if (id == TEENSY_KEY) {
  166. clear_keyboard();
  167. print("\n\nJump to bootloader... ");
  168. _delay_ms(50);
  169. bootloader_jump(); // should not return
  170. print("not supported.\n");
  171. }
  172. }
  173. */
  174. const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) {
  175. if (record->event.pressed) {
  176. switch (id) {}
  177. }
  178. return MACRO_NONE;
  179. }
  180.  
  181. #define FN_ACTIONS_SIZE (sizeof(fn_actions) / sizeof(fn_actions[0]))
  182.  
  183. /* translates Fn keycode to action */
  184. action_t keymap_fn_to_action(uint8_t keycode)
  185. {
  186. action_t action;
  187. action.code = ACTION_NO;
  188. if ((action.code == ACTION_NO) && (FN_INDEX(keycode) < FN_ACTIONS_SIZE)) {
  189. action.code = pgm_read_word(&fn_actions[FN_INDEX(keycode)]);
  190. }
  191. return action;
  192. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement