Скопировал код QMK в VIAL
This commit is contained in:
parent
1856d4ded5
commit
f1951dc0a6
3 changed files with 103 additions and 58 deletions
|
|
@ -36,25 +36,25 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
|
||||||
[L_ENG] = LAYOUT(
|
[L_ENG] = LAYOUT(
|
||||||
//,-----------------------------------------------------------------------. ,-----------------------------------------------------------------------.
|
//,-----------------------------------------------------------------------. ,-----------------------------------------------------------------------.
|
||||||
KC_ESC, EN_F, EN_L, EN_H, EN_V, EN_Z, EN_Q, EN_W, EN_U, EN_O, EN_Y, DF(L_GAME),
|
KC_ESC, KC_F, KC_L, KC_H, KC_V, KC_Z, KC_Q, KC_W, KC_U, KC_O, KC_Y, DF(L_GAME),
|
||||||
//|-----------+-----------+-----------+-----------+-----------+-----------| |-----------+-----------+-----------+-----------+-----------+-----------|
|
//|-----------+-----------+-----------+-----------+-----------+-----------| |-----------+-----------+-----------+-----------+-----------+-----------|
|
||||||
XXXXXXX, WIN_T(EN_S),ALT_T(EN_R),CTL_T(EN_N),SFT_T(EN_T), EN_K, EN_C, SFT_T(EN_D),CTL_T(EN_E),ALT_T(EN_A),WIN_T(EN_I), XXXXXXX,
|
XXXXXXX, WIN_T(KC_S),ALT_T(KC_R),CTL_T(KC_N),SFT_T(KC_T), KC_K, KC_C, SFT_T(KC_D),CTL_T(KC_E),ALT_T(KC_A),WIN_T(KC_I), XXXXXXX,
|
||||||
//|-----------+-----------+-----------+-----------+-----------+-----------| |-----------+-----------+-----------+-----------+-----------+-----------|
|
//|-----------+-----------+-----------+-----------+-----------+-----------| |-----------+-----------+-----------+-----------+-----------+-----------|
|
||||||
XXXXXXX, EN_X, XXXXXXX, EN_B, EN_M, EN_J, EN_P, EN_G, XXXXXXX, XXXXXXX, XXXXXXX, LA_CHNG,
|
XXXXXXX, KC_X, XXXXXXX, KC_B, KC_M, KC_J, KC_P, KC_G, XXXXXXX, XXXXXXX, XXXXXXX, LA_CHNG,
|
||||||
//|-----------+-----------+-----------+-----------+-----------+-----------+-----------||-----------+-----------+-----------+-----------+-----------+-----------+-----------|
|
//|-----------+-----------+-----------+-----------+-----------+-----------+-----------||-----------+-----------+-----------+-----------+-----------+-----------+-----------|
|
||||||
LT(L_MEDIA, KC_ENT), LT(L_MOUSE, KC_BSPC), MO(L_NAV), MO(L_SYM), LT(L_FUN, KC_SPC), MO(L_NUM)
|
LT(L_MEDIA, KC_ENT), LT(L_MOUSE, KC_BSPC), MO(L_NAV), MO(L_SYM), LT(L_FUN, KC_SPC), MO(L_NUM)
|
||||||
//`+--------------------+--------------------+--------------------||--------------------+--------------------+--------------------+'
|
//`+--------------------+--------------------+--------------------||--------------------+--------------------+--------------------+'
|
||||||
),
|
),
|
||||||
|
|
||||||
[L_RU] = LAYOUT(
|
[L_RU] = LAYOUT(
|
||||||
//,-----------------------------------------------------------------------. ,-----------------------------------------------------------------------.
|
//,-----------------------------------------------------------------------. ,-----------------------------------------------------------------------.
|
||||||
KC_ESC, RU_F, RU_E, RU_JA, RU_Y, RU_HD, RU_J, RU_B, RU_L, RU_K, RU_TS, RU_ZH,
|
KC_ESC, KC_A, KC_QUOT, KC_Z, KC_S, KC_RBRC, KC_Q, KC_COMM, KC_K, KC_R, KC_W, KC_SCLN,
|
||||||
//|-----------+-----------+-----------+-----------+-----------+-----------| |-----------+-----------+-----------+-----------+-----------+-----------|
|
//|-----------+-----------+-----------+-----------+-----------+-----------| |-----------+-----------+-----------+-----------+-----------+-----------|
|
||||||
RU_SC, WIN_T(RU_S),ALT_T(RU_JE),CTL_T(RU_O),SFT_T(RU_A), RU_SF, RU_D, SFT_T(RU_T),CTL_T(RU_N),ALT_T(RU_V),WIN_T(RU_Z), RU_CH,
|
KC_O, WIN_T(KC_C),ALT_T(KC_T),CTL_T(KC_J),SFT_T(KC_F), KC_M, KC_L, SFT_T(KC_N),CTL_T(KC_Y),ALT_T(KC_D),WIN_T(KC_P), KC_X,
|
||||||
//|-----------+-----------+-----------+-----------+-----------+-----------| |-----------+-----------+-----------+-----------+-----------+-----------|
|
//|-----------+-----------+-----------+-----------+-----------+-----------| |-----------+-----------+-----------+-----------+-----------+-----------|
|
||||||
LA_CHNG, RU_SH, RU_JU, RU_U, RU_I, RU_JO, RU_G, RU_M, RU_R, RU_P, RU_H, XXXXXXX,
|
LA_CHNG, KC_I, KC_DOT, KC_E, KC_B, KC_GRV, KC_U, KC_V, KC_H, KC_G, KC_LBRC, XXXXXXX,
|
||||||
//|-----------+-----------+-----------+-----------+-----------+-----------+-----------||-----------+-----------+-----------+-----------+-----------+-----------+-----------|
|
//|-----------+-----------+-----------+-----------+-----------+-----------+-----------||-----------+-----------+-----------+-----------+-----------+-----------+-----------|
|
||||||
LT(L_MEDIA, KC_ENT), LT(L_MOUSE, KC_BSPC), MO(L_NAV), MO(L_SYM), LT(L_FUN, KC_SPC), MO(L_NUM)
|
LT(L_MEDIA, KC_ENT), LT(L_MOUSE, KC_BSPC), MO(L_NAV), MO(L_SYM), LT(L_FUN, KC_SPC), MO(L_NUM)
|
||||||
//`+--------------------+--------------------+--------------------||--------------------+--------------------+--------------------+'
|
//`+--------------------+--------------------+--------------------||--------------------+--------------------+--------------------+'
|
||||||
),
|
),
|
||||||
|
|
||||||
|
|
@ -98,9 +98,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
//,-----------------------------------------------------------------------. ,-----------------------------------------------------------------------.
|
//,-----------------------------------------------------------------------. ,-----------------------------------------------------------------------.
|
||||||
XXXXXXX, EN_AT, EN_HASH, EN_DLR, AG_PERC, EN_CIRC, EN_AMPR, AG_ASTR, AG_MINS, AG_EQL, AG_PLUS, XXXXXXX,
|
XXXXXXX, EN_AT, EN_HASH, EN_DLR, AG_PERC, EN_CIRC, EN_AMPR, AG_ASTR, AG_MINS, AG_EQL, AG_PLUS, XXXXXXX,
|
||||||
//|-----------+-----------+-----------+-----------+-----------+-----------| |-----------+-----------+-----------+-----------+-----------+-----------|
|
//|-----------+-----------+-----------+-----------+-----------+-----------| |-----------+-----------+-----------+-----------+-----------+-----------|
|
||||||
C(EN_SLSH), AG_EXCL, AG_QUES, AG_COMM, AG_DOT, EN_GRV, AG_BSLS, AG_LPRN, EN_LCBR, EN_LBRC, EN_LT, XXXXXXX,
|
AG_COMM, AG_EXCL, AG_QUES, COMMA_SPACE, SMART_DOT, AG_DOT, AG_BSLS, AG_LPRN, EN_LCBR, EN_LBRC, EN_LT, EN_GRV,
|
||||||
//|-----------+-----------+-----------+-----------+-----------+-----------| |-----------+-----------+-----------+-----------+-----------+-----------|
|
//|-----------+-----------+-----------+-----------+-----------+-----------| |-----------+-----------+-----------+-----------+-----------+-----------|
|
||||||
XXXXXXX, AG_SLSH, RU_NUME, AG_DQUO, EN_QUOT, EN_TILD, EN_PIPE, AG_RPRN, EN_RCBR, EN_RBRC, EN_GT, XXXXXXX,
|
XXXXXXX, EN_SLSH, RU_NUME, AG_DQUO, EN_QUOT, ONCE_SHIFT, EN_PIPE, AG_RPRN, EN_RCBR, EN_RBRC, EN_GT, EN_TILD,
|
||||||
//|-----------+-----------+-----------+-----------+-----------+-----------+-----------||-----------+-----------+-----------+-----------+-----------+-----------+-----------|
|
//|-----------+-----------+-----------+-----------+-----------+-----------+-----------||-----------+-----------+-----------+-----------+-----------+-----------+-----------|
|
||||||
AG_UNDS, AG_COLN, AG_SCLN, XXXXXXX, XXXXXXX, XXXXXXX
|
AG_UNDS, AG_COLN, AG_SCLN, XXXXXXX, XXXXXXX, XXXXXXX
|
||||||
//`+-----------+-----------+-----------||-----------+-----------+-----------+'
|
//`+-----------+-----------+-----------||-----------+-----------+-----------+'
|
||||||
|
|
@ -138,17 +138,56 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
//|-----------+-----------+-----------+-----------+-----------+-----------| |-----------+-----------+-----------+-----------+-----------+-----------|
|
//|-----------+-----------+-----------+-----------+-----------+-----------| |-----------+-----------+-----------+-----------+-----------+-----------|
|
||||||
KC_LCTL, KC_B, KC_Z, KC_X, KC_C, KC_V, KC_N, KC_LEFT, KC_DOWN, KC_RGHT, KC_M, KC_SLSH,
|
KC_LCTL, KC_B, KC_Z, KC_X, KC_C, KC_V, KC_N, KC_LEFT, KC_DOWN, KC_RGHT, KC_M, KC_SLSH,
|
||||||
//|-----------+-----------+-----------+-----------+-----------+-----------+-----------||-----------+-----------+-----------+-----------+-----------+-----------+-----------|
|
//|-----------+-----------+-----------+-----------+-----------+-----------+-----------||-----------+-----------+-----------+-----------+-----------+-----------+-----------|
|
||||||
KC_LALT, KC_SPC, LT(L_NUM, KC_ESC) KC_H, KC_SPC, LT(L_FUN, KC_ENT)
|
KC_LALT, KC_SPC, LT(L_NUM, KC_ESC), KC_H, KC_SPC, LT(L_FUN, KC_ENT)
|
||||||
//`+--------------------+--------------------+--------------------||--------------------+--------------------+--------------------+'
|
//`+--------------------+--------------------+--------------------||--------------------+--------------------+--------------------+'
|
||||||
)
|
)
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
//idk lang_shift
|
bool shift_on_next_key = false;
|
||||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
|
||||||
|
// Обработка нажатий?
|
||||||
|
bool process_record_user(uint16_t keycode, keyrecord_t *record) { // В конце должно быть true, чтоб символ напечатался.
|
||||||
|
// lang_shift
|
||||||
if (!lang_shift_process_record(keycode, record))
|
if (!lang_shift_process_record(keycode, record))
|
||||||
return false;
|
return false;
|
||||||
return true;
|
|
||||||
|
|
||||||
|
// Одиночный шифт от GPT4. Потому что одиночный шифт lang_shift не нравится. Но этот шифт не умеет работать с кастом кейкодами lang_shift
|
||||||
|
if (keycode == ONCE_SHIFT && record->event.pressed) {
|
||||||
|
shift_on_next_key = true;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (shift_on_next_key && record->event.pressed) {
|
||||||
|
register_code(KC_LSFT);
|
||||||
|
register_code(keycode);
|
||||||
|
unregister_code(keycode);
|
||||||
|
unregister_code(KC_LSFT);
|
||||||
|
shift_on_next_key = false;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// Умная точка
|
||||||
|
if (keycode == SMART_DOT && record->event.pressed) {
|
||||||
|
lang_shift_tap_key(AG_DOT);
|
||||||
|
register_code(KC_SPC);
|
||||||
|
unregister_code(KC_SPC);
|
||||||
|
shift_on_next_key = true;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// Запятая + пробел
|
||||||
|
if (keycode == COMMA_SPACE && record->event.pressed) {
|
||||||
|
lang_shift_tap_key(AG_COMM);
|
||||||
|
register_code(KC_SPC);
|
||||||
|
unregister_code(KC_SPC);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return true; // Если условия выше не сработали, то отправить символ как есть
|
||||||
};
|
};
|
||||||
|
|
||||||
void user_timer(void) {
|
void user_timer(void) {
|
||||||
|
|
@ -160,14 +199,14 @@ void user_timer(void) {
|
||||||
layer_state_t default_layer_state_set_user(layer_state_t state) {
|
layer_state_t default_layer_state_set_user(layer_state_t state) {
|
||||||
switch (get_highest_layer(state)) {
|
switch (get_highest_layer(state)) {
|
||||||
case L_ENG:
|
case L_ENG:
|
||||||
rgblight_sethsv(HSV_ROSE);
|
rgblight_sethsv(HSV_PINK);
|
||||||
break;
|
break;
|
||||||
case L_GAME:
|
case L_GAME:
|
||||||
rgblight_sethsv(HSV_ORANGE);
|
rgblight_sethsv(HSV_ORANGE);
|
||||||
break;
|
break;
|
||||||
default: // for any other layers, or the default layer
|
default: // for any other layers, or the default layer
|
||||||
rgblight_sethsv(HSV_WHITE);
|
rgblight_sethsv(HSV_WHITE);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
return state;
|
return state;
|
||||||
};
|
};
|
||||||
|
|
@ -175,29 +214,29 @@ layer_state_t default_layer_state_set_user(layer_state_t state) {
|
||||||
layer_state_t layer_state_set_user(layer_state_t state) {
|
layer_state_t layer_state_set_user(layer_state_t state) {
|
||||||
switch (get_highest_layer(state)) {
|
switch (get_highest_layer(state)) {
|
||||||
case L_RU:
|
case L_RU:
|
||||||
rgblight_sethsv(HSV_VIOLET);
|
rgblight_sethsv(HSV_PURPLE);
|
||||||
break;
|
break;
|
||||||
case L_MEDIA:
|
case L_MEDIA:
|
||||||
rgblight_sethsv(HSV_MAGENTA);
|
rgblight_sethsv(HSV_MAGENTA);
|
||||||
break;
|
break;
|
||||||
case L_NAV:
|
case L_NAV:
|
||||||
rgblight_sethsv(HSV_CYAN);
|
rgblight_sethsv(HSV_CYAN);
|
||||||
break;
|
break;
|
||||||
case L_MOUSE:
|
case L_MOUSE:
|
||||||
rgblight_sethsv(HSV_YELLOW);
|
rgblight_sethsv(HSV_YELLOW);
|
||||||
break;
|
break;
|
||||||
case L_SYM:
|
case L_SYM:
|
||||||
rgblight_sethsv(HSV_GREEN);
|
rgblight_sethsv(HSV_GREEN);
|
||||||
break;
|
break;
|
||||||
case L_NUM:
|
case L_NUM:
|
||||||
rgblight_sethsv(HSV_BLUE);
|
rgblight_sethsv(HSV_BLUE);
|
||||||
break;
|
break;
|
||||||
case L_FUN:
|
case L_FUN:
|
||||||
rgblight_sethsv(HSV_RED);
|
rgblight_sethsv(HSV_RED);
|
||||||
break;
|
break;
|
||||||
default: // for any other layers, or the default layer
|
default: // for any other layers, or the default layer
|
||||||
rgblight_sethsv(HSV_WHITE);
|
rgblight_sethsv(HSV_WHITE);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
return state;
|
return state;
|
||||||
};
|
};
|
||||||
|
|
@ -213,7 +252,7 @@ void matrix_scan_user(void) {
|
||||||
!layer_state_cmp(layer_state, L_NUM) &&
|
!layer_state_cmp(layer_state, L_NUM) &&
|
||||||
!layer_state_cmp(layer_state, L_FUN) &&
|
!layer_state_cmp(layer_state, L_FUN) &&
|
||||||
!layer_state_cmp(layer_state, L_RU)) {
|
!layer_state_cmp(layer_state, L_RU)) {
|
||||||
// Если ни один из этих слоев не активен, обновляем подсветку на основе текущего базового слоя
|
// Если ни один из этих слоев не активен, обновляем подсветку на основе текущего базового слоя
|
||||||
default_layer_state_set_user(default_layer_state);
|
default_layer_state_set_user(default_layer_state);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -281,6 +281,12 @@ enum lang_shift_keycodes {
|
||||||
LA_SHCT, /* Задаёт переключение языка на Shift + Ctrl. На Win10 это позволяет избежать появления окна переключения языков. */
|
LA_SHCT, /* Задаёт переключение языка на Shift + Ctrl. На Win10 это позволяет избежать появления окна переключения языков. */
|
||||||
LA_WISP, /* Задаёт переключение языка на Win + Shift. */
|
LA_WISP, /* Задаёт переключение языка на Win + Shift. */
|
||||||
|
|
||||||
|
/* -------------------------------------------------------------------- */
|
||||||
|
/* Кейкоды от Buliway. */
|
||||||
|
ONCE_SHIFT, /* Зажимает шифт до тех пор, пока не будет нажата любая другая клавиша. Не работает с кастом кейкодами, только стандартные */
|
||||||
|
SMART_DOT, /* Отправить агностик точку из lang_shift, нажать пробел, активировать одиночный шифт ONCE_SHIFT */
|
||||||
|
COMMA_SPACE, /* Отправить агностик запятую из lang_shift, нажать пробел */
|
||||||
|
|
||||||
/* -------------------------------------------------------------------- */
|
/* -------------------------------------------------------------------- */
|
||||||
/* SAFE_RANGE данной библиотеки. */
|
/* SAFE_RANGE данной библиотеки. */
|
||||||
LANG_SHIFT_NEW_SAFE_RANGE,
|
LANG_SHIFT_NEW_SAFE_RANGE,
|
||||||
|
|
|
||||||
|
|
@ -120,9 +120,9 @@ void shift_activate(Shift shift) {
|
||||||
if (shift_current != shift) {
|
if (shift_current != shift) {
|
||||||
shift_timer = timer_read();
|
shift_timer = timer_read();
|
||||||
if (shift) {
|
if (shift) {
|
||||||
register_code(KC_LSHIFT);
|
register_code(KC_LSFT);
|
||||||
} else {
|
} else {
|
||||||
unregister_code(KC_LSHIFT);
|
unregister_code(KC_LSFT);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
shift_current = shift;
|
shift_current = shift;
|
||||||
|
|
@ -328,10 +328,10 @@ void lang_synchronize(void) {
|
||||||
case LANG_CHANGE_CAPS: {
|
case LANG_CHANGE_CAPS: {
|
||||||
// Костыль, потому что при нажатии Shift+Caps включается режим Caps, а не переключение языка :facepalm:
|
// Костыль, потому что при нажатии Shift+Caps включается режим Caps, а не переключение языка :facepalm:
|
||||||
if (shift_current == 1) {
|
if (shift_current == 1) {
|
||||||
unregister_code(KC_LSHIFT);
|
unregister_code(KC_LSFT);
|
||||||
register_code(KC_CAPS);
|
register_code(KC_CAPS);
|
||||||
unregister_code(KC_CAPS);
|
unregister_code(KC_CAPS);
|
||||||
register_code(KC_LSHIFT);
|
register_code(KC_LSFT);
|
||||||
} else {
|
} else {
|
||||||
register_code(KC_CAPS);
|
register_code(KC_CAPS);
|
||||||
unregister_code(KC_CAPS);
|
unregister_code(KC_CAPS);
|
||||||
|
|
@ -339,46 +339,46 @@ void lang_synchronize(void) {
|
||||||
} break;
|
} break;
|
||||||
case LANG_CHANGE_ALT_SHIFT: {
|
case LANG_CHANGE_ALT_SHIFT: {
|
||||||
register_code(KC_LALT);
|
register_code(KC_LALT);
|
||||||
register_code(KC_LSHIFT);
|
register_code(KC_LSFT);
|
||||||
unregister_code(KC_LSHIFT);
|
unregister_code(KC_LSFT);
|
||||||
unregister_code(KC_LALT);
|
unregister_code(KC_LALT);
|
||||||
|
|
||||||
// Костыль, потому что при зажатом шифте если хочется нажать клавишу, которая переключает язык, то шифт слетает...
|
// Костыль, потому что при зажатом шифте если хочется нажать клавишу, которая переключает язык, то шифт слетает...
|
||||||
if (shift_current == 1) {
|
if (shift_current == 1) {
|
||||||
register_code(KC_LSHIFT);
|
register_code(KC_LSFT);
|
||||||
}
|
}
|
||||||
} break;
|
} break;
|
||||||
case LANG_CHANGE_SHIFT_ALT: {
|
case LANG_CHANGE_SHIFT_ALT: {
|
||||||
register_code(KC_LSHIFT);
|
register_code(KC_LSFT);
|
||||||
register_code(KC_LALT);
|
register_code(KC_LALT);
|
||||||
unregister_code(KC_LALT);
|
unregister_code(KC_LALT);
|
||||||
unregister_code(KC_LSHIFT);
|
unregister_code(KC_LSFT);
|
||||||
|
|
||||||
// Костыль, потому что при зажатом шифте если хочется нажать клавишу, которая переключает язык, то шифт слетает...
|
// Костыль, потому что при зажатом шифте если хочется нажать клавишу, которая переключает язык, то шифт слетает...
|
||||||
if (shift_current == 1) {
|
if (shift_current == 1) {
|
||||||
register_code(KC_LSHIFT);
|
register_code(KC_LSFT);
|
||||||
}
|
}
|
||||||
} break;
|
} break;
|
||||||
case LANG_CHANGE_CTRL_SHIFT: {
|
case LANG_CHANGE_CTRL_SHIFT: {
|
||||||
register_code(KC_LCTRL);
|
register_code(KC_LCTL);
|
||||||
register_code(KC_LSHIFT);
|
register_code(KC_LSFT);
|
||||||
unregister_code(KC_LSHIFT);
|
unregister_code(KC_LSFT);
|
||||||
unregister_code(KC_LCTL);
|
unregister_code(KC_LCTL);
|
||||||
|
|
||||||
// Костыль, потому что при зажатом шифте если хочется нажать клавишу, которая переключает язык, то шифт слетает...
|
// Костыль, потому что при зажатом шифте если хочется нажать клавишу, которая переключает язык, то шифт слетает...
|
||||||
if (shift_current == 1) {
|
if (shift_current == 1) {
|
||||||
register_code(KC_LSHIFT);
|
register_code(KC_LSFT);
|
||||||
}
|
}
|
||||||
} break;
|
} break;
|
||||||
case LANG_CHANGE_SHIFT_CTRL: {
|
case LANG_CHANGE_SHIFT_CTRL: {
|
||||||
register_code(KC_LSHIFT);
|
register_code(KC_LSFT);
|
||||||
register_code(KC_LCTRL);
|
register_code(KC_LCTL);
|
||||||
unregister_code(KC_LCTL);
|
unregister_code(KC_LCTL);
|
||||||
unregister_code(KC_LSHIFT);
|
unregister_code(KC_LSFT);
|
||||||
|
|
||||||
// Костыль, потому что при зажатом шифте если хочется нажать клавишу, которая переключает язык, то шифт слетает...
|
// Костыль, потому что при зажатом шифте если хочется нажать клавишу, которая переключает язык, то шифт слетает...
|
||||||
if (shift_current == 1) {
|
if (shift_current == 1) {
|
||||||
register_code(KC_LSHIFT);
|
register_code(KC_LSFT);
|
||||||
}
|
}
|
||||||
} break;
|
} break;
|
||||||
case LANG_CHANGE_WIN_SPACE: {
|
case LANG_CHANGE_WIN_SPACE: {
|
||||||
|
|
@ -602,21 +602,21 @@ bool lang_shift_process_english_modifiers(Key key, keyrecord_t* record) {
|
||||||
#define Un(x) unregister_code(KC_L ## x)
|
#define Un(x) unregister_code(KC_L ## x)
|
||||||
|
|
||||||
switch (key) {
|
switch (key) {
|
||||||
PROCESS(CTRL_0, Rg(CTRL), Un(CTRL), false);
|
PROCESS(CTRL_0, Rg(CTL), Un(CTL), false);
|
||||||
PROCESS(ALT_0, Rg(ALT), Un(ALT), false);
|
PROCESS(ALT_0, Rg(ALT), Un(ALT), false);
|
||||||
PROCESS(WIN_0, Rg(GUI), Un(GUI), false);
|
PROCESS(WIN_0, Rg(GUI), Un(GUI), false);
|
||||||
PROCESS(CTAL_0, { Rg(CTRL); Rg(ALT); }, { Un(ALT); Un(CTRL); }, false);
|
PROCESS(CTAL_0, { Rg(CTL); Rg(ALT); }, { Un(ALT); Un(CTL); }, false);
|
||||||
PROCESS(SHAL_0, { Rg(SHIFT); Rg(ALT); }, { Un(ALT); Un(SHIFT); }, false);
|
PROCESS(SHAL_0, { Rg(SFT); Rg(ALT); }, { Un(ALT); Un(SFT); }, false);
|
||||||
PROCESS(CTSH_0, { Rg(CTRL); Rg(SHIFT); }, { Un(SHIFT); Un(CTRL); }, false);
|
PROCESS(CTSH_0, { Rg(CTL); Rg(SFT); }, { Un(SFT); Un(CTL); }, false);
|
||||||
PROCESS(MCAS_0, { Rg(CTRL); Rg(ALT); Rg(SHIFT); }, { Un(SHIFT); Un(ALT); Un(CTRL); }, false);
|
PROCESS(MCAS_0, { Rg(CTL); Rg(ALT); Rg(SFT); }, { Un(SFT); Un(ALT); Un(CTL); }, false);
|
||||||
|
|
||||||
PROCESS(CTRL_EN, Rg(CTRL), Un(CTRL), true);
|
PROCESS(CTRL_EN, Rg(CTL), Un(CTL), true);
|
||||||
PROCESS(ALT_EN, Rg(ALT), Un(ALT), true);
|
PROCESS(ALT_EN, Rg(ALT), Un(ALT), true);
|
||||||
PROCESS(WIN_EN, Rg(GUI), Un(GUI), true);
|
PROCESS(WIN_EN, Rg(GUI), Un(GUI), true);
|
||||||
PROCESS(CTAL_EN, { Rg(CTRL); Rg(ALT); }, { Un(ALT); Un(CTRL); }, true);
|
PROCESS(CTAL_EN, { Rg(CTL); Rg(ALT); }, { Un(ALT); Un(CTL); }, true);
|
||||||
PROCESS(SHAL_EN, { Rg(SHIFT); Rg(ALT); }, { Un(ALT); Un(SHIFT); }, true);
|
PROCESS(SHAL_EN, { Rg(SFT); Rg(ALT); }, { Un(ALT); Un(SFT); }, true);
|
||||||
PROCESS(CTSH_EN, { Rg(CTRL); Rg(SHIFT); }, { Un(SHIFT); Un(CTRL); }, true);
|
PROCESS(CTSH_EN, { Rg(CTL); Rg(SFT); }, { Un(SFT); Un(CTL); }, true);
|
||||||
PROCESS(MCAS_EN, { Rg(CTRL); Rg(ALT); Rg(SHIFT); }, { Un(SHIFT); Un(ALT); Un(CTRL); }, true);
|
PROCESS(MCAS_EN, { Rg(CTL); Rg(ALT); Rg(SFT); }, { Un(SFT); Un(ALT); Un(CTL); }, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
|
|
||||||
Reference in a new issue