Переключатель раскладки RU/EN

Набрали ghbdtn вместо «привет» — программа сама заменит слово и переключит раскладку. Работает в фоне, живёт в трее, не обращается к сети.

Версия 1.0 · 2 ноября 2026 · Контрольные суммы SHA-256 — ниже.

  • Windows
  • Windows 11 (проверено)
  • Один файл, установки нет
  • Права администратора не нужны
  • Без сети и без телеметрии
  • Исходный язык: чистый C

Что она делает

Бывает, что печатаешь целое слово и только потом замечаешь, что раскладка была не та. Программа следит за набором, и когда слово закончено (пробел, Enter, знак препинания), решает: набрано оно в нужной раскладке или в чужой. Если в чужой — стирает слово, печатает правильное и переключает раскладку, так что дальше можно писать как обычно.

НабраноПолучитсяПочему
ghbdtn→приветобычное слово на русской раскладке
vfibyf→машинаобычное слово на русской раскладке
руддщ→helloанглийское слово на русской раскладке
УЫЗ32→ESP32термин из технического словаря, цифры входят в слово
hello→helloслово набрано верно, ничего не меняется

Как выглядит

Блокнот: слова на русском и английском, набранные без переключения раскладки
Реальный прогон в Блокноте на Windows 11: слова набирались в чужой раскладке, в тексте — уже исправленные.
Меню значка в трее
Меню значка: включить и выключить, автозапуск, список исключений, выход.
Зелёный значок RU в области уведомлений
Значок показывает раскладку активного окна: синий — EN, зелёный — RU, серый — выключено.

Возможности

  • Исправление «на лету». Слово заменяется, как только вы поставили пробел или знак, раскладка переключается сама.
  • Нейросеть вместо правил. Две небольшие сети (для русского и для английского языка) оценивают, похожа ли строка на настоящее слово. Это работает и на словах, которых нет ни в каком словаре.
  • Словари настоящих слов. По 50 000 самых частых слов русского и английского языков: частые слова не портятся ложными срабатываниями.
  • Технический словарь. 334 термина из электроники, инженерии и программирования: ESP32, esp8266, arduino, uart, mosfet, git, docker и другие. Цифры внутри слова учитываются.
  • Учится на ваших исправлениях. Нажмите Backspace или Ctrl+Z сразу после замены — слово запомнится как исключение и больше не тронется.
  • Значок в трее. Текущая раскладка, включение и выключение, автозапуск при входе в Windows, список исключений.
  • Лёгкая и автономная. Один файл около 3 МБ, обычная программа без драйверов и служб, не требует прав администратора.
  • Без сети. В программе нет сетевого кода, никакие данные никуда не отправляются.

Как это работает

Программа ставит в Windows обычный перехват клавиатуры и копит слово: для каждой клавиши запоминается, какой символ она дала в текущей раскладке и какой дала бы в другой. Когда слово закончено, решение принимается в таком порядке:

  1. Исключения. Слово в вашем списке исключений — не трогаем.
  2. Настоящее слово своей раскладки. Слово из трёх и более букв есть в словаре языка текущей раскладки — не трогаем.
  3. Перевод есть в словаре. То же нажатие в другой раскладке даёт слово из словаря другого языка, и нейросеть не против — заменяем.
  4. Технический словарь. Перевод — известный термин (от двух символов) — заменяем.
  5. Нейросеть. Если перевод правдоподобнее исходного слова заметно (порог в одну единицу логарифма правдоподобия), заменяем.

Нейросеть

Это два небольших многослойных перцептрона (по одному на язык): на входе первые 20 букв слова в «горячем» кодировании, два скрытых слоя на 128 и 32 нейрона, на выходе — оценка «это слово языка». Обучались на частотных списках слов и на «трудных» примерах: слова другого языка, переведённые через раскладку, и случайные строки. Прямой проход встроен прямо в программу на C, внешних библиотек машинного обучения нет.

Замена без искажений

Если стереть слово и напечатать новое, пока пробел ещё физически нажат, Windows склеивает ввод с пробелом и получается мусор вроде «лkgтттттт». Поэтому программа задерживает клавишу-разделитель, ждёт её отпускания (не дольше секунды), печатает слово и переключает раскладку, и только потом отдаёт разделитель приложению.

Установка и использование

  1. Скачайте ZIP (или только exe) и распакуйте в любую постоянную папку, например C:\Tools\LayoutSwitcher.
  2. Запустите LayoutSwitcher.exe двойным щелчком. Окна нет — рядом с часами появится значок (он может быть под стрелкой «^»; его можно перетащить на панель).
  3. Печатайте как обычно. Правый или левый клик по значку открывает меню.
  4. Чтобы программа стартовала вместе с Windows, включите «Запускать при входе в Windows». Путь к файлу запоминается, поэтому после этого не переносите exe в другую папку.

Требуются стандартные раскладки: «Русская» и «Английская (США)». Программа работает с этими двумя раскладками.

Если замена не нужна

Нажмите Backspace или Ctrl+Z сразу после замены (в пределах трёх следующих клавиш): исходное слово попадёт в список исключений. Список лежит в %APPDATA%\layout-switcher\exceptions.txt — это обычный текстовый файл в UTF-8, по одному слову в строке, в нижнем регистре. Его можно править вручную через пункт «Список исключений...». В списке помещается до 512 слов.

Удаление

Выберите «Выход» в меню значка и удалите файл. Если хотите убрать и следы в системе: значение LayoutSwitcher в разделе реестра HKCU\Software\Microsoft\Windows\CurrentVersion\Run (если включали автозапуск), раздел HKCU\Software\layout-switcher и папку %APPDATA%\layout-switcher.

Точность: цифры без прикрас

Проверяли на словах, которых не было ни в обучении, ни при подборе порога.

ПроверкаСловСлово в чужой раскладке исправленоСлово в верной раскладке не тронуто
Офлайн, по 20 000 слов на язык, порог 1,040 00098,4 %99,2 %
Офлайн, редкие слова (частотные ранги 50 000+), через реальный код программы10 00097,4 %98,5 %
Вживую на Windows 11, частые слова, пауза после слова 0,8 с160160 из 160 слов в итоговом тексте верные
Вживую на Windows 11, редкие слова, быстрый набор (пауза 0,15 с)160157 из 160 слов в итоговом тексте верные

Живая проверка шла в Блокноте на виртуальной машине: слова печатались нажатиями клавиш виртуальной клавиатуры, то есть программа видела обычный ввод. Это небольшая выборка (320 слов), её нельзя считать равной по точности офлайн-проверке на десятках тысяч слов.

Где программа ошибается

В живой проверке из 160 редких слов не справилась с тремя: два не исправлены (cfds на русской раскладке, аргх на английской) и одно исправлено зря (frf стало «ака»). Во всех трёх случаях слова редкие и без контекста неотличимы от настоящих слов другой раскладки. Сразу после лишней замены достаточно нажать Backspace — и слово больше не тронется.

Ограничения

  • Поддерживаются только русская и английская (США) раскладки.
  • Слова короче трёх букв не исправляются; исключение — термины из технического словаря (от двух символов).
  • Слова длиннее 20 символов оцениваются по первым 20.
  • Не работает там, где Windows не отдаёт ввод перехвату клавиатуры: например, в полях ввода пароля. В играх и приложениях, читающих ввод напрямую (Raw Input), поведение может отличаться.
  • Обычная программа не получает ввод в окнах, запущенных от имени администратора (ограничение Windows). Проверялось только в обычных окнах.
  • Замена выполняется вводом символов, как будто их напечатал пользователь; в некоторых терминалах и играх это может не сработать.
  • Смена раскладки отправляется окну асинхронно: если сразу после замены продолжить печатать очень быстро, первые символы могут уйти в прежнюю раскладку.
  • Точка, запятая и другие знаки, стоящие на месте русских букв (ж, э, х, ъ, б, ю), участвуют в слове как буквы.

Проверялось на Windows 11. На Windows 10 версии 1607 и новее программа должна работать (используются только документированные функции этой версии), но отдельно это не проверялось.

Приватность

Программа перехватывает нажатия клавиш — иначе она не смогла бы работать, — поэтому честно о том, что она делает с данными:

  • Текущее слово хранится только в оперативной памяти и сбрасывается при каждом знаке, горячей клавише и щелчке мышью.
  • На диск попадают только слова, которые вы сами отметили как исключения (Backspace или Ctrl+Z после замены), и настройки (включено ли, автозапуск).
  • Сетевого кода в программе нет: она подключает только системные библиотеки Windows (user32, gdi32, shell32, advapi32, kernel32).
  • Файл исключений содержит слова, которые вы набирали, — не публикуйте его и не пересылайте.

Вопросы и ответы

Windows пишет «Система Windows защитила ваш компьютер» (SmartScreen)

Файл не подписан цифровой подписью издателя, поэтому SmartScreen показывает предупреждение при первом запуске. Сверьте контрольную сумму файла с таблицей ниже, затем нажмите «Подробнее» → «Выполнить в любом случае».

Антивирус ругается на файл

Программа ставит глобальный перехват клавиатуры, а такой механизм используют и вредоносные программы, поэтому эвристики некоторых антивирусов могут срабатывать на любой подобный файл. Сверьте контрольную сумму; при необходимости добавьте файл в исключения антивируса.

Значка в трее не видно

Windows может прятать новые значки под стрелкой «^» рядом с часами. Откройте её и перетащите значок на панель, либо включите его в Параметры → Персонализация → Панель задач → Другие значки панели задач.

Слово заменилось, а мне нужно было исходное

Сразу нажмите Backspace или Ctrl+Z (в пределах трёх следующих клавиш) — слово запишется в исключения. Если нужно вернуть слово, но исключение не нужно, просто перепечатайте его, переключив раскладку вручную.

Слово не заменилось

Скорее всего, слово редкое или короткое: нейросеть и словари не уверены, что это слово другой раскладки, и программа не рискует. Такие случаи есть и в проверке на точность выше. Слова короче трёх букв не исправляются, кроме терминов из технического словаря.

Как отключить программу ненадолго

Уберите галочку «Включено» в меню значка. Состояние запоминается и сохраняется между запусками.

Можно запустить две копии?

Нет, запускается один экземпляр. Повторный запуск покажет сообщение, что программа уже работает.

История версий

1.0 — 2 ноября 2026

  • Первая публичная версия: приложение с иконкой в трее, без консольного окна.
  • Исправление слов в неверной раскладке нейросетью, словарями настоящих слов и техническим словарём.
  • Список исключений, который пополняется Backspace или Ctrl+Z после замены.
  • Меню: включение, автозапуск, список исключений, о программе, выход; один экземпляр.

Контрольные суммы

SHA-256 файлов. Проверить в PowerShell: Get-FileHash .\имя_файла, в Linux: sha256sum имя_файла.

ФайлРазмерSHA-256
LayoutSwitcher-1.0.zip1 131 354 байт95fc5df3cacfbefc7b910a08c4185ace90dfe22cd70e2d3cb33e2656f4cb2add
LayoutSwitcher.exe3 032 458 байт866ed110ba5e745cb611f299d7cfd779e12c2501b26c4e58f21935ab1831c69c