O teclado que estou tentando criar possui muito Unicode e fica assim:
Não tendo êxito com o seguinte tutorial:
- https://help.ubuntu.com/community/Howto%3A%20Custom%20keyboard%20layout%20definitions
(Existem alguns erros no tutorial e ele usa linguagem imprecisa como "Cortar" as coisas em vez de "Excluí-las" e está formatado de forma estranha)
Eu queria saber se alguém seria tão gentil em fornecer um tutorial melhor com instruções passo a passo?
keyboard-layout
Akiva
fonte
fonte
Respostas:
No Ubuntu 14.04 , os layouts de teclado são mantidos em
/usr/share/X11/xkb/symbols/
Cada um dos arquivos neste diretório contém uma série de entradas do seguinte tipo:
Esta entrada mapeia uma tecla do teclado para vários caracteres específicos usando as seguintes convenções:
< A C01> A primeira letra
A
indica que estamos procurando no bloco tecla alfanumérica (outras opções incluemKP [for keypad]
eFK [for Function Key]
);<A C 01> A segunda letra
C
indica a linha, contando a partir do fundo em que a chave é encontrada. (Em um teclado padrão dos EUA, a barra de espaço está alinhadaAA
e as teclas numéricas estão alinhadasAE
).<AC 01 > Os números
01
indicam a posição da tecla, contando a partir da esquerda e ignorando qualquer tecla especialmente nomeada como TABou ~(til):AC01
está na terceira linha acima, a primeira tecla da esquerda (ignorando Caps Lock, se presente); em um teclado padrão dos EUA, essa é a tecla marcada "a".Os colchetes incluem a lista de caracteres atribuídos a cada tecla. Ele contém até quatro entradas, separadas por vírgulas:
Criar um mapa de teclado personalizado é tão fácil quanto substituir os caracteres que você não deseja em uma determinada linha pelos que você deseja!
Por exemplo:
Como anglo-saxonista, digito
á
e comÁ
muito menos frequência do que digitoæ
eÆ
.Para adicionar os caracteres anglo-saxões à minha lista, simplesmente substituo
aacute
eAacute
pelos nomes das entidades ou pontos de código Unicode poræ
eÆ
(“aelig” ou U00E6 e “AElig” ou U00C6 , respectivamente):ou
Quando terminar de modificar o layout do teclado, salve o arquivo com um novo nome, "oe" no mesmo diretório.
Adicionando um novo layout de teclado ao
evdev.xml
arquivo.Para usar o novo layout do teclado, precisamos dizer
X11
que ele existe. No Ubuntu 14.04, os arquivosX11
dos teclados instalados são/usr/share/X11/xkb/rules/evdev.xml
registrados. Em seguida, vamos adicionar o novo layout nele.X11/xkb/rules/evdev.xml
em um editorVá para o final da
<layoutList>
seção (pesquise</layoutList>
). Adicione o seguinte após a última</layout>
tag, ondeX
está o nome do arquivo do layout do seu teclado/usr/share/X11/xkb/symbols
(no meu casooe
);Y
um nome abreviado adequado; eZ
um nome longo apropriado em um ou mais idiomas eaaa
um código de idioma legal de três letras (ISO 639-2) (por exemplo, eng para inglês):Aqui está, siga a introdução completa
Outros links relacionados:
http://ubuntuforums.org/showthread.php?t=188761&p=1092145#post1092145 http://www.charvolant.org/~doug/xkb/html/index.html
fonte
Nota : Wayland usa xkb, mas muitos xTools pararam de funcionar corretamente (xdotool por exemplo)
Nota : Este é um tutorial não exaustivo. É mais útil para um indivíduo que procura criar um novo layout de oito níveis e entender a sintaxe.
Nota: É fornecida uma solução rápida e suja. Inclui uma planilha que gera automaticamente o código que você precisa.
Noções básicas do diretório XKB
Importante se você deseja personalizar as teclas modificadoras.
Importante se você estiver projetando uma peça de hardware de teclado não padrão.
Você precisará definir isso
Exemplo: os teclados Macintosh entendem a barra de espaço como
57
. Nós escrevemos isso como<SPCE>
É aqui que definiremos nosso layout personalizado.
Comportamento interno dos modificadores (Shift, Control, Alt ...)
Workflow
keycodes > symbols > compat
Eu apenas toco
symbols
: veja abaixo a solução Rápida e suja .Mapas de símbolos
/symbols/us Qualquer arquivo neste diretório segue a mesma estrutura.
partial - Não é um mapa completo do teclado
alphanumeric_keysSeção do teclado sendo mapeada. Vários podem ser usados
Nota: Se não
*_keys
for especificado, um teclado completo será assumido."basic" - O nome do mapa de símbolos
name[Group1]= "US/ASCII";Dá um nome exclusivo a este grupo de teclados.
modifier_mapPara editar teclas modificadoras . (Ctrl, Shift, Alt ~)
Shift { Shift_L, Shift_R };Não é normalmente necessário. Ele mapeia os dois turnos para o modificador de turno, também conhecido como nível 2.
key <TLDE> A tecla Tilde - geralmente a tecla superior esquerda acima da guia
key <AE01> Ilustração - Composta por três partes,AE01
A= bloco de teclas alfanuméricas.
KP= Teclado
FK= Tecla de Função
E= Linha no teclado.
Space Key= Alinha
Shift Key= Blinha
Caps Lock= Clinha
Tab Key= Dlinha
01= Posição da chave na linha.
AE01= 1
AB02= X
AC05=G
[+ ]- Em idiomas C; Colchetes indica uma lista pela qual os itens são divididos por ,. O comprimento da lista determina a quantidade de níveis. Por exemplo:
Normalmente, os níveis indicam o seguinte pressionamento de tecla com:
Em resumo, se você quisesse mapear uma tecla para shift + altgr, sua lista teria que ter pelo menos quatro itens.
AVISO - Erros comuns
Qualquer uma dessas linhas causará um erro crítico e deixará você sem um teclado utilizável:
Backspace
deve serBackSpace
: Preste muita atenção à ortografia.VoidSymbol
.Melhor medida de segurança!
Faça backup do arquivo que você está editando:
sudo /bin/cp /usr/share/X11/xkb/symbols/us /usr/share/X11/xkb/symbols/usBACKUP
Crie um script que você possa executar sem senha root
Algo como:
Se algo der errado, use o mouse para executar essa linha de código (contida no script bash ao qual você deu permissão ao sudoers. Lembre-
chmod +x
se de permitir a execução como um executável.)Estratégias de backup para recuperar um sistema danificado
return
(Pressionar Enter) colando uma quebra de linha.Solução rápida e suja
(
!
se tornaU0021
). Unicode suportado!VoidSymbol
.sudo vim /usr/share/X11/xkb/symbols/us
Linhas de interesse:
fonte