keymap.c 3.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. #include "jd45.h"
  2. const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
  3. [0] = KEYMAP(
  4. ESC, Q, W, F, P, G, J, L, U, Y, SCLN, QUOT, BSPC,
  5. FN8, A, R, S, T, D, H, N, E, I, O, ENT,
  6. LSFT, Z, X, C, V, B, K, M, COMM, DOT, SLSH, FN6,
  7. FN4, LGUI, FN7, FN2, FN1, SPC, FN5, RALT, FN3, FN0 ),
  8. [1] = KEYMAP(
  9. TRNS, FN10, FN11, FN12, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, UP, DEL,
  10. TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, HOME, PGUP, LEFT, RGHT,
  11. TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, END, PGDN, DOWN, TRNS,
  12. TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS ),
  13. [2] = KEYMAP(
  14. TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, 7, 8, 9, 0, TRNS, TRNS,
  15. TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, LBRC, 4, 5, 6, DOT, TRNS,
  16. TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, RBRC, 1, 2, 3, BSLS, TRNS,
  17. TRNS,FN29, TRNS, TRNS, TRNS, PAUSE, EQL, MINS, TRNS, TRNS ),
  18. [3] = KEYMAP(
  19. TRNS, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12,
  20. TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS,
  21. TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS,
  22. TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS ),
  23. [4] = KEYMAP(
  24. TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, 7, 8, 9, 0, TRNS, TRNS,
  25. TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, LBRC, 4, 5, 6, DOT, TRNS,
  26. TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, RBRC, 1, 2, 3, BSLS, TRNS,
  27. TRNS,FN29, TRNS, TRNS, TRNS, PAUSE, EQL, MINS, TRNS, TRNS ),
  28. };
  29. enum macro_id {
  30. PSWD1,
  31. PSWD2,
  32. PSWD3,
  33. };
  34. const uint16_t PROGMEM fn_actions[] = {
  35. [0] = ACTION_MODS_TAP_KEY(MOD_LCTL, KC_MINS),
  36. [1] = ACTION_LAYER_MOMENTARY(1), // FN1
  37. [2] = ACTION_LAYER_MOMENTARY(2), // FN2
  38. [3] = ACTION_LAYER_MOMENTARY(3), // FN3
  39. [4] = ACTION_MODS_TAP_KEY(MOD_LSFT, KC_GRV),
  40. [5] = ACTION_MODS_TAP_KEY(MOD_RSFT, KC_RGUI),
  41. [6] = ACTION_MODS_TAP_KEY(MOD_RSFT, KC_CAPS),
  42. [7] = ACTION_LAYER_MODS(4, MOD_LSFT), // FN4
  43. [8] = ACTION_MODS_TAP_KEY(MOD_LCTL, KC_TAB),
  44. [10] = ACTION_MACRO(PSWD1),
  45. [11] = ACTION_MACRO(PSWD2),
  46. [12] = ACTION_MACRO(PSWD3),
  47. [29] = ACTION_BACKLIGHT_TOGGLE(),
  48. [30] = ACTION_BACKLIGHT_INCREASE(),
  49. [31] = ACTION_BACKLIGHT_DECREASE()
  50. };
  51. /*
  52. * Macro definition
  53. */
  54. const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
  55. {
  56. switch (id) {
  57. case PSWD1:
  58. return (record->event.pressed ?
  59. MACRO( I(0), T(1), T(2), T(3), T(4), T(5), T(6), T(7), T(8), T(ENT), END ) :
  60. MACRO_NONE );
  61. case PSWD2:
  62. return (record->event.pressed ?
  63. MACRO( I(0), T(1), T(2), T(3), T(4), T(5), T(6), T(7), T(8), T(ENT), END ) :
  64. MACRO_NONE );
  65. case PSWD3:
  66. return (record->event.pressed ?
  67. MACRO( I(0), T(1), T(2), T(3), T(4), T(5), T(6), T(7), T(8), T(ENT), END ) :
  68. MACRO_NONE );
  69. //case VOLUP:
  70. // return (record->event.pressed ?
  71. // MACRO( D(VOLU), U(VOLU), END ) :
  72. // MACRO_NONE );
  73. //case ALT_TAB:
  74. // return (record->event.pressed ?
  75. // MACRO( D(LALT), D(TAB), END ) :
  76. // MACRO( U(TAB), END ));
  77. }
  78. return MACRO_NONE;
  79. }