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