Quando o mapeamento de código de tecla não pode ser usado ou está desativado, o Workstation Pro mapeia símbolos de tecla para códigos de v-scan. Se um teclado específico do idioma não parecer ser suportado por Workstation Pro, talvez seja necessário definir uma propriedade que informe a Workstation Pro qual tabela de símbolos de teclas usar.

Workstation Pro determina qual tabela usar examinando o mapa de teclas X atual. No entanto, seu processo de tomada de decisão às vezes pode falhar. Além disso, cada mapeamento é fixo e pode não estar completamente correto para qualquer mapeamento de teclado e código de tecla X para keysym. Por exemplo, se um usuário usar xmodmap para trocar Ctrl e Caps Lock por, as chaves serão trocadas na máquina virtual ao usar um servidor remoto (mapeamento keysym), mas não serão trocadas ao usar um servidor local (mapeamento de código de chave). Para corrigir essa situação, você deve remapear as chaves em Workstation Pro.

Para configurar como os keysyms são mapeados, adicione uma ou mais propriedades ao arquivo de configuração da máquina virtual (.vmx) ou a ~/.vmware/config.

Pré-requisitos

  • Para alterar o mapeamento de algumas chaves, determine o nome do keysym para cada chave. Para localizar um nome de keysym, use o comando xev ou xmodmap -pk. O arquivo de cabeçalho X /usr/include/X11/keysymdef.h também tem uma lista completa de símbolos de chave. O nome de um keysym é o mesmo que sua constante C, mas sem o prefixo XK_.
  • Para usar uma tabela keysym diferente, determine qual tabela de mapeamento deve ser usada. As tabelas estão localizadas no diretório xkeymap no diretório de instalação Workstation Pro, que normalmente é /usr/lib/vmware. A tabela que você deve usar depende do layout do teclado. A distribuição normal inclui tabelas para teclados de PC para os Estados Unidos e vários países e idiomas europeus. Para a maioria deles, as variantes de 101 teclas (ou 102 teclas) e de 104 teclas (ou 105 teclas) estão disponíveis.

    Se nenhuma das tabelas de mapeamento estiver completamente correta, encontre uma que funcione melhor, copie-a para um novo local e altere os mapeamentos de keysym individuais.

  • Familiarize-se com os códigos do v-scan. Consulte Tabela de códigos do V-Scan.
  • Desligue a máquina virtual e saia de Workstation Pro.

Procedimento

  • Para desativar o mapeamento de código de chave X para mapear keysyms em vez de códigos de chave para códigos v-scan, adicione a propriedade xkeymap.nokeycodeMap e defina-a como TRUE.
    Por exemplo: xkeymap.nokeycodeMap = "TRUE"
  • Se Workstation Pro tiver uma tabela no diretório xkeymap para o seu teclado, mas não puder detectá-la, adicione a propriedade xkeymap.language e defina-a como uma das tabelas no diretório xkeymap.
    Por exemplo: xkeymap.language = "keyboard_type"
    Se a falha ao detectar o teclado significar que a tabela não está completamente correta para você, talvez seja necessário criar uma tabela modificada e usar a propriedade xkeymap.fileName.
  • Para usar uma tabela de mapeamento keysym diferente que não esteja no diretório xkeymap, adicione a propriedade xkeymap.fileName e defina-a como o caminho para a tabela.
    Por exemplo: xkeymap.fileName = "file_path"
    A tabela deve listar um símbolo de tecla para cada chave usando o formato sym=" v-scan_code", em que o valor de sym é um nome de símbolo de tecla X e { v-scan_code é um número hexadecimal de sintaxe C, por exemplo, 0x001. Use uma nova linha para cada keysym.
    Observação: Como compilar um mapeamento keysym completo é difícil, normalmente você deve editar uma tabela existente e fazer pequenas alterações.
  • Para alterar o mapeamento do keysym de algumas chaves, digite a propriedade xkeymap.keysym para cada chave, em linhas separadas.
    Por exemplo: xkeymap.keysym.sym = "v-scan_code"
    O valor de sym deve ser um nome de símbolo de chave X e v-scan_code é um número hexadecimal de sintaxe C, por exemplo, 0x001.