Настраивать поведение клавиши Compose?
Я пытаюсь сделать так, чтобы эти последовательности создания производили следующие символы:
AA ==> Ä
OO ==> Ö
UU ==> Ü
aa ==> ä
oo ==> ö
uu ==> ü
Я пытался изменить мой ~/.XCompose
и моя система создает, но она не работает (после полного перезапуска).
Я все еще получаю значения по умолчанию.
(
AA ==> Å
OO ==> [nothing]
UU ==> Ŭ
aa ==> å
oo ==> °
uu ==> ŭ
)
Какой трюк, чтобы заставить это работать?
Вот мой ~/.XCompose
(точно так же, как сейчас; немного "болтовни" из первоначальных экспериментов и заметок тоже там, но я не думаю, что это должно на что-то повлиять, да?):
# ~/.XCompose
# This file defines custom Compose sequences for Unicode characters
# Import default rules from the system Compose file:
include "/usr/share/X11/locale/en_US.UTF-8/Compose"
# To put some stuff onto compose key strokes:
<Multi_key> <s> <s> : "ß" ssharp # LATIN SMALL LETTER SHARP S
<Multi_key> <A> <A> : "Ä" Adiaeresis # LATIN CAPITAL LETTER A WITH DIAERESIS
<Multi_key> <O> <O> : "Ö" Odiaeresis # LATIN CAPITAL LETTER O WITH DIAERESIS
<Multi_key> <U> <U> : "Ü" Udiaeresis # LATIN CAPITAL LETTER U WITH DIAERESIS
<Multi_key> <a> <a> : "ä" adiaeresis # LATIN SMALL LETTER A WITH DIAERESIS
<Multi_key> <o> <o> : "ö" odiaeresis # LATIN SMALL LETTER O WITH DIAERESIS
<Multi_key> <u> <u> : "ü" udiaeresis # LATIN SMALL LETTER U WITH DIAERESIS
<Multi_key> <;> <s> : "ß" ssharp # LATIN SMALL LETTER SHARP S
<Multi_key> <;> <A> : "Ä" Adiaeresis # LATIN CAPITAL LETTER A WITH DIAERESIS
<Multi_key> <;> <O> : "Ö" Odiaeresis # LATIN CAPITAL LETTER O WITH DIAERESIS
<Multi_key> <;> <U> : "Ü" Udiaeresis # LATIN CAPITAL LETTER U WITH DIAERESIS
<Multi_key> <;> <a> : "ä" adiaeresis # LATIN SMALL LETTER A WITH DIAERESIS
<Multi_key> <;> <o> : "ö" odiaeresis # LATIN SMALL LETTER O WITH DIAERESIS
<Multi_key> <;> <u> : "ü" udiaeresis # LATIN SMALL LETTER U WITH DIAERESIS
<Multi_key> <s> <;> : "ß" ssharp # LATIN SMALL LETTER SHARP S
<Multi_key> <A> <;> : "Ä" Adiaeresis # LATIN CAPITAL LETTER A WITH DIAERESIS
<Multi_key> <O> <;> : "Ö" Odiaeresis # LATIN CAPITAL LETTER O WITH DIAERESIS
<Multi_key> <U> <;> : "Ü" Udiaeresis # LATIN CAPITAL LETTER U WITH DIAERESIS
<Multi_key> <a> <;> : "ä" adiaeresis # LATIN SMALL LETTER A WITH DIAERESIS
<Multi_key> <o> <;> : "ö" odiaeresis # LATIN SMALL LETTER O WITH DIAERESIS
<Multi_key> <u> <;> : "ü" udiaeresis # LATIN SMALL LETTER U WITH DIAERESIS
# examples:
# <Multi_key> <apostrophe> <apostrophe> : "☕" acute # ACUTE ACCENT
# <Multi_key> <minus> <greater> : "→" U2192 # Compose - >
# <Multi_key> <colon> <parenright> : "☺" U263A # Compose : )
# <Multi_key> <b> <t> <w> : "by the way" # Compose b t w
# <Multi_key> <less> <p> : "<p></p>" # Compose < p
И вот начало моей системы Compose (слишком большой, чтобы вставить все это).
Я regex-replace'd все строки, которые начинались бы так же, как новые строки, которые я добавил вверху.
(Так <Multi_key> <([AaUuOo])> <\1>
не получает совпадений, кроме строк, которые я добавил вверху.)
/usr/share/X11/locale/en_US.UTF-8/Compose
# UTF-8 (Unicode) compose sequence
# David.Monniaux@ens.fr
#
# Part 1 - Manual definitions
# Spacing versions of dead accents
<Multi_key> <s> <s> : "ß" ssharp # LATIN SMALL LETTER SHARP S
<Multi_key> <A> <A> : "Ä" Adiaeresis # LATIN CAPITAL LETTER A WITH DIAERESIS
<Multi_key> <O> <O> : "Ö" Odiaeresis # LATIN CAPITAL LETTER O WITH DIAERESIS
<Multi_key> <U> <U> : "Ü" Udiaeresis # LATIN CAPITAL LETTER U WITH DIAERESIS
<Multi_key> <a> <a> : "ä" adiaeresis # LATIN SMALL LETTER A WITH DIAERESIS
<Multi_key> <o> <o> : "ö" odiaeresis # LATIN SMALL LETTER O WITH DIAERESIS
<Multi_key> <u> <u> : "ü" udiaeresis # LATIN SMALL LETTER U WITH DIAERESIS
(Compose-ss ==> ß является поведением по умолчанию и уже работает.)
1 ответ
Что только сработало для меня (мой .XCompose
установка перестала работать когда-то вокруг Saucy) должен был переключиться на UIM. Это было на самом деле безболезненно и делало то, что я хотел, что несколько шокировало меня:-)
$ sudo apt-get install uim
$ im-config -n uim
(и выйдите и вернитесь, чтобы перезапустить X)
Вуаля! Я снова могу печатать большие буквы! Также Shift-Ctrl-U
работает (хотя я сомневаюсь, я буду использовать это много). Переключение раскладок клавиатуры через меню GNOME 2 также все еще работает.
(Кроме того, вы не спрашивали, но вы должны просто сказать include "%L"
в начале файла, чтобы получить нужную вещь автоматически. Но, может быть, не исправить то, что не сломал?)