]> git.donarmstrong.com Git - qmk_firmware.git/blob - keyboards/sirius/unigo66/keymaps/danielhklein/keymap.c
[Keyboard] UniGo66 keyboard added (#4913)
[qmk_firmware.git] / keyboards / sirius / unigo66 / keymaps / danielhklein / keymap.c
1 #include QMK_KEYBOARD_H
2
3 enum layer_number {
4     _MAC = 0,
5     _WINDOWS,
6     _FN,
7     _ADJ
8 };
9
10 enum custom_keycodes {
11   MAC = SAFE_RANGE,
12   WINDOWS,
13   FN,
14   ADJ
15 };
16
17 const uint16_t keymaps[][MATRIX_ROWS][MATRIX_COLS] PROGMEM = {
18 /* Mac
19  *
20  * ,--------------------------------------------------.           ,--------------------------------------------------.
21  * | Esc    |   1  |   2  |   3  |   4  |   5  |  -   |           |  =   |   6  |   7  |   8  |   9  |   0  |  Bsp   |
22  * |--------+------+------+------+------+-------------|           |------+------+------+------+------+------+--------|
23  * | Tab    |   Q  |   W  |   E  |   R  |   T  |  [   |           |  ]   |   Y  |   U  |   I  |   O  |   P  |  Enter |
24  * |--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------|
25  * | Caps   |   A  |   S  |   D  |   F  |   G  |------|           |------|   H  |   J  |   K  |   L  |   ;  |   '    |
26  * |--------+------+------+------+------+------|  `   |           |  \   |------+------+------+------+------+--------|
27  * | LShift |   Z  |   X  |   C  |   V  |   B  |      |           |      |   N  |   M  |   ,  |   .  |  /   | RShift |
28  * `--------+------+------+---------------------------'           `---------------------------+------+------+--------'
29  *   | Ctrl |  Alt |  Gui |                                                                   |  Gui |  Alt | Ctrl |
30  *   `--------------------'                                                                   `--------------------'
31  *                                        ,-------------.       ,--------------.
32  *                                        |      |      |       |      |       |  
33  *                                        | Bspc |  FN  |       |  ADJ | Space |
34  *                                        |      |      |       |      |       | 
35  *                                        `-------------'       `--------------'
36  */
37     [_MAC] = LAYOUT(
38         KC_ESC,  KC_1,   KC_2,   KC_3,   KC_4,   KC_5,   KC_MINS,       KC_EQL,  KC_6,   KC_7,   KC_8,   KC_9,   KC_0,    KC_DEL,
39         KC_TAB,  KC_Q,   KC_W,   KC_E,   KC_R,   KC_T,   KC_LBRC,       KC_RBRC, KC_Y,   KC_U,   KC_I,   KC_O,   KC_P,    KC_ENT,
40         KC_CAPS, KC_A,   KC_S,   KC_D,   KC_F,   KC_G,                           KC_H,   KC_J,   KC_K,   KC_L,   KC_SCLN, KC_QUOT, 
41         KC_LSFT, KC_Z,   KC_X,   KC_C,   KC_V,   KC_B,   KC_GRV,        KC_BSLS, KC_N,   KC_M,   KC_COMM,KC_DOT, KC_SLSH, KC_RSFT,
42         KC_LCTL, KC_LALT,KC_LGUI,                                                                        KC_RGUI,KC_RALT, KC_RCTL,
43                                            KC_BSPC,FN,            ADJ, KC_SPC,
44                                            KC_BSPC,FN,            ADJ, KC_SPC
45     ),
46 /* Windows
47  *
48  * ,--------------------------------------------------.           ,--------------------------------------------------.
49  * | Esc    |   1  |   2  |   3  |   4  |   5  |  -   |           |  =   |   6  |   7  |   8  |   9  |   0  |  Bsp   |
50  * |--------+------+------+------+------+-------------|           |------+------+------+------+------+------+--------|
51  * | Tab    |   Q  |   W  |   E  |   R  |   T  |  [   |           |  ]   |   Y  |   U  |   I  |   O  |   P  |  Enter |
52  * |--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------|
53  * | Caps   |   A  |   S  |   D  |   F  |   G  |------|           |------|   H  |   J  |   K  |   L  |   ;  |   '    |
54  * |--------+------+------+------+------+------|  `   |           |  \   |------+------+------+------+------+--------|
55  * | LShift |   Z  |   X  |   C  |   V  |   B  |      |           |      |   N  |   M  |   ,  |   .  |  /   | RShift |
56  * `--------+------+------+---------------------------'           `---------------------------+------+------+--------'
57  *   | Gui  |  Alt | Ctrl |                                                                   | Ctrl |  Alt |  Gui |
58  *   `--------------------'                                                                   `--------------------'
59  *                                        ,-------------.       ,--------------.
60  *                                        |      |      |       |      |       |  
61  *                                        | Bspc |  FN  |       |  ADJ | Space | 
62  *                                        |      |      |       |      |       | 
63  *                                        `-------------'       `--------------'
64  */
65     [_WINDOWS] = LAYOUT(
66   KC_ESC,  KC_1,   KC_2,   KC_3,   KC_4,   KC_5,   KC_MINS,       KC_EQL,  KC_6,   KC_7,   KC_8,   KC_9,   KC_0,    KC_DEL,
67   KC_TAB,  KC_Q,   KC_W,   KC_E,   KC_R,   KC_T,   KC_LBRC,       KC_RBRC, KC_Y,   KC_U,   KC_I,   KC_O,   KC_P,    KC_ENT,
68   KC_CAPS, KC_A,   KC_S,   KC_D,   KC_F,   KC_G,                           KC_H,   KC_J,   KC_K,   KC_L,   KC_SCLN, KC_QUOT, 
69   KC_LSFT, KC_Z,   KC_X,   KC_C,   KC_V,   KC_B,   KC_GRV,        KC_BSLS, KC_N,   KC_M,   KC_COMM,KC_DOT, KC_SLSH, KC_RSFT,
70   KC_LGUI, KC_LALT,KC_LCTL,                                                                        KC_RCTL,KC_RALT, KC_RGUI,
71                                            KC_BSPC,FN,            ADJ, KC_SPC,
72                                            KC_BSPC,FN,            ADJ, KC_SPC
73     ),
74 /* FN
75  *
76  * ,--------------------------------------------------.           ,--------------------------------------------------.
77  * | RESET  |      |      |      |      |      |      |           |      |      |      |      |      |      |        |
78  * |--------+------+------+------+------+-------------|           |------+------+------+------+------+------+--------|
79  * | MAC    |      |      |      |      |      |      |           |      |      | PgDn |  Up  | PgUp | Print|  Home  |
80  * |--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------|
81  * | WINDOWS|      |      |      |      |      |------|           |------|      | Left | Down | Right|Insert|  End   |
82  * |--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------|
83  * | Shift  |      |      |      |      |      |      |           |      | Play | Mute | Vol- | Vol+ | Last |  Next  |
84  * `--------+------+------+---------------------------'           `---------------------------+------+------+--------'
85  *   |      |      |GuiCtl|                                                                   |GuiCtl|      |      |
86  *   `--------------------'                                                                   `--------------------'
87  *                                        ,-------------.       ,--------------.
88  *                                        |      |      |       |      |       |  
89  *                                        |      |      |       |      |       | 
90  *                                        |      |      |       |      |       | 
91  *                                        `-------------'       `--------------'
92  */
93     [_FN] = LAYOUT(
94   RESET,   XXXXXXX,XXXXXXX, XXXXXXX, XXXXXXX,   XXXXXXX,   XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
95   MAC,     XXXXXXX,XXXXXXX, XXXXXXX, XXXXXXX,   XXXXXXX,   XXXXXXX, XXXXXXX, XXXXXXX, KC_PGDN, KC_UP,   KC_PGUP, KC_PSCR, KC_HOME,
96   WINDOWS, XXXXXXX,XXXXXXX, XXXXXXX, XXXXXXX,   XXXXXXX,                     XXXXXXX, KC_LEFT, KC_DOWN, KC_RGHT, KC_INS,  KC_END, 
97   _______, XXXXXXX,XXXXXXX, XXXXXXX, XXXXXXX,   XXXXXXX,   XXXXXXX, XXXXXXX, KC_MPLY, KC_MUTE, KC_VOLD, KC_VOLU, KC_MRWD, KC_MFFD,
98   XXXXXXX, XXXXXXX,_______,                                                                             _______, XXXXXXX, XXXXXXX,
99                                                 XXXXXXX,   _______, XXXXXXX, XXXXXXX,
100                                                 XXXXXXX,   _______, XXXXXXX, XXXXXXX
101     ),
102
103 /* ADJ
104  *
105  * ,--------------------------------------------------.           ,--------------------------------------------------.
106  * |   F1   |  F2  |  F3  |  F4  |  F5  |  F6  |      |           |Nlock |  =   |  /   |  *   |  -   |      |        |
107  * |--------+------+------+------+------+-------------|           |------+------+------+------+------+------+--------|
108  * |   F7   |  F8  |  F9  |  F10 |  F11 |  F12 |      |           |      |  7   |  8   |  9   |  +   |      |        |
109  * |--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------|
110  * |        |      |      |      |      |      |------|           |------|  4   |  5   |  6   | Enter|      |        |
111  * |--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------|
112  * |        |      |      |      |      |      |      |           |      |  1   |  2   |  3   | Space|      |        |
113  * `--------+------+------+---------------------------'           `---------------------------+------+------+--------'
114  *   |      |      |      |                                                                   |  0   |  .   |      |
115  *   `--------------------'                                                                   `--------------------'
116  *                                        ,-------------.       ,--------------.
117  *                                        |      |      |       |      |       |  
118  *                                        |      |      |       |      |       | 
119  *                                        |      |      |       |      |       | 
120  *                                        `-------------'       `--------------'
121  */
122     [_ADJ] = LAYOUT(
123   KC_F1,   KC_F2,  KC_F3,   KC_F4,   KC_F5,   KC_F6,   XXXXXXX, KC_NLCK, KC_PEQL, KC_PSLS, KC_PAST, KC_PMNS, XXXXXXX, XXXXXXX,
124   KC_F7,   KC_F8,  KC_F9,   KC_F10,  KC_F11,  KC_F12,  XXXXXXX, XXXXXXX, KC_P7,   KC_P8,   KC_P9,   KC_PPLS, XXXXXXX, XXXXXXX,
125   XXXXXXX, XXXXXXX,XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,                   KC_P4,   KC_P5,   KC_P6,   KC_PENT, XXXXXXX, XXXXXXX, 
126   XXXXXXX, XXXXXXX,XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_P1,   KC_P2,   KC_P3,   KC_SPC,  XXXXXXX, XXXXXXX,
127   XXXXXXX, XXXXXXX,XXXXXXX,                                                                         KC_P0,   KC_PDOT, XXXXXXX,
128                                               XXXXXXX, XXXXXXX, _______, XXXXXXX,
129                                               XXXXXXX, XXXXXXX, _______, XXXXXXX
130     )
131 };
132
133 void matrix_init_user(void) {
134
135 }
136
137 void matrix_scan_user(void) {
138
139 }
140
141 bool process_record_user(uint16_t keycode, keyrecord_t *record) {
142    switch (keycode) {
143     case MAC:
144       if (record->event.pressed) {
145         set_single_persistent_default_layer(_MAC);
146       }
147       return false;
148       break;
149     case WINDOWS:
150       if(record->event.pressed) {
151         set_single_persistent_default_layer(_WINDOWS);
152       }
153       return false;
154       break;
155     case FN:
156       if (record->event.pressed) {
157         layer_on(_FN);
158       } else {
159         layer_off(_FN);
160       }
161       return false;
162       break;
163     case ADJ:
164         if (record->event.pressed) {
165           layer_on(_ADJ);
166         } else {
167           layer_off(_ADJ);
168         }
169         return false;
170         break;
171   }
172   return true;
173 }
174
175 void led_set_user(uint8_t usb_led) {
176
177 }