keymap.c 6.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150
  1. #include QMK_KEYBOARD_H
  2. #include "action_layer.h"
  3. extern keymap_config_t keymap_config;
  4. #define EXCEL_HOME LALT(KC_H)
  5. #define EXCEL_COL LCTL(KC_SPC)
  6. #define EXCEL_ROW LSFT(KC_SPC)
  7. #define DESK_LEFT LCTL(LGUI(KC_LEFT))
  8. #define WIN_LEFT LSFT(KC_TAB)
  9. #define WIN_CLOSE LALT(KC_F4)
  10. #define WIN_RIGHT KC_TAB
  11. #define DESK_RIGHT LCTL(LGUI(KC_RGHT))
  12. #define DOCS LGUI(KC_E)
  13. #define SNAP_RIGHT LGUI(KC_RGHT)
  14. #define SNAP_UP LGUI(KC_UP)
  15. #define SNAP_LEFT LGUI(KC_LEFT)
  16. #define SNAP_DOWN LGUI(KC_DOWN)
  17. #define COPY LCTL(KC_C)
  18. #define PASTE LCTL(KC_V)
  19. #define CUT LCTL(KC_X)
  20. #define UNDO LCTL(KC_Z)
  21. #define FIND LCTL(KC_F)
  22. const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
  23. LAYOUT_planck_grid(
  24. KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
  25. KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
  26. KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_UP, SFT_T(KC_ENT),
  27. MO(1), KC_LCTL, KC_LALT, KC_LGUI, MO(2), LT(5,KC_ENT), LT(4,KC_SPC), MO(3), KC_SLSH, KC_LEFT, KC_DOWN, CTL_T(KC_RGHT)),
  28. LAYOUT_planck_grid(
  29. KC_ESC, KC_NLCK, LCTL(KC_SPC), KC_UP, LSFT(KC_SPC), KC_DLR, KC_EQL, KC_P7, KC_P8, KC_P9, KC_PPLS, LCTL(KC_BSPC),
  30. KC_TAB, FIND, KC_LEFT, KC_DOWN, KC_RGHT, KC_PERC, KC_CIRC, KC_P4, KC_P5, KC_P6, KC_PMNS, KC_BSLS,
  31. KC_LSFT, UNDO, CUT, COPY, PASTE, EXCEL_HOME, KC_PSCR, KC_P1, KC_P2, KC_P3, KC_PSLS, KC_LSFT,
  32. KC_TRNS, KC_LCTL, KC_LALT, KC_LGUI, TO(1), KC_ENT, KC_SPC, KC_PENT, KC_P0, KC_PDOT, KC_PAST, KC_LCTL),
  33. LAYOUT_planck_grid(
  34. KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL,
  35. KC_CAPS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_EQL, KC_LT, KC_GT, KC_LPRN,
  36. KC_LSFT, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_MUTE, KC_MPLY, KC_MNXT, KC_PGUP, SFT_T(KC_VOLU),
  37. TO(0), KC_LCTL, KC_LALT, KC_LGUI, KC_TRNS, KC_ENT, KC_SPC, MO(3), KC_PSCR, KC_MPRV, KC_PGDOWN, CTL_T(KC_VOLD)),
  38. LAYOUT_planck_grid(
  39. KC_TILD, DESK_LEFT, WIN_LEFT, KC_F4, WIN_RIGHT, DESK_RIGHT, DOCS, SNAP_LEFT, SNAP_UP, SNAP_RIGHT, SNAP_DOWN, KC_DEL,
  40. KC_CAPS, KC_QUOT, KC_LBRC, KC_LCBR, KC_LPRN, KC_BSLS, KC_SLSH, KC_RPRN, KC_RCBR, KC_RBRC, KC_DQUO, KC_QUOT,
  41. KC_PWR, KC_SLEP, KC_WAKE, KC_HOME, BL_BRTG, BL_STEP, KC_TRNS, KC_CALC, KC_LT, KC_GT, KC_COLON, KC_LSFT,
  42. TO(0), KC_LCTL, KC_LALT, KC_LGUI, KC_LALT, KC_LCTL, KC_TRNS, KC_TRNS, AU_TOG, MU_TOG, MU_MOD, LCTL(KC_RGHT)),
  43. LAYOUT_planck_grid(
  44. TO(0), KC_LSCR, WIN_LEFT, KC_MS_WH_UP, WIN_RIGHT, KC_TRNS, KC_TRNS, KC_MS_BTN1, KC_MS_U, KC_MS_BTN2, KC_TRNS, KC_TRNS,
  45. KC_TRNS, KC_INS, KC_MS_WH_LEFT, KC_MS_WH_DOWN, KC_MS_WH_RIGHT, KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS, KC_TRNS,
  46. RESET, KC_APP, KC_MS_ACCEL0, KC_MS_ACCEL0, KC_MS_ACCEL0, KC_TRNS, KC_TRNS, TO(0), TO(1), TO(2), TO(3), TO(4),
  47. TO(0), KC_MENU, KC_TRNS, KC_TRNS, KC_LALT, KC_LCTL, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RCTL),
  48. LAYOUT_planck_grid(
  49. KC_BSPC, KC_P, KC_O, KC_I, KC_U, KC_Y, KC_T, KC_R, KC_E, KC_W, KC_Q, KC_BSPC,
  50. KC_TAB, KC_SCLN, KC_L, KC_K, KC_J, KC_H, KC_G, KC_F, KC_D, KC_S, KC_A, KC_QUOT,
  51. KC_LSFT, KC_ENT, KC_DOT, KC_COMM, KC_M, KC_N, KC_B, KC_V, KC_C, KC_X, KC_Z, SFT_T(KC_ENT),
  52. TO(0), KC_LCTL, KC_LALT, KC_LGUI, MO(2), KC_TRNS, KC_TRNS, MO(3), KC_SLSH, KC_LEFT, KC_DOWN, LCTL(KC_RGHT)),
  53. };
  54. #ifdef AUDIO_ENABLE
  55. void matrix_init_user(void)
  56. {
  57. set_voice(default_voice);
  58. startup_user();
  59. println("Matrix Init");
  60. }
  61. void led_set_user(uint8_t usb_led)
  62. {
  63. static uint8_t old_usb_led = 0;
  64. _delay_ms(10); // gets rid of tick
  65. if (!is_playing_notes())
  66. {
  67. if ((usb_led & (1<<USB_LED_CAPS_LOCK)) && !(old_usb_led & (1<<USB_LED_CAPS_LOCK)))
  68. {
  69. // If CAPS LK LED is turning on...
  70. PLAY_SONG(tone_caps_on);
  71. }
  72. else if (!(usb_led & (1<<USB_LED_CAPS_LOCK)) && (old_usb_led & (1<<USB_LED_CAPS_LOCK)))
  73. {
  74. // If CAPS LK LED is turning off...
  75. PLAY_SONG(tone_caps_off);
  76. }
  77. else if ((usb_led & (1<<USB_LED_NUM_LOCK)) && !(old_usb_led & (1<<USB_LED_NUM_LOCK)))
  78. {
  79. // If NUM LK LED is turning on...
  80. PLAY_SONG(tone_numlk_on);
  81. }
  82. else if (!(usb_led & (1<<USB_LED_NUM_LOCK)) && (old_usb_led & (1<<USB_LED_NUM_LOCK)))
  83. {
  84. // If NUM LED is turning off...
  85. PLAY_SONG(tone_numlk_off);
  86. }
  87. else if ((usb_led & (1<<USB_LED_SCROLL_LOCK)) && !(old_usb_led & (1<<USB_LED_SCROLL_LOCK)))
  88. {
  89. // If SCROLL LK LED is turning on...
  90. PLAY_SONG(tone_scroll_on);
  91. }
  92. else if (!(usb_led & (1<<USB_LED_SCROLL_LOCK)) && (old_usb_led & (1<<USB_LED_SCROLL_LOCK)))
  93. {
  94. // If SCROLL LED is turning off...
  95. PLAY_SONG(tone_scroll_off);
  96. }
  97. }
  98. old_usb_led = usb_led;
  99. }
  100. void startup_user()
  101. {
  102. _delay_ms(30); // gets rid of tick
  103. PLAY_SONG(tone_my_startup);
  104. }
  105. void shutdown_user()
  106. {
  107. PLAY_SONG(tone_my_goodbye);
  108. _delay_ms(3000);
  109. stop_all_notes();
  110. }
  111. void audio_on_user(void)
  112. {
  113. PLAY_SONG(tone_audio_on);
  114. }
  115. void music_on_user(void)
  116. {
  117. PLAY_SONG(tone_music_on);
  118. }
  119. #endif /* AUDIO_ENABLE */