O russo nativo do Xorg no rdesktop é um pouco, mas legal

Todas as pessoas têm sua própria experiência no uso da área de trabalho Linux, mas para mim, pessoalmente, o conjunto linux desktop + rdesktop em máquinas virtuais é muito importante. As razões para isso são certos softwares que geralmente funcionam apenas no Windows ou funcionam melhor no Windows, além da necessidade de testar todos os tipos de coisas do Windows.

Essa configuração da área de trabalho apresenta um problema incômodo - no Windows, em seus próprios idiomas e na alternância deles, no Linux - nos seus próprios, respectivamente, você precisa constantemente de 3 a 4 vezes para alternar até que funcione. Além disso, se no Xorg o idioma é selecionado não pelo Windows, mas globalmente.

Decidi investigar esse problema e resolvê-lo de forma nativa para todos os modos, para que as letras russas sejam digitadas na janela do rdesktop exatamente como são digitadas nas janelas do Xorg. Tentarei descrever brevemente a essência e a tecnologia dessa solução.

A essência do problema está no fato de que a tecnologia RDP envolve a transmissão de scancodes, em vez de caracteres específicos. Portanto, no rdesktop, existem mapas de teclas regulares que são selecionados automaticamente com base no código do idioma atual.

Portanto, é necessário:

  1. Crie um layout especial para o Windows, no qual, ao mesmo tempo, haverá caracteres ingleses e russos selecionados por algum modificador.
  2. Faça um mapa-chave que transmita letras russas como um código de verificação com um modificador. O mapa de teclas regular "ru" é criado para enviar caracteres russos como código de verificação AltGr +. Falta apenas o símbolo "Não".

Esses layouts existem (por exemplo, Cyrilock), mas não encontrei um que funcionasse normalmente; portanto, usando o Microsoft Keyboard Layout Creator v1.4, criei o meu próprio. O MKLC coleta layouts de DLL e o torna um instalador. Nos botões, caracteres ingleses são definidos, caracteres russos são definidos como botão AltGr + (dos números que você precisa para determinar apenas 3 - Não. O restante é transmitido corretamente).

Para trabalhar, você precisa de dois arquivos:

1. Faça o download do instalador do layout, instale-o no Windows e deixe-o em paz. Se você não se conectar através do rdesktop, mas através do console - o inglês funcionará, as letras russas poderão ser digitadas via Ctrl-Alt.

No Linux, você deve colocar o mapa de chaves no diretório global (/ usr / share / rdesktop / keymaps) ou usuário (~ / .rdesktop / keymaps).

Algumas nuances:

  1. Adicionado ISO_Next_Group 0x0 ao mapa de teclas para que pressionar os botões de alternância de idiomas não seja transmitido para o outro lado e o sinal n.
  2. Para referência - eu tenho alternado através do Caps Lock, o gxkb está ativado no indicador e no controlador de comutação janela a lado.
  3. Se você corrigir o layout e compilá-lo através do MKLC - sempre nomeie-o de forma diferente e reinicie a máquina, ele se apega constantemente às versões antigas da biblioteca de layouts. É melhor desinstalá-lo antes de reiniciar.
  4. No Windows, a posição real dos layouts nem sempre corresponde às configurações do teclado; algumas vezes, outras extras aparecem lá. O estado correto é mostrado apenas pelo painel de alternância de idiomas.
  5. O MKLC geralmente não consegue corrigir o nome do layout, para isso deve ser baixado dos instalados no sistema e o arquivo de origem salvo.

Referências:
  1. Instalador de layout pronto .
  2. Keymap rdesktop .
  3. A fonte de layout para o MKLC v1.4 .

Source: https://habr.com/ru/post/pt421971/


All Articles