Ход клавишиНастройте звук, ощущения и привычную раскладку.
← К материаламQMK и VIA · 2 мин

Чем прозрачная клавиша KC_TRNS отличается от KC_NO?

KC_TRNS означает, что позиция не задаёт собственную функцию и передаёт нажатие нижнему активному слою. KC_NO означает отсутствие действия: нажатие этой позиции ничего не выполняет, а поиск функции ниже не продолжается.

Механические клавиатуры под себя — схематическая композиция
Иллюстрация: Редакция «Ход клавиши» · собственная иллюстрация

KC_TRNS передаёт функцию

Прозрачная клавиша полезна, когда новый слой должен временно менять только часть раскладки. Для остальных позиций нажатие проходит к соответствующему нижнему слою.

Так можно сохранить базовые буквы или модификаторы без дублирования их назначения на каждом слое.

  • Позиция остаётся доступной через нижний слой.
  • Функция зависит от слоёв ниже.
  • Подходит для частично изменённого слоя.

KC_NO блокирует действие

KC_NO задаёт пустую позицию. Нажатие не вызывает код клавиши и не передаёт его нижнему слою.

Это отличается от прозрачности: нижний слой не используется для поиска функции в этой позиции.

  • Нажатие ничего не выполняет.
  • Нижний слой не подставляет функцию.
  • Позиция остаётся намеренно отключённой.

Как выбрать код

Если на новом слое должна сохраняться базовая команда, используйте прозрачную позицию. Если команду нужно запретить, назначайте KC_NO.

Проверяйте результат на активном слое и на базовом: одинаковая физическая позиция может иметь разные коды.

  • Для наследования выбрать KC_TRNS.
  • Для блокировки выбрать KC_NO.
  • Проверить оба состояния слоя.

Проверьте себя

  • Определить, нужна ли функция нижнего слоя.
  • Назначить KC_TRNS для наследования.
  • Назначить KC_NO для отключения.

Частый вопрос

Можно ли считать KC_TRNS пустой клавишей?

Нет. Она не задаёт собственную функцию, но передаёт нажатие нижнему слою; KC_NO полностью отключает действие.

Источники