diff options
Diffstat (limited to 'users/art')
-rw-r--r-- | users/art/.gitignore | 3 | ||||
-rw-r--r-- | users/art/art.c | 722 | ||||
-rw-r--r-- | users/art/art.h | 107 | ||||
-rw-r--r-- | users/art/art_user_config.h.example | 7 | ||||
-rw-r--r-- | users/art/config.h | 14 | ||||
-rw-r--r-- | users/art/custom_definitions.h.example | 8 | ||||
-rw-r--r-- | users/art/funcs/led_funcs.c | 55 | ||||
-rw-r--r-- | users/art/funcs/led_funcs.h | 17 | ||||
-rw-r--r-- | users/art/funcs/string_funcs.c | 307 | ||||
-rw-r--r-- | users/art/funcs/string_funcs.h | 14 | ||||
-rw-r--r-- | users/art/rules.mk | 15 | ||||
-rw-r--r-- | users/art/secr.h.example | 9 |
12 files changed, 0 insertions, 1278 deletions
diff --git a/users/art/.gitignore b/users/art/.gitignore deleted file mode 100644 index c05ba7978b..0000000000 --- a/users/art/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -*user_config.* -custom_definitions.h -secr.h diff --git a/users/art/art.c b/users/art/art.c deleted file mode 100644 index f96a5d6cfd..0000000000 --- a/users/art/art.c +++ /dev/null @@ -1,722 +0,0 @@ -// Copyright 2022 Artjoms Rizihs (@artjomsR) -// SPDX-License-Identifier: GPL-2.0-or-later - -#include "art.h" -#include "custom_definitions.h" -#include "secr.h" -#include "funcs/led_funcs.h" -#include "funcs/string_funcs.h" - -static const int COPY_DELAY = 50; -static const int INCOGNITO_DELAY = 500; -static const int LMB_SPAM_INTERVAL = 30; -static const uint8_t OS_MOD_KEYS[2] = {MOD_LALT, MOD_LCTL}; - -bool mac_ctrl_on = false; //for switching tabs -bool mac_gui_on = false; //for switching languages -bool mac_alt_window_switching_on = false; //for switching windows - -int char_to_bspace = 1; -int char_to_del = 0; - -static bool sarcasm_on = false; -static bool sarcasm_key = false; -static bool full_caps_mode = false; -bool hw_caps_on; - -static bool is_lmb_timer_active = false; -static uint16_t lmb_timer = 0; - -__attribute__ ((weak)) -bool process_record_keymap(uint16_t keycode, keyrecord_t *record) { - return true; -} - -void keyboard_post_init_user(void) { - led_show_variable_status(is_win); - layer_state_set_user(layer_state); -} - -void matrix_scan_user(void) { - if (is_lmb_timer_active) { - if (timer_elapsed(lmb_timer) > LMB_SPAM_INTERVAL) { - SEND_STRING(SS_TAP(X_BTN1)); //do stuff that needs spamming - lmb_timer = timer_read(); - } - } -} - -bool caps_word_on(void) { - return hw_caps_on && !full_caps_mode; -} - - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - if (record->event.pressed) { - if (sarcasm_on) { - sarcasm_key = ! sarcasm_key; - del_mods(MOD_LSFT); - if (sarcasm_key) { - add_mods(MOD_LSFT); - } - } - - //Checking all other non-backspace keys to clear the backspace buffer. This is to prevent the bug of deleting N chars sometime after using a macro - switch (keycode) { - case LT(COMBOS,KC_BSPC): - case KC_BACKSPACE: - case KC_DEL: - case KC_LSFT: - case KC_RSFT: - case XXXXXXX: - break; - default: - char_to_bspace = 1; - char_to_del = 0; - break; - } - } - - switch (keycode) { - case XXXXXXX: - if (record->event.pressed && !layer_state_is(BASE)) { - blink_leds(NUM_SCROLL_LED_ON); - return true; - } - break; - case KC_TAB: - if (record->event.pressed && is_mac_with_base_layer_off()) { - uint8_t mod_state = get_mods() & MOD_MASK_CTRL; - if (get_mods() & mod_state && !mac_alt_window_switching_on) { - del_mods(mod_state); - add_mods(MOD_LGUI); - mac_ctrl_on = true; - } - } - case KC_GRAVE: - if (record->event.pressed && is_mac_with_base_layer_off()) { - uint8_t mod_state = get_mods() & MOD_MASK_ALT; - if (get_mods() & mod_state) { - del_mods(mod_state); - add_mods(MOD_LCTL); - mac_alt_window_switching_on = true; - } - } - break; - case KC_LSFT: - if (record->event.pressed && is_mac_with_base_layer_off() && !mac_ctrl_on) { - uint8_t mod_state = get_mods() & MOD_MASK_AG; - if (get_mods() & mod_state) { - del_mods(mod_state); - add_mods(MOD_LGUI); - mac_gui_on = true; - send_string(lang_switch_combo); - return false; - } else { - return true; - } - } - break; - case KC_LEFT: - case KC_RIGHT: - if (record->event.pressed && is_mac_with_base_layer_off()) { - /* && !mac_ctrl_on/!mac_alt_tab_on are required since setting the state while holding the key changes - the modifier from OS's perspective. As a result, just the pressed key cannot be the single source - of truth to determine which state we're in, and a separate bool is required */ - uint8_t alt_state = get_mods() & MOD_MASK_ALT; - uint8_t ctrl_state = get_mods() & MOD_MASK_CTRL; - - //Allows Ctrl <-/-> on Mac if Ctrl Tab is already pressed - if (get_mods() & alt_state && mac_alt_window_switching_on && !mac_ctrl_on) { - del_mods(alt_state); - add_mods(MOD_LCTL); - } - - if (get_mods() & ctrl_state && !mac_alt_window_switching_on && !mac_gui_on) { - del_mods(ctrl_state); - add_mods(MOD_LALT); - mac_ctrl_on = true; - } - } - break; - case KC_LALT: - if (!record->event.pressed && is_mac_with_base_layer_off()) { - if (mac_alt_window_switching_on) { - unregister_mods(MOD_LCTL); - mac_alt_window_switching_on = false; - return false; - } else if (mac_gui_on) { - unregister_mods(MOD_LGUI); - mac_gui_on = false; - return false; - } - return true; - } - break; - case KC_RALT: - if (!record->event.pressed && mac_alt_window_switching_on && is_mac_with_base_layer_off()) { - unregister_mods(MOD_LCTL); - mac_alt_window_switching_on = false; - return false; - } - break; - case KC_LCTL: - case KC_RCTL: - if (!record->event.pressed && mac_ctrl_on && is_mac_with_base_layer_off()) { - // Need to remove only previously set mods (e.g. WIN & ALT) to preserve Shift, etc - unregister_mods(MOD_LGUI); - unregister_mods(MOD_LALT); - mac_ctrl_on = false; - return false; - } - break; - - case KC_HOME: - if (record->event.pressed && is_mac_with_base_layer_off()) { - SEND_STRING(SS_LCTL(SS_TAP(X_LEFT))); - return false; - } - break; - case KC_END: - if (record->event.pressed && is_mac_with_base_layer_off()) { - SEND_STRING(SS_LCTL(SS_TAP(X_RIGHT))); - return false; - } - break; - case KC_DEL: - case KC_BSPC: - if (record->event.pressed) { - return handle_del_bspace(); - } - break; - case LT(COMBOS, KC_BSPC): - if (record->event.pressed && record->tap.count == 1) { - return handle_del_bspace(); - } - break; - case LT(NAV,KC_APP): - if (!record->event.pressed && !is_win) { - mac_ctrl_on = false; - mac_gui_on = false; - mac_alt_window_switching_on = false; - clear_mods(); - SEND_STRING(SS_TAP(X_LCTL) SS_TAP(X_LGUI) SS_TAP(X_LALT) SS_TAP(X_LSFT)); - return true; - } - break; - /* ------------------------------------------------------------------------- - * CAPS WORD - * ------------------------------------------------------------------------ */ - case KC_CAPS: - if (record->event.pressed && !layer_state_is(BASE)) { - if (get_mods() & MOD_MASK_SHIFT) { - full_caps_mode = true; - led_show_variable_status(full_caps_mode); - if (hw_caps_on) { - SEND_STRING(SS_TAP(X_CAPS)); - } - } else if (hw_caps_on) { - full_caps_mode = false; - } - } - break; - // case KC_SPACE: - case LT(MEDIA,KC_SPC): - case LT(NAV,KC_SPC): - if (record->event.pressed && caps_word_on() && !layer_state_is(BASE) && record->tap.count == 1) { - SEND_STRING(SS_TAP(X_CAPS)); - } - break; - case KC_MINS: - if (record->event.pressed && caps_word_on() && !layer_state_is(BASE)) { - SEND_STRING("_"); - return false; - } - break; - /* ------------------------------------------------------------------------- - * CUSTOM MACROS - * ------------------------------------------------------------------------ */ - - case CTRL_CTV: - if (record->event.pressed) { - bool shifted = get_mods() & MOD_MASK_SHIFT; - clear_mods(); - - SEND_STRING(SS_LCTL("c")); - wait_ms(COPY_DELAY); - SEND_STRING(SS_LCTL("tv")); - - if (!shifted) { - SEND_STRING(SS_TAP(X_ENTER)); - } - } - break; - case BEAT_BROWSER: - if (record->event.pressed) { - SEND_STRING(SS_LCTL("c")); - wait_ms(COPY_DELAY); - SEND_STRING(SS_LGUI("1") SS_LCTL("tv") SS_TAP(X_ENTER)); - } - break; - case CTRL_LCTV: - if (record->event.pressed) { - if (get_mods() & MOD_MASK_SHIFT) { - //Firefox - clear_mods(); - SEND_STRING(SS_LCTL("lc")); - wait_ms(COPY_DELAY); - SEND_STRING(SS_LCTL("P")); - wait_ms(INCOGNITO_DELAY); - SEND_STRING(SS_LCTL("v") SS_TAP(X_ENTER)); - } else if (get_mods() & MOD_MASK_CTRL) { - //Chrome - clear_mods(); - SEND_STRING(SS_LCTL("lc")); - wait_ms(COPY_DELAY); - SEND_STRING(SS_LCTL("Nv") SS_TAP(X_ENTER)); - } else { - SEND_STRING(SS_LCTL("lc")); - wait_ms(COPY_DELAY); - SEND_STRING(SS_LCTL("tv")); - } - } - break; - case CTRL_CAV: - if (record->event.pressed) { - SEND_STRING(SS_LCTL("c" SS_TAP(X_TAB))); - wait_ms(COPY_DELAY); - SEND_STRING(SS_LCTL("av")); - } - break; - case NEUTRAL_COPY: - if (record->event.pressed && is_win) { - uint8_t shifted = get_mods() & MOD_MASK_SHIFT; - if (shifted) { - del_mods(shifted); - SEND_STRING(SS_LCTL("z")); - } - SEND_STRING(SS_LCTL("c")); - wait_ms(COPY_DELAY); - SEND_STRING(SS_LGUI("r") SS_LCTL("vac") SS_TAP(X_ESC)); - } - break; - case SARCASM: - if (record->event.pressed) { - del_mods(MOD_LSFT); - sarcasm_on = !sarcasm_on; - led_show_variable_status(sarcasm_on); - } - break; - case LMB_SPAM: - if (record->event.pressed) { - is_lmb_timer_active = ! is_lmb_timer_active; - lmb_timer = timer_read(); - } - break; - - /* ------------------------------------------------------------------------- - * OS TOGGLING - * ------------------------------------------------------------------------ */ - case TOG_OS: - if (record->event.pressed) { - is_win = ! is_win; - led_show_variable_status(is_win); - } - break; - case CTR_ALT: - if (record->event.pressed) { - add_mods(OS_MOD_KEYS[is_win]); - } else { - unregister_mods(OS_MOD_KEYS[is_win]); - } - break; - case CTR_ALT_SHIFT: - if (record->event.pressed) { - add_mods(OS_MOD_KEYS[is_win]); - add_mods(MOD_RSFT); - } else { - unregister_mods(OS_MOD_KEYS[is_win]); - unregister_mods(MOD_RSFT); - } - break; - case OS_CTRL: - if (is_win) { - if (record->event.pressed) { - SEND_STRING(SS_DOWN(X_LCTL)); - } else { - SEND_STRING(SS_UP(X_LCTL)); - } - } else { - if (record->event.pressed) { - SEND_STRING(SS_DOWN(X_LGUI)); - } else { - SEND_STRING(SS_UP(X_LGUI)); - } - } - break; - case OS_WIN: - if (is_win) { - if (record->event.pressed) { - SEND_STRING(SS_DOWN(X_LGUI)); - } else { - SEND_STRING(SS_UP(X_LGUI)); - } - } else { - if (record->event.pressed) { - SEND_STRING(SS_DOWN(X_LCTL)); - } else { - SEND_STRING(SS_UP(X_LCTL)); - } - } - break; - - /* ------------------------------------------------------------------------- - * STRING MACROS - * ------------------------------------------------------------------------ */ - // case : - // if (record->event.pressed) { - // send_string_remembering_length(""); - // } - // break; - // case : - // if (record->event.pressed) { - // send_shifted_strings("", ""); - // } - // break; - case TILD_BLOCK: - if (record->event.pressed) { - uint8_t alted = get_mods() & MOD_MASK_ALT; - uint8_t switch_lang_state = get_mods() & MOD_MASK_CTRL; - - if (switch_lang_state) { - del_mods(switch_lang_state); - switch_lang(); - } - - if (alted) { - del_mods(alted); - SEND_STRING(SS_TAP(X_ESC) "```" SS_LSFT(SS_TAP(X_ENTER) SS_TAP(X_ENTER)) "```" SS_TAP(X_UP)); - char_to_bspace = 4; - char_to_del = 4; - } else { - SEND_STRING("`` "); - - uint8_t shifted = get_mods() & MOD_MASK_SHIFT; - del_mods(shifted); - SEND_STRING(SS_TAP(X_LEFT) SS_TAP(X_LEFT)); - add_mods(shifted); - char_to_bspace = 1; - char_to_del = 2; - } - - if (switch_lang_state) { - switch_lang(); - } - } - break; - case ALL_BEST: - if (record->event.pressed) { - send_shifted_strings_add("All the best,\nArt", "joms"); - } - break; - case AT_EMAIL: - if (record->event.pressed) { - send_string_remembering_length("@gmail.com"); - } - break; - case BRACES: - if (record->event.pressed) { - uint8_t shifted = get_mods() & MOD_MASK_SHIFT; - uint8_t switch_lang_state = get_mods() & MOD_MASK_CTRL; - if (switch_lang_state) { - del_mods(switch_lang_state); - switch_lang(); - } - - add_mods(shifted); - SEND_STRING("[]"); - - del_mods(shifted); - SEND_STRING(SS_TAP(X_LEFT)); - add_mods(shifted); - - if (switch_lang_state) { - switch_lang(); - } - char_to_bspace = 1; - char_to_del = 1; - } - break; - case DASHES: - if (record->event.pressed) { - SEND_STRING("--"); - - uint8_t shifted = get_mods() & MOD_MASK_SHIFT; - del_mods(shifted); - SEND_STRING(" " SS_TAP(X_LEFT) SS_TAP(X_LEFT)); - add_mods(shifted); - char_to_bspace = 1; - char_to_del = 2; - } - break; - case PARENTHS: - if (record->event.pressed) { - clear_mods(); - SEND_STRING("() " SS_TAP(X_LEFT) SS_TAP(X_LEFT)); - char_to_bspace = 1; - char_to_del = 2; - } - break; - case QUOTES: - if (record->event.pressed) { - uint8_t shifted = get_mods() & MOD_MASK_SHIFT; - uint8_t switch_lang_state = get_mods() & MOD_MASK_CTRL; - if (switch_lang_state) { - del_mods(switch_lang_state); - switch_lang(); - } - - add_mods(shifted); - SEND_STRING("''"); - - del_mods(shifted); - wait_ms(LONG_TYPING_INTERVAL); - SEND_STRING(" " SS_TAP(X_LEFT) SS_TAP(X_LEFT)); - add_mods(shifted); - - if (switch_lang_state) { - switch_lang(); - } - char_to_bspace = 1; - char_to_del = 2; - } - break; - case QUOTES_RU: - if (record->event.pressed) { - clear_mods(); - SEND_STRING("@@ "); - wait_ms(LONG_TYPING_INTERVAL); - SEND_STRING(SS_TAP(X_LEFT) SS_TAP(X_LEFT)); - char_to_bspace = 1; - char_to_del = 2; - } - break; - case STARS: - if (record->event.pressed) { - clear_mods(); - SEND_STRING("** " SS_TAP(X_LEFT) SS_TAP(X_LEFT)); - char_to_bspace = 1; - char_to_del = 2; - } - break; - - case ADMINS: - if (record->event.pressed) { - send_string_remembering_length("admin"); - } - break; - - case G_ADD: - if (record->event.pressed) { - send_string_remembering_length("git add "); - } - break; - case G_BRCH: - if (record->event.pressed) { - send_shifted_strings_add("git branch ", "-d "); - } - break; - case G_C: - if (record->event.pressed) { - send_string_remembering_length("git c[Heckout/Ommit]"); - layer_on(GIT_C); - } - break; - case G_CHEC: - if (!record->event.pressed) { - bool shifted = get_mods() & MOD_MASK_SHIFT; - clear_mods(); - - press_n_times(15, KC_BACKSPACE); - send_string_with_translation("heckout "); - char_to_bspace = 13; - if (shifted) { - send_string_with_translation("-b "); - char_to_bspace = 16; - } - layer_off(GIT_C); - } - break; - case G_COMM: - if (!record->event.pressed) { - bool ctrled = get_mods() & MOD_MASK_CTRL; - bool shifted = get_mods() & MOD_MASK_SHIFT; - clear_mods(); - - press_n_times(15, KC_BACKSPACE); - send_string_with_translation("ommit "); - char_to_bspace = 11; - layer_off(GIT_C); - - if (ctrled) { - return false; - } - - SEND_STRING("-"); - char_to_bspace = 15; - if (shifted) { - send_string_with_translation("a"); - char_to_bspace = 16; - } - send_string_with_translation("m"); - SEND_STRING(" \"\"" SS_TAP(X_LEFT)); - char_to_del = 1; - } - break; - case G_DEV: - if (record->event.pressed) { - send_shifted_strings("develop", "master"); - } - break; - case G_DIFF: - if (record->event.pressed) { - send_string_remembering_length("git diff "); - } - break; - case G_FTCH: - if (record->event.pressed) { - send_string_remembering_length("git fetch "); - } - break; - case G_LOG: - if (record->event.pressed) { - send_string_remembering_length("git log "); - } - break; - case G_MERG: - if (record->event.pressed) { - send_string_remembering_length("git merge "); - } - break; - case G_PULL: - if (record->event.pressed) { - send_string_remembering_length("git pull "); - } - break; - case G_PUSH: - if (record->event.pressed) { - send_string_remembering_length("git push -u "); - } - break; - case G_R: - if (!record->event.pressed) { - send_string_remembering_length("git re[Set/Vert/Base -i]"); - layer_on(GIT_R); - } - break; - case G_RBASE: - if (!record->event.pressed) { - press_n_times(18, KC_BACKSPACE); - send_string_with_translation("base -i "); - char_to_bspace = 14; - layer_off(GIT_R); - } - break; - case G_RVERT: - if (!record->event.pressed) { - press_n_times(18, KC_BACKSPACE); - send_string_with_translation("vert "); - char_to_bspace = 11; - layer_off(GIT_R); - } - break; - case G_RST: - if (!record->event.pressed) { - bool shifted = get_mods() & MOD_MASK_SHIFT; - clear_mods(); - - press_n_times(18, KC_BACKSPACE); - send_string_with_translation("set "); - char_to_bspace = 10; - - if (shifted) { - send_string_with_translation("--hard "); - char_to_bspace = 17; - } - layer_off(GIT_R); - } - break; - case G_S: - if (!record->event.pressed) { - send_string_remembering_length("git s[taSh/How/taTus]"); - layer_on(GIT_S); - } - break; - case G_SHOW: - if (!record->event.pressed) { - press_n_times(16, KC_BACKSPACE); - send_string_with_translation("how "); - char_to_bspace = 9; - layer_off(GIT_S); - } - break; - case G_STSH: - if (!record->event.pressed) { - bool shifted = get_mods() & MOD_MASK_SHIFT; - clear_mods(); - - press_n_times(16, KC_BACKSPACE); - send_string_with_translation("tash "); - char_to_bspace = 10; - - if (shifted) { - clear_mods(); - send_string_with_translation("apply "); - - char_to_bspace = 16; - } - - layer_off(GIT_S); - } - break; - case G_STAT: - if (!record->event.pressed) { - press_n_times(16, KC_BACKSPACE); - send_string_with_translation("tatus "); - char_to_bspace = 11; - layer_off(GIT_S); - } - break; - - case K_CUST1 ... K_CUST3: // custom strings not stored in source control - if (!record->event.pressed) { - send_string_remembering_length(custom[keycode - K_CUST1]); - blink_leds(NUM_SCROLL_LED_ON); - } - break; - case K_SECR1 ... K_SECR4: // Secrets! Externally defined strings, not stored in repo - if (!record->event.pressed) { - send_string_remembering_length(secrets[keycode - K_SECR1]); - blink_leds(NUM_SCROLL_LED_ON); - } - break; - - case CTL_ALT_START ... CTL_ALT_END: - if (record->event.pressed) { - if (is_win) { - register_code16(LCTL(keycode - CTL_ALT_START)); - } else { - register_code16(LALT(keycode - CTL_ALT_START)); - } - } else { - if (is_win) { - unregister_code16(LCTL(keycode - CTL_ALT_START)); - } else { - unregister_code16(LALT(keycode - CTL_ALT_START)); - } - } - break; - } - - return process_record_keymap(keycode, record); -} diff --git a/users/art/art.h b/users/art/art.h deleted file mode 100644 index 71af966bef..0000000000 --- a/users/art/art.h +++ /dev/null @@ -1,107 +0,0 @@ -// Copyright 2022 Artjoms Rizihs (@artjomsR) -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once -#include QMK_KEYBOARD_H - -#define CTL_ALT(kc) (CTL_ALT_START + ((kc) & 0xff)) - -extern bool is_win; -#define TYPING_INTERVAL 20 -#define LONG_TYPING_INTERVAL 50 - -enum layer_names { -#if SPLIT75_SETUP_FOR_PUBLIC_USE_BY_DEFAULT && defined(KEYBOARD_wheatfield_split75) // defined by "KEYBOARD" followed by folder structure - BASE, - QWERTY, -#else - QWERTY, - BASE, -#endif - - WORKMAN, -#if defined(KEYBOARD_mt_split75) - CONFIG, - LAYOUT_CHG, - QWERTY_MOD, -#elif defined(KEYBOARD_ktec_ergodone) - FKEYS, - CTRL_NAV, - SHIFT_NAV, -#endif - - MEDIA, - COMBOS, - //STRINGS, - NAV, - NUMPAD, - GIT, - GIT_C, - GIT_R, - GIT_S -}; - -enum custom_keycodes_art { - CTRL_CTV = SAFE_RANGE, - CTRL_LCTV, - CTRL_CAV, - BEAT_BROWSER, - NEUTRAL_COPY, - SARCASM, - LMB_SPAM, - - TOG_OS, - CTR_ALT, - CTR_ALT_SHIFT, - OS_CTRL, - OS_WIN, - - TILD_BLOCK, - ALL_BEST, - AT_EMAIL, - BRACES, - DASHES, - PARENTHS, - STARS, - QUOTES, - QUOTES_RU, - - ADMINS, - PRESCRIPTION, - FOURS, - - G_ADD, - G_BRCH, - G_C, - G_CHEC, - G_COMM, - G_DEV, - G_DIFF, - G_FTCH, - G_LOG, - G_MERG, - G_PULL, - G_PUSH, - G_R, - G_RBASE, - G_RVERT, - G_RST, - G_S, - G_STAT, - G_STSH, - G_SHOW, - - K_CUST1, - K_CUST2, - K_CUST3, - - K_SECR1, - K_SECR2, - K_SECR3, - K_SECR4, - - CTL_ALT_START, - CTL_ALT_END = CTL_ALT_START + 0xff, - - NEW_SAFE_RANGE //for keymap specific codes -}; diff --git a/users/art/art_user_config.h.example b/users/art/art_user_config.h.example deleted file mode 100644 index b523867259..0000000000 --- a/users/art/art_user_config.h.example +++ /dev/null @@ -1,7 +0,0 @@ -// Copyright 2022 Artjoms Rizihs (@artjomsR) -// SPDX-License-Identifier: GPL-2.0-or-later - -#define SPLIT75_SETUP_FOR_PUBLIC_USE_BY_DEFAULT true -#define WORKMAN_TO_QWERTY_HW_MAPPING false - -#define lang_switch_combo SS_LGUI(SS_TAP(X_Z))
\ No newline at end of file diff --git a/users/art/config.h b/users/art/config.h deleted file mode 100644 index 78c7851c65..0000000000 --- a/users/art/config.h +++ /dev/null @@ -1,14 +0,0 @@ -// Copyright 2022 Artjoms Rizihs (@artjomsR) -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -#undef TAPPING_TOGGLE -#define TAPPING_TOGGLE 2 - -#define COMBO_SHOULD_TRIGGER - -// saving space -#define LAYER_STATE_16BIT // remove if using more than 16 layers -#define NO_ACTION_ONESHOT -#define NO_MUSIC_MODE
\ No newline at end of file diff --git a/users/art/custom_definitions.h.example b/users/art/custom_definitions.h.example deleted file mode 100644 index b15d3d5e6d..0000000000 --- a/users/art/custom_definitions.h.example +++ /dev/null @@ -1,8 +0,0 @@ -// Copyright 2022 Artjoms Rizihs (@artjomsR) -// SPDX-License-Identifier: GPL-2.0-or-later - -static char * custom[] = { - "", - "", - "" -};
\ No newline at end of file diff --git a/users/art/funcs/led_funcs.c b/users/art/funcs/led_funcs.c deleted file mode 100644 index 873836d368..0000000000 --- a/users/art/funcs/led_funcs.c +++ /dev/null @@ -1,55 +0,0 @@ -// Copyright 2022 Artjoms Rizihs (@artjomsR) -// SPDX-License-Identifier: GPL-2.0-or-later - -#include "led_funcs.h" - -bool hw_caps_on; - -__attribute__ ((weak)) void num_led_on(void) {} -__attribute__ ((weak)) void num_led_off(void) {} -__attribute__ ((weak)) void caps_led_on(void) {} -__attribute__ ((weak)) void caps_led_off(void) {} -__attribute__ ((weak)) void scroll_led_on(void) {} -__attribute__ ((weak)) void scroll_led_off(void) {} - -void toggle_leds(int leds) { - if (NUM_LED_ON & leds) { - num_led_on(); - } else { - num_led_off(); - } - if (SCROLL_LED_ON & leds) { - scroll_led_on(); - } else { - scroll_led_off(); - } -} - -bool led_update_user(led_t led_state) { - // only use caps LED - ignore Num & Scroll - if (led_state.caps_lock) { - caps_led_on(); - } else { - caps_led_off(); - } - - hw_caps_on = led_state.caps_lock; - return false; // 'false' prevents led_update_kb from firing -} - -void blink_leds(int leds) { - for (int i = 0; i < 3; i++) { - toggle_leds(leds); - wait_ms(BLINKING_INTERVAL); - toggle_leds(ALL_OFF); - wait_ms(BLINKING_INTERVAL); - } -} - -void led_show_variable_status(bool value) { - if (value) { - blink_leds(NUM_LED_ON); - } else { - blink_leds(SCROLL_LED_ON); - } -}
\ No newline at end of file diff --git a/users/art/funcs/led_funcs.h b/users/art/funcs/led_funcs.h deleted file mode 100644 index 65d2b7c155..0000000000 --- a/users/art/funcs/led_funcs.h +++ /dev/null @@ -1,17 +0,0 @@ -// Copyright 2022 Artjoms Rizihs (@artjomsR) -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once -#include QMK_KEYBOARD_H - -#define NUM_LED_ON 4 -#define SCROLL_LED_ON 1 -#define NUM_SCROLL_LED_ON 5 -#define ALL_OFF 0 - -#define BLINKING_INTERVAL 25 - -void toggle_leds(int leds); -bool led_update_user(led_t led_state); -void blink_leds(int leds); -void led_show_variable_status(bool value);
\ No newline at end of file diff --git a/users/art/funcs/string_funcs.c b/users/art/funcs/string_funcs.c deleted file mode 100644 index 1ea86779cc..0000000000 --- a/users/art/funcs/string_funcs.c +++ /dev/null @@ -1,307 +0,0 @@ -// Copyright 2022 Artjoms Rizihs (@artjomsR) -// SPDX-License-Identifier: GPL-2.0-or-later - -#include "art.h" -#include "string_funcs.h" -#include "string.h" - -bool mac_ctrl_on; - -int char_to_bspace; -int char_to_del; - -enum combo_events { - HOMEROW_UP, - HOMEROW_LEFT, - HOMEROW_RIGHT, - HOMEROW_DOWN, - HOMEROW_PREV_WORD, - HOMEROW_NEXT_WORD, - HOMEROW_HOME, - HOMEROW_END, - - ED_F1, - ED_F2, - ED_F3, - ED_F4, - ED_F5, - ED_F6, - ED_F7, - ED_F8, - ED_F9, - ED_F10, - ED_F11, - ED_F12, - ED_PSCREEN, - - ED_ENTER, - - ED_CS_ENTER, - BSPC_LSFT_CLEAR -}; - -const uint16_t PROGMEM combo_up[] = {KC_W, KC_R, COMBO_END}; -const uint16_t PROGMEM combo_left[] = {KC_S, KC_E, COMBO_END}; -const uint16_t PROGMEM combo_right[] = {KC_F, KC_E, COMBO_END}; -const uint16_t PROGMEM combo_down[] = {KC_S, KC_F, COMBO_END}; -const uint16_t PROGMEM combo_prev_word[] = {KC_S, KC_LCTL, COMBO_END}; -const uint16_t PROGMEM combo_next_word[] = {KC_F, KC_LCTL, COMBO_END}; -const uint16_t PROGMEM combo_end[] = {KC_W, KC_E, COMBO_END}; -const uint16_t PROGMEM combo_home[] = {KC_E, KC_R, COMBO_END}; - -const uint16_t PROGMEM combo_enter[] = {KC_BSPC, KC_INS, COMBO_END}; - -const uint16_t PROGMEM combo_f1[] = {KC_1, KC_Q, COMBO_END}; -const uint16_t PROGMEM combo_f2[] = {KC_2, KC_W, COMBO_END}; -const uint16_t PROGMEM combo_f3[] = {KC_3, KC_E, COMBO_END}; -const uint16_t PROGMEM combo_f4[] = {KC_4, KC_R, COMBO_END}; -const uint16_t PROGMEM combo_f5[] = {KC_5, KC_T, COMBO_END}; -const uint16_t PROGMEM combo_f6[] = {KC_6, KC_Y, COMBO_END}; -const uint16_t PROGMEM combo_f7[] = {KC_7, KC_U, COMBO_END}; -const uint16_t PROGMEM combo_f8[] = {KC_8, KC_I, COMBO_END}; -const uint16_t PROGMEM combo_f9[] = {KC_9, KC_O, COMBO_END}; -const uint16_t PROGMEM combo_f10[] = {KC_0, KC_P, COMBO_END}; -const uint16_t PROGMEM combo_f11[] = {LT(GIT,KC_SLSH), KC_RSFT, COMBO_END}; -const uint16_t PROGMEM combo_f12[] = {KC_RALT, KC_RCTL, COMBO_END}; -const uint16_t PROGMEM combo_pscreen[] = {TO(WORKMAN), KC_RALT, COMBO_END}; - -const uint16_t PROGMEM done_sm[] = {KC_LEFT, KC_RIGHT, COMBO_END}; -const uint16_t PROGMEM clear_line_combo[] = {KC_BSPC, KC_LSFT, COMBO_END}; - -combo_t key_combos[] = { - [HOMEROW_UP] = COMBO(combo_up, KC_UP), - [HOMEROW_LEFT] = COMBO(combo_left, KC_LEFT), - [HOMEROW_RIGHT] = COMBO(combo_right, KC_RIGHT), - [HOMEROW_DOWN] = COMBO(combo_down, KC_DOWN), - [HOMEROW_PREV_WORD] = COMBO_ACTION(combo_prev_word), - [HOMEROW_NEXT_WORD] = COMBO_ACTION(combo_next_word), - [HOMEROW_HOME] = COMBO(combo_end, KC_HOME), - [HOMEROW_END] = COMBO(combo_home, KC_END), - - #if defined(KEYBOARD_ktec_ergodone) - [ED_ENTER] = COMBO(combo_enter, KC_ENTER), - - [ED_F1] = COMBO(combo_f1, KC_F1), - [ED_F2] = COMBO(combo_f2, KC_F2), - [ED_F3] = COMBO(combo_f3, KC_F3), - [ED_F4] = COMBO(combo_f4, KC_F4), - [ED_F5] = COMBO(combo_f5, KC_F5), - [ED_F6] = COMBO(combo_f6, KC_F6), - [ED_F7] = COMBO(combo_f7, KC_F7), - [ED_F8] = COMBO(combo_f8, KC_F8), - [ED_F9] = COMBO(combo_f9, KC_F9), - [ED_F10] = COMBO(combo_f10, KC_F10), - [ED_F11] = COMBO(combo_f11, KC_F11), - [ED_F12] = COMBO(combo_f12, KC_F12), - [ED_PSCREEN] = COMBO(combo_pscreen, KC_PRINT_SCREEN), - - [ED_CS_ENTER] = COMBO_ACTION(done_sm), - #endif - - [BSPC_LSFT_CLEAR] = COMBO_ACTION(clear_line_combo), -}; - -void process_combo_event(uint16_t combo_index, bool pressed) { - switch(combo_index) { - case HOMEROW_PREV_WORD: - if (pressed) { - if (is_win) { - tap_code16(C(KC_LEFT)); - } else { - tap_code16(A(KC_LEFT)); - } - } - break; - case HOMEROW_NEXT_WORD: - if (pressed) { - if (is_win) { - tap_code16(C(KC_RIGHT)); - } else { - tap_code16(A(KC_RIGHT)); - } - } - break; - case BSPC_LSFT_CLEAR: - if (pressed) { - tap_code16(KC_END); - tap_code16(S(KC_HOME)); - tap_code16(KC_BSPC); - } - break; - case ED_CS_ENTER: - if (pressed) { - tap_code16(C(S(KC_ENTER))); - } - break; - } -} - -bool combo_should_trigger(uint16_t combo_index, combo_t *combo, uint16_t keycode, keyrecord_t *record) { - return !layer_state_is(BASE); -} - -bool is_mac_with_base_layer_off(void) { - return !is_win && !layer_state_is(BASE); -} - -void switch_lang(void) { - if (is_win) { - SEND_STRING(SS_LALT(SS_TAP(X_LSFT))); - } else { - send_string(lang_switch_combo); - wait_ms(10); - } -} - -void press_n_times(int times, uint16_t key) { - for (int i=0; i<times; i++) { - // wait_ms(TYPING_INTERVAL); - tap_code16(key); - } -} - - -bool handle_del_bspace(void) { - if (char_to_bspace > 1 || char_to_del > 0) { - layer_off(GIT_C); - layer_off(GIT_R); - layer_off(GIT_S); - - press_n_times(char_to_bspace, KC_BACKSPACE); - char_to_bspace = 1; - press_n_times(char_to_del, KC_DEL); - char_to_del = 0; - - return false; - } - - if (is_mac_with_base_layer_off()) { - uint8_t mod_state = get_mods() & MOD_MASK_CTRL; - if (get_mods() & mod_state) { - del_mods(mod_state); - add_mods(MOD_LALT); - mac_ctrl_on = true; - } - } - return true; -} - -void send_string_with_translation(char *string) { - #if WORKMAN_TO_QWERTY_HW_MAPPING - if (layer_state_is(WORKMAN)) { - int isUpperCase = 0; - for (int i = 0; i < strlen(string); i++) { - char toPrint = string[i]; - if (isupper(toPrint)) { - if (toPrint == 'P') { - SEND_STRING(":"); - continue; - } - - isUpperCase = 1; - toPrint = tolower(toPrint); - } - switch (toPrint) { - case ':': - toPrint = 'I'; - break; - - case 'w': - toPrint = 'd'; - break; - case 'e': - toPrint = 'r'; - break; - case 'r': - toPrint = 'w'; - break; - case 't': - toPrint = 'b'; - break; - case 'y': - toPrint = 'j'; - break; - case 'u': - toPrint = 'f'; - break; - case 'i': - toPrint = 'u'; - break; - case 'o': - toPrint = 'p'; - break; - case 'p': - toPrint = ';'; - break; - - case 'd': - toPrint = 'h'; - break; - case 'f': - toPrint = 't'; - break; - case 'h': - toPrint = 'y'; - break; - case 'j': - toPrint = 'n'; - break; - case 'k': - toPrint = 'e'; - break; - case 'l': - toPrint = 'o'; - break; - case ';': - toPrint = 'i'; - break; - - case 'b': - toPrint = 'm'; - break; - case 'n': - toPrint = 'k'; - break; - case 'm': - toPrint = 'l'; - break; - } - if (isUpperCase) { - isUpperCase = 0; - toPrint = toupper(toPrint); - } - send_char(toPrint); - } - } else { - send_string(string); - } - #else - send_string(string); - #endif -} - -void send_string_remembering_length(char *string) { - send_string_with_translation(string); - char_to_bspace = strlen(string); -} - -void send_shifted_strings(char *string1, char *string2) { - if (get_mods() & MOD_MASK_SHIFT) { - clear_mods(); - send_string_remembering_length(string2); - } else { - send_string_remembering_length(string1); - } -} - -void send_shifted_strings_add(char *string1, char *string2) { - bool shifted = get_mods() & MOD_MASK_SHIFT; - clear_mods(); - - send_string_remembering_length(string1); - - if (shifted) { - send_string(string2); - char_to_bspace = strlen(string1) + strlen(string2); - } -} diff --git a/users/art/funcs/string_funcs.h b/users/art/funcs/string_funcs.h deleted file mode 100644 index 6d0c424245..0000000000 --- a/users/art/funcs/string_funcs.h +++ /dev/null @@ -1,14 +0,0 @@ -// Copyright 2022 Artjoms Rizihs (@artjomsR) -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once -#include QMK_KEYBOARD_H - -bool is_mac_with_base_layer_off(void); -void switch_lang(void); -void press_n_times(int times, uint16_t key); -bool handle_del_bspace(void); -void send_string_with_translation(char *string); -void send_string_remembering_length(char *string); -void send_shifted_strings(char *string1, char *string2); -void send_shifted_strings_add(char *string1, char *string2);
\ No newline at end of file diff --git a/users/art/rules.mk b/users/art/rules.mk deleted file mode 100644 index 9bf4d167fc..0000000000 --- a/users/art/rules.mk +++ /dev/null @@ -1,15 +0,0 @@ -SRC += art.c -SRC += funcs/led_funcs.c -SRC += funcs/string_funcs.c - -COMBO_ENABLE = yes - -# saving space -COMMAND_ENABLE = no -CONSOLE_ENABLE = no -GRAVE_ESC_ENABLE = no -LTO_ENABLE = yes -MAGIC_ENABLE = no -# MOUSEKEY_ENABLE = no -MUSIC_ENABLE = no -SPACE_CADET_ENABLE = no
\ No newline at end of file diff --git a/users/art/secr.h.example b/users/art/secr.h.example deleted file mode 100644 index 468943fad2..0000000000 --- a/users/art/secr.h.example +++ /dev/null @@ -1,9 +0,0 @@ -// Copyright 2022 Artjoms Rizihs (@artjomsR) -// SPDX-License-Identifier: GPL-2.0-or-later - -static char * secrets[] = { - "", - "", - "", - "" -};
\ No newline at end of file |