P: como alterno entre os métodos de entrada para diferentes idiomas ao usar um layout de teclado não padrão?
Eu tenho que editar o texto em dois idiomas diferentes. Eu gostaria de poder usar minhas combinações de teclas nos dois idiomas, exceto, é claro, ao inserir texto no buffer. Parece que eu deveria ser capaz de toggle-input-method
( C-\
) e selecionar o idioma alternativo.
Até agora, quase tão bom.
Aqui está o problema: eu uso o layout do Dvorak em inglês, que defino no nível do SO (ou seja, com setxkbmap
). Quando eu toggle-input-method
, o texto que eu inserir estaria correto se eu tivesse um layout QWERTY (o padrão nos EUA), mas sairia sem sentido porque estou em Dvorak. (FWIW, quando mudo meu layout para os EUA padrão, ele funciona bem.)
Então: como faço para informar ao Emacs que estou usando o Dvorak para que toggle-input-method
meus amigos traduzam minhas teclas para os caracteres corretos no outro idioma?
fonte
Respostas:
Existe um método para alterar a definição do layout físico para o método de entrada, definindo
quail-keyboard-layout-type
. Mas parece que o Dvorak não está entre os possíveis candidatosquail-keyboard-layout-alist
no meu Emacs 24.4.Você pode definir um novo layout de teclado físico examinando a definição de
quail-keyboard-layout-alist
inquail.el
ou criar um novo método de entrada definindo as teclas em árabe correspondentes para o layout do Dvorak.Não tenho experiência no primeiro, mas posso testemunhar que o segundo método é mais fácil do que você pensa. (Eu tive que criar um método de entrada turco otomano sobre o farsi.) Copie
arabic.el
(que reside no meu sistema Debian em/usr/share/emacs/24.4/lisp/leim/quail/arabic.el.gz
) para sua casasite-lisp
e altere as chaves de acordo com suas preferências. Além disso, não esqueça de alterar os nomes dos métodos de entrada, etc. Você acabou de criar um novo método de entrada em árabe Dvorak.Posso atualizar a resposta com mais detalhes se algo parecer complexo.
fonte
...-alist
versão.quail-. *-alist
desenvolvimento do Emacs. Tenho certeza de que existem outros usuários do Dvorak que se beneficiarão com isso.O @EmreSahin me colocou no caminho certo para responder a essa pergunta, então estou explicando um pouco dos detalhes, caso alguém mais tenha que lidar com um problema como esse.
Como Emre aponta, precisamos adicionar um layout do Dvorak para
quail-keyboard-layout-alist
. Acontece que aquail
biblioteca não está bem documentada no manual , no qual duas funções relacionadas são mencionadas na passagem em um nó.No entanto, depois de consultar este tópico de ajuda e, principalmente, a página do EmacsWiki em russo com Dvorak (a partir do qual esta resposta é fornecida), acho que já entendi.
A documentação para a variável
quail-keyboard-layout
descreve o que precisamos inserirquail-keyboard-layout-alist
. É uma sequência longa que corresponde a 6 linhas de 15 teclas cada. Cada linha corresponde aos valores não deslocados e deslocados de cada chave, para um total de 30 caracteres por linha. Tenho menos certeza sobre o seguinte ponto, mas parece que, para o que chamarei de teclados "semi-padrão" com 4 linhas de teclas, a primeira e a sexta linhas devem ter 30 espaços em branco.A grande revelação:
fonte