/etc/X11/xbb/symbols/us:
Para comentar linhas nesse tipo de arquivo em C usam-se duas barras inclinadas (//). É preferível comentar as linhas originais do que só mudá-las, facilita correção em caso de erro.
O símbolo referente ao nome entre colchetes será produzido conforme o nível de digitação. Ex.:
[ a, A, aacute, Aacute ]
Tecla a = a; Shift + a = A; Altgr + a = á; Altgr + Shift + a = Á.
Começa-se a mudar de baixo para cima, porque a numeração das linhas será alterada. Pode usar o nome dado pela Xorg ou unicode mostrado pelo Mapa de Caracteres. No qual ordinal feminino (ª) é U00AA; masculino (º) é U00BA; travessão U2015 ou U2014; meia-risca U2013 ou U2012.
///////////////////////////////////
partial alphanumeric_keys
xkb_symbols "intl" {
name[Group1]= "U.S. English - International (with dead
keys)";
include "us(basic)"
// Linha 103 acrescentada:
key <AC01> { [ a, A, U00AA, ae ] };
// Linha 104, antiga 103:
// key <AC01> { [ a, A, aacute, Aacute ] };
Com isso, Altgr + a produzirá ª e não á; Altgr + Shift + a retornará æ. Afinal, em datilografia sempre se acentuou com tecla de acento e vogal.
// Linha 98 acrescentada
key <AD09> { [ o, O, U00BA, U0153 ] };
// Linha 99, antiga 98
// key <AD09> { [ o, O, oacute, Oacute ] };
Altgr + o = º; Altgr + Shift + o = oe (letra não consta na iso8859-1, por isso dará errado se em vez do unicode for inserido o nome oe).
// Linha 96 ficou
key <AD06> { [ y, Y, yen, Udiaeresis ] };
// Linha 97, antiga 96 comentada
// key <AD06> { [ y, Y, udiaeresis, Udiaeresis ] };
Altgr + y = ¥. É muito estranho pensar em ü na tecla y.
// Linha 87 acrescentada (adaptada do layout francês)
key <AE11> { [ minus, underscore, emdash, endash ] };
ou
key <AE11> { [ minus, underscore, U2015, U2012 ] };
// Linha 88, antiga 87 comentada
// key <AE11> { [ minus, underscore, yen, dead_belowdot ] };
Altgr + hífen = travessão (Em Dash); Altgr + Shift + underscore = meia-risca (En Dash). Não há ligação mnemônica entre o Iene e a tecla hífen.
Outras mudanças no mesmo arquivo, teclas numéricas acima das alfabéticas. Adaptei para minha necessidade, e ficou:
key <AE02> { [ 2, at, twosuperior, onehalf ] };
// key <AE02> { [ 2, at, twosuperior, dead_doubleacute ] };
key <AE03> { [ 3, numbersign, threesuperior, onethird ] };
// key <AE03> { [ 3, numbersign, threesuperior, dead_macron ] };
key <AE04> { [ 4, dollar, foursuperior, sterling ] };
// key <AE04> { [ 4, dollar, currency, sterling ] };
key <AE05> { [ 5, percent, fivesuperior, EuroSign ] };
// key <AE05> { [ 5, percent, EuroSign ] };
key <AE06> { [ 6, dead_circumflex, sixsuperior, asciicircum ] };
// key <AE06> { [ 6, dead_circumflex, onequarter, asciicircum ] };
key <AE07> { [ 7, ampersand, sevensuperior, dead_horn ] };
// key <AE07> { [ 7, ampersand, onehalf, dead_horn ] };
key <AE08> { [ 8, asterisk, eightsuperior, dead_ogonek ] };
// key <AE08> { [ 8, asterisk, threequarters, dead_ogonek ] };
key <AE09> { [ 9, parenleft, ninesuperior, dead_breve ] };
// key <AE09> { [ 9, parenleft, leftsinglequotemark, dead_breve ] };
key <AE10> { [ 0, parenright, zerosuperior, dead_abovering ] };
// key <AE10> { [ 0, parenright, rightsinglequotemark, dead_abovering ] };
Os algarismos sobrescritos foram aqui padronizados para Altgr + tecla, são de uso freqüente ao fazer referenciações. A fração ¼, aparentemente perdida, já estava definida no Compose (Multi_key 1 4), bem como outras. Especialmente o zero superior é muito importante porque substitui facilmente o símbolo de grau, feito com Altgr + Shift + ponto-e-vírgula ou Altgr + Shift + 00, além da dificuldade por todas elas estarem no lado direito.
Deve-se levar em conta que eu, como o leitor, tenho outras coisas a decorar além de combinações esdrúxulas de teclas.
Alterei também
/usr/share/X11/locale/iso8859-1/Compose. É usado pelos aplicativos KDE. Inseri logo após "# Special Character" as seguintes linhas:
# Dashes - SESSÃO INSERIDA POR MIM
<Multi_key> <minus> <minus> <period> : "–" U2012
# meia-risca (dash, ou U2013 en dash)
# <Multi_key> <minus> <minus> <minus> : "—"
U2014 # EM DASH
<Multi_key> <minus> <minus> <minus> : "—" U2015
# Travessão (em dash)
<Multi_key> <o> <e> : "Å“" U0153 # U0153 LATI SMALL LIGATURE oe
<Multi_key> <O> <E> : "Å’" U0152 # U0152 LATIN CAPITAL LIGATURE OE
Os caracteres entre aspas aparecem diferentes em outros formatos de arquivo, NÃO COPIE DAQUI, faça-o diretamente de /usr/share/X11/locale/en_US.UTF-8/Compose ou outro que tenha dash ou oe Se o caracter não constar na codificação, não será exibido.
No Compose, quando os caracteres entre aspas são dos que não suportam representação nesse arquivo (devido à codificação), o unicode logo a seguir determina o que será impresso. Esses tipos funcionarão em alguns editores e não em outros.