]> git.donarmstrong.com Git - qmk_firmware.git/blob - keyboards/atreus62/keymaps/d4mation/keymap.c
[Keymap] Added userspace for d4mation. Included their keymap for the Atreus62 (#7483)
[qmk_firmware.git] / keyboards / atreus62 / keymaps / d4mation / keymap.c
1 #include QMK_KEYBOARD_H
2 #include "d4mation.h"
3
4 enum layer_names {
5   _DVR,
6   _QWR,
7   _LOWER,
8   _RAISE,
9   _NUM,
10   _ADJUST
11 };
12
13 enum keymap_custom_keycodes {
14   LOWER = NEW_SAFE_RANGE,
15   RAISE
16 };
17
18 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
19
20   /* Default/Dvorak layer
21    * ,-----------------------------------------.                ,-----------------------------------------.
22    * | `    |   1  |   2  |   3  |   4  |   5  |                |   6  |   7  |   8  |   9  |   0  |  /   |
23    * |------+------+------+------+------+------|                |------+------+------+------+------+------|
24    * | Tab  |   '  |   ,  |   .  |   P  |   Y  |                |   F  |   G  |   C  |   R  |   L  |  =   |
25    * |------+------+------+------+------+------|                |------+------+------+------+------+------|
26    * | Ctrl |   A  |   O  |   E  |   U  |   I  |,------.,------.|   D  |   H  |   T  |   N  |   S  |  -   |
27    * |------+------+------+------+------+------||      ||      ||------+------+------+------+------+------|
28    * |Shift |   ;  |   Q  |   J  |   K  |   X  ||Super ||Enter ||   B  |   M  |   W  |   V  |   Z  |  \   |
29    * |------+------+------+------+------+------||      ||      ||------+------+------+------+------+------|
30    * | NUM  | Alt  | Home |  End |Lower | Bksp |`------'`------'|Space |Raise | Left | Down |  Up  |Right |
31    * `-----------------------------------------'                `-----------------------------------------'
32    */
33
34   [_DVR] = LAYOUT(
35     _GRAVE_ESC,       KC_1,    KC_2,    KC_3,    KC_4,    KC_5,                      KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_SLSH,
36     KC_TAB,           KC_QUOT, KC_COMM, KC_DOT,  KC_P,    KC_Y,                      KC_F,    KC_G,    KC_C,    KC_R,    KC_L,    KC_EQL,
37     KC_LCTL,          KC_A,    KC_O,    KC_E,    KC_U,    KC_I,                      KC_D,    KC_H,    KC_T,    KC_N,    KC_S,    KC_MINS,
38     TD(SHIFT_CAPS),   KC_SCLN, KC_Q,    KC_J,    KC_K,    KC_X,                      KC_B,    KC_M,    KC_W,    KC_V,    KC_Z,    KC_BSLS,
39     TG(_NUM),         KC_RALT, KC_HOME, KC_END,  LOWER,   KC_BSPC,  KC_LGUI, KC_ENT, KC_SPC,  RAISE,   KC_LEFT, KC_DOWN, KC_UP,   KC_RIGHT
40   ),
41
42   /* Qwerty layer, more "standard" for other people who may need to use my keyboard or for games where using Qwerty is just easier
43    * ,-----------------------------------------.                ,-----------------------------------------.
44    * | `    |   1  |   2  |   3  |   4  |   5  |                |   6  |   7  |   8  |   9  |   0  |  -   |
45    * |------+------+------+------+------+------|                |------+------+------+------+------+------|
46    * | Tab  |   Q  |   W  |   E  |   R  |   T  |                |   Y  |   U  |   I  |   O  |   P  |  \   |
47    * |------+------+------+------+------+------|                |------+------+------+------+------+------|
48    * | Ctrl |   A  |   S  |   D  |   F  |   G  |,------.,------.|   H  |   J  |   K  |   L  |   ;  |  '   |
49    * |------+------+------+------+------+------||      ||      ||------+------+------+------+------+------|
50    * |Shift |   Z  |   X  |   C  |   V  |   B  ||Super ||Enter ||   N  |   M  |   ,  |   .  |   /  |  =   |
51    * |------+------+------+------+------+------||      ||      ||------+------+------+------+------+------|
52    * | NUM  | Alt  | Home |  End |Lower | Bksp |`------'`------'|Space |Raise | Left | Down |  Up  |Right |
53    * `-----------------------------------------'                `-----------------------------------------'
54    */
55
56   [_QWR] = LAYOUT(
57     _GRAVE_ESC,       KC_1,    KC_2,    KC_3,    KC_4,    KC_5,                      KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_MINS,
58     KC_TAB,           KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,                      KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,    KC_BSLS,
59     KC_LCTL,          KC_A,    KC_S,    KC_D,    KC_F,    KC_G,                      KC_H,    KC_J,    KC_K,    KC_L,    KC_SCLN, KC_QUOT,
60     TD(SHIFT_CAPS),   KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,                      KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, KC_EQL,
61     TG(_NUM),         KC_RALT, KC_HOME, KC_END,  LOWER,   KC_BSPC,  KC_LGUI, KC_ENT, KC_SPC,  RAISE,   KC_LEFT, KC_DOWN, KC_UP,   KC_RIGHT
62   ),
63
64   /* "Lower" layer
65    * ,-----------------------------------------.                ,-----------------------------------------.
66    * | F11  |  F1  |  F2  |  F3  |  F4  |  F5  |                |  F6  |  F7  |  F8  |  F9  | F10  | F12  |
67    * |------+------+------+------+------+------|                |------+------+------+------+------+------|
68    * |      |      |      |      |SLEEP |      |                |      |      | SCRGB|      |      |      |
69    * |------+------+------+------+------+------|                |------+------+------+------+------+------|
70    * |      |      |      |      |      |      |,------.,------.|      |      |      |   {  |   }  |      |
71    * |------+------+------+------+------+------||      ||      ||------+------+------+------+------+------|
72    * |      |      |      |      |      |      ||      ||      ||      | Mute | VolD | VolU |      |      |
73    * |------+------+------+------+------+------||      ||      ||------+------+------+------+------+------|
74    * |      |      |PageUp|PgDown|      | Del  |`------'`------'|  Ins |      |      |      |      |      |
75    * `-----------------------------------------'                `-----------------------------------------'
76    */
77
78   [_LOWER] = LAYOUT(
79     KC_F11,  KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,                     KC_F6,   KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F12,
80     _______, _______, _______, _______, SLEEP,   _______,                   _______, _______, SCRGB,   _______, _______, _______,
81     _______, _______, _______, _______, _______, _______,                   _______, _______, _______, KC_LCBR, KC_RCBR, _______,
82     _______, _______, _______, _______, _______, _______,                   _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______,
83     _______, _______, KC_PGUP, KC_PGDN, _______, KC_DEL,  _______, _______, KC_INS,  _______, _______, _______, _______, _______
84   ),
85
86   /* "Raise" layer
87    * ,-----------------------------------------.                ,-----------------------------------------.
88    * | F11  |  F1  |  F2  |  F3  |  F4  |  F5  |                |  F6  |  F7  |  F8  |  F9  | F10  | F12  |
89    * |------+------+------+------+------+------|                |------+------+------+------+------+------|
90    * |      |      |<?php>|  ?>  |      |      |                |ZALGO |      |      |      |      |      |
91    * |------+------+------+------+------+------|                |------+------+------+------+------+------|
92    * |      | Shrug|Lenny |Magic |Disfac|      |,------.,------.|      |      |      |   [  |   ]  |      |
93    * |------+------+------+------+------+------||      ||      ||------+------+------+------+------+------|
94    * |      | Ameno| Tflip| Tput |      |      ||      ||      ||      | Prev | Play | Next |      |      |
95    * |------+------+------+------+------+------||      ||      ||------+------+------+------+------+------|
96    * |      |      |PageUp|PgDown|      | Del  |`------'`------'|  Ins |      |      |      |      |      |
97    * `-----------------------------------------'                `-----------------------------------------'
98    */
99
100   [_RAISE] = LAYOUT(
101     KC_F11,  KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,                     KC_F6,   KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F12,
102     _______, _______, PHPOPEN, PHPCLSE, _______, _______,                   ZALGO,   _______, _______, _______, _______, _______,
103     _______, SHRUG,   LENNY,   MAGIC,   DISFACE, _______,                   _______, _______, _______, KC_LBRC, KC_RBRC,_______,
104     _______, AMENO,   TFLIP,   TPUT,    _______, _______,                   _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______,
105     _______, _______, KC_PGUP, KC_PGDN, _______, KC_DEL,  _______, _______, KC_INS,  _______, _______, _______, _______, _______
106   ),
107
108   /* "Numpad" layer
109    * ,-----------------------------------------.                ,-----------------------------------------.
110    * |      |      |   /  |   *  |   -  |      |                |      |      |   /  |   *  |   -  |      |
111    * |------+------+------+------+------+------|                |------+------+------+------+------+------|
112    * |      |   7  |   8  |   9  |   +  |      |                |      |   7  |   8  |   9  |   +  |      |
113    * |------+------+------+------+------+------|                |------+------+------+------+------+------|
114    * |      |   4  |   5  |   6  |   +  |      |,------.,------.|      |   4  |   5  |   6  |   +  |      |
115    * |------+------+------+------+------+------||      ||      ||------+------+------+------+------+------|
116    * |      |   1  |   2  |   3  | Enter|      ||      ||      ||      |   1  |   2  |   3  | Enter|      |
117    * |------+------+------+------+------+------||      ||      ||------+------+------+------+------+------|
118    * |      |   0  |   0  |   .  | Enter|      |`------'`------'|      |   0  |   0  |   .  | Enter|      |
119    * `-----------------------------------------'                `-----------------------------------------'
120    */
121
122   [_NUM] = LAYOUT(
123     _______, _______, KC_PSLS, KC_PAST, KC_PMNS, _______,                   _______, _______, KC_PSLS, KC_PAST, KC_PMNS, _______,
124     _______, KC_KP_7, KC_KP_8, KC_KP_9, KC_PPLS, _______,                   _______, KC_KP_7, KC_KP_8, KC_KP_9, KC_PPLS, _______,
125     _______, KC_KP_4, KC_KP_5, KC_KP_6, KC_PPLS, _______,                   _______, KC_KP_4, KC_KP_5, KC_KP_6, KC_PPLS, _______,
126     _______, KC_KP_1, KC_KP_2, KC_KP_3, KC_PENT, _______,                   _______, KC_KP_1, KC_KP_2, KC_KP_3, KC_PENT, _______,
127     _______, KC_KP_0, KC_KP_0, KC_PDOT, KC_PENT, _______, _______, _______, _______, KC_KP_0, KC_KP_0, KC_PDOT, KC_PENT, _______
128   ),
129
130   /* "Adjust" layer, only active if both "Lower" and "Raise" are active at the same time
131    * All unused keys are blanked out for this layer
132    * ,-----------------------------------------.                ,-----------------------------------------.
133    * |  NO  |  NO  |  NO  |  NO  |  NO  |  NO  |                |  NO  |  NO  |  NO  |  NO  |  NO  |  NO  |
134    * |------+------+------+------+------+------|                |------+------+------+------+------+------|
135    * |  NO  |RESET |  NO  |  NO  |  NO  |  NO  |                |  NO  |  NO  |  NO  |  NO  |  NO  |  NO  |
136    * |------+------+------+------+------+------|                |------+------+------+------+------+------|
137    * |  NO  |  NO  |  NO  |UC WIN|UC OSX|  NO  |,------.,------.|  NO  |Dvorak|Qwerty|  NO  |  NO  |  NO  |
138    * |------+------+------+------+------+------|| Swap ||      ||------+------+------+------+------+------|
139    * |  NO  |  NO  |  NO  |  NO  |  NO  |  NO  ||  to  || Swap ||  NO  |  NO  |  NO  |  NO  |  NO  |  NO  |
140    * |------+------+------+------+------+------|| Ctrl || Back ||------+------+------+------+------+------|
141    * |  NO  |  NO  |  NO  |  NO  |      |  NO  |`------'`------'|  NO  |      |  NO  |  NO  |  NO  |  NO  |
142    * `-----------------------------------------'                `-----------------------------------------'
143    */
144
145   [_ADJUST] = LAYOUT(
146     XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,                   XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
147     XXXXXXX, RESET,   XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,                   XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
148     XXXXXXX, XXXXXXX, XXXXXXX, UC_M_WI, UC_M_OS, XXXXXXX,                   XXXXXXX, DF(_DVR),DF(_QWR),XXXXXXX, XXXXXXX, XXXXXXX,
149     XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,                   XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
150     XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, CG_SWAP, CG_NORM, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
151   ),
152
153 };
154
155 /* Runs just one time when the keyboard initializes. */
156 void eeconfig_init_keymap( void ) {
157   set_unicode_input_mode( UC_OSX );
158 };
159
160 bool process_record_keymap( uint16_t keycode, keyrecord_t *record ) {
161
162   switch ( keycode ) {
163
164     case LOWER:
165
166       if ( record->event.pressed ) {
167         layer_on( _LOWER );
168         update_tri_layer( _LOWER, _RAISE, _ADJUST );
169       }
170       else {
171         layer_off( _LOWER );
172         update_tri_layer( _LOWER, _RAISE, _ADJUST );
173       }
174
175       return false;
176       break;
177
178     case RAISE :
179
180       if ( record->event.pressed ) {
181         layer_on( _RAISE );
182         update_tri_layer( _LOWER, _RAISE, _ADJUST );
183       }
184       else {
185         layer_off( _RAISE );
186         update_tri_layer( _LOWER, _RAISE, _ADJUST );
187       }
188
189       return false;
190       break;
191
192   }
193
194   return true;
195
196 };