]> git.donarmstrong.com Git - qmk_firmware.git/blob - keyboards/miuni32/keymaps/ht_156/keymap.c
Remove all Makefiles from the keyboards directory. (#1660)
[qmk_firmware.git] / keyboards / miuni32 / keymaps / ht_156 / keymap.c
1 #include "miuni32.h"
2
3 // Keyboard layer definitions
4 #define BASE    0
5 #define NUMBERS 1
6 #define SYMBOLS 2
7 #define MEDIA   3
8
9 // Keyboard macro defintions
10 #define GIT_ST  M(0)
11 #define GIT_PU  M(1)
12 #define GIT_CM  M(2)
13 #define HM_DIR  M(3)
14
15 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
16     /* Level 0: Default Layer
17      * ,---------------------------------------------------------------------------------------.
18      * |   Q   |   W   |   E   |   R   |   T   |   Y   |   U   |   I   |   O   |   P   |  BSP  |
19      * |---------------------------------------------------------------------------------------|
20      * |   A   |   S   |   D   |   F   |   G   |   H   |   J   |   K   |   L   |  ENT  |  RSFT |
21      * |---------------------------------------------------------------------------------------|
22      * |LT(2|Z)|LT(3|X)|   C   |   V   |   B   |  SPC  |   N   |   M   |   ,   |LT(1|.)|  RCTL |
23      * |---------------------------------------------------------------------------------------|
24      */
25         [BASE] ={
26                 {KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC}, 
27                 {KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_ENT, KC_RSFT}, 
28                 {LT(2, KC_Z), LT(3, KC_X), KC_C, KC_V, KC_B, KC_SPC, KC_N, KC_M, KC_COMMA, LT(1, KC_DOT), KC_RCTL}
29         },
30         /* Level 1: Numbers Layer
31      * ,---------------------------------------------------------------------------------------.
32      * |  ESC  |   7   |   8   |   9   |   /   |   *   |   .   |   ,   |   (   |   )   |  DEL  |
33      * |---------------------------------------------------------------------------------------|
34      * |  TAB  |   4   |   5   |   6   |   -   |   +   |  HOME |   UP  |  END  |  INS  |  PGUP |
35      * |---------------------------------------------------------------------------------------|
36      * |  LATL |   1   |   2   |   3   |   0   |  ENT  |  LEFT |  DOWN |  RGHT | !TRNS!|  PGDN |
37      * |---------------------------------------------------------------------------------------|
38      */
39         [NUMBERS] ={
40                 {KC_ESC, KC_7, KC_8, KC_9, KC_SLSH, KC_ASTR, KC_DOT, KC_COMM, KC_LPRN, KC_RPRN, KC_DEL}, 
41                 {KC_TAB, KC_4, KC_5, KC_6, KC_MINS, KC_PLUS, KC_HOME, KC_UP, KC_END, KC_INSERT, KC_PGUP},
42                 {KC_LALT, KC_1, KC_2, KC_3, KC_0, KC_ENT, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_PGDN}
43         },
44         /* Level 2: Symbols Layer
45      * ,---------------------------------------------------------------------------------------.
46      * |   !   |   @   |   #   |   $   |   %   |   ^   |   &   |   *   |   _   |   =   |   ?   |
47      * |---------------------------------------------------------------------------------------|
48      * | RESET |  LSFT |   ~   |   {   |   }   |   \   |   |   |   ;   |   :   |   `   |   "   |
49      * |---------------------------------------------------------------------------------------|
50      * | !TRNS!|  LCTL |  TRNS |   [   |   ]   |  TAB  |   <   |   >   |  TRNS |  RCTL |  TRNS |
51      * |---------------------------------------------------------------------------------------|
52      */
53         [SYMBOLS] ={
54                 {KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_UNDS, KC_EQL, KC_QUES},
55                 {RESET, KC_LSFT, KC_TILD, KC_LCBR, KC_RCBR, KC_BSLS, KC_PIPE, KC_SCLN, KC_COLN, KC_GRV, KC_DQUO},
56                 {KC_TRNS, KC_LCTL, KC_TRNS, KC_LBRC, KC_RBRC, KC_TAB, KC_LABK, KC_RABK, KC_TRNS, KC_RCTL, KC_TRNS}
57         },
58     /* Level 3: Media Layer
59      * ,---------------------------------------------------------------------------------------.
60      * |RGB_TOG|RGB_HUI|RGB_SAI|RGB_VAI| GIT_CM|  CALC |  WREF |  WFAV |  MUTE |  VOLD |  VOLU |
61      * |---------------------------------------------------------------------------------------|
62      * |RGB_MOD|RGB_HUD|RGB_SAD|RGB_VAD| GIT_ST|  WHOM |  WBAK |  WFWD |  TRNS |  STOP |  PLAY |
63      * |---------------------------------------------------------------------------------------|
64      * |  TRNS | !TRNS!|  TRNS | HM_DIR| GIT_PU|  MYCM |  WSTP |  WSCH |  MSEL |  MPRV |  MNXT |
65      * |---------------------------------------------------------------------------------------|
66      */
67     [MEDIA] ={
68         {RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, GIT_CM, KC_CALC, KC_WREF, KC_WFAV, KC_MUTE, KC_VOLD, KC_VOLU},
69         {RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, GIT_ST, KC_WHOM, KC_WBAK, KC_WFWD, KC_TRNS, KC_MSTP, KC_MPLY},
70         {KC_TRNS, KC_TRNS, KC_TRNS, HM_DIR, GIT_PU, KC_MYCM, KC_WSTP, KC_WSCH, KC_MSEL, KC_MPRV, KC_MNXT}
71     }
72 };
73
74 void press_and_release_key(uint8_t code)
75 {
76     register_code(code);
77     unregister_code(code);
78 }
79
80 void press_and_release_mod_key(uint8_t mod, uint8_t code)
81 {
82     register_code(mod);
83     register_code(code);
84     unregister_code(code);
85     unregister_code(mod);
86 }
87
88 const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
89 {
90   // MACRODOWN only works in this function
91       switch(id) 
92       {
93         case 0:
94           if (record->event.pressed) 
95           {
96             return MACRO(T(G), T(I), T(T), T(SPC),
97                          T(S), T(T), T(A), T(T), T(U), T(S), END);
98           }
99         break;
100         case 1:
101           if (record->event.pressed) 
102           {
103             return MACRO(T(G), T(I), T(T), T(SPC),
104                          T(P), T(U), T(L), T(L), END);
105           }
106         break;
107         case 2:
108           if (record->event.pressed) 
109           {
110             return MACRO(T(G), T(I), T(T), T(SPC),
111                          T(C), T(O), T(M), T(M), T(I), T(T), END);
112           }
113         break;
114         case 3:
115           if (record->event.pressed) 
116           {
117             /*press_and_release_key(KC_C);
118             press_and_release_key(KC_D);
119             press_and_release_key(KC_SPC);
120             press_and_release_mod_key(KC_LSFT, KC_GRV);
121             press_and_release_key(KC_SLSH);
122             press_and_release_key(KC_Q);
123             press_and_release_key(KC_M);
124             press_and_release_key(KC_K);
125             press_and_release_mod_key(KC_LSFT, KC_MINS);*/
126             return MACRO(I(0),
127                          T(C), T(D), T(SPC),
128                          D(LSFT), T(GRV), U(LSFT), T(SLSH),
129                          T(Q), T(M), T(K), D(LSFT), T(MINS), U(LSFT),
130                          T(F), T(I), T(R), T(M), T(W), T(A), T(R), T(E), T(SLSH),
131                          T(K), T(E), T(Y), T(B), T(O), T(A), T(R), T(D), T(S), T(SLSH), 
132                          T(M), T(I), T(U), T(N), T(I), T(3), T(2), T(SLSH),
133                          T(K), T(E), T(Y), T(M), T(A), T(P), T(S), END);
134           }
135       }
136     return MACRO_NONE;
137 };
138
139 void matrix_init_user(void) {
140 }
141
142 void matrix_scan_user(void) {
143 }
144
145 bool process_record_user(uint16_t keycode, keyrecord_t *record) {
146         return true;
147 }
148
149 void led_set_user(uint8_t usb_led) {
150
151         if (usb_led & (1 << USB_LED_NUM_LOCK)) {
152
153         } else {
154
155         }
156
157         if (usb_led & (1 << USB_LED_CAPS_LOCK)) {
158
159         } else {
160
161         }
162
163         if (usb_led & (1 << USB_LED_SCROLL_LOCK)) {
164
165         } else {
166
167         }
168
169         if (usb_led & (1 << USB_LED_COMPOSE)) {
170
171         } else {
172
173         }
174
175         if (usb_led & (1 << USB_LED_KANA)) {
176
177         } else {
178
179         }
180
181 }