keymap.c 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. #include "tada68.h"
  2. #include "action_macro.h"
  3. // Each layer gets a name for readability, which is then used in the keymap matrix below.
  4. // The underscores don't mean anything - you can have a layer called STUFF or any other name.
  5. // Layer names don't all need to be of the same length, obviously, and you can also skip them
  6. // entirely and just use numbers.
  7. #define _BL 0
  8. #define _FL 1
  9. // Macro Declarations
  10. #define UM_ROOT M(0)
  11. #define UM_PPLY M(1)
  12. #define UM_PSEF M(2)
  13. #define UM_XCPY M(3)
  14. #define UM_XINS M(4)
  15. #define UM_CAD M(5)
  16. #define _______ KC_TRNS
  17. const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
  18. /* Keymap _BL: (Base Layer) Default Layer
  19. * ,----------------------------------------------------------------.
  20. * |Esc | 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|Backsp |Ins |
  21. * |----------------------------------------------------------------|
  22. * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \ |Del |
  23. * |----------------------------------------------------------------|
  24. * |CAPS | A| S| D| F| G| H| J| K| L| ;| '|Return |PgUp|
  25. * |----------------------------------------------------------------|
  26. * |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift | Up|PgDn|
  27. * |----------------------------------------------------------------|
  28. * |Ctrl|Alt |Gui | Space |Alt| FN|Ctrl|Lef|Dow|Rig |
  29. * `----------------------------------------------------------------'
  30. */
  31. [_BL] = KEYMAP_ANSI(
  32. KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, \
  33. KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC,KC_BSLS, KC_DEL, \
  34. KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP, \
  35. KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH, KC_RSFT,KC_UP, KC_PGDN, \
  36. KC_LCTL,KC_LALT,KC_LGUI, KC_SPC, KC_RALT,MO(_FL), KC_RCTRL, KC_LEFT,KC_DOWN, KC_RGHT),
  37. /* Keymap _FL: Function Layer
  38. * ,----------------------------------------------------------------.
  39. * | | F1|F2 |F3 |F4 |F5 |F6 |F7 |F8 |F9 |F10|F11|F12|Del |Grv |
  40. * |----------------------------------------------------------------|
  41. * | | RT | PPLY| PS | | | | | | | | | | |Hme |
  42. * |----------------------------------------------------------------|
  43. * | | BL- |BL | BL+|BLG| | | | | | | | |End |
  44. * |----------------------------------------------------------------|
  45. * | | | |CP|PST | | PLY| NXT|MUT|VD |VU | McL|MsU|McR |
  46. * |----------------------------------------------------------------|
  47. * | | | | | | | |MsL|MsD|MsR |
  48. * `----------------------------------------------------------------'
  49. */
  50. [_FL] = KEYMAP_ANSI(
  51. _______, KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10, KC_F11, KC_F12, KC_DEL, KC_GRV, \
  52. _______,UM_ROOT,UM_PPLY,UM_PSEF,_______,_______,_______,_______,_______,_______,KC_PSCR,_______,_______,_______, KC_HOME, \
  53. _______,BL_DEC ,BL_TOGG,BL_INC,BL_BRTG,_______,_______,_______,_______,_______,_______,_______, _______, KC_END, \
  54. _______,_______ ,_______,UM_XCPY,UM_XINS,_______,KC_MPLY,KC_MNXT,KC_MUTE,KC_VOLD,KC_VOLU,KC_BTN1,KC_MS_U,KC_BTN2, \
  55. _______,_______,_______, _______, _______,_______,_______,KC_MS_L,KC_MS_D,KC_MS_R),
  56. };
  57. const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) {
  58. if (record->event.pressed) {
  59. switch(id) {
  60. case 0:
  61. SEND_STRING("sudo su -\n");
  62. return false; break;
  63. case 1:
  64. SEND_STRING("puppet apply /etc/puppetlabs/code/environments/production/manifests/site.pp\n");
  65. return false; break;
  66. case 2:
  67. SEND_STRING("ps -ef | grep ");
  68. return false; break;
  69. case 3:
  70. return MACRO(D(LCTL), T(INS), U(LCTL), END);
  71. break;
  72. case 4:
  73. return MACRO(D(LSFT), T(INS), U(LSFT), END);
  74. break;
  75. case 5:
  76. return MACRO(D(LCTL), D(RALT), T(DEL), END);
  77. break;
  78. }
  79. }
  80. return MACRO_NONE;
  81. };