С одной стороны, Виталий абсолютно прав — использование «3-го ряда» для ввода специальных символов технически удобней. Пользователю, который уже привык к кнопке Shift не составит никакого труда расширить практику «двойного или тройного нажатия» на ещё одну клавишу. Но, разумеется, только в теории. Очень многое зависит от реализации.
[spoiler]Для предметности поговорим о кавычках. Рискну предположить, что эти символы востребованы более всех остальных.
Чаще всего в русском языке используются «ёлочки». Поэтому их ввод должен быть наиболее простым и хорошо запоминаемым. В «3-м ряду» по умолчанию используются комбинации «3levelkey + <» и «3levelkey + >» (здесь и далее 3keylevel означает клавишу выбора 3-го ряда). Уверен, такое решение ни у кого не вызывает никаких вопросов. Без 3keylevel набирается один «уголок», а с 3keylevel — два.
Немецкие «лапки» применяются значительно реже — для цитаты внутри слов, уже заключённых в кавычки. То есть, не стоит рассчитывать на то, что пользователь просто запомнит любую произвольную комбинацию.
В уже приведённом мной в заметке «Волшебная кнопка Compose» примере настроек с точки зрения пользователя всё выглядит вполне логично. Для ввода «лапок» используются те же самые клавиши, что и для «ёлочек». Это решение и интуитивно понятно, и хорошо запоминается.
А вот «3-й ряд» для воода «лапок» по умолчанию предлагает совершенно другое — «3levelkey + j» и «3levelkey + k». И совершенно непонятно, каким образом пользователь должен это запомнить. Согласитесь, значительно логичней было бы предложить другие комбинации — «3levelkey + Shift + <» и «3levelkey + Shift + >». Иными словами, редко применяемые кавычки набираются точно так же, как и часто употребляемые, но с клавишей Shift.
На этом можно было бы и закончить, если бы не одно обстоятельство. Я уверен, что в первом же комментарии к этой заметке будет сказано о том, что меня «забанил Google» и я не удосужился найти информацию по назначению собственных комбинаций для «3-го ряда». Разумеется, это не так.
Вот фрагмент из файла .XCompose, в котором описано правило ввода немецких кавычек при помощи Compose:
<Multi_key> <Cyrillic_be> <Cyrillic_be> : "„" <Multi_key> <Cyrillic_yu> <Cyrillic_yu> : "“" |
А вот фрагмент из /usr/share/X11/xkb/symbols/typo, в котором описано аналогичное правило, но для «3-го ряда»:
key <AC07> { [NoSymbol, NoSymbol, doublelowquotemark, singlelowquotemark] }; // "j" key <AC08> { [NoSymbol, NoSymbol, leftdoublequotemark, leftsinglequotemark] }; // "k" |
Думаю, разница очевидна. Для редактирования первого файла даже документацию читать не нужно, поскольку там и так всё понятно. Чего никак нельзя сказать о втором. Увы, на настройка «3-го ряда» значительно сложнее настройки Compose. По крайней мере, для непрограммиста.
К тому же, помимо кавычек есть ещё масса других символов. Их тоже будет сам ставить Ворд?
Нет, по-моему, программа должна быть «рабской». Ничего и никогда не делать сама. Только то, что приказал хозяин. Без всякой самодеятельности.