aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Kagno <cwre@protonmail.com>2019-03-14 19:04:59 +0000
committerDrashna Jaelre <drashna@live.com>2019-03-14 12:04:59 -0700
commit2558372b3f5b383582ee35f318d75a2dc7a28c6e (patch)
tree3b99b2722988cf209d4d3711f69d062a73a888b0
parentc3b4f65c640c217a0c9bf99d6b30982f966e585c (diff)
downloadqmk_firmware-2558372b3f5b383582ee35f318d75a2dc7a28c6e.tar.gz
qmk_firmware-2558372b3f5b383582ee35f318d75a2dc7a28c6e.zip
fresh commit for a new fork for PR to upstream/master (#5406)
-rw-r--r--keyboards/mechmini/v2/keymaps/arkag/keymap.c37
-rw-r--r--keyboards/mechmini/v2/keymaps/arkag/rules.mk2
-rw-r--r--users/arkag/arkag.c262
-rw-r--r--users/arkag/arkag.h31
-rw-r--r--users/arkag/config.h2
5 files changed, 202 insertions, 132 deletions
diff --git a/keyboards/mechmini/v2/keymaps/arkag/keymap.c b/keyboards/mechmini/v2/keymaps/arkag/keymap.c
index 29e125394..0b1cc4dac 100644
--- a/keyboards/mechmini/v2/keymaps/arkag/keymap.c
+++ b/keyboards/mechmini/v2/keymaps/arkag/keymap.c
@@ -8,32 +8,39 @@
8 8
9const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 9const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
10 [_QWERTY] = LAYOUT_2u_space_ortho( 10 [_QWERTY] = LAYOUT_2u_space_ortho(
11 KC_LEAD, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, 11 KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
12 KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, QUOTE, 12 KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, QUOTE,
13 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_UP, KC_ENT, 13 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT,
14 M_PMOD, LRALT, M_SMOD, LOWER, RAISE, KC_SPC, KC_SLSH, KC_BSLS, KC_LEFT, KC_DOWN, KC_RGHT), 14 M_PMOD, LRALT, M_SMOD, LOWER, RAISE, KC_SPC, MEDIA, FUNCT, XXXXXXX, XXXXXXX, KC_LEAD),
15 15
16 [_RAISE] = LAYOUT_2u_space_ortho( 16 [_RAISE] = LAYOUT_2u_space_ortho(
17 GRAVE, KC_1, KC_2, THREE, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, 17 GRAVE, KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, _______, KC_7, KC_8, KC_9, _______, _______,
18 _______, OBRACK, CBRACK, KC_EQL, HYPHEN, _______, _______, KC_4, KC_5, KC_6, _______, KC_NLCK, 18 _______, OBRACK, CBRACK, KC_EQL, HYPHEN, _______, _______, KC_4, KC_5, KC_6, _______, KC_NLCK,
19 _______, _______, _______, CEDILLA, _______, KC_COMM, KC_PDOT, KC_1, KC_2, KC_3, KC_PPLS, KC_PENT, 19 _______, _______, _______, CEDILLA, _______, KC_COMM, KC_PDOT, KC_1, KC_2, KC_3, KC_BSLS, KC_PENT,
20 _______, _______, _______, KEEB, _______, _______, _______, M_OS, KC_PSLS, KC_PMNS, KC_PAST), 20 _______, _______, _______, KEEB, _______, _______, KC_0, KC_PSLS, KC_PMNS, KC_PPLS, KC_PAST),
21 21
22 [_LOWER] = LAYOUT_2u_space_ortho( 22 [_LOWER] = LAYOUT_2u_space_ortho(
23 KC_ESC, _______, _______, _______, _______, _______, _______, _______, _______, _______, M_P_B, M_C_A_D, 23 _______, _______, _______, _______, _______, _______, _______, _______, KC_UP, _______, _______, _______,
24 _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______,
24 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, 25 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
25 KC_CAPS, KC_DEL, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, _______, 26 _______, LRALT, _______, _______, _______, _______, _______, _______, _______, _______, _______),
26 _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END),
27 27
28 [_KEEB] = LAYOUT_2u_space_ortho( 28 [_MEDIA] = LAYOUT_2u_space_ortho(
29 _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLU, _______, _______, KC_MUTE,
30 _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_VOLD, KC_MNXT, _______, _______,
31 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
32 _______, _______, _______, _______, _______, KC_MPLY, _______, _______, _______, _______, _______),
33
34 [_FUNCT] = LAYOUT_2u_space_ortho(
29 KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, 35 KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
36 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
37 KC_CAPS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
38 _______, _______, _______, _______, _______, _______, _______, _______, M_SFT, M_SPC, M_OS),
39
40 [_KEEB] = LAYOUT_2u_space_ortho(
41 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
30 _______, BL_TOGG, BL_STEP, BL_INC, BL_DEC, BL_BRTG, _______, _______, _______, _______, _______, _______, 42 _______, BL_TOGG, BL_STEP, BL_INC, BL_DEC, BL_BRTG, _______, _______, _______, _______, _______, _______,
31 RGB_M_P, RGB_TOG, RGB_MOD, RGB_VAI, RGB_VAD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, _______, _______, _______, 43 RGB_M_P, RGB_TOG, RGB_MOD, RGB_VAI, RGB_VAD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, _______, _______, _______,
32 RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), 44 RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
33 45
34 [_LAZY] = LAYOUT_2u_space_ortho(
35 _______, _______, _______, _______, _______, M_TM, _______, M_SNIPT, M_SHRUG, _______, _______, KC_MUTE,
36 _______, _______, _______, _______, _______, M_GGT, _______, M_UF, M_LOD, M_REPO, _______, _______,
37 _______, _______, _______, _______, _______, _______, _______, M_TF, M_LENNY, _______, KC_VOLU, KC_MPLY,
38 _______, _______, _______, _______, _______, _______, M_CALC, _______, KC_MPRV, KC_VOLD, KC_MNXT),
39}; 46};
diff --git a/keyboards/mechmini/v2/keymaps/arkag/rules.mk b/keyboards/mechmini/v2/keymaps/arkag/rules.mk
index c1d5afa1e..1330a2738 100644
--- a/keyboards/mechmini/v2/keymaps/arkag/rules.mk
+++ b/keyboards/mechmini/v2/keymaps/arkag/rules.mk
@@ -1,4 +1,4 @@
1BOOTMAGIC_ENABLE = no 1BOOTMAGIC_ENABLE = full
2MOUSEKEY_ENABLE = no 2MOUSEKEY_ENABLE = no
3STENO_ENABLE = no 3STENO_ENABLE = no
4EXTRAKEY_ENABLE = yes 4EXTRAKEY_ENABLE = yes
diff --git a/users/arkag/arkag.c b/users/arkag/arkag.c
index 212d06de6..80f7b1bbc 100644
--- a/users/arkag/arkag.c
+++ b/users/arkag/arkag.c
@@ -5,34 +5,7 @@
5 https://github.com/arkag/qmk_firmware/blob/master/keyboards/mechmini/v2/keymaps/arkag/keymap.c 5 https://github.com/arkag/qmk_firmware/blob/master/keyboards/mechmini/v2/keymaps/arkag/keymap.c
6*/ 6*/
7 7
8// Start: Written by konstantin: vomindoraan 8#include <stdbool.h>
9#include <ctype.h>
10#include <stdlib.h>
11#include <string.h>
12
13void send_unicode_hex_string(const char *str) {
14 if (!str) { return; } // Saftey net
15 while (*str) {
16 // Find the next code point (token) in the string
17 for (; *str == ' '; str++);
18 size_t n = strcspn(str, " "); // Length of the current token
19 char code_point[n+1];
20 strncpy(code_point, str, n);
21 code_point[n] = '\0'; // Make sure it's null-terminated
22
23 // Normalize the code point: make all hex digits lowercase
24 for (char *p = code_point; *p; p++) {
25 *p = tolower(*p);
26 }
27
28 // Send the code point as a Unicode input string
29 unicode_input_start();
30 send_string(code_point);
31 unicode_input_finish();
32 str += n; // Move to the first ' ' (or '\0') after the current token
33 }
34}
35// End: Written by konstantin: vomindoraan
36 9
37// Start: Written by Chris Lewis 10// Start: Written by Chris Lewis
38#ifndef MIN 11#ifndef MIN
@@ -78,6 +51,8 @@ Color underglow,
78flashState flash_state = no_flash; 51flashState flash_state = no_flash;
79fadeState fade_state = add_fade; 52fadeState fade_state = add_fade;
80activityState state = boot; 53activityState state = boot;
54bool aesthetic = false,
55 shifty = false;
81 56
82void set_color (Color new, bool update) { 57void set_color (Color new, bool update) {
83 rgblight_sethsv_eeprom_helper(new.h, new.s, new.v, update); 58 rgblight_sethsv_eeprom_helper(new.h, new.s, new.v, update);
@@ -146,7 +121,7 @@ void check_state (void) {
146 121
147 case sleeping: 122 case sleeping:
148 if (!slept) { 123 if (!slept) {
149 rgblight_mode_noeeprom(4); 124 rgblight_mode_noeeprom(2);
150 slept = true; 125 slept = true;
151 activated = false; 126 activated = false;
152 deactivated = false; 127 deactivated = false;
@@ -249,11 +224,6 @@ void set_os (uint8_t os, bool update) {
249 num_extra_flashes_off = 1; 224 num_extra_flashes_off = 1;
250} 225}
251 226
252void tap_key(uint8_t keycode) {
253 register_code(keycode);
254 unregister_code(keycode);
255}
256
257// register GUI if Mac or Ctrl if other 227// register GUI if Mac or Ctrl if other
258void pri_mod(bool press) { 228void pri_mod(bool press) {
259 if (press) { 229 if (press) {
@@ -293,13 +263,13 @@ void surround_type(uint8_t num_of_chars, uint16_t keycode, bool use_shift) {
293 register_code(KC_LSFT); 263 register_code(KC_LSFT);
294 } 264 }
295 for (int i = 0; i < num_of_chars; i++) { 265 for (int i = 0; i < num_of_chars; i++) {
296 tap_key(keycode); 266 tap_code(keycode);
297 } 267 }
298 if (use_shift) { 268 if (use_shift) {
299 unregister_code(KC_LSFT); 269 unregister_code(KC_LSFT);
300 } 270 }
301 for (int i = 0; i < (num_of_chars/2); i++) { 271 for (int i = 0; i < (num_of_chars/2); i++) {
302 tap_key(KC_LEFT); 272 tap_code(KC_LEFT);
303 } 273 }
304} 274}
305 275
@@ -307,7 +277,7 @@ void long_keystroke(size_t num_of_keys, uint16_t keys[]) {
307 for (int i = 0; i < num_of_keys-1; i++) { 277 for (int i = 0; i < num_of_keys-1; i++) {
308 register_code(keys[i]); 278 register_code(keys[i]);
309 } 279 }
310 tap_key(keys[num_of_keys-1]); 280 tap_code(keys[num_of_keys-1]);
311 for (int i = 0; i < num_of_keys-1; i++) { 281 for (int i = 0; i < num_of_keys-1; i++) {
312 unregister_code(keys[i]); 282 unregister_code(keys[i]);
313 } 283 }
@@ -315,7 +285,10 @@ void long_keystroke(size_t num_of_keys, uint16_t keys[]) {
315 285
316void dance_grv (qk_tap_dance_state_t *state, void *user_data) { 286void dance_grv (qk_tap_dance_state_t *state, void *user_data) {
317 if (state->count == 1) { 287 if (state->count == 1) {
318 tap_key(KC_GRV); 288 tap_code(KC_GRV);
289 if (aesthetic) {
290 tap_code(KC_SPACE);
291 }
319 } else if (state->count == 2) { 292 } else if (state->count == 2) {
320 surround_type(2, KC_GRAVE, false); 293 surround_type(2, KC_GRAVE, false);
321 } else { 294 } else {
@@ -325,7 +298,10 @@ void dance_grv (qk_tap_dance_state_t *state, void *user_data) {
325 298
326void dance_quot (qk_tap_dance_state_t *state, void *user_data) { 299void dance_quot (qk_tap_dance_state_t *state, void *user_data) {
327 if (state->count == 1) { 300 if (state->count == 1) {
328 tap_key(KC_QUOT); 301 tap_code(KC_QUOT);
302 if (aesthetic) {
303 tap_code(KC_SPACE);
304 }
329 } else if (state->count == 2) { 305 } else if (state->count == 2) {
330 surround_type(2, KC_QUOTE, false); 306 surround_type(2, KC_QUOTE, false);
331 } else if (state->count == 3) { 307 } else if (state->count == 3) {
@@ -333,35 +309,53 @@ void dance_quot (qk_tap_dance_state_t *state, void *user_data) {
333 } 309 }
334} 310}
335 311
336void dance_strk (qk_tap_dance_state_t *state, void *user_data) { 312void dance_hyph (qk_tap_dance_state_t *state, void *user_data) {
337 if (state->count == 1) { 313 if (state->count == 1) {
338 surround_type(4, KC_TILDE, true); 314 tap_code(KC_MINS);
315 if (aesthetic) {
316 tap_code(KC_SPACE);
317 }
339 } else if (state->count == 2) { 318 } else if (state->count == 2) {
340 if (current_os == OS_MAC) { 319 register_code(KC_LSFT);
341 long_keystroke(3, (uint16_t[]){KC_LGUI, KC_LSFT, KC_4}); 320 tap_code(KC_MINS);
342 } else if (current_os == OS_WIN) { 321 if (aesthetic) {
343 long_keystroke(3, (uint16_t[]){KC_LGUI, KC_LSFT, KC_S}); 322 tap_code(KC_SPACE);
344 } else {
345 return;
346 } 323 }
324 unregister_code(KC_LSFT);
325 } else if (state->count == 3) {
326 send_unicode_hex_string("2014");
347 } 327 }
348} 328}
349 329
350void dance_3 (qk_tap_dance_state_t *state, void *user_data) { 330void dance_obrck (qk_tap_dance_state_t *state, void *user_data) {
351 if (state->count == 1) { 331 if (state->count == 1) {
352 tap_key(KC_3); 332 tap_code(KC_LBRC);
333 if (aesthetic) {
334 tap_code(KC_SPACE);
335 }
353 } else if (state->count == 2) { 336 } else if (state->count == 2) {
354 send_unicode_hex_string("00E8"); 337 register_code(KC_LSFT);
355 } else if (state->count == 3) { 338 tap_code(KC_9);
356 send_unicode_hex_string("00E9"); 339 if (aesthetic) {
340 tap_code(KC_SPACE);
341 }
342 unregister_code(KC_LSFT);
357 } 343 }
358} 344}
359 345
360void dance_c (qk_tap_dance_state_t *state, void *user_data) { 346void dance_cbrck (qk_tap_dance_state_t *state, void *user_data) {
361 if (state->count == 1) { 347 if (state->count == 1) {
362 tap_key(KC_C); 348 tap_code(KC_RBRC);
349 if (aesthetic) {
350 tap_code(KC_SPACE);
351 }
363 } else if (state->count == 2) { 352 } else if (state->count == 2) {
364 send_unicode_hex_string("00E7"); 353 register_code(KC_LSFT);
354 tap_code(KC_0);
355 if (aesthetic) {
356 tap_code(KC_SPACE);
357 }
358 unregister_code(KC_LSFT);
365 } 359 }
366} 360}
367 361
@@ -383,13 +377,28 @@ void matrix_scan_user(void) {
383 // begin OS functions 377 // begin OS functions
384 SEQ_TWO_KEYS(KC_P, KC_B) { 378 SEQ_TWO_KEYS(KC_P, KC_B) {
385 if (current_os == OS_WIN) { 379 if (current_os == OS_WIN) {
386 SEND_STRING(SS_DOWN(X_LGUI) SS_TAP(X_PAUSE) SS_UP(X_LGUI)); 380 long_keystroke(2, (uint16_t[]){KC_LGUI, KC_PAUSE});
381 } else {
382 }
383 }
384 SEQ_TWO_KEYS(KC_LSFT, M_PMOD) {
385 if (current_os == OS_WIN) {
386 long_keystroke(3, (uint16_t[]){KC_LCTL, KC_LSFT, KC_ESC});
387 } else {
388 }
389 }
390 SEQ_TWO_KEYS(KC_S, KC_S) {
391 if (current_os == OS_MAC) {
392 long_keystroke(3, (uint16_t[]){KC_LGUI, KC_LSFT, KC_4});
393 } else if (current_os == OS_WIN) {
394 long_keystroke(3, (uint16_t[]){KC_LGUI, KC_LSFT, KC_S});
387 } else { 395 } else {
396 return;
388 } 397 }
389 } 398 }
390 SEQ_THREE_KEYS(KC_C, KC_A, KC_D) { 399 SEQ_THREE_KEYS(KC_C, KC_A, KC_D) {
391 if (current_os == OS_WIN) { 400 if (current_os == OS_WIN) {
392 SEND_STRING(SS_DOWN(X_LCTRL) SS_DOWN(X_LALT) SS_TAP(X_DELETE) SS_UP(X_LALT) SS_UP(X_LCTRL)); 401 long_keystroke(3, (uint16_t[]){KC_LCTL, KC_LALT, KC_DEL});
393 } else { 402 } else {
394 } 403 }
395 } 404 }
@@ -415,33 +424,33 @@ void matrix_scan_user(void) {
415 SEQ_ONE_KEY(KC_S) { 424 SEQ_ONE_KEY(KC_S) {
416 surround_type(4, KC_GRAVE, true); 425 surround_type(4, KC_GRAVE, true);
417 } 426 }
418 SEQ_TWO_KEYS(KC_S, KC_S) {
419 if (current_os == OS_MAC) {
420 long_keystroke(3, (uint16_t[]){KC_LGUI, KC_LSFT, KC_4});
421 } else if (current_os == OS_WIN) {
422 long_keystroke(3, (uint16_t[]){KC_LGUI, KC_LSFT, KC_S});
423 } else {
424 return;
425 }
426 }
427 SEQ_ONE_KEY(KC_C) { 427 SEQ_ONE_KEY(KC_C) {
428 surround_type(2, KC_GRAVE, false); 428 send_unicode_hex_string("00E7");
429 } 429 }
430 SEQ_TWO_KEYS(KC_C, KC_C) { 430 SEQ_TWO_KEYS(KC_C, KC_C) {
431 surround_type(2, KC_GRAVE, false);
432 }
433 SEQ_THREE_KEYS(KC_C, KC_C, KC_C) {
431 surround_type(6, KC_GRAVE, false); 434 surround_type(6, KC_GRAVE, false);
432 } 435 }
436 SEQ_ONE_KEY(KC_E) {
437 send_unicode_hex_string("00E8");
438 }
439 SEQ_TWO_KEYS(KC_E, KC_E) {
440 send_unicode_hex_string("00E9");
441 }
433 // end format functions 442 // end format functions
434 443
435 // start fancy functions 444 // start fancy functions
436 SEQ_THREE_KEYS(KC_C, KC_C, KC_C) { 445 SEQ_THREE_KEYS(KC_C, KC_C, KC_C) {
437 surround_type(6, KC_GRAVE, false); 446 surround_type(6, KC_GRAVE, false);
438 pri_mod(true); 447 pri_mod(true);
439 tap_key(KC_V); 448 tap_code(KC_V);
440 pri_mod(false); 449 pri_mod(false);
441 tap_key(KC_RGHT); 450 tap_code(KC_RGHT);
442 tap_key(KC_RGHT); 451 tap_code(KC_RGHT);
443 tap_key(KC_RGHT); 452 tap_code(KC_RGHT);
444 tap_key(KC_ENTER); 453 tap_code(KC_ENTER);
445 } 454 }
446 // end fancy functions 455 // end fancy functions
447 456
@@ -450,8 +459,8 @@ void matrix_scan_user(void) {
450 // ™ 459 // ™
451 send_unicode_hex_string("2122"); 460 send_unicode_hex_string("2122");
452 } 461 }
453 SEQ_THREE_KEYS(KC_G, KC_G, KC_T) { 462 SEQ_TWO_KEYS(KC_D, KC_D) {
454 SEND_STRING("@GrahamGoldenTech.com"); 463 SEND_STRING(".\\Administrator");
455 } 464 }
456 SEQ_THREE_KEYS(KC_L, KC_O, KC_D) { 465 SEQ_THREE_KEYS(KC_L, KC_O, KC_D) {
457 // ಠ__ಠ 466 // ಠ__ಠ
@@ -482,29 +491,103 @@ void matrix_scan_user(void) {
482} 491}
483 492
484bool process_record_user(uint16_t keycode, keyrecord_t *record) { 493bool process_record_user(uint16_t keycode, keyrecord_t *record) {
494 if (aesthetic) {
495 switch (keycode) {
496 case KC_A ... KC_0:
497 case KC_SPACE ... KC_SLASH:
498 if (record->event.pressed) {
499 state = active;
500 velocikey_accelerate();
501 tap_code(keycode);
502 tap_code(KC_SPACE);
503 }
504 return false;
505
506 case KC_BSPACE:
507 if (record->event.pressed) {
508 state = active;
509 velocikey_accelerate();
510 tap_code(keycode);
511 tap_code(keycode);
512 }
513 return false;
514 default: // Do nothing
515 break;
516 }
517 }
518
519 if (shifty) {
520 switch (keycode) {
521 case KC_A ... KC_Z:
522 if (record->event.pressed) {
523 int shift = rand() % 2;
524 state = active;
525 velocikey_accelerate();
526 if (shift == 1){
527 register_code(KC_LSFT);
528 }
529 tap_code(keycode);
530 if (shift == 1){
531 unregister_code(KC_LSFT);
532 }
533 }
534 return false;
535 case KC_SPC:
536 if (record->event.pressed) {
537 state = active;
538 velocikey_accelerate();
539 tap_code(keycode);
540 }
541 return false;
542 default: // Do nothing
543 break;
544 }
545 }
546
485 switch (keycode) { 547 switch (keycode) {
486 case M_PMOD: 548 case M_PMOD:
487 if (record->event.pressed) { 549 pri_mod(record->event.pressed);
488 pri_mod(true);
489 } else {
490 pri_mod(false);
491 }
492 return false; 550 return false;
493 551
494 case M_SMOD: 552 case M_SMOD:
495 if (record->event.pressed) { 553 sec_mod(record->event.pressed);
496 sec_mod(true);
497 } else {
498 sec_mod(false);
499 }
500 return false; 554 return false;
501 555
502 case M_OS: 556 case M_OS:
503 if (record->event.pressed) { 557 if (record->event.pressed){
504 set_os((current_os+1) % _OS_COUNT, true); 558 set_os((current_os+1) % _OS_COUNT, true);
505 } 559 }
560
506 return false; 561 return false;
507 562
563 case M_SPC:
564 if(record->event.pressed){
565 if (aesthetic) {
566 aesthetic = false;
567 num_extra_flashes_off = 1;
568 } else {
569 aesthetic = true;
570 }
571 flash_color = underglow;
572 flash_state = flash_off;
573 return false;
574 }
575
576
577 case M_SFT:
578 if(record->event.pressed){
579 if (shifty) {
580 shifty = false;
581 num_extra_flashes_off = 1;
582 } else {
583 shifty = true;
584 }
585 flash_color = underglow;
586 flash_state = flash_off;
587 return false;
588 }
589
590
508 default: 591 default:
509 if (record->event.pressed) { 592 if (record->event.pressed) {
510 state = active; 593 state = active;
@@ -516,13 +599,10 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
516 599
517//Tap Dance Definitions 600//Tap Dance Definitions
518qk_tap_dance_action_t tap_dance_actions[] = { 601qk_tap_dance_action_t tap_dance_actions[] = {
519 [TD_3_GRV_ACT] = ACTION_TAP_DANCE_FN (dance_3),
520 [TD_C_CED] = ACTION_TAP_DANCE_FN (dance_c),
521 [TD_GRV_3GRV] = ACTION_TAP_DANCE_FN (dance_grv), 602 [TD_GRV_3GRV] = ACTION_TAP_DANCE_FN (dance_grv),
522 [TD_SING_DOUB] = ACTION_TAP_DANCE_FN (dance_quot), 603 [TD_SING_DOUB] = ACTION_TAP_DANCE_FN (dance_quot),
523 [TD_STRK_SHOT] = ACTION_TAP_DANCE_FN (dance_strk), 604 [TD_HYPH_UNDR] = ACTION_TAP_DANCE_FN (dance_hyph),
524 [TD_HYPH_UNDR] = ACTION_TAP_DANCE_DOUBLE (KC_MINS, LSFT(KC_MINS)), 605 [TD_BRCK_PARN_O] = ACTION_TAP_DANCE_FN (dance_obrck),
525 [TD_BRCK_PARN_O] = ACTION_TAP_DANCE_DOUBLE (KC_LBRC, LSFT(KC_9)), 606 [TD_BRCK_PARN_C] = ACTION_TAP_DANCE_FN (dance_cbrck),
526 [TD_BRCK_PARN_C] = ACTION_TAP_DANCE_DOUBLE (KC_RBRC, LSFT(KC_0)),
527 [TD_LALT_RALT] = ACTION_TAP_DANCE_DOUBLE (KC_LALT, KC_RALT), 607 [TD_LALT_RALT] = ACTION_TAP_DANCE_DOUBLE (KC_LALT, KC_RALT),
528}; 608};
diff --git a/users/arkag/arkag.h b/users/arkag/arkag.h
index a4672a8e8..a5f2a6a35 100644
--- a/users/arkag/arkag.h
+++ b/users/arkag/arkag.h
@@ -17,9 +17,9 @@
17 17
18#define RAISE MO(1) 18#define RAISE MO(1)
19#define LOWER MO(2) 19#define LOWER MO(2)
20#define KEEB MO(3) 20#define MEDIA MO(3)
21#define MEDIA MO(4) 21#define FUNCT MO(4)
22#define LAZY MO(5) 22#define KEEB MO(5)
23 23
24#define MOD_CTL_MASK (MOD_BIT(KC_LCTL) | MOD_BIT(KC_RCTL)) 24#define MOD_CTL_MASK (MOD_BIT(KC_LCTL) | MOD_BIT(KC_RCTL))
25#define MOD_GUI_MASK (MOD_BIT(KC_LGUI) | MOD_BIT(KC_RGUI)) 25#define MOD_GUI_MASK (MOD_BIT(KC_LGUI) | MOD_BIT(KC_RGUI))
@@ -37,9 +37,9 @@ enum {
37 _QWERTY = 0, 37 _QWERTY = 0,
38 _RAISE, 38 _RAISE,
39 _LOWER, 39 _LOWER,
40 _KEEB,
41 _MEDIA, 40 _MEDIA,
42 _LAZY, 41 _FUNCT,
42 _KEEB,
43}; 43};
44 44
45typedef enum { 45typedef enum {
@@ -76,22 +76,9 @@ typedef enum {
76enum custom_keycodes { 76enum custom_keycodes {
77 M_PMOD = SAFE_RANGE, 77 M_PMOD = SAFE_RANGE,
78 M_SMOD, 78 M_SMOD,
79 M_P_B,
80 M_C_A_D,
81 M_CALC,
82 M_OS, 79 M_OS,
83 M_TF, 80 M_SFT,
84 M_TM, 81 M_SPC,
85 M_GGT,
86 M_LOD,
87 M_LENNY,
88 M_BOLD,
89 M_ITAL,
90 M_ULIN,
91 M_SNIPT,
92 M_REPO,
93 M_SHRUG,
94 M_UF,
95}; 82};
96 83
97enum tapdances { 84enum tapdances {
@@ -101,16 +88,12 @@ enum tapdances {
101 TD_SLSH_HTTP, 88 TD_SLSH_HTTP,
102 TD_SING_DOUB, 89 TD_SING_DOUB,
103 TD_HYPH_UNDR, 90 TD_HYPH_UNDR,
104 TD_STRK_SHOT,
105 TD_SPECIAL, 91 TD_SPECIAL,
106 TD_BRCK_PARN_O, 92 TD_BRCK_PARN_O,
107 TD_BRCK_PARN_C, 93 TD_BRCK_PARN_C,
108 TD_LALT_RALT, 94 TD_LALT_RALT,
109 SPC_SFT_NSFT,
110}; 95};
111 96
112void send_unicode_hex_string(const char *str);
113
114void velocikey_accelerate(void); 97void velocikey_accelerate(void);
115void velocikey_decelerate(void); 98void velocikey_decelerate(void);
116uint8_t velocikey_match_speed(uint8_t minValue, uint8_t maxValue); 99uint8_t velocikey_match_speed(uint8_t minValue, uint8_t maxValue);
diff --git a/users/arkag/config.h b/users/arkag/config.h
index 2e0a9ad01..5a89a18f6 100644
--- a/users/arkag/config.h
+++ b/users/arkag/config.h
@@ -1,6 +1,6 @@
1#pragma once 1#pragma once
2 2
3#define TAPPING_TERM 200 3#define TAPPING_TERM 200
4#define LEADER_TIMEOUT 250 4#define LEADER_TIMEOUT 300
5 5
6#define LEADER_PER_KEY_TIMING 6#define LEADER_PER_KEY_TIMING