Виберіть символи, утримуючи клавішу в Linux (наприклад, в OSX)


18

Мені було цікаво, чи є в наявності доступні додатки, які роблять щось на зразок Mac OS X. Моя рідна мова - іспанська, і зараз я живу у франкофонському середовищі, я також дуже багато володію англійською, тому мені потрібні різні акценти , спеціально французькою мовою, я вже два роки використовую Linux, а також час від часу використовую Mac OS X для тестування.

Я вважаю дійсно корисною функцію, доступну в Mac OS X, де ви продовжуєте натискати клавішу, і вона відображає список доступних опцій того самого символу, різних акцентів або пунктуації. Чи можу я це зробити в Linux?

Наприклад:

введіть тут опис зображення


1
Це було б рад. Чи можете ви опублікувати скріншот цієї функції? Я думаю, було б корисно проілюструвати, наскільки це приголомшливо
Джонатан Комар

Відповіді:


3

Боюся, я не знаю жодної програми, яка б це робила. Для розробки, ймовірно, знадобиться створити власний метод введення (замінити XIM).

Однак я можу запропонувати вам альтернативу, яка вам може бути набагато кориснішою, ніж просто зміна клавіатурного макета. X (через XIM) вже деякий час пропонує утиліту під назвою XCompose. XCompose дозволяє вводити "екзотичні" символи, натискаючи на провідну клавішу (яку ви позначаєте) з наступними налаштованими послідовностями клавіш. Наприклад, Composee'поступається характеру é. Послідовність за замовчуванням здебільшого є досить інтуїтивно зрозумілою, але найпотужнішою частиною XCompose є те, що ви можете додавати (або змінювати) послідовності, щоб теоретично генерувати будь-який символ unicode, який вважаєте за потрібне.

Налаштування послідовностей здійснюється за допомогою текстових файлів із звичайним текстом (які ви або помістили, $HOME/.XComposeабо які ви розмістили в іншому місці, але у них є $HOME/.XComposeджерело (Ви можете переглянути всю мою інсталяцію тут, якщо вас цікавить; дивіться конкретно XComposeта файли compose/внизу). Нижче наведено фрагмент моєї особистої $HOME/.XCompose:

include "%L"     # This enables all the default bindings
include "/home/halosghost/.compose/greek.compose" # some greek characters

А тепер фрагмент greek.composeвключеного вище (будьте уважні, що це, звичайно, не найергономічніші та ефективніші послідовності, які ви могли використовувати, вони є лише прикладом):

# Lower case
<Multi_key> <a> <l> <p> <h> <a>     : "α"   U03B1   # Alpha
<Multi_key> <b> <e> <t> <a>         : "β"   U03B2   # Beta
<Multi_key> <d> <e> <l> <t> <a>     : "δ"   U03B4   # Delta
<Multi_key> <g> <a> <m> <m> <a>     : "γ"   U03B3   # Gamma
<Multi_key> <l> <a> <m> <b> <d> <a> : "λ"   U03BB   # Lambda
<Multi_key> <p> <i>                 : "π"   U03C0   # Pi
<Multi_key> <m> <u>                 : "µ"   U03BC   # Mu

Ви бачите, що формат цих файлів насправді дуже простий (хоча є кілька випадків, коли ви використовуєте не сам символ, а ім'я для нього (наприклад, <period>а не <.>)).

З урахуванням вищесказаного я тепер можу набрати Capsmuдля створення µ(зауважте, що мій ключ Compose встановлений Caps).

Ви не згадали, який дистрибутив ви використовуєте (або шукаєте), але XCompose поставляється з xorg, тому все, що вам потрібно зробити, це налаштувати його. Пов’язане читання для налаштування Compose up XIMможна знайти тут , але ви також повинні зауважити, що в XIMцей час воно старіє, і це, можливо, не найкращий варіант. Також є щонайменше ще один IME, який підтримує послідовності Compose (хоча він використовує дещо іншу реалізацію): IBus .

Особисто я використовую XIM, і я сподіваюсь це робити, поки я не перейду на шлях (де я сподіваюся, що мене чекатиме всебічний кращий IME²), але це Linux; один розмір підходить не всім, і ви повинні використовувати те, що найкраще підходить для вашого робочого процесу ( в межах розуму ).


  1. З цього посилання ви побачите, що ви можете легко встановити, яку клавішу ви використовуєте для Compose (якщо припустити, що клавіатура не є достатньо езотеричною, щоб насправді мати виділений клавішу Compose) за допомогою наступної команди (для Caps):

    setxkbmap -option compose:caps
    
  2. Я можу мріяти, правда?

Як весела фінальна примітка, всі "екзотичні" символи в цій публікації (включаючи é, ",", µ, ¹ та ²) були створені за допомогою XCompose.


Які, ви б сказали, полягали б у відмінностях між XIM та використанням ключа "compose"? Для мене очевидно, що є спеціальні клавіші, але я вважаю, що ви можете досягти цього, використовуючи клавішу Compose, я використовую монетний двір Linux на базі Debian як Distro. Я, мабуть, закінчив би створити щось, як ви пропонуєте, однак було б педагогічно для мене дізнатися відмінності. Дякую за відповідь.
ximbal

Думаю, ти трохи розгублений у налаштуваннях (що, можливо, моя вина). XIM- IME, який пропонує ключ Compose. Спеціальні послідовності, про які я згадав і продемонстрували, не є окремими від ключа Compose, це розширення, які я особисто додав. Отже, з першого includeрядка, який я показав із цього .XComposeфрагмента, ви отримуєте всі послідовності Compose за замовчуванням, а потім додаю більше, як вважаю за потрібне (іноді переосмислюючи деякі параметри за замовчуванням).
HalosGhost

1
Спробую, я повернусь до вас, дякую за допомогу
ximbal

0

Ви можете увімкнути свій Compose Key . Це дозволяє складати символи, використовуючи символи, які "схожі" на частини композиту. Я використовую Alt Grяк свій Compose ключ, але зазвичай можна вибрати будь-який не використаний ключ.

Наприклад, Compose o /дасть ø, Compose a `дасть à тощо.

Це дуже відрізняється від використання « Мертвих ключів» , коли символи наголосу не відображаються як самостійні символи, якщо не вдаряються двічі поспіль; це, як правило, вкрай засмучує програмістів.

Функція Compose Key функціонує вже давно (я вважаю, що вона з'явилася на "справжніх" Sun терміналах). Він вбудований у більшість (багато? Всі?) Графічних інтерфейсів у системах на базі Linux. Я знаю, а також використовую відповідне програмне забезпечення для Windows.


1
Я знаю про використання Compose Key, однак, мені не здається пам'ятати 15 різних ключових послідовностей для всіх можливих персонажів, я знаю, що це рішення, яке працює, і воно існує вже давно, але Я спробував це, і в кінцевому підсумку забуваю про ключові послідовності, багато інших речей, на яких слід зосередитися. Дякую за спробу відповісти.
ximbal

1
Композиція, як було сказано в моєму дописі, є особливістю XIM(X модуля введення) IME. Кілька інших IME пропонують подібну функціональність (наприклад, IBus), але будь-який графічний інтерфейс, який використовується XIMдля введення даних (ви можете встановити і обидва, GTKі Qtвикористовувати XIM), підтримуватиме Compose, якщо у вас це налаштування.
HalosGhost
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.