El teclado que estoy tratando de crear tiene mucho Unicode y se ve así:
No tener éxito con el siguiente tutorial:
- https://help.ubuntu.com/community/Howto%3A%20Custom%20keyboard%20layout%20definitions
(Hay algunos errores en el tutorial, y utiliza un lenguaje impreciso como "cortar" cosas en lugar de "borrarlas" y tiene un formato extraño)
Me preguntaba si alguien sería tan amable de proporcionar un mejor tutorial con instrucciones paso a paso.
keyboard-layout
Akiva
fuente
fuente
Respuestas:
En Ubuntu 14.04 , los diseños de teclado se mantienen en
/usr/share/X11/xkb/symbols/
Cada uno de los archivos en este directorio contiene una serie de entradas del siguiente tipo:
Esta entrada asigna una tecla en el teclado a varios caracteres específicos usando las siguientes convenciones:
< Una C01> La primera letra
A
indica que estamos buscando en el bloque de clave alfanumérica (otras opciones incluyenKP [for keypad]
yFK [for Function Key]
);<A C 01> La segunda letra
C
indica la fila, contando desde la parte inferior en la que se encuentra la clave. (En un teclado estándar de EE. UU., La barra espaciadora está en filaAA
y las teclas numéricas están en filaAE
).<AC 01 > Los números
01
indican la posición de la tecla, contando desde la izquierda e ignorando cualquier tecla especialmente nombrada como TABo ~(tilde):AC01
está en la tercera fila hacia arriba, la primera tecla desde la izquierda (ignorando Caps Lock, si está presente); en un teclado estándar de EE. UU., esta es la tecla marcada "a".Los corchetes encierran la lista de caracteres asignados a cada tecla. Contiene hasta cuatro entradas, separadas por comas:
¡Crear un mapa de teclado personalizado es tan fácil como reemplazar los caracteres que no quieres en una línea dada por los que sí quieres!
Por ejemplo:
Como anglosajón, escribo
á
y conÁ
mucha menos frecuencia que escriboæ
yÆ
.Para agregar los caracteres anglosajones a mi lista, simplemente reemplazo
aacute
yAacute
con los nombres de entidad o puntos de código Unicode paraæ
yÆ
("aelig" o U00E6 y "AElig" o U00C6 , respectivamente):o
Cuando termine de modificar la distribución de mi teclado, guardo el archivo con un nuevo nombre, "oe" en el mismo directorio.
Agregar un nuevo diseño de teclado al
evdev.xml
archivo.Para usar la nueva distribución del teclado, necesitamos decir
X11
que existe. En Ubuntu 14.04X11
realiza un seguimiento de los teclados instalados en el/usr/share/X11/xkb/rules/evdev.xml
archivo. Luego, agreguemos el nuevo diseño.X11/xkb/rules/evdev.xml
en un editorIr al final de la
<layoutList>
sección (buscar</layoutList>
). Agregue lo siguiente después de la última</layout>
etiqueta, dondeX
está el nombre del archivo de la distribución de su teclado/usr/share/X11/xkb/symbols
(en mi casooe
);Y
un nombre corto adecuado; yZ
un nombre largo y adecuado en una o más lenguas yaaa
una de tres letras legal (ISO 639-2) código de idioma (por ejemplo, eng de Inglés):Aquí está, siga la introducción completa
Otros enlaces relacionados:
http://ubuntuforums.org/showthread.php?t=188761&p=1092145#post1092145 http://www.charvolant.org/~doug/xkb/html/index.html
fuente
Nota : Wayland usa xkb, pero muchas xTools han dejado de funcionar correctamente (por ejemplo, xdotool)
Nota : Este es un tutorial no exhaustivo. Es más útil para una persona que busca crear un nuevo diseño de ocho niveles y comprender la sintaxis.
Nota: se proporciona una solución rápida y sucia. Incluye una hoja de cálculo que genera automáticamente el código que necesita.
Comprender el directorio XKB
Importante si desea personalizar las teclas modificadoras.
Importante si está diseñando una pieza de hardware de teclado no estándar.
Necesitarás definir esto
Ejemplo: los teclados Macintosh entienden la barra espaciadora como
57
. Lo escribimos sin embargo como<SPCE>
Aquí es donde definiremos nuestro diseño personalizado.
Comportamiento interno de modificadores (Shift, Control, Alt ...)
Flujo de trabajo
keycodes > symbols > compat
Solo toco
symbols
: vea a continuación la solución rápida y sucia .Mapas de símbolos
/symbols/us Cualquier archivo en este directorio sigue la misma estructura.
partial - No es un mapa completo del teclado
alphanumeric_keysSección del teclado que se está mapeando. Se puede usar el múltiplo
Nota: Si no
*_keys
se especifica ninguno , se supone un teclado completo."basic" - El nombre del mapa de símbolos
name[Group1]= "US/ASCII";Da un nombre único a este grupo de teclados.
modifier_mapPara editar teclas modificadoras . (Ctrl, Mayús, Alt ~)
Shift { Shift_L, Shift_R };No es normalmente necesario. Mapea ambos turnos al modificador de turno, también conocido como nivel 2.
key <TLDE> The Tilde Key - Por lo general, la tecla superior izquierda a la derecha encima de Tab
key <AE01> Ilustración - Compuesto de tres partes,AE01
A= bloque de teclas alfanuméricas.
KP= Teclado
FK= Tecla de función
E= Fila en el teclado.
Space Key= Afila
Shift Key= Bfila
Caps Lock= Cfila
Tab Key= Dfila
01= Posición de la llave en la fila.
AE01= 1
AB02= X
AC05=G
[+ ]- En lenguajes C; Los corchetes denotan una lista por la que se dividen los elementos ,. La longitud de la lista determina la cantidad de niveles. Por ejemplo:
Normalmente, los niveles denotan la siguiente pulsación de tecla con:
En resumen, si quisiera asignar una tecla a shift + altgr, su lista tendría que tener al menos cuatro elementos.
ADVERTENCIA - Errores comunes
Cualquiera de estas líneas causará un error crítico y lo dejará sin un teclado utilizable:
Backspace
debe serBackSpace
: Presta especial atención a la ortografía.VoidSymbol
.¡La mejor medida de seguridad!
Haga una copia de seguridad del archivo que está editando:
sudo /bin/cp /usr/share/X11/xkb/symbols/us /usr/share/X11/xkb/symbols/usBACKUP
Cree un script que pueda ejecutar sin contraseña de root
Algo como:
Si algo sale mal, use su mouse para ejecutar esa línea de código (contenida en el script bash al que le dio permiso a los sudoers. Recuerde
chmod +x
permitir que se ejecute como un ejecutable).Estrategias de respaldo para recuperar un sistema roto
return
(Presionando Enter) pegando un salto de línea.Solución rápida y sucia
(se
!
convierteU0021
). Unicode compatible!VoidSymbol
.sudo vim /usr/share/X11/xkb/symbols/us
Lineas de interes:
fuente