mirror of
https://github.com/qmk/qmk_firmware.git
synced 2024-11-25 12:46:41 +00:00
[Keyboard][Keymap] Fix random keys being sent on Mac + userspace changes (#15648)
* qmk art 2020+ * fix compilation * remove functions. translation matrix * fix edgecases * whitespace * fix memory oddity changing the keymap with every string print * return edge cases * support workman layout for git strings * subm * secrets * fix git ignore * rename var * workman HW feature toggle * remember lenght for inserting secrets * blink leds on secret finish * 75:fix LEDs not reflecting state on boot * move common led functions to user file * move common led funcs to separate file * move funcs file to separate folder * capsword * move string functions to a separate file * consolidate led funcs * tidy up variables * email * fix printing random keys on Mac + temp disable dynamic macro * make switch lang shortcut configurable * revert ergodone behaviour * move git ignore to userspace folder * ergodone clean up + saving space * navigation combos * shift caps always turns on caps lock. more combos * convert led funcs into header file * convert string funcs into header file * fix compilation for split75 * remove git cherry pick * update legal headers * more legal headers * home row macros * refactor combo names * redo combos for homerow + f10 11 12 * custom strings implementation (like secrets) * ergodone: more consistent f keys * tweak left right combos to minimise typing interference * ctr z shortcut * ergodone: move del to a more convenient key * rename secrets file to a shorter length * ergodone tweaks * fix after merge * removed included .c files * Update keyboards/ktec/ergodone/keymaps/art/user_config.c.example * Update keyboards/mt/split75/keymaps/art/user_config.c.example * Update users/art/secr.h.example * Update users/art/custom_definitions.h.example * Update users/art/art_user_config.h.example * Update users/art/art.h
This commit is contained in:
parent
7aab5e4d89
commit
cd4a265560
1
keyboards/ktec/ergodone/keymaps/art/.gitignore
vendored
Normal file
1
keyboards/ktec/ergodone/keymaps/art/.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
*user_config.c
|
@ -1,68 +1,51 @@
|
|||||||
|
// Copyright 2022 Artjoms Rizihs (@artjomsR)
|
||||||
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
#include "art.h"
|
#include "art.h"
|
||||||
#include "sendstring_workman_zxcvm.h"
|
#include "sendstring_workman_zxcvm.h"
|
||||||
|
|
||||||
bool is_win = true;
|
|
||||||
|
|
||||||
enum custom_keycodes {
|
enum custom_keycodes {
|
||||||
keyboardSpecificKeyCode = NEW_SAFE_RANGE //not used
|
keyboardSpecificKeyCode = NEW_SAFE_RANGE //not used
|
||||||
};
|
};
|
||||||
|
|
||||||
void led_show_current_os(void) {
|
void num_led_on(void) {
|
||||||
if (is_win) {
|
ergodox_right_led_1_on();
|
||||||
ergodox_right_led_1_on();
|
|
||||||
wait_ms(50);
|
|
||||||
ergodox_right_led_1_off();
|
|
||||||
wait_ms(50);
|
|
||||||
ergodox_right_led_1_on();
|
|
||||||
wait_ms(50);
|
|
||||||
ergodox_right_led_1_off();
|
|
||||||
wait_ms(50);
|
|
||||||
ergodox_right_led_1_on();
|
|
||||||
wait_ms(50);
|
|
||||||
ergodox_right_led_1_off();
|
|
||||||
wait_ms(50);
|
|
||||||
} else {
|
|
||||||
ergodox_right_led_3_on();
|
|
||||||
wait_ms(50);
|
|
||||||
ergodox_right_led_3_off();
|
|
||||||
wait_ms(50);
|
|
||||||
ergodox_right_led_3_on();
|
|
||||||
wait_ms(50);
|
|
||||||
ergodox_right_led_3_off();
|
|
||||||
wait_ms(50);
|
|
||||||
ergodox_right_led_3_on();
|
|
||||||
wait_ms(50);
|
|
||||||
ergodox_right_led_3_off();
|
|
||||||
wait_ms(50);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void matrix_init_user(void) {
|
void num_led_off(void) {
|
||||||
led_show_current_os();
|
ergodox_right_led_1_off();
|
||||||
}
|
}
|
||||||
|
|
||||||
void led_set_user(uint8_t usb_led) {
|
void caps_led_on(void) {
|
||||||
if (usb_led & (1<<USB_LED_CAPS_LOCK)) {
|
ergodox_right_led_2_on();
|
||||||
ergodox_right_led_2_on();
|
|
||||||
} else {
|
|
||||||
ergodox_right_led_2_off();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void caps_led_off(void) {
|
||||||
|
ergodox_right_led_2_off();
|
||||||
|
}
|
||||||
|
|
||||||
|
void scroll_led_on(void) {
|
||||||
|
ergodox_right_led_3_on();
|
||||||
|
}
|
||||||
|
|
||||||
|
void scroll_led_off(void) {
|
||||||
|
ergodox_right_led_3_off();
|
||||||
|
}
|
||||||
|
|
||||||
layer_state_t layer_state_set_user(layer_state_t state) {
|
layer_state_t layer_state_set_user(layer_state_t state) {
|
||||||
ergodox_board_led_off();
|
num_led_off();
|
||||||
ergodox_right_led_1_off();
|
scroll_led_off();
|
||||||
ergodox_right_led_3_off();
|
|
||||||
switch (get_highest_layer(state)) {
|
switch (get_highest_layer(state)) {
|
||||||
|
case MEDIA:
|
||||||
|
case WORKMAN:
|
||||||
|
scroll_led_on();
|
||||||
case NAV:
|
case NAV:
|
||||||
case CTRL_NAV:
|
case CTRL_NAV:
|
||||||
case SHIFT_NAV:
|
case SHIFT_NAV:
|
||||||
ergodox_right_led_1_on();
|
num_led_on();
|
||||||
break;
|
break;
|
||||||
case FKEYS:
|
case FKEYS:
|
||||||
ergodox_right_led_3_on();
|
scroll_led_on();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
return state;
|
return state;
|
||||||
@ -74,13 +57,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
* ,--------------------------------------------------. ,--------------------------------------------------.
|
* ,--------------------------------------------------. ,--------------------------------------------------.
|
||||||
* | ` ~ | 1 | 2 | 3 | 4 | 5 | ESC | | - _ | 6 | 7 | 8 | 9 | 0 | ] |
|
* | ` ~ | 1 | 2 | 3 | 4 | 5 | ESC | | - _ | 6 | 7 | 8 | 9 | 0 | ] |
|
||||||
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
|
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
|
||||||
* | Tab | Q | W | E | R | T | ??? | | = | Y | U | I | O | P | [ |
|
* | Tab | Q | W | E | R | T | \ | | = | Y | U | I | O | P | [ |
|
||||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||||
* | Caps | A | S | D | F | G |------| |------| H | J | K | L | ; | ' |
|
* | Caps | A | S | D | F | G |------| |------| H | J | K | L | ; | ' |
|
||||||
* |--------+------+------+------+------+------| FKEYS| | FKEYS|------+------+------+------+------+--------|
|
* |--------+------+------+------+------+------| FKEYS| | FKEYS|------+------+------+------+------+--------|
|
||||||
* | LShift | Z | X | C | V | B | | | | N | M | , | . | / git| RShift |
|
* | LShift | Z | X | C | V | B | | | | N | M | , | . | / git| RShift |
|
||||||
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||||
* |LCtrl |Media\| Win |Alt | NAV | | Home | End |Workmn| | RCtrl|
|
* | <- | -> | Win |Alt | ctrl | | Home | End |Workmn| | RCtrl|
|
||||||
* `----------------------------------' `----------------------------------'
|
* `----------------------------------' `----------------------------------'
|
||||||
* ,-------------. ,---------------.
|
* ,-------------. ,---------------.
|
||||||
* | Del | Ins | | Left | Right |
|
* | Del | Ins | | Left | Right |
|
||||||
@ -93,27 +76,27 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
[QWERTY] = LAYOUT_ergodox(
|
[QWERTY] = LAYOUT_ergodox(
|
||||||
// -----------------------------------------------------left hand-----------------------------------------------------
|
// -----------------------------------------------------left hand-----------------------------------------------------
|
||||||
KC_GRAVE, KC_1, KC_2, KC_3, KC_4, KC_5, KC_ESCAPE,
|
KC_GRAVE, KC_1, KC_2, KC_3, KC_4, KC_5, KC_ESCAPE,
|
||||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, XXXXXXX,
|
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_BSLASH,
|
||||||
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G,
|
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G,
|
||||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, TT(FKEYS),
|
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, TT(FKEYS),
|
||||||
KC_LCTRL, LT(MEDIA, KC_BSLASH), KC_LWIN, KC_LALT, LT(NAV, KC_RIGHT),
|
KC_LEFT, KC_RIGHT, KC_LWIN, KC_LALT, KC_LCTRL,
|
||||||
|
|
||||||
KC_DEL, KC_INS,
|
KC_INS, KC_PGUP,
|
||||||
KC_PGUP,
|
LT(MEDIA,KC_PGDOWN),
|
||||||
KC_SPC, LT(COMBOS,KC_BSPC), KC_PGDOWN,
|
LT(NAV,KC_SPC), KC_BSPC, LT(COMBOS,KC_DEL),
|
||||||
|
|
||||||
// -----------------------------------------------------right hand-----------------------------------------------------
|
// -----------------------------------------------------right hand-----------------------------------------------------
|
||||||
KC_MINS, KC_6, KC_7, KC_8, KC_9, KC_0, KC_RBRC,
|
KC_MINS, KC_6, KC_7, KC_8, KC_9, KC_0, KC_RBRC,
|
||||||
KC_EQL, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC,
|
KC_EQL, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC,
|
||||||
KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
|
KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
|
||||||
TT(FKEYS), KC_N, KC_M, KC_COMM, KC_DOT, LT(GIT,KC_SLSH), KC_RSFT,
|
TT(FKEYS), KC_N, KC_M, KC_COMM, KC_DOT, LT(GIT,KC_SLSH), KC_RSFT,
|
||||||
KC_HOME, KC_END, DF(WORKMAN), KC_RALT, KC_RCTRL,
|
KC_HOME, KC_END, TO(WORKMAN), KC_RALT, KC_RCTRL,
|
||||||
|
|
||||||
KC_LEFT, KC_RIGHT,
|
KC_LEFT, KC_RIGHT,
|
||||||
LT(SHIFT_NAV, KC_UP),
|
LT(SHIFT_NAV, KC_UP),
|
||||||
LT(CTRL_NAV, KC_DOWN), MO(NAV), KC_ENT
|
LT(CTRL_NAV, KC_DOWN), TT(NAV), KC_ENT
|
||||||
),
|
),
|
||||||
/* Workman
|
/* Workman
|
||||||
*
|
*
|
||||||
* ,--------------------------------------------------. ,--------------------------------------------------.
|
* ,--------------------------------------------------. ,--------------------------------------------------.
|
||||||
* | | | | | | | | | | | | | | | |
|
* | | | | | | | | | | | | | | | |
|
||||||
@ -134,7 +117,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
* | | | | | | | |
|
* | | | | | | | |
|
||||||
* `--------------------' `----------------------'
|
* `--------------------' `----------------------'
|
||||||
*/
|
*/
|
||||||
[WORKMAN] = LAYOUT_ergodox(
|
[WORKMAN] = LAYOUT_ergodox(
|
||||||
// -----------------------------------------------------left hand-----------------------------------------------------
|
// -----------------------------------------------------left hand-----------------------------------------------------
|
||||||
_______, _______, _______, _______, _______, _______, _______,
|
_______, _______, _______, _______, _______, _______, _______,
|
||||||
_______, KC_Q, KC_D, KC_R, KC_W, KC_B, _______,
|
_______, KC_Q, KC_D, KC_R, KC_W, KC_B, _______,
|
||||||
@ -150,8 +133,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
_______, _______, _______, _______, _______, _______, _______,
|
_______, _______, _______, _______, _______, _______, _______,
|
||||||
_______, KC_J, KC_F, KC_U, KC_P, KC_SCLN, _______,
|
_______, KC_J, KC_F, KC_U, KC_P, KC_SCLN, _______,
|
||||||
KC_Y, KC_N, KC_E, KC_O, KC_I, _______,
|
KC_Y, KC_N, KC_E, KC_O, KC_I, _______,
|
||||||
_______, KC_K, KC_L, KC_COMM, KC_DOT, KC_SLSH, _______,
|
_______, KC_K, KC_L, _______, _______, _______, _______,
|
||||||
_______, _______, DF(QWERTY), _______, _______,
|
_______, _______, TO(QWERTY), _______, _______,
|
||||||
|
|
||||||
_______, _______,
|
_______, _______,
|
||||||
_______,
|
_______,
|
||||||
@ -160,8 +143,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
|
|
||||||
[FKEYS] = LAYOUT_ergodox(
|
[FKEYS] = LAYOUT_ergodox(
|
||||||
// -----------------------------------------------------left hand-----------------------------------------------------
|
// -----------------------------------------------------left hand-----------------------------------------------------
|
||||||
_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______,
|
_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______,
|
||||||
_______, _______, _______, _______, _______, _______, _______,
|
_______, _______, _______, _______, _______, _______, KC_LALT,
|
||||||
_______, _______, _______, _______, _______, _______,
|
_______, _______, _______, _______, _______, _______,
|
||||||
_______, _______, _______, _______, _______, _______, _______,
|
_______, _______, _______, _______, _______, _______, _______,
|
||||||
_______, _______, _______, _______, _______,
|
_______, _______, _______, _______, _______,
|
||||||
@ -170,11 +153,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
_______,
|
_______,
|
||||||
_______, _______, _______,
|
_______, _______, _______,
|
||||||
// -----------------------------------------------------right hand-----------------------------------------------------
|
// -----------------------------------------------------right hand-----------------------------------------------------
|
||||||
_______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
|
_______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______,
|
||||||
_______, _______, _______, _______, _______, _______, KC_F12,
|
KC_LALT, _______, _______, _______, _______, _______, _______,
|
||||||
_______, _______, _______, _______, _______, KC_PSCREEN,
|
_______, _______, _______, _______, _______, _______,
|
||||||
_______, _______, _______, _______, _______, _______, _______,
|
_______, _______, _______, _______, _______, _______, KC_F11,
|
||||||
_______, _______, _______, _______, _______,
|
_______, _______, _______, KC_PSCREEN, KC_F12,
|
||||||
|
|
||||||
_______, _______,
|
_______, _______,
|
||||||
_______,
|
_______,
|
||||||
@ -183,20 +166,20 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
|
|
||||||
[NAV] = LAYOUT_ergodox(
|
[NAV] = LAYOUT_ergodox(
|
||||||
// -----------------------------------------------------left hand-----------------------------------------------------
|
// -----------------------------------------------------left hand-----------------------------------------------------
|
||||||
_______, LALT(KC_F1), LALT(KC_F2), LALT(KC_F3), LALT(KC_F4), LALT(KC_F5), _______,
|
_______, _______, _______, _______, _______, _______, _______,
|
||||||
_______, _______, KC_HOME, KC_UP, KC_END, KC_PGUP, _______,
|
_______, KC_ESC, KC_HOME, KC_UP, KC_END, KC_PGUP, _______,
|
||||||
_______, _______, KC_LEFT, KC_DOWN, KC_RIGHT, KC_PGDOWN,
|
_______, XXXXXXX, KC_LEFT, KC_DOWN, KC_RIGHT, KC_PGDOWN,
|
||||||
_______, _______, _______, _______, KC_LALT, _______, _______,
|
_______, LCTL(KC_Z), LCTL(KC_X), LCTL(KC_C), LCTL(KC_V), XXXXXXX, _______,
|
||||||
_______, _______, _______, _______, _______,
|
_______, _______, _______, _______, _______,
|
||||||
|
|
||||||
_______, _______,
|
_______, _______,
|
||||||
_______,
|
_______,
|
||||||
_______, KC_DEL, _______,
|
KC_DEL, _______, _______,
|
||||||
// -----------------------------------------------------right hand-----------------------------------------------------
|
// -----------------------------------------------------right hand-----------------------------------------------------
|
||||||
_______, LALT(KC_F6), LALT(KC_F7), LALT(KC_F8), LALT(KC_F9), LALT(KC_F10), LALT(KC_F11),
|
|
||||||
_______, _______, _______, _______, _______, _______, LALT(KC_F12),
|
|
||||||
_______, CTR_ALT, KC_RSFT, _______, _______, _______,
|
|
||||||
_______, _______, _______, _______, _______, _______, _______,
|
_______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, XXXXXXX, KC_MS_BTN1, KC_MS_BTN3, KC_MS_BTN2, _______, _______,
|
||||||
|
KC_APP, CTR_ALT, KC_RSFT, CTR_ALT_SHIFT, _______, _______,
|
||||||
|
_______, XXXXXXX, XXXXXXX, _______, _______, _______, _______,
|
||||||
_______, _______, _______, _______, _______,
|
_______, _______, _______, _______, _______,
|
||||||
|
|
||||||
_______, _______,
|
_______, _______,
|
||||||
@ -209,7 +192,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
_______, _______, _______, _______, _______, _______, _______,
|
_______, _______, _______, _______, _______, _______, _______,
|
||||||
_______, _______, CTL_ALT(KC_HOME), CTL_ALT(KC_UP), CTL_ALT(KC_END), CTL_ALT(KC_PGUP), _______,
|
_______, _______, CTL_ALT(KC_HOME), CTL_ALT(KC_UP), CTL_ALT(KC_END), CTL_ALT(KC_PGUP), _______,
|
||||||
_______, _______, CTL_ALT(KC_LEFT), CTL_ALT(KC_DOWN), CTL_ALT(KC_RIGHT),CTL_ALT(KC_PGDOWN),
|
_______, _______, CTL_ALT(KC_LEFT), CTL_ALT(KC_DOWN), CTL_ALT(KC_RIGHT),CTL_ALT(KC_PGDOWN),
|
||||||
_______, _______, CTL_ALT(KC_X), CTL_ALT(KC_C), CTL_ALT(KC_V), _______, _______,
|
_______, _______, LCTL(KC_X), LCTL(KC_C), LCTL(KC_V), _______, _______,
|
||||||
_______, _______, _______, _______, _______,
|
_______, _______, _______, _______, _______,
|
||||||
|
|
||||||
CTL_ALT(KC_DEL), _______,
|
CTL_ALT(KC_DEL), _______,
|
||||||
@ -232,7 +215,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
_______, _______, _______, _______, _______, _______, _______,
|
_______, _______, _______, _______, _______, _______, _______,
|
||||||
_______, _______, LSFT(KC_HOME), LSFT(KC_UP), LSFT(KC_END), LSFT(KC_PGUP), _______,
|
_______, _______, LSFT(KC_HOME), LSFT(KC_UP), LSFT(KC_END), LSFT(KC_PGUP), _______,
|
||||||
_______, _______, LSFT(KC_LEFT), LSFT(KC_DOWN), LSFT(KC_RIGHT), LSFT(KC_PGDOWN),
|
_______, _______, LSFT(KC_LEFT), LSFT(KC_DOWN), LSFT(KC_RIGHT), LSFT(KC_PGDOWN),
|
||||||
_______, _______, _______, _______, _______, _______, _______,
|
_______, _______, LCTL(KC_X), LCTL(KC_C), LCTL(KC_V), _______, _______,
|
||||||
_______, _______, _______, _______, _______,
|
_______, _______, _______, _______, _______,
|
||||||
|
|
||||||
_______, _______,
|
_______, _______,
|
||||||
@ -252,12 +235,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
CTR_ALT, _______, _______
|
CTR_ALT, _______, _______
|
||||||
),
|
),
|
||||||
|
|
||||||
[COMBOS] = LAYOUT_ergodox(
|
[COMBOS] = LAYOUT_ergodox(
|
||||||
// -----------------------------------------------------left hand-----------------------------------------------------
|
// -----------------------------------------------------left hand-----------------------------------------------------
|
||||||
TILD_BLOCK, PRESCRIPTION, _______, _______, FOURS, _______, _______,
|
TILD_BLOCK, _______, QUOTES_RU, K_CUST1, K_CUST2, K_CUST3, _______,
|
||||||
_______, _______, _______, _______, _______, _______, _______,
|
_______, _______, _______, NEUTRAL_COPY, _______, BEAT_BROWSER, _______,
|
||||||
_______, ADMINS, SARCASM, _______, CTRL_CTV, _______,
|
_______, ADMINS, SARCASM, ALL_BEST, CTRL_CTV, _______,
|
||||||
_______, _______, _______, _______, _______, _______, _______,
|
_______, _______, _______, CTRL_CAV, _______, LMB_SPAM, _______,
|
||||||
_______, _______, _______, _______, _______,
|
_______, _______, _______, _______, _______,
|
||||||
|
|
||||||
_______, _______,
|
_______, _______,
|
||||||
@ -265,9 +248,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
_______, _______, _______,
|
_______, _______, _______,
|
||||||
|
|
||||||
// -----------------------------------------------------right hand-----------------------------------------------------
|
// -----------------------------------------------------right hand-----------------------------------------------------
|
||||||
_______, _______, _______, _______, _______, _______, _______,
|
DASHES, _______, _______, STARS, PARENTHS, _______, TOG_OS,
|
||||||
_______, _______, _______, _______, _______, _______, _______,
|
_______, K_SECR1, K_SECR2, K_SECR3, K_SECR4, _______, BRACES,
|
||||||
_______, _______, _______, _______, _______, _______,
|
AT_EMAIL, _______, _______, _______, _______, QUOTES,
|
||||||
_______, _______, CTRL_LCTV, _______, _______, _______, _______,
|
_______, _______, CTRL_LCTV, _______, _______, _______, _______,
|
||||||
_______, _______, _______, _______, _______,
|
_______, _______, _______, _______, _______,
|
||||||
|
|
||||||
@ -276,7 +259,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
_______, _______, _______
|
_______, _______, _______
|
||||||
),
|
),
|
||||||
|
|
||||||
// [STRINGS] = LAYOUT_ergodox(
|
// [STRINGS] = LAYOUT_ergodox(
|
||||||
// // -----------------------------------------------------left hand-----------------------------------------------------
|
// // -----------------------------------------------------left hand-----------------------------------------------------
|
||||||
// _______, _______, _______, _______, _______, _______, _______,
|
// _______, _______, _______, _______, _______, _______, _______,
|
||||||
// _______, _______, _______, _______, _______, _______, _______,
|
// _______, _______, _______, _______, _______, _______, _______,
|
||||||
@ -300,12 +283,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
// _______, _______, _______
|
// _______, _______, _______
|
||||||
// ),
|
// ),
|
||||||
|
|
||||||
[MEDIA] = LAYOUT_ergodox(
|
[MEDIA] = LAYOUT_ergodox(
|
||||||
// -----------------------------------------------------left hand-----------------------------------------------------
|
// -----------------------------------------------------left hand-----------------------------------------------------
|
||||||
_______, _______, _______, _______, _______, _______, _______,
|
_______, _______, _______, _______, _______, _______, _______,
|
||||||
_______, _______, KC_MPRV, KC_VOLU, KC_MNXT, _______, _______,
|
XXXXXXX, KC_MPRV, KC_VOLU, KC_MNXT, _______, _______, _______,
|
||||||
_______, _______, _______, KC_VOLD, _______, _______,
|
_______, _______, KC_VOLD, _______, _______, _______,
|
||||||
_______, _______, _______, KC_MUTE, KC_MPLY, _______, _______,
|
_______, _______, KC_MUTE, KC_MPLY, _______, _______, _______,
|
||||||
_______, _______, _______, _______, _______,
|
_______, _______, _______, _______, _______,
|
||||||
|
|
||||||
_______, _______,
|
_______, _______,
|
||||||
@ -315,32 +298,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
// -----------------------------------------------------right hand-----------------------------------------------------
|
// -----------------------------------------------------right hand-----------------------------------------------------
|
||||||
_______, _______, _______, _______, _______, _______, _______,
|
_______, _______, _______, _______, _______, _______, _______,
|
||||||
_______, _______, _______, _______, _______, _______, _______,
|
_______, _______, _______, _______, _______, _______, _______,
|
||||||
_______, _______, _______, TOG_OS, _______, _______,
|
|
||||||
_______, _______, _______, _______, _______, _______, _______,
|
|
||||||
_______, _______, _______, _______, _______,
|
|
||||||
|
|
||||||
_______, _______,
|
|
||||||
_______,
|
|
||||||
_______, _______, _______
|
|
||||||
),
|
|
||||||
|
|
||||||
[GIT] = LAYOUT_ergodox(
|
|
||||||
// -----------------------------------------------------left hand-----------------------------------------------------
|
|
||||||
_______, _______, _______, _______, _______, _______, _______,
|
|
||||||
_______, _______, G_DIFF, G_RST, _______, G_BRCH, _______,
|
|
||||||
_______, G_ADD, G_S, _______, _______, _______,
|
|
||||||
_______, _______, _______, G_C, _______, G_MERG, _______,
|
|
||||||
_______, _______, _______, _______, _______,
|
|
||||||
|
|
||||||
_______, _______,
|
|
||||||
_______,
|
|
||||||
_______, _______, _______,
|
|
||||||
|
|
||||||
// -----------------------------------------------------right hand-----------------------------------------------------
|
|
||||||
_______, _______, _______, _______, _______, _______, _______,
|
|
||||||
_______, _______, G_FTCH, _______, G_P, _______, _______,
|
|
||||||
_______, _______, _______, _______, _______, _______,
|
_______, _______, _______, _______, _______, _______,
|
||||||
_______, _______, G_LOG, _______, G_DEV, _______, _______,
|
_______, _______, _______, _______, _______, _______, _______,
|
||||||
_______, _______, _______, _______, _______,
|
_______, _______, _______, _______, _______,
|
||||||
|
|
||||||
_______, _______,
|
_______, _______,
|
||||||
@ -348,13 +307,37 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
_______, _______, _______
|
_______, _______, _______
|
||||||
),
|
),
|
||||||
|
|
||||||
[GIT_C] = LAYOUT_ergodox(
|
[GIT] = LAYOUT_ergodox(
|
||||||
|
// -----------------------------------------------------left hand-----------------------------------------------------
|
||||||
|
_______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, G_DIFF, G_R, _______, G_BRCH, _______,
|
||||||
|
_______, G_ADD, G_S, _______, _______, _______,
|
||||||
|
_______, G_DEV, _______, G_C, _______, G_MERG, _______,
|
||||||
|
_______, _______, _______, _______, _______,
|
||||||
|
|
||||||
|
_______, _______,
|
||||||
|
_______,
|
||||||
|
_______, _______, _______,
|
||||||
|
|
||||||
|
// -----------------------------------------------------right hand-----------------------------------------------------
|
||||||
|
_______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, G_FTCH, G_PULL, G_PUSH, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, G_LOG, _______, XXXXXXX, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______,
|
||||||
|
|
||||||
|
_______, _______,
|
||||||
|
_______,
|
||||||
|
_______, _______, _______
|
||||||
|
),
|
||||||
|
|
||||||
|
[GIT_C] = LAYOUT_ergodox(
|
||||||
// -----------------------------------------------------left hand-----------------------------------------------------
|
// -----------------------------------------------------left hand-----------------------------------------------------
|
||||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||||
XXXXXXX, XXXXXXX, XXXXXXX, G_CHEC, XXXXXXX, XXXXXXX,
|
XXXXXXX, XXXXXXX, XXXXXXX, G_CHEC, XXXXXXX, XXXXXXX,
|
||||||
_______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
_______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______,
|
||||||
|
|
||||||
XXXXXXX, XXXXXXX,
|
XXXXXXX, XXXXXXX,
|
||||||
XXXXXXX,
|
XXXXXXX,
|
||||||
@ -365,20 +348,20 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||||
XXXXXXX, XXXXXXX, XXXXXXX, G_COMM, XXXXXXX, XXXXXXX,
|
XXXXXXX, XXXXXXX, XXXXXXX, G_COMM, XXXXXXX, XXXXXXX,
|
||||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______,
|
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______,
|
||||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______,
|
||||||
|
|
||||||
XXXXXXX, XXXXXXX,
|
XXXXXXX, XXXXXXX,
|
||||||
XXXXXXX,
|
XXXXXXX,
|
||||||
XXXXXXX, XXXXXXX, XXXXXXX
|
XXXXXXX, XXXXXXX, XXXXXXX
|
||||||
),
|
),
|
||||||
|
|
||||||
[GIT_S] = LAYOUT_ergodox(
|
[GIT_R] = LAYOUT_ergodox(
|
||||||
// -----------------------------------------------------left hand-----------------------------------------------------
|
// -----------------------------------------------------left hand-----------------------------------------------------
|
||||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, G_RBASE, XXXXXXX,
|
||||||
XXXXXXX, XXXXXXX, G_STSH, G_SHOW, G_STAT, XXXXXXX,
|
XXXXXXX, XXXXXXX, G_RST, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||||
_______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
_______, XXXXXXX, XXXXXXX, XXXXXXX, G_RVERT, XXXXXXX, XXXXXXX,
|
||||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______,
|
||||||
|
|
||||||
XXXXXXX, XXXXXXX,
|
XXXXXXX, XXXXXXX,
|
||||||
XXXXXXX,
|
XXXXXXX,
|
||||||
@ -389,7 +372,31 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||||
XXXXXXX, XXXXXXX, XXXXXXX, G_COMM, XXXXXXX, XXXXXXX,
|
XXXXXXX, XXXXXXX, XXXXXXX, G_COMM, XXXXXXX, XXXXXXX,
|
||||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______,
|
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______,
|
||||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______,
|
||||||
|
|
||||||
|
XXXXXXX, XXXXXXX,
|
||||||
|
XXXXXXX,
|
||||||
|
XXXXXXX, XXXXXXX, XXXXXXX
|
||||||
|
),
|
||||||
|
|
||||||
|
[GIT_S] = LAYOUT_ergodox(
|
||||||
|
// -----------------------------------------------------left hand-----------------------------------------------------
|
||||||
|
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||||
|
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||||
|
XXXXXXX, XXXXXXX, G_STSH, G_SHOW, G_STAT, XXXXXXX,
|
||||||
|
_______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||||
|
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______,
|
||||||
|
|
||||||
|
XXXXXXX, XXXXXXX,
|
||||||
|
XXXXXXX,
|
||||||
|
XXXXXXX, KC_BSPC, XXXXXXX,
|
||||||
|
|
||||||
|
// -----------------------------------------------------right hand-----------------------------------------------------
|
||||||
|
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||||
|
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||||
|
XXXXXXX, XXXXXXX, XXXXXXX, G_COMM, XXXXXXX, XXXXXXX,
|
||||||
|
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______,
|
||||||
|
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______,
|
||||||
|
|
||||||
XXXXXXX, XXXXXXX,
|
XXXXXXX, XXXXXXX,
|
||||||
XXXXXXX,
|
XXXXXXX,
|
||||||
@ -412,7 +419,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
* `----------------------------------'
|
* `----------------------------------'
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// [] = LAYOUT_ergodox(
|
// [] = LAYOUT_ergodox(
|
||||||
// // -----------------------------------------------------left hand-----------------------------------------------------
|
// // -----------------------------------------------------left hand-----------------------------------------------------
|
||||||
// _______, _______, _______, _______, _______, _______, _______,
|
// _______, _______, _______, _______, _______, _______, _______,
|
||||||
// _______, _______, _______, _______, _______, _______, _______,
|
// _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
1
keyboards/ktec/ergodone/keymaps/art/rules.mk
Normal file
1
keyboards/ktec/ergodone/keymaps/art/rules.mk
Normal file
@ -0,0 +1 @@
|
|||||||
|
SRC += user_config.c
|
@ -0,0 +1,6 @@
|
|||||||
|
// Copyright 2022 Artjoms Rizihs (@artjomsR)
|
||||||
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
|
#include QMK_KEYBOARD_H
|
||||||
|
|
||||||
|
bool is_win = true;
|
@ -1,3 +1,6 @@
|
|||||||
|
// Copyright 2022 Artjoms Rizihs (@artjomsR)
|
||||||
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
/* matrix size */
|
/* matrix size */
|
||||||
@ -13,3 +16,5 @@
|
|||||||
#define RGBLIGHT_SLEEP
|
#define RGBLIGHT_SLEEP
|
||||||
|
|
||||||
#define BACKLIGHT_PIN D4
|
#define BACKLIGHT_PIN D4
|
||||||
|
|
||||||
|
#define I2C_START_RETRY_COUNT 1
|
1
keyboards/mt/split75/keymaps/art/.gitignore
vendored
Normal file
1
keyboards/mt/split75/keymaps/art/.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
*user_config.c
|
10
keyboards/mt/split75/keymaps/art/config.h
Normal file
10
keyboards/mt/split75/keymaps/art/config.h
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
// Copyright 2022 Artjoms Rizihs (@artjomsR)
|
||||||
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#undef RGBLIGHT_ANIMATIONS
|
||||||
|
#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
|
||||||
|
#define RGBLIGHT_EFFECT_STATIC_GRADIENT
|
||||||
|
|
||||||
|
// #define DYNAMIC_MACRO_SIZE 48
|
@ -1,64 +1,50 @@
|
|||||||
#include <art.h>
|
// Copyright 2022 Artjoms Rizihs (@artjomsR)
|
||||||
#include <sendstring_workman_zxcvm.h>
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
bool is_win = false;
|
#include "art.h"
|
||||||
|
#include "sendstring_workman_zxcvm.h"
|
||||||
|
|
||||||
enum custom_keycodes {
|
enum custom_keycodes {
|
||||||
keyboardSpecificKeyCode = NEW_SAFE_RANGE //not used atm
|
keyboardSpecificKeyCode = NEW_SAFE_RANGE //not used atm
|
||||||
};
|
};
|
||||||
|
|
||||||
bool led_update_user(led_t led_state) {
|
void num_led_on(void) {
|
||||||
writePin(CAPSLOCK_LED_PIN, led_state.caps_lock);
|
writePinHigh(LED_NUM_LOCK_PIN);
|
||||||
return false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void led_show_current_os(void) {
|
void num_led_off(void) {
|
||||||
if (is_win) {
|
writePinLow(LED_NUM_LOCK_PIN);
|
||||||
writePinHigh(NUMLOCK_LED_PIN);
|
|
||||||
wait_ms(50);
|
|
||||||
writePinLow(NUMLOCK_LED_PIN);
|
|
||||||
wait_ms(50);
|
|
||||||
writePinHigh(NUMLOCK_LED_PIN);
|
|
||||||
wait_ms(50);
|
|
||||||
writePinLow(NUMLOCK_LED_PIN);
|
|
||||||
wait_ms(50);
|
|
||||||
writePinHigh(NUMLOCK_LED_PIN);
|
|
||||||
wait_ms(50);
|
|
||||||
writePinLow(NUMLOCK_LED_PIN);
|
|
||||||
wait_ms(50);
|
|
||||||
} else {
|
|
||||||
writePinHigh(SCROLLLOCK_LED_PIN);
|
|
||||||
wait_ms(50);
|
|
||||||
writePinLow(SCROLLLOCK_LED_PIN);
|
|
||||||
wait_ms(50);
|
|
||||||
writePinHigh(SCROLLLOCK_LED_PIN);
|
|
||||||
wait_ms(50);
|
|
||||||
writePinLow(SCROLLLOCK_LED_PIN);
|
|
||||||
wait_ms(50);
|
|
||||||
writePinHigh(SCROLLLOCK_LED_PIN);
|
|
||||||
wait_ms(50);
|
|
||||||
writePinLow(SCROLLLOCK_LED_PIN);
|
|
||||||
wait_ms(50);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void keyboard_pre_init_user(void) {
|
void caps_led_on(void) {
|
||||||
led_show_current_os();
|
writePinHigh(LED_CAPS_LOCK_PIN);
|
||||||
|
}
|
||||||
layer_state_set_user(layer_state);
|
|
||||||
|
void caps_led_off(void) {
|
||||||
|
writePinLow(LED_CAPS_LOCK_PIN);
|
||||||
|
}
|
||||||
|
|
||||||
|
void scroll_led_on(void) {
|
||||||
|
writePinHigh(LED_SCROLL_LOCK_PIN);
|
||||||
|
}
|
||||||
|
|
||||||
|
void scroll_led_off(void) {
|
||||||
|
writePinLow(LED_SCROLL_LOCK_PIN);
|
||||||
}
|
}
|
||||||
|
|
||||||
layer_state_t layer_state_set_user(layer_state_t state) {
|
layer_state_t layer_state_set_user(layer_state_t state) {
|
||||||
writePinLow(NUMLOCK_LED_PIN);
|
num_led_off();
|
||||||
writePinLow(SCROLLLOCK_LED_PIN);
|
scroll_led_off();
|
||||||
switch (get_highest_layer(state)) {
|
switch (get_highest_layer(state)) {
|
||||||
case MEDIA:
|
case MEDIA:
|
||||||
writePinHigh(SCROLLLOCK_LED_PIN);
|
case WORKMAN:
|
||||||
|
scroll_led_on();
|
||||||
case BASE:
|
case BASE:
|
||||||
writePinHigh(NUMLOCK_LED_PIN);
|
case NAV:
|
||||||
|
num_led_on();
|
||||||
break;
|
break;
|
||||||
case NUMPAD:
|
case NUMPAD:
|
||||||
writePinHigh(SCROLLLOCK_LED_PIN);
|
scroll_led_on();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
return state;
|
return state;
|
||||||
@ -82,12 +68,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
*/
|
*/
|
||||||
[QWERTY] = LAYOUT(
|
[QWERTY] = LAYOUT(
|
||||||
//--------------------------------Left Hand------------------------------------| |--------------------------------Right Hand------------------------------------------------
|
//--------------------------------Left Hand------------------------------------| |--------------------------------Right Hand------------------------------------------------
|
||||||
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, LT(CONFIG, KC_PSCR), KC_INS, KC_HOME,
|
KC_ESC, KC_MPLY, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, LT(CONFIG, KC_PSCR), KC_INS, KC_HOME,
|
||||||
KC_VOLD,KC_VOLU, KC_GRAVE, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINUS, KC_EQUAL, KC_BSPC, KC_DEL,
|
KC_VOLD,KC_VOLU, KC_GRAVE, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINUS, KC_EQUAL, KC_BSPC, KC_DEL,
|
||||||
KC_MPRV,KC_MNXT, 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_END,
|
KC_MPRV,KC_MNXT, 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_END,
|
||||||
KC_HOME,KC_END, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN,KC_QUOT,KC_ENTER, KC_PGUP,
|
KC_HOME,KC_END, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN,KC_QUOT,KC_ENTER, KC_PGUP,
|
||||||
DYN_MACRO_PLAY1,MO(STRINGS),KC_LSFT,KC_Z,KC_X,KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, LT(GIT,KC_SLSH), KC_RSFT, KC_UP, KC_PGDN,
|
DYN_MACRO_PLAY1,KC_MUTE,KC_LSFT,KC_Z,KC_X,KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, LT(GIT,KC_SLSH), KC_RSFT, KC_UP, KC_PGDN,
|
||||||
DYN_REC_STOP,DYN_REC_START1,KC_LCTL, KC_LGUI, KC_LALT, LT(MEDIA,KC_SPC), LT(COMBOS,KC_BSPC), LT(NAV, KC_ENTER), KC_RALT, MO(LAYOUT_CHG),KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT
|
DYN_REC_STOP,DYN_REC_START1,KC_LCTL, KC_LGUI, KC_LALT, LT(MEDIA,KC_SPC), LT(COMBOS,KC_BSPC), LT(NAV,KC_APP), LT(LAYOUT_CHG, KC_ENTER),KC_RALT,KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT
|
||||||
),
|
),
|
||||||
|
|
||||||
/* Base ,-----------------------------------------. ,-----------------------------------------------------.
|
/* Base ,-----------------------------------------. ,-----------------------------------------------------.
|
||||||
@ -111,7 +97,7 @@ KC_8, KC_9, KC_GRAVE, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6,
|
|||||||
KC_6, KC_7, 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_END,
|
KC_6, KC_7, 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_END,
|
||||||
KC_4, KC_5, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENTER, KC_PGUP,
|
KC_4, KC_5, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENTER, KC_PGUP,
|
||||||
KC_2, KC_3, 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_PGDN,
|
KC_2, KC_3, 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_PGDN,
|
||||||
KC_0, KC_1, OS_CTRL, OS_WIN, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, MO(QWERTY_MOD), KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT
|
KC_0, KC_1, OS_CTRL, OS_WIN, KC_LALT, KC_SPC, KC_SPC, KC_SPC, MO(QWERTY_MOD), KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT
|
||||||
),
|
),
|
||||||
|
|
||||||
[WORKMAN] = LAYOUT(
|
[WORKMAN] = LAYOUT(
|
||||||
@ -121,19 +107,19 @@ _______, _______, _______, _______, _______, _______, _______, _______,
|
|||||||
_______, _______, _______, KC_Q, KC_D, KC_R, KC_W, KC_B, KC_J, KC_F, KC_U, KC_P, KC_SCLN, _______, _______, _______, _______,
|
_______, _______, _______, KC_Q, KC_D, KC_R, KC_W, KC_B, KC_J, KC_F, KC_U, KC_P, KC_SCLN, _______, _______, _______, _______,
|
||||||
_______, _______, _______, KC_A, KC_S, KC_H, KC_T, KC_G, KC_Y, KC_N, KC_E, KC_O, KC_I, _______, _______, _______,
|
_______, _______, _______, KC_A, KC_S, KC_H, KC_T, KC_G, KC_Y, KC_N, KC_E, KC_O, KC_I, _______, _______, _______,
|
||||||
_______, _______, _______, KC_Z, KC_X, KC_C, KC_V, KC_M, KC_K, KC_L, KC_COMM, KC_DOT, _______, _______, _______, _______,
|
_______, _______, _______, KC_Z, KC_X, KC_C, KC_V, KC_M, KC_K, KC_L, KC_COMM, KC_DOT, _______, _______, _______, _______,
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, TO(QWERTY), _______, _______, _______, _______
|
_______, _______, _______, _______, _______, _______, LT(COMBOS,KC_BSPC), LT(NAV,KC_APP), LT(LAYOUT_CHG, KC_ENTER), TO(QWERTY), _______, _______, _______, _______
|
||||||
),
|
),
|
||||||
|
|
||||||
[NAV] = LAYOUT(
|
[NAV] = LAYOUT(
|
||||||
//--------------------------------Left Hand-----------------------------------------------| |--------------------------------Right Hand------------------------------------------------
|
//--------------------------------Left Hand-----------------------------------------------| |--------------------------------Right Hand------------------------------------------------
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
KC_8, KC_9, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
KC_8, KC_9, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
KC_6, KC_7, _______, _______, KC_HOME, KC_UP, KC_END, KC_PGUP, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
KC_6, KC_7, _______, KC_ESC, KC_HOME, KC_UP, KC_END, KC_PGUP, XXXXXXX, KC_MS_BTN1, KC_MS_BTN3, KC_MS_BTN2, XXXXXXX, _______, _______, _______, _______,
|
||||||
KC_4, KC_5, _______, _______, KC_LEFT, KC_DOWN, KC_RIGHT, KC_PGDOWN, _______, CTR_ALT, KC_RSFT, _______, _______, _______, _______, _______,
|
KC_4, KC_5, _______, XXXXXXX, KC_LEFT, KC_DOWN, KC_RIGHT, KC_PGDOWN, KC_APP, CTR_ALT, KC_RSFT, CTR_ALT_SHIFT, _______, _______, _______, _______,
|
||||||
KC_2, KC_3, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
KC_2, KC_3, _______, XXXXXXX, LCTL(KC_X),LCTL(KC_C),LCTL(KC_V), XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, _______, _______, _______, _______,
|
||||||
KC_0, KC_1, _______, _______, _______, KC_DEL, _______, _______, _______, _______, _______, _______, _______, _______
|
KC_0, KC_1, _______, _______, _______, KC_DEL, _______, _______, _______, _______, _______, _______, _______, _______
|
||||||
),
|
),
|
||||||
|
|
||||||
[MEDIA] = LAYOUT(
|
[MEDIA] = LAYOUT(
|
||||||
//--------------------------------Left Hand-----------------------------------------------| |--------------------------------Right Hand------------------------------------------------
|
//--------------------------------Left Hand-----------------------------------------------| |--------------------------------Right Hand------------------------------------------------
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
@ -141,57 +127,57 @@ _______, _______, _______, _______, _______, _______, _______, _______,
|
|||||||
_______, _______, _______, KC_MPRV, KC_VOLU, KC_MNXT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
_______, _______, _______, KC_MPRV, KC_VOLU, KC_MNXT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
_______, _______, _______, _______, KC_VOLD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
_______, _______, _______, _______, KC_VOLD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
_______, _______, _______, _______, KC_MUTE, KC_MPLY, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
_______, _______, _______, _______, KC_MUTE, KC_MPLY, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||||
),
|
),
|
||||||
|
|
||||||
[COMBOS] = LAYOUT(
|
[COMBOS] = LAYOUT(
|
||||||
//--------------------------------Left Hand-----------------------------------------------| |--------------------------------Right Hand------------------------------------------------
|
//--------------------------------Left Hand-----------------------------------------------| |--------------------------------Right Hand------------------------------------------------
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
_______, _______, TILD_BLOCK, _______, QUOTES_RU, K_CUST1, K_CUST2, K_CUST3, _______, _______, STARS, PARENTHS, _______, DASHES, _______, _______, _______,
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
_______, _______, _______, _______, _______, NEUTRAL_COPY, _______, BEAT_BROWSER, K_SECR1, K_SECR2, K_SECR3, K_SECR4, _______, BRACES, TOG_OS, _______, _______,
|
||||||
_______, _______, _______, _______, SARCASM, _______, CTRL_CTV, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
_______, _______, _______, ADMINS, SARCASM, ALL_BEST,CTRL_CTV, _______, AT_EMAIL, _______, _______, _______, _______, QUOTES, _______, _______,
|
||||||
_______, _______, _______, _______, _______, CTRL_CAV, _______, _______, _______, CTRL_LCTV, _______, _______, _______, _______, _______, _______,
|
_______, _______, _______, _______, _______, CTRL_CAV, _______, XXXXXXX, _______, CTRL_LCTV, _______, _______, _______, _______, _______, _______,
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||||
),
|
),
|
||||||
|
|
||||||
[STRINGS] = LAYOUT(
|
// [STRINGS] = LAYOUT(
|
||||||
//--------------------------------Left Hand-----------------------------------------------| |--------------------------------Right Hand------------------------------------------------
|
// //--------------------------------Left Hand-----------------------------------------------| |--------------------------------Right Hand------------------------------------------------
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
_______, _______, TILD_BLOCK, PRESCRIPTION, _______, _______, FOURS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
// _______, _______, TILD_BLOCK, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
_______, _______, _______, ADMINS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
// _______, _______, _______, ADMINS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||||
),
|
// ),
|
||||||
|
|
||||||
[QWERTY_MOD] = LAYOUT(
|
[QWERTY_MOD] = LAYOUT(
|
||||||
//--------------------------------Left Hand-----------------------------------------------| |--------------------------------Right Hand------------------------------------------------
|
//--------------------------------Left Hand-----------------------------------------------| |--------------------------------Right Hand------------------------------------------------
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
_______, _______, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
_______, _______, _______, KC_MPRV, KC_VOLU, KC_MNXT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
_______, _______, _______, KC_MPRV, KC_VOLU, KC_MNXT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
_______, _______, _______, _______, KC_VOLD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
_______, _______, _______, _______, KC_VOLD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
_______, _______, _______, _______, KC_MUTE, KC_MPLY, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
_______, _______, _______, _______, KC_MUTE, KC_MPLY, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
_______, _______, TO(QWERTY),_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
_______, _______, TO(QWERTY),_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||||
),
|
),
|
||||||
|
|
||||||
[LAYOUT_CHG] = LAYOUT(
|
[LAYOUT_CHG] = LAYOUT(
|
||||||
//--------------------------------Left Hand-----------------------------------------------| |--------------------------------Right Hand------------------------------------------------
|
//--------------------------------Left Hand-----------------------------------------------| |--------------------------------Right Hand------------------------------------------------
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
_______, KC_F1, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
_______, _______, _______, _______, CTL_ALT(KC_HOME), CTL_ALT(KC_UP), CTL_ALT(KC_END), CTL_ALT(KC_PGUP), _______, _______,_______, _______,_______,_______,_______, _______, _______,
|
_______, _______, _______, _______, CTL_ALT(KC_HOME), CTL_ALT(KC_UP), CTL_ALT(KC_END), CTL_ALT(KC_PGUP), _______, _______,_______, _______,_______,_______,_______, _______, _______,
|
||||||
_______, _______, _______, _______, CTL_ALT(KC_LEFT), CTL_ALT(KC_DOWN), CTL_ALT(KC_RIGHT), CTL_ALT(KC_PGDOWN), _______,_______,_______,_______,_______, _______, _______, _______,
|
_______, _______, _______, _______, CTL_ALT(KC_LEFT), CTL_ALT(KC_DOWN), CTL_ALT(KC_RIGHT), CTL_ALT(KC_PGDOWN), _______,_______,_______,_______,_______, _______, _______, _______,
|
||||||
_______, _______, TO(WORKMAN), _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
_______, _______, TO(WORKMAN), LCTL(KC_Z), LCTL(KC_X), LCTL(KC_C), LCTL(KC_V), _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
TO(NUMPAD), TO(NUMPAD), TO(BASE), _______, _______, _______, CTL_ALT(KC_BSPC), KC_LSFT, _______, _______, _______, _______, _______, _______
|
TO(NUMPAD), TO(NUMPAD), TO(BASE), _______, _______, _______, CTL_ALT(KC_BSPC), KC_LSFT, _______, _______, _______, _______, _______, _______
|
||||||
),
|
),
|
||||||
|
|
||||||
[CONFIG] = LAYOUT(
|
[CONFIG] = LAYOUT(
|
||||||
//--------------------------------Left Hand-----------------------------------------------| |--------------------------------Right Hand------------------------------------------------
|
//--------------------------------Left Hand-----------------------------------------------| |--------------------------------Right Hand------------------------------------------------
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
RGB_VAI, RGB_VAD, RGB_MODE_PLAIN, RGB_MODE_BREATHE, RGB_MODE_RAINBOW, RGB_MODE_SWIRL, RGB_MODE_SNAKE, RGB_MODE_KNIGHT, RGB_MODE_XMAS, RGB_MODE_GRADIENT, RGB_MODE_RGBTEST, XXXXXXX, XXXXXXX, _______, _______, _______, _______,
|
RGB_VAD, RGB_VAI, RGB_MODE_PLAIN, RGB_MODE_BREATHE, RGB_MODE_RAINBOW, RGB_MODE_SWIRL, RGB_MODE_SNAKE, RGB_MODE_KNIGHT, RGB_MODE_XMAS, RGB_MODE_GRADIENT, RGB_MODE_RGBTEST, XXXXXXX, XXXXXXX, _______, _______, _______, _______,
|
||||||
RGB_SAI, RGB_SAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, TOG_OS, _______, _______, _______, _______, _______,
|
RGB_SAD, RGB_SAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX, _______, _______, _______, _______, _______,
|
||||||
RGB_HUI, RGB_HUD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
RGB_HUD, RGB_HUI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
RGB_MOD, RGB_RMOD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
RGB_RMOD, RGB_MOD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
RGB_TOG, XXXXXXX, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||||
),
|
),
|
||||||
|
|
||||||
[NUMPAD] = LAYOUT(
|
[NUMPAD] = LAYOUT(
|
||||||
@ -203,17 +189,17 @@ KC_4, KC_5, _______, _______, _______, _______, _______, _______,
|
|||||||
KC_2, KC_3, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
KC_2, KC_3, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
KC_0, KC_1, _______, _______, _______, _______, _______, _______, _______, TO(QWERTY),_______, _______, _______, _______
|
KC_0, KC_1, _______, _______, _______, _______, _______, _______, _______, TO(QWERTY),_______, _______, _______, _______
|
||||||
),
|
),
|
||||||
|
|
||||||
[GIT] = LAYOUT(
|
[GIT] = LAYOUT(
|
||||||
//--------------------------------Left Hand-----------------------------------------------| |--------------------------------Right Hand------------------------------------------------
|
//--------------------------------Left Hand-----------------------------------------------| |--------------------------------Right Hand------------------------------------------------
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
_______, _______, _______, _______, G_DIFF, G_RST, _______, G_BRCH, _______, G_FTCH, _______, G_P, _______, _______, _______, _______, _______,
|
_______, _______, _______, _______, G_DIFF, G_R, _______, G_BRCH, _______, G_FTCH, G_PULL, G_PUSH, _______, _______, _______, _______, _______,
|
||||||
_______, _______, _______, G_ADD, G_S, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
_______, _______, _______, G_ADD, G_S, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
_______, _______, _______, _______, _______, G_C, _______, G_MERG, _______, G_LOG, _______, G_DEV, _______, _______, _______, _______,
|
_______, _______, _______, G_DEV, _______, G_C, _______, G_MERG, _______, G_LOG, _______, XXXXXXX, _______, _______, _______, _______,
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||||
),
|
),
|
||||||
|
|
||||||
[GIT_C] = LAYOUT(
|
[GIT_C] = LAYOUT(
|
||||||
//--------------------------------Left Hand-----------------------------------------------| |--------------------------------Right Hand------------------------------------------------
|
//--------------------------------Left Hand-----------------------------------------------| |--------------------------------Right Hand------------------------------------------------
|
||||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||||
@ -221,9 +207,19 @@ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
|||||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, G_CHEC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, G_COMM, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, G_CHEC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, G_COMM, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||||
XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX,
|
XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX,
|
||||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_BSPC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
|
XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, KC_BSPC, XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX
|
||||||
),
|
),
|
||||||
|
|
||||||
|
[GIT_R] = LAYOUT(
|
||||||
|
//--------------------------------Left Hand-----------------------------------------------| |--------------------------------Right Hand------------------------------------------------
|
||||||
|
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||||
|
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX,
|
||||||
|
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, G_RBASE, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||||
|
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, G_RST, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||||
|
XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, G_RVERT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX,
|
||||||
|
XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, KC_BSPC, XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX
|
||||||
|
),
|
||||||
|
|
||||||
[GIT_S] = LAYOUT(
|
[GIT_S] = LAYOUT(
|
||||||
//--------------------------------Left Hand-----------------------------------------------| |--------------------------------Right Hand------------------------------------------------
|
//--------------------------------Left Hand-----------------------------------------------| |--------------------------------Right Hand------------------------------------------------
|
||||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||||
@ -231,9 +227,9 @@ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
|||||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, G_STSH, G_SHOW, G_STAT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, G_STSH, G_SHOW, G_STAT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||||
XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX,
|
XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX,
|
||||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_BSPC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
|
XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, KC_BSPC, XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX
|
||||||
),
|
),
|
||||||
|
|
||||||
/* ,-----------------------------------------. ,-----------------------------------------------------.
|
/* ,-----------------------------------------. ,-----------------------------------------------------.
|
||||||
* | | | | | | | | | | | | | | | | | |
|
* | | | | | | | | | | | | | | | | | |
|
||||||
* ,-----------. |-----+-----+-----+-----+-----+-----+-----| |-----+-----+-----+-----+-----+-----+-----------+-----|
|
* ,-----------. |-----+-----+-----+-----+-----+-----+-----| |-----+-----+-----+-----+-----+-----+-----------+-----|
|
||||||
@ -255,7 +251,7 @@ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_BSPC,
|
|||||||
// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||||
// ),
|
// ),
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -264,4 +260,4 @@ bool process_record_keymap(uint16_t keycode, keyrecord_t *record) {
|
|||||||
|
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -1 +1,3 @@
|
|||||||
DYNAMIC_MACRO_ENABLE = yes
|
SRC += user_config.c
|
||||||
|
|
||||||
|
# DYNAMIC_MACRO_ENABLE = yes # doesn't work atm
|
||||||
|
6
keyboards/mt/split75/keymaps/art/user_config.c.example
Normal file
6
keyboards/mt/split75/keymaps/art/user_config.c.example
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
// Copyright 2022 Artjoms Rizihs (@artjomsR)
|
||||||
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
|
#include QMK_KEYBOARD_H
|
||||||
|
|
||||||
|
bool is_win = true;
|
@ -1,3 +1,6 @@
|
|||||||
|
// Copyright 2022 Artjoms Rizihs (@artjomsR)
|
||||||
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
#include QMK_KEYBOARD_H
|
#include QMK_KEYBOARD_H
|
||||||
|
|
||||||
enum layer_names {
|
enum layer_names {
|
||||||
|
@ -1 +1,4 @@
|
|||||||
|
// Copyright 2022 Artjoms Rizihs (@artjomsR)
|
||||||
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
#include "split75.h"
|
#include "split75.h"
|
||||||
|
@ -1,3 +1,6 @@
|
|||||||
|
// Copyright 2022 Artjoms Rizihs (@artjomsR)
|
||||||
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "quantum.h"
|
#include "quantum.h"
|
||||||
|
3
users/art/.gitignore
vendored
Normal file
3
users/art/.gitignore
vendored
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
*user_config.*
|
||||||
|
custom_definitions.h
|
||||||
|
secr.h
|
780
users/art/art.c
780
users/art/art.c
@ -1,103 +1,116 @@
|
|||||||
|
// Copyright 2022 Artjoms Rizihs (@artjomsR)
|
||||||
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
#include "art.h"
|
#include "art.h"
|
||||||
#include "string.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))
|
__attribute__ ((weak))
|
||||||
bool process_record_keymap(uint16_t keycode, keyrecord_t *record) {
|
bool process_record_keymap(uint16_t keycode, keyrecord_t *record) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
__attribute__ ((weak))
|
void keyboard_post_init_user(void) {
|
||||||
void led_show_current_os(void) {
|
led_show_variable_status(is_win);
|
||||||
|
layer_state_set_user(layer_state);
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool mac_ctrl_on = false; //for switching tabs
|
void matrix_scan_user(void) {
|
||||||
static bool mac_gui_on = false; //for switching languages
|
if (is_lmb_timer_active) {
|
||||||
static bool mac_alt_tab_on = false; //for switching windows
|
if (timer_elapsed(lmb_timer) > LMB_SPAM_INTERVAL) {
|
||||||
|
SEND_STRING(SS_TAP(X_BTN1)); //do stuff that needs spamming
|
||||||
static const char *key_up[2] = {SS_UP(X_LALT), SS_UP(X_LCTL)};
|
lmb_timer = timer_read();
|
||||||
static const char *key_down[2] = {SS_DOWN(X_LALT), SS_DOWN(X_LCTL)};
|
}
|
||||||
|
|
||||||
int char_to_del = 1;
|
|
||||||
static bool sarcasm_on = false;
|
|
||||||
static bool sarcasm_key = false;
|
|
||||||
|
|
||||||
void backspace_n_times(int times) {
|
|
||||||
for (int i=0; i<times; i++) {
|
|
||||||
SEND_STRING(SS_TAP(X_BSPC));
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void send_string_remembering_length(char *string) {
|
bool caps_word_on(void) {
|
||||||
send_string(string);
|
return hw_caps_on && !full_caps_mode;
|
||||||
char_to_del = 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_del = strlen(string1) + strlen(string2);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
bool is_mac_with_base_layer_off(void) {
|
|
||||||
return !is_win && !layer_state_is(BASE);
|
|
||||||
}
|
|
||||||
|
|
||||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||||
if (sarcasm_on) {
|
if (record->event.pressed) {
|
||||||
sarcasm_key = ! sarcasm_key;
|
if (sarcasm_on) {
|
||||||
if (sarcasm_key) {
|
sarcasm_key = ! sarcasm_key;
|
||||||
SEND_STRING(SS_TAP(X_CAPS));
|
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_BSPACE:
|
||||||
|
case KC_DEL:
|
||||||
|
case KC_LSFT:
|
||||||
|
case KC_RSFT:
|
||||||
|
case XXXXXXX:
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
char_to_bspace = 1;
|
||||||
|
char_to_del = 0;
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//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
|
|
||||||
if (record->event.pressed && (keycode != KC_BSPACE && keycode != XXXXXXX)) {
|
|
||||||
char_to_del = 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
switch (keycode) {
|
switch (keycode) {
|
||||||
|
case XXXXXXX:
|
||||||
|
if (record->event.pressed && !layer_state_is(BASE)) {
|
||||||
|
blink_leds(NUM_SCROLL_LED_ON);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
break;
|
||||||
case KC_TAB:
|
case KC_TAB:
|
||||||
if (record->event.pressed && is_mac_with_base_layer_off()) {
|
if (record->event.pressed && is_mac_with_base_layer_off()) {
|
||||||
uint8_t mods = get_mods();
|
uint8_t mod_state = get_mods() & MOD_MASK_CTRL;
|
||||||
uint8_t mod_state = mods & MOD_MASK_ALT;
|
if (get_mods() & mod_state && !mac_alt_window_switching_on) {
|
||||||
if (get_mods() & mod_state) {
|
|
||||||
del_mods(mod_state);
|
|
||||||
add_mods(MOD_LCTL);
|
|
||||||
mac_alt_tab_on = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
mod_state = mods & MOD_MASK_CTRL;
|
|
||||||
if (get_mods() & mod_state && !mac_alt_tab_on) {
|
|
||||||
del_mods(mod_state);
|
del_mods(mod_state);
|
||||||
add_mods(MOD_LGUI);
|
add_mods(MOD_LGUI);
|
||||||
mac_ctrl_on = true;
|
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;
|
break;
|
||||||
case KC_LSFT:
|
case KC_LSFT:
|
||||||
if (record->event.pressed && is_mac_with_base_layer_off()) {
|
if (record->event.pressed && is_mac_with_base_layer_off() && !mac_ctrl_on) {
|
||||||
uint8_t mods = get_mods();
|
uint8_t mod_state = get_mods() & MOD_MASK_AG;
|
||||||
uint8_t mod_state = mods & MOD_MASK_AG;
|
|
||||||
if (get_mods() & mod_state) {
|
if (get_mods() & mod_state) {
|
||||||
del_mods(mod_state);
|
del_mods(mod_state);
|
||||||
add_mods(MOD_LGUI);
|
add_mods(MOD_LGUI);
|
||||||
mac_gui_on = true;
|
mac_gui_on = true;
|
||||||
SEND_STRING(SS_TAP(X_SPACE));
|
send_string(lang_switch_combo);
|
||||||
return false;
|
return false;
|
||||||
} else {
|
} else {
|
||||||
return true;
|
return true;
|
||||||
@ -110,27 +123,17 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
|||||||
/* && !mac_ctrl_on/!mac_alt_tab_on are required since setting the state while holding the key changes
|
/* && !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
|
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 */
|
of truth to determine which state we're in, and a separate bool is required */
|
||||||
uint8_t mods = get_mods();
|
uint8_t alt_state = get_mods() & MOD_MASK_ALT;
|
||||||
uint8_t mod_state = mods & MOD_MASK_ALT;
|
uint8_t ctrl_state = get_mods() & MOD_MASK_CTRL;
|
||||||
|
|
||||||
//Allows Ctrl <-/-> on Mac if Ctrl Tab is already pressed
|
//Allows Ctrl <-/-> on Mac if Ctrl Tab is already pressed
|
||||||
if (get_mods() & mod_state && mac_alt_tab_on && !mac_ctrl_on) {
|
if (get_mods() & alt_state && mac_alt_window_switching_on && !mac_ctrl_on) {
|
||||||
del_mods(mod_state);
|
del_mods(alt_state);
|
||||||
add_mods(MOD_LCTL);
|
add_mods(MOD_LCTL);
|
||||||
}
|
}
|
||||||
|
|
||||||
mod_state = mods & MOD_MASK_CTRL;
|
if (get_mods() & ctrl_state && !mac_alt_window_switching_on && !mac_gui_on) {
|
||||||
if (get_mods() & mod_state && !mac_alt_tab_on) {
|
del_mods(ctrl_state);
|
||||||
del_mods(mod_state);
|
|
||||||
add_mods(MOD_LALT);
|
|
||||||
mac_ctrl_on = true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case KC_DEL:
|
|
||||||
if (record->event.pressed && 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);
|
add_mods(MOD_LALT);
|
||||||
mac_ctrl_on = true;
|
mac_ctrl_on = true;
|
||||||
}
|
}
|
||||||
@ -138,28 +141,31 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
|||||||
break;
|
break;
|
||||||
case KC_LALT:
|
case KC_LALT:
|
||||||
if (!record->event.pressed && is_mac_with_base_layer_off()) {
|
if (!record->event.pressed && is_mac_with_base_layer_off()) {
|
||||||
if (mac_alt_tab_on) {
|
if (mac_alt_window_switching_on) {
|
||||||
unregister_mods(MOD_LCTL);
|
unregister_mods(MOD_LCTL);
|
||||||
mac_alt_tab_on = false;
|
mac_alt_window_switching_on = false;
|
||||||
return false;
|
return false;
|
||||||
} else if (mac_gui_on) {
|
} else if (mac_gui_on) {
|
||||||
SEND_STRING(SS_UP(X_LGUI));
|
unregister_mods(MOD_LGUI);
|
||||||
mac_gui_on = false;
|
mac_gui_on = false;
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case KC_RALT:
|
case KC_RALT:
|
||||||
if (!record->event.pressed && mac_alt_tab_on && is_mac_with_base_layer_off()) {
|
if (!record->event.pressed && mac_alt_window_switching_on && is_mac_with_base_layer_off()) {
|
||||||
unregister_mods(MOD_LCTL);
|
unregister_mods(MOD_LCTL);
|
||||||
mac_alt_tab_on = false;
|
mac_alt_window_switching_on = false;
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case KC_LCTL:
|
case KC_LCTL:
|
||||||
case KC_RCTL:
|
case KC_RCTL:
|
||||||
if (!record->event.pressed && mac_ctrl_on && is_mac_with_base_layer_off()) {
|
if (!record->event.pressed && mac_ctrl_on && is_mac_with_base_layer_off()) {
|
||||||
SEND_STRING(SS_UP(X_LGUI) SS_UP(X_LALT));
|
// 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;
|
mac_ctrl_on = false;
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -177,67 +183,134 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
case KC_DEL:
|
||||||
case KC_BSPC:
|
case KC_BSPC:
|
||||||
if (record->event.pressed) {
|
if (record->event.pressed) {
|
||||||
if (char_to_del > 1) {
|
return handle_del_bspace();
|
||||||
layer_off(GIT_C);
|
}
|
||||||
layer_off(GIT_S);
|
break;
|
||||||
backspace_n_times(char_to_del);
|
case LT(COMBOS, KC_BSPC):
|
||||||
char_to_del = 1;
|
if (record->event.pressed && record->tap.count == 1) {
|
||||||
return false;
|
return handle_del_bspace();
|
||||||
}
|
}
|
||||||
|
break;
|
||||||
if (is_mac_with_base_layer_off()) {
|
case LT(NAV,KC_APP):
|
||||||
uint8_t mod_state = get_mods() & MOD_MASK_CTRL;
|
if (!record->event.pressed && !is_win) {
|
||||||
if (get_mods() & mod_state) {
|
mac_ctrl_on = false;
|
||||||
del_mods(mod_state);
|
mac_gui_on = false;
|
||||||
add_mods(MOD_LALT);
|
mac_alt_window_switching_on = false;
|
||||||
mac_ctrl_on = true;
|
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;
|
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
|
* CUSTOM MACROS
|
||||||
* ------------------------------------------------------------------------ */
|
* ------------------------------------------------------------------------ */
|
||||||
|
|
||||||
case CTRL_CTV:
|
case CTRL_CTV:
|
||||||
if (record->event.pressed) {
|
if (record->event.pressed) {
|
||||||
if ( get_mods() & MOD_MASK_SHIFT ) {
|
bool shifted = get_mods() & MOD_MASK_SHIFT;
|
||||||
clear_mods();
|
clear_mods();
|
||||||
SEND_STRING(SS_LCTL("ctv"));
|
|
||||||
} else {
|
SEND_STRING(SS_LCTL("c"));
|
||||||
SEND_STRING(SS_LCTL("ctv") SS_TAP(X_ENTER));
|
wait_ms(COPY_DELAY);
|
||||||
|
SEND_STRING(SS_LCTL("tv"));
|
||||||
|
|
||||||
|
if (!shifted) {
|
||||||
|
SEND_STRING(SS_TAP(X_ENTER));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
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:
|
case CTRL_LCTV:
|
||||||
if (record->event.pressed) {
|
if (record->event.pressed) {
|
||||||
if ( get_mods() & MOD_MASK_SHIFT ) {
|
if (get_mods() & MOD_MASK_SHIFT) {
|
||||||
//Firefox
|
//Firefox
|
||||||
clear_mods();
|
clear_mods();
|
||||||
SEND_STRING(SS_LCTL("lcP"));
|
SEND_STRING(SS_LCTL("lc"));
|
||||||
wait_ms(200);
|
wait_ms(COPY_DELAY);
|
||||||
|
SEND_STRING(SS_LCTL("P"));
|
||||||
|
wait_ms(INCOGNITO_DELAY);
|
||||||
SEND_STRING(SS_LCTL("v") SS_TAP(X_ENTER));
|
SEND_STRING(SS_LCTL("v") SS_TAP(X_ENTER));
|
||||||
} else if ( get_mods() & MOD_MASK_CTRL ) {
|
} else if (get_mods() & MOD_MASK_CTRL) {
|
||||||
//Chrome
|
//Chrome
|
||||||
clear_mods();
|
clear_mods();
|
||||||
SEND_STRING(SS_LCTL("lcNv") SS_TAP(X_ENTER));
|
SEND_STRING(SS_LCTL("lc"));
|
||||||
|
wait_ms(COPY_DELAY);
|
||||||
|
SEND_STRING(SS_LCTL("Nv") SS_TAP(X_ENTER));
|
||||||
} else {
|
} else {
|
||||||
SEND_STRING(SS_LCTL("lctv"));
|
SEND_STRING(SS_LCTL("lc"));
|
||||||
|
wait_ms(COPY_DELAY);
|
||||||
|
SEND_STRING(SS_LCTL("tv"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case CTRL_CAV:
|
case CTRL_CAV:
|
||||||
if (record->event.pressed) {
|
if (record->event.pressed) {
|
||||||
SEND_STRING(SS_LCTL("c" SS_TAP(X_TAB)));
|
SEND_STRING(SS_LCTL("c" SS_TAP(X_TAB)));
|
||||||
wait_ms(50);
|
wait_ms(COPY_DELAY);
|
||||||
SEND_STRING(SS_LCTL("av"));
|
SEND_STRING(SS_LCTL("av"));
|
||||||
}
|
}
|
||||||
break;
|
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:
|
case SARCASM:
|
||||||
if (record->event.pressed) {
|
if (record->event.pressed) {
|
||||||
|
del_mods(MOD_LSFT);
|
||||||
sarcasm_on = !sarcasm_on;
|
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;
|
break;
|
||||||
|
|
||||||
@ -247,14 +320,23 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
|||||||
case TOG_OS:
|
case TOG_OS:
|
||||||
if (record->event.pressed) {
|
if (record->event.pressed) {
|
||||||
is_win = ! is_win;
|
is_win = ! is_win;
|
||||||
led_show_current_os();
|
led_show_variable_status(is_win);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case CTR_ALT:
|
case CTR_ALT:
|
||||||
if (record->event.pressed) {
|
if (record->event.pressed) {
|
||||||
send_string(key_down[is_win]);
|
add_mods(OS_MOD_KEYS[is_win]);
|
||||||
} else {
|
} else {
|
||||||
send_string(key_up[is_win]);
|
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;
|
break;
|
||||||
case OS_CTRL:
|
case OS_CTRL:
|
||||||
@ -298,166 +380,342 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
|||||||
// break;
|
// break;
|
||||||
// case :
|
// case :
|
||||||
// if (record->event.pressed) {
|
// if (record->event.pressed) {
|
||||||
// send_string_remembering_length("", "");
|
// send_shifted_strings("", "");
|
||||||
// }
|
// }
|
||||||
// break;
|
// break;
|
||||||
case TILD_BLOCK:
|
case TILD_BLOCK:
|
||||||
if (record->event.pressed) {
|
if (record->event.pressed) {
|
||||||
SEND_STRING("```" SS_LSFT(SS_TAP(X_ENTER) SS_TAP(X_ENTER)) "```" SS_TAP(X_UP));
|
uint8_t alted = get_mods() & MOD_MASK_ALT;
|
||||||
char_to_del = 4;
|
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;
|
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:
|
case ADMINS:
|
||||||
if (record->event.pressed) {
|
if (record->event.pressed) {
|
||||||
send_shifted_strings_add("admin", "/aurora/status");
|
send_string_remembering_length("admin");
|
||||||
}
|
|
||||||
break;
|
|
||||||
case PRESCRIPTION:
|
|
||||||
if (record->event.pressed) {
|
|
||||||
SEND_STRING("55\t12122019\t");
|
|
||||||
char_to_del = 8;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case FOURS:
|
|
||||||
if (record->event.pressed) {
|
|
||||||
SEND_STRING("4444333322221111\t1\t12\t21\t123\n");
|
|
||||||
char_to_del = 16;
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case G_ADD:
|
case G_ADD:
|
||||||
if (record->event.pressed) {
|
if (record->event.pressed) {
|
||||||
send_string_remembering_length("git add ");
|
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();
|
|
||||||
|
|
||||||
backspace_n_times(15);
|
|
||||||
SEND_STRING("heckout ");
|
|
||||||
char_to_del = 13;
|
|
||||||
if (shifted) {
|
|
||||||
SEND_STRING("-b ");
|
|
||||||
char_to_del = 16;
|
|
||||||
}
|
}
|
||||||
layer_off(GIT_C);
|
break;
|
||||||
}
|
case G_BRCH:
|
||||||
break;
|
if (record->event.pressed) {
|
||||||
case G_COMM:
|
send_shifted_strings_add("git branch ", "-d ");
|
||||||
if (!record->event.pressed) {
|
|
||||||
bool shifted = get_mods() & MOD_MASK_SHIFT;
|
|
||||||
clear_mods();
|
|
||||||
|
|
||||||
backspace_n_times(15);
|
|
||||||
SEND_STRING("ommit -");
|
|
||||||
char_to_del = 15;
|
|
||||||
if (shifted) {
|
|
||||||
SEND_STRING("a");
|
|
||||||
char_to_del = 16;
|
|
||||||
}
|
}
|
||||||
SEND_STRING("m \"\"" SS_TAP(X_LEFT));
|
break;
|
||||||
layer_off(GIT_C);
|
case G_C:
|
||||||
}
|
if (record->event.pressed) {
|
||||||
break;
|
send_string_remembering_length("git c[Heckout/Ommit]");
|
||||||
case G_DEV:
|
layer_on(GIT_C);
|
||||||
if (record->event.pressed) {
|
}
|
||||||
send_shifted_strings("develop", "master");
|
break;
|
||||||
}
|
case G_CHEC:
|
||||||
break;
|
if (!record->event.pressed) {
|
||||||
case G_DIFF:
|
bool shifted = get_mods() & MOD_MASK_SHIFT;
|
||||||
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_P:
|
|
||||||
if (record->event.pressed) {
|
|
||||||
send_shifted_strings_add("git pu", "sh -u ");
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case G_RST:
|
|
||||||
if (record->event.pressed) {
|
|
||||||
send_string_remembering_length("git reset ");
|
|
||||||
}
|
|
||||||
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) {
|
|
||||||
backspace_n_times(16);
|
|
||||||
SEND_STRING("how ");
|
|
||||||
char_to_del = 9;
|
|
||||||
layer_off(GIT_S);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case G_STSH:
|
|
||||||
if (!record->event.pressed) {
|
|
||||||
bool shifted = get_mods() & MOD_MASK_SHIFT;
|
|
||||||
clear_mods();
|
|
||||||
|
|
||||||
backspace_n_times(16);
|
|
||||||
SEND_STRING("tash ");
|
|
||||||
char_to_del = 10;
|
|
||||||
|
|
||||||
if (shifted) {
|
|
||||||
clear_mods();
|
clear_mods();
|
||||||
SEND_STRING("apply ");
|
|
||||||
|
press_n_times(15, KC_BSPACE);
|
||||||
char_to_del = 16;
|
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();
|
||||||
|
|
||||||
layer_off(GIT_S);
|
press_n_times(15, KC_BSPACE);
|
||||||
}
|
send_string_with_translation("ommit ");
|
||||||
break;
|
char_to_bspace = 11;
|
||||||
case G_STAT:
|
layer_off(GIT_C);
|
||||||
if (!record->event.pressed) {
|
|
||||||
backspace_n_times(16);
|
|
||||||
SEND_STRING("tatus ");
|
|
||||||
char_to_del = 11;
|
|
||||||
layer_off(GIT_S);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case CTL_ALT_START ... CTL_ALT_END:
|
if (ctrled) {
|
||||||
if (record->event.pressed) {
|
return false;
|
||||||
if (is_win) {
|
}
|
||||||
tap_code16(LCTL(keycode - CTL_ALT_START));
|
|
||||||
|
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_BSPACE);
|
||||||
|
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_BSPACE);
|
||||||
|
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_BSPACE);
|
||||||
|
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_BSPACE);
|
||||||
|
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_BSPACE);
|
||||||
|
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_BSPACE);
|
||||||
|
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 {
|
} else {
|
||||||
tap_code16(LALT(keycode - CTL_ALT_START));
|
if (is_win) {
|
||||||
|
unregister_code16(LCTL(keycode - CTL_ALT_START));
|
||||||
|
} else {
|
||||||
|
unregister_code16(LALT(keycode - CTL_ALT_START));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
break;
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return process_record_keymap(keycode, record);
|
return process_record_keymap(keycode, record);
|
||||||
|
@ -1,18 +1,30 @@
|
|||||||
|
// Copyright 2022 Artjoms Rizihs (@artjomsR)
|
||||||
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
#include QMK_KEYBOARD_H
|
#include QMK_KEYBOARD_H
|
||||||
|
|
||||||
#define CTL_ALT(kc) (CTL_ALT_START + ((kc) & 0xff))
|
#define CTL_ALT(kc) (CTL_ALT_START + ((kc) & 0xff))
|
||||||
|
|
||||||
extern bool is_win;
|
extern bool is_win;
|
||||||
|
#define TYPING_INTERVAL 20
|
||||||
|
#define LONG_TYPING_INTERVAL 50
|
||||||
|
|
||||||
enum layer_names {
|
enum layer_names {
|
||||||
|
#if SPLIT75_SETUP_FOR_PUBLIC_USE_BY_DEFAULT && defined(KEYBOARD_wheatfield_split75) // defined by "KEYBOARD" followed by folder structure
|
||||||
|
BASE,
|
||||||
QWERTY,
|
QWERTY,
|
||||||
WORKMAN,
|
#else
|
||||||
BASE, //only specific for split75
|
QWERTY,
|
||||||
#if defined(KEYBOARD_wheatfield_split75)
|
BASE,
|
||||||
QWERTY_MOD,
|
#endif
|
||||||
|
|
||||||
|
WORKMAN,
|
||||||
|
#if defined(KEYBOARD_mt_split75)
|
||||||
|
CONFIG,
|
||||||
LAYOUT_CHG,
|
LAYOUT_CHG,
|
||||||
#elif defined(KEYBOARD_ergodone)
|
QWERTY_MOD,
|
||||||
|
#elif defined(KEYBOARD_ktec_ergodone)
|
||||||
FKEYS,
|
FKEYS,
|
||||||
CTRL_NAV,
|
CTRL_NAV,
|
||||||
SHIFT_NAV,
|
SHIFT_NAV,
|
||||||
@ -20,12 +32,12 @@ enum layer_names {
|
|||||||
|
|
||||||
MEDIA,
|
MEDIA,
|
||||||
COMBOS,
|
COMBOS,
|
||||||
STRINGS,
|
//STRINGS,
|
||||||
CONFIG,
|
|
||||||
NAV,
|
NAV,
|
||||||
NUMPAD,
|
NUMPAD,
|
||||||
GIT,
|
GIT,
|
||||||
GIT_C,
|
GIT_C,
|
||||||
|
GIT_R,
|
||||||
GIT_S
|
GIT_S
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -33,35 +45,61 @@ enum custom_keycodes_art {
|
|||||||
CTRL_CTV = SAFE_RANGE,
|
CTRL_CTV = SAFE_RANGE,
|
||||||
CTRL_LCTV,
|
CTRL_LCTV,
|
||||||
CTRL_CAV,
|
CTRL_CAV,
|
||||||
|
BEAT_BROWSER,
|
||||||
|
NEUTRAL_COPY,
|
||||||
SARCASM,
|
SARCASM,
|
||||||
|
LMB_SPAM,
|
||||||
|
|
||||||
TOG_OS,
|
TOG_OS,
|
||||||
CTR_ALT,
|
CTR_ALT,
|
||||||
|
CTR_ALT_SHIFT,
|
||||||
OS_CTRL,
|
OS_CTRL,
|
||||||
OS_WIN,
|
OS_WIN,
|
||||||
|
|
||||||
TILD_BLOCK,
|
TILD_BLOCK,
|
||||||
|
ALL_BEST,
|
||||||
|
AT_EMAIL,
|
||||||
|
BRACES,
|
||||||
|
DASHES,
|
||||||
|
PARENTHS,
|
||||||
|
STARS,
|
||||||
|
QUOTES,
|
||||||
|
QUOTES_RU,
|
||||||
|
|
||||||
ADMINS,
|
ADMINS,
|
||||||
PRESCRIPTION,
|
PRESCRIPTION,
|
||||||
FOURS,
|
FOURS,
|
||||||
|
|
||||||
G_ADD,
|
G_ADD,
|
||||||
G_BRCH,
|
G_BRCH,
|
||||||
G_C,
|
G_C,
|
||||||
G_CHEC,
|
G_CHEC,
|
||||||
G_COMM,
|
G_COMM,
|
||||||
G_DEV,
|
G_DEV,
|
||||||
G_DIFF,
|
G_DIFF,
|
||||||
G_FTCH,
|
G_FTCH,
|
||||||
G_LOG,
|
G_LOG,
|
||||||
G_MERG,
|
G_MERG,
|
||||||
G_P,
|
G_PULL,
|
||||||
|
G_PUSH,
|
||||||
|
G_R,
|
||||||
|
G_RBASE,
|
||||||
|
G_RVERT,
|
||||||
G_RST,
|
G_RST,
|
||||||
G_S,
|
G_S,
|
||||||
G_STAT,
|
G_STAT,
|
||||||
G_STSH,
|
G_STSH,
|
||||||
G_SHOW,
|
G_SHOW,
|
||||||
|
|
||||||
|
K_CUST1,
|
||||||
|
K_CUST2,
|
||||||
|
K_CUST3,
|
||||||
|
|
||||||
|
K_SECR1,
|
||||||
|
K_SECR2,
|
||||||
|
K_SECR3,
|
||||||
|
K_SECR4,
|
||||||
|
|
||||||
CTL_ALT_START,
|
CTL_ALT_START,
|
||||||
CTL_ALT_END = CTL_ALT_START + 0xff,
|
CTL_ALT_END = CTL_ALT_START + 0xff,
|
||||||
|
|
||||||
|
7
users/art/art_user_config.h.example
Normal file
7
users/art/art_user_config.h.example
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
// 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))
|
@ -1,4 +1,14 @@
|
|||||||
|
// Copyright 2022 Artjoms Rizihs (@artjomsR)
|
||||||
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#undef TAPPING_TOGGLE
|
#undef TAPPING_TOGGLE
|
||||||
#define TAPPING_TOGGLE 2
|
#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
|
8
users/art/custom_definitions.h.example
Normal file
8
users/art/custom_definitions.h.example
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
// Copyright 2022 Artjoms Rizihs (@artjomsR)
|
||||||
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
|
static char * custom[] = {
|
||||||
|
"",
|
||||||
|
"",
|
||||||
|
""
|
||||||
|
};
|
55
users/art/funcs/led_funcs.c
Normal file
55
users/art/funcs/led_funcs.c
Normal file
@ -0,0 +1,55 @@
|
|||||||
|
// 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);
|
||||||
|
}
|
||||||
|
}
|
17
users/art/funcs/led_funcs.h
Normal file
17
users/art/funcs/led_funcs.h
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
// 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);
|
309
users/art/funcs/string_funcs.c
Normal file
309
users/art/funcs/string_funcs.c
Normal file
@ -0,0 +1,309 @@
|
|||||||
|
// 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,
|
||||||
|
COMBO_LENGTH
|
||||||
|
};
|
||||||
|
uint16_t COMBO_LEN = COMBO_LENGTH; // do not remove - needed for combos to work
|
||||||
|
|
||||||
|
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_LCTRL, COMBO_END};
|
||||||
|
const uint16_t PROGMEM combo_next_word[] = {KC_F, KC_LCTRL, 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_RCTRL, 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_PSCREEN),
|
||||||
|
|
||||||
|
[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_BSPACE);
|
||||||
|
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);
|
||||||
|
}
|
||||||
|
}
|
14
users/art/funcs/string_funcs.h
Normal file
14
users/art/funcs/string_funcs.h
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
// 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);
|
@ -1 +1,15 @@
|
|||||||
SRC += art.c
|
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
|
9
users/art/secr.h.example
Normal file
9
users/art/secr.h.example
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
// Copyright 2022 Artjoms Rizihs (@artjomsR)
|
||||||
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
|
static char * secrets[] = {
|
||||||
|
"",
|
||||||
|
"",
|
||||||
|
"",
|
||||||
|
""
|
||||||
|
};
|
Loading…
Reference in New Issue
Block a user