Comments 34
так оно не переключает раскладку само, надо обязательно посмотреть и нажать alt?
Да, меня автопереключение всегда бесило в пунте, оно реально в обиходе мешает (мне) поэтому его и нет в РуСвитчере. Принимая во внимание концепцию мультиязычности - проблемно будет столько словарей держать
Ну, или хотя бы звук какой, когда "неправильная" раскладка...
а можно повесить исправление на ту же кнопку, что и смену раскладки (Capslock или Cmd-space)?
А подскажите, есть ли для винды простейшая прогаммка, чтоб биндить базовые вещи на нестандартные клавиши? У меня сейчас стоит старенькая утилитка MKey, в ней я настроил переключение языка на CapsLock, а ещё уменьшение/увеличение системной громкости на один шаг на F9/F10. Очень удобно. Но эта утилитка уже заброшена. И у неё есть ряд проблем, например, при переключении раскладки через неё не всегда меняется отображаемая раскладка в трее (написано EN, набирается кириллицей), или в некоторых текстбоксах переключение не происходит (в LibreOffice всё работает, а при переименовании папки/файла в окне "Сохранить как..." нет).
Попробуй Microsoft Power Toys: https://github.com/microsoft/powertoys
Там есть целый ряд утилит со схожим функционалом.
Спасибо за идею - изучу, обязательно применим
Если вы пишете на двух языках, то знаете эту боль: набрал полстроки, поднял глаза — а там
ghbdtnвместо «привет». На Windows эту проблему закрывает Punto Switcher.
В любой ОС это закрывается тем, что смотрят на экран, а не на клавиатуру. Да, занимает какое-то время, но результат гораздо лучше, чем если пользоваться Punto и его аналогами.
Мнение комментатора является исключительно субъективным.
я сам владею слепым методом набора текста в совершенстве и могу иногда набирать не глядя ни на экран, ни на клавиатуру, либо глядя вообще в другой монитор - так что проблема актуальна даже при таких скиллах. Еще применяю при быстром наборе когда набираю на русском потом надо что-то на английском - я продолжаю набирать на русском и конвертирую нажатием или через выделение (когда как)
Неужели в такой полезной вещи все держится на энтузиастах...
Вот и на linux был X Neural Switcher и тоже заброшен...
А если уже ввел пробел после слова не в той раскладке - можно ли вернуться и перевести?
по замыслу пробел отсекает и конверсия на предыдущее слово не распространится - в этом случае (если текста набрано много) можно выделить его мышкой и через Альт конвертнуть, я подумаю над вашим запросом как такие моменты ловить чтобы они не ломали общий принцип
Для меня это типичная боль - начать вслепую набирать что то, смотря вообще в другое место, уже набрать несколько слов, и обнаружить не ту раскладку.
выделили, жамкнули Альт - все кувыркнулось в нужную раскладку
Прерваться, найти мышку, выделить, жмякнуть, вернуться обратно... Лишнее действие.
Я много лет пользовался пунто, но после пары последних мажорных обновлений макоси он стал работать все хуже и хуже, нервы уже не выдерживают) Ваша программа очень удачно тут попалась, но надо привыкнуть.
Автозамена на подходе ;)
Спасибо!
Еще одна идейка, может будет полезна - автопереключение в зависимости от приложений. Например в терминале в 99% процентах случаев нужен только английский (не затрагиваем тему агентов), тем более что там все равно конвертация не работает.
Причем она должна тоже работать при “не той раскладке”.
Прерваться, найти мышку, выделить, жмякнуть, вернуться обратно
Так можно клавишами выделить. Ctrl + Shift + ⇐ (стрелка влево) выделяет по словам в винде, в маке по идее должен быть аналог
fixlayout() {
en="qwertyuiop\[]asdfghjkl;'\zxcvbnm,.QWERTYUIOP{}ASDFGHJKL:\"|ZXCVBNM<>\@№%%^&*"
ru="йцукенгшщз\хъфывапролджэёячсмитьбюЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖ\ЭЁЯЧСМИТЬБЮ\"#$:,.;"
pbpaste | sed y=$en$ru=$ru$en= | pbcopy
}Для минималистов
Спасибо за фидбек! На самом деле RuSwitcher делает ровно то же: с версии 2.2 основной движок печатает символы напрямую через CGEvent (keyboardSetUnicodeString) - это инжекция юникода, без буфера обмена и без выделений. Изначально и переписывал движок ради этого, чтобы корректно работало в Electron/VS Code.
Буфер обмена остаётся только в одном случае - когда конвертируешь уже выделенный заранее текст: в macOS нет API прочитать произвольное выделение иначе как через копирование (и буфер после восстанавливается). При обычном наборе и при автозамене он не задействован.
Тоже нативный Swift, ноль зависимостей. Главное отличие от KeyRay - бесплатно и open-source, так что код можно посмотреть. KeyRay при этом отличный зрелый продукт, просто другая ниша.
сегодня релизнул 2.3 - там уже кеймап и другие фишки, на подходе автозамена
О! Как я удачно загуглил замену пунто и попал сюда. Уже поставил и пробую. Cgfcb,j! :)
Кроме Punto еще есть Caramba Switcher который вполне себе развивается
Меняем Punto Switcher на macOS: открытый код, ноль телеметрии и ноль зависимостей — в обоих смыслах