diff options
author | lokher <lokher@gmail.com> | 2022-09-13 11:24:05 +0800 |
---|---|---|
committer | lokher <lokher@gmail.com> | 2022-09-13 11:24:05 +0800 |
commit | 9581289745736ce068a1040f44cec37a2ca8830d (patch) | |
tree | 24f644715a5fd6cc4d804d9604fb094307808b1b /keyboards/dztech/dz65rgb/keymaps/drootz | |
parent | fe13cedf8c09fa34d5cec4e4c624738095176625 (diff) |
Remove non-Keychron keyboards
Diffstat (limited to 'keyboards/dztech/dz65rgb/keymaps/drootz')
-rw-r--r-- | keyboards/dztech/dz65rgb/keymaps/drootz/config.h | 52 | ||||
-rw-r--r-- | keyboards/dztech/dz65rgb/keymaps/drootz/keymap.c | 757 | ||||
-rw-r--r-- | keyboards/dztech/dz65rgb/keymaps/drootz/readme.md | 210 | ||||
-rw-r--r-- | keyboards/dztech/dz65rgb/keymaps/drootz/rules.mk | 11 |
4 files changed, 0 insertions, 1030 deletions
diff --git a/keyboards/dztech/dz65rgb/keymaps/drootz/config.h b/keyboards/dztech/dz65rgb/keymaps/drootz/config.h deleted file mode 100644 index 109aa3d07e..0000000000 --- a/keyboards/dztech/dz65rgb/keymaps/drootz/config.h +++ /dev/null @@ -1,52 +0,0 @@ -#pragma once - -#define LEADER_PER_KEY_TIMING -#define LEADER_TIMEOUT 425 -#define TAP_HOLD_CAPS_DELAY 80 - -#ifdef RGB_MATRIX_ENABLE -/* Reset default from dz65rgb/v2 config.h */ -# undef DISABLE_RGB_MATRIX_SPLASH -# undef DISABLE_RGB_MATRIX_SOLID_SPLASH -# undef RGB_MATRIX_LED_FLUSH_LIMIT -# undef RGB_MATRIX_STARTUP_MODE -# undef RGB_MATRIX_MAXIMUM_BRIGHTNESS -# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 255 -# define RGB_MATRIX_LED_FLUSH_LIMIT 16 // default: 26 -# define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_TYPING_HEATMAP -# define RGB_MATRIX_FRAMEBUFFER_EFFECTS -# define RGB_MATRIX_STARTUP_HUE 10 -# define RGB_MATRIX_STARTUP_SAT 255 -# define RGB_MATRIX_STARTUP_VAL 200 -# define RGB_MATRIX_STARTUP_SPD 75 -/* Active RBG Modes */ -/* # undef ENABLE_RGB_MATRIX_TYPING_HEATMAP // How hot is your WPM! */ -/* # undef ENABLE_RGB_MATRIX_SPLASH // Full gradient & value pulse away from a single key hit then fades value out */ -/* # undef ENABLE_RGB_MATRIX_SOLID_SPLASH // Hue & value pulse away from a single key hit then fades value out */ -/* Disabling to optimize firmware size */ -# undef ENABLE_RGB_MATRIX_ALPHAS_MODS // Static dual hue, speed is hue for secondary hue -# undef ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT // Static gradient left to right, speed controls how much gradient changes -# undef ENABLE_RGB_MATRIX_BREATHING // Single hue brightness cycling animation -# undef ENABLE_RGB_MATRIX_BAND_VAL // Single hue band fading brightness scrolling left to right -# undef ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL // Single hue 3 blade spinning pinwheel fades brightness -# undef ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL // Single hue spinning spiral fades brightness -# undef ENABLE_RGB_MATRIX_CYCLE_ALL // Full keyboard solid hue cycling through full gradient -# undef ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT // Full gradient scrolling left to right -# undef ENABLE_RGB_MATRIX_CYCLE_UP_DOWN // Full gradient scrolling top to bottom -# undef ENABLE_RGB_MATRIX_CYCLE_OUT_IN // Full gradient scrolling out to in -# undef ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL // Full dual gradients scrolling out to in -# undef ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON // Full gradent Chevron shapped scrolling left to right -# undef ENABLE_RGB_MATRIX_CYCLE_PINWHEEL // Full gradient spinning pinwheel around center of keyboard -# undef ENABLE_RGB_MATRIX_CYCLE_SPIRAL // Full gradient spinning spiral around center of keyboard -# undef ENABLE_RGB_MATRIX_DUAL_BEACON // Full gradient spinning around center of keyboard -# undef ENABLE_RGB_MATRIX_RAINBOW_BEACON // Full tighter gradient spinning around center of keyboard -# undef ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS // Full dual gradients spinning two halfs of keyboard -# undef ENABLE_RGB_MATRIX_RAINDROPS // Randomly changes a single key's hue -# undef ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS // Randomly changes a single key's hue and saturation -# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE // Static single hue, pulses keys hit to shifted hue then fades to current hue -#endif /* RBG MATRIX */ - -/* Firmware size Optimizations */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION -#define NO_ACTION_ONESHOT diff --git a/keyboards/dztech/dz65rgb/keymaps/drootz/keymap.c b/keyboards/dztech/dz65rgb/keymaps/drootz/keymap.c deleted file mode 100644 index 2ebbddcef7..0000000000 --- a/keyboards/dztech/dz65rgb/keymaps/drootz/keymap.c +++ /dev/null @@ -1,757 +0,0 @@ -#include QMK_KEYBOARD_H - -/**************** SOME GLOBALS *********************/ - -bool onMac = false; -bool isLeader = false; -bool isBlinking = false; -bool isRecording = false; -bool isPlaying = false; -const float led_dim_ratio = 0.50; -static uint16_t blink_cycle_timer, - blink_fade_in_timer, - blink_fade_out_timer, - macro_one_play_timer, - macro_two_play_timer, - macro_play_blink_timer = 2000; -static uint8_t fade_in_step_counter, - fade_out_step_counter, - blink_hsv_value; - -/**************** LED BLINK HELPER FUNCTIONS *********************/ - -/* -Function to set color with hsv arguments -- "hue", "sat" and "val" arguments above 255 will get value from rgb matrix config -- "val_ratio" is used to adjust brightness ratio -*/ -void rgb_matrix_set_color_hsv(uint8_t led, uint16_t hue, uint16_t sat, uint16_t val, float val_ratio) { - const uint8_t h = hue <= 255 ? hue : rgb_matrix_config.hsv.h; - const uint8_t s = sat <= 255 ? sat : rgb_matrix_config.hsv.s; - const uint8_t v = val <= 255 ? val * val_ratio : rgb_matrix_config.hsv.v * val_ratio; - HSV hsv_in = {h, s, v}; - RGB rgb_out = hsv_to_rgb(hsv_in); - rgb_matrix_set_color(led, rgb_out.r, rgb_out.g, rgb_out.b); -} - -void reset_blink_cycle(void) { - blink_cycle_timer = timer_read(); - blink_fade_in_timer = timer_read(); - blink_fade_out_timer = timer_read(); - blink_hsv_value = 0; - fade_in_step_counter = 0; - fade_out_step_counter = 0; -} - -void reset_blink_status(void) { - isRecording = false; - isPlaying = false; - isBlinking = false; -} - -void get_this_led_blinking(uint8_t led_index, bool speed, uint8_t hue, uint8_t sat) { - const uint16_t static_on_time = speed ? 200 : 500; - const uint16_t static_off_time = speed ? 200 : 500; - const uint8_t fade_timing = speed ? 100 : 150; - const uint8_t fade_step = speed ? 10 : 15; - const uint8_t fade_value_step_size = rgb_matrix_config.hsv.v / fade_step; - const uint8_t fade_cycle_time_elapsed = fade_timing / fade_step; - if (timer_elapsed(blink_cycle_timer) < static_on_time) { - if (timer_elapsed(blink_fade_in_timer) > fade_cycle_time_elapsed && fade_in_step_counter < fade_step) { - blink_hsv_value = blink_hsv_value + fade_value_step_size; - fade_in_step_counter = fade_in_step_counter + 1; - blink_fade_in_timer = timer_read(); - } - } else { - if (timer_elapsed(blink_fade_out_timer) > fade_cycle_time_elapsed && fade_out_step_counter < fade_step) { - blink_hsv_value = blink_hsv_value - fade_value_step_size; - fade_out_step_counter = fade_out_step_counter + 1; - blink_fade_out_timer = timer_read(); - } - } - - rgb_matrix_set_color_hsv(led_index, hue, sat, blink_hsv_value, 0.75); - - if (timer_elapsed(blink_cycle_timer) > static_on_time + static_off_time) { - reset_blink_cycle(); - } -} - - -/**************** LAYOUT *********************/ - -/* -[LEDS] - 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14 -15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29 -30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43 -44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57 -58, 59, 60, 61, 62, 63, 64, 65, 66, 67 - -[KEYS] -ESC, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, -, =, BCK, INS -TAB, Q, W, E, R, T, Y, U, I, O, P, [, ], \,PGUP -CPS, A, S, D, F, G, H, J, K, L, COL, QOT, RETURN,PGDN -SFT, Z, X, C, V, B, N, M, COM, DOT, SLS, SHIFT, UP, DEL -CTL, GUI, ALT, SPACEBAR, ALT, FN, CTL, LFT, DWN, RIT -*/ - -enum layers { - _MAIN, - _MAC, - _FN -} - -const layers_leds_map[] = { - [_MAIN] = 45, - [_MAC] = 46, - [_FN] = 63 -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_MAIN] = LAYOUT_65_ansi( - 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, KC_BSPC, KC_INS, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP, - KC_LEAD, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_DEL, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT - ), - [_MAC] = LAYOUT_65_ansi( - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_LALT, KC_LGUI, KC_TRNS, KC_TRNS, MO(_FN), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS - ), - [_FN] = LAYOUT_65_ansi( - DYN_REC_STOP, 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_NO, KC_NO, - KC_TRNS, KC_MUTE, KC_VOLU, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RGB_SAD, RGB_SAI, DYN_MACRO_PLAY2, DYN_REC_START2, - KC_TRNS, KC_BRID, KC_VOLD, KC_BRIU, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RGB_HUD, RGB_HUI, DYN_MACRO_PLAY1, DYN_REC_START1, - KC_TRNS, TO(_MAIN), TO(_MAC), KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RGB_SPD, RGB_SPI, KC_TRNS, RGB_VAI, KC_NO, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_RMOD, RGB_VAD, RGB_MOD - ), -}; - -//**************** MATRIX SCANS *********************// - -void rgb_matrix_indicators_user(void) { - - #ifdef RGB_MATRIX_ENABLE - - /*Ensure some leds don't completeley turn off if hsv value setting is below 100 in the rgb matrix config */ - const uint8_t led_constant_val = rgb_matrix_config.hsv.v < 100 ? 100 : rgb_matrix_config.hsv.v; - - /* CapsLock LED indicator */ - if (IS_HOST_LED_ON(USB_LED_CAPS_LOCK)) { - rgb_matrix_set_color_hsv(30, 999, 0, led_constant_val, 0.75); // WHITE - } - - /* Current layer LED indicator */ - rgb_matrix_set_color_hsv(layers_leds_map[get_highest_layer(layer_state)], 999, 0, led_constant_val, led_dim_ratio); // WHITE - - /* Leader Key LED under-glow */ - if (isLeader) { - rgb_matrix_set_color_hsv(14, 999, 999, 999, 1); // CONFIG - rgb_matrix_set_color_hsv(30, 999, 999, 999, 1); // CONFIG - } else { - rgb_matrix_set_color_hsv(14, 999, 999, 999, led_dim_ratio); // CONFIG - } - - /* Blinking LED indicator when recording Dynamic Macro */ - if (isRecording && isBlinking) { - get_this_led_blinking(0, false, 0, 255); - } - - /* Blinking LED indicator when playing Dynamic Macro */ - if (isPlaying && isBlinking) { - if (timer_elapsed(macro_one_play_timer) < macro_play_blink_timer || timer_elapsed(macro_two_play_timer) < macro_play_blink_timer) { - get_this_led_blinking(0, true, 85, 255); - } else { - if (isBlinking && isPlaying) { - reset_blink_status(); - reset_blink_cycle(); - } - } - } - - switch (get_highest_layer(layer_state)) { - case _FN: - /* Dynamic Macro LED indicator */ - if (isRecording) { - rgb_matrix_set_color_hsv(0, 0, 999, 999, 1); /* RED macro stop */ - } else { - rgb_matrix_set_color_hsv(43, 0, 999, 999, led_dim_ratio); /* RED macro 1 record */ - rgb_matrix_set_color_hsv(29, 0, 999, 999, led_dim_ratio); /* RED macro 2 record */ - rgb_matrix_set_color_hsv(42, 85, 999, 999, led_dim_ratio); /* GREEN macro 1 play */ - rgb_matrix_set_color_hsv(28, 85, 999, 999, led_dim_ratio); /* GREEN macro 2 play */ - } - /* Layer LED indicators */ - rgb_matrix_set_color_hsv(45, 999, 0, led_constant_val, led_dim_ratio); /* WHITE Layer _MAIN */ - rgb_matrix_set_color_hsv(46, 999, 0, led_constant_val, led_dim_ratio); /* WHITE Layer _MAC */ - break; - } - - #endif /* RGB_MATRIX */ -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - bool pressed = record->event.pressed; - if (pressed) { - switch (keycode) { - case TO(_MAC): - onMac = true; - break; - case TO(_MAIN): - onMac = false; - break; - } - } - return true; -} - -//**************** LEADER *********************// - -#ifdef LEADER_ENABLE - -/******* FRENCH ACCENT HELPER FUNCTIONS & DECLARATIONS *************/ -/*Most comonly used accents only*/ - -enum french_letter { - _A, - _E, - _I, - _O, - _U -}; - -const uint8_t french_letter_index[5] = { - [_A] = 0, - [_E] = 1, - [_I] = 2, - [_O] = 3, - [_U] = 4 -}; - -enum french_accent { - _CIRCUMFLEX, - _GRAVE, - _ACUTE -}; - -const uint8_t french_accent_index[3] = { - [_CIRCUMFLEX] = 0, - [_GRAVE] = 1, - [_ACUTE] = 2 -}; - -/* -This represent unicode decimal values -Each index will be mapped to numpad keycode to out put the correct sequence -All codes in this array should be of size 3 -All accent codes have the same index position as in the french_accent_index Array -*/ -const uint8_t french_decimal_unicodes[5][3][2] = { /*[Letter][Accent][Case]*/ - { - { - 131, // â - 194 //  - },{ - 133, // à - 192 // À - } - },{ - { - 136, // ê - 202 // Ê - },{ - 138, // è - 200 // È - },{ - 130, // é - 201 // É - } - },{ - { - 140, // î - 206 // Î - } - },{ - { - 147, // ô - 212 // Ô - } - },{ - { - 150, // û - 219 // Û - },{ - 151, // ù - 217 // Ù - } - } -}; - -void break_int_in_array(uint8_t int_code, uint8_t size, uint8_t *array) { - uint8_t i; - i = size; - while (i--) { - array[i] = int_code%10; - int_code /= 10; - } -} - -/* -Function meant to be used in Leader Key macros to output most commonly used french accents -This is designed and work on an English language keyboard setting on both Windows and Mac -=> accept french_letter and french_accent enum's as argument -*/ -void send_french_accent(uint8_t letter, uint8_t accent) { - - bool isCaps; - uint8_t decimal_unicode_in; - uint8_t decimal_unicode_size = 3; - uint8_t decimal_unicode_out[decimal_unicode_size]; - - /*Map to numpad keycodes*/ - const uint16_t numpad_key_map[10] = { - KC_P0, KC_P1, KC_P2, KC_P3, KC_P4, KC_P5, KC_P6, KC_P7, KC_P8, KC_P9 - }; - - /*Map to letter keycodes*/ - const uint16_t french_letter_key_map[5] = { - KC_A, KC_E, KC_I, KC_O, KC_U - }; - - /*Map to mod keys for French Mac shortcuts*/ - const uint16_t osx_mod_key_map[3] = { - KC_I, // _CIRCUMFLEX - KC_GRAVE, // _GRAVE - KC_E // _ACUTE - }; - - /* - Function to tap the correct keycodes in sequence for the - "Windows Alt Code" requested, aka Decimal Unicodes - */ - void tap_win_alt_code(void) { - if (isCaps) { - tap_code(numpad_key_map[0]); // Leading 0 on all upper case "Windows alt codes" - } - for (int i = 0; i < decimal_unicode_size; ++i) { - tap_code(numpad_key_map[decimal_unicode_out[i]]); - } - } - - isCaps = IS_HOST_LED_ON(USB_LED_CAPS_LOCK) ? true : false; - - if (onMac) { - if (isCaps) { - SEND_STRING(SS_TAP(X_CAPSLOCK)); - register_code(KC_LALT); - tap_code(osx_mod_key_map[accent]); - unregister_code(KC_LALT); - register_code(KC_LSFT); - tap_code(french_letter_key_map[letter]); - unregister_code(KC_LSFT); - tap_code(KC_CAPS); - } else { - register_code(KC_LALT); - tap_code(osx_mod_key_map[accent]); - unregister_code(KC_LALT); - tap_code(french_letter_key_map[letter]); - } - } else { - /*get the correct decimal unicode*/ - decimal_unicode_in = isCaps ? french_decimal_unicodes[letter][accent][1] : french_decimal_unicodes[letter][accent][0]; - break_int_in_array(decimal_unicode_in, decimal_unicode_size, decimal_unicode_out); - register_code(KC_LALT); - tap_win_alt_code(); - unregister_code(KC_LALT); - } -} - -/*Couple functions used to output the same macro on two different sequences*/ - -/* (|) */ -void ldrkey_send_paranthesis_wrap_ini(void) { - SEND_STRING("()" SS_TAP(X_LEFT)); -} - -/* (X) */ -void ldrkey_send_paranthesis_wrap_word(void) { - onMac ? SEND_STRING(SS_LALT(SS_TAP(X_LEFT)) "(" SS_LALT(SS_TAP(X_RIGHT)) ")") : SEND_STRING(SS_LCTL(SS_TAP(X_LEFT)) "(" SS_LCTL(SS_TAP(X_RIGHT)) ")"); -} - -/* (selection) */ -void ldrkey_send_paranthesis_wrap_selection(void) { - onMac ? SEND_STRING(SS_LGUI(SS_TAP(X_X)) "()" SS_TAP(X_LEFT) SS_LGUI(SS_TAP(X_V)) SS_TAP(X_RIGHT)) : SEND_STRING(SS_LCTL(SS_TAP(X_X)) "()" SS_TAP(X_LEFT) SS_LCTL(SS_TAP(X_V)) SS_TAP(X_RIGHT)); -} - -/* [|] */ -void ldrkey_send_bracket_wrap_ini(void) { - SEND_STRING("[]" SS_TAP(X_LEFT)); -} - -/* [X] */ -void ldrkey_send_bracket_wrap_word(void) { - onMac ? SEND_STRING(SS_LALT(SS_TAP(X_LEFT)) "[" SS_LALT(SS_TAP(X_RIGHT)) "]") : SEND_STRING(SS_LCTL(SS_TAP(X_LEFT)) "[" SS_LCTL(SS_TAP(X_RIGHT)) "]"); -} - -/* [selection] */ -void ldrkey_send_bracket_wrap_selection(void) { - onMac ? SEND_STRING(SS_LGUI(SS_TAP(X_X)) "[]" SS_TAP(X_LEFT) SS_LGUI(SS_TAP(X_V)) SS_TAP(X_RIGHT)) : SEND_STRING(SS_LCTL(SS_TAP(X_X)) "[]" SS_TAP(X_LEFT) SS_LCTL(SS_TAP(X_V)) SS_TAP(X_RIGHT)); -} - -/* {|} */ -void ldrkey_send_curlybrace_wrap_ini(void) { - SEND_STRING("{}" SS_TAP(X_LEFT)); -} - -/* {X} */ -void ldrkey_send_curlybrace_wrap_word(void) { - onMac ? SEND_STRING(SS_LALT(SS_TAP(X_LEFT)) "{" SS_LALT(SS_TAP(X_RIGHT)) "}") : SEND_STRING(SS_LCTL(SS_TAP(X_LEFT)) "{" SS_LCTL(SS_TAP(X_RIGHT)) "}"); -} - -/* {selection} */ -void ldrkey_send_curlybrace_wrap_selection(void) { - onMac ? SEND_STRING(SS_LGUI(SS_TAP(X_X)) "{}" SS_TAP(X_LEFT) SS_LGUI(SS_TAP(X_V)) SS_TAP(X_RIGHT)) : SEND_STRING(SS_LCTL(SS_TAP(X_X)) "{}" SS_TAP(X_LEFT) SS_LCTL(SS_TAP(X_V)) SS_TAP(X_RIGHT)); -} - -LEADER_EXTERNS(); - -void matrix_scan_user(void) -{ - LEADER_DICTIONARY() - { - leading = false; - leader_end(); - - /* Sequences on layer _MAIN & _MAC */ - /* éÉ => LdrKey > / */ - SEQ_ONE_KEY(KC_SLSH) { - send_french_accent(_E, _ACUTE); - } - /* àÀ => LdrKey > A */ - SEQ_ONE_KEY(KC_A) { - send_french_accent(_A, _GRAVE); - } - /* èÈ => LdrKey > E */ - SEQ_ONE_KEY(KC_E) { - send_french_accent(_E, _GRAVE); - } - /* ùÙ => LdrKey > U */ - SEQ_ONE_KEY(KC_U) { - send_french_accent(_U, _GRAVE); - } - /* â => LdrKey > A > A */ - SEQ_TWO_KEYS(KC_A, KC_A) { - send_french_accent(_A, _CIRCUMFLEX); - } - /* êÊ => LdrKey > E > E */ - SEQ_TWO_KEYS(KC_E, KC_E) { - send_french_accent(_E, _CIRCUMFLEX); - } - /* îÎ => LdrKey > I > I */ - SEQ_TWO_KEYS(KC_I, KC_I) { - send_french_accent(_I, _CIRCUMFLEX); - } - /* ôÔ => LdrKey > O > O */ - SEQ_TWO_KEYS(KC_O, KC_O) { - send_french_accent(_O, _CIRCUMFLEX); - } - /* ûÛ => LdrKey > U > U */ - SEQ_TWO_KEYS(KC_U, KC_U) { - send_french_accent(_U, _CIRCUMFLEX); - } - /* çÇ => LdrKey > C */ - SEQ_ONE_KEY(KC_C) { - if (onMac) { - SEND_STRING(SS_LALT("c")); - } else { - IS_HOST_LED_ON(USB_LED_CAPS_LOCK) ? SEND_STRING(SS_DOWN(X_LALT) SS_TAP(X_P1) SS_TAP(X_P2) SS_TAP(X_P8) SS_UP(X_LALT)) : SEND_STRING(SS_DOWN(X_LALT) SS_TAP(X_P1) SS_TAP(X_P3) SS_TAP(X_P5) SS_UP(X_LALT)); - } - } - /* CapsLock */ - SEQ_ONE_KEY(KC_LEAD) { - tap_code(KC_CAPS); - } - /* ± => LdrKey > = > - */ - SEQ_TWO_KEYS(KC_EQL, KC_MINS) { - onMac ? SEND_STRING(SS_LALT(SS_LSFT(SS_TAP(X_EQL)))) : SEND_STRING(SS_DOWN(X_LALT) SS_TAP(X_P2) SS_TAP(X_P4) SS_TAP(X_P1) SS_UP(X_LALT)); - } - /* ≤ => LdrKey > - > = */ - SEQ_TWO_KEYS(KC_MINS, KC_EQL) { - onMac ? SEND_STRING(SS_LALT(SS_TAP(X_COMM))) : SEND_STRING(SS_DOWN(X_LALT) SS_TAP(X_P2) SS_TAP(X_P4) SS_TAP(X_P3) SS_UP(X_LALT)); - } - /* ≥ => LdrKey > = > = */ - SEQ_TWO_KEYS(KC_EQL, KC_EQL) { - onMac ? SEND_STRING(SS_LALT(SS_TAP(X_DOT))) : SEND_STRING(SS_DOWN(X_LALT) SS_TAP(X_P2) SS_TAP(X_P4) SS_TAP(X_P2) SS_UP(X_LALT)); - } - /* <= => LdrKey > , > , */ - SEQ_TWO_KEYS(KC_COMM, KC_COMM) { - SEND_STRING(SS_LSFT(SS_TAP(X_COMM)) SS_TAP(X_SPC) SS_TAP(X_EQL) SS_TAP(X_LEFT) SS_TAP(X_BSPC) SS_TAP(X_RIGHT)); - } - /* => => LdrKey > . > . */ - SEQ_TWO_KEYS(KC_DOT, KC_DOT) { - SEND_STRING("=>"); - } - /* ", " => LdrKey > " " */ - SEQ_ONE_KEY(KC_SPC) { - SEND_STRING(", "); - } - /* ". " => LdrKey > " " > " " */ - SEQ_TWO_KEYS(KC_SPC, KC_SPC) { - SEND_STRING(". "); - } - /* Backward delete current word (on cursor) */ - SEQ_TWO_KEYS(KC_BSPC, KC_BSPC) { - onMac ? SEND_STRING(SS_LALT(SS_TAP(X_RIGHT)) SS_LALT(SS_LSFT(SS_TAP(X_LEFT))) SS_TAP(X_BSPC)) : SEND_STRING(SS_LCTL(SS_TAP(X_RIGHT)) SS_LCTL(SS_LSFT(SS_TAP(X_LEFT))) SS_TAP(X_BSPC)); - } - /* Previous word delete */ - SEQ_ONE_KEY(KC_BSPC) { - onMac ? SEND_STRING(SS_LALT(SS_LSFT(SS_TAP(X_LEFT))) SS_TAP(X_BSPC)) : SEND_STRING(SS_LCTL(SS_LSFT(SS_TAP(X_LEFT))) SS_TAP(X_BSPC)); - } - /* Forward delete current word (on cursor) */ - SEQ_TWO_KEYS(KC_DEL, KC_DEL) { - - onMac ? SEND_STRING(SS_LALT(SS_TAP(X_LEFT)) SS_LALT(SS_LSFT(SS_TAP(X_RIGHT))) SS_TAP(X_DEL)) : SEND_STRING(SS_LCTL(SS_TAP(X_LEFT)) SS_LCTL(SS_LSFT(SS_TAP(X_RIGHT))) SS_TAP(X_DEL)); - } - /* Next word delete */ - SEQ_ONE_KEY(KC_DEL) { - onMac ? SEND_STRING(SS_LALT(SS_LSFT(SS_TAP(X_RIGHT))) SS_TAP(X_DEL)): SEND_STRING(SS_LCTL(SS_LSFT(SS_TAP(X_RIGHT))) SS_TAP(X_DEL)); - } - /* ` => LdrKey > Escape */ - SEQ_ONE_KEY(KC_GESC) { - SEND_STRING("`"); - } - /* ``` => LdrKey > Escape > Escape > Escape */ - SEQ_THREE_KEYS(KC_GESC, KC_GESC, KC_GESC) { - SEND_STRING("```"); - } - /* Printscreen => LdrKey > Insert */ - SEQ_ONE_KEY(KC_INS) { - onMac ? SEND_STRING(SS_LGUI(SS_LSFT(SS_TAP(X_4)))) : SEND_STRING(SS_TAP(X_PSCR)); - } - /* Home => LdrKey > Page Up */ - SEQ_ONE_KEY(KC_PGUP) { - onMac ? SEND_STRING(SS_TAP(X_HOME)) : SEND_STRING(SS_LCTL(SS_TAP(X_HOME))); - } - /* End => LdrKey > Page Down */ - SEQ_ONE_KEY(KC_PGDN) { - onMac ? SEND_STRING(SS_TAP(X_END)) : SEND_STRING(SS_LCTL(SS_TAP(X_END))); - } - /* Close Curernt File/Tab => LdrKey > W */ - SEQ_ONE_KEY(KC_W) { - onMac ? SEND_STRING(SS_LGUI(SS_TAP(X_W))) : SEND_STRING(SS_LCTL(SS_TAP(X_W))); - } - /* Close Current App => LdrKey > Q */ - SEQ_ONE_KEY(KC_Q) { - onMac ? SEND_STRING(SS_LGUI(SS_TAP(X_Q))) : SEND_STRING(SS_LALT(SS_TAP(X_F4))); - } - /* " => LdrKey > ' */ - SEQ_ONE_KEY(KC_QUOT) { - SEND_STRING("\""); - } - /* "|" => LdrKey > ' > ' */ - SEQ_TWO_KEYS(KC_QUOT, KC_QUOT) { - SEND_STRING("\"\"" SS_TAP(X_LEFT)); - } - /* "X" wrap => LdrKey > ' > ' > ' */ - SEQ_THREE_KEYS(KC_QUOT, KC_QUOT, KC_QUOT) { - onMac ? SEND_STRING(SS_LALT(SS_TAP(X_LEFT)) "\"" SS_LALT(SS_TAP(X_RIGHT)) "\"") : SEND_STRING(SS_LCTL(SS_TAP(X_LEFT)) "\"" SS_LCTL(SS_TAP(X_RIGHT)) "\""); - } - /* ( => LdrKey > Left Shift */ - SEQ_ONE_KEY(KC_LSFT) { - SEND_STRING("("); - } - /* ) => LdrKey > Right Shift */ - SEQ_ONE_KEY(KC_RSFT) { - SEND_STRING(")"); - } - /* (|) => LdrKey > Left Shift > Left Shift */ - SEQ_TWO_KEYS(KC_LSFT, KC_LSFT) { - ldrkey_send_paranthesis_wrap_ini(); - } - /* (|) => LdrKey > Right Shift > Right Shift */ - SEQ_TWO_KEYS(KC_RSFT, KC_RSFT) { - ldrkey_send_paranthesis_wrap_ini(); - } - /* (X) wrap => LdrKey > Left Shift > W */ - SEQ_TWO_KEYS(KC_LSFT, KC_W) { - ldrkey_send_paranthesis_wrap_word(); - } - /* (X) wrap => LdrKey > Right Shift > W */ - SEQ_TWO_KEYS(KC_RSFT, KC_W) { - ldrkey_send_paranthesis_wrap_word(); - } - /* (X) wrap selection => LdrKey > Left Shift > W > W */ - SEQ_THREE_KEYS(KC_LSFT, KC_W, KC_W) { - ldrkey_send_paranthesis_wrap_selection(); - } - /* (X) wrap selection => LdrKey > Right Shift > W > W */ - SEQ_THREE_KEYS(KC_RSFT, KC_W, KC_W) { - ldrkey_send_paranthesis_wrap_selection(); - } - /* [ => LdrKey > Left CTL */ - SEQ_ONE_KEY(KC_LCTL) { - SEND_STRING("["); - } - /* ] => LdrKey > Right CTL */ - SEQ_ONE_KEY(KC_RCTL) { - SEND_STRING("]"); - } - /* [|] => LdrKey > Left CTL > Left CTL */ - SEQ_TWO_KEYS(KC_LCTL, KC_LCTL) { - ldrkey_send_bracket_wrap_ini(); - } - /* [|] => LdrKey > Right CTL > Right CTL */ - SEQ_TWO_KEYS(KC_RCTL, KC_RCTL) { - ldrkey_send_bracket_wrap_ini(); - } - /* [X] wrap => LdrKey > Left CTL > W */ - SEQ_TWO_KEYS(KC_LCTL, KC_W) { - ldrkey_send_bracket_wrap_word(); - } - /* [X] wrap => LdrKey > Right CTL > W */ - SEQ_TWO_KEYS(KC_RCTL, KC_W) { - ldrkey_send_bracket_wrap_word(); - } - /* [X] wrap selection => LdrKey > Left CTL > W > W */ - SEQ_THREE_KEYS(KC_LCTL, KC_W, KC_W) { - ldrkey_send_bracket_wrap_selection(); - } - /* [X] wrap selection => LdrKey > Right CTL > W > W */ - SEQ_THREE_KEYS(KC_RCTL, KC_W, KC_W) { - ldrkey_send_bracket_wrap_selection(); - } - /* { => LdrKey > Left ALT */ - SEQ_ONE_KEY(KC_LALT) { - SEND_STRING("{"); - } - /* } => LdrKey > Right ALT */ - SEQ_ONE_KEY(KC_RALT) { - SEND_STRING("}"); - } - /* {|} => LdrKey > Left ALT > Left ALT */ - SEQ_TWO_KEYS(KC_LALT, KC_LALT) { - ldrkey_send_curlybrace_wrap_ini(); - } - /* {|} => LdrKey > Right ALT > Right ALT */ - SEQ_TWO_KEYS(KC_RALT, KC_RALT) { - ldrkey_send_curlybrace_wrap_ini(); - } - /* {X} wrap => LdrKey > Left ALT > W */ - SEQ_TWO_KEYS(KC_LALT, KC_W) { - ldrkey_send_curlybrace_wrap_word(); - } - /* {X} wrap => LdrKey > Right ALT > W */ - SEQ_TWO_KEYS(KC_RALT, KC_W) { - ldrkey_send_curlybrace_wrap_word(); - } - /* {X} wrap selection => LdrKey > Left ALT > W > W */ - SEQ_THREE_KEYS(KC_LALT, KC_W, KC_W) { - ldrkey_send_curlybrace_wrap_selection(); - } - /* {X} wrap selection => LdrKey > Right ALT > W > W */ - SEQ_THREE_KEYS(KC_RALT, KC_W, KC_W) { - ldrkey_send_curlybrace_wrap_selection(); - } - /* Select everything on this line before cursor => LdrKey > Left */ - SEQ_ONE_KEY(KC_LEFT) { - onMac ? SEND_STRING(SS_LSFT(SS_LGUI(SS_TAP(X_LEFT)))) : SEND_STRING(SS_LSFT(SS_TAP(X_HOME))); - } - /* Select everything on this line after cursor => LdrKey > Right */ - SEQ_ONE_KEY(KC_RIGHT) { - onMac ? SEND_STRING(SS_LSFT(SS_LGUI(SS_TAP(X_RIGHT)))) : SEND_STRING(SS_LSFT(SS_TAP(X_END))); - } - /* Select everything on this line before cursor and bring on previous line => LdrKey > Left > Left */ - SEQ_TWO_KEYS(KC_LEFT, KC_LEFT) { - onMac ? SEND_STRING(SS_LSFT(SS_TAP(X_UP) SS_LGUI(SS_TAP(X_RIGHT)))) : SEND_STRING(SS_LSFT(SS_TAP(X_UP) SS_TAP(X_END))); - } - /* Select everything on this line => LdrKey > Right > Left */ - SEQ_TWO_KEYS(KC_RIGHT, KC_LEFT) { - onMac ? SEND_STRING(SS_LGUI(SS_TAP(X_RIGHT) SS_LSFT(SS_LGUI(SS_TAP(X_LEFT))))) : SEND_STRING(SS_TAP(X_END) SS_LSFT(SS_TAP(X_HOME))); - } - /* Select 1x Page Up on the page before the cursor => LdrKey > Up */ - SEQ_ONE_KEY(KC_UP) { - SEND_STRING(SS_LSFT(SS_TAP(X_PGUP))); - } - /* Select 1x Page Down on the page after the cursor => LdrKey > Down */ - SEQ_ONE_KEY(KC_DOWN) { - SEND_STRING(SS_LSFT(SS_TAP(X_PGDN))); - } - /* Select everything on the page before the cursor => LdrKey > Up > Up */ - SEQ_TWO_KEYS(KC_UP, KC_UP) { - onMac ? SEND_STRING(SS_LSFT(SS_LGUI(SS_TAP(X_UP)))) : SEND_STRING(SS_LSFT(SS_LCTL(SS_TAP(X_HOME)))); - } - /* Select everything on the page after the cursor => LdrKey > Down > Down */ - SEQ_TWO_KEYS(KC_DOWN, KC_DOWN) { - onMac ? SEND_STRING(SS_LSFT(SS_LGUI(SS_TAP(X_DOWN)))) : SEND_STRING(SS_LSFT(SS_LCTL(SS_TAP(X_END)))); - } - /* HELPER => spit out the url of the layout description page on github */ - SEQ_FIVE_KEYS(KC_GESC, KC_GESC, KC_GESC, KC_GESC, KC_GESC) { - SEND_STRING("https://github.com/qmk/qmk_firmware/tree/master/keyboards/dztech/dz65rgb/keymaps/drootz"); - } - /* google.ca => LdrKey > G > G */ - SEQ_TWO_KEYS(KC_G, KC_G) { - SEND_STRING("https://google.ca" SS_TAP(X_ENT)); - } - /* @gmail => LdrKey > M > L > T */ - SEQ_THREE_KEYS(KC_M, KC_L, KC_T) { - SEND_STRING("mailto." SS_TAP(X_D) SS_TAP(X_A) SS_TAP(X_N) SS_TAP(X_I) SS_TAP(X_E) SS_TAP(X_L) SS_TAP(X_R) SS_TAP(X_A) SS_TAP(X_C) SS_TAP(X_I) SS_TAP(X_N) SS_TAP(X_E) "@gmail.com"); - } - /* Show Desktop => LdrKey > D */ - SEQ_ONE_KEY(KC_D) { - onMac ? SEND_STRING(SS_LGUI(SS_TAP(X_SPC)) "Mission" SS_TAP(X_ENT)) : SEND_STRING(SS_LGUI(SS_TAP(X_D))); - } - } -} - -void leader_start(void) { - isLeader = true; -} - -void leader_end(void) { - isLeader = false; -} - -#endif /* LEADER */ - -/**************** DYNAMIC MACRO *********************/ - -void dynamic_macro_record_start_user(void) { - onMac = false; /* reset layer bool as dynamic macro clear the keyboard and reset layers. */ - if (!isBlinking && !isRecording) { - reset_blink_cycle(); - isBlinking = true; - isRecording = true; - } -} - -void dynamic_macro_record_end_user(int8_t direction) { - if (isBlinking && isRecording) { - reset_blink_status(); - reset_blink_cycle(); - } -} - -void dynamic_macro_play_user(int8_t direction) { - switch (direction) { - case 1: - if (!isBlinking && !isPlaying) { - reset_blink_cycle(); - isBlinking = true; - isPlaying = true; - macro_one_play_timer = timer_read(); - } - break; - case -1: - if (!isBlinking && !isPlaying) { - reset_blink_cycle(); - isBlinking = true; - isPlaying = true; - macro_two_play_timer = timer_read(); - } - break; - } -} diff --git a/keyboards/dztech/dz65rgb/keymaps/drootz/readme.md b/keyboards/dztech/dz65rgb/keymaps/drootz/readme.md deleted file mode 100644 index 15f15d752b..0000000000 --- a/keyboards/dztech/dz65rgb/keymaps/drootz/readme.md +++ /dev/null @@ -1,210 +0,0 @@ -![DZ65RGBv2 Layout Image - MAIN](https://res.cloudinary.com/drootz/image/upload/c_scale,w_800/v1582000645/drootz_dz65rgb_layer_0_main_n61oxl.jpg) - -# Drootz's DZ65RGBv2 ANSI Layout - -This layout fit best people who mainly type in English but regularly need to type in French _(using an English keyboard in OS setting)_. There are also some cool LED indicator effects and tons of Leader Key bindings/macros designed to work on both Mac and Windows OS. I tried to keep things as simple as possible from a usability perspective. Enjoy! - -- [LAYERS](#LAYERS) -- [LEADER KEY BINDINGS:](#LEADER-KEY-BINDINGS) - - [OS and Keyboard Macros](#OS-and-Keyboard-Macros) - - [French Accents](#French-Accents) - - [Special Characters and Punctuation](#Special-Characters-and-Punctuation) - - [Text Selection Macros](#Text-Selection-Macros) - - [Expanded Space Cadet Macros](#Expanded-Space-Cadet-Macros) - - [Text Expanders](#Text-Expanders) -- [STEP BY STEP FLASH INSTRUCTIONS](#STEP-BY-STEP-FLASH-INSTRUCTIONS) - -## HIGH LEVEL DESCRIPTION - -#### Dual function Capslock key -- Single tap to trigger the Leader Key -- Double tap to toggle Capslock ON/OFF - -#### 70+ useful Leader Key bindings and macros -- "Designed" to work on both Mac and Windows OS with an English keyboard OS setting -- Per key timing set at 425ms. Never a key sequence! -- 20+ Punctuation, ASCII, System shortcuts and macros -- 15+ French accents (è, é, ê, È, É, Ê, à, etc.) - - No need to switch to a French keyboard OS setting! - - Preserve Capslock if enabled -- 8 Text "selection" shortcuts -- 20+ Expanded "Space Cadet" feature with Shift, Ctrl, Alt and DoubleQuote for (), [], {} and "" -- Few useful strings output for my workflow (You may want to change or remove them...) - -#### Dynamic Macros enabled -- Record/Play up to 2 Macros -- Nesting allowed - -#### Kept only 4 RGB matrix animations due to size of firmware -- Typing Heatmap => How hot is your WPM! (preferred animation because of LED indicators) -- Matrix Splash => Full gradient & value pulse away from a single key hit then fades value out -- Solid Splash => Hue & value pulse away from a single key hit then fades value out -- Solid Color => Static single hue, no speed support - -#### LED indicators and animations -- White led when Capslock toggle ON -- The brightness of all the other indicator can be adjusted globally with the RGB matrix brightness setting on layer \_FN -- White LED indicator for layer selection and current layer identification -- Red and green blinking indicator when "recording" or "playing" Dynamic Macros -- Leader Key LED indicator: - - Persistent 50% dimmed under-glow on top right corner key - - Light up at 100% for the duration of the Leader Key timeout when activated - - Hue, saturation and brightness can be globally adjusted with the RGB matrix settings on layer \_FN - -#### 3 Layers -- \_MAIN: Default layer for Windows OS -- \_MAC: Transparent layer that switch left hand modifier KC_LALT and KC_LGUI keys for MacOS -- \_FN: Functions & settings layer: - - Macro 1 & 2 keycodes (Record, Stop, Play) with LED indicators - - F Keys (F1...F12) on number row - - RGB matrix & animation settings - - Screen brightness & volume system controls - - Layer selection - -## LAYERS - -- Colored keys on the layout visuals below represent the position of the LED indicators on each layer. -- Press down and hold the MO( |