keymap.c 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. #include QMK_KEYBOARD_H
  2. #include "333fred.h"
  3. extern keymap_config_t keymap_config;
  4. // Use an expanded macro with VA_ARGS to ensure that the common
  5. // rows get expanded out before getting passed to the LAYOUT
  6. // macro.
  7. #define LAYOUT_wrapper(...) LAYOUT(__VA_ARGS__)
  8. const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
  9. [BASE] = LAYOUT_wrapper( \
  10. ROW5_LEFT_BASE, KC_F5, KC_F6, ROW5_RGHT_BASE,
  11. ROW4_LEFT_BASE, TG(GAME), TG(GAME_ARROW), ROW4_RGHT_BASE,
  12. ROW3_LEFT_BASE, KC_LGUI, KC_BSPC, ROW3_RGHT_BASE,
  13. ROW2_LEFT_BASE, TD(TD_COPY_PASTE), KC_UP , ROW2_RGHT_BASE,
  14. ROW1_LEFT_BASE, KC_BSPC, TD(TD_SYM_VIM), KC_DEL, KC_ENT, KC_SPC , KC_DOWN, ROW1_RGHT_BASE
  15. ),
  16. [SYMB] = LAYOUT_wrapper(
  17. ROW5_LEFT_SYMB, _______, _______, ROW5_RGHT_SYMB,
  18. ROW4_LEFT_SYMB, PSCREEN_APP, _______, ROW4_RGHT_SYMB,
  19. ROW3_LEFT_SYMB, KC_PSCR, KC_VOLU, ROW3_RGHT_SYMB,
  20. ROW2_LEFT_SYMB, _______, KC_VOLD, ROW2_RGHT_SYMB,
  21. ROW1_LEFT_SYMB, _______, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, ROW1_RGHT_SYMB
  22. ),
  23. [VIM] = LAYOUT_wrapper(
  24. ROW5_LEFT_VIM, _______, _______, ROW5_RGHT_VIM,
  25. ROW4_LEFT_VIM, _______, _______, ROW4_RGHT_VIM,
  26. ROW3_LEFT_VIM, _______, _______, ROW3_RGHT_VIM,
  27. ROW2_LEFT_VIM, _______, _______, ROW2_RGHT_VIM,
  28. ROW1_LEFT_VIM, _______, _______, _______, _______, _______, _______, ROW1_RGHT_VIM
  29. ),
  30. [GAME] = LAYOUT_wrapper(
  31. KC_ESC, SIX_TRNS, _______, SIX_TRNS,
  32. SIX_TRNS, _______, _______, SIX_TRNS,
  33. KC_LCTL, FOUR_TRNS, _______, KC_F6, _______, SIX_TRNS,
  34. KC_LSFT, KC_Z, FOUR_TRNS, KC_F5, _______, SIX_TRNS,
  35. KC_ENT, _______, KC_LOCK, KC_BSPC, KC_LALT, KC_SPC, OSM(SYMB), _______, SIX_TRNS
  36. ),
  37. [GAME_ARROW] = LAYOUT_wrapper(
  38. KC_ESC, SIX_TRNS, _______, SIX_TRNS,
  39. _______, _______, KC_UP, _______, _______, _______, _______, _______, SIX_TRNS,
  40. KC_LCTL, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, KC_F6, _______, SIX_TRNS,
  41. KC_LSFT, KC_Z, FOUR_TRNS, KC_F5, _______, SIX_TRNS,
  42. KC_ENT, _______, KC_LOCK, KC_BSPC, KC_LALT, KC_SPC, OSM(SYMB), _______, SIX_TRNS
  43. )
  44. };
  45. bool process_record_user(uint16_t keycode, keyrecord_t *record) {
  46. tap_dance_process_keycode(keycode);
  47. return !try_handle_macro(keycode, record);
  48. }