Что нового в Lang Switcher для Windows
Предыстория
Lang Switcher начался со спецификации и принципа «программа делает одну вещь».
- Сначала появились значок в трее, перехват клавиатуры и перекодировка слова.
- Затем замена набранного и переключение раскладки — парой или по кругу, защита полей пароля, список исключений и конвертация выделенного текста через буфер обмена.
- Следом пришли окно настроек с автозапуском и выбором клавиши, подпись кода и установщик.
- Потом — светлая и тёмная темы, мёртвые клавиши, звуковой отклик, перевод интерфейса на 14 языков, письма от автора с подписанной лентой и мастер «Написать автору».
- Между этапами код проходил сплошные аудиты и ремонты по их итогам, а главный сценарий проверялся не только тестами, но и стендом на живой программе в Блокноте, Word и Chrome.
- Горячей клавишей можно назначить двойное нажатие
Shift: в настройках — «Задать» иShiftдва раза подряд, поле покажет «Shift, Shift». Два коротких касанияShiftперекодируют слово, ещё два — вернут его. Удобно, если на клавиатуре нетPauseи не хочется тянуться к сочетанию. - Касание —
Shiftнажат и отпущен не дольше чем за 0,4 с, второе касание — не позже 0,4 с от начала первого. Обычный набор сShiftне затронут: заглавные буквы,Alt+Shift(переключение раскладки) иShiftсо щелчком мыши (выделение) касаниями не считаются. - Нажатия
Shiftпрограмма не глушит — их видят и другие программы. Если у программы на двойнойShiftсвоя команда (поиск по всему в средах JetBrains), она выполнится тоже. - Пять нажатий
Shiftподряд Windows считает своим сочетанием и предлагает включить залипание клавиш. Пока выбран двойнойShift, программа это сочетание выключает — только до выхода, в настройки Windows ничего не записывается; при выборе другой клавиши, выходе и удалении оно возвращается. Включённое залипание клавиш программа не трогает. - Двойным назначается только
Shift;CtrlиAlt— только вместе с клавишей, как в 0.93.0. - Файл настроек получил поле
[hotkey] triggerи метку схемы 8. Если вернуться на 0.94 или раньше, старая версия файл не перепишет, но двойное нажатие не поймёт и будет отвечать наPause.
0.94.0 —
Письмо без рамки на кнопке.
- Письмо, которое программа открывает сама (приветствие после первого запуска, письмо в спокойную минуту), больше не показывает пунктирную рамку на кнопке «Открыть настройки», будто её выбрали заранее. Рамка появляется после первого
Tab, как в окне, открытом мышью.Enterпо-прежнему нажимает «Понятно»,Пробел— кнопку с фокусом. - Что не изменилось: окна, которые открываете вы (меню значка, щелчок по уведомлению), — как прежде; вид окон, тексты, файл настроек (схема 7), установщик и подпись — те же.
0.93.0 —
Горячая клавиша-сочетание.
- Горячей клавишей можно назначить сочетание: клавишу вместе с
Ctrl,Alt,Shiftв любом наборе —Ctrl+F12,Alt+Shift+K. В настройках — «Задать» и нажать сочетание; под полем сказано, что можно назначить. Удобно, если на клавиатуре нетPause. - Сочетание срабатывает только при точном наборе: при
Ctrl+F12голаяF12иCtrl+Shift+F12остаются вашим программам.Pauseпо умолчанию работает как прежде, в том числе с удерживаемымShift. - Клавишу, которая печатает символ, захват не примет — ни одну, ни с
Shift, ни сAltGr(Ctrl+Alt): иначе горячая клавиша отняла бы этот символ у набора во всех программах.Ctrl+K,Alt+K— можно. - Сочетание с
Alt: чтобы отпусканиеAltне открывало меню окна, программа в момент срабатывания посылает окну нажатие неназначенной клавиши — приём AutoHotkey. Без этого замена выделенного текста с удержаннымAltуходила в меню. - Файл настроек получил поле
[hotkey] modifiersи метку схемы 7. Если вернуться на 0.92 или раньше, старая версия файл не перепишет, но сочетание прочтёт как голую клавишу:Ctrl+F12станетF12.
0.92.0 —
Приветствие без мигания, честно о консолях.2 пункта
- Письмо-приветствие при первом запуске: демонстрация «ghbdtn → привет» больше не мигает. Она рисовалась прямо в окно в несколько приёмов, и на медленной машине между приёмами был виден кадр без слова; теперь кадр собирается в буфере и выводится целиком (на экране автора — 63 переходных кадра из 780 стали нулём).
- Консоли — честно о границе: в Windows Terminal и классической консоли конвертируется набранное слово («набор +
Pause»), а выделенный текст — мышью илиShift+стрелками — не конвертируется. Узнать о выделении можно только нажавCtrl+C, а там без выделения это отменяет набранную строку и прерывает работающую команду. Так и записано в описании программы; код не менялся.
0.91.0 —
Что программа умеет в этой версии14 пунктов
Pause/Breakперекодирует последнее набранное слово и переключает раскладку окна; повторное нажатие возвращает исходный текст.- Выделенный текст перекодируется целиком, каждое слово — из своей раскладки, а содержимое буфера обмена возвращается на место.
- Замена подстраивается под окно: в консоли набранное стирается, в остальных окнах заменяется через выделение, чтобы не мешало автодополнение.
- С двумя раскладками работает без настройки, с тремя и больше — выбранной парой или по кругу.
- В полях пароля буфер набора не ведётся, а на нажатие клавиши там программа отвечает глухим стуком. Нажатия не пишутся на диск.
- Щелчок подтверждает каждое нажатие: двойной — слово заменено, одиночный — заменять было нечего. Звук выключается в настройках.
- В программах из списка исключений — например, в играх — клавиша достаётся самому приложению.
- Окна программы светлые, тёмные или вслед за Windows; интерфейс на 14 языках.
- Запускается при входе в систему и сама возвращает перехват клавиатуры после блокировки, сна и смены рабочего стола.
- Раз в 15 дней читает подписанную ленту автора и сообщает письмом о новой версии и новостях; ленту можно отключить.
- Письма от автора — в окне «От автора», там же мастер «Написать автору»; кнопки окна ведут на страницу загрузки, в канал и на страницу «Поддержать автора».
- Установщик ставит полную версию — она работает и в окнах программ, запущенных от имени администратора: для этого он создаёт на компьютере свой сертификат только для подписи кода и сразу уничтожает его ключ, а удаление программы убирает сертификат.
- Если сертификат создать не удалось, ставится запасная версия: она работает везде, кроме окон программ, запущенных от имени администратора. Её же ставит запуск
LangSwitcher-setup.exe /NOLOCALCERT. - Мастер установки говорит на языке Windows.
Вопросы и проблемыв группе Panda Koding, тема Lang Switcher: Telegram ↗ · MAX ↗