]> git.donarmstrong.com Git - qmk_firmware.git/blob - keyboards/e7v1/keymaps/masterzen/keymap.c
Adds a period to the docs.
[qmk_firmware.git] / keyboards / e7v1 / keymaps / masterzen / keymap.c
1 #include QMK_KEYBOARD_H
2
3 enum layers {
4   BASE, // qwerty linux
5   OSX,  // qwerty osx
6
7   _ADJUST, // function key layer
8 };
9
10 enum keycodes {
11   // default layout switcher
12   LAY_LIN = SAFE_RANGE,
13   LAY_OSX
14 };
15
16 /*
17  * ,---------------------------------------------------------------------|
18  * |Esc|▓|F1 |F2 |F3 |F4 |▓|F5 |F6 |F7 |F8 |▓|F9 |F10|F11|F12|▓|Hom|▓|End|
19  * |---------------------------------------------------------------------|
20  * |`  |1  |2  |3  |4  |5  |6  |7  |8  |9  |0   |-   |=   |\   |Del|▓PgU |
21  * |---------------------------------------------------------------------|
22  * |Tab  |Q  |W  |E  |R  |T  |Y  |U  |I  |O  |P  |[  | ]  |    BSpc|▓PgDn|
23  * |---------------------------------------------------------------------|
24  * |LCTRL |A  |S  |D  |F  |G  |H  |J  |K  |L  |;  |'  |  Enter   |▓▓▓▓▓▓▓|
25  * |---------------------------------------------------------------------|
26  * |Shft    |Z  |X  |C  |V  |B  |N  |M  |,  |.  |/  |Shift     |▓| Up |▓▓|
27  * |---------------------------------------------------------------------|
28  * |Ctrl|GUI |Alt |     Space                    |Alt |Fn  |▓|Lt |Dn |Rt |
29  * `---------------------------------------------------------------------|'
30  */
31
32 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
33   [BASE] = LAYOUT_75_ansi_splitbs(
34                 KC_ESC, 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_HOME,   LT(_ADJUST,KC_END),
35                 KC_GRV, 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_BSLS,KC_DEL, KC_PGUP,
36                 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_BSPC, KC_PGDN,
37                 KC_LCTL, KC_A,  KC_S,  KC_D,  KC_F,  KC_G,  KC_H,  KC_J,  KC_K,  KC_L,  KC_SCLN,  KC_QUOT,        KC_ENT,
38                 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,
39                 KC_LCTL, KC_LGUI, KC_LALT,                  KC_SPC,                      KC_RALT, KC_RCTRL, KC_LEFT, KC_DOWN, KC_RGHT),
40
41   [OSX] = LAYOUT_75_ansi_splitbs(
42                 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
43                 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
44                 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
45                 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
46                 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
47                 KC_LCTL, KC_LALT, KC_LGUI,                  _______,                             KC_LGUI, KC_RALT, _______, _______, _______),
48
49         [_ADJUST] = LAYOUT_75_ansi_splitbs(
50                 RESET,   LAY_LIN, LAY_OSX, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, MO(_ADJUST),
51                 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
52                 BL_TOGG, BL_DEC, BL_INC, KC_LGUI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
53                 RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, _______, _______, _______, _______, _______, _______, _______,
54                 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAI,
55                 _______, _______, _______,                  _______,                             _______, _______, RGB_MOD, RGB_VAD, RGB_HUD),
56
57
58 };
59
60 extern rgblight_config_t rgblight_config;
61
62 bool edit = false;
63 uint32_t mode;
64 uint16_t hue;
65 uint8_t sat;
66 uint8_t val;
67
68 void matrix_init_user(void)
69 {
70   mode = rgblight_config.mode;
71 }
72
73
74 void persistent_default_layer_set(uint16_t default_layer)
75 {
76   eeconfig_update_default_layer(default_layer);
77   default_layer_set(default_layer);
78 }
79
80 bool process_record_user(uint16_t keycode, keyrecord_t *record)
81 {
82   switch (keycode)
83   {
84   /* layout switcher */
85   case LAY_LIN:
86     if (record->event.pressed)
87     {
88       persistent_default_layer_set(1UL << BASE);
89     }
90     return false;
91     break;
92   case LAY_OSX:
93     if (record->event.pressed)
94     {
95       persistent_default_layer_set(1UL << OSX);
96     }
97     return false;
98     break;
99   case RGB_MOD:
100     // allows to set the rgb mode while in the ADJUST layer which uses
101     // its own mode
102     if (record->event.pressed)
103     {
104       rgblight_mode(mode);
105       rgblight_step();
106       mode = rgblight_config.mode;
107     }
108     return false;
109     break;
110   }
111   return true;
112 }
113
114 uint32_t layer_state_set_user(uint32_t state)
115 {
116   if (state == BASE && edit == true)
117   {
118     hue = rgblight_get_hue();
119     sat = rgblight_get_sat();
120     val = rgblight_get_val();
121     edit = false;
122   }
123
124   switch (biton32(state))
125   {
126   case _ADJUST:
127     mode = rgblight_get_mode();
128     rgblight_mode_noeeprom(1);
129     rgblight_setrgb(0xD3, 0x7F, 0xED);
130     edit = true;
131     break;
132   default:
133     rgblight_mode(mode);
134     rgblight_sethsv(hue, sat, val);
135     break;
136   }
137   return state;
138 }