aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorkifinnsson <kifinnsson@gmail.com>2019-06-26 01:40:39 -0600
committerDrashna Jaelre <drashna@live.com>2019-06-26 00:40:38 -0700
commit01fb06af6c7d63a1338dc48d9a62e956ffcc6c3a (patch)
tree194bd729b33e0527852bb8a8dcec2b75b259e933
parentbe2c346edf76a049d9aa4be80ffda125eb04a6ba (diff)
downloadqmk_firmware-01fb06af6c7d63a1338dc48d9a62e956ffcc6c3a.tar.gz
qmk_firmware-01fb06af6c7d63a1338dc48d9a62e956ffcc6c3a.zip
[Keymap] kifinnsson's Colemak angle mod ansi-ish layout for the dz60 (#6191)
* [Keymap] kifinnsson's dz60 keymap kifinnsson's custom keymap for the dz60 * Update keyboards/dz60/keymaps/kifinnsson/readme.md Co-Authored-By: fauxpark <fauxpark@gmail.com> * Fixed readme.mk cleaned up my readme.mk * fixed readme.mk
-rw-r--r--keyboards/dz60/keymaps/kifinnsson/keymap.c210
-rw-r--r--keyboards/dz60/keymaps/kifinnsson/readme.md5
-rw-r--r--keyboards/dz60/keymaps/kifinnsson/rules.mk6
3 files changed, 221 insertions, 0 deletions
diff --git a/keyboards/dz60/keymaps/kifinnsson/keymap.c b/keyboards/dz60/keymaps/kifinnsson/keymap.c
new file mode 100644
index 000000000..7d88b6dbb
--- /dev/null
+++ b/keyboards/dz60/keymaps/kifinnsson/keymap.c
@@ -0,0 +1,210 @@
1#include QMK_KEYBOARD_H
2
3bool is_lgui_active = false;
4uint16_t lgui_timer = 0;
5
6
7//Macro Declarations
8enum my_keycodes {
9 KI_NO = SAFE_RANGE,
10 KI_1,
11 KI_2,
12 KI_3,
13 KI_4,
14 KI_5,
15 KI_6,
16 KI_7,
17 KI_8,
18 KI_9,
19 KI_10,
20 KI_11,
21 KI_12,
22 KI_ESC,
23 KI_BKSP,
24 KI_BSLS,
25 KI_WLFT,
26 KI_WRGT,
27 };
28
29const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
30
31 LAYOUT_all(
32 KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, XXXXXXX, KC_BSPC,
33 KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_LBRC, KC_RBRC, KC_BSLS,
34 MO(1), KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, KC_ENT,
35 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, MO(2), KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, XXXXXXX, KC_RSFT, XXXXXXX,
36 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, MO(1), XXXXXXX, MO(3), KC_RCTL),
37
38 LAYOUT_all(
39 KC_GRV, 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_DEL,
40 _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PGUP, KC_HOME, KC_UP, KC_END, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
41 _______, XXXXXXX, KC_TAB, KC_LSFT, KC_LCTL, XXXXXXX, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, KC_DEL, KC_CAPS, XXXXXXX,
42 _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, KC_BSPC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,,
43 _______, _______, XXXXXXX, KC_ENT, KC_ENT, KC_ENT, _______, _______, _______, _______, RESET),
44
45 LAYOUT_all(
46 KI_ESC, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX, KI_BKSP,
47 _______, KI_1, KI_2, KI_3, KI_4, KI_5, KI_6, KI_7, KI_8, KI_9, KI_10, KI_11, KI_12, KI_BSLS,
48 _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
49 _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, KI_WLFT, KI_WRGT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
50 _______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX, _______, XXXXXXX),
51
52 LAYOUT_all(
53 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
54 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
55 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
56 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
57 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
58};
59
60bool process_record_user(uint16_t keycode, keyrecord_t *record) {
61 switch (keycode) {
62 // Keycodes Starting with KI_ are place holders for my personal macros. They are set below. Most are simple SEND_STRINGS().
63 case KI_ESC:
64 if (record->event.pressed) {
65 SEND_STRING("");
66 } else {
67
68 }
69 return false; // Skip all further processing of this key
70 case KI_1:
71 if (record->event.pressed) {
72 SEND_STRING("");
73 } else {
74
75 }
76 return false; // Skip all further processing of this key
77 case KI_2:
78 if (record->event.pressed) {
79 SEND_STRING("");
80 } else {
81
82 }
83 return false; // Skip all further processing of this key
84 case KI_3:
85 if (record->event.pressed) {
86 SEND_STRING("");
87 } else {
88
89 }
90 return false; // Skip all further processing of this key
91 case KI_4:
92 if (record->event.pressed) {
93 SEND_STRING("");
94 } else {
95
96 }
97 return false; // Skip all further processing of this key
98 case KI_5:
99 if (record->event.pressed) {
100 SEND_STRING("");
101 } else {
102
103 }
104 return false; // Skip all further processing of this key
105 case KI_6:
106 if (record->event.pressed) {
107 SEND_STRING("");
108 } else {
109
110 }
111 return false; // Skip all further processing of this key
112 case KI_7:
113 if (record->event.pressed) {
114 SEND_STRING("");
115 } else {
116
117 }
118 return false; // Skip all further processing of this key
119 case KI_8:
120 if (record->event.pressed) {
121 SEND_STRING("");
122 } else {
123
124 }
125 return false; // Skip all further processing of this key
126 case KI_9:
127 if (record->event.pressed) {
128 SEND_STRING("");
129 } else {
130
131 }
132 return false; // Skip all further processing of this key
133 case KI_10:
134 if (record->event.pressed) {
135 SEND_STRING("");
136 } else {
137
138 }
139 return false; // Skip all further processing of this key
140 case KI_11:
141 if (record->event.pressed) {
142 SEND_STRING("");
143 } else {
144
145 }
146 return false; // Skip all further processing of this key
147 case KI_12:
148 if (record->event.pressed) {
149 SEND_STRING("");
150 } else {
151
152 }
153 return false; // Skip all further processing of this key
154 case KI_BKSP:
155 if (record->event.pressed) {
156 SEND_STRING("");
157 } else {
158
159 }
160 return false; // Skip all further processing of this key
161 case KI_BSLS:
162 if (record->event.pressed) {
163 SEND_STRING("");
164 } else {
165
166 }
167 return false; // Skip all further processing of this key
168
169 //Windows Win+Left tap to move window without resetting KC_LGUI
170 //Additional code is in matrix_scan_user()
171 case KI_WLFT:
172 if (record->event.pressed) {
173 if (!is_lgui_active) {
174 is_lgui_active = true;
175 register_code(KC_LGUI);
176 }
177 lgui_timer = timer_read();
178 tap_code(KC_LEFT);
179 } else {
180
181 }
182 return false; // Skip all further processing of this key
183 //Windows Win+Right tap to move window without resetting KC_LGUI
184 //Additional code is in matrix_scan_user()
185 case KI_WRGT:
186 if (record->event.pressed) {
187 if (!is_lgui_active) {
188 is_lgui_active = true;
189 register_code(KC_LGUI);
190 }
191 lgui_timer = timer_read();
192 tap_code(KC_RIGHT);
193 } else {
194
195 }
196 return false; // Skip all further processing of this key
197 default:
198 return true; // Process all other keycodes normally
199 }
200}
201
202//Check if KC_LGUI is active in KI_WLFT and KI_WRGT
203void matrix_scan_user(void) {
204 if (is_lgui_active) {
205 if (timer_elapsed(lgui_timer) > 1000) {
206 unregister_code(KC_LGUI);
207 is_lgui_active = false;
208 }
209 }
210} \ No newline at end of file
diff --git a/keyboards/dz60/keymaps/kifinnsson/readme.md b/keyboards/dz60/keymaps/kifinnsson/readme.md
new file mode 100644
index 000000000..49f559503
--- /dev/null
+++ b/keyboards/dz60/keymaps/kifinnsson/readme.md
@@ -0,0 +1,5 @@
1# kifinnsson's Colemak angle mod ansi-ish layout
2-----------------
3
4Keymap for my non-standard DZ60 layout. It is an ansi layout on the right and iso on the left (ie 1.25x left shift). This is to implement the angle mod on for Colemak which is the base layer. A side effect of this is that I have an extra key on row 4, which sits between the "b" and "k" keys in Colemak. I use this key as a switch to layer 2 which is my macro layer.
5
diff --git a/keyboards/dz60/keymaps/kifinnsson/rules.mk b/keyboards/dz60/keymaps/kifinnsson/rules.mk
new file mode 100644
index 000000000..5fb201c88
--- /dev/null
+++ b/keyboards/dz60/keymaps/kifinnsson/rules.mk
@@ -0,0 +1,6 @@
1# Build Options
2# comment out to disable the options.
3#
4BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
5MOUSEKEY_ENABLE = no # Mouse keys(+4700)
6EXTRAKEY_ENABLE = no # Audio control and System control(+450) \ No newline at end of file