Skip to content

Aegel5/SimpleSwitcher

Repository files navigation

изображение SimpleSwitcher

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

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

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

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

  • Умеет работать в программах, запущенных от администратора.
  • Удерживая клавишу Shift, можно исправлять несколько слов подряд.
  • Возможность использовать практически любые клавиши и комбинации клавиш, например, Capslock, Scrolllock, RAlt, Ctrl #up, LWin + ... для любой функции программы.
  • Безопасность: всегда очищает или восстанавливает буфер обмена после использования, очищает память по таймеру.
  • Показывает флаги стран в трее в высоком разрешении.
  • Отключение accessibility функциональности Windows (например, отключения залипания после нажатия 5-ти Shift подряд).
  • Смена регистра выделенного текста.

Download & Install

Для получения последней версии нужно сбилдить из исходного кода (требуется Visual Studio 2022).

Также можно скачать:

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

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

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

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

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

Рекомендуется:

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

Также возможно:

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

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

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

Разделение текста на слова

При нажатии клавиши, которая продуцирует разные символы на разных раскладках разделение проходит по следующим правилам:

  • Если все символы это буквы или цифры - разделение не происходит.
  • Если все символы это НЕ буквы или цифры - разделение происходит.
  • В остальных случаях (например, клавиша эЭ'") разделение происходит в зависимости от настроек (по умолчанию не разделяется).

Если разделение слов вообще не требуется, можно использовать функцию "Исправить весь недавно введенный текст".

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

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

flags
  Name_of_Set1
    ru16.png
    ru32.png
    us16.png
  Set2
    ru.ico
    us_some_name.ico
  • Поддерживаемые форматы: PNG (рекомендуется), JPG, BMP
  • Файл должен начинаться с двух-буквенного идентификатора страны. На одну страну может быть несколько файлов разных размеров.
  • Размер - любой, но рекомендуется добавлять 16x16 и 32x32 в случае high dpi.

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

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

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

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

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

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

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

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

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

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

"run_programs": [
    {
        "args": "",
        "elevated": false,
        "hotkey": [
            "LWin + C"
        ],
        "path": "calc.exe"
    }
]

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

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

License

GPL-3.0 License

Donate

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

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

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

About

A program for correcting the language of typed text in Windows, as well as a Reminder.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •