]> git.donarmstrong.com Git - qmk_firmware.git/blob - keyboards/keebio/nyquist/keymaps/pitty/keymap.c
[Keyboard] Move Keebio boards to own folder (#5109)
[qmk_firmware.git] / keyboards / keebio / nyquist / keymaps / pitty / keymap.c
1 #include QMK_KEYBOARD_H
2
3 extern keymap_config_t keymap_config;
4
5 #define _QWERTY 0
6 #define _GAME 1
7 #define _LOWER 2
8 #define _VIM 3
9
10
11 enum custom_macros {
12     DLEFT,
13     DRIGHT,
14 };
15
16 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
17
18 /* Qwerty
19  * ,-----------------------------------------------------------------------------------.
20  * | 0(') |   1  |   2  |   3  |   4  |   5  |   6  |   7  |   8  |   9  | Ö(0) | Ü(-) |
21  * |------+------+------+------+------+------+------+------+------+------+------+------|
22  * | Tab  |   Q  |   W  |   E  |   R  |   T  |  Z(Y)|   U  |   I  |   O  |   P  | Bksp |
23  * |------+------+------+------+------+-------------+------+------+------+------+------|
24  * | Esc  |   A  |   S  |   D  |   F  |   G  |   H  |   J  |   K  |   L  |  É(;)| Á(") |
25  * |------+------+------+------+------+------|------+------+------+------+------+------|
26  * |Í/Shft| Y(Z) |   X  |   C  |   V  |   B  |   N  |   M  |   ,  |   .  |  -(/)| Shift|
27  * |------+------+------+------+------+------+------+------+------+------+------+------|
28  * | Ctrl |  GUI |  Alt |LOWER |  Spc |  Spc | Bksp | Ent  |  Alt | =(&) | GAME | Del  |
29  * `-----------------------------------------------------------------------------------'
30  */
31 [_QWERTY] = LAYOUT( \
32   KC_GRV,                KC_1,      KC_2,    KC_3,       KC_4,             KC_5,             KC_6,     KC_7,    KC_8,    KC_9,         KC_0,          KC_MINUS, \
33   KC_TAB,                KC_Q,      KC_W,    KC_E,       KC_R,             KC_T,             KC_Y,     KC_U,    KC_I,    KC_O,         KC_P,          KC_BSPC, \
34   KC_ESC,                KC_A,      KC_S,    KC_D,       KC_F,             KC_G,             KC_H,     KC_J,    KC_K,    KC_L,         KC_SCLN,       KC_QUOT, \
35   MT(MOD_LSFT, KC_NUBS), KC_Z,      KC_X,    KC_C,       KC_V,             KC_B,             KC_N,     KC_M,    KC_COMM, KC_DOT,       KC_SLSH,       KC_RSFT, \
36   KC_LCTL,               KC_LGUI,   KC_LALT, TT(_LOWER), LT(_VIM, KC_SPC), LT(_VIM, KC_SPC), KC_BSPC,  KC_ENT,  KC_RALT, KC_AMPERSAND, TG(_GAME),     KC_DEL \
37 ),
38
39 /* Gaming mode
40  * ,-----------------------------------------------------------------------------------.
41  * |      |      |      |      |      |      |      |      |      |      |      |QWERTY|
42  * |------+------+------+------+------+------+------+------+------+------+------+------|
43  * |      |      |      |      |      |      |      |      |      |      |      |      |
44  * |------+------+------+------+------+------+------+------+------+------+------+------|
45  * |      |      |      |      |      |      |      |      |      |      |      |      |
46  * |------+------+------+------+------+------+------+------+------+------+------+------|
47  * | Shift|      |      |      |      |      |      |      |      |      |      |      |
48  * |------+------+------+------+------+------+------+------+------+------+------+------|
49  * |      |      |      |      |  Spc |  Spc |      |      | Left | Down |  Up  | Right|
50  * `-----------------------------------------------------------------------------------'
51  */
52 [_GAME] =  LAYOUT( \
53   _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, TO(_QWERTY),    \
54   _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,    \
55   _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,    \
56   KC_LSFT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,    \
57   _______, _______, _______, _______, KC_SPC,  KC_SPC,  _______, _______, KC_LEFT, KC_DOWN, KC_UP,   KC_RGHT \
58 ),
59
60 /* Lower
61  * ,-----------------------------------------------------------------------------------.
62  * |  F1  |  F2  |  F3  |  F4  |  F5  |  F6  |  F7  |  F8  |  F9  |  F10 |  F11 |  F12 |
63  * |------+------+------+------+------+-------------+------+------+------+------+------|
64  * |      |      |  Up  |      |      |      |      |   7  |   8  |   9  |   /  |      |
65  * |------+------+------+------+------+-------------+------+------+------+------+------|
66  * |      | Left | Down | Right|      |      |      |   4  |   5  |   6  |   *  |      |
67  * |------+------+------+------+------+------|------+------+------+------+------+------|
68  * | Shift|      |      |      |      |      |      |   1  |   2  |   3  |   -  |      |
69  * |------+------+------+------+------+------+------+------+------+------+------+------|
70  * |      |      |      |      |      |      |      |   0  |   .  |   =  |   +  |      |
71  * `-----------------------------------------------------------------------------------'
72  */
73 [_LOWER] = LAYOUT( \
74   KC_F1,     KC_F2,   KC_F3,   KC_F4,   KC_F5,   KC_F6,   KC_F7,    KC_F8,   KC_F9,     KC_F10,       KC_F11,         KC_F12, \
75   _______,   _______, KC_UP,   _______, _______, _______, _______,  KC_7,    KC_8,      KC_9,         KC_KP_SLASH,    _______, \
76   _______,   KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______,  KC_4,    KC_5,      KC_6,         KC_KP_ASTERISK, _______, \
77   KC_LSFT,   _______, _______, _______, _______, _______, _______,  KC_1,    KC_2,      KC_3,         KC_KP_MINUS,    _______, \
78   _______,   _______, _______, _______, _______, _______, _______,  KC_GRV,  KC_KP_DOT, KC_KP_EQUAL,  KC_KP_PLUS,     _______ \
79 ),
80
81
82 /* Vim Movement (Hold down SPACE)
83  * ,-----------------------------------------------------------------------------------.
84  * | Ins  | Home | PGUP |      |DM_stp|      |      |      |      |      |   Ő  |  Ű   |
85  * |------+------+------+------+------+------+------+------+------+------+------+------|
86  * | Del  | End  | PGDN |      |DM_REC|      |      |  Ú   |   Í  |   Ó  |      |      |
87  * |------+------+------+------+------+------+------+------+------+------+------+------|
88  * |      | DLeft|DRight| LCTRL|      |      | Left | Down |  Up  | Right|      |      |
89  * |------+------+------+------+------+------+------+------+------+------+------+------|
90  * |      |      |      |      |      |      |      |      |      |      |      |      |
91  * |------+------+------+------+------+------+------+------+------+------+------+------|
92  * |      |      |      | LShft|      |      |      |      |      |      |      |      |
93  * `-----------------------------------------------------------------------------------'
94  */
95 [_VIM] =  LAYOUT( \
96   KC_INS,  KC_HOME,  KC_PGUP,   _______, _______, _______, _______, _______, _______, _______, KC_LBRC, KC_NUHS, \
97   KC_DEL,  KC_END,   KC_PGDN,   _______, _______, _______, _______, KC_RBRC, KC_NUBS, KC_EQL , _______, _______, \
98   _______, M(DLEFT), M(DRIGHT), KC_LCTL, _______, _______, KC_LEFT, KC_DOWN, KC_UP,   KC_RGHT, _______, _______, \
99   _______, _______,  _______,   _______, _______, _______, _______, _______, _______, _______, _______, _______, \
100   _______, _______,  _______,   KC_LSFT, _______, _______, _______, _______, _______, _______, _______, _______ \
101 )
102
103
104 };
105
106 void persistent_default_layer_set(uint16_t default_layer) {
107   eeconfig_update_default_layer(default_layer);
108   default_layer_set(default_layer);
109 }
110
111 const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) {
112     switch(id) {
113         case DLEFT:
114             if (record->event.pressed) { // Windows move desktop left
115                 return MACRO(D(LCTL), D(LGUI), T(LEFT), U(LGUI), U(LCTL), END);
116             }
117             break;
118         case DRIGHT:
119             if (record->event.pressed) { // Windows move desktop right
120                 return MACRO(D(LCTL), D(LGUI), T(RIGHT), U(LGUI), U(LCTL), END);
121             }
122             break;
123     }
124     return MACRO_NONE;
125 }
126
127 #ifdef RGBLIGHT_ENABLE
128 bool rgb_layer_change = true;
129 #endif
130
131 #define rgblight_set_blue        rgblight_sethsv (0xFF,  0xFF, 0xFF);
132 #define rgblight_set_red         rgblight_sethsv (0x00,  0xFF, 0xFF);
133 #define rgblight_set_green       rgblight_sethsv (0x78,  0xFF, 0xFF);
134 #define rgblight_set_orange      rgblight_sethsv (0x1E,  0xFF, 0xFF);
135 #define rgblight_set_teal        rgblight_sethsv (0xC3,  0xFF, 0xFF);
136 #define rgblight_set_magenta     rgblight_sethsv (0x12C, 0xFF, 0xFF);
137 #define rgblight_set_yellow      rgblight_sethsv (0x3C,  0xFF, 0xFF);
138 #define rgblight_set_purple      rgblight_sethsv (0x10E, 0xFF, 0xFF);
139 #define rgblight_set_white       rgblight_sethsv (0x00,  0x00, 0xFF);
140 #define rgblight_set_black       rgblight_sethsv (0x00,  0x00, 0x00);
141
142 uint32_t layer_state_set_user(uint32_t state) {
143 #ifdef RGBLIGHT_ENABLE
144   uint8_t default_layer = eeconfig_read_default_layer();
145   if (rgb_layer_change) {
146     switch (biton32(state)) {
147     case _LOWER:
148       rgblight_set_purple;
149       rgblight_mode(5);
150       break;
151     case _VIM:
152           rgblight_set_green;
153       rgblight_mode(23);
154       break;
155         case _GAME:
156       rgblight_mode(8);
157       break;
158     default:
159       if (default_layer & (1UL << _GAME)) {
160       }
161       else
162       rgblight_mode(14);
163       break;
164     }
165   }
166 #endif
167   return state;
168 }