LINUX.ORG.RU

Compose не работает в части раскладок

 , ,


0

1

Добрый день.

Странная ситуация: Compose работает только в двух раскладках из 6: в русском и английском, в остальных языках полностью игнорируется. Где копать?

Спасибо!

★★

Ответ на: комментарий от fAX

Разрешенные клавиши для подстановки определены в /usr/share/X11/xkb/rules/base.lst:

$ grep "compose:" /usr/share/X11/xkb/rules/base.lst

Комбинация по умолчанию для клавиши compose зависит от локали, установленной для этого сеанса и находящейся в

/usr/share/X11/locale/используемая_локаль/Compose, 

где используемая_локаль, к примеру, en_US.UTF-8.

Можно определить собственную комбинацию клавиш compose, скопировав стандартный файл в ~/.XCompose и отредактировав его.

Все из той же Вики.

Mixa ()
Последнее исправление: Mixa (всего исправлений: 1)
Ответ на: комментарий от Mixa

Спасибо за помощь, но пока все равно не получается.

Комбинация по умолчанию для клавиши compose зависит от локали, установленной для этого сеанса и находящейся в

/usr/share/X11/locale/используемая_локаль/Compose,

Наверняка это так, только не могу понять, где в этом файле прописано значение по умолчанию. grep -Ri compose ничего (мне) понятного не дает.

Я посмотрел и посравнивал файлы локалей, где работает, и где не работает и до сих пор не понимаю.

fAX ★★ ()

Более предметно:

Работают en_US.UTF8 и ru_RU.UTF8. При нажатии на клавишу Compose (L_Alt) в этих языках меняется курсор и работают сочетания из соответствующего локали файла Compose.

В немецком с L_Alt курсор не меняется, зато появляются дополнительные символы при нажатии с L_Alt+.... Так же и во французском и украинском.

Я понимаю, что что-то упускаю, но все же.

Спасибо!

fAX ★★ ()

На тех, где не работает, там точно нет символов третьего слоя? Модификатор может конфликтовать с compose key, если задан дефолтный правый альт.

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

Можно встречный вопрос? Зачем аж 6 раскладок. Одну уже можно убрать - украинскую. Отличие от русской четыре буквы і, є, ї, ґ. Я использую вариант раскладки RUU Русская (с укр. и беларус. буквами на 3-ем уровне)

При нажатии правого Alt и русской Ы, я имею украинскую і, русской Э- украинскую Є, русской Ъ - украинскую Ї, русскую Г - украинскую Ґ.

Думаю есть вариант совмещения английской раскладки с другими европейскими языками. Хотя при желании можно запилить и свой вариант раскладки.

Пы.Сы. Английская, русская, немецкая, французская и украинская - это пять раскладок. А шестая?

Mixa ()
Последнее исправление: Mixa (всего исправлений: 1)
Ответ на: комментарий от fAX

Почему Ты такой невнимательный?

Вот что выдает команда grep "compose:" /usr/share/X11/xkb/rules/base.lst

  compose:ralt         Right Alt
  compose:lwin         Left Win
  compose:lwin-altgr   3rd level of Left Win
  compose:rwin         Right Win
  compose:rwin-altgr   3rd level of Right Win
  compose:menu         Menu
  compose:menu-altgr   3rd level of Menu
  compose:lctrl        Left Ctrl
  compose:lctrl-altgr  3rd level of Left Ctrl
  compose:rctrl        Right Ctrl
  compose:rctrl-altgr  3rd level of Right Ctrl
  compose:caps         Caps Lock
  compose:caps-altgr   3rd level of Caps Lock
  compose:102          <Less/Greater>
  compose:102-altgr    3rd level of <Less/Greater>
  compose:paus         Pause
  compose:prsc         PrtSc
  compose:sclk         Scroll Lock

Left Alt (он же AltGr) используется в комбинации.

А вот содержимое директорий /usr/share/X11/locale/*.UTF8 (может у Тебя побогаче будет)

$find /usr/share/X11/locale/*.UTF-8 -iname Compose| xargs du -sb

16232	/usr/share/X11/locale/am_ET.UTF-8/Compose
524	/usr/share/X11/locale/cs_CZ.UTF-8/Compose
125031	/usr/share/X11/locale/el_GR.UTF-8/Compose
573910	/usr/share/X11/locale/en_US.UTF-8/Compose
36201	/usr/share/X11/locale/fi_FI.UTF-8/Compose
62	/usr/share/X11/locale/ja_JP.UTF-8/Compose
175	/usr/share/X11/locale/km_KH.UTF-8/Compose
62	/usr/share/X11/locale/ko_KR.UTF-8/Compose
1561	/usr/share/X11/locale/pt_BR.UTF-8/Compose
202	/usr/share/X11/locale/pt_PT.UTF-8/Compose
62	/usr/share/X11/locale/ru_RU.UTF-8/Compose
6038	/usr/share/X11/locale/sr_CS.UTF-8/Compose
62	/usr/share/X11/locale/th_TH.UTF-8/Compose
62	/usr/share/X11/locale/zh_CN.UTF-8/Compose
62	/usr/share/X11/locale/zh_HK.UTF-8/Compose
62	/usr/share/X11/locale/zh_TW.UTF-8/Compose

Файл Compose для русской локали размером 62 байта содержит строку

include "/usr/share/X11/locale/en_US.UTF-8/Compose"

Если cat-ом открыть Compose из директории en_US.UTF8, то вывалиться вагон символов мыслимых и не мыслимых.

Mixa ()
Последнее исправление: Mixa (всего исправлений: 4)