LINUX.ORG.RU
ФорумTalks

Тестируем типографскую раскладку v.2.0.


0

0

Наконец-то дошли руки довести до нормального состояния свою типографскую раскладку (которая позволяет быстро набирать разнообразные юникодные символы, типа «кавычек» и прочего подобного).

Итак, теперь раскладка интегрируется в XKB и её можно задавать обычными XKB-опциями, не заморачиваясь со скриптами.

Собственно, инструкция простая:

$ wget http://regolit.com/files/symbols_typo
$ sudo cp symbols_typo /usr/share/X11/xkb/symbols/typo

Затем можно выполнить

$ setxkbmap -option grp:caps_toggle -option grp_led:caps -layout 'typo(us)','typo(ru)'

чтобы убедиться, что всё работает (раскладки переключаются через CapsLock, индикатор раскладки — тоже CapsLock). Соответственно, вместо «us,ru» нужно использовать «'typo(us)','typo(ru)'» (там, где определяются параметры XKB: xorg.conf etc.)

Картинка с доступными символами тут: http://regolit.com/images/xkb-scheme-large.png Печатание юникодных символов производится при зажатой правой клавише Alt.

Любителей XCompose этот пост не касается.

Косяки будут исправляться по мере обнаружения.

На днях в xkeyboard-config были закоммичены две xkboptions для типографских символов. Всяко приветствуются тестеры.

При этом у меня есть желание опцию birman2 таки грохнуть как нишевую.

svu ★★★★★
()
Ответ на: комментарий от svu

> При этом у меня есть желание опцию birman2 таки грохнуть как нишевую.

Разумно, ибо там куча всякой лажи типа дореволюционной типографики и т.п. У меня примерно за год использования получилась такая версия, как на картинке. И ещё более удивительно, что мой ламерский вариант раскладки, написанный за два дня, во многом совпадает с тем, что закоммичено :)

annoynymous ★★
() автор топика
Ответ на: комментарий от Davidov

Да, например, я всегда кавычки пишу парами. Пара пишется тремя нажатиями: зажимается Alt и затем нажимается подряд ,.

annoynymous ★★
() автор топика
Ответ на: комментарий от annoynymous

1. Если не сложно, посмотрите на бирман1 и сравните со своим вариантом. Может, что-то "усредним", добавим?

2. Кроме древностей - есть ли какая-то польза в бирмане2? Мне хочется получить подтверждение, что я ничего не испорчу, грохнув ее нафиг.

svu ★★★★★
()
Ответ на: комментарий от annoynymous

>Пара пишется тремя нажатиями: зажимается Alt и затем нажимается подряд ,.

Ну это, в общем, аргумент.

С другой стороны раз такое дело, можно завести отдельный compose для пары кавычек. А с раскладкой так не сделать.

Меня расстраивает то, что я не могу поставить эту раскладку локально для пользователя (не залезая в /usr/share/...).

Davidov ★★★★
()
Ответ на: комментарий от svu

> 2. Кроме древностей - есть ли какая-то польза в бирмане2? Мне хочется получить подтверждение, что я ничего не испорчу, грохнув ее нафиг.

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

> 1. Если не сложно, посмотрите на бирман1 и сравните со своим вариантом. Может, что-то "усредним", добавим?

Я сейчас посмотрю.

annoynymous ★★
() автор топика
Ответ на: комментарий от svu

http://regolit.com/files/symbols_typo

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

annoynymous ★★
() автор топика
Ответ на: комментарий от annoynymous

Да, забыл совсем. Схема (xkb_symbols "birman") как таковая не нужна, на ней некоторые символы не очень удобно расположены, поэтому, в частности, и появилась вторая версия на замену первой.

annoynymous ★★
() автор топика
Ответ на: комментарий от annoynymous

И ещё вопрос. Я совсем не понял, как предлагается переключаться временно из любой раскладки на типографскую. Самое большое преимущество подобной раскладки заключается как раз в том, чтобы на очень короткое время эту раскладку включить из любой раскладки.

annoynymous ★★
() автор топика
Ответ на: комментарий от svu

Я этот баг и изучаю, да. Просто я не очень понимаю, зачем и как это делается.

Вот, например, как я делаю:

setxkbmap -option lv3:ralt_switch -option grp:caps_toggle -option grp_led:caps -layout us+typo,ru:2+typo

При этом в XKB находится только группа typo, и можно вручную контролировать, в какой группе будет присутствовать дополнительный уровень.

annoynymous ★★
() автор топика
Ответ на: комментарий от svu

> На днях в xkeyboard-config были закоммичены две xkboptions для типографских символов

Вот это интересно, но где код/как включить? Смержил xkeyboard-config с гита, ничего на эту тему не вижу :-(

Sphinx ★★☆☆
()
Ответ на: комментарий от annoynymous

Там это делается как -option 'typo:birman'. Все-таки использование плюса и двоеточия в явном виде - не очень кошерно. Хотя и дает более тонкий контроль, да.

svu ★★★★★
()
Ответ на: комментарий от svu

> Там это делается как -option 'typo:birman'.

Ага, тогда сразу возникает простой вопрос — а нафига? Ведь по сути там сделана всего лишь новая раскладка, которая подключается как дополнительный слой, а не как группа. Это можно использовать и для других раскладок, сделав некий обобщённый механизм для подключения слоёв. Аналогично можно сделать слой с греческими буквами, например. Или с математическими символами.

annoynymous ★★
() автор топика
Ответ на: комментарий от annoynymous

> , которая подключается как дополнительный слой
Вот именно поэтому option, а не layout или variant. Это и есть ответ на вопрос "нафига". И option можно использовать с любыми другими раскладками

svu ★★★★★
()
Ответ на: комментарий от svu

> Вот именно поэтому option, а не layout или variant. Это и есть ответ на вопрос "нафига". И option можно использовать с любыми другими раскладками Претензия не к этому была, а к тому, что это выделено в отдельное понятие. Я не особо в XKB разбираюсь, но хотелось бы видеть запись типа: -option '3rdlayer(typo)' или -option '3rdlayer(maths)' вместо -option 'typo(birman)' Здесь typo и maths — это дополнительные слои с типографическими и математическими символами соответственно.

annoynymous ★★
() автор топика
Ответ на: комментарий от annoynymous

> И ещё более удивительно, что мой ламерский вариант раскладки, написанный за два дня, во многом совпадает с тем, что закоммичено

Логично, если учесть что они все основаны на первой версии раскладки Бирмана.

Собственно, изначально у меня была своя раскладка, написанная ещё до Бирмана (в самом первом патче)

alexeyten
()
Ответ на: комментарий от annoynymous

В -option используется двоеточие, не кавычки. А вообще я не очень хочу иметь отдельную группу typo (и даже 3rdlayer). Предлагаю misc:typo. Группа misc уже существует, это будет в ней доп. опция. Слово birman, думаю, надо убрать, поскольку это уже не совсем его раскладка в исходном варианте. Хотя в комментах надо его упомянуть, ибо на основе его работы...

svu ★★★★★
()
Ответ на: комментарий от alexeyten

Алексей, спасибо что пришли;) Надеюсь, мы сейчас тут все утрясем и в ближайшем релизе будет этот код в виде, удовлетворяющем всех троих.

svu ★★★★★
()
Ответ на: комментарий от svu

> опция включается во ВСЕ активные раскладки в виде 3 и 4 уровня (через RAlt обычно).

И это мне очень не нравится, т.к. если в раскладке были какие-то свои символы на третьем уровне, то они теряются. Я пытался написать правила, которые в результате должны давать что-то типа

...+us+ru:2+typo(birman)+us+typo(birman):2+ru:2+...

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

alexeyten
()
Ответ на: комментарий от svu

В -option используется двоеточие, не кавычки. А вообще я не очень хочу иметь отдельную группу typo (и даже 3rdlayer). Предлагаю misc:typo. Группа misc уже существует, это будет в ней доп. опция. Слово birman, думаю, надо убрать, поскольку это уже не совсем его раскладка в исходном варианте. Хотя в комментах надо его упомянуть, ибо на основе его работы...

А где группа misc существует? В 1.4 не вижу.

annoynymous ★★
() автор топика
Ответ на: комментарий от alexeyten

> т.к. если в раскладке были какие-то свои символы на третьем уровне, то они теряются.
Не все, а только для указанных символов. И, я думаю, это приемлемо - человек должен знать, чего именно он хочет.

Ваши модификаци к правилам мне понравились, в общем - только немного напрягла необходимость поддерживать alllayouts в порядке. Может, все-таки избавимся от этого списка и сделаем через * (но после трехгрупных раскладок!)?

Правила "для совместимости" - вещь сама по себе довольно костыльная. Пытаюсь поддерживать их в живом виде, но получается хреново, должен признать.

svu ★★★★★
()
Ответ на: комментарий от alexeyten

> т.к. если в раскладке были какие-то свои символы на третьем уровне, то они теряются.

Это обходимо, можно вручную прописывать к нужной раскладке этот слой. А автоматическое приписывание ко всем оставить как выриант по умолчанию. Всё равно эта фича по большей части русскоязычной аудиторией востребована.

annoynymous ★★
() автор топика
Ответ на: комментарий от annoynymous

Ох, виноват, она есть только в base.xml.in (только "для видимости"). В реальности туда запихнуты некоторые опции numpad:, srvrkeys:, shift: которые девать было некуда.

Ну тады даже не знаю, куда это девать. Предложения велкам. Заводить группу misc наконец? Группу typo для единственной (и потенциально единственной) опции?...

svu ★★★★★
()
Ответ на: комментарий от annoynymous

> Всё равно эта фича по большей части русскоязычной аудиторией востребована.
Я был бы не против иметь это только в ru, но братья-славяне могут возжелать такого же...

svu ★★★★★
()
Ответ на: комментарий от svu

> Ну тады даже не знаю, куда это девать. Предложения велкам. Заводить группу misc наконец?

Да, вполне можно. Всяким служебным (не языковым) раскладкам там самое место.

> Группу typo для единственной (и потенциально единственной) опции?...

Мне в принципе всё равно :) Главное, чтобы работало.

annoynymous ★★
() автор топика
Ответ на: комментарий от svu

> (задумчиво), или действительно сделать варианты в ru/ua/by и не париться?...

А это не очень гуд, поскольку хочется именно дополнительный слой на всех активных раскладках.

annoynymous ★★
() автор топика
Ответ на: комментарий от svu

Я бы знак "§" унёс на "s", а на 4 вместо него добавил $.

Добавить квадратные и фигурные скобки на их родные места

Добавить символ приближённого равенcтва ≈

Добавить знаки <> в четвёртый уровень на их местах, вместо дублинования кавычек-лапок

alexeyten
()
Ответ на: комментарий от svu

Обрашение к участникам: договариться надо быстро, ибо сегодня ночью наступает фриз каталога rules перед релизом.

svu ★★★★★
()
Ответ на: комментарий от svu

> Зачем русские кавычки, когда текущая раскладка американская?

Так там не только русские кавычки, а ещё и тире (—), американские кавычки (“” и ‘’), всякие символы типа ©, ® и ™. По сути русского в раскладке только «кавычки-ёлочки» и „кавычки-лапки”.

annoynymous ★★
() автор топика
Ответ на: комментарий от svu

Собсвенно, alllayouts появился не от хорошей жизни, а потому что * не рабоает. :(

alexeyten
()
Ответ на: комментарий от alexeyten

> Я бы знак "§" унёс на "s", а на 4 вместо него добавил $.

Согласен, хотя я и прывык к § на 4, но это мелочь.

> Добавить символ приближённого равенcтва ≈

Тоже согласен, он у меня вынесен рядом с тильдой

> Добавить знаки <> в четвёртый уровень на их местах, вместо дублинования кавычек-лапок

Тоже согласен.

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

annoynymous ★★
() автор топика
Ответ на: комментарий от alexeyten

> Может лучше буллет убрать на 8, рядом со «*»?

А я, кстати, не вижу там буллета:

key <AB10> { [NoSymbol, NoSymbol, ellipsis, NoSymbol] }; // "/"

annoynymous ★★
() автор топика
Ответ на: комментарий от svu

> Не все, а только для указанных символов.

Мы переопределяем половину клавиш. Что-то точно пересечётся.

>И, я думаю, это приемлемо - человек должен знать, чего именно он хочет.

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

> Правила "для совместимости" - вещь сама по себе довольно костыльная. Пытаюсь поддерживать их в живом виде, но получается хреново, должен признать.

Может объявить их deprecated и удалить в версии+1?

alexeyten
()
Ответ на: комментарий от alexeyten

> Ссылку не туда дал.

ОК. На восьмёрке действительно будет удобнее.

seconds и minutes я поменял местами, чтобы символ «″» был на той же кнопке, что и символ дюйма (").

annoynymous ★★
() автор топика
Ответ на: комментарий от alexeyten

> Кстати, а зачем нужен перевёрнутый вопросительный знак? И если нужен, то почему нет восклицательного? :)

В испанском вопросительное предложение начинается в перевёрнутого вопросительного знака и заканчивается нормальным. Перевёрнутый восклицательный тоже есть (U+00A1 INVERTED EXCLAMATION MARK).

Можно выбросить, наверное. Мне он ни разу не пригодился.

annoynymous ★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.