Botões extras do mouse não funcionam na virtualização (VMware / VirtualBox, host do ubuntu)

22

Estou tentando executar o VMware Workstation e / ou o VirtualBox no Ubuntu. As máquinas virtuais estão funcionando perfeitamente nos dois aplicativos, exceto pelos botões extras do mouse (avançar / retroceder). No Ubuntu, os botões do mouse estão todos funcionando.

Aplicativos de virtualização: VMware Workstation 10.0.1, VirtualBox mais recente

Versões do Ubuntu que testei como host: 12.04, 13.10, 14.04 beta

SO convidado que testei: Windows 7, vários SO Linux no modo ao vivo

Ratos que testei (todos com botões laterais): Logitech M510 (receptor unificador), antigo Razer Copperhead, mouse sem nome

Eu já tentei várias soluções que encontrei on-line, por exemplo, alterar as configurações do mouse em .vmx no VMware WS (mouse.vusb.enable, ...), alterar as configurações de entrada no VMware / VirtualBox, reinstalar as ferramentas convidadas no SO convidado , ...

Eu acho que é um problema no Ubuntu e não nos aplicativos de virtualização. Alguém tem uma solução para isso?

mika209
fonte
mika209: você pode executar o xev | grep -i "botão" em um terminal no SO convidado? Em seguida, vá para a janela, clique com o mouse no botão avançar e voltar. Por favor, adicione a saída à sua pergunta ou ao ubuntu pastebin para facilitar a leitura.
Anders FU Kiær

Respostas:

17

Solução possível:

Após editar o arquivo .vmx da VM para adicionar

mouse.vusb.enable = "TRUE"
mouse.vusb.useBasicMouse = "FALSE"
usb.generic.allowHID = "TRUE"

você poderá usar o mouse de cinco botões na VM. Para fazer isso, abra sua VM e navegue para Virtual Machine > Removable Devices > [Your Mouse] > Connect (Disconnect from Host). Você receberá alguns avisos de que não poderá mais usar o mouse com o host e clique em OK.

Agora você só pode usar o mouse na VM, seja em tela cheia ou em modo de janela. Pressione Ctrl-Go teclado para se livrar do ícone do mouse host e mergulhe totalmente na VM. Depois de precisar do mouse novamente fora da VM, pressione Ctrl+Alte solte. Agora, o foco está de volta ao seu sistema operacional host. Mantenha Altpressionado Vpara abrir o Virtual Machinemenu e use as teclas de seta para navegar Virtual Machine > Removable Devices > [Your Mouse] > Disconnect (Connect to Host).

Agora tudo voltou ao normal. Espero que algo mude no Ubuntu ou no VMWare Player em breve para tornar mais fácil do que isso.

MattSayar
fonte
Sim, eu já tentei adicionar usb.generic.allowHID = "TRUE" às configurações do VMware .vmx. Depois disso, você pode conectar o mouse / HIDs diretamente à máquina virtual. Mas eu acho que isso é mais uma solução do que uma solução ..
mika209
Acordado. Ele funciona se você planeja trabalhar exclusivamente no VM por um período significativo de tempo, mas no final não é muito amigável
MattSayar
1
Host do Windows 10, Ubuntu 14.04 Convidado. VMWare 11. A adição dessas três linhas funcionou para mim. Especificamente, a linha useBasicMouse era importante. Sem ela, a solução ainda se aplica, mas meu mouse estava pulando de volta para o sistema operacional host, mesmo com o convidado em tela cheia.
Halsafar 9/08/2015
1
Funcionou perfeitamente para mim! Tudo o que eu precisava fazer era editar o arquivo .vmx para adicionar as 3 linhas. Não tive que desconectar o mouse do host e o mouse ainda fez a transição automática entre host e convidado, como antes. VMware Workstation 11, host do Windows 7, convidados Ubuntu 12.04 e 16.04. A VM teve que ser desligada e ligada novamente para que isso funcionasse - suspender / retomar não era suficiente.
EM0
1
VMware Workstation 12.5.2, host do Windows 7, convidado do Ubuntu 17.04. Apenas parou a VM, adicionou essas 3 linhas ao arquivo VMX e começou novamente. Fiz o truque.
Pierre Henry
12

Para que botões extras do mouse funcionem no VMware, edite configfile.vmx (acrescente as seguintes linhas):

mouse.vusb.enable = "TRUE"
mouse.vusb.useBasicMouse = "FALSE"

As configurações acima habilitarão um mouse virtual de vmware com 20 botões. No entanto, em determinadas situações, o vmware não está mapeando o evento do mouse que chega ao host para o evento de convidado correto.

Exatamente por que ele não envia o evento correto do mouse é uma boa pergunta que não é abordada.

Inicie e execute o seguinte no sistema operacional convidado. Corra xev | grep -i "button"em um terminal. Vá para a janela gerada, clique nos botões que deseja atribuir ou trocar uma vez. xevgera o evento do mouse registrado, em muitos casos os botões extras do mouse que devem ser, por exemplo. o botão 8 ou 9 do mouse é recebido como evento 16 ou 17 do botão do mouse.

A reatribuição de eventos do botão do mouse pode ser feita com, por exemplo. xinput, o seguinte torna o deviceID 8 com o botão 16 do mouse atuando como mouse 8 e o mouse 17 como mouse 9.

xinput set-button-map 8 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 8 9
Anders FU Kiær
fonte
1
Isso funcionou perfeitamente para mim: Windows 7 x64 (Host) + SetPoint 6.65.62 + Mouse M705 Logitech, VMWare 10, Kubuntu 14.04 x64 (convidado). Eu pude ver os resultados dos xev | grep -i "button"eventos de botão 8/9 corretos e mapeados para trás / para frente. Funciona como está no Chrome e Firefox sem nenhuma outra configuração na caixa do linux.
Angelos Pikoulas
1
Isso funcionou para mim também - obrigado! O Fedora 24 e o Windows 8.1 (x64) hospedam com um Logitech G9. Estação de trabalho VMware 12.5.
Devator
1
Muito obrigado! Funcionou perfeitamente para mim com o host do Windows 10 e o convidado do Ubuntu 16.04. Depois de editar o .vmx, eu nem precisei usar o xinput para mapear nada, os botões extras funcionaram como voltar / avançar nativamente.
9605 DaveTheScientist
1
Isso funcionou para mim quando o coloquei no VMNAME.vmx em sua pasta. Mas existe uma maneira de tornar isso global?
Michael Yoo
1
Eu criei o arquivo e adicionei as alterações ~/.vmware/configno .encoding = "UTF-8"cabeçalho e funcionou, portanto, suponho que essa é a maneira de definir isso globalmente (para o usuário). (Estação de trabalho 14)
Michael Yoo
0

Você não pode emular mais de três botões no VirtualBox e VMware. Isso ocorre porque ele apresenta ao sistema convidado um mouse (super) padrão de 3 botões. Poderia ser possível se eles gostassem, mas agora a resposta é não.


Então, por que funciona no Windows? Como as implementações Linux e Windows seguem um roteiro diferente, e "cada front-end tem sua própria maneira de obter informações do mouse" ( fonte ). Isso pode ser visto em outra pergunta do Superusuário

Braiam
fonte
Se você usa o Windows 7/8 como host com o VMware ou o VirtualBox, os botões extras do mouse estão funcionando em muitos sistemas operacionais convidados. Como isso é possível?
Mika209 7/04
@ mika209 diferentes implementações. É tão simples.
Braiam
2
@braiam: Não sei dizer o que é verdade para o VirtualBox, mas posso dizer que o VMware Workstation and Player suporta 24 botões. Voltarei com uma resposta atualizada e ampliada quando tiver tempo. Para correção, entretanto, seria bom se você atualizasse sua resposta para não incluir o VMware.
Anders FU Kiær
@ AndersF.U.Kiær, seguindo o comentário do OP aqui , aparentemente não funciona.
Braiam 24/04
@braiam, se você verificar os carimbos de data e hora, poderá ver facilmente que o OP não tentou a resposta atualizada, nem seguiu executando o xev. No entanto, eu não poderia me importar menos. Reproduzi o problema, pois utilizo as mesmas configurações com o vmware. Agora compartilhei o conhecimento. Se outras pessoas querem jogar um jogo ignorante, fique à vontade.
Anders FU Kiær
0

Eu tentei tudo isso, a correção foi simples no meu Dell XPS 13, Windows 10, VMware Player 12, convidado Ubuntu 14.04

Inicie o painel de controle, altere as configurações do mouse, o centro do mouse e teclado, as configurações do mouse Microsoft, o botão de roda. Defina como clique do meio do mouse em vez do visualizador instantâneo padrão.

Isso permite clicar e copiar no meio do mouse no Ubuntu.

James

Jims
fonte
0

Testou isso no host do Windows 10 (deve ser o mesmo no ubuntu), VMware workstation player 12, com um mouse logitech m510.

Se você fizer isso, o mouse funcionará apenas na máquina virtual; portanto, será necessário conhecer os atalhos do teclado para ativar e desativar, a menos que você tenha dois mouses ou um touchpad e um mouse, como em um notebook.

  1. Vá para a pasta da máquina virtual e localize o .vmxarquivo.
  2. Edite-o no bloco de notas e adicione:

    usb.generic.allowHID = "TRUE"
    usb.generic.allowHID = "TRUE"
    usb.generic.allowLastHID = "TRUE"
    
  3. Abra a máquina virtual e navegue para Virtual Machine > Removable Devices > [Your Mouse] > Connect (Disconnect from Host). Quando você fizer isso, o mouse funcionará apenas na máquina virtual.

  4. Instale o driver / software do mouse logitech na máquina virtual (você pode executar esta etapa antes de tudo, se quiser)
  5. Você pode pressionar Ctrl+ Gno teclado para se livrar do ícone do mouse host e mergulhar completamente na VM.
  6. Quando desejar usar o mouse na máquina host novamente, pressione Ctrl+ Alte solte para que o foco esteja no player vmware, não na máquina virtual. Agora você pode usar os atalhos de teclado comuns do Windows. Nesse caso, pressione Alt+ Ppara abrir o menu do player da estação de trabalho vmware e use as teclas de seta do teclado para navegar Virtual Machine > Removable Devices > [Your Mouse] > Disconnect (Connect to Host).
Lombas
fonte