Ремап и слои в QMK/VIA: быстрый план настройки

Настройка клавиш QMK/VIA сводится к двум сценариям: если клавиатура уже с поддержкой VIA — меняете раскладку «на лету» без компиляции; если VIA не видит устройство — один раз прошиваете QMK с VIA_ENABLE = yes, а дальше настраиваете всё в VIA.

Оглавление

Что выбрать: VIA или QMK

VIA — самый быстрый ремап, QMK — максимум возможностей (но требует сборки и прошивки). Практичный компромисс — QMK + VIA: один раз сделать правильную прошивку, затем менять раскладку в интерфейсе VIA.

Когда достаточно VIA, а когда нужен QMK

ВариантПодходит, если нужноЧто может мешать
VIAбыстро переназначить клавиши, разложить навигацию по слоям, простые макросыклавиатура не VIA-ready или нужен JSON-лейаут
QMK + VIAто же, но стабильнее и с «планом Б» (boot/reset), плюс больше фич QMKпотребуется один цикл «собрать → прошить»
Чистый QMKсложная логика, combos/tap dance, тонкая обработка нажатийбольше кода и итераций

Быстрая настройка в VIA

  1. Подключите клавиатуру по USB и откройте VIA → вкладка Keymap/Configure.

  2. Если клавиатура не определяется, чаще всего причина одна из двух:

    • прошивка без поддержки VIA;
    • VIA не знает ваш лейаут и просит Draft Definition JSON (загружается в режиме Design/Definitions).
  3. Слои (Layers): начните с простой схемы, которая реально приживается:

  • Layer 0 (Base): базовая раскладка.
  • Layer 1 (Nav): стрелки, Home/End, PgUp/PgDn, Delete.
  • Layer 2 (Symbols): скобки, =, -, _, \, /, кавычки.
  1. Клавиши управления слоями (обычно доступны в VIA):
  • MO(layer) — слой активен, пока держите клавишу.
  • TG(layer) — переключатель слоя (вкл/выкл).
  • LT(layer, key) — тап/холд: тап = символ, удержание = слой (если ваша VIA-прошивка это поддерживает).

Для старта поставьте на большие пальцы MO(1) (навигация) и MO(2) (символы). Это быстрее всего даёт прирост удобства и почти не ломает привычки.

  1. Макросы в VIA: держите их простыми — строка (почта/шаблон) или комбинация клавиш. Чем сложнее сценарий, тем чаще упираются в ограничения конкретной сборки.

QMK + VIA: сборка, прошивка и tap/hold

Если VIA не видит клавиатуру или вы хотите «правильную базу», сделайте прошивку QMK с VIA.

1) Включите VIA в keymap

В rules.mk вашего keymap добавьте:

VIA_ENABLE = yes

Обычно создают keymap via в keyboards/<keyboard>/keymaps/via/.

2) Соберите прошивку

Типовая команда:

qmk compile -kb <keyboard> -km via

3) Прошейте клавиатуру

  • RP2040: чаще всего прошивается файлом .uf2 через режим «USB-диск» (BOOTSEL/Reset/клавиша boot).
  • AVR/DFU и другие: прошивка через утилиту (важно лишь попасть в bootloader и залить правильный файл).

Держите на сервисном слое две команды: вход в загрузчик (QK_BOOT) и сброс настроек (EEPROM reset). Это спасает, когда раскладка «уехала» или клавиатура перестала корректно определяться.

4) Tap/Hold (Mod-Tap, Layer-Tap), если «печатает не то»

Ложные срабатывания почти всегда лечатся настройкой времени распознавания:

  • увеличьте TAPPING_TERM (глобально), или
  • включите настройку по клавишам, если разные роли у пробела/энтер/клавиш на больших пальцах.

Минимальный пример для per-key:

#define TAPPING_TERM_PER_KEY

uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record) {
    switch (keycode) {
        case SFT_T(KC_SPC): return TAPPING_TERM + 100; // пробел/Shift
        case LT(1, KC_ENT): return 170;                // Enter/Layer1
        default:            return TAPPING_TERM;
    }
}

Частые ошибки

  • VIA не видит клавиатуру: прошивка без VIA_ENABLE = yes, либо нужен Draft Definition JSON, либо проблема с кабелем/портом/хабом.
  • После прошивки в VIA “каша” (коды не совпадают, слои странные): сделайте сброс EEPROM (factory reset) и заново настройте слои.
  • На RP2040 не шьётся: пытаетесь залить не тот формат (часто нужен .uf2) или не входите в правильный bootloader.
  • Mod-Tap/Layer-Tap срабатывает наоборот: слишком маленький TAPPING_TERM или неудачное размещение tap/hold на «домашнем ряду» без привыкания.

FAQ

Можно ли обойтись только VIA без компиляции?
Да, если клавиатура уже с VIA-поддержкой и вам хватает ремапа/слоёв/простых макросов. Для сложной логики нужен QMK.

Сколько слоёв будет в VIA?
Часто 4, но это зависит от реализации dynamic keymap и памяти устройства.

Что обязательно добавить в раскладку, чтобы не “застрять”?
На отдельный сервисный слой: вход в bootloader (QK_BOOT) и сброс EEPROM. Это самые полезные «страховочные» действия при экспериментах с QMK/VIA.