Win-Compose

Всем нам так или иначе приходится иметь дело с вводом символов для нескольких языков. Большинство русскоговорящих имеют дело с английской QWERTY, совмещённой с кириллической ЙЦУКЕН. Иногда мы забываем, какой язык выбран в настоящий момент, и вводим тарабарщину. Однако это быстро обнаруживается и исправляется. Есть жуткая проблема с запятой, которая в русской раскладке наохдится почему-то в верхнем регистре. Ну да ладно. В принципе, все привыкли.

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

Казалось бы, зачем — можно же обойтись первоначальной латинской раскладкой? Но вот беда — в этом языке есть три дополнительных буквы: å, ä, ö. Хорошо, они размещены в правой части клавиатуры, на клавишах со знаками пунктуации. Это довольно легко и быстро учится. Также иногда шведы используют заимствованные слова, содержащие другие диакритические символы, с такими вот буквами: ü, é, è. Ну, клавиши для этих знаков рядом разместили, они сочетаются с разными гласными.

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

svenska-tangentbord

Конечно же, плюс! А вот минус будет найден тремя рядами ниже. Чтобы ввести знак @, придётся использовать правый Alt.

То есть, вслепую все эти символы выучить не получится. Но на клавишах третий ряд символов нанести нереально — места нет. Переключаться между тремя раскладками гораздо сложнее — ошибаться приходится гораздо чаще. Сплошное расстройство.

В Linux решение этой проблемы ассиметричное — вводить «сложные» символы можно с помощью последовательностей нажатий, предваряемых специальной клавишей Compose. Её на клавиатуре нет, но можно настроить её на любую служебную. Часто используют правый Alt (AltGr), левый Alt при этом работает как обычно. Ну или можно назначить Caps Lock — так от неё хотя бы толк будет.

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

  • Compose ” A → Ä
  • Compose ‘ A → Á
  • Compose - - - → — (длинное тире, эм-дэш, если кто не понял)
  • Более экзотичные варианты: Compose 1 2 → ½. Ну и мой любимый: Compose C C C P → ☭.

Более полный список сочетаний тут: http://fsymbols.com/keyboard/linux/compose/

В Linux клавиша Compose назначается, например, через меню настройки DE или в командной строке. Для Windows традиционно предлагается вводить символы Unicode через нажатие Alt + цифровой ноль + номер символа. Единственное сочетание, которое я смог запомнить, это Alt + 0151 — длинное тире. Сложно, длино, неудобно.

К счастью, я догадался поискать вариант Compose для Windows. И нашёл! Рабочий проект: https://github.com/SamHocevar/wincompose.

Комбинации клавиш те же самые, что и в Linux, переучиваться не нужно. Говорят, что в этой программе есть некоторые баги и нестабильная работа, но с последними экспериментальными релизами я проблем не имел.


Written by Grigory Rechistov in Uncategorized on 22.12.2016. Tags: compose, wincompose, alt-gr,


Copyright © 2018 Grigory Rechistov