[{{mminutes}}:{{sseconds}}] X
Пользователь приглашает вас присоединиться к открытой игре игре с друзьями .

Форум «Академия» / Доп. символы

Reset82 Сообщение #1 28 января 2019 в 04:04
Маньяк
42
Всем бобра!
Хотелось бы порассуждать вот на какую темку. Как в принципе должны правильно печататься дополнительные символы, т.е. те которых нет в стандартной раскладке, и как это должно быть организованно для максимального удобства?
Например: ā (U101) или ā (a+U304), ě (U11b) или ě (e+U30c), ó (Uf3) или ó (o+U301), ù (U16b) или ù (u+U300).

Кто пользуется? Поделитесь системой.
JustSo Сообщение #2 28 января 2019 в 07:09
Кибергонщик
36
Я переделывал (создал) раскладку под себя в лине и в винде. Унаследовался от обычного us и заменил под себя нужные мне клавиши. Можешь посмотреть как это делается на примере раскладки Colemak. Ключевые файлы:
/usr/share/X11/xkb/symbols/us
/usr/share/X11/xkb/rules/evdev.{xml,lst}

Затем просто выставил атрибут неизменяемости - флаг immutable, чтобы файлы нельзя было удалить/заменить/переименовать даже от root при обновлении системы
chattr +i /path/to/file

Почитай на тему keyboard level 3 или level 3 xkb. Назначил клавишу-модификатор, работает аналогично шифту. Зажимаю правым большим пальцем RAlt и могу набирать разные нужные мне символы, которых нет в обычной раскладке.

В винде все проще, создаешь что угодно через Keyboard Layout Creator.

В макоси вроде это делается через Ukelele. Сам не делал никогда.
Последний раз отредактировано 28 января 2019 в 07:18 пользователем JustSo
Reset82 Сообщение #3 28 января 2019 в 07:13
Маньяк
42
undefined писал(а):
Я переделывал раскладку под себя в лине и в винде. Почитай на тему keyboard level 3 или level 3 xkb. Назначил клавишу-модификатор, работает аналогично шифту. Зажимаю правым большим пальцем RAlt и могу набирать разные нужные мне символы, которых нет в обычной раскладке

как вариант! забиндить на 3-й лвл. Но тут вопрос еще вот такой: если забиндить уже готовые символы, их будет многовато, можно путаться, а если забиндить только черточки и подставлять уже к готовым буквам, как это будет восприниматься разными переводчиками и программами? и насколько это будет правильно с точки зрения корректоров?
JustSo Сообщение #4 28 января 2019 в 07:30
Кибергонщик
36
ну еще два варианта
- создай себе отдельную раскладку с такими символами на месте прежних, если такой нет (я не шарю зачем эти символы и где применяются). Без всяких модификаторов. Выставь на эту раскладку отдельную комбинацию клавиш для переключения.
- создать какую угодно логику замен с использованием autokey. Он на python, достаточно простое api. К примеру забиндить питоновский dict:
{'a': 'ā', 'e': 'ě'}
и т.д. Потом на основе него делать подстановки/замены.
Но по моему опыту он достаточно глючный, по сравнению с autohotkey.

Сделаешь два/три/четыре разных скрипта автозамен, в зависимости от того, на какие символы будет автозамена производиться, раз там много разных символов типа ā (U101) или ā (a+U304).
По сочетанию клавиш будешь включать эти скрипты, которые при обычном наборе заменят тебе набор строки
# из
pacanam - aue
# в
pācānām - āùě
Reset82 Сообщение #5 28 января 2019 в 08:33
Маньяк
42
По созданию раскладки в linux конечно куча вариантов, я предпочитаю xmodmap, это самое простое. прописать в нем нужные замены и заюзывать на хоткей.
с флагом immutable у меня тут свои прибабахи, я выпиливаю эту capabiliti при старте ядра вообще.
Просто может тут кто-нибудь юзает уже доп.символы в каких-нибудь иностранных языках. В плане того, как вообще будет больше встречаться, цельный символ, либо можно везде использовать подстановку только черточек над нужными буквами.
Вот в гугл-переводчике можно и так и так писать... а там дальше только практика покажет. Вот поэтому и интересуюсь. Хотелось бы сразу самый удобный вариант выбрать.

autokey вообще тупая прога... я попробовал ее лет 5 назад, там настолько все заморочено, да и с русской раскладкой он не дружит. Глянув на все это, написал свой скрипт для авто-замен, что гораздо удобней.
JustSo Сообщение #6 28 января 2019 в 09:21
Кибергонщик
36
xmodmap имеет ряд проблем, проявляющихся в работе с приложениями, игнорирующими кейкоды.
Для чего ты отключаешь CAP_LINUX_IMMUTABLE?
С autokey более-менее сейчас нормально. Работает он, но иногда все же подводит, не реагирует. Я не стал разбираться.
Reset82 Сообщение #7 28 января 2019 в 09:38
Маньяк
42
cap_linux_immutable отключаю, чтобы нельзя было снимать флаги заранее установленные. от эксплоитов, руткитов и т.д.
У autokey самая большая проблема на мой взгляд, что для каждой замены отдельный файл, что крайне неудобно, хотя, может сейчас уже по другому.

А на счет словаря, до меня кажысь дошло, что ты имеешь в виду.
Кстати, да, можно ведь забиндить только черточки, причем даже на numpad, а потом с автозаменой менять сочетание на цельную букву, что наверняка будет грамматически правильно во всех приложениях.
Последний раз отредактировано 28 января 2019 в 09:39 пользователем Reset82
Nyalice Сообщение #8 29 января 2019 в 12:40
Супермен
14
Composethe Unix way.
Reset82 Сообщение #9 29 января 2019 в 18:24
Маньяк
42
undefined писал(а):
Composethe Unix way.

в данном случае это bad way, because too many chars.
Вот например как китайцы печатают иероглифы? я выставил китайскую раскладку и ничего кроме обычной qwerty не получилось.
Очевидно, что они печатают фонетически на "пиньинь" а там куча букв... Вот я и подумал, что проще же в таком случае подставлять уже к готовым черточки, а эти черточки как уже придумали ранее будут заменятся на целиковый символ, а далее по идее уже должно менятся на иероглиф в идеале. Только что-то не фурычит такой велосипед.
Eremite Сообщение #10 29 января 2019 в 21:18
Супермен
36
В Windows для вставки спецсимволов в свое время активно пользовался программой Type it easy Николая Мясникова. Она очень выручала, когда надо было набирать символы, для которых обычно используются Alt и NumPad, с ноутбука без цифровой клавиатуры. Может, кому-то пригодится.
Nyalice Сообщение #11 31 января 2019 в 00:39
Супермен
14
Reset82 писал(а):
в данном случае это bad way, because too many chars.
Вот например как китайцы печатают иероглифы? я выставил китайскую раскладку и ничего кроме обычной qwerty не получилось.
Очевидно, что они печатают фонетически на "пиньинь" а там куча букв... Вот я и подумал, что проще же в таком случае подставлять уже к готовым черточки, а эти черточки как уже придумали ранее будут заменятся на целиковый символ, а далее по идее уже должно менятся на иероглиф в идеале. Только что-то не фурычит такой велосипед.

Это именно тот way, который ты описываешь. К готовой букве подставляется чёрточка. Например, "compose, a, -" → ā. Если набираешь эти "модифицированные" буквы раз в сто лет, то чудесно работает. Для регулярного ввода, конечно, лучше завести соответствующую национальную раскладку или сделать собственную.

А у китайцев есть множество разных методов набора. В том числе подобные описанному тобой (сборка символов из радикалов, форм и т.д.). И да, это в любом случае медленно. Один знак они набирают дольше — зато этот знак несёт в себе больше информации. Так чтобы и то и другое сразу — так не бывает :)
Последний раз отредактировано 31 января 2019 в 00:39 пользователем Nyalice
Reset82 Сообщение #12 31 января 2019 в 08:12
Маньяк
42
Nyalice, а, ну да. Мне что-то казалось что это для горячих сочетаний. По сути это я и имел в виду. Только уж больно кривоватый набор через композитную клавишу получается.
А на самом деле все проще оказывается было, по крайней мере для задачи которую я хотел решить.
Достаточно запустить ibus-setup. В трей добавляется иконка в которой можно добавить метод ввода. В случае с китайским достаточно добавить "pinyin" и после каждого слога достаточно выбирать с помощью цифрового ряда "тон" с которым написан данный слог. Все быстро и удобно!
Спасибо за подсказки!

Чтобы писать в форуме, нужно зарегистрироваться.


Связаться
Выделить
Выделите фрагменты страницы, относящиеся к вашему сообщению
Скрыть сведения
Скрыть всю личную информацию
Отмена