Як створити малі pi ("π") за допомогою клавіші compose?


14

Я впевнений, що раніше я міг створювати малі символи пі, використовуючи Composepi(як описано на прикладі fsymbols.com ), але це більше не працює. Мій композиційний ключ працює для інших персонажів (наприклад, Composeaaдля "å"), і що може бути не так?

У мене немає /usr/share/X11/locale/en_GB.utf8/Compose(або ~/.XCompose), це щось, що повинно було бути встановлено / згенеровано? Є /usr/share/X11/locale/en_US.utf8/Compose; Чи буде достатньо символізувати це, /usr/share/X11/locale/en_GB.utf8/Composeщоб виправити це?

$ locale
LANG=en_GB.utf8
LC_CTYPE="en_GB.utf8"
LC_NUMERIC="en_GB.utf8"
LC_TIME="en_GB.utf8"
LC_COLLATE="en_GB.utf8"
LC_MONETARY="en_GB.utf8"
LC_MESSAGES="en_GB.utf8"
LC_PAPER="en_GB.utf8"
LC_NAME="en_GB.utf8"
LC_ADDRESS="en_GB.utf8"
LC_TELEPHONE="en_GB.utf8"
LC_MEASUREMENT="en_GB.utf8"
LC_IDENTIFICATION="en_GB.utf8"
LC_ALL=

Спін-оф-питання .


який розподіл ви використовуєте? це може бути проблемою методу введення (uim, xim).
Клаату фон Шлакер

Відповіді:


5

Список композицій X11, як правило, знаходиться під /usr/share/X11/locale/цим (хоча це місце може відрізнятися між розподілами), але Composeфайл не обов'язково знаходиться в каталозі, названому за вашими LC_CTYPEналаштуваннями. Існує етап перекладу імен локалів через файл /usr/share/X11/locale/compose.dir. Цей переклад дозволяє багатьом локальним ресурсам спільно використовувати один і той же композиційний файл. (Символічні посилання були б іншим способом, але текстовий файл простіше розповсюджувати і працює на платформах, які не мають символічних посилань - X11 існує поза Unix.) Більшість локалів, які використовують кодування UTF-8 для мови, написаної на латинським алфавітом використовують композиційний файл для en_US.UTF-8, розташований у en_US.UTF-8/Compose.

Насправді en_US.UTF-8/Compose, єдиний спосіб генерувати U03C0(GREEK SMALL LETTER PI) - це <dead_greek> <p>. Немає <Multi_key>( Compose) послідовності. Серед макетів клавіатури, що поширюються за допомогою X.org, єдиний, який визначає dead_greekключ, - це макет BÉPO (французький аналог DVORAK). Таким чином, немає можливості вводити πключ Compose із конфігурацією за замовчуванням. І Великобританія розташування за замовчуванням не включає в себе шлях до типу π, навіть у варіанті XKB (розкладку США Mac ( us(mac)) дасть вам πна AltGr+ Pоднак).

Наскільки я можу сказати, πу Xorg ніколи не було стандартної послідовності Compose . Якщо ви пам'ятаєте його, можливо, ви були іншим способом введення, ніж вбудований механізм X11.


13

як зауважують інші, в X для π немає стандартних правил складання, тому, якщо ви хочете використовувати символ compose для створення символу π (як я щойно зробив), ви можете:

  • встановити uim
  • творити ~/.XCompose
  • поставте туди потрібні вам правила
  • не забудьте запустити файл include "%L"

моя виглядає так:

include "%L"

<Multi_key> <l> <l>                 : "ℓ"   U2113     # litre symbol
<Multi_key> <p> <i>                 : "π"   U03C0     # GREEK SMALL LETTER PI

це працює на Debian. це впливає на роботу Ctrl-Shift-u.


Це, здається, не працює для мене за допомогою сервера xorg 1.17.4 на Gentoo. Я точно використав вміст, наведений вище, запустив новий термінал, використав клавішу compose і piне з’явився.
Павло Шімерда

2
@ PavelŠimerda Вибачте, щоб залишити старий коментар. Ви перезавантажили свій DE / DM (можливо, це буде більш елегантний спосіб зробити це, але я цього не знаю; наскільки я знаю, X - це той, що обробляє прив'язки Compose).
omninonsense

2
@omninonsense Моєю єдиною проблемою було те, що я використовував .Xcomposeзамість .XCompose. Перезавантажувати Xorg або WM не потрібно, він читається на початку клієнта, тобто веб-браузера або консолі. Спасибі!
Павло Шімерда

4

Це не дуже зручно, але це працює:

Якщо ви шукаєте у вашому файлі Compose символ "pi":

% grep -i greek /usr/share/X11/locale/en_US.UTF-8/Compose | grep -i 'letter pi'
<dead_greek> <P>            : "Π"   U03A0    # GREEK CAPITAL LETTER PI
<dead_greek> <p>            : "π"   U03C0    # GREEK SMALL LETTER PI

Ви бачите, що комбінація для малого π дорівнює U03C0

Отже, якщо натиснути, ControlShiftuа потім ввести 03c0 Space, вам залишиться символ π.

Інший спосіб, який повинен працювати - це визначити ключ за допомогою xmodmap, але у мене виникли проблеми з деякими програмами, які не реагують на це.


Я боюся, що комбінація клавіш не працює (я намагався починати з Compose, Shift, u; Compose + Shift + u; Compose, Shift + u; та Compose + Shift, u), і запам'ятати було б дуже важко .
l0b0

6
U03c0означає, що це символ Unicode, кодова точка якого 0x03c0. Це не означає, що ключ U бере участь у його введенні будь-яким чином. Ви можете ввести Control + Shift + U (не Compose + Shift + U), а потім ввести шістнадцятковий код для введення символу за його кодовою точкою Unicode, але це Gnome, не пов’язаний із механізмом компонування, і недоступний поза додатками Gnome (за винятком, якщо ви використовуєте метод введення натхнення Gnome в усьому світі, я не знаю, які з них реалізують, якщо такі є). Cc @ l0b0
"SO- перестань бути злим"

Змінено відповідь на контроль-shift-u. Не мав наміру мати на увазі, що це має щось спільне з Compose; використовуючи Compose для отримання номера Unicode, використовуючи це для отримання символу π. Як я вже говорив, не зручний і не «правильний» шлях, але можливо варіант.
Клаату фон Шлакер

2

Використовуйте композицію Unicode [shift] + [контроль] + U, а потім 03A0


У моїй системі нічого не відбувається, вона просто набирає 03a0.
петерх

Утримуйте Shift + Ctrl + u і введіть 03a0, тоді для верхнього регістру Pi (Π), введіть 03c0 для малого Pi (π). Для мене на Manjaro Linux це працює.
стимулюємо

1

Один із варіантів - змінити налаштування клавіатури на грецьку мову, а потім натиснути кнопку "p" (нижній регістр, тобто з вимкненням Caps lock)


Це не дає відповіді на запитання. Щоб критикувати або вимагати роз'яснення у автора, залиште коментар під їх дописом. - З огляду
shirish

2
Я не критикував. Я грек і мав ту саму проблему, щоб написати деякі документації, і в кінцевому підсумку я скористався найпростішим можливим способом.
Кріс Ціакулас

-2

У моїй (в основному за замовчуванням) конфігурації * є префіксом Compose для грецьких символів, тому може бути написаний малий pi Compose * p.

Інші конфігурації, однак, включають більше візуальних конструкцій, тому ви також можете побачити, чи Compose"~працює.


1
Вибачте, жодне з цих не працює.
l0b0

1
Ні в одній із таблиць Compose, що постачається з X11. Можливо, є якийсь інший метод введення, який пропонує цю комбінацію, але ця відповідь не корисна, якщо ви не вказуєте, який.
Жил "ТАК - перестань бути злим"

5
Можливо, це з github.com/kragen/xcompose
Мікель
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.