Ввод с помощью Compose

Ввод с помощью клавиши Compose.

Содержание

1 Общая информация

  • Клавиша Compose начинает последовательность нажатия клавиш, которая включает (обычно два) дополнительных нажатия клавиш.
  • Клавиша compose также известна под названием Multi_key в X Window System.
  • Используется либо для ввода символов на языке, для которого не была предназначена клавиатура, либо для других менее используемых символов.
  • Например, нажатие Compose + ' + e производит é, или Compose + - + - создаёт длинное тире: .

1.1 US-International Keyboard

  • Схожим проектом является US-International Keyboard (международная клавиатура США)
  • https://web.cortland.edu/ponterior/keyboard/
  • В международной клавиатуре США в качестве клавиш-модификаторов используются ', `, ~, ^, ".
  • Например, комбинация 'a превращается в á, а "o — в ö.
  • Если нужны символы-модификаторы как таковые, то после них набирается пробел.
  • Сочетание клавиш Right-Alt плюс !, = и ряд других клавиш для создания символов, которые обычно недоступны.
  • Недостаток американской международной клавиатуры в том, что она включает лишь символы западноевропейских языков.

2 Настройка клавиши Compose

  • Хотя некоторые клавиатуры имеют железную клавишу Compose, её обычно переопределяют на какую-либо другую клавишу.
  • Разрешённые клавиши для подстановки определены в /usr/share/X11/xkb/rules/base.lst:
    grep "compose:" /usr/share/X11/xkb/rules/base.lst
    
  • Чтобы просмотреть настройки XKB:
    setxkbmap -print -verbose 10
    
  • Например, чтобы сделать клавишу Right Alt клавишей Compose:
    • через конфигурацию окружения рабочего стола,
    • через конфигурационные файлы X. пропишите compose:ralt в XkbOptions:
      # /etc/X11/xorg.conf.d/00-keyboard.conf
      Section "InputClass"
              Identifier "system-keyboard"
              ...
              Option "XkbOptions" "compose:ralt"
      EndSection
      
    • используя setxkbmap:
      setxkbmap -option compose:ralt
      
    • используя localectl
      • localectl сохраняет настройки в файл /etc/X11/xorg.conf.d/00-keyboard.conf, который не следует редактировать вручную, потому что localectl перепишет его при следующем запуске.
      • используйте следующим образом:
        localectl [--no-convert] set-x11-keymap раскладка [модель [вариант [опции]]]
        

3 Сочетания клавиш

  • Комбинация по умолчанию для клавиши compose зависит от локали, установленной для этого сеанса.
  • Таблица символов находится в файле /usr/share/X11/locale/используемая_локаль/Compose, где используемая_локаль, к примеру, en_US.UTF-8 или ru_RU.UTF-8.

3.1 Таблица сочетаний

Таблица 1: Основные сочетания для клавиши Compose
Первый символВторой символРезультат
'aá
"aä
`aà
~aã
^aâ
oaå
o"ö
,cç
muµ
"uü
OR®
<<«
>>»
.^·
xx×
oo°
^2²
so/0
14¼
/oø (знак пустого множества)
/OØ (знак диаметра)
-dð
thþ
aeæ
~nñ
??¿
=E
fsſ
'AÁ
"AÄ
`AÀ
~AÃ
^AÂ
oAÅ
ssß
,CÇ
uuŭ
OC©
^3³
34¾
THÞ
AEÆ
!!¡
=Y¥

4 Собственные сочетания клавиш

  • Можно определить собственную комбинацию клавиш compose.
  • Создайте пустой ~/.XCompose и включите в него содержимое стандартного файла, используя директиву include "%L", например:
# ~/.XCompose
include "%L"

<Multi_key> <g> <a> : "α"
<Multi_key> <g> <b> : "β"
<Multi_key> <g> <g> : "γ"

5 Примеры для набора собственных символов

  • Данные строчки добавляются в файл ~/.XCompose.
    • Знак рубля ():

      <Multi_key><minus><p>:"₽"
      
    • Русские ударения:

      <Multi_key> <apostrophe> <apostrophe> : "́" U0301 # COMBINING ACUTE ACCENT
      
      • Знак ударения вводится через последовательность клавиш Compose + апостроф + апостроф.
      • Эту комбинацию клавиш надо нажимать после (справа) от буквы, на которой надо поставить ударение.
      • Для латинских букв в XCompose прописаны комбинации типа Compose + апостроф + буква:
        <Multi_key> <apostrophe> <I>        : "Í"   Iacute # LATIN CAPITAL LETTER I WITH ACUTE
        

Дмитрий Сергеевич Кулябов
Дмитрий Сергеевич Кулябов
Профессор кафедры теории вероятностей и кибербезопасности

Мои научные интересы включают физику, администрирование Unix и сетей.

Похожие