GitHub - Aegel5/SimpleSwitcher: A program for correcting the language of typed text in Windows, as well as a Reminder.

GitHub release (latest by date) GitHub all releases GitHub last commit

Simple Switcher - переключатель клавиатуры ⌨️ для быстрого исправления языка набранного текста в Windows. Полностью открыт и бесплатен, написан на современном С++ 23, турбо-реактивен 🏎️ и никак не сказывается на работе ОС. Список фич небольшой, но он постоянно пополняется.

Начиная с версий 6.x, была добавлена 📅Напоминалка. Основное отличие от всех подобных программ - срабатывает ВСЕГДА, даже если компьютер был выключен на время срабатывания события, т.е. пропустить невозможно. Удобна для любых периодических дел, или же просто как таймер. Полезные идеи для Напоминалки: установить ежемесячные бонусы по картам, взносы по кредиткам, отключение платных подписок, дни рождения, и т.д.

📜 Основные возможности

  • Стандартное исправление последнего введенного текста с гибкой настройкой разделения слов, исправление выделенного текста.
  • Возможность использовать практически любые клавиши и комбинации клавиш (c поддержкой UP and DOUBLE тригеров), например, Capslock, Scrolllock, RAlt, Ctrl #up, LWin + ..., Shift #double, и т.д.
  • Механизм команд: запуск произвольных процессов, вставка текста / эмуляция нажатия клавиш.
  • Безопасность: всегда очищает или восстанавливает буфер обмена после использования, очищает память по таймеру.
  • Множество различных функций для удобства: флаги стран в трее, отключение accessibility, cмена регистра выделенного текста, вставка без форматирования и т.д.

📥 Download & Install

ℹ️ Все новые версии (начиная с 6.10.2) собираются на серверах GitHub как 🛡️Immutable релизы. Поэтому нет необходимости собирать программу самостоятельно — ☁️ облачная сборка гарантирует чистоту бинарных файлов.

🔨 Сборка из исходного кода

  • Скачать zip-архив master ветки.
  • Установить Visual Studio 2026. Необходим компонент C++.
  • Открыть проект как ПАПКУ в Visual Studio. Cбилдить x64 Release конфигурацию. Файл будет: out\x64-release\SimpleSwitcher.exe. Флаги и остальные артефакты подкидываются вручную.
  • [Альтернатива] Для сборки под Win7 запустить build_Win7_x86.cmd

Использование CapsLock

Способ 1. CaspsLock:

  • Просто использовать клавишу CapsLock для исправления раскладки.
  • Для активации режима CapsLock использовать Win + CapsLock или LAlt + CapsLock или назначить комбинацию в программе.

Способ 2. F24: Использование клавиши F24 полностью убирает проблему случайного включкение режима CapsLock, даже если SS не запущен. Для активации CapsLock используется специальный хоткей.

  • Сначала нужно переназначить CapsLock на клавишу F24 (вкладка Key Remap)
  • Перезагрузить Windows
  • Назначить клавишу F24 на требуемую функцию
  • [Опционально] Назначить клавишу на срабатывание настоящего CapsLock (по умолчанию Ctrl + F24).
  • Перед удалением программы, нужно снять галочку Remap CapsLock, чтобы вернуть исходное состояние.

Способ 3. CaspsLock/F24: Самый универсальный. Назначить оба хоткея на требуемую функцию. Переключение будет работать как в случае если CapsLock был переназначен, так и не был.

Альтернативный режим переключения (эмуляция Alt+Shift)

Если основной режим работает некорректно, то можно использовать альтернативный режим. Если в системе всего 2 или 3 раскладки, то можно просто указать хот-кей циклической смены языка в ОС (по-умолчанию Alt+Shift). Для 3-х и более раскладок, рекомендуется настроить хот-кей на каждый язык, как в ОС, так и в SS. Alt+Shift+1 - включить первый язык, Alt+Shift+2 - второй язык и т.д. Без такой настройки SS будет последовательно перебирать все языки, пока не найдет нужный и это может приводить к ошибкам.

Пользовательские флаги

Для добавления пользовательских флагов необходимо создать папку flags рядом с SimpleSwitcher.exe. Пример.

flags
  My_Set
    en-US
      16.png
      32.png
    ru
      16.png
      32.png
  • Поддерживаемые форматы: PNG (рекомендуется), JPG, BMP
  • Поддерживаются папка с файлами разного размера. В случае если на одну локаль будет найдено несколько флагов разного размера - выбирается наиболее подходящий.
  • Название папки должно совпадать с идентификатора локали в формате BCP-47 (язык-регион) или с идентификатором языка, если регион не важен.
  • Размер - любой, но рекомендуется добавлять 16x16 и (24x24, 32x32) для high dpi.

Отключение Ctrl + LAlt как RAlt на расширенных раскладках

Подробнее: #54

Работа при удаленном подключении

По умолчанию локальный Simple Switcher будет перехватывать все нажатые клавиши, отправленные на удаленный компьютер. Если это поведение не желательно (например на локальном компьютере стоит свой SS), то это можно запретить одним из следующих методов:

  • Для RDP полноэкранного режима можно установить настройку SkipLowLevelInjectKeys.
  • Для RDP можно добавить процесс mstsc.exe в исключения.
  • Для других клиентов, добавить их клиентские процессы в исключения.

Исключения для программ

Настройка пока только через SimpleSwitcher.json. Пример

"disableInPrograms": [
    "game1.exe",
    "c:/game2.exe"
],

Известные ограничения

  • При одновременном назначении (hotkey | hotkey #up) и hotkey #double будет применена задержка 280 ms (параметр конфига quick_press_ms)
  • LAlt + ... - может работать неправильно.
  • Win + CapsLock - хот-кей работает некорректно.
  • Ctrl + Break = Cancel - это особенность Windows

Запуск произволных процессов по хот-кею

Добавление процессов для запуска выполняется на вкладке Run. Текущее ограничение - права запущенного процесса всегда будут равны правам процесса SS.

📟 Принять участие в разработке

Есть вопрос, предложение или найден баг - добро пожаловать в Issues. Issues c тегом discussion служат для обсуждения. Важно: если проблема уже есть в списке, то лучше все равно оставить комментарий, чтобы показать, что проблема актуальна.

Если есть минимальные знания C++ (плюс помощь ИИ), то можно исправить баг / реализовать фичу или же просто немного улучшить код программы. Также всегда приветствуются пулл-реквесты с исправлением/переводом интерфейса, обновления докуменатации и т.д. Можно исправить/улучшить иконку или полностью нарисовать новую, если есть идея.

❤️ Donate

Если вам нравится программа, и вы хотите поддержать ее развитие:

qr_код

Александр Ж.

Из других стран: https://dalink.to/alekseshka

🌟 Особая благодарность! (не полный список)

  • Петр
  • nnmdd
  • Сергій Куліков
  • Иван