"componer" en la consola permite escribir dos caracteres pero generar un tercero.
El problema es que las definiciones de composición usan bytes , tanto como las dos entradas (es decir, no se puede definir la composición en términos de teclas mecanografiadas sino solo en términos de símbolos mecanografiados) y para la salida.
para que funcione en UTF-8, que es multibyte (1 a 4 bytes, al menos) requeriría grandes cambios en la forma en que se maneja la entrada de la consola, y reemplaza la matriz de caracteres simple actualmente utilizada por algo más complejo. Parece que no hay planes para hacerlo (el consenso entre los desarrolladores de kernel es que la consola debería seguir siendo una consola, algo simple, solo utilizada para el último recurso; si realmente necesita unicode, entonces probablemente también necesite bidi, modelado, etc.) es mejor ejecutar un terminal gráfico (un xterm de pantalla completa en X11; pero hay otras posibilidades).
Entonces, de hecho, no funciona, y no funcionará, con caracteres multibyte en la consola. PERO, todavía funciona si restringe las definiciones de redacción a ASCII simple.
Y también descubrí que también funciona si la salida está en iso-8859-1 (que corresponde a valores unicode de hasta 0x00ff); para eso puedes poner un guión de inicio en una línea:
loadkeys / somepath / somefile
y coloque en ese archivo las definiciones de composición que desee (tenga cuidado de guardar el archivo en la codificación ISO-8859-1; y use caracteres más grandes que 0x7f como salida solamente) la sintaxis de dicho archivo es muy simple, líneas como esta:
componer 'somechar' 'somotherchar' a 'salida deseada'
p.ej:
componer 'a' 'a' a 'å'
componer 'a' 'e' a 'æ'
el apóstrofe tiene que ser escapado.
el efecto de las claves diacríticas muertas también se definen en ese archivo; para dead_acute + a define una línea como:
componer '\' '' a 'a' á '
dead_grave usa backtick (`), dead_diaeresis usa doublequote ("), dead_circumflex usa circumflex (^) y dead_tilde usa tilde (~).