10

Я привык использовать US International в качестве раскладки клавиатуры. Однако, реализация, кажется, сильно отличается в Windows и Linux (Gnome, в моем случае - вполне может быть проблемой GTK, так как GTK ведет себя так же в Windows).

В макете используются мертвые клавиши, например, такие как ', ", ^ и т.д., Позволяющие легко вводить символы с диакритическими знаками. В Windows нажатие мертвой клавиши, а затем клавиши, с которой нет связанной пары, приводит к символу мертвой клавиши (в сочетании с пробелом) и к символу второй клавиши. Пример: При нажатии кнопки ", в урожайности„А“, однако, нажав„ S выходы «“ S», так как нет спаривания для с.

Теперь есть язык под названием английский, который часто использует именно эти два символа, и, поскольку он работает в Windows, просто печатая их как обычно, для меня сейчас это мышечная память. Что подводит меня к моей проблеме:

В Linux (и GTK на Windows), есть сопряжение для s (среди многих других), что приводит к ś (который, в свою очередь, приводит к мне часто набрав „ИТС“). Таким образом, набрав «это» требует от меня напечатать ',         , С в конце.

Есть несколько других комбинаций, к которым я привык, которые не работают. Среди тех, что для несуществующих пар просто ничего не является результатом. Ввод «Я» приводит к «Я». Двойное нажатие на одну из этих клавиш приводит к непостоянному диакритическому знаку, который ломает мою привычку печатать строки, сначала печатая обе кавычки (что теперь приводит к неразрывному острому ударению или макрону).

Короче говоря: Ни один из поставляемых международных США макетов представляется , не функционирует так же , как и в Windows - есть ли что работает одинаково? Или есть возможность настроить его таким образом? Хотя может быть неплохо набирать буквы s с острым акцентом или диакритическими знаками без пробелов, для меня это не совсем общие потребности.

3 ответа3

7

Одна возможность состоит в том, чтобы избежать мертвых ключей и вместо них набирать акцентированные буквы клавишей Compose. Например, введите Compose " a, чтобы ввести ä . Вам нужно будет выбрать вариант раскладки клавиатуры, который включает клавишу Compose ; общий выбор - это клавиша слева от правой клавиши Ctrl (которую, я думаю, Windows называет Menu). Преимущество Compose заключается в том, что вы можете набирать много необычных символов без изменения основного макета. Недостатком является то, что для акцентированного письма требуется три нажатия вместо двух.

Кроме того, вы можете настроить эффект мертвых ключей, создав файл с именем .XCompose (обратите внимание на CApitalization) в вашем домашнем каталоге и список желаемых комбинаций. Что-то вроде:

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

<dead_acute> <space> : "'" apostrophe
<dead_acute> <exclam> : "'!"
<dead_acute> <quotedbl> : "'\""
# etc...
<dead_acute> <a> : "á"
<dead_acute> <b> : "'b"
# etc...

Синтаксис довольно прост: последовательность клавиш слева от : превращается в строку между "" справа от : Дополнительное слово справа - это ключ (то есть имя ключа), соответствующий этой последовательности ключей; это не очень важно. Все от # до конца строки игнорируется.

Измените первую строку, чтобы указать на системный файл, если ваш дистрибутив помещает его в другое место. Вы можете посмотреть в этом файле больше примеров синтаксиса. <Multi_key> - это другое имя клавиши Compose .

Слева имена между < угловыми скобками > являются ключевыми символами. Вы можете найти список ключевых символов в /usr/include/X11/keysymdef.h (этот файл находится в пакете разработки, например, x11proto-core-dev в Ubuntu).

Да, это много печатает, но вы должны быть в состоянии автоматизировать большую часть этого путем вставки копий кусочков keysymdef.h и выполнения нескольких умных массовых замен. Что-то, что поможет, - то, что вы можете повторно использовать шестнадцатеричный код справа, чтобы сделать правую строку благодаря синтаксису "\x dd ": включите, например,

#define XK_exclam                        0x0021  /* U+0021 EXCLAMATION MARK */

в

<dead_acute> <exclam> : "'\x21"

Наконец, вы можете настроить раскладку клавиатуры с мертвыми клавишами и клавишей Compose . Будучи немцем, вы можете установить только « как мертвый ключ». Если вы идете по этому маршруту, самый простой вариант - использовать графический интерфейс для настройки клавиатуры без мертвой клавиши и клавиши .Xmodmap для мертвого ключа, содержащий что-то вроде

keysym apostrophe = apostrophe dead_quotedbl
3

Я знаю, что этот вопрос был "решен" некоторое время. Тем не менее, я хочу представить свое решение, которое сочетает в себе результаты, полученные на этой странице, с большим количеством испытаний и экспериментов.

Win US Intl для Linux - это серия сценариев, которые я написал, чтобы решить проблему, связанную с проблемами с раскладкой клавиатуры Linux в США, как и в OP. Я использую его главным образом потому, что мой родной язык - испанский, и я до сих пор использую множество английских форумов, текстов, чатов и так далее (например, этот сайт).

На заметку: это на самом деле похоже (не полностью совпадает) на поведение Windows XP US - Международная раскладка клавиатуры.

Вы можете перейти на http://tamh.info/en/win-us-intl-4-linux/, чтобы проверить это. Я нахожусь в процессе улучшения, добавляя больше записей XCompose для нескольких других пограничных случаев, среди других изменений.

3

В настоящее время существует репозиторий github, который предоставляет файл .deb, который решает эту проблему:

Windows ™ США Международный XCompose для Linux

Он основан на индивидуальном.Файл XCompose, как предложили другие ответы.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .