Назначить кнопки для сброса и выбора языка выделенного фрагмента

Автор McAaron, 10 марта 2020, 11:52

0 Пользователи и 1 гость просматривают эту тему.

McAaron

Постоянно требуется для некоторых частей текста или даже абзаца сбрасывать или устанавливать язык, чтобы отрабатывали автозамены, специфичные для языка. Например, чтобы  два дефиса заменялись длинным тире, -> и --> на соответсвующие стрелочки, +- на \pm и прочие удобные подстановки.
Сейчас я делаю это так:
- выделяю необходимое
- снимаю руку с клавиатуры и берусь за мышку.
- двигаю курсор в подвал "Язык текста" и щелкаю
- щелкаю одно из трех -- нет, англ, рус
- паркую мышку туда, где она ничего не закроет
- снимаю руку с мышки и несу ее на клавиатуру.

Можно ли назначить три клавиатурные комбинации для этих трех вариантов?

mikekaganski

В Windows для этого есть замечательная комбинация клавиш, работающая во всех приложениях - смена раскладки клавиатуры (по умолчанию Alt+Shift).
С уважением,
Михаил Каганский

McAaron

Цитата: mikekaganski от 10 марта 2020, 12:03
В Windows для этого есть замечательная комбинация клавиш, работающая во всех приложениях - смена раскладки клавиатуры (по умолчанию Alt+Shift).
Привязать язык к раскладке? Может и можно так сделать, но иногда нужно язык отключать при любой раскладке. Например, когда в предложении куча обозначений, сокращений и прочих аббревиатур, которые в словарь засовывать вредно.
Кстати, а как можно в офисе отследить смену раскладки? Ведь клавиатурные сочетания смены раскладки отслеживаются на уровне подсистемы ввода и в приложения не передаются.

mikekaganski

Цитата: McAaron от 10 марта 2020, 12:33и в приложения не передаются

И это идиотизм Linux. В Windows передаются, что и использует ЛО (при неактивной настройке "игнорировать язык ввода").

Точнее, передаются не сами сочетания, а информация о текущем языке ввода вместе с вводимым текстом.
С уважением,
Михаил Каганский

McAaron

Цитата: mikekaganski от 10 марта 2020, 12:38
Цитата: McAaron от 10 марта 2020, 12:33и в приложения не передаются
И это идиотизм Linux. В Windows передаются, что и использует ЛО (при неактивной настройке "игнорировать язык ввода").
Точнее, передаются не сами сочетания, а информация о текущем языке ввода вместе с вводимым текстом.
Таки я не о раскладке, а о языке ввода.
Языков ввода больше чем раскладок, по крайней мере, на единицу.
Как можно трем языкам -- русскому, английскому и "без проверки" назначить три клавиатурные комбинации?
Тем более, что кроме правописания, есть автозамены, которые зависят от языка.

McAaron

Цитата: mikekaganski от 10 марта 2020, 12:38
Цитата: McAaron от 10 марта 2020, 12:33и в приложения не передаются
И это идиотизм Linux.
Этот  "идиотизм Linux" перестает быть идиотизмом, как только возникает необходимость одновременно работать со всем набором глифов юникода и ASCII(0-127), например, писать программы с комментариями одновременно на русском, английском и китайском, или ноты набирать, расписывая над ними слова на немецком, русском и английском.





mikekaganski

Вы о чём? В любой момент времени есть текущий язык ввода, и при обработке любого события ввода (получая, внезапно, не "глиф" Юникода (это что за зверь вообще?), а codepoint) можно дополнительно получить этот язык, привязанный к данному событию. И в каком месте получение языка не даёт Вам получить язык (которых больше, чем раскладок)? и в каком месте это не даёт Вам работать "со всем набором глифов юникода и ASCII(0-127)" (ну, разве что определиться с "понятием" глифа юникода)? и как это лечит идиотизм реализации этого механизма в Linux?
С уважением,
Михаил Каганский

McAaron

Цитата: mikekaganski от 10 марта 2020, 13:51
Вы о чём? В любой момент времени есть текущий язык ввода, и при обработке любого события ввода (получая, внезапно, не "глиф" Юникода (это что за зверь вообще?), а codepoint)
Что Вы так возбудились и притворяетесь, что не понимаете, о чем идет речь?
Спрошу еще раз -- как мне для включения некоторых языков, например русского, английского и "без проверки" назначить отдельные клавиатурные комбинации независимо от раскладки?
Я могу это делать мышкой, как описал в стартовом сообщении, но это очень неудобно.
Это нужно для того, чтобы независимо от раскладки переключать правила автозамены и правописания.
У меня на сегодня нет немецкой клавиатуры и я вынужден набирать на английской, поэтому мне нужны автозамены (ss -> ß, умляуты) и немецкое правописание.



mikekaganski

Используйте стили символа и назначьте им комбинации.
С уважением,
Михаил Каганский

McAaron

Цитата: mikekaganski от 10 марта 2020, 14:36
Используйте стили символа и назначьте им комбинации.
Я Вас понял -- назначить клавиатурные комбинации языкам, чтобы переключать классы автозамен и правила правописания, нельзя.



Userbox

Цитата: McAaron от 10 марта 2020, 14:48назначить клавиатурные комбинации языкам, чтобы переключать классы автозамен и правила правописания, нельзя

Если правильно понял, что вы хотите, то:
1.  Запишите по одному макросу на смену для каждого языка (Сервис -> Макросы -> Записать макрос).
2.  Назначьте удобные комбинации клавиш для исполнения каждого отдельного макроса (Сервис -> Настройка -> Клавиатура -> поле «Команды» -> Макросы Libreoffice -> . . . ваш макрос  ).
3.  Далее при выделении мышкой текста используйте ваши «горячие клавиши».