Personalizando o comportamento da tecla Compose?

2

Estou tentando fazer com que essas sequências de composição produzam esses caracteres:

AA ==> Ä
OO ==> Ö
UU ==> Ü
aa ==> ä
oo ==> ö
uu ==> ü

Eu tentei modificar meu ~/.XCompose , e meu sistema compõe, mas não está funcionando (após uma reinicialização completa).

Ainda recebo os padrões.

(

AA ==> Å
OO ==> [nothing]
UU ==> Ŭ
aa ==> å
oo ==> °
uu ==> ŭ

Qual é o truque para fazer isso funcionar?

Aqui está o meu ~/.XCompose (exatamente como é agora; um pouco de "balbuciar" dos experimentos iniciais e notas está lá também, mas eu não acho que deve estar afetando qualquer coisa, ne?):

# ~/.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

E aqui está o começo do meu sistema Compose (muito grande para colar a coisa toda).

Eu regex substitui todas as linhas que teriam o mesmo começo das novas linhas que adicionei no topo.

(Então <Multi_key> <([AaUuOo])> <> não recebe correspondências além das linhas que adicionei no topo.)

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

# UTF-8 (Unicode) compose sequence
# [email protected]
#

# 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

(Compor-ss == > ß é o comportamento padrão, e não já funciona.)

    
por Owen_R 15.11.2013 / 15:40

1 resposta

4

O que funcionou para mim (meu .XCompose setup parou de funcionar em algum momento em torno de Saucy) foi mudar para o UIM. Foi realmente indolor e fez o que eu queria, o que me deixou um pouco chocado: -)

$ sudo apt-get install uim
$ im-config -n uim

(e sair e voltar para reiniciar o X)

Voilà! Eu posso digitar letras grêek de novo! Também Shift-Ctrl-U funciona (embora duvido que eu use muito). Mudar os layouts de teclado através do menu do GNOME 2 também ainda funciona.

(Além disso, você não perguntou, mas você deve ser capaz de dizer include "%L" no início do arquivo para obter a coisa certa automaticamente. Mas talvez não conserte o que não está quebrado?)

    
por Luke Maurer 11.12.2013 / 05:37