Existe alguma maneira de usar a posição de atalho de teclado do QWERTY enquanto o layout Dvorak está ativo?

6

Eu sou um usuário de layout Dvorak e estou feliz com o switch. Evitei a desvantagem de atalho de desfazer / recortar / copiar / colar (o z, c, xev estão distantes no layout do Dvorak) no Windows usando o criador de layout de Teclado da Microsoft para mapear combinações de teclas de controle para suas contrapartes qwerty, mas está incomodando Eu não posso fazer o mesmo no Ubuntu / Linux, mesmo que tenha um framework de entrada mais avançado.

dvorak-querty deve realizar isso, mas não funciona para mim.

Os comentários sobre os bugs referidos por um pergunta semelhante anterior não fornece nenhuma solução viável para isso.

Então, há algo que eu possa fazer além de esperar (por anos) que os bugs sejam corrigidos, como escrever um layout de teclado personalizado ou um plugin para o ibus?

Esclarecimento (outra maneira de colocar minha pergunta)

Existe alguma maneira de usar a posição de atalho de teclado do QWERTY enquanto o layout do Dvorak está ativo? Por exemplo, para 'Copy', eu tenho que pressionar Ctrl + I (a posição do 'I' no QWERTY é 'C' no Dvorak, que é um trecho estranho), então para 'Paste', eu tenho que pressionar Ctrl + . (outra posição desconfortável). Eu quero pressionar Ctrl + C e Ctrl + V Atualmente estou usando os atalhos de estilo antigo que aprendi na era DOS, Shift-Del para cortar e Ctrl + Insert para copiar ...

    
por Thanh Phú 29.05.2012 / 09:20

2 respostas

2

Minha primeira tentativa foi fazer as teclas de controle agirem simultaneamente como Control e como um seletor de terceiro nível, então definir um layout de teclado com Dvorak nos níveis 1 e 2, e Qwerty nos níveis 3 e 4. Isto não parece possível em XKB, no entanto. Além disso, os comentários na fonte do programa dvorak-qwerty que você vinculou afirmam que

  

Embora seja possível definir um layout XKB que implemente Dvorak-Qwerty, isso expõe um número deprimente de bugs no X Apps. Como é responsabilidade de cada aplicativo X interpretar o layout do teclado em si, em vez de fazer com que o servidor X faça o trabalho, estruturas de GUI diferentes tendem a ter bugs diferentes que são acionados ao usar esse layout. Consertar todos eles seria inviável.

Sua melhor opção é provavelmente fazer com que o dvorak-qwerty funcione. A maior parte do que estou prestes a escrever provavelmente sabe. A fonte diz para compilá-lo com

gcc xdq.c -o xdq -std=c99 -O2 -lX11

execute-o com

./xdq

ou forneça o caminho absoluto para que você possa colocá-lo em seus itens de inicialização.

Quando eu corri o programa, ele me deu o seguinte aviso:

  

Falha ao pegar 35 combinações de teclas.   Isto é provavelmente porque algumas teclas de atalho já são agarradas pelo sistema.   Infelizmente, estas teclas de atalho de todo o sistema não podem ser automaticamente remapeadas   esta ferramenta. No entanto, normalmente você pode configurá-los manualmente.

No entanto, eu testei com ^W , ^Q , ^C , ^X e ^V e funcionou conforme o esperado. Se você quiser pegar outros modificadores ( ALt+Ctrl e Super ) as combinações que o sistema já está usando para outras coisas, adicione -DXQD_GREEDY ( não -DXDQ_GREEDY como a fonte diz) para o comando de compilação.

Se não conseguir compilar com o erro

  

xdq.c: 87: 22: erro fatal: X11 / Xlib.h: nenhum arquivo ou diretório   compilação terminada.

então você deve instalar o pacote libx11-dev com

sudo apt-get install libx11-dev

Se isso não funcionar, informe-nos e podemos tentar resolver isso.

    
por pconley 30.05.2012 / 06:00
1

tl; dr

Você precisa desativar o NumLock.

Explicação

O dvorak-querty funciona por combinações de teclado "agarrando" (mais como "roubar") de outros programas. Combinações que incluem certos modificadores (Control, Control + Shift, Alt e Alt + Shift) são roubadas, "qwerty'd" e retornadas ao programa original.

O problema é que essas e somente essas são as únicas combinações de modificadores que são roubadas. Outros modificadores, como CapsLock e NumLock, não são roubados.

Então, se você tiver NumLock ativo e pressionar Ctrl + C, dvorak-qwery irá "perceber" NumLock + Ctrl + C e, portanto, não roubá-lo.

Portanto, desative todos os modificadores implícitos adicionais que você vê no teclado.

Solução alternativa

Se você deseja executar dvorak-qwerty e ativar o NumLock ao mesmo tempo, convém tentar minha versão do código (confira Argumentos )

:)

    
por Yd Ahhrk 09.05.2016 / 18:13