Pull to refresh

Comments 34

@Rashns ghbdtn!
Завидую людям, у которых хватает свободного времени и упорства чинить любимые игрушки до блеска. У меня обычно всё заканчивается на стадии «бесит, но потерплю». Снимаю панамку :)

Спасибо )))

так оно не переключает раскладку само, надо обязательно посмотреть и нажать alt?

Да, меня автопереключение всегда бесило в пунте, оно реально в обиходе мешает (мне) поэтому его и нет в РуСвитчере. Принимая во внимание концепцию мультиязычности - проблемно будет столько словарей держать

Ну, или хотя бы звук какой, когда "неправильная" раскладка...

Да, хорошая идея - записал, автозамена на подходе

а можно повесить исправление на ту же кнопку, что и смену раскладки (Capslock или Cmd-space)?

Да, в ближайших планах сделать выбор сочетания.

А подскажите, есть ли для винды простейшая прогаммка, чтоб биндить базовые вещи на нестандартные клавиши? У меня сейчас стоит старенькая утилитка MKey, в ней я настроил переключение языка на CapsLock, а ещё уменьшение/увеличение системной громкости на один шаг на F9/F10. Очень удобно. Но эта утилитка уже заброшена. И у неё есть ряд проблем, например, при переключении раскладки через неё не всегда меняется отображаемая раскладка в трее (написано EN, набирается кириллицей), или в некоторых текстбоксах переключение не происходит (в LibreOffice всё работает, а при переименовании папки/файла в окне "Сохранить как..." нет).

Спасибо за идею - изучу, обязательно применим

Если вы пишете на двух языках, то знаете эту боль: набрал полстроки, поднял глаза — а там ghbdtn вместо «привет». На Windows эту проблему закрывает Punto Switcher. 

В любой ОС это закрывается тем, что смотрят на экран, а не на клавиатуру. Да, занимает какое-то время, но результат гораздо лучше, чем если пользоваться Punto и его аналогами.

Мнение комментатора является исключительно субъективным.

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

Неужели в такой полезной вещи все держится на энтузиастах...

Вот и на linux был X Neural Switcher и тоже заброшен...

я в целом думал что-то универсальное написать - чтобы и винду и линухи поддерживало, но т.к. с первыми давно не сталкивался, а со вторыми только в терминале и на английском - выбрал путь свифта и только под мак

А если уже ввел пробел после слова не в той раскладке - можно ли вернуться и перевести?

по замыслу пробел отсекает и конверсия на предыдущее слово не распространится - в этом случае (если текста набрано много) можно выделить его мышкой и через Альт конвертнуть, я подумаю над вашим запросом как такие моменты ловить чтобы они не ломали общий принцип

Для меня это типичная боль - начать вслепую набирать что то, смотря вообще в другое место, уже набрать несколько слов, и обнаружить не ту раскладку.

выделили, жамкнули Альт - все кувыркнулось в нужную раскладку

Прерваться, найти мышку, выделить, жмякнуть, вернуться обратно... Лишнее действие.

Я много лет пользовался пунто, но после пары последних мажорных обновлений макоси он стал работать все хуже и хуже, нервы уже не выдерживают) Ваша программа очень удачно тут попалась, но надо привыкнуть.

Автозамена на подходе ;)

Спасибо!

Еще одна идейка, может будет полезна - автопереключение в зависимости от приложений. Например в терминале в 99% процентах случаев нужен только английский (не затрагиваем тему агентов), тем более что там все равно конвертация не работает.

а это "закрыто" памятью раскладки в приложении, но можно сделать принудительное включение, для первого открытия

Причем она должна тоже работать при “не той раскладке”.

Прерваться, найти мышку, выделить, жмякнуть, вернуться обратно

Так можно клавишами выделить. Ctrl + Shift + ⇐ (стрелка влево) выделяет по словам в винде, в маке по идее должен быть аналог

alt +shift + ⇐ (стрелка влево)

fixlayout() {
    en="qwertyuiop\[]asdfghjkl;'\zxcvbnm,.QWERTYUIOP{}ASDFGHJKL:\"|ZXCVBNM<>\@№%%^&*"
    ru="йцукенгшщз\хъфывапролджэёячсмитьбюЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖ\ЭЁЯЧСМИТЬБЮ\"#$:,.;"
    pbpaste | sed y=$en$ru=$ru$en= | pbcopy
}

Для минималистов

🔥 Для буфера и любителей терминала — самое то, по сути это и есть ядро механики (посимвольный маппинг раскладок). Для пары RU↔EN работает, но как общее решение хрупковато.

Я пользуюсь KeyRay. Там в отличие от данного решения используется инжекция сразу юникод символов без логики буфера обмена и не возникает никаких лишних выделений текста. Нативный Swift код с кучей сопутствующей функциональности. Но минусы в том, что код закрытый и приложение платное.

Спасибо за фидбек! На самом деле RuSwitcher делает ровно то же: с версии 2.2 основной движок печатает символы напрямую через CGEvent (keyboardSetUnicodeString) - это инжекция юникода, без буфера обмена и без выделений. Изначально и переписывал движок ради этого, чтобы корректно работало в Electron/VS Code.

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

Тоже нативный Swift, ноль зависимостей. Главное отличие от KeyRay - бесплатно и open-source, так что код можно посмотреть. KeyRay при этом отличный зрелый продукт, просто другая ниша.

сегодня релизнул 2.3 - там уже кеймап и другие фишки, на подходе автозамена

О! Как я удачно загуглил замену пунто и попал сюда. Уже поставил и пробую. Cgfcb,j! :)

Кроме Punto еще есть Caramba Switcher который вполне себе развивается

Всё так, конкуренция всегда оздоровляет и подстёгивает

Sign up to leave a comment.

Articles